:root{--gold:#e4c58d;--paper:#f8efe0;--paper-deep:#efe2cb;--ink:#071124;--ink-muted:#071124b8;--muted:#f8efe0bd;--line:#e4c58d94;--shadow:#05070cb8}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--paper);letter-spacing:0;background:#070910;margin:0;font-family:Noto Serif JP,Yu Mincho,Hiragino Mincho ProN,serif}a{color:inherit;text-decoration:none}.sitePage{background:#070910;min-height:100svh}.posterPage{isolation:isolate;background:linear-gradient(135deg,#15192a 0%,#382323 48%,#10131d 100%);min-height:92svh;padding:32px clamp(24px,5vw,72px);display:grid;position:relative;overflow:hidden}.posterImage,.posterShade{width:100%;height:100%;position:absolute;inset:0}.posterImage{z-index:-3;object-fit:cover;object-position:center top;filter:saturate(.98)contrast(1.04)}.posterShade{z-index:-2;background:linear-gradient(#04060c00 0%,#04060c05 58%,#04060c2e 100%)}.posterPage:before{z-index:-1;border:1px solid var(--line);content:"";pointer-events:none;position:absolute;inset:22px}.posterFooter{color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;gap:20px;font-size:.86rem;font-weight:700;display:flex}.posterCopy{align-self:center;width:min(680px,100%);padding:clamp(28px,5vw,56px) 0 clamp(52px,8vw,112px);container-type:inline-size}.posterStatus{color:#071124;letter-spacing:.12em;background:#f8efe0e6;border:1px solid #e4c58db8;border-radius:4px;align-items:center;width:fit-content;margin:0 0 18px;padding:7px 14px 8px;font-size:clamp(.92rem,1.45vw,1.08rem);font-weight:900;display:inline-flex;box-shadow:0 8px 24px #05070c47}.posterTitle{margin:0;line-height:0}.titleLogo{filter:drop-shadow(0 12px 28px #05070c57);width:min(620px,100%);height:auto;display:block}.posterLead{color:#f8efe0e0;max-width:32rem;text-shadow:0 8px 26px var(--shadow);margin:26px 0 0;font-size:clamp(1rem,1.65vw,1.24rem);font-weight:650;line-height:1.9}.posterFooter{align-self:end}.gameSection,.aboutSection{color:var(--ink)}.gameSection{background:linear-gradient(#efe2cb 0%,#f8efe0 28%,#f5ead7 100%);padding:clamp(56px,8vw,112px) clamp(24px,6vw,84px)}.contentInner,.aboutInner{width:min(1120px,100%);margin:0 auto}.sectionHeader{max-width:760px}.sectionHeader.compact{max-width:none}.sectionKicker{color:#9b6b22;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:900}.sectionHeader h2,.aboutCopy h2{color:var(--ink);margin:0;font-size:clamp(2rem,4.8vw,4.6rem);font-weight:900;line-height:1.08}.sectionHeader h3{color:var(--ink);margin:0;font-size:clamp(1.45rem,3vw,2.4rem);font-weight:900;line-height:1.18}.sectionHeader p:not(.sectionKicker),.aboutCopy p:not(.sectionKicker){max-width:42rem;color:var(--ink-muted);margin:20px 0 0;font-size:clamp(1rem,1.5vw,1.18rem);font-weight:650;line-height:1.9}.storyGrid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(32px,5vw,72px);margin-top:clamp(40px,6vw,80px);display:grid}.storyBlock{border-left:1px solid #0711243d;padding-left:clamp(18px,2.4vw,28px)}.storyBlock h3{color:var(--ink);margin:0 0 22px;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.2}.storyBlock p,.characterCard p{color:var(--ink-muted);margin:0;font-size:clamp(.98rem,1.2vw,1.06rem);font-weight:600;line-height:2}.storyBlock p+p{margin-top:16px}.characterSection{border-top:1px solid #0711242e;margin-top:clamp(56px,8vw,104px);padding-top:clamp(34px,5vw,56px)}.characterGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,56px);margin-top:32px;display:grid}.characterCard{isolation:isolate;aspect-ratio:3/4;background:#d9d8d0;border:1px solid #0711242e;border-radius:4px;align-items:end;display:grid;position:relative;overflow:hidden}.characterVisual{z-index:0;background:linear-gradient(#0711240f,#07112424),#d9d8d0;align-items:end;margin:0;display:grid;position:absolute;inset:0;overflow:hidden}.characterVisual img{object-fit:contain;object-position:center bottom;width:100%;height:100%;display:block}.characterText{z-index:1;min-width:0;color:var(--paper);background:linear-gradient(#07112400 0%,#071124c7 28%,#071124f0 100%);align-self:end;padding:clamp(22px,3vw,34px);position:relative}.characterText .characterRole{color:var(--gold);letter-spacing:.12em;text-shadow:0 2px 10px #05070cb3;text-transform:uppercase;margin-bottom:10px;font-size:.78rem;font-weight:900;line-height:1.2}.characterText h4{color:var(--paper);text-shadow:0 4px 16px #05070cbd;margin:0 0 14px;font-size:clamp(1.55rem,3vw,2.5rem);font-weight:900;line-height:1.1}.characterText p:not(.characterRole){color:#f8efe0e0;text-shadow:0 2px 10px #05070cb8}.aboutSection{background:#fbf7ef;padding:clamp(48px,7vw,92px) clamp(24px,6vw,84px)}.aboutInner{grid-template-columns:minmax(220px,360px) minmax(0,1fr);align-items:center;gap:clamp(34px,6vw,88px);display:grid}.aboutLogoPanel{background:#ffffffb8;border:1px solid #0711241f;border-radius:4px;padding:clamp(16px,2.5vw,24px)}.aboutLogo{width:100%;height:auto;display:block}.siteFooter{color:#f8efe099;justify-content:center;padding:22px 24px;font-size:.78rem;font-weight:700;display:flex}@media (max-width:720px){.posterPage{min-height:92svh;padding:26px 24px}.posterPage:before{inset:14px}.posterImage{object-position:46% top}.posterShade{background:linear-gradient(#04060c00 0%,#04060c05 52%,#04060c33 100%)}.posterFooter{font-size:.76rem}.posterCopy{align-self:end;padding-bottom:48px}.posterLead{max-width:24rem}.gameSection,.aboutSection{padding-left:24px;padding-right:24px}.storyGrid,.characterGrid,.aboutInner{grid-template-columns:1fr}.aboutLogoPanel{width:min(320px,100%)}}
