:root{color-scheme:dark;--ink: #1b110d;--paper: #f0dfb7;--paper-2: #d7bd87;--gold: #d8aa48;--red: #a5282f;--red-bright: #d34245;--blue: #4f86b7;--line: rgba(239, 210, 150, .28);--glass: rgba(26, 17, 13, .88);--shadow: 0 24px 70px rgba(0, 0, 0, .42);--card-inspector-width: min(300px, 23vw)}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#16110e;color:var(--paper);font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,system-ui,sans-serif;font-weight:500;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:3px solid rgba(230,187,96,.8);outline-offset:3px}[hidden]{display:none!important}.game-shell,.scene-shell{position:relative;width:100%;height:100%}.scene-shell canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.scene-shell canvas.is-orbiting,.scene-shell canvas.is-dragging{cursor:grabbing}.scene-shell.is-team-label-hover canvas{cursor:pointer}.scene-shell:after{position:absolute;inset:0;z-index:1;content:"";pointer-events:none;background:linear-gradient(180deg,rgba(10,7,6,.52),transparent 18%,transparent 70%,rgba(10,7,6,.62)),radial-gradient(circle at 50% 45%,transparent 47%,rgba(8,5,4,.5) 100%)}.scene-shell:before{position:absolute;inset:0;z-index:2;border:2px solid transparent;box-shadow:inset 0 0 0 0 transparent;content:"";pointer-events:none;opacity:0}.scene-shell.is-feedback-valid:before{border-color:#79e09bdb;box-shadow:inset 0 0 58px #46b06833;animation:scene-feedback-edge .52s ease-out both}.scene-shell.is-feedback-invalid:before{border-color:#e7706be6;box-shadow:inset 0 0 58px #ab2b2d38;animation:scene-feedback-edge .52s ease-out both}.scene-shell.is-feedback-milestone:before{border-color:#ffd877f2;box-shadow:inset 0 0 72px #cc963247;animation:scene-feedback-edge .68s ease-out both}.scene-shell.is-feedback-grab:before,.scene-shell.is-feedback-camera:before,.scene-shell.is-feedback-cancel:before{border-color:#8fd3ecb8;box-shadow:inset 0 0 46px #31769b29;animation:scene-feedback-edge .42s ease-out both}.webgl-fallback{position:absolute;inset:0;z-index:20;display:grid;place-content:center;gap:10px;text-align:center;background:#211711}.game-hud{position:fixed;inset:0 0 auto;z-index:10;display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(170px,.64fr) minmax(390px,1.8fr) 160px auto;align-items:stretch;min-height:78px;border-bottom:1px solid var(--line);background:#150d0aeb;box-shadow:0 15px 45px #0000004d;backdrop-filter:blur(18px)}.game-hud>section,.view-tools{min-width:0;border-right:1px solid rgba(238,207,148,.16);padding:9px 14px}.brand-block{position:relative;padding-left:34px!important}.brand-block:before{position:absolute;inset:17px auto 17px 17px;width:5px;content:"";background:var(--red-bright);box-shadow:0 0 22px #d3424594}.brand-kicker,.turn-block span,.gdp-block span,.inspector-kicker,.action-panel header span,.choice-sheet header span,.setup-kicker{display:block;color:#cda95f;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.brand-block h1{margin:4px 0 1px;color:#fff0c9;font-family:Songti SC,STSong,serif;font-size:clamp(20px,1.4vw,27px);line-height:1.04;white-space:nowrap}.brand-block p,.turn-block em,.gdp-block em{margin:0;color:#eed8ad9e;font-size:10px;font-style:normal}.turn-block{display:grid;align-content:center;gap:2px}.turn-block strong{min-width:0;color:#fff3d4;font-size:16px;line-height:1.08;overflow-wrap:anywhere}.turn-block strong[role=button]{cursor:pointer;text-decoration:underline dotted rgba(255,226,158,.42);text-underline-offset:4px}.turn-block strong[role=button]:hover,.turn-block strong[role=button]:focus-visible{color:#fff0be;outline:none;text-shadow:0 0 16px rgba(255,216,116,.42)}.effect-status{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.effect-chip{display:inline-flex;align-items:center;gap:5px;min-height:23px;padding:3px 7px;border:1px solid rgba(216,170,72,.38);border-radius:999px;background:#d8aa481a;color:#f7dfaa;font-size:12px;line-height:1;white-space:nowrap}.effect-chip b,.effect-chip em{font:inherit;font-weight:800}.effect-chip em{color:#fff3cc;font-style:normal}.effect-chip.is-hardware,.effect-chip.is-software{border-color:#5c94c38c;background:#5c94c329}.resource-strip{display:grid;grid-template-columns:repeat(4,minmax(82px,1fr));align-items:center;gap:10px}.resource-item{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:50px;padding:4px 8px 3px 6px;border:1px solid rgba(236,205,146,.15);background:#ffffff08}.resource-token-icon{width:30px;height:27px;object-fit:contain;filter:drop-shadow(0 6px 7px rgba(0,0,0,.34))}.resource-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0}.resource-copy>span{min-width:0;color:#f5e2bbd6;font-size:11px;font-weight:800;overflow:visible;text-overflow:clip;white-space:nowrap}.resource-copy b{color:#fff3d0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:22px}.gdp-block{display:grid;grid-template-columns:1fr auto;align-content:center;align-items:end;column-gap:10px}.gdp-block span,.gdp-block em{grid-column:1 / -1}.gdp-block strong{color:#fff0c2;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1}.gdp-block strong b{font-size:30px}.gdp-block small{margin-left:3px;color:#d5b36f;font-family:inherit;font-size:13px}.view-tools{display:flex;align-items:center;gap:7px;border-right:0}.camera-waypoints{display:flex;align-items:center;gap:7px}.camera-view-select{display:none}.camera-view-select select{max-width:148px;padding:8px 9px;border:1px solid rgba(235,201,139,.3);border-radius:2px;background:#2b1c15;color:#fff1c9;font:inherit;font-size:12px;font-weight:700}.camera-waypoints button[aria-pressed=true]{border-color:#e8be68c7;background:#d4a54633;color:#fff1c9}.camera-console{position:fixed;right:18px;bottom:140px;z-index:18;width:178px;border:1px solid rgba(238,205,143,.34);border-radius:4px;background:#1b110deb;box-shadow:0 16px 38px #0000006b;backdrop-filter:blur(16px)}.camera-console-heading{display:flex;align-items:center;justify-content:space-between;min-height:32px;padding:5px 8px 5px 11px;border-bottom:1px solid rgba(238,205,143,.16);color:#f6dfad;font-size:11px;font-weight:800;letter-spacing:.08em}.camera-console-heading button{padding:3px 6px;border:1px solid rgba(238,205,143,.26);background:#ffffff0a;color:#f5e0b0c7;cursor:pointer;font:inherit;font-size:10px}.camera-console-body{display:grid;gap:7px;padding:8px}.camera-console.is-collapsed .camera-console-body{display:none}.camera-console-zoom,.camera-console-pad>div{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:5px}.camera-console-zoom span{color:#f1dcaca8;font-size:10px;text-align:center}.camera-console button[data-camera-console]{min-width:30px;min-height:28px;border:1px solid rgba(238,205,143,.22);background:#ffffff0a;color:#f5dfae;cursor:pointer;font:800 14px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.camera-console-pad{display:grid;justify-items:center;gap:4px}.camera-console-pad>div button:nth-child(2){color:#fff1c9;font-size:10px}.camera-console button[data-camera-console]:hover,.camera-console button[data-camera-console]:focus-visible,.camera-console-heading button:hover,.camera-console-heading button:focus-visible{border-color:#f3c465b8;background:#d09d412e;outline:none}.book-reader{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:28px}.book-reader[hidden]{display:none}.book-reader-backdrop{position:absolute;inset:0;background:#0a0604c2;backdrop-filter:blur(5px)}.book-reader-panel{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(920px,calc(100vw - 56px));max-height:min(92dvh,980px);overflow:hidden;border:1px solid rgba(115,74,39,.52);border-radius:5px;background:#e8ddc6;box-shadow:0 28px 90px #0000009e}.book-reader-panel>header,.book-reader-panel>footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 16px;background:#362319;color:#f4dfb2}.book-reader-panel>header span{display:block;color:#caa45c;font-size:10px;font-weight:800;letter-spacing:.12em}.book-reader-panel h2{margin:3px 0 0;color:#fff1c9;font:700 20px/1.2 Songti SC,STSong,serif}.book-reader-panel>header button{padding:6px 10px;border:1px solid rgba(240,210,153,.36);background:#ffffff0d;color:#f7e4b7;cursor:pointer}.book-reader-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;min-height:0;padding:16px 18px;background:radial-gradient(circle at 50% 45%,#f8f0dd,#d5c5a8 130%)}.book-page{display:grid;place-items:center;min-height:0;max-height:calc(92dvh - 150px);overflow:hidden;border:1px solid rgba(118,81,46,.24);background:#f9f4e8;box-shadow:0 11px 24px #3e271438;transform-origin:left center}.book-page img{display:block;width:100%;height:auto;max-height:calc(92dvh - 150px);object-fit:contain}.book-page.is-turning{animation:book-page-turn .36s ease both}.book-nav{display:grid;place-items:center;width:38px;height:76px;border:1px solid rgba(115,74,39,.42);border-radius:3px;background:#fff9e885;color:#684225;cursor:pointer;font:400 36px/1 Songti SC,STSong,serif}.book-nav:hover,.book-nav:focus-visible{border-color:#9e713c;background:#fffaebe6;outline:none}.book-reader-panel>footer{min-height:40px;padding-block:7px;color:#f8e1b1d6;font-size:11px}.book-reader-panel>footer small{color:#f8e1b17a}.book-page-dots{display:flex;align-items:center;gap:5px}.book-page-dot{width:6px;height:6px;border:1px solid rgba(244,215,159,.54);border-radius:50%}.book-page-dot.is-current{background:#e3b45b;box-shadow:0 0 0 2px #e3b45b29}@keyframes book-page-turn{0%{opacity:.72;transform:perspective(900px) rotateY(-8deg) scaleX(.96)}to{opacity:1;transform:perspective(900px) rotateY(0) scaleX(1)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.view-tools button,.action-panel header button,.choice-sheet header button{padding:7px 9px;border:1px solid rgba(235,201,139,.22);background:#ffffff0a;color:#f4e2bdd1;cursor:pointer;font-size:11px;font-weight:700}.view-tools button:hover,.action-panel header button:hover,.choice-sheet header button:hover{border-color:#e8be689e;background:#d4a54621;color:#fff1c9}#audioToggle{min-width:70px;border-color:#5bb0777a}#audioToggle.is-active{border-color:#8fe0a1b8;background:#4a9e6629;color:#d8f3d5}#audioToggle:not(.is-active){border-color:#f1827d6b;background:#972b2d24;color:#f0c4b7}.quick-restart-teaching{min-width:78px;border-color:#e058509e!important;background:#972b2d33!important;color:#ffe1ca!important;white-space:nowrap}.quick-restart-teaching:hover,.quick-restart-teaching:focus-visible{border-color:#ff9879e6!important;background:#b0343057!important;outline:none;box-shadow:0 0 0 2px #e0585024}kbd{margin-left:5px;padding:1px 5px;border:1px solid rgba(238,208,151,.26);color:#d9ba7b;font-size:10px;font-family:inherit}.card-inspector{position:fixed;top:var(--hud-safe-top, 120px);right:18px;z-index:8;width:var(--card-inspector-width);min-width:238px;padding:7px;border:1px solid rgba(235,202,140,.28);background:#1c120ee0;box-shadow:var(--shadow);backdrop-filter:blur(16px);max-height:calc(100dvh - 132px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.game-shell.is-choice-open .card-inspector{display:none}.inspector-toggle{display:flex;align-items:center;justify-content:center;width:100%;min-height:30px;padding:7px 8px;border:1px solid rgba(235,202,140,.36);background:#d4a5461f;color:#f4d99c;cursor:pointer;font-size:11px;font-weight:800}.inspector-toggle:hover{border-color:#f2d392b8;background:#d4a54638;color:#fff1c9}.card-inspector.is-collapsed{top:var(--hud-safe-top, 184px);width:48px;min-width:48px;padding:4px;overflow:visible}.card-inspector.is-collapsed>:not(.inspector-toggle){display:none}.card-inspector.is-collapsed .inspector-toggle{min-height:126px;padding:10px 4px;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.08em}.card-inspector canvas{display:block;width:100%;height:auto;max-height:calc(100vh - 270px);object-fit:contain}.inspector-card-face{position:relative;display:grid;gap:9px;min-height:330px;margin-top:11px;padding:18px;overflow:hidden;border:1px solid rgba(243,217,164,.48);background:linear-gradient(150deg,#8c3225f5,#3f2219fa),#6f271f}.inspector-card-face:before{position:absolute;inset:7px;border:1px solid rgba(246,220,169,.3);content:"";pointer-events:none}.inspector-card-head{z-index:1;display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid rgba(248,224,177,.3);color:#ebcd91;font-size:12px;font-weight:800}.inspector-card-face>strong{z-index:1;margin:7px 0 4px;color:#fff2ca;font-family:Songti SC,STSong,serif;font-size:25px;line-height:1.25}.inspector-card-face p,.inspector-card-face em{z-index:1;margin:0;color:#ffefced1;font-size:12px;font-style:normal;line-height:1.5}.inspector-card-face em{align-self:end;padding-top:10px;border-top:1px solid rgba(248,224,177,.24);color:#ffe4af9e}.card-photo-shell{margin:0;padding:0;border:0;background:#120d0b}.card-photo-shell img{display:block;width:100%;max-height:360px;object-fit:contain}.card-market-cost{display:grid;gap:0;margin-top:7px;padding:0;border:1px solid rgba(231,193,117,.34);background:#752a1fb8}.market-cost-line,.market-waiver-line{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:11px 12px}.market-waiver-line{border-top:1px solid rgba(231,193,117,.25);background:#2e704c47}.market-cost-line>span,.market-waiver-line>span{color:#f1ddb6ad;font-size:12px;font-weight:800}.market-cost-line strong,.market-waiver-line strong{color:#ffe2a1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:17px}.market-waiver-line strong{color:#c8edcf;font-family:inherit}.inspector-help{display:block;margin-top:9px;color:#e8d0a37a;font-size:11px;text-align:center}.action-panel{position:fixed;top:var(--hud-safe-top, 120px);left:18px;z-index:12;width:min(360px,29vw);min-width:300px;max-height:calc(100dvh - 250px);padding:18px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid rgba(238,205,143,.32);background:#1c120ef0;box-shadow:var(--shadow);backdrop-filter:blur(18px);scroll-padding-block:12px}.game-shell.is-action-open .scene-shell:after{background:linear-gradient(90deg,rgba(10,7,6,.68),transparent 24%,transparent 78%,rgba(10,7,6,.5)),linear-gradient(180deg,rgba(10,7,6,.5),transparent 18%,transparent 73%,rgba(10,7,6,.72)),radial-gradient(circle at 50% 45%,transparent 42%,rgba(8,5,4,.52) 100%)}.game-shell.is-choice-open .scene-shell:after{background:linear-gradient(180deg,rgba(10,7,6,.56),transparent 20%,transparent 60%,rgba(10,7,6,.82)),radial-gradient(circle at 50% 42%,transparent 38%,rgba(8,5,4,.52) 100%)}.action-panel:before{position:absolute;inset:0 auto 0 0;width:5px;content:"";background:var(--red-bright)}.game-shell.is-action-open.is-toast-visible .action-panel{top:calc(var(--hud-safe-top, 120px) + var(--toast-reserve, 76px));max-height:max(180px,calc(100dvh - var(--hud-safe-top, 120px) - var(--toast-reserve, 76px) - 76px))}.action-panel header,.choice-sheet header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.action-panel h2,.choice-sheet h2{margin:4px 0 0;color:#fff0c9;font-size:22px}.action-panel>p,.choice-sheet>p{margin:14px 0;color:#f0dab0ad;font-size:13px;line-height:1.55}.requirement-list{display:grid;gap:7px}.buy-talent-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;grid-column:1 / -1;padding:8px;border:1px solid rgba(216,170,72,.3);border-radius:10px;background:#48251994}.buy-talent-guide>span{position:relative;display:grid;gap:3px;min-width:0;padding:9px 8px;border:1px solid rgba(235,203,141,.16);border-radius:8px;background:#ffffff09;text-align:center}.buy-talent-guide b,.buy-talent-guide em,.buy-talent-guide strong{display:block}.buy-talent-guide b{color:#fff0ca;font-size:12px}.buy-talent-guide em{color:#f2ddb4ad;font-size:11px;font-style:normal}.buy-talent-guide strong{color:#bff0c9;font-size:10px}.buy-talent-guide .is-recommended{border-color:#70c18ab8;background:#3f895733;box-shadow:inset 0 0 0 1px #70c18a1f}.buy-talent-guide.is-choice-guide{margin-bottom:3px}.produce-teaching-summary{display:flex;align-items:center;justify-content:center;gap:7px;grid-column:1 / -1;padding:10px;border:1px solid rgba(83,159,222,.52);border-radius:9px;background:#235e8f2e;color:#efdeb9c2;font-size:11px}.produce-teaching-summary b,.produce-teaching-summary strong{color:#fff0ca}.produce-teaching-summary i{color:#efdeb975;font-style:normal}.requirement-head{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:0 11px 3px 14px;color:#ebd3a57a;font-size:10px;font-weight:800;letter-spacing:.08em}.requirement-head b{min-width:52px;text-align:right}.requirement-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:10px 11px;border-left:3px solid var(--req-color, #cda95f);background:#ffffff0a}.requirement-row span{color:#f4e0b9c7;font-size:12px}.requirement-row span em{margin-left:6px;color:#fff0ca;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-style:normal;font-weight:800}.requirement-row b{color:#fff0ca;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px}.requirement-row.is-complete{--req-color: #5bb077;background:#4a9e661f}.auto-fill-control{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:12px;padding:10px;border:1px solid rgba(223,190,124,.24);background:#714e291a}.auto-fill-control label{display:flex;align-items:center;gap:9px;min-width:0;cursor:pointer}.auto-fill-control input{width:18px;height:18px;margin:0;accent-color:#bd8b35}.auto-fill-control span{display:grid;gap:2px;min-width:0}.auto-fill-control b{color:#f3ddb0;font-size:12px}.auto-fill-control em{color:#eedab585;font-size:10px;font-style:normal}.auto-fill-control button{min-width:88px;border:1px solid rgba(231,199,132,.32);background:#ca9a4a1f;color:#e8c98d;cursor:pointer;font-size:11px;font-weight:800;animation:action-gold-pulse 1.9s ease-in-out infinite}.auto-fill-control button:hover{border-color:#f2d3929e;background:#ca9a4a33}.action-readiness{margin:13px 0 10px;padding:11px 12px;border:1px dashed rgba(231,198,133,.27);color:#d9ba7c;font-size:12px;line-height:1.45}.action-readiness.ready{border-style:solid;border-color:#5bb07780;background:#4a9e661a;color:#bde1c6}.commit-button,.setup-card>button{width:100%;min-height:48px;border:1px solid rgba(255,226,167,.54);background:linear-gradient(135deg,#9d242a,#c4413e);color:#fff3d2;box-shadow:0 12px 32px #73171d57;cursor:pointer;font-weight:900;letter-spacing:.04em}.commit-button:not(:disabled){border-color:#b8efc3d1;background:linear-gradient(135deg,#1f7d4b,#35a565);box-shadow:0 0 0 1px #abebb92e,0 12px 34px #1a77446b;animation:action-confirm-pulse 1.45s ease-in-out infinite}#cancelActionButton{border-color:#f1827d94;background:#972b2d38;color:#ffd0c3;animation:action-cancel-pulse 1.9s ease-in-out infinite}.commit-button:disabled{border-color:#e4cea624;background:#ffffff0f;box-shadow:none;color:#eedab561;cursor:not-allowed}.choice-sheet{position:fixed;inset:auto 18px 142px;z-index:15;max-height:min(58vh,610px);padding:20px;overflow:auto;border:1px solid rgba(238,205,143,.32);background:#1a110df5;box-shadow:var(--shadow);backdrop-filter:blur(22px)}.choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.choice-grid.is-produce-zones{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.choice-grid.is-produce-routes{grid-template-columns:minmax(0,1fr)}.choice-grid.is-play-step{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.choice-progress{grid-column:1 / -1;display:flex;align-items:center;gap:14px;min-height:48px;padding:8px 12px;border:1px solid rgba(231,193,117,.28);background:#c9944014}.choice-progress button{min-height:34px;border:1px solid rgba(231,193,117,.38);background:#ffffff0a;color:#eed9af;cursor:pointer;font-weight:800}.choice-progress strong{color:#fff0ca;font-size:16px}.play-card-choice{display:grid;grid-template-columns:72px minmax(0,1fr);align-content:center;column-gap:12px}.play-card-choice>:not(.choice-card-thumb){grid-column:2}.choice-card-thumb{grid-column:1;grid-row:1 / span 4;width:72px;max-height:102px;object-fit:contain;border:1px solid rgba(237,210,159,.28);background:#130e0b}.plot-choice strong,.factory-choice strong{font-size:24px}.produce-zone-card{position:relative;display:grid;grid-template-columns:58px 1fr;grid-template-rows:auto auto auto;align-items:center;gap:13px 15px;min-height:188px;padding:22px;overflow:hidden;border:1px solid color-mix(in srgb,var(--zone-color) 58%,rgba(233,201,138,.28));background:color-mix(in srgb,var(--zone-color) 10%,rgba(24,16,13,.98));color:#f6e5bd;cursor:pointer;text-align:left}.produce-zone-card:before{position:absolute;inset:0 auto 0 0;width:5px;content:"";background:var(--zone-color)}.produce-zone-card:hover:not(:disabled),.produce-zone-card:focus-visible{border-color:color-mix(in srgb,var(--zone-color) 82%,#f3d89f);background:color-mix(in srgb,var(--zone-color) 17%,rgba(24,16,13,.98));transform:translateY(-3px)}.produce-zone-card:disabled{cursor:not-allowed;opacity:.48}.produce-zone-card.is-teaching-target:not(:disabled),.produce-route.is-teaching-target:not(:disabled),.choice-card.is-teaching-target:not(:disabled){border-color:#f1c66f;background:linear-gradient(135deg,#daa03f33,#5f301f3d);box-shadow:0 0 0 2px #f1c66f24,0 14px 32px #4421144d}.produce-zone-card:disabled:not(.is-teaching-target),.produce-route:disabled:not(.is-teaching-target),.choice-card:disabled:not(.is-teaching-target){opacity:.28;filter:saturate(.42)}.produce-zone-card>img{grid-column:1;grid-row:1 / span 2;width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.38))}.zone-card-index{position:absolute;top:13px;right:15px;color:var(--zone-color);font:900 18px ui-monospace,SFMono-Regular,Menlo,monospace}.zone-card-copy{display:grid;gap:5px}.zone-card-copy strong{color:#fff0c9;font-size:20px}.zone-card-copy em,.zone-card-count{color:#efdcb49e;font-size:12px;font-style:normal}.zone-card-count,.produce-zone-card>b{grid-column:1 / -1}.produce-zone-card>b{padding-top:12px;border-top:1px solid color-mix(in srgb,var(--zone-color) 34%,transparent);color:color-mix(in srgb,var(--zone-color) 65%,#f8e3b6);font-size:13px}.produce-zone{min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--zone-color) 48%,rgba(233,201,138,.24));background:#ffffff06}.produce-zone-head{display:flex;align-items:center;gap:11px;min-height:64px;padding:10px 12px;border-bottom:1px solid color-mix(in srgb,var(--zone-color) 44%,transparent);background:color-mix(in srgb,var(--zone-color) 16%,rgba(24,16,13,.96))}.produce-zone.is-selected .produce-zone-head button{margin-left:auto;min-height:36px;padding:0 13px;border:1px solid color-mix(in srgb,var(--zone-color) 52%,rgba(235,203,141,.25));background:#ffffff0a;color:#efdcb4;cursor:pointer;font-size:12px;font-weight:800}.produce-zone-head>b{color:var(--zone-color);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px}.produce-zone-head span{display:grid;gap:3px}.produce-zone-head strong{color:#f6e5bd;font-size:15px}.produce-zone-head em{color:#efdcb48f;font-size:10px;font-style:normal}.produce-route-list{display:grid}.produce-zone.is-selected .produce-route-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;padding:12px}.produce-zone.is-selected .produce-route{border:1px solid rgba(235,203,141,.15);background:#ffffff05}.produce-route{display:grid;grid-template-columns:28px minmax(0,1.3fr) minmax(90px,.8fr);align-items:stretch;min-height:112px;padding:0;border:0;border-bottom:1px solid rgba(235,203,141,.12);background:transparent;color:#efdcb4;cursor:pointer;text-align:left}.produce-route:last-child{border-bottom:0}.produce-route:hover:not(:disabled){background:color-mix(in srgb,var(--zone-color) 13%,rgba(255,255,255,.025))}.produce-route:disabled{cursor:not-allowed;opacity:.42}.route-index{display:grid;place-items:center;border-right:1px solid rgba(235,203,141,.12);color:var(--zone-color);font:800 12px ui-monospace,SFMono-Regular,Menlo,monospace}.route-stages,.route-result{display:grid;align-content:center;gap:7px;min-width:0;padding:9px}.route-result{border-left:1px solid rgba(235,203,141,.12);background:#ffffff06}.route-stage{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:6px;min-width:0}.route-stage small,.route-result small{color:#ebd3a57a;font-size:13px;font-weight:800}.route-values{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:0}.piece-entry{display:inline-grid;grid-template-columns:28px minmax(0,auto) auto;align-items:center;gap:4px;min-width:0;color:#fff0c9;font-size:16px;font-weight:800;line-height:1.2}.piece-entry img{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 4px 4px rgba(0,0,0,.32))}.piece-entry>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.piece-entry>b{color:#ffe1a1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px}.piece-entry.is-empty{grid-template-columns:1fr;color:#efdcb494}.choice-card{min-height:112px;padding:13px;border:1px solid rgba(235,203,141,.2);background:#ffffff09;color:#efdcb4;cursor:pointer;text-align:left}.choice-card:hover:not(:disabled){border-color:#e7ba5eb8;background:#c78f391f;transform:translateY(-2px)}.choice-card.is-selected:not(:disabled){border-color:#f1c66f;background:linear-gradient(135deg,#daa03f3d,#79372333);box-shadow:0 0 0 2px #f1c66f29,0 12px 28px #4e231357;transform:translateY(-3px)}.choice-card:disabled{cursor:not-allowed;opacity:.42}.choice-card span,.choice-card strong,.choice-card em,.choice-card small{display:block}.choice-card span{color:#cfa75d;font-size:14px;font-weight:800}.choice-card strong{margin:5px 0;color:#fff0cc;font-size:20px}.choice-card em,.choice-card small{color:#eed8ae94;font-size:14px;font-style:normal;line-height:1.45}.action-dock{position:fixed;inset:auto 18px 17px;z-index:11;display:grid;grid-template-columns:205px 1fr;min-height:108px;border:1px solid rgba(238,205,143,.28);background:#180f0ced;box-shadow:0 20px 60px #00000073;backdrop-filter:blur(20px);transition:opacity .2s ease,transform .2s ease;overflow:visible}.action-dock.is-disabled{opacity:.38;pointer-events:none;transform:translateY(8px)}.action-dock.is-action-collapsed{min-height:48px;max-height:48px;overflow:hidden}.action-dock.is-action-collapsed .six-actions{display:none}.action-dock.is-action-collapsed .dock-heading{display:flex;align-items:center;gap:10px;padding:8px 14px;border-right:0}.action-dock.is-action-collapsed .dock-heading strong{font-size:22px}.action-dock.is-action-collapsed .dock-heading em{display:none}.dock-heading{display:grid;align-content:center;padding:16px 22px;border-right:1px solid rgba(238,205,143,.18);background:#781b2038}.dock-heading span{color:#cda45c;font-size:11px;font-weight:800;letter-spacing:.1em}.dock-heading strong{color:#fff0c8;font-family:Songti SC,STSong,serif;font-size:28px}.dock-heading em{color:#eed6a98a;font-size:11px;font-style:normal}.six-actions{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));isolation:isolate;perspective:900px}.six-actions button{position:relative;display:grid;align-content:center;gap:3px;min-width:0;padding:12px 14px;border:0;border-right:1px solid rgba(238,205,143,.14);background:transparent;color:#ead8b1;cursor:pointer;text-align:left;transform:translateY(0) scale(1);transform-origin:50% 100%;transition:background-color .24s ease,box-shadow .24s ease,transform .24s cubic-bezier(.2,.78,.22,1),border-color .24s ease}.six-actions button:last-child{border-right:0}.six-actions button:before{position:absolute;inset:7px;border:1px solid rgba(239,199,115,.38);content:"";opacity:0;pointer-events:none;transform:scale(.96);transition:opacity .22s ease,transform .22s ease}.six-actions button:after{position:absolute;inset:auto 12px 0;height:3px;content:"";background:var(--red-bright);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.six-actions button:hover,.six-actions button[aria-pressed=true]{z-index:3;background-color:#8f2b275c;box-shadow:0 -16px 38px #b5463038,0 14px 24px #00000057;transform:translateY(-9px) scale(1.025)}.six-actions button:hover:before,.six-actions button[aria-pressed=true]:before{opacity:1;transform:scale(1)}.six-actions button:active{transform:translateY(-4px) scale(.995)}.six-actions button:hover:after,.six-actions button[aria-pressed=true]:after{transform:scaleX(1)}.six-actions button b{display:inline-grid;place-items:center;width:30px;height:22px;border:1px solid rgba(205,164,92,.46);color:#b9893d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1;transition:border-color .2s ease,color .2s ease}.six-actions button:hover b,.six-actions button[aria-pressed=true] b{border-color:#fbda93bd;color:#f4d18b}.six-actions button span{overflow:hidden;color:#fff0cb;font-size:15px;font-weight:800;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.six-actions button em{overflow:hidden;color:#ecd6ad80;font-size:10px;font-style:normal;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.toast{position:fixed;top:var(--hud-safe-top, 112px);left:50%;z-index:40;display:grid;width:min(480px,calc(100vw - 40px));padding:13px 17px;border:1px solid rgba(242,211,151,.42);border-left:5px solid var(--gold);background:#251711f5;box-shadow:var(--shadow);transform:translate(-50%);animation:toast-in .24s ease both}.toast span{color:#cda75f;font-size:10px;font-weight:800;letter-spacing:.12em}.toast strong{margin-top:3px;color:#fff0ca;font-size:14px}.toast.is-error{border-left-color:var(--red-bright)}.toast.is-success{border-left-color:#5bb077}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@keyframes scene-feedback-edge{0%{opacity:0}22%{opacity:.92}to{opacity:0}}@keyframes action-confirm-pulse{50%{filter:brightness(1.16);box-shadow:0 0 0 4px #7ade9529,0 15px 42px #1a77448a;transform:translateY(-1px)}}@keyframes action-cancel-pulse{50%{border-color:#ffab9eeb;box-shadow:0 0 18px #ce3e4047}}@keyframes action-gold-pulse{50%{border-color:#f2d392c2;background:#ca9a4a38;box-shadow:0 0 18px #d5a64e33}}.setup-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:36px}.setup-backdrop{position:absolute;inset:0;background:linear-gradient(90deg,#140c09f5,#140c09b3),url(./assets/reference-board.png) center / cover;filter:saturate(.72) contrast(1.1)}.setup-card{position:relative;width:min(650px,94vw);max-height:calc(100dvh - 72px);padding:42px 46px 34px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid rgba(237,204,142,.38);border-top:5px solid var(--red-bright);background:#1e130ef0;box-shadow:0 40px 120px #0000009e;backdrop-filter:blur(22px)}.setup-card h2{margin:8px 0 14px;color:#fff0c5;font-family:Songti SC,STSong,serif;font-size:clamp(36px,4.2vw,58px);line-height:1.06}.setup-card>p{margin:0 0 22px;color:#efd9aead;font-size:14px;line-height:1.7}.leader-field,.team-count-field{display:grid;gap:8px;margin:0 0 18px;padding:0;border:0}.leader-field>span,.team-count-field legend{color:#d7b471;font-size:12px;font-weight:800}.leader-field input{width:100%;height:48px;padding:0 14px;border:1px solid rgba(235,204,145,.26);background:#ffffff0d;color:#fff0cd}.team-count-field>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.team-count-field label{cursor:pointer}.team-count-field input{position:absolute;opacity:0;pointer-events:none}.team-count-field label span{display:grid;place-items:center;min-height:54px;border:1px solid rgba(235,204,145,.2);background:#ffffff09;color:#efdab2b3;font-size:11px}.team-count-field label b{color:#fff0ca;font-size:19px}.team-count-field input:checked+span{border-color:#e3b14fc2;background:#a5282f4d;color:#fff0ca}.setup-rules{display:grid;gap:7px;margin:0 0 20px;padding:13px 15px;border-left:3px solid #b98d43;background:#ffffff09}.setup-rules span{color:#edd8afa6;font-size:11px}.setup-rules b{display:inline-block;min-width:74px;color:#e9c981}.credit-block{display:grid;gap:4px;margin:0 0 20px;padding:14px 16px;border:1px solid rgba(255,211,111,.36);border-left:4px solid #d34245;background:linear-gradient(120deg,#ffcf601f,#a42d2814),#ffffff09;color:#ffedc5d1;box-shadow:inset 0 0 28px #ffc2420f,0 0 26px #be432d1f;animation:credit-glow 3.8s ease-in-out infinite}.credit-block .credit-kicker{margin-top:2px;color:#f1c86f;font-size:11px;font-weight:900;letter-spacing:.12em}.credit-block strong{margin-bottom:4px;color:#fff3c8;font-size:16px;text-shadow:0 0 14px rgba(255,212,105,.42)}.credit-block>span:not(.credit-kicker){color:#f6e1b5b8;font-size:12px}@keyframes credit-glow{50%{border-color:#ffe089b3;box-shadow:inset 0 0 34px #ffc2421a,0 0 34px #be432d33}}.setup-card>small{display:block;margin-top:12px;color:#e8d2a86b;font-size:10px;text-align:center}.teaching-team-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:14px;border:1px solid rgba(216,170,72,.38);border-radius:12px;background:#291811b3}.teaching-team-fields legend{padding:0 8px;color:var(--gold);font-size:13px;font-weight:800;letter-spacing:.12em}.teaching-team-fields label{display:grid;gap:6px}.teaching-team-fields label span{color:#f0dfb7b8;font-size:12px}.teaching-team-fields input{width:100%;min-width:0;padding:11px 12px;border:1px solid rgba(216,170,72,.44);border-radius:8px;background:#110b08e0;color:#fff1c7;font-weight:800}.teaching-progress{position:fixed;top:var(--hud-safe-top, 154px);left:18px;z-index:18;width:min(320px,calc(100vw - 36px));padding:14px 16px 15px;border:1px solid rgba(231,190,99,.72);border-left:4px solid var(--red-bright);border-radius:10px;background:linear-gradient(135deg,#311411f5,#140d0af0);box-shadow:0 16px 38px #0000006b;pointer-events:none}.teaching-progress header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;color:var(--gold);font-size:12px;letter-spacing:.12em}.teaching-progress strong{display:block;color:#fff0bf;font-size:19px;line-height:1.25}.teaching-progress p{margin:6px 0 10px;color:#f0dfb7c7;font-size:13px;line-height:1.55}.teaching-step-dots{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.teaching-step-dots i{height:5px;border-radius:99px;background:#f0dfb72e}.teaching-step-dots i.is-complete{background:#67b878}.teaching-step-dots i.is-current{background:var(--gold);box-shadow:0 0 12px #d8aa48b3}.six-actions button.is-teaching-target{border-color:#ffdc7ef2;box-shadow:0 0 0 2px #d8aa4847,0 0 22px #d8aa4875;animation:teaching-target-pulse 1.45s ease-in-out infinite}.six-actions button:disabled:not(.is-teaching-target){opacity:.34;filter:saturate(.35);cursor:not-allowed}@keyframes teaching-target-pulse{50%{transform:translateY(-2px);box-shadow:0 0 0 3px #d8aa482e,0 0 30px #d8aa48b3}}.teaching-complete-overlay{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:28px}.teaching-complete-backdrop{position:absolute;inset:0;background:radial-gradient(circle at center,#5b201ab8,#090605f5);backdrop-filter:blur(8px)}.teaching-complete-overlay article{position:relative;width:min(820px,100%);max-height:calc(100vh - 56px);padding:38px 42px;overflow:auto;border:1px solid rgba(231,190,99,.72);border-radius:18px;background:linear-gradient(145deg,#3b1815,#160d0a 68%);box-shadow:0 32px 90px #000000b8}.teaching-complete-overlay article>span{color:var(--gold);font-size:13px;font-weight:900;letter-spacing:.18em}.teaching-complete-overlay h2{margin:10px 0 8px;color:#fff0be;font-size:clamp(30px,4vw,48px);line-height:1.16}.teaching-complete-overlay article>p{color:#f0dfb7c7;line-height:1.7}.teaching-complete-overlay ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0;padding:0;list-style:none}.teaching-complete-overlay li{display:grid;gap:5px;padding:14px;border:1px solid rgba(216,170,72,.24);border-radius:10px;background:#ffefbe0e}.teaching-complete-overlay li b{color:#ffe9a8}.teaching-complete-overlay li span{color:#f0dfb7ad;font-size:13px}.teaching-complete-actions{display:flex;align-items:center;gap:16px}.teaching-complete-actions button{min-height:46px;padding:0 20px;border:1px solid rgba(216,170,72,.72);border-radius:8px;background:#712b21e6;cursor:pointer}.teaching-complete-actions strong{color:var(--gold)}.mobile-block{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 50% 35%,#4b211c,#120b08 72%)}.mobile-block>div{width:min(620px,100%);padding:30px 26px;border:1px solid rgba(216,170,72,.6);border-radius:16px;background:#160d0af0;text-align:center;box-shadow:var(--shadow)}.mobile-block span{color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.16em}.mobile-block h1{margin:12px 0;color:#fff0be;font-size:clamp(26px,7vw,42px);line-height:1.2}.mobile-block p{margin:0;color:#f0dfb7b8;line-height:1.7}@media(max-width:1280px){.game-hud{grid-template-columns:minmax(220px,1.1fr) minmax(150px,.68fr) minmax(350px,1.55fr) 135px auto}.game-hud>section,.view-tools{padding:14px 13px}.brand-block{padding-left:28px!important}.choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-grid.is-produce-zones{grid-template-columns:repeat(2,minmax(0,1fr))}.action-dock{grid-template-columns:175px 1fr}.dock-heading{padding:14px 17px}}@media(max-width:1180px){.camera-waypoints{display:none}.camera-view-select{display:block}.brand-block p,.brand-kicker,#resetButton,.six-actions button em{display:none}.card-inspector{--card-inspector-width: 188px;right:10px;width:188px;min-width:0}.card-photo-shell img,.card-inspector canvas{max-height:calc(100vh - 250px)}.game-hud{grid-template-areas:"brand turn gdp tools" "resources resources resources resources";grid-template-columns:minmax(180px,1.2fr) minmax(140px,1fr) minmax(110px,.7fr) auto;min-height:0}.brand-block{grid-area:brand}.turn-block{grid-area:turn}.resource-strip{grid-area:resources;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:6px 10px!important;border-top:1px solid rgba(238,205,143,.14)}.resource-item{min-height:46px;padding-block:4px}.resource-token-icon{width:34px;height:28px}.resource-copy b{font-size:20px}.gdp-block{grid-area:gdp}.view-tools{grid-area:tools}.action-panel,.card-inspector,.toast{top:var(--hud-safe-top, 154px)}.action-dock{grid-template-columns:1fr;max-height:min(42dvh,360px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.game-shell.is-action-open .action-dock{min-height:48px;max-height:48px;overflow:hidden}.game-shell.is-action-open .six-actions{display:none}.dock-heading{display:flex;align-items:center;gap:10px;padding:8px 14px;border-right:0;border-bottom:1px solid rgba(238,205,143,.18)}.dock-heading strong{font-size:22px}.dock-heading em{display:none}.six-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.six-actions button{min-height:58px;padding:9px 12px}.choice-sheet{bottom:190px}}@media(max-width:760px){.game-hud{grid-template-areas:"turn gdp tools" "resources resources resources";grid-template-columns:minmax(0,1fr) minmax(88px,.7fr) auto}.brand-block{display:none}.game-hud>section,.view-tools{padding:6px 7px}.turn-block{min-height:48px}.turn-block strong{font-size:14px}.turn-block em,.gdp-block span{font-size:10px}.gdp-block em{display:none}.gdp-block strong b{font-size:27px}.view-tools button{padding:7px;font-size:10px}.view-tools kbd{display:none}.resource-strip{gap:4px;padding:4px 6px!important}.resource-item{grid-template-columns:28px minmax(0,1fr);justify-items:center;gap:3px;min-height:44px;padding:3px 2px}.resource-token-icon{width:28px;height:24px}.resource-copy{grid-template-columns:1fr;justify-items:start;gap:0}.resource-copy>span{font-size:9px}.resource-copy b{font-size:15px;line-height:1}.card-inspector{display:block;position:fixed;right:8px;width:min(260px,calc(100vw - 16px));min-width:0;max-height:26dvh;overflow-y:auto}.card-inspector.is-collapsed{top:var(--hud-safe-top, 116px);width:44px;min-width:44px;max-height:none;overflow:visible}.card-inspector.is-collapsed .inspector-toggle{min-height:108px}.game-shell.is-action-open .card-inspector{display:none}.action-panel{top:var(--hud-safe-top, 116px);right:8px;left:8px;width:auto;min-width:0;max-height:calc(100dvh - 132px);padding:12px;overflow-y:auto}.auto-fill-control{grid-template-columns:1fr}.auto-fill-control button{min-height:42px}.action-dock{inset:auto 8px 8px;max-height:42dvh}.six-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.six-actions button{min-height:54px;padding:8px 10px}.six-actions button span{overflow:visible;white-space:normal}.choice-sheet{inset:auto 8px calc(42dvh + 20px);max-height:calc(58dvh - 28px);padding:12px}.choice-grid,.choice-grid.is-produce-zones{grid-template-columns:1fr}.setup-overlay{padding:8px}.setup-card{width:100%;max-height:calc(100dvh - 16px);padding:24px 20px 20px}.setup-card h2{font-size:clamp(32px,11vw,44px)}.team-count-field>div{grid-template-columns:repeat(2,1fr)}}@media(max-height:760px){.game-hud{min-height:78px}.game-hud>section,.view-tools{padding-block:10px}.card-inspector,.toast{top:var(--hud-safe-top, 92px)}.action-dock{min-height:94px}}@media(max-width:380px){.turn-block strong{font-size:13px}.gdp-block strong b{font-size:23px}.dock-heading{padding-inline:10px}.six-actions button{min-height:50px;padding-inline:8px}.setup-card{padding-inline:14px}}@media(max-width:760px){.camera-console{right:8px;bottom:calc(42dvh + 18px);width:164px}.book-reader{padding:8px}.book-reader-panel{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.book-reader-stage{grid-template-columns:34px minmax(0,1fr) 34px;gap:4px;padding:8px}.book-nav{width:30px;height:62px;font-size:28px}.book-reader-panel>footer small{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}}
