:root{--bg:#f6f7f5;--surface:#fff;--surface-soft:#f1f4f0;--ink:#14201f;--muted:#61706b;--line:#d8ded8;--red:#96342e;--teal:#28665b;--gold:#b77924;--blue:#315d87;--radius:8px;--control-h:44px;--control-h-sm:38px;--stage-pad:18px;--stage-gap:12px;--side-panel-w:248px;--shadow:0 18px 45px #1f2a271a;--font-sans:"Avenir Next", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-display:"Songti SC", "STSong", "Noto Serif CJK SC", serif;font-family:var(--font-sans);color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:0;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}#root{min-height:100vh}.game-shell{min-height:100vh;color:var(--ink);background:linear-gradient(135deg,#182321f5,#2e231bf0),repeating-linear-gradient(45deg,#ffffff09 0 1px,#0000 1px 18px);grid-template-rows:minmax(0,1fr) auto;display:grid}.game-dock{z-index:5;color:#fff8ea;background:linear-gradient(#11181700,#111817a8 24%,#111817f0);border-top:1px solid #ddc28b2e;justify-content:center;align-items:center;padding:7px 18px 12px;display:flex;position:relative}.brand-button,.top-nav-button,.icon-button,.voice-button,.chapter-card,.primary-action,.secondary-action,.tag,.board-cell,.choice-card,.album-grid button,.hand-card,.finale-film-card,.back-button{font:inherit;cursor:pointer;border:0}.brand-button{color:inherit;text-align:left;background:0 0;align-items:center;gap:10px;padding:0;display:inline-flex}.brand-button strong,.brand-button small{display:block}.brand-button strong{line-height:1}.brand-button small{color:#fff8eaa3;margin-top:4px;font-size:12px}.brand-mark,.icon-button,.back-button{width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--radius);flex:none;justify-content:center;align-items:center;display:inline-flex}.brand-mark{color:#fff7e7;background:linear-gradient(135deg, var(--red), var(--teal));box-shadow:inset 0 0 0 1px #ffffff29}.top-nav{background:#111817b3;border:1px solid #fff8ea1f;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:6px;display:inline-flex;box-shadow:0 16px 34px #00000038}.top-nav-button,.icon-button{min-height:var(--control-h-sm);color:#fff8eac2;border-radius:var(--radius);background:#fff8ea14;border:1px solid #fff8ea1a;justify-content:center;align-items:center;gap:7px;padding:8px 12px;display:inline-flex}.voice-button{width:var(--control-h-sm);height:var(--control-h-sm);color:#fff8ea;background:color-mix(in srgb, var(--scene-accent,var(--teal)), #111817ad 48%);border-radius:var(--radius);border:1px solid #fff8ea2e;flex:none;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 10px 22px #0000002e}.voice-button:hover,.voice-button.active{color:#fff8ea;background:color-mix(in srgb, var(--scene-accent,var(--red)), #fff 10%);border-color:#fff8ea57}.voice-button.muted{color:#fff8eab8;background:#1118175c}.voice-button:disabled{cursor:progress;opacity:.72}.top-nav-button:disabled{cursor:not-allowed;color:#fff8ea52;box-shadow:none;background:#fff8ea0a;border-color:#fff8ea0f}.top-nav-button.active,.icon-button.active,.top-nav-button:hover,.icon-button:hover{color:#fff8ea;background:#b7792438;border-color:#ddc28b57}.icon-button.fullscreen-suggested{color:#fff8ea;background:#96342e42;border-color:#ddc28b7a;animation:2s ease-in-out infinite dock-fullscreen-pulse;position:relative;box-shadow:0 0 0 1px #ddc28b3d,0 10px 20px #00000029}.icon-button.fullscreen-suggested:hover{background:#b7792447}.icon-button.fullscreen-suggested:after{content:"建议全屏";color:#fff8ea;letter-spacing:.08em;white-space:nowrap;pointer-events:none;background:#111817eb;border:1px solid #ddc28b47;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;line-height:1;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)}@keyframes dock-fullscreen-pulse{0%,to{transform:translateY(0);box-shadow:0 0 0 1px #ddc28b3d,0 10px 20px #00000029}50%{transform:translateY(-1px);box-shadow:0 0 0 1px #ddc28b66,0 0 0 8px #ddc28b00,0 14px 24px #0003}}.top-nav-button:disabled:hover{color:#fff8ea52;background:#fff8ea0a;border-color:#fff8ea0f}.progress-rail{background:#fff8ea1f;height:4px;position:absolute;bottom:0;left:28px;right:28px;overflow:hidden}.progress-rail span{background:linear-gradient(90deg, var(--red), var(--gold), var(--teal));height:100%;transition:width .24s;display:block}.game-stage{place-items:center;min-height:0;padding:12px 14px 6px;display:grid}.screen{border-radius:var(--radius);background:linear-gradient(135deg,#fff9edfa,#eff2e8fa),repeating-linear-gradient(0deg,#14201f0a 0 1px,#0000 1px 22px);border:1px solid #ddc28b42;width:min(100vw - 28px,177.778vh - 142.222px);min-width:980px;height:min(100vh - 80px,56.25vw - 15.75px);min-height:552px;animation:.22s ease-out both screen-in;position:relative;overflow:hidden;box-shadow:0 24px 80px #00000052}.mobile-orientation-hint{display:none}.eyebrow{color:var(--red);text-transform:uppercase;margin:0;font-size:12px;font-weight:900}h1,h2,p,blockquote{margin:0}h1{color:var(--ink);font-family:var(--font-display);font-size:clamp(34px,3.2vw,54px);line-height:1.04}h1 span{color:var(--teal);margin-top:8px;display:block}h2{color:var(--ink);font-size:24px;line-height:1.16}p,small{color:var(--muted)}.asset-slot{color:#fff9ec;background-image:linear-gradient(135deg, color-mix(in srgb, var(--accent), #111 20%), #121f1eb8), var(--asset-url), repeating-linear-gradient(45deg, #ffffff14 0 1px, transparent 1px 14px);border-radius:var(--radius);background-position:50%;background-size:cover;min-width:0;min-height:0;position:relative;overflow:hidden}.entry-visual,.board-map-art,.tile-art,.event-art,.role-portrait,.hand-card .asset-slot,.reward-card .asset-slot,.album-grid .asset-slot,.detail-card-art,.finale-film-card .asset-slot,.poster-preview,.stamp-preview{background-image:var(--asset-url);background-color:#efe3c9}.asset-slot:after{content:"";pointer-events:none;background:linear-gradient(#0000 0%,#0f181747 100%),repeating-linear-gradient(90deg,#ffffff0a 0 1px,#0000 1px 26px);position:absolute;inset:0}.entry-visual:after,.board-map-art:after,.tile-art:after,.event-art:after,.role-portrait:after,.hand-card .asset-slot:after,.reward-card .asset-slot:after,.album-grid .asset-slot:after,.detail-card-art:after,.finale-film-card .asset-slot:after,.poster-preview:after,.stamp-preview:after{background:linear-gradient(#fff9ed05,#0f18171a)}.primary-action,.secondary-action{min-height:var(--control-h);border-radius:var(--radius);white-space:nowrap;justify-content:center;align-items:center;gap:9px;padding:10px 16px;font-weight:900;display:inline-flex}.primary-action,.secondary-action,.top-nav-button,.icon-button,.chapter-card,.tag,.choice-card,.hand-card,.finale-film-card,.back-button,.board-cell{transition:transform .15s,border-color .18s,background-color .18s,box-shadow .18s}.primary-action:focus-visible,.secondary-action:focus-visible,.top-nav-button:focus-visible,.icon-button:focus-visible,.chapter-card:focus-visible,.tag:focus-visible,.choice-card:focus-visible,.hand-card:focus-visible,.finale-film-card:focus-visible,.back-button:focus-visible,.board-cell:focus-visible{outline:2px solid color-mix(in srgb, var(--gold), #fff 22%);outline-offset:2px}.primary-action{color:#fff8ea;background:linear-gradient(135deg, var(--red), #a75f22);box-shadow:0 12px 24px #96342e33}.secondary-action{color:var(--ink);border:1px solid var(--line);background:#ffffffb8}.primary-action:hover,.secondary-action:hover{transform:translateY(-1px)}.primary-action:active,.secondary-action:active,.top-nav-button:active,.icon-button:active,.board-cell:active,.chapter-card:active,.choice-card:active,.hand-card:active,.finale-film-card:active,.tag:active{transform:translateY(1px)scale(.99)}.back-button{width:var(--control-h-sm);height:var(--control-h-sm);color:var(--ink);background:#ffffffc7;border:1px solid #14201f1a}.entry-screen{isolation:isolate;color:#211a12;background:#130e0a;border-color:#dec48557;padding:0;display:block}.entry-screen:before{content:"";z-index:1;pointer-events:none;background:radial-gradient(circle at 84% 39%,#fffae447,#fffae400 28%),linear-gradient(90deg,#0b080547 0%,#0b080529 48%,#1a120a1a 100%),linear-gradient(#0000003d,#0000 17% 70%,#0000004d),#00000014;position:absolute;inset:0}.city-background-stack{z-index:0;background:#130e0a;position:absolute;inset:0;overflow:hidden}.city-background-layer{opacity:0;filter:saturate(.88)blur(8px);will-change:opacity, transform, filter;background-position:50%;background-repeat:no-repeat;background-size:cover;transition:opacity .68s,transform .92s cubic-bezier(.2,.78,.18,1),filter .68s;position:absolute;inset:0;transform:scale(1.018)}.city-background-layer.active{opacity:1;filter:saturate()blur();transform:scale(1)}.city-tianjin .city-background-layer.active{transform:scale(1.004)translate(-.2%)}.city-shanghai .city-background-layer.active{filter:saturate(1.04)contrast(1.02);transform:scale(1.006)translate(.2%)}.city-layer-future{background:radial-gradient(circle at 84% 38%,#e7cb9133,#e7cb9100 30%),radial-gradient(circle at 56% 60%,#fffae414,#fffae400 24%),linear-gradient(90deg,#020202f5,#0a0806eb 54%,#1a1610c7),repeating-linear-gradient(45deg,#fff8dc06 0 1px,#0000 1px 22px)}.city-future:before{background:radial-gradient(circle at 84% 40%,#fff8dc2e,#fff8dc00 30%),linear-gradient(90deg,#0000006b 0%,#0003 62%,#0000001f 100%),#0000002e}.entry-title-art{z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 6px #fff4cf47)drop-shadow(0 18px 22px #3d260e38);mix-blend-mode:multiply;opacity:.94;width:clamp(318px,30%,438px);height:auto;animation:.58s cubic-bezier(.17,.76,.22,1) both title-brush-in;position:absolute;top:clamp(34px,6.2%,58px);right:clamp(36px,5.4%,76px)}.city-future .entry-title-art{mix-blend-mode:normal;opacity:.88;filter:brightness(0)invert(91%)sepia(28%)saturate(482%)hue-rotate(350deg)brightness(102%)contrast(92%)drop-shadow(0 16px 24px #00000057)}.city-choice-panel{z-index:2;width:clamp(286px,24%,362px);font-family:"Kaiti SC", "KaiTi", "STKaiti", "BiauKai", var(--font-display);border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#fffaeba3,#fcf1d875);border:1px solid #543f222e;gap:11px;padding:12px;display:grid;position:absolute;top:clamp(190px,34%,238px);right:clamp(42px,6.4%,88px);box-shadow:0 18px 38px #1f160b24,inset 0 0 0 1px #ffffff47}.entry-copy{gap:10px;animation:.42s both city-copy-in;display:grid}.entry-copy .eyebrow{color:#7f5b19;letter-spacing:0}.entry-copy h1{color:#20170f;text-shadow:0 1px #fff9e699;font-size:42px}.entry-copy h1 span{color:#9e3129}.city-tianjin .entry-copy h1 span{color:#245f72}.city-shanghai .entry-copy h1 span{color:#0f6b70}.entry-copy p{color:#241d14bf;max-width:none;font-size:14px;font-weight:700;line-height:1.55}.chapter-cards{gap:8px;display:grid}.chapter-card{color:#21180f;border-radius:var(--radius);text-align:left;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffaeeb8;border:1px solid #362a191f;align-items:center;gap:12px;min-width:0;min-height:60px;padding:10px 12px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 24px #2a1d0d14}.chapter-card:before{content:"";background:#96342e33;border-radius:999px;flex:none;align-self:stretch;width:4px}.chapter-card svg{color:#96342e;flex:none}.chapter-card span{min-width:0}.chapter-card strong,.chapter-card small{display:block}.chapter-card strong{color:#20170f;text-overflow:ellipsis;white-space:normal;font-size:22px;font-weight:900;line-height:1.28;overflow:hidden}.chapter-card small{color:#261e129e;margin-top:4px;font-size:12px;font-weight:800;line-height:1.35}.chapter-card:hover{background:#fff8e8e6;border-color:#96342e52;transform:translateY(-1px);box-shadow:0 16px 30px #2b1c0a21}.chapter-card.active{background:#fff4e0f2;border-color:#96342e7a;box-shadow:0 15px 34px #96342e24,inset 0 0 0 1px #ffffff6b}.chapter-card.active:before{background:linear-gradient(#b83f35,#c18a2e)}.city-tianjin .chapter-card.active{border-color:#245f7275;box-shadow:0 15px 34px #245f7221,inset 0 0 0 1px #ffffff6b}.city-tianjin .chapter-card.active:before{background:linear-gradient(#245f72,#c18a2e)}.city-tianjin .chapter-card.active svg{color:#245f72}.city-shanghai .chapter-card.active{border-color:#0f6b7075;box-shadow:0 15px 34px #0f6b7024,inset 0 0 0 1px #ffffff6b}.city-shanghai .chapter-card.active:before{background:linear-gradient(#0f6b70,#c7963e)}.city-shanghai .chapter-card.active svg{color:#0f6b70}.city-future .chapter-card.active{background:#fff5ddeb;border-color:#b7792480;box-shadow:0 15px 34px #0003,inset 0 0 0 1px #fff6}.city-future .chapter-card.active:before{background:linear-gradient(#d2a04e,#6f7b76)}.city-future .chapter-card.active svg{color:#8c6a2d}.entry-actions{display:grid}.entry-hint{letter-spacing:.03em;color:#3c2c169e;border-radius:var(--radius);background:#fffaeb80;border:1px solid #543f2214;align-items:center;gap:6px;padding:7px 10px;font-size:11.5px;font-weight:700;line-height:1.4;display:flex}.entry-hint svg{color:#96342e80;flex-shrink:0}.entry-quick-tools{grid-template-columns:1fr 1fr;gap:8px;display:grid}.entry-tool-button{color:#2e231bd1;border-radius:var(--radius);letter-spacing:.04em;background:#fffaeb9e;border:1px solid #543f221f;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:36px;padding:7px 9px;font-size:12px;font-weight:900;line-height:1.2;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff3d}.entry-tool-button.primary{color:#fff8ea;background:linear-gradient(135deg,#96342ef0,#b77924e6);border-color:#fff8ea3d;animation:2s ease-in-out infinite entry-fullscreen-pulse;box-shadow:0 9px 18px #96342e29,0 0 0 1px #ddc28b3d}.entry-tool-button:hover{background:#fff8e8e0;border-color:#96342e47;transform:translateY(-1px)}.entry-tool-button.primary:hover{background:linear-gradient(135deg,#a63c33fa,#c68a2ef0)}@keyframes entry-fullscreen-pulse{0%,to{box-shadow:0 9px 18px #96342e29,0 0 #ddc28b7a}50%{box-shadow:0 12px 22px #96342e38,0 0 0 7px #ddc28b00}}.entry-coming-soon{gap:8px;display:grid}.coming-soon-btn{font-family:"Kaiti SC", "KaiTi", "STKaiti", "BiauKai", var(--font-display);letter-spacing:.04em;color:#fff8ead1;background:linear-gradient(135deg, color-mix(in srgb, var(--city-accent,#555) 72%, transparent), color-mix(in srgb, var(--city-accent,#555) 52%, transparent));border-radius:var(--radius);cursor:pointer;border:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:15px;font-weight:700;transition:transform .18s,box-shadow .18s,filter .18s;display:flex;box-shadow:0 6px 16px #00000029}.coming-soon-btn:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 8px 20px #00000038}.coming-soon-btn:active{transform:translateY(0)}.coming-soon-btn-label{text-align:left;flex:1}.coming-soon-btn-tag{letter-spacing:.08em;color:#ffffffe6;background:#00000038;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:10.5px;font-weight:800}.entry-demo-note{color:#21180f;border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffaeec7;border:1px solid #362a191f;gap:5px;min-height:74px;padding:10px 12px;display:grid;box-shadow:0 10px 24px #2a1d0d14}.entry-demo-note strong,.entry-demo-note span{display:block}.entry-demo-note strong{color:#96342e;font-size:14px;font-weight:900;line-height:1.2}.entry-demo-note span{color:#261e12b3;font-size:13px;font-weight:800;line-height:1.42}.city-tianjin .entry-demo-note strong{color:#245f72}.city-shanghai .entry-demo-note strong{color:#0f6b70}.entry-actions .primary-action{width:100%;min-height:46px;font-size:22px;font-family:"Kaiti SC", "KaiTi", "STKaiti", "BiauKai", var(--font-display);border:1px solid #fff8ea2e}.entry-actions .primary-action.unavailable,.entry-actions .primary-action:disabled{cursor:not-allowed;color:#fff8ead6;background:linear-gradient(135deg,#245f72e0,#68593bdb);box-shadow:0 12px 24px #245f7229}.entry-actions .primary-action:disabled:hover{transform:none}.entry-actions .primary-action.is-ready-pulse{animation:2s ease-in-out infinite entry-cta-pulse;position:relative}@keyframes entry-cta-pulse{0%,to{box-shadow:0 0 #ddc28b8c,0 0 0 1px #ddc28b66,0 14px 30px #ddc28b40}50%{box-shadow:0 0 0 10px #ddc28b00,0 0 0 3px #ddc28ba6,0 14px 36px #ddc28b73}}.entry-cta-hint{cursor:pointer;flex-direction:column;align-items:center;margin-top:14px;animation:.6s cubic-bezier(.22,1,.36,1) both entry-cta-hint-in;display:flex;position:relative}@keyframes entry-cta-hint-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.entry-cta-hint-arrow{color:#ddc28b;filter:drop-shadow(0 -2px 4px #ddc28b66);margin-bottom:-2px;animation:1.6s ease-in-out infinite entry-cta-hint-bob}.entry-cta-hint-bubble{background:linear-gradient(135deg,#2e231bf2,#1f2a27f2);border:1px solid #ddc28b80;border-radius:999px;align-items:center;gap:10px;padding:8px 18px;animation:1.6s ease-in-out infinite entry-cta-hint-bob;display:inline-flex;box-shadow:0 0 0 1px #f5efe20d,0 8px 20px #00000059,0 0 24px #ddc28b40}@keyframes entry-cta-hint-bob{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.entry-cta-hint-text{letter-spacing:.12em;color:#f5efe2;white-space:nowrap;font-size:13px;font-weight:600}.entry-cta-hint-close{color:#f5efe280;background:#f5efe214;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:16px;line-height:1;display:inline-flex}.entry-cta-hint:hover .entry-cta-hint-close{color:#f5efe2;background:#f5efe22e}.entry-actions.is-guiding{position:relative}.entry-actions.is-guiding:after{content:"";opacity:0;pointer-events:none;background:#ddc28b99;border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out .4s infinite entry-cta-dots;position:absolute;bottom:-28px;left:50%;box-shadow:-14px 0 #ddc28b4d,14px 0 #ddc28b4d}@keyframes entry-cta-dots{0%,to{opacity:0;transform:translate(-50%)translateY(-4px)}50%{opacity:1;transform:translate(-50%)translateY(0)}}.beijing-intro-video-overlay{z-index:80;color:#fff7e4;background:#080605;place-items:center;padding:0;display:grid;position:fixed;inset:0}.intro-video-stage{z-index:1;width:100%;height:100%;position:relative}.intro-video-frame{background:#0c0906;width:100%;height:100%;position:relative;overflow:hidden}.intro-video-frame video{object-fit:cover;width:100%;height:100%;display:block}.intro-video-loading{color:#fff7e2db;background:#090705d1;place-items:center;gap:12px;font-weight:900;display:grid;position:absolute;inset:0}.ghost-action,.secondary-action{color:#fff7e4;border-radius:var(--radius);background:#fff7e214;border:1px solid #fff1c838;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-weight:900;display:inline-flex}.secondary-action{background:#e2a4562e}.ghost-action:hover,.secondary-action:hover{background:#fff7e224;border-color:#fff1c866;transform:translateY(-1px)}.secondary-action:disabled{cursor:wait;opacity:.6;transform:none}@media (width<=980px){.intro-video-frame video{object-fit:cover}}.city-release-note{color:#221b12b8;background:#fffaeb9e;border:1px solid #4634191f;border-radius:999px;justify-content:center;align-items:center;min-height:28px;margin:0;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.city-release-note.pending{color:#245f72}.screen-title{gap:6px;display:grid}.board-screen{grid-template-columns:minmax(0, 1fr) var(--side-panel-w);gap:var(--stage-gap);padding:var(--stage-pad);grid-template-rows:44px minmax(0,1fr) 92px;display:grid}.board-title{grid-column:1/-1;justify-content:space-between;align-items:end;gap:14px;display:flex}.board-title h1{letter-spacing:0;font-size:30px}.board-title-tools{align-items:center;gap:9px;min-width:0;display:inline-flex}.board-layout-meta{color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);white-space:nowrap;background:#ffffff94;align-items:center;gap:6px;padding:6px;font-size:11px;font-weight:900;display:inline-flex}.board-layout-meta span{background:var(--surface-soft);border-radius:999px;align-items:center;min-height:24px;padding:0 8px;display:inline-flex}.route-timeline{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffa8;gap:7px;padding:7px;display:flex}.route-timeline span{width:26px;height:26px;color:var(--muted);background:var(--surface-soft);border-radius:50%;place-items:center;font-size:12px;font-weight:900;display:grid}.route-timeline span.active{color:#fff8ea;background:var(--red);animation:1.8s ease-in-out infinite soft-pulse}.route-timeline span.completed{color:#fff8ea;background:var(--teal)}.board-view{--board-tile-ratio:1.87 / 1;width:100%;aspect-ratio:var(--board-tile-ratio);border-radius:var(--radius);background:radial-gradient(circle,#fff8ea75,#0000 56%),linear-gradient(135deg,#fff9edc7,#e7ebded6),repeating-linear-gradient(45deg,#96342e0e 0 1px,#0000 1px 18px);border:1px solid #5c442a29;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(6,minmax(0,1fr));place-self:center;gap:5px;min-height:0;max-height:100%;padding:7px;display:grid;position:relative;container-type:size}.board-map-panel{z-index:0;pointer-events:none;border-radius:var(--radius);background:#fff8eab8;border:1px solid #5c442a2e;grid-area:2/2/span 6/span 4;min-height:0;padding:6px;box-shadow:inset 0 0 0 1px #fff8ea73,0 14px 32px #1f2a2721}.board-map-art{background-color:#eee3cb;background-position:50%;background-repeat:no-repeat;background-size:contain;border:1px solid #5c442a2e;width:100%;height:100%;position:relative;box-shadow:inset 0 0 0 1px #fff8ea4d}.board-cell{z-index:2;isolation:isolate;width:100%;min-width:0;height:100%;min-height:0;color:var(--ink);box-shadow:none;background:0 0;border:0;border-radius:14px;padding:0;display:block;position:relative;overflow:visible}.board-cell:before{content:"";z-index:0;pointer-events:none;opacity:0;filter:blur(1px);background:radial-gradient(#f4c96f6b,#f4c96f00 62%),linear-gradient(135deg,#b779242e,#28665b1a);border-radius:18px;transition:opacity .18s,transform .18s;position:absolute;inset:-6px}.board-cell:hover:before{opacity:.72;transform:scale(1.02)}.node-cell.active{z-index:12}.node-cell.active:before{opacity:1;filter:blur();background:radial-gradient(#fff1b7db,#ffcd6361 42%,#ffcd6300 72%),linear-gradient(135deg,#b7792461,#96342e38);border-radius:22px;animation:1.5s ease-in-out infinite tile-glow;inset:-10px;box-shadow:0 0 0 2px #fff8eaf5,0 0 0 5px #d9a13ead,0 0 22px #ffcd63bd,0 0 42px #96342e57}.node-cell.active .board-cell-image{filter:drop-shadow(0 0 8px #ffe79ce0)drop-shadow(0 10px 18px #1f2a2733)saturate(1.08);transform:scale(1.022)}.board-cell.occupied{z-index:14}.board-cell.occupied:before{opacity:1;background:radial-gradient(#fff8eaa3,#fff8ea00 48%),radial-gradient(#b7792470,#b7792400 66%)}.board-cell-image{z-index:1;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 6px 11px #1f2a2729);width:100%;height:100%;transition:filter .18s,transform .18s;display:block;position:relative}.board-cell:hover .board-cell-image,.board-cell:focus-visible .board-cell-image{filter:drop-shadow(0 8px 16px #1f2a272e)saturate(1.04);transform:translateY(-1px)scale(1.012)}.node-cell.completed .board-cell-image{filter:drop-shadow(0 0 9px #28665b38)drop-shadow(0 6px 11px #1f2a2724)}.board-walker{z-index:30;pointer-events:none;place-items:center;width:54px;height:58px;transition:left .3s cubic-bezier(.2,.8,.22,1),top .3s cubic-bezier(.2,.8,.22,1),transform .18s,opacity .16s;display:grid;position:absolute;transform:translate(-50%,-58%)}.board-walker.walking{transform:translate(-50%,-64%)}.walker-shadow{filter:blur(1px);background:radial-gradient(#14201f42,#14201f00 70%);border-radius:50%;grid-area:1/1;align-self:end;width:33px;height:12px;margin-bottom:4px}.walker-sprite{background-image:var(--player-down-url);width:32px;height:32px;image-rendering:pixelated;filter:drop-shadow(0 8px 10px #1f2a273d);transform-origin:bottom;background-position:0 0;background-repeat:no-repeat;background-size:128px 32px;grid-area:1/1;animation:none;transform:scale(1.72)}.board-walker.up .walker-sprite{background-image:var(--player-up-url)}.board-walker.down .walker-sprite{background-image:var(--player-down-url)}.board-walker.left .walker-sprite{background-image:var(--player-left-url)}.board-walker.right .walker-sprite{background-image:var(--player-right-url)}.board-walker.walking .walker-sprite{animation:.43s steps(4,end) infinite walker-step}.turn-panel{border-radius:var(--radius);background:linear-gradient(#fffaf0eb,#f8f4e9c7),repeating-linear-gradient(135deg,#96342e0a 0 1px,#0000 1px 16px);border:1px solid #5c442a29;align-content:start;gap:10px;min-height:0;padding:12px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff94,0 14px 30px #1f2a2714}.turn-intro{gap:5px;min-width:0;display:grid}.turn-panel h2{font-family:var(--font-display);font-size:27px;line-height:1.08}.turn-panel>.turn-intro>p:last-child{font-size:13px;line-height:1.45}.turn-role-card{aspect-ratio:800/319;border-radius:8px;min-width:0;margin:0;overflow:visible}.turn-role-card img{object-fit:contain;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 8px 14px #1f2a2729)saturate(1.04);width:100%;height:100%;display:block}.stamina-panel{background:linear-gradient(135deg,#ffffffb8,#fff7e8d1),repeating-linear-gradient(45deg,#28665b0a 0 1px,#0000 1px 12px);border:1px solid #b7792433;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:5px 9px;padding:8px 9px;display:grid;position:relative}.stamina-panel--pulse{animation:.76s cubic-bezier(.16,.78,.24,1) both stamina-panel-pop}.stamina-panel--pulse.positive{border-color:#b7792485;box-shadow:0 0 0 2px #ffe79c85,0 12px 24px #b7792424}.stamina-panel--pulse.negative{border-color:#96342e7a;box-shadow:0 0 0 2px #96342e1f,0 12px 24px #96342e1f}.stamina-feedback{z-index:2;color:#fff8ea;background:var(--teal);white-space:nowrap;border:1px solid #fff8ea7a;border-radius:999px;align-items:center;min-height:26px;padding:4px 9px;font-size:12px;font-weight:1000;animation:1.5s both stamina-feedback-float;display:inline-flex;position:absolute;top:-10px;right:8px;box-shadow:0 10px 20px #1f2a272e}.stamina-feedback.positive{background:linear-gradient(135deg, var(--gold), #7a5d22)}.stamina-feedback.negative{background:linear-gradient(135deg, var(--red), #7d2e2a)}.stamina-feedback.neutral{background:linear-gradient(135deg, var(--teal), #244c45)}.stamina-avatar{background:radial-gradient(circle at 50% 70%,#ffe79cd1,#ffe79c00 62%);border:1px solid #28665b1f;border-radius:8px;grid-row:1/span 2;place-items:center;width:42px;height:42px;display:grid;overflow:hidden}.stamina-avatar-sprite{background-image:var(--player-down-url);width:32px;height:32px;image-rendering:pixelated;transform-origin:bottom;filter:drop-shadow(0 5px 6px #1f2a273d);background-position:0 0;background-repeat:no-repeat;background-size:128px 32px;transform:scale(1.36)}.stamina-copy{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.stamina-copy span{color:var(--red);font-size:12px;font-weight:900}.stamina-copy strong{color:var(--ink);font-size:13px;line-height:1}.stamina-hearts{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:4px;min-width:0;display:grid}.stamina-hearts img{aspect-ratio:1;object-fit:contain;width:100%;max-width:24px;image-rendering:pixelated;filter:drop-shadow(0 3px 4px #1f2a271f);justify-self:center;display:block}.dice-strip{grid-template-columns:repeat(6,1fr);gap:5px;display:grid}.dice-strip span{height:29px;color:var(--teal);background:#ffffff9e;border:1px solid #28665b14;border-radius:8px;place-items:center;display:grid}.dice-strip span.active{color:#fff8ea;background:linear-gradient(135deg, var(--red), var(--gold));border-color:#fff8ea66;box-shadow:0 8px 18px #b7792438}.turn-dice-result{min-height:34px;color:var(--ink);background:#fff8eac2;border:1px solid #b779242e;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;display:flex}.turn-dice-result strong,.turn-dice-result span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.turn-dice-result strong{color:var(--red);font-size:15px;font-weight:1000}.turn-dice-result span{color:var(--muted);font-size:11px;font-weight:900}.turn-flow{background:#ffffff9e;border:1px solid #14201f14;border-radius:8px;gap:5px;padding:7px;display:grid}.turn-flow-note{background:#ffffffb8;border:1px solid #14201f0f;border-radius:8px;gap:2px;padding:6px 7px;display:grid}.turn-flow-note strong{color:var(--ink);font-size:11px;line-height:1.3}.turn-flow-note small{color:var(--muted);font-size:10px;font-weight:700;line-height:1.35}.turn-flow-item{background:var(--surface-soft);border-radius:8px;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:6px;min-width:0;min-height:31px;padding:5px 7px;display:grid}.turn-flow-item strong,.turn-flow-item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.turn-flow-item strong{color:var(--ink);font-size:11px}.turn-flow-item small{color:var(--muted);font-size:10px;font-weight:800}.turn-note{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.card-hand{scrollbar-width:thin;background:#151f1ee6;border-radius:8px;grid-column:1/-1;gap:8px;min-height:0;padding:8px 9px;display:flex;overflow:auto hidden}.card-hand.compact{background:0 0;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:0;display:grid;overflow:hidden}.hand-card{color:#fff8eaad;text-align:left;background:#fff8ea14;border:1px solid #fff8ea14;border-radius:8px;flex:0 0 clamp(148px,12vw,210px);grid-template-columns:43px 1fr;align-items:center;gap:9px;min-width:0;padding:6px 7px;display:grid}.card-hand.compact .hand-card{flex:initial;color:var(--ink);background:#ffffffad;grid-template-columns:1fr;gap:4px;padding:5px}.hand-card .asset-slot{aspect-ratio:2/3;border-radius:6px;place-items:center;width:43px;display:grid;transform:rotate(-1deg);box-shadow:0 8px 14px #00000024}.game-card-art{background-image:var(--asset-url);background-color:#0000;background-position:50%;background-repeat:no-repeat;background-size:contain}.game-card-art:after{background:0 0}.card-hand.compact .hand-card .asset-slot{width:100%;max-height:72px;transform:none}.hand-card .asset-slot>svg,.reward-card .asset-slot>svg,.album-grid .asset-slot>svg,.detail-card-art>svg{z-index:1;position:relative}.hand-card span{min-width:0;color:inherit;gap:2px;display:grid}.hand-card span strong,.hand-card span small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hand-card span strong{font-size:13px}.hand-card span small{color:#fff8ea94;font-size:11px;font-weight:700}.card-hand.compact .hand-card span small{display:none}.card-hand.compact .hand-card span strong{color:var(--ink);font-size:11px}.hand-card.earned{color:#fff8ea;border-color:color-mix(in srgb, var(--card-color), #fff 36%);background:color-mix(in srgb, var(--card-color), #fff8ea1f 66%)}.event-screen{grid-template-columns:minmax(0, 1fr) var(--side-panel-w);gap:var(--stage-gap);padding:var(--stage-pad);display:grid}.screen-backdrop{border-radius:0;position:absolute;inset:0}.screen-backdrop:after{background:linear-gradient(90deg,#fff9ed38,#fff9edb3),#fff9ed38}.event-card,.theater-card,.mission-card,.album-board,.storybook,.event-side-panel,.choice-panel,.reward-panel,.card-detail{z-index:1;background:#fff9ede6;border:1px solid #14201f1f;border-radius:8px;position:relative;box-shadow:0 18px 42px #1f2a2724}.photo-event-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-columns:minmax(0,1fr) minmax(240px,.5fr);gap:14px;padding:18px;display:grid}.event-copy{gap:8px;display:grid}.event-copy h1{font-size:clamp(32px,3vw,48px)}.photo-event-card .back-button{position:absolute;top:18px;left:18px}.photo-event-card .event-copy{grid-column:1;padding-left:54px}.landmark-preview{grid-area:1/2/span 3;min-height:0}.landmark-pin{z-index:1;color:#fff8ea;background:var(--red);border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:14px;right:14px}.upload-panel{min-height:0;color:var(--ink);text-align:center;cursor:pointer;background:linear-gradient(135deg,#ffffffb8,#f1f4f0c2),repeating-linear-gradient(45deg,#28665b14 0 1px,#0000 1px 14px);border:1px dashed #28665b80;border-radius:8px;grid-column:1;place-items:center;gap:8px;padding:18px;display:grid}.upload-panel span{font-weight:900}.upload-panel input{display:none}.element-panel{background:#ffffffa3;border-radius:8px;grid-column:1/-1;gap:10px;padding:12px;display:grid}.element-panel>div:first-child{align-items:center;gap:8px;display:inline-flex}.tag-grid{flex-wrap:wrap;gap:8px;display:flex}.tag{min-height:var(--control-h-sm);color:var(--ink);background:var(--surface-soft);border-radius:var(--radius);border:1px solid #0000;padding:8px 12px;font-weight:800}.tag.selected{color:#fff8ea;background:var(--teal)}.event-side-panel,.choice-panel,.reward-panel,.card-detail{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);align-content:start;gap:12px;padding:15px;display:grid}.mini-card-stack{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.mini-card-stack span{color:var(--ink);background:var(--surface-soft);border-radius:8px;padding:10px;font-weight:800}.theater-card{color:var(--ink);grid-template-columns:minmax(190px,.36fr) minmax(0,1fr) 112px;align-items:stretch;gap:16px;padding:18px;display:grid}.theater-card .back-button{position:absolute;top:18px;left:18px}.role-portrait{align-items:end;min-height:0;padding:14px;display:flex}.role-portrait span{z-index:1;color:var(--ink);background:#fff8eadb;border-radius:8px;padding:7px 10px;font-weight:900;position:relative}.dialogue-panel{background:#fff8ed;border:1px solid #b779243d;border-radius:8px;align-content:center;gap:10px;padding:16px;display:grid}.dialogue-panel h1{font-size:38px}blockquote{color:var(--ink);font-size:21px;font-weight:900;line-height:1.42}.dialogue-panel strong{color:var(--red)}.dice-result{color:#fff8ea;background:linear-gradient(180deg, color-mix(in srgb, var(--accent), #000 4%), #1c302e);border-radius:8px;align-content:center;place-items:center;gap:8px;display:grid}.choice-panel{background:#182321eb}.choice-panel .eyebrow{color:#f0c36f}.choice-card{color:#fff8ea;text-align:left;background:#fff8ea17;border:1px solid #fff8ea1f;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:62px;padding:12px;display:flex}.choice-card.selected{background:#b7792447;border-color:#f0c36f7a}.reply-card{color:#fff8eadb;background:#fff8ea14;border-radius:8px;grid-template-columns:22px 1fr;gap:8px;padding:12px;display:grid}.reply-card svg{color:#f0c36f}.reply-card p{color:inherit;font-size:13px}.scene-photo-screen,.scene-theater-screen{--scene-accent:var(--red);isolation:isolate;color:#fff8ea;background:#14201f}.scene-bg-image,.scene-bg-shade{pointer-events:none;position:absolute;inset:0}.scene-bg-image{z-index:-2;object-fit:cover;width:100%;height:100%;transform:scale(1.012)}.scene-bg-shade{z-index:-1;background:radial-gradient(circle at 54% 47%,#14201f05 0 34%,#14201f57 70%),linear-gradient(90deg,#14201fb3,#14201f1a 37%,#14201f94),linear-gradient(#14201f8a,#14201f0a 44%,#14201fa8)}.scene-bg-shade.theater{background:radial-gradient(circle at 43% 46%,#14201f00 0 30%,#14201f52 68%),linear-gradient(90deg,#14201fa8,#14201f1f 46%,#14201fbd),linear-gradient(#14201f8f,#14201f14 48%,#14201f99)}.scene-bg-shade.mission{background:radial-gradient(circle at 52% 44%,#14201f0f 0 35%,#14201f4d 70%),linear-gradient(90deg,#14201f9e,#14201f14 42%,#14201fa8),linear-gradient(#14201f8f,#14201f0f 48%,#14201fa8)}.scene-page-header{z-index:4;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:12px;display:grid;position:absolute;top:18px;left:20px;right:20px}.scene-page-header.compact{width:min(620px,100% - 40px);right:auto}.scene-back-button{color:#fff8ea;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#14201f94;border:1px solid #fff8ea2e}.scene-page-header>div{color:#fff8ea;text-shadow:0 3px 20px #000000a8;min-width:0;padding:0}.scene-page-header .eyebrow{color:#f0c36f}.scene-page-header h1{color:#fff8ea;text-overflow:ellipsis;white-space:nowrap;font-size:44px;line-height:1;overflow:hidden}.scene-page-header p:last-child{color:#fff8eac7;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.scene-photo-main{z-index:1;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(240px,.55fr) minmax(440px,.9fr) minmax(128px,.25fr);align-items:end;gap:16px;height:100%;padding:88px 38px 30px;display:grid;position:relative}.scene-mission-main{z-index:1;grid-template-columns:minmax(250px,.52fr) minmax(520px,1fr) minmax(260px,.36fr);align-items:end;gap:16px;height:100%;padding:96px 28px 28px;display:grid;position:relative}.scene-story-copy{border-left:4px solid color-mix(in srgb, var(--scene-accent), #fff 18%);text-shadow:0 2px 18px #0000008a;align-self:end;gap:10px;max-width:390px;padding:16px 0 18px 16px;display:grid}.scene-story-copy .eyebrow{color:#f4cf8c}.scene-story-copy h2{color:#fff8ea;font-family:var(--font-display);font-size:32px;line-height:1.12}.scene-story-copy p:last-child{color:#fff8eae6;font-size:14px;font-weight:800;line-height:1.68}.scene-mission-main .scene-story-copy{align-self:center}.mission-intro h2{font-size:30px;line-height:1.26}.scene-mission-scroll,.scene-reward-rack{min-height:0;color:var(--ink);-webkit-backdrop-filter:blur(16px)saturate(1.12);backdrop-filter:blur(16px)saturate(1.12);background:linear-gradient(135deg,#fff9edf5,#f4efe2e0),#fff9eda3;border:1px solid #fff8ea94;border-radius:8px;box-shadow:0 28px 70px #00000047}.scene-mission-scroll{background:linear-gradient(90deg,#9757320a 0 1px,#0000 1px 28px),linear-gradient(135deg,#fff9edfa,#f6f1e6f5);border:1px solid #8b6b4e38;grid-template-rows:auto auto minmax(140px,1fr) auto;align-self:center;gap:12px;min-height:480px;padding:24px;display:grid}.scene-mission-scroll:before,.scene-mission-scroll:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#8b6b4e2e,#0000);height:1px;position:absolute;left:20px;right:20px}.scene-mission-scroll:before{top:0}.scene-mission-scroll:after{bottom:0}.scene-mission-scroll-header{border-bottom:1px dashed #8b6b4e33;gap:4px;padding-bottom:12px;display:grid}.scene-mission-scroll-header h2{color:var(--ink);font-family:var(--font-display);font-size:28px;line-height:1.1}.scene-task-cards{grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:12px;display:grid}.task-card{background:#ffffff9e;border:1px solid #b7792429;border-radius:8px;grid-template-rows:38px minmax(0,1fr);gap:8px;padding:12px;transition:transform .18s;display:grid;box-shadow:0 4px 12px #0000000a}.task-card:nth-child(2n){transform:translateY(4px)rotate(.5deg)}.task-card:nth-child(odd){transform:translateY(-2px)rotate(-.5deg)}.task-card-icon{color:#fff8ea;background:linear-gradient(135deg, var(--scene-accent), #463425);border-radius:6px;place-items:center;width:38px;height:38px;display:grid}.task-card-info{gap:4px;display:grid}.task-card-info strong{color:var(--ink);font-size:15px;font-weight:900}.task-card-info span{color:var(--muted);font-size:12px;font-weight:800;line-height:1.45}.task-card-info em{color:color-mix(in srgb, var(--scene-accent,var(--cinnabar)) 72%, var(--ink));font-size:10px;font-style:normal;font-weight:900;line-height:1.35}.scene-echo-note{grid-template-rows:auto minmax(0,1fr) auto;gap:8px;margin-top:4px;display:grid}.echo-note-header{color:var(--red);align-items:center;gap:8px;font-size:13px;font-weight:900;display:flex}.scene-echo-note textarea{resize:none;color:#2a322f;width:100%;min-height:120px;font-family:var(--font-display);background:linear-gradient(90deg,#9757320d 0 1px,#0000 1px 26px),#ffffffe0;border:1px solid #8b6b4e2e;border-radius:8px;outline:none;padding:16px;font-size:18px;font-weight:800;line-height:1.62;box-shadow:inset 0 2px 8px #0000000d}.scene-echo-note textarea::placeholder{color:#2a322f52}.scene-echo-note textarea:focus{border-color:var(--red);background:#fff;box-shadow:0 0 0 3px #96342e14}.echo-note-footer{color:var(--muted);text-align:right;font-size:11px;font-weight:800}.scene-complete-stamp{color:#fff8ea;background:linear-gradient(135deg, var(--red), #8b342e);letter-spacing:.02em;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:48px;margin-top:4px;padding:12px 24px;font-size:16px;font-weight:900;transition:all .18s;display:flex;box-shadow:0 8px 22px #8b342e47,inset 0 0 0 1px #fff8ea1f}.scene-complete-stamp:hover{background:linear-gradient(135deg,#a73c35,#96342e);transform:translateY(-2px);box-shadow:0 12px 28px #8b342e52}.scene-complete-stamp:active{transform:translateY(1px)}.scene-reward-rack{background:repeating-linear-gradient(45deg,#8b6b4e0a 0 1px,#0000 1px 18px),linear-gradient(135deg,#fff9edf0,#f2ecdeeb);align-content:start;align-self:center;gap:16px;padding:20px;display:grid}.rack-heading{border-bottom:1px solid #8b6b4e29;gap:4px;padding-bottom:12px;display:grid}.rack-heading h2{color:var(--ink);font-family:var(--font-display);font-size:24px;line-height:1.1}.rack-slots{gap:12px;display:grid}.rack-slots .reward-cards{flex-direction:column;gap:12px;display:flex}.rack-slots .reward-card{background:#ffffffad;border-color:#8b6b4e29;width:100%}.scene-upload-card{min-height:390px;color:var(--ink);-webkit-backdrop-filter:blur(16px)saturate(1.12);backdrop-filter:blur(16px)saturate(1.12);background:linear-gradient(135deg,#fff9ede6,#f4efe2c7),#fff9ed9e;border:1px solid #fff8ea94;border-radius:8px;grid-template-rows:auto minmax(172px,1fr) auto auto;align-self:center;gap:12px;padding:16px;display:grid;box-shadow:0 28px 70px #00000047}.scene-upload-card-title{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;display:grid}.scene-upload-card-title>span{color:#fff8ea;background:linear-gradient(135deg, var(--scene-accent), #1c302e);border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.scene-upload-card-title strong,.scene-upload-card-title small{display:block}.scene-upload-card-title strong{color:var(--ink);font-size:18px}.scene-upload-card-title small{color:var(--muted);margin-top:2px;font-size:12px;font-weight:800;line-height:1.45}.scene-upload-dropzone{min-height:0;color:var(--ink);border:1px dashed color-mix(in srgb, var(--scene-accent), #28665b 44%);text-align:center;cursor:pointer;background:linear-gradient(135deg,#fffc,#eef3edc7),repeating-linear-gradient(45deg,#28665b14 0 1px,#0000 1px 13px);border-radius:8px;align-content:center;place-items:center;gap:8px;padding:16px;display:grid}.scene-upload-dropzone svg{color:var(--scene-accent)}.scene-upload-dropzone strong{font-size:17px}.scene-upload-dropzone span{max-width:320px;color:var(--muted);font-size:12px;font-weight:800;line-height:1.55}.scene-upload-dropzone input{display:none}.scene-element-panel{gap:9px;display:grid}.scene-element-panel>div:first-child{color:var(--ink);align-items:center;gap:7px;font-weight:900;display:flex}.scene-tag-grid{flex-wrap:wrap;gap:8px;display:flex}.scene-tag-grid button,.scene-fallback-action,.scene-roll-action,.scene-choice-panel button{font:inherit;cursor:pointer;border:0}.scene-tag-grid button{min-height:34px;color:var(--ink);background:#ffffffb8;border:1px solid #14201f14;border-radius:8px;padding:7px 11px;font-size:13px;font-weight:900}.scene-tag-grid button.selected{color:#fff8ea;background:linear-gradient(135deg, var(--scene-accent), #1f4841);border-color:#fff8ea47}.scene-action-bar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.scene-fallback-action,.scene-roll-action{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-weight:900;display:inline-flex}.scene-fallback-action{color:color-mix(in srgb, var(--scene-accent), #14201f 42%);background:#ffffffad}.scene-roll-action{color:#fff8ea;background:linear-gradient(135deg, var(--scene-accent), var(--gold));box-shadow:0 12px 26px color-mix(in srgb, var(--scene-accent), #0003 72%)}.scene-theater-main{z-index:1;grid-template-columns:minmax(230px,.38fr) minmax(0,1fr) minmax(250px,.34fr);gap:16px;height:100%;padding:118px 28px 28px;display:grid;position:relative}.scene-visual-stack,.scene-role-card,.scene-dialogue-card,.scene-choice-panel{min-height:0}.scene-role-card,.scene-dialogue-card,.scene-choice-panel,.scene-evidence-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #fff8ea3d;border-radius:8px}.scene-visual-stack{grid-template-rows:minmax(0,1fr) auto;gap:12px;display:grid}.scene-role-card{background:#fff9edb8;margin:0;position:relative;overflow:hidden;box-shadow:0 22px 54px #00000038}.scene-role-card:after{content:"";pointer-events:none;background:linear-gradient(#14201f00,#14201fb8);position:absolute;inset:48% 0 0}.scene-role-card img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.scene-role-card figcaption{z-index:1;color:#fff8ea;border-left:4px solid color-mix(in srgb, var(--scene-accent), #fff 18%);text-shadow:0 2px 14px #0000009e;gap:3px;padding:0 0 0 12px;display:grid;position:absolute;bottom:18px;left:14px;right:14px}.scene-role-card strong{font-family:var(--font-display);font-size:28px;line-height:1.12}.scene-role-card span{color:#fff8eadb;font-size:13px;font-weight:800}.scene-evidence-card{color:#fff8ea;background:linear-gradient(135deg,#a33a2d47,#14201fb8),#14201fc7;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:12px;min-height:104px;padding:10px;display:grid;box-shadow:0 18px 38px #0000002e}.scene-evidence-mark{color:#f0c36f;background:radial-gradient(circle at 50% 42%,#f0c36f47,#0000 58%),#fff8ea1a;border:1px solid #fff8ea47;border-radius:8px;place-items:center;width:84px;height:84px;display:grid}.scene-evidence-card strong,.scene-evidence-card span{overflow-wrap:anywhere;display:block}.scene-evidence-card strong{font-family:var(--font-display);font-size:22px;line-height:1.1}.scene-evidence-card span{color:#fff8eac7;margin-top:5px;font-size:12px;font-weight:900}.scene-evidence-card.has-baked-art{min-height:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;aspect-ratio:1020/352;background:0 0;border:0;padding:0;display:block;overflow:visible}.scene-evidence-picture{width:100%;height:100%;display:block}.scene-evidence-baked-art{object-fit:contain;filter:drop-shadow(0 16px 26px #0003);width:100%;height:100%;display:block;transform:translateZ(0)}.scene-dialogue-card{color:var(--ink);background:linear-gradient(135deg,#fff9edeb,#f6efe0d6),#fff9edd1;grid-template-rows:auto auto minmax(0,1fr) auto;align-content:start;gap:12px;padding:20px;display:grid;box-shadow:0 22px 58px #0000002e}.scene-dialogue-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.scene-dialogue-head>div{min-width:0}.scene-dialogue-card .eyebrow{color:var(--scene-accent);text-transform:none}.scene-dialogue-card h2{color:var(--ink);font-family:var(--font-display);font-size:38px;line-height:1.1}.scene-dialogue-card small{color:var(--muted);font-size:13px;font-weight:900}.scene-context-copy{border-left:3px solid color-mix(in srgb, var(--scene-accent) 72%, transparent);background:linear-gradient(90deg,#ffffff6b,#fff0);gap:5px;padding:10px 12px;display:grid}.scene-context-copy span,.scene-voice-copy>span{color:var(--scene-accent);letter-spacing:.08em;font-size:11px;font-weight:950}.scene-context-copy p{color:#42534e;text-align:justify;margin:0;font-size:15px;font-weight:760;line-height:1.68}.scene-context-copy--impact{border-left-color:color-mix(in srgb, var(--scene-accent) 52%, #22312d);background:linear-gradient(90deg,#22312d14,#22312d00)}.scene-voice-copy{grid-template-rows:auto minmax(0,1fr);gap:5px;min-height:0;display:grid}.scene-typewriter-copy{color:#22312d;min-height:0;font-family:var(--font-display);text-align:justify;scrollbar-width:thin;padding-top:2px;font-size:19px;font-weight:800;line-height:1.62;overflow-y:auto}.scene-typewriter-copy p{margin:0 0 10px}.scene-typewriter-copy:after{content:"";vertical-align:-.12em;background:var(--scene-accent);width:8px;height:1.05em;margin-left:3px;animation:.82s step-end infinite cursor-blink;display:inline-block}.scene-choice-panel{scrollbar-width:thin;background:#14201fd1;align-content:start;gap:8px;padding:12px;display:grid;overflow:hidden auto}.scene-choice-panel .eyebrow{color:#f0c36f}.scene-director-note{color:#fff8ea;background:#fff8ea14;border:1px solid #f0c36f38;border-radius:8px;gap:4px;padding:10px 12px;display:grid}.scene-director-note strong{color:#f0c36f;font-family:var(--font-display);font-size:18px;line-height:1.1}.scene-director-note span{color:#fff8ead1;font-size:12px;font-weight:800;line-height:1.45}.scene-dice-badge{color:#fff8ea;isolation:isolate;background:linear-gradient(90deg,#f0c36f14 0 1px,#0000 1px 22px),radial-gradient(circle at 50% 24%,#f0c36f42,#0000 46%),linear-gradient(155deg,#96342e61,#14201fc2 54%,#28665b80);border:1px solid #f0c36f3d;border-radius:8px;grid-template-rows:minmax(118px,1fr) auto;align-items:center;gap:8px;min-height:198px;padding:10px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #fff8ea0d,0 16px 36px #0000002e}.scene-dice-badge:before,.scene-dice-badge:after{content:"";pointer-events:none;position:absolute}.scene-dice-badge:before{z-index:-1;border:1px solid #fff8ea1a;border-radius:6px;inset:9px}.scene-dice-badge:after{z-index:-1;background:linear-gradient(90deg,#0000,#f0c36f52,#0000);height:1px;top:50%;left:-18%;right:-18%;transform:rotate(-18deg)}.scene-dice-card-art{z-index:1;object-fit:contain;filter:drop-shadow(0 20px 28px #00000047)drop-shadow(0 0 18px #f0c36f1a);justify-self:center;width:min(100%,160px);max-height:150px;display:block;position:relative;transform:rotate(-1.5deg)}.scene-dice-text-card{z-index:1;color:#fff8ea;background:radial-gradient(circle at 50% 34%,#f0c36f33,#0000 58%),#fff8ea14;border:1px solid #fff8ea29;border-radius:8px;align-content:center;place-items:center;gap:8px;min-height:152px;padding:14px;display:grid;position:relative}.scene-dice-text-card svg{color:#f0c36f}.scene-dice-text-card span{color:#f0c36fe6;font-size:12px;font-weight:1000}.scene-dice-text-card strong{font-family:var(--font-display);font-size:34px;line-height:1}.scene-dice-count{color:#fff8ea;background:linear-gradient(135deg, var(--scene-accent), var(--gold));z-index:2;border:1px solid #fff8ea57;border-radius:999px;align-items:center;gap:5px;min-height:32px;padding:6px 9px;display:inline-flex;position:absolute;top:12px;right:12px;box-shadow:0 10px 20px #00000038}.scene-dice-count strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.scene-dice-note{z-index:1;color:#fff8eadb;background:#14201fb3;border:1px solid #f0c36f29;border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:7px;min-height:38px;padding:7px 9px;font-size:10.5px;font-weight:800;line-height:1.36;display:grid;position:relative}.scene-dice-note svg{color:#f0c36f;margin-top:1px}.scene-dice-note span{overflow-wrap:anywhere;min-width:0}.scene-choice-panel>button:not(.scene-roll-action){color:#fff8ea;text-align:left;background:#fff8ea1a;border:1px solid #fff8ea1f;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:50px;padding:9px 11px;font-weight:800;display:flex}.scene-choice-panel>button span{overflow-wrap:anywhere;min-width:0}.scene-choice-panel>button.selected:not(.scene-roll-action){background:#b779244d;border-color:#f0c36f70}.mission-card{grid-template-rows:auto auto auto auto minmax(104px,1fr) auto;gap:12px;padding:18px;display:grid}.mission-card .back-button{justify-self:start}.mission-card h1{max-width:1040px;font-size:clamp(27px,2.35vw,38px)}.task-slots{grid-template-columns:repeat(3,1fr);gap:10px;min-height:92px;display:grid}.task-slot{background:#fff8ed;border:1px solid #b7792433;border-radius:8px;align-content:start;gap:8px;padding:13px;display:grid}.task-slot svg{color:var(--teal)}.task-slot span{color:var(--muted);font-size:13px}.memory-box{gap:8px;font-weight:900;display:grid}.memory-box textarea{resize:none;width:100%;min-height:104px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px}.reward-cards{gap:10px;display:grid}.reward-card{color:var(--ink);border:1px solid color-mix(in srgb, var(--card-color), #fff 68%);background:#fff8ed;border-radius:8px;grid-template-columns:62px 1fr;align-items:center;gap:4px 10px;padding:10px;display:grid}.reward-card .asset-slot{aspect-ratio:2/3;grid-row:1/span 2;place-items:center;width:62px;display:grid}.reward-card small{color:var(--card-color);font-weight:800}.fullscreen-overlay{z-index:80;color:#fff8ea;isolation:isolate;background:radial-gradient(at 50% 54%,#fff8dd1f,#0000 42%),linear-gradient(135deg,#121c1af5,#2b2017f5);place-items:center;padding:18px;display:grid;position:fixed;inset:0;overflow:hidden}.overlay-paper-grain{z-index:-1;pointer-events:none;opacity:.72;mix-blend-mode:screen;background:repeating-linear-gradient(0deg,#fff8ea09 0 1px,#0000 1px 19px),repeating-linear-gradient(90deg,#ddc28b08 0 1px,#0000 1px 23px);position:absolute;inset:0}.overlay-city-lines{z-index:-1;pointer-events:none;opacity:.58;position:absolute;inset:7% 10%}.overlay-city-lines span{width:min(74vw,900px);height:1px;transform:translate(-50%, -50%) rotate(calc(var(--orbit-index,0) * 22.5deg));background:linear-gradient(90deg,#0000,#ddc28b6b,#0000);animation:2.4s ease-in-out infinite city-line-drift;position:absolute;top:50%;left:50%}.dice-reveal-overlay{perspective:1200px}.dice-reveal-overlay:before{content:"";z-index:-1;pointer-events:none;opacity:.52;background:radial-gradient(circle at 50% 49%,#f0c36f38,#0000 22%),linear-gradient(90deg,#0000 0 49.6%,#ddc28b2e 49.6% 50.4%,#0000 50.4%),linear-gradient(0deg,#0000 0 49.6%,#ddc28b1f 49.6% 50.4%,#0000 50.4%);animation:1.8s cubic-bezier(.16,.78,.24,1) both overlay-board-awaken;position:absolute;inset:0}.dice-reveal-stage,.node-effect-stage{border:1px solid #ddc28b52;border-radius:8px;width:min(1160px,100vw - 36px);height:min(640px,100vh - 36px);min-height:0;position:relative;box-shadow:0 30px 90px #00000061,inset 0 0 0 1px #fff8ea14}.dice-reveal-stage{background:linear-gradient(90deg,#fff8ea13 0 1px,#0000 1px 34px),linear-gradient(135deg,#742c2257,#19383394),#14201fbd;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(220px,.8fr) minmax(260px,1fr) minmax(250px,.88fr);align-items:center;gap:20px;padding:38px;display:grid;overflow:hidden}.dice-reveal-stage:before,.dice-reveal-stage:after{content:"";pointer-events:none;position:absolute}.dice-reveal-stage:before{border:1px solid #ddc28b33;border-radius:8px;inset:26px;box-shadow:inset 0 0 0 1px #fff8ea0a,0 0 0 1px #14201f29}.dice-reveal-stage:after{aspect-ratio:1;border:1px solid #ddc28b24;border-radius:50%;width:min(58vh,440px);animation:4.2s linear infinite dice-board-turn;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 34px #ddc28b06,0 0 0 68px #ddc28b05}.dice-sweep-light{z-index:2;pointer-events:none;filter:blur(2px);background:linear-gradient(90deg,#0000,#fff8ea2e,#f0c36f1a,#0000);width:30%;height:148%;animation:1.9s cubic-bezier(.18,.72,.22,1) .26s both dice-sweep-pass;position:absolute;top:-20%;left:-24%;transform:rotate(14deg)translate(-120%)}.dice-spark-field{z-index:1;pointer-events:none;position:absolute;inset:0}.dice-spark-field span{width:var(--spark-size,5px);height:var(--spark-size,5px);opacity:0;animation:1.85s cubic-bezier(.16,.78,.24,1) both spark-burst;animation-delay:calc(var(--spark-index) * 36ms + .52s);background:#f0c36f;border-radius:50%;position:absolute;top:50%;left:50%;box-shadow:0 0 12px #f0c36fa3,0 0 24px #96342e3d}.dice-spark-field span:first-child{--spark-size:4px;--spark-x:-44px;--spark-y:-24px;top:30%;left:42%}.dice-spark-field span:nth-child(2){--spark-size:6px;--spark-x:-14px;--spark-y:-42px;top:23%;left:48%}.dice-spark-field span:nth-child(3){--spark-size:4px;--spark-x:24px;--spark-y:-34px;top:28%;left:56%}.dice-spark-field span:nth-child(4){--spark-size:5px;--spark-x:45px;--spark-y:-18px;top:37%;left:62%}.dice-spark-field span:nth-child(5){--spark-size:3px;--spark-x:54px;--spark-y:4px;top:50%;left:66%}.dice-spark-field span:nth-child(6){--spark-size:6px;--spark-x:39px;--spark-y:31px;top:63%;left:60%}.dice-spark-field span:nth-child(7){--spark-size:4px;--spark-x:7px;--spark-y:46px;top:70%;left:51%}.dice-spark-field span:nth-child(8){--spark-size:5px;--spark-x:-27px;--spark-y:36px;top:66%;left:43%}.dice-spark-field span:nth-child(9){--spark-size:3px;--spark-x:-51px;--spark-y:12px;top:54%;left:36%}.dice-spark-field span:nth-child(10){--spark-size:5px;--spark-x:-48px;--spark-y:-12px;top:42%;left:36%}.dice-spark-field span:nth-child(11){--spark-size:3px;--spark-x:62px;--spark-y:-28px;top:35%;left:69%}.dice-spark-field span:nth-child(12){--spark-size:4px;--spark-x:64px;--spark-y:28px;top:60%;left:70%}.dice-spark-field span:nth-child(13){--spark-size:4px;--spark-x:-66px;--spark-y:-30px;top:34%;left:31%}.dice-spark-field span:nth-child(14){--spark-size:3px;--spark-x:-68px;--spark-y:28px;top:61%;left:30%}.dice-spark-field span:nth-child(15){--spark-size:3px;--spark-x:12px;--spark-y:-62px;top:16%;left:53%}.dice-spark-field span:nth-child(16){--spark-size:5px;--spark-x:15px;--spark-y:64px;top:79%;left:53%}.dice-spark-field span:nth-child(17){--spark-size:4px;--spark-x:78px;--spark-y:2px;top:50%;left:75%}.dice-spark-field span:nth-child(18){--spark-size:4px;--spark-x:-78px;--spark-y:-2px;top:49%;left:25%}.dice-reveal-copy{z-index:3;text-shadow:0 3px 18px #00000070;border-left:4px solid #c8953b;gap:12px;padding-left:14px;animation:.62s ease-out .18s both dice-copy-rise;display:grid;position:relative}.dice-reveal-copy .eyebrow,.dice-face-footer,.node-effect-kicker,.node-effect-scroll .eyebrow,.reward-heading .eyebrow{color:#f0c36f}.dice-reveal-copy h2{color:#fff8ea;font-family:var(--font-display);font-size:clamp(42px,5vw,72px);line-height:.98}.dice-reveal-copy p:last-child{color:#fff8ead1;max-width:360px;font-size:15px;font-weight:800;line-height:1.72}.dice-card-orbit{z-index:0;pointer-events:none;position:absolute;inset:0}.dice-card-orbit span{opacity:.22;width:58px;height:82px;transform:translate(-50%, -50%) rotate(calc(var(--orbit-index) * 60deg)) translateY(-215px) rotate(calc(var(--orbit-index) * -60deg));animation:2.2s cubic-bezier(.17,.76,.22,1) both orbit-card-flip;animation-delay:calc(var(--orbit-index) * 70ms);background:linear-gradient(#fff8eab8,#eadbb766),repeating-linear-gradient(135deg,#96342e14 0 1px,#0000 1px 13px);border:1px solid #ddc28b52;border-radius:6px;position:absolute;top:50%;left:50%;box-shadow:0 16px 34px #0000002e}.dice-reveal-center{z-index:3;align-self:stretch;place-items:center;display:grid;position:relative}.dice-roll-echoes{pointer-events:none;position:absolute;inset:0}.dice-roll-echoes span{opacity:0;width:48px;height:48px;transform:translate(-50%, -50%) rotate(calc(var(--echo-index) * 54deg - 126deg)) translateY(-82px) scale(.72);animation:1.34s cubic-bezier(.16,.78,.24,1) both dice-echo-sweep;animation-delay:calc(var(--echo-index) * .105s);background:radial-gradient(circle at 35% 34%,#96342e9e 0 6%,#0000 7%),radial-gradient(circle at 65% 64%,#96342e7a 0 6%,#0000 7%),linear-gradient(145deg,#fff9ed70,#c9954a29);border:1px solid #fff8ea47;border-radius:12px;position:absolute;top:50%;left:50%;box-shadow:0 10px 22px #0000002e}.dice-plinth{aspect-ratio:1;background:radial-gradient(circle at 50% 42%, #fff3c747, #b779241a 44%, transparent 66%), repeating-conic-gradient(from 0deg, #ddc28b1f 0 2deg, transparent 2deg 14deg);border:1px solid #ddc28b2e;border-radius:50%;place-items:center;width:min(320px,82%);animation:1.6s cubic-bezier(.16,.78,.24,1) both plinth-awaken;display:grid;position:relative;box-shadow:inset 0 0 0 1px #fff8ea14,0 0 34px #f0c36f1a}.dice-plinth-grid{pointer-events:none;background:repeating-conic-gradient(from 8deg, #f0c36f2e 0 2deg, transparent 2deg 17deg), radial-gradient(circle, transparent 0 46%, #ddc28b24 46% 47%, transparent 48%);border:1px solid #ddc28b33;border-radius:50%;animation:5.2s linear infinite plinth-grid-spin;position:absolute;inset:18%}.dice-impact-rings{pointer-events:none;position:absolute;inset:0}.dice-impact-rings span{aspect-ratio:1;opacity:0;border:1px solid #f0c36f94;border-radius:50%;width:36%;animation:1.18s cubic-bezier(.12,.7,.12,1) both impact-ring;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.55)}.dice-impact-rings span:nth-child(2){animation-delay:90ms}.dice-impact-rings span:nth-child(3){animation-delay:.18s}.dice-cube{z-index:1;aspect-ratio:1;transform-origin:50%;will-change:transform, opacity, filter;background:linear-gradient(145deg,#fff9ed,#dec393 58%,#a25037),repeating-linear-gradient(135deg,#96342e14 0 1px,#0000 1px 12px);border:1px solid #fff8ead6;border-radius:18px;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:13%;width:clamp(118px,15vw,176px);padding:16%;animation:1.76s cubic-bezier(.12,.82,.16,1) both dice-land;display:grid;position:relative;overflow:hidden;box-shadow:0 22px 44px #00000052,0 0 26px #f0c36f2e,inset -12px -14px 24px #642f2138,inset 10px 10px 18px #ffffff57}.dice-cube:before,.dice-cube:after{content:"";pointer-events:none;position:absolute}.dice-cube:before{z-index:0;background:linear-gradient(115deg,#0000 34%,#ffffff8c 47%,#0000 61%);animation:1.54s ease-out .62s both dice-face-shine;inset:-42%;transform:translate(-70%)rotate(8deg)}.dice-cube:after{border-radius:inherit;inset:0;box-shadow:inset 0 0 0 1px #fff8ea66,inset 0 -18px 26px #96342e29}.dice-cube>span{z-index:1;position:relative}.dice-cube span{aspect-ratio:1;background:radial-gradient(circle at 42% 38%,#53261f,#7c3029 68%,#351815);border-radius:50%;place-self:center;width:100%;animation:.62s cubic-bezier(.16,.78,.24,1) 1.16s both pip-pop;display:block;box-shadow:inset 0 2px 2px #fff8ea33,0 3px 8px #501f1947}.dice-cube[data-value="1"] span:first-child,.dice-cube[data-value="3"] span:nth-child(2),.dice-cube[data-value="5"] span:nth-child(5){grid-area:2/2}.dice-cube[data-value="2"] span:first-child,.dice-cube[data-value="3"] span:first-child,.dice-cube[data-value="4"] span:first-child,.dice-cube[data-value="5"] span:first-child,.dice-cube[data-value="6"] span:first-child{grid-area:1/1}.dice-cube[data-value="2"] span:nth-child(2),.dice-cube[data-value="3"] span:nth-child(3),.dice-cube[data-value="4"] span:nth-child(4),.dice-cube[data-value="5"] span:nth-child(4),.dice-cube[data-value="6"] span:nth-child(6){grid-area:3/3}.dice-cube[data-value="4"] span:nth-child(2),.dice-cube[data-value="5"] span:nth-child(2),.dice-cube[data-value="6"] span:nth-child(2){grid-area:1/3}.dice-cube[data-value="4"] span:nth-child(3),.dice-cube[data-value="5"] span:nth-child(3),.dice-cube[data-value="6"] span:nth-child(5){grid-area:3/1}.dice-cube[data-value="6"] span:nth-child(3){grid-area:2/1}.dice-cube[data-value="6"] span:nth-child(4){grid-area:2/3}.dice-shadow{filter:blur(6px);background:radial-gradient(#00000061,#0000 68%);border-radius:50%;width:48%;height:18%;animation:1.76s cubic-bezier(.14,.78,.2,1) both dice-shadow-land;position:absolute;bottom:18%;left:50%;transform:translate(-50%)}.dice-value-seal{z-index:2;color:#fff8ea;background:linear-gradient(135deg,#96342ef5,#792d27f5),repeating-linear-gradient(45deg,#fff8ea14 0 1px,#0000 1px 8px);border:2px solid #fff8eab8;border-radius:50%;grid-template-rows:20px 36px 16px;place-items:center;width:92px;height:92px;animation:.76s cubic-bezier(.14,.78,.2,1) 1.18s both seal-pop;display:grid;position:absolute;bottom:16%;right:13%;box-shadow:0 12px 28px #00000047}.dice-value-seal:before{content:"";border:1px solid #f0c36f80;border-radius:50%;animation:1.28s ease-out 1.25s both seal-ring-pulse;position:absolute;inset:-7px}.dice-value-seal strong{font-family:var(--font-display);font-size:44px;line-height:.82}.dice-value-seal span{font-size:12px;font-weight:1000}.dice-face-card{z-index:1;min-height:0;color:var(--ink);transform-origin:0;background:linear-gradient(#fff9edfa,#f0e4cdf0),repeating-linear-gradient(90deg,#96342e0a 0 1px,#0000 1px 22px);border:1px solid #ddc28b75;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;gap:18px;padding:22px;animation:1.12s cubic-bezier(.14,.78,.2,1) .76s both face-card-open;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 58px #0000003d}.dice-face-card.image-card{color:#fff8ea;width:min(250px,100%);height:250px;box-shadow:none;pointer-events:none;background:0 0;border:0;place-self:start end;padding:0;display:block;overflow:visible}.dice-face-card.text-card{align-content:center}.dice-face-card:before{content:"";background:linear-gradient(90deg, var(--red), var(--gold), var(--teal));height:5px;position:absolute;top:0;left:0;right:0}.dice-face-card.image-card:before,.dice-face-card.image-card:after{display:none}.dice-face-corner-label{z-index:3;color:#fff8eac7;letter-spacing:0;text-shadow:0 2px 12px #0000006b;font-size:12px;font-weight:1000;position:absolute;top:23px;right:112px}.dice-face-fan{z-index:0;clip-path:circle(100% at 100% 0);-webkit-backdrop-filter:blur(20px)saturate(1.1);backdrop-filter:blur(20px)saturate(1.1);background:radial-gradient(circle at 100% 0,#f0c36f33,#0000 54%),linear-gradient(135deg,#fff8ea24,#14201f80 62%,#28665b3d);border-bottom-left-radius:196px;width:196px;height:196px;position:absolute;top:0;right:0;box-shadow:-14px 18px 32px #00000024}.dice-face-card.image-card .dice-face-sheen{display:none}.dice-face-art-shell{z-index:2;transform-origin:50% 72%;background:0 0;border:0;border-radius:0;place-items:center;width:130px;height:182px;padding:0;display:grid;position:absolute;top:58px;right:24px;overflow:hidden;transform:rotate(-8deg)}.dice-face-art-shell:before{display:none}.dice-face-art{z-index:1;object-fit:contain;filter:drop-shadow(0 18px 24px #00000052)drop-shadow(0 0 16px #f0c36f1a);place-self:center;width:100%;min-height:0;max-height:100%;animation:.92s cubic-bezier(.16,.78,.24,1) .92s both dice-card-art-rise;display:block;position:relative}.dice-face-caption{z-index:1;color:#fff8ea;background:linear-gradient(135deg,#fff8ea29,#14201f66),#14201f5c;border:1px solid #f0c36f29;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:9px;min-height:60px;padding:10px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #fff8ea0a}.dice-face-caption p{color:#fff8ead1;overflow-wrap:anywhere;font-size:12px;font-weight:900;line-height:1.48}.dice-face-sheen{pointer-events:none;background:linear-gradient(110deg,#0000 42%,#ffffff57 49%,#0000 56%);animation:1.6s ease-out 1.18s both card-sheen-pass;position:absolute;inset:-40% -70%;transform:translate(-44%)rotate(4deg)}.dice-face-mark{color:#fff8ea;background:linear-gradient(135deg, var(--red), var(--teal));border:1px solid #fff8ea57;border-radius:8px;place-items:center;width:76px;height:76px;animation:.72s cubic-bezier(.16,.78,.24,1) 1.18s both face-mark-pop;display:grid;box-shadow:0 14px 28px #1f2a272e}.dice-face-mark.compact{width:34px;height:34px;box-shadow:none;border-radius:7px;animation-delay:1.32s}.dice-face-copy{align-content:center;gap:7px;min-height:0;display:grid}.dice-face-copy span{color:var(--red);font-size:12px;font-weight:1000}.dice-face-copy h3{color:var(--ink);font-family:var(--font-display);margin:0;font-size:clamp(36px,4vw,52px);line-height:1}.dice-face-copy p{color:#33433f;font-size:15px;font-weight:800;line-height:1.68}.dice-face-footer{border-top:1px dashed #8b6b4e47;align-items:center;gap:8px;min-height:34px;padding-top:12px;font-size:13px;font-weight:1000;animation:1.1s ease-out 1.52s both dice-footer-glow;display:inline-flex}.dice-face-card.image-card .dice-face-footer{color:#fff8eacc;background:linear-gradient(135deg,#fff8ea1f,#14201f57),#14201f47;border:1px solid #f0c36f24;border-radius:8px;padding:9px 10px}.dice-face-card.image-card .dice-face-footer svg{color:#f0c36f}.overlay-continue{z-index:2;color:#fff8ea;cursor:pointer;background:#14201fbd;border:1px solid #fff8ea38;border-radius:8px;justify-content:center;justify-self:end;align-items:center;gap:9px;min-height:46px;padding:11px 18px;font-weight:1000;display:inline-flex;position:relative;box-shadow:0 16px 34px #00000038}.dice-reveal-stage>.overlay-continue{grid-column:3;align-self:end}.overlay-continue.ready{background:linear-gradient(135deg, var(--red), var(--gold));border-color:#fff8ea5c;animation:1.1s ease-in-out infinite continue-ready}.overlay-continue:hover{transform:translateY(-1px)}.node-effect-overlay{--effect-accent:var(--red);--effect-accent-2:var(--teal)}.node-effect-overlay.aura-gold{--effect-accent:#b77924;--effect-accent-2:#28665b}.node-effect-overlay.aura-teal{--effect-accent:#28665b;--effect-accent-2:#b77924}.node-effect-overlay.aura-cinnabar{--effect-accent:#96342e;--effect-accent-2:#28665b}.node-effect-overlay.aura-ink{--effect-accent:#283936;--effect-accent-2:#b77924}.node-effect-overlay.aura-violet{--effect-accent:#72536a;--effect-accent-2:#b77924}.node-effect-ink{z-index:-1;pointer-events:none;opacity:.74;background:radial-gradient(ellipse at 22% 62%, color-mix(in srgb, var(--effect-accent), transparent 68%), transparent 34%), radial-gradient(ellipse at 80% 24%, color-mix(in srgb, var(--effect-accent-2), transparent 78%), transparent 30%);filter:saturate(.92);position:absolute;inset:0}.node-effect-stage{background:linear-gradient(90deg, #fff8ea0f 0 1px, transparent 1px 32px), linear-gradient(135deg, color-mix(in srgb, var(--effect-accent), #14201fdb 70%), #14201fe6);grid-template-columns:minmax(250px,.9fr) minmax(340px,1.18fr) minmax(270px,.9fr);gap:22px;width:min(1760px,96vw - 24px);height:clamp(700px,82vh,980px);max-height:calc(100vh - 28px);padding:28px;animation:.26s both effect-stage-in;display:grid;overflow:hidden}.node-effect-stage:before{content:"";pointer-events:none;border:1px solid #ddc28b33;border-radius:8px;position:absolute;inset:20px}.node-effect-visual,.node-effect-main,.node-effect-rewards{z-index:1;min-width:0;min-height:0;position:relative}.node-effect-visual{background:radial-gradient(at 50% 30%,#fff8ea2e,#0000 48%),#0f181770;border:1px solid #fff8ea33;border-radius:8px;grid-template-rows:minmax(0,1fr) auto;align-items:end;display:grid;overflow:hidden;box-shadow:0 22px 58px #00000038}.node-effect-role{object-fit:cover;object-position:center top;filter:saturate(1.04)drop-shadow(0 18px 30px #00000047);place-self:stretch center;width:100%;height:100%;min-height:0;animation:.72s cubic-bezier(.16,.78,.24,1) both role-reveal-in}.node-effect-role-card{aspect-ratio:800/319;filter:drop-shadow(0 16px 24px #00000047);margin:0;animation:.68s cubic-bezier(.16,.78,.24,1) .22s both role-card-slide-in;position:absolute;bottom:18px;left:16px;right:16px}.node-effect-role-card img{object-fit:contain;width:100%;height:100%;display:block}.node-effect-role-card figcaption{color:#fff8ea;background:#14201fc7;border:1px solid #fff8ea2e;border-radius:6px;padding:5px 10px;font-size:13px;font-weight:1000;position:absolute;bottom:4px;left:14px}.node-effect-main{grid-template-rows:auto minmax(0,1fr) auto;gap:16px;display:grid}.node-effect-kicker{background:#14201fa8;border:1px solid #f0c36f47;border-radius:999px;align-items:center;gap:10px;width:fit-content;max-width:100%;min-height:44px;padding:10px 16px;font-size:16px;font-weight:1000;display:inline-flex;box-shadow:0 12px 24px #00000029}.node-effect-kicker span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.node-effect-scroll{min-height:0;color:var(--ink);background:linear-gradient(90deg,#8b6b4e0f 0 1px,#0000 1px 28px),linear-gradient(#fff9edfa,#eee1c9f0);border:1px solid #fff8ea94;border-radius:8px;align-content:center;gap:18px;padding:clamp(30px,3vw,46px);animation:.56s cubic-bezier(.16,.78,.24,1) .12s both scroll-reveal-in;display:grid;box-shadow:0 24px 58px #0003}.node-effect-scroll .eyebrow{color:var(--effect-accent)}.node-effect-scroll h2{color:var(--ink);font-family:var(--font-display);font-size:clamp(44px,4.4vw,72px);line-height:1.04}.node-effect-scroll p{color:#2d3b38;overflow-wrap:anywhere;font-size:clamp(17px,1.1vw,21px);font-weight:800;line-height:1.78}.node-effect-dice-line{color:#fff8ea;background:linear-gradient(135deg, var(--effect-accent), color-mix(in srgb, var(--effect-accent-2), #14201f 34%));border-radius:8px;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:11px;margin-top:6px;padding:16px 18px;font-size:clamp(15px,.96vw,18px);font-weight:900;line-height:1.5;display:grid}.node-effect-ledger{color:var(--ink);background:linear-gradient(135deg,#fff9edeb,#ede7d5e0),#fff9edb8;border:1px solid #fff8ea6b;border-radius:8px;gap:10px;padding:14px;display:grid}.ledger-row,.ledger-total{background:#ffffff9e;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:9px 14px;font-size:15px;font-weight:900;display:flex}.ledger-total{color:#fff8ea;background:#14201fdb;min-height:52px}.ledger-row strong,.ledger-total strong{white-space:nowrap}.positive{color:#a06915}.negative{color:#96342e}.ledger-total .positive{color:#f3c96f}.ledger-total .negative{color:#ffb7a8}.node-effect-rewards{color:var(--ink);background:repeating-linear-gradient(135deg,#8b6b4e0b 0 1px,#0000 1px 18px),linear-gradient(#fff9edf5,#efe7d4eb);border:1px solid #fff8ea8f;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto auto;gap:16px;padding:24px;display:grid;box-shadow:0 24px 58px #0003}.reward-heading{border-bottom:1px dashed #8b6b4e3d;gap:6px;padding-bottom:14px;display:grid}.reward-heading .eyebrow{color:var(--effect-accent)}.reward-heading h3{color:var(--ink);font-family:var(--font-display);margin:0;font-size:clamp(36px,2.8vw,52px);line-height:1}.effect-card-list{scrollbar-width:thin;align-content:start;gap:12px;min-height:0;padding-right:6px;display:grid;overflow-y:auto}.effect-card-item{border:1px solid color-mix(in srgb, var(--card-color), #fff 66%);background:#ffffffa8;border-radius:8px;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:96px;padding:10px 12px;animation:.42s cubic-bezier(.16,.78,.24,1) both effect-card-in;display:grid;position:relative}.effect-card-item.owned{opacity:.76}.effect-card-item .asset-slot{aspect-ratio:2/3;place-items:center;width:68px;display:grid}.effect-card-item strong,.effect-card-item span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.effect-card-item strong{color:var(--ink);font-size:17px;font-weight:1000}.effect-card-item span{color:color-mix(in srgb, var(--card-color), #14201f 32%);margin-top:5px;font-size:13px;font-weight:900}.effect-card-item em{color:#fff8ea;background:linear-gradient(135deg, var(--card-color), color-mix(in srgb, var(--card-color), #14201f 44%));white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:4px;min-width:72px;min-height:36px;font-size:13px;font-style:normal;font-weight:1000;display:inline-flex}.effect-card-item.owned em{color:var(--muted);background:#14201f14}.effect-empty-reward{color:var(--muted);background:#ffffff9e;border:1px dashed #8b6b4e38;border-radius:8px;padding:14px;font-size:13px;font-weight:900;line-height:1.5}.node-effect-next{color:#fff8ea;background:#14201fd1;border:1px solid #fff8ea24;border-radius:8px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:12px;min-height:54px;padding:13px 16px;font-size:15px;font-weight:900;display:grid}.node-effect-next span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.node-effect-rewards .overlay-continue{justify-self:stretch;width:100%;min-height:62px;font-size:18px}.node-effect-stamp{z-index:2;color:#fff8eac2;opacity:.58;border:2px solid #fff8ea9e;border-radius:8px;place-items:center;width:90px;height:90px;animation:.62s cubic-bezier(.16,.78,.24,1) .46s both seal-pop;display:grid;position:absolute;top:34px;right:29%;transform:rotate(-9deg);box-shadow:inset 0 0 0 4px #96342e57}.node-effect-stamp span{font-family:var(--font-display);font-size:52px;font-weight:1000;line-height:1}.album-screen{background:linear-gradient(90deg, #fdf8ef 0%, #fdf8ef 65.8%, #111 66%, #282420 66.2%), var(--surface);grid-template-columns:minmax(0,1fr) minmax(320px,34%);min-height:0;overflow:hidden}.album-board.binder-left{min-height:0;box-shadow:none;background:radial-gradient(circle at 100%,#00000008 0%,#0000 15%),linear-gradient(90deg,#0000 96%,#0000000d 100%);border-right:1px solid #0000000d;grid-template-rows:auto minmax(0,1fr);gap:20px;padding:30px 40px;display:grid;overflow:hidden}.album-header{border-bottom:2px solid var(--red);justify-content:space-between;align-items:flex-end;padding-bottom:16px;display:flex}.album-header-main h1{margin-top:4px;font-size:42px}.album-header-main h1 span{color:#fff;background:var(--red);vertical-align:middle;border-radius:4px;margin-left:12px;padding:2px 10px;font-size:18px;display:inline}.album-stats{gap:24px;display:flex}.stat-item{text-align:right}.stat-item small{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:900;display:block}.stat-item strong{color:var(--ink);font-size:24px;font-family:var(--font-display)}.stat-item strong span{opacity:.5;font-size:14px}.archive-pages{overscroll-behavior:contain;scrollbar-width:thin;height:100%;min-height:0;padding-right:12px;overflow-y:auto}.archive-section{margin-bottom:32px}.archive-section:last-child{margin-bottom:72px}.archive-tag{background:linear-gradient(90deg, var(--card-color), transparent);color:#fff;clip-path:polygon(0% 0%,95% 0%,100% 50%,95% 100%,0% 100%);border-radius:4px 0 0 4px;justify-content:space-between;align-items:center;margin-bottom:14px;padding:6px 16px;display:flex}.tag-label{align-items:center;gap:10px;display:flex}.tag-dot{background:#fff;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #fffc}.tag-label strong{letter-spacing:.1em;font-size:16px}.tag-stats{padding-right:20px;font-size:12px;font-weight:900}.card-slots{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:16px;display:grid}.card-slot-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:8px;padding:0;transition:transform .2s;display:flex;position:relative}.card-slot-btn:hover{transform:translateY(-4px)}.card-mini-art{aspect-ratio:2/3;background:#eee3cb;border:1px solid #00000014;border-radius:6px;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000001f}.card-mini-art .game-card-art{background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:6px;place-items:center;width:100%;height:100%;min-height:0;display:grid;position:absolute;inset:0}.card-slot-btn.selected .card-mini-art{box-shadow:0 0 0 3px var(--gold), 0 12px 24px #0003}.card-slot-btn.locked-fog .card-mini-art{filter:grayscale(.8)contrast(.9)}.fog-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#555;background:#ffffff4d;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.card-slot-info{flex-direction:column;padding:0 2px;display:flex}.card-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:900;overflow:hidden}.card-status{color:var(--muted);font-size:11px;font-weight:700}.selection-glow{pointer-events:none;z-index:-1;background:radial-gradient(circle,#b7792426 0%,#0000 70%);position:absolute;inset:-8px}.display-stand{color:#fff9ed;background:#1a1816;flex-direction:column;padding:0;display:flex;overflow:hidden;box-shadow:-10px 0 30px #0006}.detail-visual-area{background:radial-gradient(circle at 50% 60%,#ddc28b26 0%,#0000 70%),linear-gradient(#2a2622 0%,#1a1816 100%);flex-direction:column;align-items:center;padding:40px 30px 20px;display:flex;position:relative}.detail-card-art{aspect-ratio:2/3;z-index:2;width:min(100%,220px);transform:rotateX(5deg);box-shadow:0 20px 40px #0009}.stand-base{z-index:1;background:linear-gradient(#3a342e 0%,#111 100%);border-radius:4px;width:260px;height:20px;margin-top:-10px;box-shadow:0 10px 20px #0006}.detail-lock-seal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--gold);background:#0006;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.detail-info-scroll{scrollbar-width:thin;flex-direction:column;flex:1;gap:24px;padding:24px 30px;display:flex;overflow-y:auto}.detail-title-block{text-align:center}.status-label{color:var(--gold);text-transform:uppercase;letter-spacing:.2em;margin-bottom:6px;font-size:11px;font-weight:900}.detail-title-block h2{color:#fff;font-size:36px;font-family:var(--font-display);margin-bottom:12px}.detail-meta-row{justify-content:center;align-items:center;gap:12px;display:flex}.meta-tag{color:var(--card-color);font-size:14px;font-weight:900}.meta-divider{background:var(--gold);border-radius:50%;width:4px;height:4px}.meta-theme{color:#fff9;font-size:14px}.info-block{background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;padding:16px}.info-block h3{color:var(--gold);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;font-size:12px}.info-block p{color:#ffffffd9;font-size:14px;line-height:1.6}.unlock-block{border-left:3px solid var(--gold)}.effect-block{background:color-mix(in srgb, var(--accent), transparent 90%);border-color:color-mix(in srgb, var(--accent), transparent 70%)}.effect-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.effect-header h3{color:#fff;margin-bottom:0}.effect-text{color:#fff;font-weight:800}.detail-footer{border-top:1px solid #ffffff1a;margin-top:auto;padding-top:20px}.quick-hand-label{color:var(--muted);text-align:center;margin-bottom:10px;font-size:11px}.finale-screen{background:#1a2523;padding:18px;display:grid}.finale-backdrop{filter:saturate(.98)contrast(1.04)}.finale-backdrop:after{background:radial-gradient(circle at 50% 42%,#fff9ed1a,#161e1d47 64%),linear-gradient(90deg,#18232147,#fff9ed33 38%,#18232157),#fff9ed14}.finale-intro-overlay{z-index:3;color:#fff8ea;background:#201812;place-items:center;display:grid;position:absolute;inset:0}.finale-cinematic-backdrop{background-image:var(--asset-url);filter:brightness(1.42)saturate(1.05)contrast(.98);background-position:50%;background-size:cover;border-radius:0;position:absolute;inset:0}.finale-cinematic-backdrop:after{background:radial-gradient(circle at 50% 48%,#fff8ea0a,#2f22171a 48%,#160f0b47 100%),linear-gradient(#fff8ea0f,#2218122e)}.finale-name-card,.finale-cinematic-copy{z-index:1;color:#fff8ea;text-align:center;justify-items:center;gap:14px;width:min(78%,560px);display:grid;position:relative}.finale-name-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#120f0c94;border:1px solid #fff8ea42;border-radius:8px;padding:38px 46px;animation:.62s ease-out both finale-title-in;box-shadow:0 26px 80px #0000005c}.finale-name-card p,.finale-cinematic-copy p,.finale-cinematic-copy small{color:#fff8eab8}.finale-name-card h2,.finale-cinematic-copy h2{color:#fff8ea;font-family:var(--font-display);font-size:clamp(36px,4.8vw,68px);line-height:1.04}.finale-name-card input{color:#fff8ea;width:min(100%,360px);min-height:48px;font-family:var(--font-display);text-align:center;background:#fff8ea14;border:1px solid #fff8ea47;border-radius:8px;padding:10px 14px;font-size:22px;font-weight:900}.finale-name-card input::placeholder{color:#fff8ea6b}.finale-name-card input:focus{outline-offset:2px;outline:2px solid #fff8ea99}.finale-name-card .primary-action{color:#121817;background:#fff8eaeb;min-width:152px;box-shadow:0 14px 34px #00000052}.finale-cinematic-copy{text-shadow:0 3px 24px #000000b8;gap:12px;width:min(86%,820px);max-width:820px}.finale-axis-cinematic{opacity:0;width:min(92%,690px);height:118px;margin-bottom:2px;animation:.68s ease-out .12s both axis-stage-in;position:relative}.axis-route-line,.axis-route-glow,.axis-route-sheen{border-radius:999px;height:3px;position:absolute;top:54%;left:7%;right:7%}.axis-route-line{background:#fff8ea38;box-shadow:0 0 18px #f0c36f2e}.axis-route-glow{transform-origin:0;background:linear-gradient(90deg,#96342e14,#f0c36ff5,#28665bc7);animation:3.3s cubic-bezier(.16,.82,.24,1) .52s both axis-route-grow;transform:scaleX(0);box-shadow:0 0 24px #f0c36f80}.axis-route-sheen{filter:blur(1px);opacity:0;background:linear-gradient(90deg,#0000,#fff8eaeb,#0000);width:88px;animation:3.3s ease-in-out .54s both axis-route-sheen;left:7%;right:auto}.axis-route-stop{left:var(--stop-left);z-index:2;opacity:0;animation:axis-stop-rise .52s var(--stop-delay) ease-out both;justify-items:center;gap:5px;display:grid;position:absolute;top:54%;transform:translate(-50%,-50%)scale(.78)}.axis-route-stop i{color:#fff8ea;width:34px;height:34px;font-family:var(--font-display);background:radial-gradient(circle at 32% 28%,#fff8ea4d,#0000 34%),linear-gradient(135deg,#96342eeb,#b77924d1);border:1px solid #fff8ea52;border-radius:50%;place-items:center;font-size:11px;font-style:normal;font-weight:900;line-height:1;display:grid;box-shadow:0 0 0 4px #96342e24,0 12px 26px #00000047}.axis-route-stop small{color:#fff8eab8;text-overflow:ellipsis;white-space:nowrap;width:78px;font-size:10px;font-weight:900;line-height:1.2;overflow:hidden}.axis-route-traveler{z-index:3;opacity:0;background:radial-gradient(circle at 35% 30%,#fff8ea 0 16%,#0000 17%),linear-gradient(135deg,#f0c36f,#96342e);border:2px solid #fff8eadb;border-radius:50%;width:20px;height:20px;animation:3.6s cubic-bezier(.18,.78,.24,1) .62s both axis-traveler-walk,.9s ease-out .62s 4 axis-traveler-pulse;position:absolute;top:calc(54% - 33px);left:8%;box-shadow:0 0 #f0c36f5c,0 10px 28px #00000057}.finale-cinematic-copy>span,.finale-cinematic-copy>strong,.finale-cinematic-copy>p,.finale-cinematic-copy>h2,.finale-cinematic-copy>small,.finale-cinematic-copy>button{opacity:0;animation:.76s ease-out both finale-line-in}.finale-cinematic-copy>span{color:#fff8eab3;letter-spacing:0;font-size:17px;font-weight:900}.finale-cinematic-copy>strong{color:#fffdf4;font-family:var(--font-display);font-size:clamp(46px,6vw,84px);line-height:.98;animation-delay:1.5s}.finale-cinematic-copy>p{animation-delay:2.1s}.finale-cinematic-copy>h2{animation-delay:2.56s}.finale-cinematic-copy>small{font-size:15px;font-weight:900;animation-delay:3.1s}.finale-cinematic-copy>button{color:#111817;background:#fff8eaf0;margin-top:10px;animation-delay:0s}.finale-archive{z-index:1;min-height:0;max-height:100%;color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#fff9eded,#eee5cce0),repeating-linear-gradient(0deg,#96342e09 0 1px,#0000 1px 23px);border:1px solid #74472838;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;padding:15px;animation:.68s ease-out both finale-page-reveal;display:grid;position:relative;overflow:hidden;box-shadow:0 22px 60px #0a111052}.finale-header{justify-content:space-between;align-items:end;gap:18px;min-height:0;display:flex}.finale-header h1{max-width:640px;font-family:var(--font-display);margin-top:4px;font-size:clamp(30px,3.2vw,42px);line-height:1.08}.finale-ledger{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:inline-flex}.finale-ledger span{color:#fff8ea;background:#182321d6;border:1px solid #fff8ea24;border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:6px 9px;font-size:12px;font-weight:900;display:inline-flex}.finale-grid{grid-template-columns:minmax(216px,.74fr) minmax(0,1.5fr) minmax(216px,.76fr);gap:12px;min-height:0;display:grid}.finale-route-panel,.finale-paper,.finale-card-panel{border:1px solid #53473429;border-radius:8px;min-height:0;box-shadow:0 14px 32px #1f2a271f}.finale-route-panel,.finale-card-panel{background:#fffcf2c7;gap:10px;padding:12px;display:grid;overflow:hidden}.finale-route-panel{grid-template-rows:auto minmax(0,1fr) auto}.finale-card-panel{grid-template-rows:auto minmax(0,1fr)}.finale-panel-heading{color:var(--red);align-items:center;gap:7px;font-size:13px;font-weight:900;display:inline-flex}.finale-route-stamps{scrollbar-width:thin;gap:8px;min-height:0;padding-right:2px;display:grid;overflow-y:auto}.finale-route-stamp{color:#14201f94;background:#ffffff80;border:1px dashed #14201f2e;border-radius:8px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:9px;min-height:62px;padding:8px;display:grid}.finale-route-stamp.done{color:var(--ink);background:linear-gradient(135deg, color-mix(in srgb, var(--node-color), #fff 82%), #ffffffc2);border-style:solid;border-color:color-mix(in srgb, var(--node-color), #fff 54%)}.finale-route-stamp i{color:#fff8ea;width:42px;height:42px;font-family:var(--font-display);background:#14201f57;border-radius:50%;place-items:center;font-size:12px;font-style:normal;font-weight:900;line-height:1;display:grid}.finale-route-stamp.done i{background:var(--node-color);box-shadow:inset 0 0 0 2px #fff8ea52}.finale-route-stamp span{gap:2px;min-width:0;display:grid}.finale-route-stamp strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.finale-route-stamp small{color:inherit;opacity:.72;font-size:11px;font-weight:800;line-height:1.35}.finale-memory-note{color:var(--red);border-left:4px solid var(--red);font-family:var(--font-display);background:#fff8eab8;border-radius:6px;padding:10px 11px;font-size:16px;font-weight:900;line-height:1.42}.finale-paper{background:linear-gradient(#96342e1f 0 3px,#2a528c1a 3px 6px,#0000 6px),linear-gradient(0deg,#96342e1f 0 3px,#2a528c1a 3px 6px,#0000 6px),repeating-linear-gradient(#0000 0 27px,#7864461a 27px 28px),linear-gradient(90deg,#96342e2e 0 1px,#96342e1a 1px 2px,#0000 2px),linear-gradient(#fffdf6f7,#f7eed8f2);border:1px solid #8b6e4638;border-radius:2px;grid-template-rows:auto minmax(0,1fr);gap:10px;padding:28px 32px 24px 36px;display:grid;position:relative;overflow:hidden;box-shadow:0 2px 8px #503c1e1a,0 14px 32px #1f2a271f,inset 0 0 60px #b4a0780f}.finale-paper:before,.finale-paper:after{content:"";pointer-events:none;position:absolute}.finale-paper:before{background:linear-gradient(90deg,#0000 49.6%,#00000005 49.6% 50.4%,#0000 50.4%),linear-gradient(#0000 49.6%,#00000004 49.6% 50.4%,#0000 50.4%);border:1px solid #8b6e461f;border-radius:1px;inset:14px}.finale-paper:after{opacity:.7;background:radial-gradient(circle,#0000 48%,#96342e24 49% 51%,#0000 52%),repeating-radial-gradient(circle,#0000 0 8px,#96342e0f 8px 9px);border:2px solid #96342e38;border-radius:50%;width:72px;height:72px;top:14px;right:20px}.paper-letterhead{z-index:1;border-bottom:1px solid #7864461a;justify-content:space-between;align-items:center;gap:12px;padding-bottom:6px;display:flex;position:relative}.letterhead-top{align-items:baseline;gap:8px;display:flex}.letterhead-to{color:var(--ink);font-family:var(--font-display);font-size:16px;font-weight:900}.letterhead-seal{color:#96342e66;font-size:13px}.letterhead-meta{color:#7864468f;letter-spacing:.02em;font-size:11px;font-weight:900}.letterhead-skip{min-height:26px;color:var(--ink);cursor:pointer;background:#b779241f;border:1px solid #b7792433;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:900}.letterhead-skip:hover{background:#b7792438}.typewriter-copy{z-index:1;scrollbar-width:thin;align-content:start;gap:9px;min-height:0;padding-right:5px;display:grid;position:relative;overflow-y:auto}.typewriter-copy p{color:#2a322f;font-family:var(--font-display);text-align:justify;font-size:clamp(15px,1.18vw,18px);font-weight:700;line-height:1.62}.typewriter-copy p.typing:after{content:"";vertical-align:-.14em;background:var(--red);width:8px;height:1.1em;margin-left:3px;animation:.82s step-end infinite cursor-blink;display:inline-block}.cinematic-truth-note{opacity:0;text-align:left;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#16120ead;border:1px solid #fff8ea29;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;max-width:min(100%,420px);padding:12px 14px;animation:.72s ease-out 3.54s both finale-line-in;display:grid}.cinematic-truth-note .truth-seal{color:#fff8eacc;background:linear-gradient(135deg,#96342eb8,#28665bb8);border-radius:6px;place-items:center;width:32px;height:32px;font-size:16px;font-style:normal;display:grid}.cinematic-truth-note .truth-body{gap:4px;display:grid}.cinematic-truth-note .truth-body strong{color:#f0c36feb;letter-spacing:.04em;font-size:12px}.cinematic-truth-note .truth-body p{color:#fff8eac7;font-size:13px;line-height:1.48}.finale-empty{color:var(--muted);font-size:12px;font-weight:800;line-height:1.45}.finale-card-film{scrollbar-width:thin;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));align-content:start;gap:10px 8px;min-width:0;min-height:0;padding:1px 3px 2px 1px;display:grid;overflow-y:auto}.finale-film-card{min-width:0;color:var(--ink);border:1px solid color-mix(in srgb, var(--card-color), #fff 68%);text-align:center;background:#ffffff85;border-radius:8px;grid-template-rows:minmax(0,1fr) auto;gap:6px;padding:5px;display:grid}.finale-film-card:hover{transform:translateY(-2px)}.finale-film-card .asset-slot{aspect-ratio:1000/1430;border:1px solid color-mix(in srgb, var(--card-color), #fff 52%);width:100%;min-height:0;box-shadow:0 9px 16px color-mix(in srgb, var(--card-color), transparent 78%);border-radius:6px}.finale-film-card.session-new{border-color:color-mix(in srgb, var(--card-color), #fff 40%);background:linear-gradient(160deg, color-mix(in srgb, var(--card-color), #ffffff94 60%), #ffffff85);box-shadow:0 0 0 1px color-mix(in srgb, var(--card-color), transparent 50%), 0 6px 18px color-mix(in srgb, var(--card-color), transparent 60%);position:relative}.finale-film-card.session-new:before{content:"本局新获";z-index:1;color:#5f2f1b;white-space:nowrap;pointer-events:none;background:#fff7daeb;border:1px solid #53271838;border-radius:999px;max-width:calc(100% - 10px);padding:2px 5px;font-size:8px;font-weight:950;line-height:1.15;position:absolute;top:5px;right:5px;box-shadow:0 5px 12px #53271829}.finale-film-card.session-new .asset-slot{border-color:color-mix(in srgb, var(--card-color), #fff 36%);box-shadow:inset 0 0 12px color-mix(in srgb, var(--card-color), transparent 80%), 0 6px 14px color-mix(in srgb, var(--card-color), transparent 75%)}.finale-film-card.session-new span{color:color-mix(in srgb, var(--card-color), var(--ink) 30%)}.finale-film-card span{color:var(--ink);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;font-weight:900;line-height:1.22;display:-webkit-box;overflow:hidden}.finale-actions{flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;padding-top:4px;display:flex}.finale-actions.ready{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.finale-actions .primary-action,.finale-actions .secondary-action{white-space:nowrap;text-overflow:ellipsis;min-height:40px;padding:9px 10px;font-size:13px;overflow:hidden}.finale-actions .secondary-action{color:var(--ink);background:#fff8eae0;border:1px solid #96342e38;box-shadow:0 2px 8px #1f2a2714}.finale-actions .secondary-action:hover{background:#fff4d8f5;border-color:#96342e61;box-shadow:0 4px 14px #1f2a271f}.finale-actions .secondary-action:active{background:#ffeec8eb;border-color:#96342e7a}.finale-actions .primary-action{box-shadow:0 4px 14px #96342e2e}.finale-writing-status{color:#fff8ea;background:#182321c7;border:1px solid #fff8ea1f;border-radius:999px;align-items:center;min-height:36px;padding:7px 11px;font-size:12px;font-weight:900;display:inline-flex}.share-toast{z-index:10;color:#fff8ea;white-space:nowrap;pointer-events:none;background:#182321e0;border:1px solid #fff8ea24;border-radius:999px;padding:8px 18px;font-size:12px;font-weight:900;animation:.3s ease-out both share-toast-in;position:absolute;top:12px;right:12px}@keyframes share-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.overlay-city-lines span:first-child{--orbit-index:0}.overlay-city-lines span:nth-child(2){--orbit-index:1}.overlay-city-lines span:nth-child(3){--orbit-index:2}.overlay-city-lines span:nth-child(4){--orbit-index:3}.overlay-city-lines span:nth-child(5){--orbit-index:4}.overlay-city-lines span:nth-child(6){--orbit-index:5}.overlay-city-lines span:nth-child(7){--orbit-index:6}.overlay-city-lines span:nth-child(8){--orbit-index:7}.dice-reveal-overlay.is-ready .dice-plinth{animation:1.6s cubic-bezier(.16,.78,.24,1) both plinth-awaken,2.2s ease-in-out 1.7s infinite plinth-breathe}.dice-reveal-overlay.is-ready .dice-face-card{box-shadow:0 24px 58px #0000003d,0 0 0 1px #f0c36f42,0 0 26px #f0c36f1a}.dice-reveal-overlay.is-ready .dice-face-card.image-card{box-shadow:none}@keyframes overlay-board-awaken{0%{opacity:0;transform:scale(.96)}to{opacity:.52;transform:scale(1)}}@keyframes stamina-panel-pop{0%{transform:scale(1)}26%{transform:scale(1.025)}to{transform:scale(1)}}@keyframes stamina-feedback-float{0%{opacity:0;transform:translateY(8px)scale(.92)}16%,76%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-7px)scale(.98)}}@keyframes city-line-drift{0%,to{opacity:.34;transform:translate(-50%, -50%) rotate(calc(var(--orbit-index,0) * 22.5deg)) scaleX(.92)}50%{opacity:.76;transform:translate(-50%, -50%) rotate(calc(var(--orbit-index,0) * 22.5deg)) scaleX(1.04)}}@keyframes dice-board-turn{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes dice-sweep-pass{0%{opacity:0;transform:rotate(14deg)translate(-130%)}18%{opacity:1}82%{opacity:.78}to{opacity:0;transform:rotate(14deg)translate(520%)}}@keyframes spark-burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}24%{opacity:.92}to{opacity:0;transform:translate(-50%, -50%) translate(var(--spark-x,0), var(--spark-y,0)) scale(1.05)}}@keyframes dice-copy-rise{0%{opacity:0;filter:blur(5px);transform:translateY(12px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes orbit-card-flip{0%{opacity:0;transform:translate(-50%, -50%) rotate(calc(var(--orbit-index) * 60deg)) translateY(-120px) rotateY(80deg) rotate(calc(var(--orbit-index) * -60deg))}46%{opacity:.38;filter:blur()}72%{opacity:.2;transform:translate(-50%, -50%) rotate(calc(var(--orbit-index) * 60deg + 16deg)) translateY(-225px) rotateY(18deg) rotate(calc(var(--orbit-index) * -60deg))}to{opacity:.22;transform:translate(-50%, -50%) rotate(calc(var(--orbit-index) * 60deg)) translateY(-215px) rotateY(0) rotate(calc(var(--orbit-index) * -60deg))}}@keyframes dice-echo-sweep{0%{opacity:0;transform:translate(-50%, -50%) rotate(calc(var(--echo-index) * 54deg - 156deg)) translateY(-132px) scale(.6);filter:blur(5px)}34%{opacity:.3;filter:blur(1px)}78%{opacity:.18}to{opacity:0;transform:translate(-50%, -50%) rotate(calc(var(--echo-index) * 54deg - 22deg)) translateY(-28px) scale(.98);filter:blur()}}@keyframes plinth-awaken{0%{opacity:0;filter:blur(8px);transform:scale(.88)rotate(-7deg)}56%{opacity:1;filter:blur();transform:scale(1.03)rotate(1deg)}to{opacity:1;filter:blur();transform:scale(1)rotate(0)}}@keyframes plinth-breathe{0%,to{box-shadow:inset 0 0 0 1px #fff8ea14,0 0 34px #f0c36f1a}50%{box-shadow:inset 0 0 0 1px #fff8ea29,0 0 48px #f0c36f2e}}@keyframes plinth-grid-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dice-land{0%{opacity:0;filter:blur(8px);transform:translate(-98px,-124px)rotateX(68deg)rotate(-92deg)scale(.66)}24%{opacity:1;filter:blur(3px);transform:translate(54px,-44px)rotateX(46deg)rotate(74deg)scale(.88)}46%{opacity:1;filter:blur();transform:translate(-16px,22px)rotateX(24deg)rotate(-23deg)scale(1.09)}68%{transform:translate(8px,-12px)rotateX(10deg)rotate(9deg)scale(.98)}84%{transform:translateY(5px)rotateX(3deg)rotate(-3deg)scale(1.015)}to{opacity:1;filter:blur();transform:translate(0)rotateX(0)rotate(0)scale(1)}}@keyframes dice-shadow-land{0%{opacity:0;transform:translate(-50%)scale(.5)}48%{opacity:.74;transform:translate(-50%)scale(1.14)}to{opacity:.64;transform:translate(-50%)scale(1)}}@keyframes impact-ring{0%{opacity:0;transform:translate(-50%,-50%)scale(.55)}28%{opacity:.72}to{opacity:0;transform:translate(-50%,-50%)scale(2.35)}}@keyframes dice-face-shine{0%{opacity:0;transform:translate(-70%)rotate(8deg)}28%{opacity:.95}to{opacity:0;transform:translate(92%)rotate(8deg)}}@keyframes pip-pop{0%{opacity:0;transform:scale(.35)}58%{opacity:1;transform:scale(1.16)}to{opacity:1;transform:scale(1)}}@keyframes seal-pop{0%{opacity:0;transform:scale(.72)rotate(-16deg)}to{opacity:1;transform:scale(1)rotate(-7deg)}}@keyframes seal-ring-pulse{0%{opacity:0;transform:scale(.65)}28%{opacity:.9}to{opacity:0;transform:scale(1.42)}}@keyframes face-card-open{0%{opacity:0;filter:blur(5px);transform:perspective(760px)rotateY(-32deg)translate(40px)translateY(10px)}62%{opacity:1;filter:blur();transform:perspective(760px)rotateY(4deg)translate(-5px)translateY(0)}to{opacity:1;filter:blur();transform:perspective(760px)rotateY(0)translate(0)}}@keyframes card-sheen-pass{0%{opacity:0;transform:translate(-44%)rotate(4deg)}22%{opacity:1}to{opacity:0;transform:translate(44%)rotate(4deg)}}@keyframes dice-card-art-rise{0%{opacity:0;filter:blur(4px)drop-shadow(0 12px 18px #1f2a272e);transform:translateY(18px)rotate(-2.5deg)scale(.94)}68%{opacity:1;filter:blur()drop-shadow(0 24px 32px #1f2a273d)drop-shadow(0 0 22px #f0c36f29);transform:translateY(-3px)rotate(1deg)scale(1.02)}to{opacity:1;filter:drop-shadow(0 22px 30px #1f2a2740)drop-shadow(0 0 22px #f0c36f1f);transform:translateY(0)rotate(0)scale(1)}}@keyframes face-mark-pop{0%{opacity:0;transform:scale(.76)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes dice-footer-glow{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes continue-ready{0%,to{box-shadow:0 16px 34px #00000038,0 0 #f0c36f3d}50%{box-shadow:0 18px 38px #0000003d,0 0 0 6px #f0c36f00}}@keyframes effect-stage-in{0%{opacity:0;transform:translateY(10px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes role-reveal-in{0%{opacity:0;filter:blur(6px)saturate(.9);transform:translateY(24px)scale(1.02)}to{opacity:1;filter:blur()saturate(1.04);transform:translateY(0)scale(1)}}@keyframes role-card-slide-in{0%{opacity:0;transform:translateY(28px)rotate(-2deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@keyframes scroll-reveal-in{0%{opacity:0;filter:blur(5px);transform:translateY(18px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes effect-card-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes screen-in{0%{opacity:.88;transform:translateY(6px)scale(.996)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes city-copy-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes title-brush-in{0%{opacity:0;filter:drop-shadow(0 6px #fff4cf14)drop-shadow(0 18px 22px #3d260e14)blur(2px);transform:translateY(-8px)scale(.985)}to{opacity:.94;filter:drop-shadow(0 6px #fff4cf47)drop-shadow(0 18px 22px #3d260e38);transform:translateY(0)scale(1)}}@keyframes cursor-blink{0%,48%{opacity:1}49%,to{opacity:0}}@keyframes finale-title-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes finale-line-in{0%{opacity:0;filter:blur(6px);transform:translateY(14px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes axis-stage-in{0%{opacity:0;filter:blur(8px);transform:translateY(10px)scale(.96)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes axis-route-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes axis-route-sheen{0%{opacity:0;transform:translate(0)}16%{opacity:.86}to{opacity:0;transform:translate(590px)}}@keyframes axis-stop-rise{0%{opacity:0;filter:blur(5px);transform:translate(-50%,-50%)scale(.72)}68%{opacity:1;filter:blur();transform:translate(-50%,-50%)scale(1.08)}to{opacity:1;filter:blur();transform:translate(-50%,-50%)scale(1)}}@keyframes axis-traveler-walk{0%{opacity:0;transform:translate(0)translateY(0)scale(.82)}14%{opacity:1}28%{transform:translate(160px)translateY(8px)scale(1)}56%{transform:translate(340px)translateY(-7px)scale(1)}84%{opacity:1;transform:translate(515px)translateY(5px)scale(1)}to{opacity:0;transform:translate(585px)translateY(0)scale(.9)}}@keyframes axis-traveler-pulse{0%{box-shadow:0 0 #f0c36f5c,0 10px 28px #00000057}to{box-shadow:0 0 0 16px #f0c36f00,0 10px 28px #00000057}}@keyframes finale-page-reveal{0%{opacity:0;filter:blur(10px);transform:scale(.985)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes soft-pulse{0%,to{box-shadow:0 0 #96342e33}50%{box-shadow:0 0 0 7px #96342e00}}@keyframes tile-glow{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.075)}}@keyframes walker-idle{0%{background-position:0 0}to{background-position:-128px 0}}@keyframes walker-step{0%{background-position:0 0}to{background-position:-128px 0}}@keyframes token-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (width<=980px),(height<=620px){.fullscreen-overlay{padding:10px}.dice-reveal-stage,.node-effect-stage{width:calc(100vw - 20px);height:calc(100vh - 20px)}.dice-reveal-stage{grid-template-columns:.72fr .92fr .82fr;gap:12px;padding:24px}.dice-reveal-stage:before{inset:14px}.dice-reveal-copy h2{font-size:40px}.dice-reveal-copy p:last-child,.dice-face-copy p{font-size:13px;line-height:1.52}.dice-face-card{gap:12px;padding:16px}.dice-face-card.image-card{width:220px;height:220px;padding:0}.dice-face-fan{border-bottom-left-radius:174px;width:174px;height:174px}.dice-face-corner-label{font-size:11px;top:19px;right:94px}.dice-face-art-shell{width:112px;height:158px;padding:0;top:50px;right:20px}.dice-face-art{width:100%;max-height:100%}.dice-face-caption{grid-template-columns:30px minmax(0,1fr);min-height:52px;padding:8px}.dice-face-mark.compact{width:30px;height:30px}.dice-face-caption p{font-size:11px;line-height:1.38}.dice-face-mark{width:58px;height:58px}.dice-face-copy h3{font-size:34px}.dice-value-seal{width:74px;height:74px}.dice-value-seal strong{font-size:36px}.node-effect-stage{grid-template-columns:.7fr 1fr .82fr;gap:12px;padding:16px}.node-effect-scroll{gap:10px;padding:18px}.node-effect-scroll h2{font-size:32px}.node-effect-scroll p{font-size:14px;line-height:1.55}.node-effect-ledger,.node-effect-rewards{padding:10px}.effect-card-item{grid-template-columns:44px minmax(0,1fr) auto;min-height:62px}.effect-card-item .asset-slot{width:44px}.node-effect-stamp{width:54px;height:54px;top:18px;right:27%}.node-effect-stamp span{font-size:31px}.scene-theater-main{grid-template-columns:minmax(220px,.34fr) minmax(0,1fr) minmax(230px,.32fr);gap:12px;padding:92px 18px 18px}.scene-choice-panel{gap:6px;padding:9px}.scene-dice-badge{grid-template-rows:minmax(84px,1fr) auto;gap:6px;min-height:160px;padding:8px}.scene-dice-card-art{width:min(100%,126px);max-height:106px}.scene-dice-count{min-height:28px;padding:5px 8px;top:9px;right:9px}.scene-dice-note{grid-template-columns:16px minmax(0,1fr);gap:5px;min-height:34px;padding:6px 7px;font-size:9.5px;line-height:1.3}.scene-choice-panel>button:not(.scene-roll-action){min-height:42px;padding:7px 9px;font-size:14px;line-height:1.22}.scene-roll-action{min-height:40px;padding:8px 12px}}@media (width<=760px){.dice-reveal-stage,.node-effect-stage{overflow-y:auto}.dice-reveal-stage{grid-template-rows:auto minmax(220px,auto) auto auto;grid-template-columns:1fr;height:auto;min-height:calc(100vh - 20px)}.dice-face-card.image-card{width:min(220px,76vw);height:210px}.dice-face-art{max-height:100%}.dice-reveal-stage>.overlay-continue{grid-column:1;justify-self:stretch}.node-effect-stage{grid-template-columns:1fr;height:auto;min-height:calc(100vh - 20px)}.node-effect-visual{min-height:260px}.node-effect-stamp{display:none}}@media (width<=1080px){.game-stage{place-items:start;overflow:auto}.screen{min-width:980px;min-height:552px}}@media (width<=860px) and (orientation:portrait){.mobile-orientation-hint{z-index:50;color:#fff8ea;border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#14201feb;border:1px solid #ddc28b52;gap:3px;padding:12px 14px;display:grid;position:fixed;bottom:14px;left:14px;right:14px;box-shadow:0 18px 46px #00000057}.mobile-orientation-hint strong{font-size:15px;line-height:1.2}.mobile-orientation-hint span{color:#fff8eabd;font-size:12px;line-height:1.4}}@media (height<=640px){.finale-screen{padding:8px}.finale-archive{gap:8px;padding:10px}.finale-header h1{font-size:clamp(22px,2.6vw,32px)}.finale-grid{gap:8px}.finale-paper{gap:6px;padding:18px 20px 14px 24px}.paper-letterhead{gap:8px;padding-bottom:4px}.letterhead-to{font-size:14px}.letterhead-meta{font-size:10px}.letterhead-skip{min-height:24px;padding:3px 8px}.finale-paper:after{border-width:1.5px;width:48px;height:48px;top:8px;right:12px}.finale-paper:before{inset:8px}.finale-actions .primary-action,.finale-actions .secondary-action{min-height:34px;padding:6px 8px;font-size:12px}.share-toast{top:10px;right:10px}}@media (width<=860px){.finale-grid{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:1fr}.finale-route-panel,.finale-card-panel{max-height:180px}.finale-route-stamps{flex-wrap:wrap;gap:6px;display:flex;overflow-y:auto}.finale-route-stamp{min-height:auto;padding:6px;font-size:12px}.finale-card-film{grid-template-columns:repeat(auto-fill,minmax(56px,1fr))}.finale-actions.ready{grid-template-columns:repeat(2,minmax(0,1fr))}.finale-paper{padding:20px 18px 16px 22px}}@media (width<=860px) and (height<=640px){.finale-header{flex-direction:column;gap:6px}.finale-ledger{justify-content:flex-start}.finale-route-panel,.finale-card-panel{max-height:120px}.finale-paper:after{display:none}}.preload-indicator{z-index:9999;color:#f5efe2;letter-spacing:.04em;white-space:nowrap;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#141210b8;border-radius:999px;padding:6px 12px;font-size:12px;transition:opacity .5s;position:fixed;bottom:12px;right:12px;box-shadow:0 4px 16px #0000004d}.preload-indicator.is-ready{color:#8fd3a8;animation:4s forwards preload-indicator-fade}@keyframes preload-indicator-fade{0%,60%{opacity:1}to{opacity:0}}.intro-loading-overlay{z-index:100000;background:radial-gradient(#2e231bfa,#14201ffc),repeating-linear-gradient(45deg,#ffffff08 0 1px,#0000 1px 18px);justify-content:center;align-items:center;transition:opacity .6s,visibility .6s;display:flex;position:fixed;inset:0}.intro-loading-overlay.is-fading{opacity:0;visibility:hidden;pointer-events:none}.intro-loading-content{flex-direction:column;align-items:center;gap:18px;display:flex}.intro-loading-emblem{width:84px;height:84px;margin-bottom:8px;position:relative}.intro-loading-ring{border:2px solid #ddc28b;border-color:#ddc28b #ddc28b4d #0000 #0000;border-radius:50%;animation:1.4s linear infinite intro-loading-spin;position:absolute;inset:0}.intro-loading-ring-2{border-top-color:#8fd3a8b3;border-right-color:#0000;animation-duration:1.8s;animation-direction:reverse;inset:10px}.intro-loading-core{background:radial-gradient(circle,#f5efe2,#ddc28b);border-radius:50%;width:22px;height:22px;margin:-11px 0 0 -11px;animation:1.6s ease-in-out infinite intro-loading-pulse;position:absolute;top:50%;left:50%;box-shadow:0 0 18px #ddc28b99}@keyframes intro-loading-spin{to{transform:rotate(360deg)}}@keyframes intro-loading-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.intro-loading-title{letter-spacing:.18em;color:#f5efe2;text-shadow:0 2px 12px #00000080;font-size:26px;font-weight:700}.intro-loading-subtitle{letter-spacing:.12em;color:#f5efe299;font-size:14px}.intro-loading-bar-wrap{background:#f5efe21f;border-radius:999px;width:220px;height:3px;overflow:hidden}.intro-loading-bar-fill{background:linear-gradient(90deg,#ddc28b,#8fd3a8);border-radius:999px;height:100%;transition:width .3s;box-shadow:0 0 8px #ddc28b80}.intro-loading-percent{font-variant-numeric:tabular-nums;color:#f5efe280;letter-spacing:.06em;font-size:13px}.spin{animation:1.2s linear infinite intro-loading-spin}.board-guide-overlay{z-index:90000;--guide-target-left:calc(100vw - 280px);--guide-target-center-y:62vh;--guide-card-center-y:44vh;-webkit-backdrop-filter:blur(3px);cursor:pointer;background:#14201f8c;transition:opacity .4s,visibility .4s;position:fixed;inset:0}.board-guide-overlay.is-fading{opacity:0;visibility:hidden;pointer-events:none}.board-guide-card{left:clamp(28px, calc(var(--guide-target-left) - 470px), calc(100vw - 420px));top:clamp(180px, var(--guide-card-center-y), calc(100vh - 250px));cursor:default;text-align:center;background:linear-gradient(160deg,#2e231bf5,#1f2a27f7),repeating-linear-gradient(45deg,#ffffff05 0 1px,#0000 1px 16px);border:1px solid #ddc28b47;border-radius:20px;flex-direction:column;align-items:center;gap:14px;max-width:360px;padding:28px 36px 24px;animation:.5s cubic-bezier(.22,1,.36,1) both board-guide-in;display:flex;position:absolute;transform:translateY(-50%);box-shadow:0 0 0 1px #f5efe20f,0 24px 60px #00000080,0 0 40px #ddc28b1f}@keyframes board-guide-in{0%{opacity:0;transform:translateY(calc(16px - 50%))scale(.96)}to{opacity:1;transform:translateY(-50%)scale(1)}}.board-guide-emblem{color:#ddc28b;background:radial-gradient(circle,#ddc28b33,#ddc28b00);border:1px solid #ddc28b66;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:4px;display:flex}.board-guide-title{letter-spacing:.1em;color:#f5efe2;text-shadow:0 2px 10px #0006;margin:0;font-size:22px;font-weight:700}.board-guide-desc{color:#f5efe2b8;letter-spacing:.04em;margin:0;font-size:14px;line-height:1.7}.board-guide-hint{color:#8fd3a8cc;letter-spacing:.06em;align-items:center;gap:6px;font-size:12px;display:flex}.board-guide-btn{color:#2e231b;letter-spacing:.12em;cursor:pointer;background:linear-gradient(135deg,#ddc28b,#c9a55c);border:none;border-radius:999px;margin-top:8px;padding:10px 32px;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 14px #ddc28b5c}.board-guide-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #ddc28b80}.board-guide-btn:active{transform:translateY(0)}.board-guide-arrow-right{left:calc(var(--guide-target-left) - 82px);top:var(--guide-target-center-y);color:#ddc28bd9;filter:drop-shadow(0 0 8px #ddc28b80);pointer-events:none;place-items:center;width:42px;height:42px;animation:1.4s ease-in-out infinite board-guide-bounce-right;display:grid;position:absolute;transform:translateY(-50%)}.board-guide-arrow-right:before{content:"";background:linear-gradient(90deg,#ddc28b00,#ddc28bb8);border-radius:999px;width:clamp(42px,8vw,96px);height:2px;position:absolute;top:50%;right:34px;transform:translateY(-50%)}@keyframes board-guide-bounce-right{0%,to{opacity:.65;transform:translateY(-50%)translate(0)}50%{opacity:1;transform:translateY(-50%)translate(12px)}}.entry-guide-overlay{z-index:120;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0d0a0694;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.entry-guide-card{color:#2a2017;background:linear-gradient(#fffaeefa,#f7efddf5),repeating-linear-gradient(45deg,#14201f08 0 1px,#0000 1px 22px);border:1px solid #96342e29;border-radius:12px;gap:12px;width:min(640px,94vw);padding:20px 20px 18px;display:grid;position:relative;box-shadow:0 26px 70px #00000061,inset 0 0 0 1px #ffffff73}.entry-guide-close{color:#2e231bb3;background:#fffaebc2;border:1px solid #543f221a;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex;position:absolute;top:12px;right:12px;box-shadow:0 8px 18px #00000014}.entry-guide-close:hover{color:#2a2017;background:#fff8e8f5}.entry-guide-eyebrow{color:#96342e;letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:900}.entry-guide-card h2{color:#20170f;margin:0;font-size:clamp(24px,2.2vw,31px);line-height:1.12}.entry-guide-summary{color:#261e12c2;font-size:14px;font-weight:700;line-height:1.6}.entry-guide-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.entry-guide-steps li{background:#fffaeecc;border:1px solid #362a191a;border-radius:10px;grid-template-columns:26px minmax(0,1fr);gap:8px 10px;min-width:0;padding:10px 11px;display:grid}.entry-guide-steps span{color:#fff8ea;background:linear-gradient(135deg,#96342e,#c18a2e);border-radius:999px;place-items:center;width:26px;height:26px;font-size:11px;font-weight:900;display:grid}.entry-guide-steps strong{color:#20170f;font-size:13px;line-height:1.3;display:block}.entry-guide-steps small{color:#261e12b3;grid-column:2;font-size:11px;font-weight:700;line-height:1.45;display:block}.entry-guide-fullscreen-note{color:#7f5b19;background:#fff8e8eb;border:1px solid #ddc28b57;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:800;line-height:1.45;display:flex}.entry-guide-fullscreen-note svg{color:#96342e;flex-shrink:0}.entry-guide-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.entry-guide-primary,.entry-guide-secondary{border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:13px;font-weight:900;display:inline-flex}.entry-guide-primary{color:#fff8ea;background:linear-gradient(135deg,#96342e,#b77924);border:1px solid #fff8ea2e;box-shadow:0 12px 24px #96342e2e}.entry-guide-secondary{color:#2e231bd1;background:#fffaeed1;border:1px solid #543f2224}.entry-guide-primary:hover,.entry-guide-secondary:hover{transform:translateY(-1px)}.coming-soon-overlay{z-index:95000;-webkit-backdrop-filter:blur(4px);cursor:pointer;background:#0f1614b8;justify-content:center;align-items:center;padding:24px;transition:opacity .35s,visibility .35s;display:flex;position:fixed;inset:0}.coming-soon-overlay.is-fading{opacity:0;visibility:hidden;pointer-events:none}.coming-soon-card{cursor:default;background:#1a1410;border:1px solid #ddc28b33;border-radius:18px;width:min(480px,92vw);animation:.45s cubic-bezier(.22,1,.36,1) both coming-soon-in;position:relative;overflow:hidden;box-shadow:0 0 0 1px #f5efe20f,0 30px 70px #0009}@keyframes coming-soon-in{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.coming-soon-close{z-index:3;color:#fffc;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:background .2s,color .2s;display:flex;position:absolute;top:12px;right:12px}.coming-soon-close:hover{color:#fff;background:#000000b3}.coming-soon-poster{width:100%;height:280px;position:relative;overflow:hidden}.coming-soon-poster img{object-fit:cover;filter:saturate(.92);width:100%;height:100%}.coming-soon-poster-overlay{background:linear-gradient(180deg, #0000001a 0%, transparent 30%, transparent 50%, #000000bf 100%), linear-gradient(135deg, color-mix(in srgb, var(--city-accent,#555) 30%, transparent), transparent 60%);position:absolute;inset:0}.coming-soon-poster-text{z-index:1;position:absolute;bottom:20px;left:24px;right:24px}.coming-soon-eyebrow{letter-spacing:.2em;color:#ffffffb3;margin:0 0 4px;font-size:13px;font-weight:700}.coming-soon-title{letter-spacing:.06em;color:#fff;text-shadow:0 2px 12px #00000080;margin:0 0 6px;font-size:28px;font-weight:800}.coming-soon-subtitle{color:#ffffffa6;letter-spacing:.04em;margin:0;font-size:13px;line-height:1.5}.coming-soon-badge{letter-spacing:.16em;color:#ddc28bd9;background:linear-gradient(#1a1410,#221a12);border-top:1px solid #ddc28b1f;justify-content:center;align-items:center;gap:6px;padding:14px;font-size:14px;font-weight:700;display:flex}
