/* Two quiet columns: title and introductions on the left, destinations on the right. */
.game-home{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"brand menu" "intro menu";grid-template-rows:1fr auto;gap:20px clamp(50px,9vw,130px);max-width:1280px;padding:30px 65px 38px;min-height:calc(100svh - 165px)}
.home-brand{grid-area:brand;padding:0;align-self:center;z-index:1}.home-title{font-size:clamp(65px,6.8vw,92px);letter-spacing:.08em;margin-bottom:16px}.home-eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:25px;gap:9px}.home-eyebrow::before{width:24px}.home-subtitle{font-size:14px;letter-spacing:1px}.home-quote{margin-top:20px;font-size:13px}.home-credit{position:static;margin-top:25px;font-size:10px;max-width:330px}.home-credit::before{margin-bottom:9px}.home-botanical{display:none}
.home-menu{grid-area:menu;padding:0;align-self:center;z-index:1}.menu-option{min-height:82px;padding:12px 0;column-gap:14px;grid-template-columns:26px 1fr 26px}.menu-name{font-size:27px;letter-spacing:3px}.menu-english{font-size:8px;letter-spacing:1.5px}.menu-number{margin-top:8px}.menu-option::before{left:-13px}
.home-lineart{position:absolute;left:12%;bottom:-25px;width:380px;height:auto;max-height:92%;object-fit:contain;opacity:.19;mix-blend-mode:multiply;pointer-events:none;user-select:none;z-index:0}
.home-intro{grid-area:intro;max-width:405px;align-self:end;padding-top:17px;border-top:1px solid #bca78d66;z-index:1}.home-intro-item{margin-bottom:13px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px}.home-intro h2{font:500 14px/1.85 var(--serif);letter-spacing:2px;margin:0;color:var(--accent)}.home-intro-item p{font:12px/1.9 var(--sans);color:var(--muted);margin:0}.home-guideline{font:10px/1.8 var(--sans);color:var(--muted);margin:10px 0 0}.home-intro .policy-link{display:inline-flex;align-items:center;min-height:36px;font-size:10px;text-underline-offset:3px;color:var(--accent)}
.footer-policy-links{display:flex;gap:15px;flex-wrap:wrap;font-size:10px;letter-spacing:0}.footer-policy-links a{min-height:36px;display:inline-flex;align-items:center;color:var(--accent)}.site-footer{flex-wrap:wrap}.site-footer .footer-edition{margin-right:0!important}body:has(.game-home) .site-footer{padding-inline:52px}
/* A short paper-and-light title sequence: no flashing, no audio, always skippable. */
.opening-scene{overflow:hidden;background:#f3e9dd;background-image:radial-gradient(ellipse at 45% 42%,#fffcf5 8%,#ecd5c77a 60%,#d7b3a355);perspective:1100px;transition:opacity .55s ease,visibility .55s}
.opening-light{position:absolute;width:85vw;height:85vw;max-width:1100px;max-height:1100px;border-radius:50%;background:conic-gradient(from 30deg,transparent,#fff7d94f,transparent 22%,#f3c6b230,transparent 55%);filter:blur(18px);animation:opening-sun 4.2s ease-out both;pointer-events:none}
.opening-frame{position:absolute;inset:clamp(24px,5vw,64px);border:1px solid #a77e5429;pointer-events:none;animation:opening-frame 2.8s var(--ease) both}.opening-frame::after{content:'';position:absolute;inset:8px;border:1px solid #bda17a1c}
.opening-leaves{position:absolute;inset:0;pointer-events:none;overflow:hidden}.opening-leaves i{position:absolute;width:16px;height:30px;border-radius:80% 0 80% 0;background:#9b98643b;left:calc(var(--leaf)*13%);top:-45px;animation:opening-drift 4.8s calc(var(--leaf)*-.23s) cubic-bezier(.2,.45,.55,1) both;transform:rotate(25deg)}
.opening-paper{position:absolute;bottom:-28%;width:53%;height:80%;border:1px solid #c3a5823b;background:linear-gradient(100deg,#f0e2cf66,#fffaf0ee 70%,#d5b79a44);box-shadow:0 -8px 75px #93684b0d;pointer-events:none}.opening-paper-left{left:-3%;transform-origin:right bottom;animation:opening-page-left 3.8s var(--ease) both}.opening-paper-right{right:-3%;transform-origin:left bottom;animation:opening-page-right 3.8s var(--ease) both}
.opening-content{z-index:1;padding:24px;animation:opening-camera 3.8s var(--ease) both}.opening-branch{width:330px;right:-110px;top:-180px;animation:opening-leaf 2.4s .1s var(--ease) forwards}.opening-title{opacity:1;animation:none;font-size:clamp(54px,9.2vw,124px);letter-spacing:.1em;text-indent:0;margin:16px 0 20px;text-shadow:0 4px 30px #96684810}.opening-title span{display:inline-block;opacity:0;animation:opening-ink 1.35s calc(.3s + var(--letter)*.18s) var(--ease) forwards}.opening-edition{animation-delay:.25s;letter-spacing:5px}.opening-subtitle{animation-delay:1.2s}.opening-rule{width:90px;margin-top:27px;animation-delay:1.5s}.opening-caption{font:11px/1.7 var(--serif);letter-spacing:4px;color:var(--muted);opacity:0;animation:opening-text 1s 1.7s ease forwards}.opening-skip{min-height:44px;z-index:5;color:#745949}.opening-scene.is-leaving .opening-content{transition:transform .45s ease;transform:scale(1.045)}
@keyframes opening-ink{from{opacity:0;transform:translateY(35px) scale(.88);filter:blur(9px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes opening-camera{from{transform:scale(.92)}to{transform:scale(1)}}
@keyframes opening-sun{from{opacity:.2;transform:rotate(-25deg) scale(.7)}to{opacity:.8;transform:rotate(20deg) scale(1.15)}}
@keyframes opening-frame{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
@keyframes opening-page-left{from{transform:rotateY(55deg) rotateZ(-20deg) translateY(30%)}to{transform:rotateY(12deg) rotateZ(-12deg) translateY(17%)}}
@keyframes opening-page-right{from{transform:rotateY(-55deg) rotateZ(20deg) translateY(30%)}to{transform:rotateY(-12deg) rotateZ(12deg) translateY(17%)}}
@keyframes opening-drift{0%{opacity:0;transform:translate(-20px,0) rotate(25deg)}18%{opacity:1}100%{opacity:0;transform:translate(90px,90svh) rotate(200deg)}}
/* Notices use the same paper, typography and muted rose as the reading room. */
.policy-modal-active{overflow:hidden}.welcome-policy,.policy-reader{color:var(--ink);background:var(--card);border:1px solid #d4bba7;border-radius:8px;box-shadow:0 24px 100px #6d4e3326;padding:30px;width:min(510px,calc(100vw - 32px));max-height:calc(100dvh - 36px);overflow:auto;overscroll-behavior:contain}.welcome-policy::backdrop,.policy-reader::backdrop{background:#67503e4a;backdrop-filter:blur(3px)}.welcome-policy h2,.policy-reader h2{font:500 25px/1.5 var(--serif);letter-spacing:1px;margin:12px 0}.policy-intro{font:14px/1.9 var(--sans);color:var(--muted)}.policy-summary{padding-left:18px;margin:17px 0;font:13px/1.9 var(--sans);color:var(--ink)}.policy-summary li+li{margin-top:5px}.policy-links{display:flex;gap:5px 17px;flex-wrap:wrap}.policy-link{color:var(--accent);text-decoration:underline;text-underline-offset:4px;line-height:1.8}.policy-links a{font-size:12px;padding-block:7px}.policy-version{font:11px/1.8 var(--sans);color:var(--muted);margin:12px 0}.policy-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.policy-actions button,.policy-reader-close,.policy-text-button{min-height:44px;border:1px solid #c8aa97;border-radius:4px;padding:10px 17px;background:#fffaf1;color:var(--accent);font:13px/1.6 var(--sans);cursor:pointer}.policy-actions .policy-primary{background:#a96e73;border-color:#a96e73;color:#fffaf5}.policy-gate-status{font-size:13px;line-height:1.85;background:#f3e7d8;padding:10px}.policy-gate-status:empty{display:none}.policy-reader{width:min(730px,calc(100vw - 32px));padding-top:18px}.policy-reader-close{position:sticky;top:0;display:block;margin:0 0 16px auto;z-index:1;background:var(--card)}.policy-reader h3{font:500 18px/1.6 var(--serif);margin:26px 0 9px}.policy-reader-content p{font:14px/1.95 var(--sans);white-space:pre-wrap}.policy-text-button{margin-top:15px}
.account-policy{display:flex;align-items:center;flex-wrap:wrap;gap:4px 7px;font-size:12px;margin:16px 0}.policy-checkbox{display:inline-flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}.policy-checkbox input{appearance:auto;width:18px;height:18px;margin:0;accent-color:#a96e73;flex:none}.account-policy small{flex-basis:100%;font-size:11px;color:var(--muted);line-height:1.8}.account-policy .policy-link{padding-block:7px}
.policy-document{max-width:820px;margin:auto;padding:35px 28px 65px;min-height:0}.policy-document h1{font:500 32px/1.6 var(--serif);margin:15px 0}.policy-document h2{font:500 25px/1.7 var(--serif);margin:38px 0 15px;padding-top:12px;border-top:1px solid var(--line)}.policy-document h3{font:500 18px/1.7 var(--serif);margin:25px 0 10px}.policy-document p{font-size:14px;line-height:2}.policy-document nav{display:flex;flex-wrap:wrap;gap:18px;margin:20px 0}.policy-home,.policy-document nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);font-size:13px;text-decoration:underline;text-underline-offset:4px}.policy-document-end{margin-top:35px;color:var(--muted)}
@media(min-width:761px) and (max-width:1100px){.game-home{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);padding-inline:36px;gap:20px 48px}.home-title{font-size:clamp(48px,6.7vw,72px)}.home-eyebrow{font-size:8px;letter-spacing:1px}.home-subtitle{font-size:12px;letter-spacing:0}.home-quote{font-size:12px}.menu-name{font-size:24px;letter-spacing:2px}.menu-option{grid-template-columns:20px 1fr 20px;gap:10px;min-height:78px}.menu-english{font-size:7px;letter-spacing:1px}.home-lineart{left:4%;width:340px}.home-intro-item{grid-template-columns:46px minmax(0,1fr);gap:10px}.home-intro-item p{font-size:11px}}
@media(max-width:760px){.game-home{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"brand" "menu" "intro";grid-template-rows:auto auto auto;padding:18px 28px 24px;gap:14px;max-width:600px;min-height:0}.home-brand{align-self:start}.home-title{font-size:clamp(40px,11vw,58px);letter-spacing:.07em;margin-bottom:7px}.home-eyebrow{font-size:7px;letter-spacing:1px;margin-bottom:10px;display:block}.home-eyebrow::before{display:none}.home-subtitle{font-size:11px;letter-spacing:.5px}.home-quote{font-size:11px;letter-spacing:0;margin-top:8px}.home-credit{font-size:8px;line-height:1.7;margin-top:9px;position:static;max-width:100%}.home-credit::before{display:none}.home-menu{padding:0}.menu-option{min-height:60px;padding:8px 0;grid-template-columns:25px 1fr 24px;gap:13px}.menu-name{font-size:22px;letter-spacing:3px}.menu-english{font-size:8px;line-height:1.4;letter-spacing:1.2px}.menu-copy{gap:3px}.menu-number{margin-top:5px}.home-intro{max-width:100%;padding-top:14px;margin-top:8px}.home-lineart{width:285px;left:auto;right:-15px;bottom:auto;top:0;max-height:500px;opacity:.15}.home-intro-item{margin-bottom:11px}.home-guideline{font-size:10px}.site-footer,body:has(.game-home) .site-footer{padding:10px 28px 75px;gap:5px 18px}.site-footer p{max-width:100%}.footer-edition{display:none}.footer-policy-links{width:100%;gap:18px}.welcome-policy,.policy-reader{padding:22px;max-height:calc(100dvh - 24px)}.welcome-policy h2{font-size:22px}.policy-actions{gap:8px}.policy-actions button{padding-inline:14px}.opening-content{padding:24px 12px}.opening-title{font-size:clamp(42px,12vw,78px);letter-spacing:.1em}.opening-edition{font-size:8px;letter-spacing:3px}.opening-subtitle{font-size:12px;letter-spacing:1px}.opening-caption{font-size:10px;letter-spacing:2px}.opening-branch{width:230px;right:-25px;top:-150px}.opening-skip{font-size:11px;right:24px;top:15px}.opening-frame{inset:18px}.opening-paper{height:65%;bottom:-15%}.policy-document{padding-inline:22px}.policy-document h1{font-size:27px}}
@media(max-width:760px) and (max-height:740px){.game-home{padding-top:12px;gap:9px}.home-title{font-size:38px}.home-eyebrow{margin-bottom:7px}.home-credit{margin-top:6px}.home-quote{margin-top:5px}.menu-option{min-height:57px;padding-block:6px}.menu-name{font-size:21px}.home-intro{margin-top:12px}}
/* The homepage already has a full publish option; keep its reading surface clear. */
body:has(.game-home) .publish-memory{display:none}
@media(max-width:760px){.site-footer p{max-width:calc(100% - 86px)}}
@media(prefers-reduced-motion:reduce){.opening-scene *{animation:none!important;transition:none!important}.opening-scene{display:none}.opening-title span{opacity:1;filter:none}.game-home a{transition:none}}
