:root{--ink:#070b0a;--green:#10231f;--paper:#f1eadb;--muted:#a7aaa0;--gold:#cbb17d;--gold-light:#ebd9ae;--line:#cbb17d55;font-family:"Noto Serif SC","Songti SC",STSong,serif;color:var(--paper);background:var(--ink)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--ink)}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}.skip{position:absolute;z-index:30;left:-9999px}.skip:focus{left:1rem;top:1rem;padding:.7rem;background:#fff;color:#111}.loading,.fatal{display:grid;min-height:100vh;place-content:center;gap:1rem;padding:2rem;text-align:center}.toast{position:fixed;z-index:50;top:1rem;left:50%;max-width:min(90vw,44rem);margin:0;padding:.7rem 1rem;transform:translateX(-50%);background:#21322c;border:1px solid var(--line)}.toast.error{background:#3b211d;border-color:#c37b61}.cover{position:relative;isolation:isolate;display:grid;min-height:100dvh;overflow:hidden;background:var(--ink)}.cover-art,.cover-shade{position:absolute;inset:0}.cover-art{z-index:-2;background:url('/assets/story-ui/cover.png') center/cover no-repeat;filter:saturate(.72) contrast(1.05)}.cover-shade{z-index:-1;background:linear-gradient(90deg,#050807ed 0%,#07100b9e 48%,#07100bd1 100%),linear-gradient(0deg,#030706e8,transparent 60%)}.cover-content{align-self:end;width:min(44rem,calc(100vw - 3rem));margin:0 0 clamp(3.2rem,11vh,8rem) clamp(1.5rem,9vw,10rem)}.eyebrow{margin:0 0 .75rem;color:var(--gold);font:600 .72rem/1.4 system-ui,sans-serif;letter-spacing:.28em;text-transform:uppercase}h1,h2,p{margin-top:0}h1,h2{font-weight:500;letter-spacing:.1em}.cover h1{margin-bottom:1rem;font-size:clamp(3rem,7vw,6.4rem);line-height:1.05}.subtitle{color:#d8d4c8;font-size:clamp(1rem,1.6vw,1.2rem);letter-spacing:.16em}.gold{min-height:3rem;padding:.75rem 1.5rem;color:#182019;background:var(--gold-light);border:1px solid var(--gold-light);cursor:pointer;font-weight:700;letter-spacing:.12em}.gold:hover{background:#fff0c9}.enter{margin-top:1.25rem;min-width:10rem}.cover-note,.subtle{color:var(--muted);font-size:.82rem}.cover-note{margin-top:1.15rem}.player{min-height:100dvh;background:radial-gradient(circle at 80% 0,#19342b 0,var(--ink) 45rem);padding:clamp(.7rem,2vw,1.5rem)}.player-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2.6rem;margin:auto auto 1rem;max-width:1600px;border-bottom:1px solid var(--line)}.brand,.menu-toggle{padding:.5rem 0;color:var(--paper);background:none;border:0;cursor:pointer;letter-spacing:.1em}.brand{font-size:.85rem}.head-actions{display:flex;align-items:center;gap:1.25rem}.node-label{color:var(--muted);font-size:.78rem;white-space:nowrap}.menu-toggle{color:var(--gold-light)}.stage{position:relative;display:grid;place-items:center;max-width:1600px;margin:auto;overflow:hidden;background:#020504;border:1px solid var(--line);box-shadow:0 1.5rem 4rem #0009}.video-stage{aspect-ratio:16/9;min-height:min(72dvh,54rem)}.story-video{display:block;width:100%;height:100%;background:#020504;object-fit:contain}.stage-controls{position:absolute;right:1rem;bottom:1rem;display:flex;gap:.5rem;opacity:0;transition:opacity .2s}.controls-visible .stage-controls,.stage:focus-within .stage-controls{opacity:1}.round-control{padding:.55rem .7rem;color:var(--paper);background:#07130ed9;border:1px solid var(--line);cursor:pointer;font-size:.75rem}.tap-to-play{position:absolute;padding:.9rem 1.3rem;color:var(--paper);background:#10231fe6;border:1px solid var(--gold);cursor:pointer;opacity:0;pointer-events:none}.needs-play .tap-to-play{opacity:1;pointer-events:auto}.stage-message{width:min(32rem,90%);padding:clamp(1.5rem,5vw,3rem);text-align:center;background:#0c1c18f5;border:1px solid var(--line);box-shadow:0 1rem 3rem #000a}.stage-message h1,.stage-message h2{font-size:clamp(1.5rem,4vw,2.6rem)}.stage-message p:not(.eyebrow){color:var(--muted);line-height:1.7}.choice-stage{isolation:isolate;min-height:min(76dvh,56rem);padding:clamp(1.3rem,5vw,4.5rem);align-items:end;background:#0c1e1b var(--choice-image) center/cover no-repeat}.choice-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#06110cda,#06110c5e 70%,#06110cb5),linear-gradient(0deg,#06110ced,transparent 65%)}.choice-content{width:min(70rem,100%);margin:auto 0}.choice-content h1{max-width:45rem;margin-bottom:.65rem;font-size:clamp(2rem,5vw,4rem)}.choice-prompt{max-width:40rem;color:#d1d1c7;line-height:1.7}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1.5rem}.choice{display:flex;align-items:center;gap:1rem;min-height:6.2rem;padding:1rem;color:var(--paper);text-align:left;background:linear-gradient(120deg,#193b39ed,#102722f5);border:1px solid #cbb17d88;cursor:pointer;transition:.18s}.choice:hover{transform:translateY(-3px);background:#28524c;border-color:var(--gold-light)}.choice-index{padding-right:.8rem;color:var(--gold);font-size:1.3rem;border-right:1px solid #cbb17d66}.choice strong{display:block;font-size:1.25rem;font-weight:500;letter-spacing:.12em}.choice small{display:block;margin-top:.25rem;color:#bdc4b9;font:normal .75rem/1.4 system-ui,sans-serif}.choice-arrow{margin-left:auto;color:var(--gold)}.game-stage{height:min(82dvh,58rem);min-height:34rem}.game-stage iframe{width:100%;height:100%;border:0}.ending-stage{min-height:min(72dvh,48rem)}.drawer{position:fixed;z-index:20;top:0;right:0;width:min(31rem,100vw);height:100dvh;padding:1.3rem;overflow:auto;background:#0a1713f8;border-left:1px solid var(--line);box-shadow:-1rem 0 4rem #000a;backdrop-filter:blur(14px)}.drawer header{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line)}.drawer h2{margin:.1rem 0 1rem;font-size:1.75rem}.close{color:var(--paper);background:none;border:0;cursor:pointer;font-size:2rem;line-height:1}.drawer details{padding:1rem 0;border-bottom:1px solid var(--line)}.drawer summary{color:var(--gold-light);cursor:pointer;letter-spacing:.08em}.stat-list,.menu-stack{display:grid;gap:.5rem;margin-top:.8rem}.stat-list{grid-template-columns:repeat(2,1fr)}.stat-list span,.chapter{padding:.6rem;background:#11231e}.plain-list{padding-left:1.2rem;line-height:1.8}.chapter-list{display:grid;gap:.45rem;margin-top:.7rem}.chapter{display:grid;gap:.2rem}.chapter.current{border-left:2px solid var(--gold)}.chapter small{color:var(--muted)}.menu-action{padding:.7rem;color:var(--paper);text-align:left;background:#17352e;border:1px solid var(--line);cursor:pointer}.menu-action:hover:not(:disabled){background:#285049}.menu-action:disabled{opacity:.45;cursor:not-allowed}.confirm-dialog{max-width:28rem;color:var(--paper);background:#10231f;border:1px solid var(--gold)}.confirm-dialog::backdrop{background:#000a}.confirm-dialog menu{display:flex;justify-content:flex-end;gap:.7rem;padding:0}.confirm-dialog menu button{padding:.65rem 1rem;color:var(--paper);background:#203a32;border:1px solid var(--line);cursor:pointer}.confirm-dialog menu .gold{color:#182019;background:var(--gold-light)}
@media(max-width:700px){.cover-content{width:calc(100vw - 2.5rem);margin-left:1.25rem}.head-actions{gap:.65rem}.node-label{display:none}.video-stage{min-height:0}.choice-stage{min-height:100dvh;padding:5rem 1.1rem 1.5rem}.choice-grid{grid-template-columns:1fr}.choice{min-height:4.8rem}.choice strong{font-size:1.12rem}.stage-controls{opacity:1}.round-control{padding:.45rem;font-size:.68rem}}@media(orientation:landscape) and (max-height:620px){.player{padding:.45rem}.player-head{min-height:2rem;margin-bottom:.45rem}.choice-stage{min-height:calc(100dvh - 3rem);padding:1rem 4vw}.choice-content h1{font-size:1.7rem}.choice-prompt{margin-bottom:.5rem}.choice-grid{margin-top:.6rem}.choice{min-height:3.8rem;padding:.65rem}.choice small{display:none}.drawer{padding:1rem}.drawer details{padding:.55rem 0}}@media(prefers-reduced-motion:reduce){.choice,.stage-controls{transition:none}}
.cover-shade{background:linear-gradient(90deg,#142824df 0%,#173a3288 52%,#142824c9 100%),linear-gradient(0deg,#142824df,transparent 60%)}.video-stage{height:min(calc(100dvh - 5.5rem),56.25vw,54rem);min-height:0}#app:fullscreen{width:100vw;height:100dvh;background:#142824}#app:fullscreen .player{padding:0;min-height:100dvh}#app:fullscreen .player-head{display:none}#app:fullscreen .stage{width:100vw;max-width:none;height:100dvh;min-height:0;border:0}
.cover-content,.catalog-intro{color:#f4eedf}.cover h1,.catalog-head h1,.choice-content h1{font-family:STKaiti,KaiTi,"Songti SC",serif}.drawer,.catalog-overlay{background:#142824f7}.catalog-overlay::before{border-color:#ad8a4a99}.choice{background:linear-gradient(120deg,#1c453dde,#17342ef3)}.choice:hover{background:#285449}.end-review{position:relative;width:min(58rem,92vw);padding:clamp(1.2rem,4vw,3rem);color:#21332d;background:#f4eedf;border:1px solid var(--gold);box-shadow:0 1.2rem 4rem #0008}.end-review-art{display:block;width:100%;max-height:45vh;object-fit:cover;border:1px solid #ad8a4a66}.end-review-content{max-width:42rem;margin:1.2rem auto;line-height:1.8;color:#415149}.end-review-content h1,.end-review-content h2{color:#6f3029;font-family:STKaiti,KaiTi,serif}.end-review-actions,.retry-ad-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem}.end-review-actions button,.retry-ad-actions button{min-height:3rem;padding:.7rem 1.1rem;border:1px solid var(--gold);cursor:pointer}.end-review-note{display:block;margin-top:.9rem;color:#657168;font-size:.84rem}.retry-ad-dialog{max-width:30rem;color:#21332d;background:#f4eedf;border:1px solid var(--gold);box-shadow:0 1.2rem 4rem #0008}.retry-ad-dialog::backdrop{background:#142824cc}.retry-ad-actions{justify-content:flex-end}
.menu-scrim{position:fixed;inset:0;z-index:15;background:#0008;backdrop-filter:blur(2px)}
.chapter{width:100%;color:var(--paper);text-align:left;border:0}
.catalog-open{overflow:hidden}.catalog-error{position:sticky;top:0;z-index:2;padding:1rem;background:#50392d;color:#fff0cf}.attribute{min-width:0}.stat-list .attribute span{padding:0;background:transparent}.attribute strong{white-space:nowrap}
.attribute{display:grid;grid-template-columns:1.7rem 1fr auto;align-items:center;gap:.45rem;min-height:3.1rem;padding:.55rem .45rem;border-bottom:1px solid #cbb17d33}.attribute img{width:1.35rem;height:1.35rem;object-fit:contain}.attribute span{color:var(--muted);font-size:.8rem}.attribute strong{color:var(--gold-light);font-weight:500}.menu-page-link{display:grid;gap:.3rem;padding:1rem 0;border-bottom:1px solid var(--line)}.menu-page-link small{color:var(--muted);font-size:.75rem}.catalog-overlay{position:fixed;z-index:80;inset:0;overflow:auto;padding:clamp(1.3rem,4vw,4rem);color:var(--paper);background:radial-gradient(circle at 85% 0,#1b382f 0,var(--ink) 42rem),#070b0a}.catalog-overlay::before{content:"";position:fixed;inset:1rem;pointer-events:none;border:1px solid var(--line)}.catalog-head,.catalog-intro,.library-tabs,.library-grid,.episode-grid{position:relative;width:min(1180px,100%);margin-left:auto;margin-right:auto}.catalog-head{display:flex;justify-content:space-between;align-items:start;gap:2rem;padding:1rem 0 1.4rem;border-bottom:1px solid var(--line)}.catalog-head h1{margin:0;font-size:clamp(2rem,5vw,4rem)}.page-back,.cover-link{padding:.65rem .9rem;color:var(--gold-light);background:transparent;border:1px solid var(--line);cursor:pointer;letter-spacing:.1em}.catalog-intro{max-width:1180px;margin-top:1.2rem;color:var(--muted);line-height:1.7}.library-tabs{display:flex;gap:.5rem;margin-top:2rem;border-bottom:1px solid var(--line)}.library-tabs button{padding:.7rem 1.1rem;color:var(--muted);background:transparent;border:0;border-bottom:2px solid transparent;cursor:pointer}.library-tabs button.active{color:var(--gold-light);border-bottom-color:var(--gold)}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;padding:2rem 0}.catalog-card{display:grid;grid-template-columns:4.4rem 1fr;gap:1rem;min-height:10rem;padding:1rem 0;border-top:1px solid var(--line)}.catalog-card>img{width:4rem;height:4rem;object-fit:contain}.catalog-card h2,.episode-card h2{margin:.1rem 0 .5rem;font-size:1.1rem;font-weight:500;letter-spacing:.08em}.catalog-card p{margin-bottom:.45rem;color:#d2d1c7;font-size:.88rem;line-height:1.6}.catalog-card .card-state,.catalog-card small{color:var(--gold);font:normal .72rem/1.3 system-ui,sans-serif;letter-spacing:.07em}.catalog-card.undiscovered{opacity:.68}.catalog-card.undiscovered>img{filter:grayscale(1) brightness(.7)}.episode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;padding:2rem 0}.episode-card{padding:0;color:var(--paper);overflow:hidden;text-align:left;background:transparent;border:1px solid var(--line);cursor:pointer;transition:transform .2s,border-color .2s}.episode-card:hover:not(:disabled),.episode-card.current{transform:translateY(-3px);border-color:var(--gold-light)}.episode-card:disabled{cursor:not-allowed;opacity:.58}.episode-card>img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#10231f}.episode-card-copy{display:block;padding:1rem}.episode-card-copy small,.episode-card-copy em{color:var(--gold);font:normal .74rem/1.5 system-ui,sans-serif;letter-spacing:.08em}.episode-card-copy p{min-height:3em;margin:.5rem 0;color:var(--muted);font-size:.84rem;line-height:1.55}.episode-card-copy em{display:block;color:#d8d4c8}.cover-links{display:flex;gap:.6rem;margin-top:1rem}.cover-link:hover,.page-back:hover{border-color:var(--gold-light);background:#cbb17d18}
@media(max-width:700px){.catalog-overlay{padding:1rem}.catalog-overlay::before{inset:.5rem}.catalog-head{padding-top:1.4rem;gap:1rem}.catalog-head h1{font-size:2rem}.library-grid{grid-template-columns:1fr;gap:.8rem}.episode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.episode-card-copy{padding:.75rem}.episode-card-copy p{min-height:0;font-size:.76rem}.episode-card h2{font-size:.95rem}.catalog-card{min-height:0}.page-back{padding:.5rem .65rem;font-size:.8rem}}

.attribute{grid-template-columns:2rem minmax(0,1fr) auto}.attribute img{width:1.9rem;height:1.9rem}.attribute span{font-size:.85rem}

.skip-video{padding:.55rem .8rem;color:#182019;background:var(--gold-light);border:1px solid var(--gold-light);cursor:pointer;font-size:.78rem;font-weight:700}.skip-video:disabled{cursor:not-allowed;opacity:.5}.video-end-controls{position:absolute;z-index:4;right:1rem;bottom:1rem;display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#07130ef0;border:1px solid var(--gold)}.video-end-controls p{margin:0;color:var(--gold-light);font-size:.82rem}.games-toggle{padding:.5rem .7rem;color:var(--gold-light);background:transparent;border:1px solid var(--line);cursor:pointer;letter-spacing:.08em}.games-toggle:hover{border-color:var(--gold-light);background:#cbb17d18}.games-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;width:min(1180px,100%);margin:2rem auto}.game-card{display:grid;gap:.6rem;min-height:14rem;padding:1rem;color:var(--paper);text-align:left;background:#10231f;border:1px solid var(--line);cursor:pointer}.game-card:hover:not(:disabled){border-color:var(--gold-light);background:#17352e}.game-card:disabled{opacity:.62;cursor:not-allowed}.game-card img{width:100%;height:7rem;object-fit:cover}.game-card h2,.game-card p{margin:0}.game-card small,.game-card em{color:var(--gold);font:normal .75rem/1.4 system-ui,sans-serif}.game-card p{color:var(--muted);line-height:1.55}.library-game-host{grid-column:1/-1;position:relative;height:min(78dvh,56rem);padding-top:3rem}.library-game-host>.page-back{position:absolute;z-index:2;top:0;left:0}.library-game-frame{width:100%;height:100%;border:1px solid var(--line);background:#020504}@media(max-width:700px){.games-grid{grid-template-columns:1fr}.video-end-controls{right:.5rem;bottom:.5rem;gap:.45rem;padding:.55rem}.video-end-controls .gold{min-height:2.5rem;padding:.55rem .8rem}.games-toggle{padding:.4rem}.skip-video{padding:.45rem}.library-game-host{height:calc(100dvh - 11rem)}}
.video-stage.awaiting-next .stage-controls{left:auto;right:1rem}
.video-stage>.stage-message{position:absolute;z-index:5}
.video-stage{width:min(100%,calc((100dvh - 5.5rem) * 1.777778),96rem);height:auto;min-width:0;max-width:100%}

/* 共享观影控件：与 Canvas、原生覆盖控件使用同一配色与尺寸节奏。 */
:root{--ink:#142824;--green:#173a32;--paper:#f4eedf;--muted:#768078;--gold:#ad8a4a;--gold-light:#e7ca87;--line:#ad8a4a77;--control-bg:rgba(20,40,36,.88);--control-border:rgba(173,138,74,.68);--control-ink:#f4eedf;--control-icon:#e7ca87;--control-radius:4px;--control-height:44px}
.media-control{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--control-height);min-width:44px;padding:0 12px;margin:0;color:var(--control-ink);background:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--control-radius);box-shadow:0 3px 12px #0003;font:500 14px/1.2 "Noto Serif SC","Songti SC",STSong,serif;letter-spacing:.04em;white-space:nowrap;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .15s,border-color .15s,color .15s,box-shadow .15s}
.media-control-icon{display:block;width:18px;height:18px;flex:0 0 18px;color:var(--control-icon);pointer-events:none}
.media-control-label{pointer-events:none}
.media-control:hover:not(:disabled){background:rgba(27,46,38,.96);border-color:#dfc58c;box-shadow:0 3px 16px #0005}
.media-control:active:not(:disabled){color:#10231f;background:#e8d5a7;border-color:#e8d5a7;box-shadow:inset 0 1px 3px #0003}
.media-control:active:not(:disabled) .media-control-icon{color:inherit}
.media-control:focus-visible{outline:2px solid #f4dfaf;outline-offset:3px}
.media-control:disabled{opacity:.38;cursor:default;box-shadow:none}
.media-control[hidden]{display:none}
.video-stage .stage-controls{top:16px;right:16px;bottom:auto;left:auto;z-index:3;max-width:calc(100% - 32px);display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;opacity:1}
.video-stage.awaiting-next .stage-controls{top:16px;right:16px;bottom:auto;left:auto}
@media(max-width:600px){.video-stage .stage-controls,.video-stage.awaiting-next .stage-controls{top:10px;right:10px;max-width:calc(100% - 20px);gap:6px}.stage-controls .media-control{padding:0 10px}.stage-controls .media-control-label{display:none}}
@media(prefers-reduced-motion:reduce){.media-control{transition:none}}
.retry-ad-dialog{width:min(460px,calc(100vw - 40px));padding:32px;color:#21332d;background:#f4eedf;border:1px solid #ad8a4a;border-radius:4px;box-shadow:0 22px 80px #0009;line-height:1.8}
.retry-ad-dialog::backdrop{background:#142824d9;backdrop-filter:blur(8px)}
.retry-ad-dialog h2{margin:8px 0 18px;color:#6f3029;font:500 28px/1.35 STKaiti,KaiTi,serif;letter-spacing:.12em}
.retry-ad-dialog [role=status]{color:#58665c;padding:18px 0;text-align:center;border-block:1px solid #ad966639}
.retry-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px}
.retry-actions button{min-height:44px}
.retry-ad-dialog button:disabled{opacity:.45;cursor:wait}.end-review-art.story-video,.end-review-art{position:static;inset:auto;width:100%;height:auto;max-height:45vh;object-fit:cover}.end-review-content{position:relative;z-index:1}.end-review-actions,.retry-ad-actions{position:relative;z-index:1}
.account-content{position:relative;max-width:760px;margin:2rem auto;line-height:1.8}.account-identity{overflow-wrap:anywhere;color:var(--muted);font:13px/1.6 monospace}.account-card{margin-top:1.5rem;padding:1.5rem;border:1px solid var(--line);background:#142c24}.account-card h2{font-size:1.3rem;font-weight:500}.account-card p,.account-card label{display:block;color:var(--muted)}.account-card input[type=text]{display:block;width:min(100%,20rem);padding:.85rem;margin:.8rem 0 1.2rem;font:1.3rem monospace;letter-spacing:.15em;color:var(--paper);background:#071610;border:1px solid var(--gold);border-radius:4px;box-sizing:border-box;text-transform:uppercase}.account-card .account-confirm{display:flex;gap:.7rem;align-items:flex-start;margin:1rem 0;line-height:1.6}.account-confirm input{margin-top:.4rem;min-width:18px;min-height:18px;accent-color:#cbb17d}.account-code{display:block;margin-top:1rem;font:2rem/1.5 monospace;letter-spacing:.22em;color:var(--gold-light)}.account-status.error{color:#f4a79a}.cover-links{flex-wrap:wrap}.account-card button:disabled{opacity:.5;cursor:wait}

/* 唐风终稿：放在所有组件之后，确保两端色彩与交互状态一致。 */
:root{--ink:#0c201c;--paper:#f3ead5;--muted:#b0b3a3;--gold:#b99a5c;--gold-light:#ead5a3;--line:#b99a5c66;font-family:"Microsoft YaHei","PingFang SC",sans-serif}
h1,h2,.brand,.drawer summary,.choice strong{font-family:STKaiti,KaiTi,"Songti SC",SimSun,serif}
.cover h1{font-family:STKaiti,KaiTi,SimSun,serif;text-shadow:0 3px 26px #0008;letter-spacing:.12em}
.cover-content{border-left:2px solid #b99a5c99;padding-left:clamp(1rem,3vw,2rem)}
.cover .eyebrow{color:#e2cfa4;letter-spacing:.42em}.cover-note{color:#c1c4b3}
.gold{border:1px solid #c8a869;background:linear-gradient(135deg,#e8d4a5,#cdb27b);color:#2a291c;box-shadow:inset 0 0 0 3px #edd9ab55;min-height:44px;border-radius:2px}
.gold:hover:not(:disabled){background:#f1dfb6}.gold:disabled{opacity:.45;cursor:default}
.page-back,.cover-link,.menu-toggle,.games-toggle{min-height:44px;padding:.6rem .9rem;border:1px solid var(--line);border-radius:2px;color:var(--gold-light);background:#172c2699}
.page-back:hover,.cover-link:hover,.menu-toggle:hover,.games-toggle:hover{background:#31483d;border-color:#d5bc80}
.brand{color:#e6d5b3;letter-spacing:.14em}.player-head{padding-bottom:.45rem}.node-label{color:#bdc1af}
.catalog-overlay{background:radial-gradient(ellipse at 90% 0,#29463a 0,transparent 45%),linear-gradient(145deg,#0e201c,#18342b);color:var(--paper)}
.catalog-head h1{font-size:clamp(1.8rem,3.5vw,3rem);color:#ebd6a8}.catalog-intro{color:#bcc2b1;line-height:1.9}
.episode-card,.game-card{border:1px solid #b99a5c77;background:#122920;border-radius:2px;box-shadow:0 12px 28px #0002;overflow:hidden}
.episode-card:hover:not(:disabled),.game-card:hover:not(:disabled){border-color:#ebd4a0;background:#203e31;box-shadow:0 10px 26px #0005}
.episode-card.current{border-color:#e4c886;box-shadow:inset 0 0 0 2px #e4c88644}.episode-card h2,.game-card h2{color:#f0dfbb}
.episode-card-copy p,.game-card p{color:#bcc2b1}.game-card img{height:auto;aspect-ratio:16/9}.game-card:disabled{opacity:.78}.game-card em{color:#d1b879}
.catalog-card{border-color:#b99a5c55;background:#20382c;color:#f0e3c8}.catalog-card p{color:#c0c5b4}
.drawer{background:linear-gradient(110deg,#f4eedf,#e4dbc2);color:#25382e;border-left:2px solid #ac8a4c}
.drawer h2,.drawer summary,.drawer .section-title{color:#633d2c}.drawer .subtle,.drawer small{color:#5d6b5d}.drawer .attribute{border-color:#9f8b5b44}.drawer .attribute strong{color:#804231}
.drawer .menu-action,.drawer .close{color:#344b3b;border-color:#ac8a4c77;background:#f4eddc}.drawer .menu-action:hover:not(:disabled){background:#dfd3b4}.drawer button:disabled{opacity:.45;cursor:default}
.choice{border-color:#b99a5c99;box-shadow:0 6px 24px #0004}.choice-index{color:#e7cc90}.choice:hover{border-color:#e7cc90}
.account-card{background:#142e25}.account-card p,.account-card label,.account-identity{color:#c1c8b8}
.retry-ad-dialog{color:#2e3e32;background:#f3ecdb;border:1px solid #a8894c;border-radius:3px}.retry-ad-dialog .eyebrow{color:#80572d}.retry-ad-dialog h2{color:#743d2e}.retry-ad-dialog [role=status]{color:#6e4c28;border-color:#a8894c66}.retry-ad-dialog button:not(.gold){color:#334b3b;background:#e7ddc7;border:1px solid #a8894c;padding:.65rem 1rem;border-radius:2px}
.end-review{position:relative;isolation:isolate;width:min(100%,96rem);min-height:min(650px,80dvh);aspect-ratio:16/9;padding:0;border:1px solid #b99a5c66;background:#0c1713;overflow:hidden;box-shadow:0 20px 60px #0005}
.end-review .end-review-art{position:absolute;inset:0;z-index:-2;width:100%;height:100%;max-height:none;object-fit:cover;border:0}
.end-review:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#071b16 0%,#0b2018e8 25%,#0b20187a 53%,#08130b00 78%)}
.end-review-content{position:absolute;bottom:0;left:0;right:0;max-width:none;padding:clamp(1.1rem,4vw,3rem);margin:0;color:#f2e6c9;line-height:1.7;text-align:center}
.end-review-content h1{color:#f1d6a0;font-size:clamp(1.6rem,3vw,2.8rem);margin:0 0 .8rem}.end-review-content .eyebrow{color:#d4b77c}.end-review-note{color:#d0d4be;margin:.65rem 0;font-size:.88rem}.end-review-actions{justify-content:center;gap:1rem;margin-top:1.1rem}.end-review-actions button{min-width:9rem}.end-review-actions .page-back{color:#f0e2c6;background:#18382dd9}.end-review-actions button:disabled{opacity:.45;cursor:default}
@media(max-width:600px){.cover-content{width:calc(100vw - 2.4rem);margin-left:1.2rem;padding-left:1rem}.cover-links{gap:.5rem}.cover-links button{padding:.5rem .7rem}.player-head{gap:.5rem}.brand{font-size:.8rem}.end-review{min-height:420px;aspect-ratio:auto}.end-review-content{padding:1.2rem .8rem}.end-review-actions{gap:.6rem}.end-review-actions button{min-width:8rem;padding:.65rem .8rem}.catalog-head{gap:.8rem}.catalog-head .page-back{white-space:nowrap}.retry-ad-dialog{padding:1.4rem}.catalog-card{min-width:0}.account-code{letter-spacing:.12em}}
.games-page.playing-game{padding:1rem}.playing-game .catalog-head{margin:0 auto;padding-bottom:.6rem;min-height:3rem}.playing-game .catalog-head h1{font-size:1.7rem;margin:0}.playing-game .catalog-head .eyebrow,.playing-game>.catalog-intro{display:none}.playing-game .games-grid{margin:.6rem auto}.playing-game .library-game-host{height:calc(100dvh - 7.5rem);padding-top:3rem;min-height:16rem}.playing-game .library-game-host>.page-back{min-height:2.5rem;padding:.4rem .8rem}
.account-page [hidden]{display:none!important}.account-actions{display:flex;flex-wrap:wrap;gap:.7rem}.account-card .account-field input{display:block;width:100%;max-width:30rem;min-height:48px;margin:.4rem 0 1rem;padding:.75rem;color:var(--paper);background:#071610;border:1px solid var(--gold);border-radius:3px;font:1rem/1.5 system-ui,sans-serif;letter-spacing:normal;text-transform:none;box-sizing:border-box}.account-card button{min-height:44px;padding:.65rem 1rem}.account-field input:focus-visible{outline:2px solid var(--gold-light);outline-offset:2px}.account-page .catalog-head{flex-wrap:wrap}.account-page>.catalog-head>h1{width:100%}.account-card{overflow-wrap:anywhere}.account-status{white-space:pre-line}
.drawer .attribute span{color:#435648}.drawer .attribute img{filter:brightness(.72) saturate(1.1)}
.cover-art{background-image:url("/assets/story-ui/tang-hero-v2.jpg");filter:saturate(.85) contrast(1.02)}
.account-tabs{display:flex;gap:.7rem;margin-top:1rem}.account-tabs [aria-pressed=true]{color:#1b302a;background:var(--gold-light)}.account-page>.catalog-head{max-width:760px;gap:.5rem;padding:.5rem 0 1rem}.account-page>.catalog-head p{margin:.4rem 0}.account-page .account-content{margin:1.2rem auto}.account-card .account-field input{max-width:none}
