/* One studio template. Themes only change its color tokens. */
.game-page{--page:#071e2b;--panel:#102d3a;--ink:#fff9e9;--accent:#d5ff36;--secondary:#21c8be;background:var(--page);color:var(--ink)}
.theme-sea{--page:#072d38;--panel:#0c404c;--accent:#8ce1d2;--secondary:#efc27d}
.theme-echo{--page:#071116;--panel:#102027;--accent:#8fcbd8;--secondary:#72b5c2}
.game-page .languages a[aria-current=page],.game-page .eyebrow,.game-page .mini-star,.game-page .note-number{color:var(--accent)}
.game-page .button.lime,.game-page .contact{background:var(--accent);color:var(--page)}
.game-page .contact h2 span{color:var(--accent);-webkit-text-stroke-color:var(--page)}
.game-page .contact-row>a{border-color:var(--page)}
.game-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center;padding-top:60px;padding-bottom:70px}
.game-intro-copy,.game-intro-art{min-width:0}.game-back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:25px;font-size:13px;color:var(--secondary)}
.game-intro .badges{flex-wrap:wrap}.game-intro h1{font-size:clamp(64px,7.5vw,112px);margin:30px 0 25px;overflow-wrap:normal}.game-intro .intro{font-size:20px;line-height:1.5;max-width:520px}.game-intro .muted{margin:20px 0 30px;max-width:510px;line-height:1.8}.game-intro-art{margin:0;border-radius:24px;overflow:hidden;background:var(--panel);aspect-ratio:1/1;display:grid;place-items:center;border:1px solid #ffffff25}.game-intro-art img{width:100%;height:100%;object-fit:contain}
.game-content{padding:45px 0 80px}.game-content .section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.game-content h2{font-size:clamp(38px,5vw,66px);margin-top:18px}.game-stage{font-size:11px;letter-spacing:1px;color:var(--secondary)}
.game-media{margin:0;background:var(--panel);border:1px solid #ffffff30;border-radius:18px;overflow:hidden}.game-media video,.game-media>a,.game-media img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#000}.game-media figcaption{padding:15px 20px;font-size:10px;letter-spacing:1.3px;color:var(--secondary)}
.game-page .game-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:42px}.game-page .game-notes>div{min-width:0}.game-page .game-notes h4{color:var(--ink)}.game-page .game-notes p{color:var(--ink);opacity:.78}.game-page .release-note{border-color:#ffffff30;color:var(--ink)}
@media(max-width:900px){.game-intro{gap:30px}.game-intro h1{font-size:68px}}
@media(max-width:700px){.game-intro{grid-template-columns:1fr;gap:30px;padding-top:25px;padding-bottom:30px}.game-intro-art{aspect-ratio:4/3;max-height:380px}.game-intro h1{font-size:clamp(56px,13vw,82px)}.game-intro .intro{font-size:18px}.game-page .game-notes{grid-template-columns:1fr;gap:26px}.game-content{padding:40px 0 55px}.game-content .section-head{align-items:start;flex-direction:column;gap:16px}.game-media figcaption{padding:12px;font-size:9px}.game-back{margin-bottom:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.game-intro-art{position:relative}.game-speech{position:absolute;top:18px;right:14px;padding:15px 18px;max-width:calc(100% - 28px);border:2px solid var(--page);border-radius:50%;background:var(--ink);color:var(--page);text-align:center;font-family:StudioDisplay,Arial,sans-serif;font-size:clamp(14px,1.6vw,23px);line-height:1.2;transform:rotate(5deg)}@media(max-width:480px){.game-speech{top:10px;right:10px;padding:10px 14px;font-size:14px}}
/* Parcel: retained game content and comic accents inside the studio frame. */
.theme-parcel .game-intro{padding-top:28px;padding-bottom:32px;gap:40px}.theme-parcel .game-intro h1{font-size:clamp(62px,7vw,98px);margin:20px 0}.theme-parcel .game-intro .button{margin-top:24px}.theme-parcel .game-intro-art{border:0;background:transparent;max-height:440px;overflow:visible}.theme-parcel .game-intro-art>img{position:relative;z-index:1;width:auto;max-width:85%;height:100%;max-height:420px;justify-self:center;object-fit:contain}.parcel-burst{position:absolute;inset:8% 3%;background:#d5ff36;clip-path:polygon(50% 0,61% 21%,81% 6%,78% 30%,100% 31%,83% 48%,100% 69%,76% 70%,80% 94%,59% 81%,49% 100%,39% 79%,17% 95%,22% 70%,0 69%,18% 49%,0 30%,25% 29%,20% 5%,41% 21%)}.theme-parcel .game-speech{z-index:3}.parcel-label{position:absolute;z-index:2;left:5px;bottom:12px;background:#fff9e9;color:#071e2b;border:2px solid #071e2b;padding:14px 18px;font-family:StudioDisplay;font-size:21px;line-height:1.1;transform:rotate(-5deg);box-shadow:4px 4px #21c8be}
.parcel-section{padding-top:34px;padding-bottom:34px}.parcel-section h2{font-size:clamp(34px,4.2vw,54px);margin:14px 0 22px}.parcel-section .section-head{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:24px}.parcel-section .section-head>p{max-width:340px;font-size:14px;line-height:1.7;color:#9db1b6}.film-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:45px;align-items:center;padding:12px 14px}.film{margin:0;border:2px solid #fff9e9;box-shadow:7px 7px #21c8be;transform:rotate(-2deg);background:#071e2b;min-width:0}.film video{display:block;width:100%;height:auto;aspect-ratio:16/9}.film figcaption{font-size:9px;letter-spacing:1px;padding:12px;color:#fff9e9}.ticket{border-block:1px dashed #ffffff55;padding:20px 0}.ticket-number{font-family:StudioDisplay;color:#d5ff36;font-size:90px;line-height:1}.ticket h3{font-size:28px;margin:8px 0 16px}.ticket p{font-size:14px;line-height:1.7;max-width:300px}.manual{background:#102d3a}.manual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.panel{min-width:0}.panel-number{font-family:StudioDisplay;font-size:26px;color:#21c8be}.panel h3{font-size:27px;line-height:1.1;margin:10px 0}.panel p{font-size:14px;line-height:1.8;color:#b7c7cb}.tricks{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:25px;font-size:12px}.tricks span{border:1px solid #ffffff35;border-radius:20px;padding:7px 12px}.dispatch{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.dispatch-copy p{font-size:14px;line-height:1.8;margin-bottom:20px;max-width:440px}.dispatch-card{border:1px solid #ffffff30;border-radius:16px;padding:24px}.dispatch-card dl{margin:15px 0}.dispatch-card dl div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #ffffff20;padding:9px 0;font-size:13px}.dispatch-card dd{margin:0;text-align:right;font-weight:700}.dispatch-card>p{font-size:12px;color:#9db1b6}
@media(max-width:700px){.theme-parcel .game-intro{gap:20px}.theme-parcel .game-intro-art{height:340px;aspect-ratio:auto}.theme-parcel .game-intro-art>img{max-height:330px}.parcel-section .section-head{display:block}.film-layout{grid-template-columns:1fr;padding:10px 8px;gap:24px}.film{width:calc(100% - 10px);margin:auto;transform:rotate(-1deg);box-shadow:4px 4px #21c8be}.ticket{display:grid;grid-template-columns:85px 1fr;gap:5px 15px}.ticket-number{font-size:74px;grid-row:1/3}.ticket h3{font-size:25px;margin:0}.ticket p{grid-column:2}.manual-grid,.dispatch{grid-template-columns:1fr;gap:25px}.parcel-label{font-size:17px;padding:10px 14px}.theme-parcel .game-speech{font-size:14px}.parcel-section{padding-top:28px;padding-bottom:28px}}
/* Keep captions in layout: never cover the courier's face at any column width. */
.theme-parcel .game-intro-art{width:100%;height:440px;max-height:none;aspect-ratio:auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;justify-items:center;align-items:center;gap:12px;padding:6px 10px 8px;isolation:isolate}
.theme-parcel .game-intro-art>img{grid-row:2;position:relative;width:100%;height:100%;max-width:100%;max-height:none;min-height:0;object-fit:contain;z-index:1}
.theme-parcel .game-speech{grid-row:1;position:relative;top:auto;right:auto;max-width:100%;width:max-content;margin:0;padding:12px 20px;font-size:clamp(13px,1.4vw,20px);line-height:1.2;transform:rotate(3deg);white-space:nowrap}
.theme-parcel .parcel-label{grid-row:3;position:relative;left:auto;bottom:auto;justify-self:start;max-width:95%;margin:0 0 2px 6px;padding:10px 16px;font-size:clamp(16px,1.5vw,21px);transform:rotate(-3deg)}
.theme-parcel .parcel-burst{inset:20% 4% 18%;z-index:0}
@media(max-width:900px) and (min-width:701px){.theme-parcel .game-intro{gap:24px}.theme-parcel .game-intro-art{height:390px}.theme-parcel .game-speech{font-size:13px;padding:12px}.theme-parcel .parcel-label{font-size:16px}}
@media(max-width:700px){.theme-parcel .game-intro-art{height:390px;max-width:440px;justify-self:center;gap:12px}.theme-parcel .game-intro-art>img{max-height:none}.theme-parcel .game-speech{font-size:clamp(13px,3.4vw,17px)}.theme-parcel .parcel-label{font-size:17px}}
@media(max-width:360px){.theme-parcel .game-intro-art{height:350px;padding-inline:4px}.theme-parcel .game-speech{font-size:12px;padding:10px 12px}.theme-parcel .parcel-label{font-size:15px}}

.theme-echo .game-intro{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px}.theme-echo .echo-live-host{align-self:center}.theme-echo .game-media{border:0;border-radius:0;background:transparent}.theme-echo .game-intro h1{font-size:clamp(64px,6.6vw,98px)}@media(max-width:850px){.theme-echo .game-intro{grid-template-columns:1fr}.theme-echo .echo-live-host{width:100%}}

/* Shared detail-page layout, including Parcel's original interactive hero. */
.game-page.parcel-home-page .hero{padding-bottom:45px}
.echo-live-host noscript img{display:block;width:100%;height:auto}
.echo-live-host noscript p{font-size:14px;line-height:1.6;margin-top:16px}
