:root{--night: #0a0612;--ink: #0a0612;--plum: #1a0f2e;--deep: #2d1b4e;--purple: #6b3fa0;--pink: #e8618f;--sakura: #f7b5c8;--gold: #e9d5a1;--ivory: #f5f2e8;--muted: #b9aed3;--line: rgba(168, 156, 197, .3);--line-soft: rgba(168, 156, 197, .16);--glass: rgba(45, 27, 78, .6);--rule: rgba(247, 181, 200, .35);--dream: linear-gradient(135deg, #2d1b4e 0%, #6b3fa0 50%, #e8618f 100%);--sakura-night: linear-gradient(180deg, #0a0612 0%, #2d1b4e 60%, #6b3fa0 100%);--text-grad: linear-gradient(135deg, #a57be0 0%, #e8618f 100%);--layer-accent: var(--sakura);--shell: 1120px;--header-h: 68px;--font-serif: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;--font-latin: "Cormorant Garamond", "Times New Roman", serif;--font-ui: system-ui, -apple-system, "Segoe UI", "Hiragino Sans", "Yu Gothic UI", sans-serif;color-scheme:dark}body[data-layer=brand]{--layer-accent: var(--gold)}body[data-layer=series]{--layer-accent: var(--pink)}body[data-layer=work]{--layer-accent: var(--sakura)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 20px);-webkit-text-size-adjust:100%}body{margin:0;background:var(--night);color:var(--ivory);font-family:var(--font-serif);line-height:1.9;overflow-x:clip}img,svg{display:block;max-width:100%}h1,h2,h3,h4,p,figure,dl,dd,ol,ul{margin:0}ol,ul{padding:0;list-style:none}h1,h2,h3,h4{font-weight:500;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--sakura);outline-offset:4px}main:focus{outline:none}section[id],aside[id],figure[id]{scroll-margin-top:calc(var(--header-h) + 20px)}[hidden]{display:none!important}.shell{width:min(var(--shell),calc(100% - 64px));margin-inline:auto}.section{padding:104px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.muted{color:var(--muted)}.mobile-break{display:none}.text-gradient{background:var(--text-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.gold{color:var(--gold)}.rule-heading{display:flex;align-items:center;justify-content:center;gap:18px;font-size:clamp(1.15rem,2vw,1.5rem);letter-spacing:.18em;font-weight:700}.rule-heading:before,.rule-heading:after{content:"";width:34px;height:1px;background:currentColor;opacity:.7}.rule-heading-left{justify-content:flex-start}.rule-heading-left:before{display:none}.rule-heading .text-gradient,.rule-heading .gold{padding:0 2px}.statement{font-size:clamp(1.45rem,3vw,2.1rem);letter-spacing:.12em;line-height:1.9}.eyebrow{display:flex;align-items:center;gap:12px;font:600 12px/1.5 var(--font-ui);letter-spacing:.22em;color:var(--sakura)}.gold-rule{display:inline-block;height:1px;width:32px;background:var(--rule)}.skip-link{position:fixed;left:16px;top:-100px;z-index:200;background:var(--sakura);color:var(--night);padding:12px 16px;font-weight:700;border-radius:999px}.skip-link:focus{top:16px}.button-row{display:flex;flex-wrap:wrap;gap:14px}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 28px;border:1px solid transparent;border-radius:999px;font-size:14px;font-weight:700;letter-spacing:.06em;line-height:1.5;transition:background-color .3s,border-color .3s,transform .3s,box-shadow .3s,filter .3s}.button span[aria-hidden]{font-family:var(--font-ui);font-size:16px;font-weight:400}.button svg{width:18px;height:18px}.button:hover{transform:scale(1.04)}.button-primary{background:linear-gradient(135deg,#6b3fa0,#e8618f);color:#fff;box-shadow:0 10px 30px #e8618f47}.button-primary:hover{filter:brightness(1.1);box-shadow:0 12px 36px #e8618f73}.button-outline{border-color:#a89cc58c;color:#fff;background:#0a06128c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.button-outline:hover{background:var(--pink);border-color:transparent}.text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;color:var(--sakura);text-decoration:underline;text-decoration-color:#f7b5c873;text-underline-offset:5px}.text-link:hover{color:#fff;text-decoration-color:currentColor}.chip{display:inline-flex;align-items:center;gap:8px;padding:3px 13px;border:1px solid currentColor;border-radius:999px;font:500 12px/1.6 var(--font-ui);letter-spacing:.12em;white-space:nowrap}.chip-gold{color:var(--gold)}.chip-muted{color:var(--muted)}.chip-small{padding:1px 9px;font-size:11px}.status-dot{height:6px;width:6px;border-radius:50%;background:var(--sakura);box-shadow:0 0 10px #f7b5c8cc;flex:none}.glass{border:1px solid var(--line);border-radius:20px;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 24px 60px #00000059}.sakura-divider{display:flex;align-items:center;justify-content:center;gap:16px;padding:22px 0;background:var(--plum);color:var(--sakura)}.sakura-divider:before,.sakura-divider:after{content:"";flex:0 1 120px;height:1px}.sakura-divider:before{background:linear-gradient(90deg,transparent,var(--sakura))}.sakura-divider:after{background:linear-gradient(270deg,transparent,var(--sakura))}.sakura-divider svg{width:24px;height:24px;fill:currentColor}.sakura-layer{position:fixed;inset:0;z-index:40;pointer-events:none;overflow:hidden}.sakura{position:absolute;top:-6vh;color:var(--sakura);opacity:0;animation-name:sakura-fall;animation-timing-function:linear;animation-iteration-count:infinite;filter:drop-shadow(0 0 6px rgba(247,181,200,.45))}.sakura svg{width:100%;height:100%;fill:currentColor}@keyframes sakura-fall{0%{opacity:0;transform:translate(0) rotate(0)}10%{opacity:.85}50%{transform:translate(-8vw,55vh) rotate(200deg)}90%{opacity:.45}to{opacity:0;transform:translate(-20vw,112vh) rotate(380deg)}}.site-header{position:sticky;top:0;z-index:50;background:#0a0612b8;border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;gap:28px;min-height:var(--header-h)}.header-plaque{flex:none;display:flex;align-items:center;min-height:44px;transition:filter .3s}.header-plaque img{width:108px;height:auto;filter:drop-shadow(0 2px 10px rgba(232,97,143,.25))}.header-plaque:hover{filter:brightness(1.1)}.header-nav{display:flex;align-items:stretch;gap:28px;margin-left:auto;align-self:stretch}.header-link{position:relative;display:flex;align-items:center;font-size:13px;letter-spacing:.08em;color:#d9d0e8;white-space:nowrap;transition:color .3s}.header-link:hover,.header-link[aria-current=page]{color:#fff}.header-link:after{content:"";position:absolute;left:0;right:0;bottom:14px;height:2px;border-radius:2px;background:linear-gradient(90deg,#6b3fa0,#e8618f);transform:scaleX(0);transition:transform .3s}.header-link:hover:after{transform:scaleX(.5)}.header-link[aria-current=page]:after{transform:scaleX(1)}.label-short{display:none}.header-social{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border:1px solid rgba(168,156,197,.5);border-radius:999px;font:600 13px var(--font-ui);letter-spacing:.06em;color:#fff;white-space:nowrap;transition:background-color .3s,border-color .3s}.header-social:hover{background:var(--pink);border-color:transparent}.subbar{background:#1a0f2ed9;border-bottom:1px solid var(--line-soft)}.subbar-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:56px}.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;row-gap:4px}.crumb{display:flex;align-items:baseline;gap:8px;font-size:13px;letter-spacing:.05em}.crumb+.crumb:before{content:"❀";align-self:center;margin:0 12px;font-size:11px;color:var(--sakura);opacity:.7}.crumb-layer{font:600 11px/1 var(--font-ui);letter-spacing:.14em}.crumb-0 .crumb-layer{color:var(--gold)}.crumb-1 .crumb-layer{color:var(--pink)}.crumb-2 .crumb-layer{color:var(--sakura)}.crumb a{color:var(--muted);padding:10px 0;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}.crumb a:hover{color:#fff;text-decoration-color:currentColor}.crumb-current{color:#fff}.work-nav{display:flex;gap:8px}.work-nav a{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border:1px solid var(--line);border-radius:999px;font-size:13px;color:#e6def0;white-space:nowrap;transition:background-color .3s,border-color .3s}.work-nav a:hover{background:var(--pink);border-color:transparent;color:#fff}.site-footer{position:relative;padding:56px 0 40px;background:var(--night);border-top:1px solid var(--deep);text-align:center;font-family:var(--font-ui);color:var(--muted)}.footer-plaque{display:inline-flex;align-items:center;min-height:44px;margin-bottom:20px}.footer-plaque img{width:140px;height:auto;opacity:.92}.footer-map ul{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 26px}.footer-map a{display:inline-flex;align-items:center;min-height:40px;font-size:13px;color:#e6def0}.footer-map a:hover{color:var(--sakura);text-decoration:underline;text-underline-offset:4px}.footer-meta{margin-top:26px;font-size:12px;line-height:2}.footer-meta a{display:inline-flex;align-items:center;min-height:32px;color:var(--sakura);text-decoration:underline;text-underline-offset:3px}.footer-copy{color:#cfc6e0;font-family:var(--font-latin);font-size:15px;letter-spacing:.08em}.footer-age{opacity:.8}.back-to-top{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:12px;font-size:13px;color:var(--sakura)}.entry-page{position:relative;min-height:100svh;display:grid;place-items:center;padding:32px 20px;background:var(--sakura-night);overflow:hidden}.entry-card{position:relative;z-index:2;width:100%;max-width:560px;padding:40px 44px 44px;text-align:center;border:1px solid var(--line);border-radius:24px;background:#1a0f2ec7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 30px 80px #00000073}.entry-plaque{width:240px;margin:0 auto 26px}.entry-plaque img{width:100%;height:auto;filter:drop-shadow(0 4px 18px rgba(232,97,143,.3))}a.entry-plaque{display:block}.entry-card .eyebrow{justify-content:center}.entry-card h1{font-size:25px;margin:16px 0;letter-spacing:.08em}.entry-card>p:not(.eyebrow){font-size:14px;color:#ddd4ea}.entry-card .entry-question{margin:24px 0;color:var(--sakura)!important;font-size:16px!important}.entry-card .button-row{justify-content:center}.entry-card button:disabled{cursor:default;opacity:.6;transform:none}.entry-notice{margin-top:22px;color:var(--sakura);font-size:14px}.noscript-page{min-height:100vh;display:grid;place-items:center;padding:24px;text-align:center}.noscript-page a{color:var(--sakura);text-decoration:underline}.not-found-links{margin-top:28px}@media(max-width:1080px){.shell{width:calc(100% - 48px)}.header-nav{gap:20px}.header-link-about{display:none}.subbar-inner{flex-wrap:wrap;row-gap:0;padding:6px 0}}@media(max-width:760px){:root{--header-h: 60px}.shell{width:calc(100% - 40px)}.section{padding:76px 0}.mobile-break{display:block}.statement{font-size:22px;letter-spacing:.08em}.rule-heading{font-size:17px;gap:12px}.rule-heading:before,.rule-heading:after{width:22px}.header-inner{gap:6px}.header-plaque img{width:84px}.header-nav{gap:0;justify-content:flex-end;flex:1}.header-link{padding:0 7px;font-size:13px;min-height:44px}.header-link:after{bottom:10px;left:7px;right:7px}.label-long{display:none}.label-short{display:inline}.header-social{min-width:44px;min-height:40px;padding:0 12px;justify-content:center}.subbar-inner{display:block;padding:4px 0 0}.crumb{font-size:12px}.crumb-layer{display:none}.crumb+.crumb:before{margin:0 9px}.work-nav{margin:0 -20px;padding:2px 20px 10px;overflow-x:auto;scrollbar-width:none}.work-nav::-webkit-scrollbar{display:none}.work-nav a{padding:0 14px}.entry-card{padding:30px 22px 32px}.entry-card h1{font-size:22px}.entry-plaque{width:200px}.not-found-links{flex-direction:column}.not-found-links .button,.entry-card .button{width:100%}}@media(max-width:380px){.shell{width:calc(100% - 32px)}.header-plaque img{width:74px}.header-link{padding:0 6px;font-size:12px}.work-nav{margin:0 -16px;padding-inline:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sakura-layer{display:none}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
