@font-face{font-family:system-fallback;src:local("Arial")}*{box-sizing:border-box}[hidden]{display:none!important} :root{color-scheme:dark;--bg:#101612;--panel:#171f19;--lime:#d4fa6b;--cyan:#76f4d9;--ink:#f0f1df;--muted:#889789;--line:#344036}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,"PingFang SC","Microsoft Yahei",sans-serif;min-width:320px}button,select,a{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a,select{outline-offset:5px}button:focus-visible,a:focus-visible,select:focus-visible,#viewport:focus-visible{outline:2px solid var(--lime)}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}button{color:inherit}.app{max-width:1600px;margin:auto;padding:0 4.25vw}.topbar{height:80px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-size:13px;font-weight:800;letter-spacing:1.8px;display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.brand-mark{font-size:33px;letter-spacing:-4px;line-height:1;margin-right:5px;color:var(--lime);font-weight:800}.brand-sub{font-size:9px;color:var(--muted);font-weight:400;letter-spacing:1.2px;margin-left:12px}.back-link{text-decoration:none;color:var(--ink);font-size:12px;letter-spacing:1px}.back-link:hover{color:var(--lime)}.title-row{display:flex;align-items:center;justify-content:space-between;padding:30px 0 26px}.edition,.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px}.edition{display:block;color:var(--muted);margin-bottom:6px}h1{font-size:clamp(65px,7.4vw,108px);line-height:.97;letter-spacing:-7px;margin:0;font-weight:900}.title-dot{color:var(--lime)}.chinese{font-size:21px;letter-spacing:4px;vertical-align:middle;margin-left:27px;font-weight:500}.intro{margin:29px 0 0;font-size:15px;line-height:1.9;letter-spacing:1px}.intro span{color:var(--muted);font-size:12px;letter-spacing:.5px}.game-layout{display:grid;grid-template-columns:260px minmax(0,1fr);border:1px solid var(--line);border-radius:5px;overflow:hidden;min-height:530px}.console{padding:25px 25px 0;display:flex;flex-direction:column;background:#182019;border-right:1px solid var(--line)}.console-top{display:flex;align-items:center;justify-content:space-between}.console-top .eyebrow{color:var(--muted);font-size:9px;letter-spacing:1.5px}.status-pill{font-size:10px;display:flex;gap:5px;align-items:center;color:var(--lime)}.status-pill i,.live-dot{display:inline-block;background:var(--lime);width:5px;height:5px;border-radius:50%}.score-line{display:flex;align-items:end;gap:15px;margin:14px 0 22px}.score{font-size:72px;line-height:1;letter-spacing:-4px;font-weight:700;font-variant-numeric:tabular-nums}.score-unit{font-size:8px;color:var(--muted);line-height:1.8;letter-spacing:1px;padding-bottom:5px}.small-stats{display:grid;grid-template-columns:1fr 1fr;padding-bottom:23px;border-bottom:1px solid var(--line);gap:13px}.small-stats div{display:flex;flex-direction:column;gap:10px}.small-stats span{font-size:10px;color:var(--muted);letter-spacing:1px}.small-stats strong{font-size:22px;letter-spacing:-.6px;font-weight:500;font-variant-numeric:tabular-nums}.small-stats b{font-weight:500}.small-stats small{font-size:10px;letter-spacing:0;color:var(--muted)}.difficulty{margin-top:23px}.difficulty label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.6px;color:#b9c6b8}.difficulty label span{font-size:9px;letter-spacing:1px;color:var(--muted)}select{appearance:none;border:1px solid #3e4a3e;background:#1e2921 url("data:image/svg+xml,%3Csvg width='9' height='5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1 3.5 3L8 1' fill='none' stroke='%23d4fa6b'/%3E%3C/svg%3E") no-repeat right 12px center;width:100%;border-radius:3px;color:var(--ink);font-size:12px;padding:11px 28px 11px 11px;margin-top:10px;cursor:pointer}.pace-bars{display:flex;gap:4px;margin-top:7px}.pace-bars i{height:3px;background:#3d4a3d;flex:1}.pace-bars i:nth-child(-n+5){background:var(--lime)}body[data-pace="easy"] .pace-bars i{background:#3d4a3d}body[data-pace="easy"] .pace-bars i:nth-child(-n+3){background:var(--lime)}body[data-pace="fast"] .pace-bars i{background:var(--lime)}.actions{margin-top:23px}.primary{border:0;background:var(--lime);color:#142016;font-size:13px;font-weight:600;border-radius:3px;padding:15px 16px;display:flex;align-items:center;justify-content:space-between;width:100%;transition:background .15s,transform .15s}.primary:hover{background:#e1ff92}.primary:active{transform:translateY(1px)}.primary span{font-size:20px;line-height:14px;font-weight:400}.secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.secondary-actions button{background:none;border:1px solid #40503f;border-radius:3px;font-size:11px;padding:10px 5px}.secondary-actions button:not(:disabled):hover{background:#263428}.rule{font-size:11px;line-height:1.9;color:#a3b29f;margin:21px 0 19px}.rule span{display:block;color:#e2e9d2;font-size:10px;margin-bottom:6px;letter-spacing:1px}.console-footer{border-top:1px solid var(--line);margin-top:auto;padding:15px 0;font-size:9px;color:#8e9e89;display:flex;justify-content:space-between}.console-footer span:last-child{color:var(--lime);font-size:15px;line-height:10px}.arena{position:relative;min-width:0;background:radial-gradient(ellipse at 50% 42%,#26372c 0%,#19271e 42%,#131d17 78%);overflow:hidden;min-height:530px}.arena-top,.arena-bottom{position:absolute;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;z-index:2;pointer-events:none}.arena-top{top:21px;font-size:9px;letter-spacing:1.3px}.arena-top>span{display:flex;align-items:center;gap:8px;color:#d2dec5}.arena-top small{font-size:9px;color:#8e9d87}.live-dot{height:4px;width:4px;box-shadow:0 0 9px #c5fb65}.scene-tools{display:flex;gap:15px;align-items:center;pointer-events:auto}.scene-tools button{background:none;border:none;padding:2px;color:#afbba9;font-size:10px;display:flex;align-items:center;gap:6px}.scene-tools button:hover{color:var(--ink)}#palette i{width:10px;height:10px;border-radius:50%;background:var(--lime);border:2px solid #72814c}.scene-tools #sound{padding-left:12px;border-left:1px solid #45513f}.scene-tools #sound span{color:var(--lime)}#viewport{position:absolute;inset:0;touch-action:none;outline-offset:-5px}#viewport canvas{display:block;width:100%;height:100%;touch-action:none}#viewport:focus{outline:none}#viewport:focus-visible{outline:2px solid var(--lime)}.field-note{position:absolute;bottom:56px;left:29px;display:flex;align-items:center;gap:12px;pointer-events:none;color:#b9c4ad;font-size:10px;letter-spacing:.8px}.field-note small{display:block;font-size:8px;letter-spacing:1.7px;color:#78906f;margin-top:7px}.note-number{font-size:30px;color:var(--lime);font-weight:300;line-height:1}.arena-bottom{bottom:19px;color:#81957d;font-size:8px;letter-spacing:1.5px}.arena-bottom b{color:#bfccab;font-weight:400}.boundary-label{display:flex;align-items:center;gap:8px;font-size:7px;letter-spacing:1px}.boundary-label i{display:block;width:4px;height:4px;border-radius:50%;background:#61794e}.overlay{position:absolute;inset:0;z-index:4;background:#0e18186b;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(4px)}.overlay[hidden]{display:none}.overlay-card{border:1px solid #64794a;border-radius:5px;background:#17221ef0;box-shadow:0 15px 65px #0004;padding:30px;width:310px}.overlay .eyebrow{color:var(--lime);font-size:8px}.overlay h2{font-size:29px;margin:16px 0 12px;letter-spacing:-1px;font-weight:500}.overlay p{color:#a7b5a0;font-size:12px;line-height:1.8;margin:0 0 24px}.controls-row{display:flex;justify-content:space-between;align-items:center;padding:17px 0 19px;border-bottom:1px solid var(--line);gap:15px}.control-legend{display:flex;align-items:center;gap:22px}.control-legend>.eyebrow{font-size:8px;color:#94a487;letter-spacing:1.5px}.control-legend>span:not(.eyebrow){display:flex;align-items:center;gap:4px;font-size:10px;color:#8d9e85}.control-legend em{font-style:normal;padding:0 4px;color:#51614c}kbd{font-family:inherit;font-size:8px;line-height:18px;min-width:20px;height:20px;display:inline-flex;justify-content:center;align-items:center;padding:0 5px;border:1px solid #3a4937;border-radius:3px;color:#d6dfc9;background:#172017}kbd:first-child{margin-left:0}.touch-hint{color:#809176;font-size:10px;letter-spacing:.5px}.dpad{display:flex;gap:5px}.dpad button{width:31px;height:31px;background:#202c20;border:1px solid #43553d;border-radius:3px;color:#d1e7bd;font-size:16px;touch-action:manipulation}.dpad button:hover,.dpad button:active{background:var(--lime);color:#172015}footer{display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#72846c;padding:21px 0 23px;letter-spacing:1px}.footer-separator{padding:0 15px;color:#43523f}.footer-star{margin-left:15px;font-size:21px;vertical-align:middle;color:var(--lime)}.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}.webgl-error{position:absolute;inset:100px 30px;text-align:center;display:grid;place-content:center;color:#c2d5b7;line-height:1.8}
@media(min-width:1500px){.app{padding:0 65px}.arena{min-height:610px}.console{padding:28px 28px 0}.game-layout{grid-template-columns:285px minmax(0,1fr)}.score{font-size:80px}.difficulty{margin-top:28px}.actions{margin-top:30px}.rule{margin-top:28px}}@media(max-width:1100px){.game-layout{grid-template-columns:225px minmax(0,1fr)}.console{padding:22px 20px 0}.score{font-size:65px}.score-line{gap:10px}.control-legend{gap:13px}.control-legend>.eyebrow,.touch-hint{display:none}.title-row{padding:28px 0 24px}.arena{min-height:530px}.boundary-label{font-size:0}.boundary-label i{display:none}.brand-sub{font-size:8px}.arena-top,.arena-bottom{left:19px;right:19px}}
@media(max-width:760px){.app{padding:0 20px}.topbar{height:65px}.brand-sub{display:none}.title-row{padding:26px 0 23px;align-items:end}.edition{font-size:8px;letter-spacing:1.6px}h1{font-size:67px;letter-spacing:-5px}.chinese{font-size:15px;letter-spacing:2px;margin-left:19px}.intro{font-size:11px;letter-spacing:.2px;margin:0 0 3px}.intro span{font-size:9px;letter-spacing:0}.game-layout{grid-template-columns:1fr;display:flex;flex-direction:column}.arena{height:470px;min-height:0;order:0}.console{order:1;border-right:0;border-top:1px solid var(--line);padding:17px 19px;display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.console-top{grid-column:1;grid-row:1}.score-line{grid-column:1;grid-row:2;margin:7px 0 13px}.score{font-size:55px}.score-unit{font-size:7px}.small-stats{grid-column:1;grid-row:3;border:0;padding:0;gap:8px}.small-stats div{gap:7px}.small-stats strong{font-size:18px}.small-stats span{font-size:9px}.small-stats small{font-size:9px}.difficulty{grid-column:2;grid-row:1 / 3;margin:0}.difficulty label{font-size:9px}.difficulty select{font-size:11px;padding-top:9px;padding-bottom:9px}.actions{grid-column:2;grid-row:3;margin:0;align-self:end}.primary{padding:12px 13px;font-size:12px}.secondary-actions{margin-top:6px;gap:6px}.secondary-actions button{padding:7px 2px;font-size:10px}.rule,.console-footer{display:none}.controls-row{align-items:center;padding:15px 0;gap:10px}.control-legend{display:none}.touch-hint{display:block;font-size:10px;max-width:130px;line-height:1.8}.dpad{gap:6px}.dpad button{width:43px;height:43px;font-size:20px}.arena-bottom{font-size:7px}.field-note{left:22px;bottom:53px;font-size:9px}.field-note small{font-size:7px}.arena-top{top:18px;font-size:8px;letter-spacing:1px}.arena-top small{font-size:8px}.scene-tools{gap:9px}.scene-tools button{font-size:9px}.scene-tools #sound{padding-left:8px}footer{font-size:7px;letter-spacing:.5px;padding:18px 0}.footer-separator{padding:0 7px}footer>span:last-child{font-size:0}.footer-star{font-size:21px}.overlay-card{width:280px;padding:25px}.console-top .eyebrow{font-size:8px;letter-spacing:1px}.status-pill{font-size:8px}.title-row .intro{display:none}}
@media(max-width:390px){.app{padding:0 14px}.console{column-gap:17px;padding:16px 15px}.arena{height:420px}.arena-top,.arena-bottom{left:15px;right:15px}.dpad button{width:38px;height:40px}.score{font-size:49px}.brand{font-size:11px}.chinese{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Scene selection remains outside pause/game-over overlays on every viewport. */
.theme-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 14px;padding:13px 17px;border:1px solid var(--line);border-radius:4px;background:var(--panel)}.theme-bar>div{display:flex;align-items:center;gap:18px;min-width:0}.theme-bar label{font-size:11px;white-space:nowrap;letter-spacing:.7px}.theme-bar label span{margin-left:8px;color:var(--muted);font-size:9px;letter-spacing:1px}.theme-bar select{width:215px;margin:0;font-size:11px;min-height:38px}.theme-bar #theme-caption{color:var(--muted);font-size:10px;letter-spacing:.7px}
body[data-theme="real"]{--bg:#101814;--panel:#17221b;--lime:#bfca9c;--cyan:#89b7a2;--line:#36473b;--muted:#94a292}body[data-theme="real"] .arena{background:radial-gradient(ellipse at 45% 25%,#3a4a3d,#1a2a21 58%,#111b16)}body[data-theme="fantasy"]{--bg:#15171b;--panel:#1e2227;--lime:#d6ba83;--cyan:#9ab2bd;--line:#454345;--muted:#9c9b96}body[data-theme="fantasy"] .arena{background:radial-gradient(ellipse at 45% 24%,#343c47,#1d242d 55%,#15191f)}body[data-theme="fantasy"] .console{background:#1d2227}body[data-theme="fantasy"] select{background-color:#282b2e;border-color:#514c43}body[data-theme="fantasy"] .overlay-card{background:#1d2227f5;border-color:#837355}body[data-theme="fantasy"] .primary:hover{background:#e9d2a4}body[data-theme="real"] .primary:hover{background:#d1dbb3}
@media(max-width:760px){.theme-bar{gap:12px;margin-bottom:12px;padding:10px 12px}.theme-bar>div{display:block}.theme-bar label{font-size:10px}.theme-bar label span{font-size:8px;margin-left:5px}.theme-bar #theme-caption{display:block;font-size:8px;margin-top:6px;letter-spacing:0}.theme-bar select{width:170px;flex-shrink:0;padding-left:9px;font-size:10px}.theme-bar>div{min-width:84px}}
@media(max-width:390px){.theme-bar{padding:9px;gap:7px}.theme-bar select{width:158px}.theme-bar label span{display:none}.theme-bar #theme-caption{max-width:100px;line-height:1.5}}
