:root{font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;color:#173b4a;background:#eef5ef;font-synthesis:none;--teal:#087e8e;--coral:#e66d62;--ink:#153f51}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e08a35;outline-offset:3px}button:disabled{opacity:.55;cursor:default}[hidden]{display:none!important}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.game-shell{width:min(760px,100%);height:100svh;min-height:480px;margin:auto;padding:0 14px 8px;display:flex;flex-direction:column}.site-header{height:39px;flex:none;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #b5d3d355}.site-header a{color:#326472;text-decoration:none;font-size:12px;font-weight:700}.language select{border:0;background:transparent;color:#315b66;max-width:145px;padding:6px;font-size:11px}.game-heading{min-height:60px;flex:none;display:flex;align-items:center;gap:10px;direction:ltr}.game-heading h1{font-size:22px;line-height:1.2;margin:0;flex:1;min-width:0;letter-spacing:-.5px}.back{width:41px;height:41px;flex:none;display:grid;place-items:center;border:1px solid #a1bec3;border-radius:12px;color:#1e5062}.back svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.heading-actions{display:flex;gap:5px;flex:none}.icon-button{display:grid;place-items:center;width:40px;height:40px;flex:none;padding:0;border:1px solid #bed4d1;border-radius:11px;background:#fafff9;color:#28586a;font-size:20px;font-weight:700}.icon-button svg{width:22px;height:22px;fill:currentColor;stroke:currentColor;stroke-width:1.5}.pause-bars{display:flex;gap:5px}.pause-bars i{display:block;width:4px;height:16px;border-radius:1px;background:currentColor}.hud{display:grid;grid-template-columns:minmax(92px,1fr) 62px 70px;gap:5px 13px;align-items:center;min-height:64px;flex:none;padding-bottom:9px}.health{display:flex;gap:3px;align-items:center;flex-wrap:wrap;max-width:200px}.health i{display:block;width:12px;height:14px;clip-path:polygon(50% 0,100% 21%,90% 70%,50% 100%,10% 70%,0 21%);background:#e7776c}.health i.empty{background:#d1dedb}.health b{font-size:10px;color:#16769a;margin-inline-start:4px}.readout{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.readout small{font-size:9px;color:#60818c}.readout strong{font-variant-numeric:tabular-nums;font-size:17px;font-weight:750}.xp-group{grid-column:1/-1;display:flex;align-items:center;gap:9px;line-height:1}.xp-group>span{font-size:9px;color:#5b8086;white-space:nowrap}.xp-track{height:5px;flex:1;border-radius:9px;overflow:hidden;background:#d1e4df}.xp-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#1895ac,#62c8b4);border-radius:inherit}.arena{position:relative;flex:1;min-height:0;width:min(100%,600px);margin-inline:auto;border:1px solid #8cbbbe;border-radius:19px;overflow:hidden;background:#c9e9e6;box-shadow:0 8px 24px #2c626818;touch-action:none;isolation:isolate}.arena canvas{display:block;width:100%;height:100%;touch-action:none}.screen{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:17px;background:#def4f13b;backdrop-filter:blur(5px)}.screen:empty{display:none}.panel{width:min(100%,430px);max-height:100%;overflow:auto;padding:24px 23px;border:1px solid #fbfffc;background:#fafff4f2;border-radius:22px;box-shadow:0 15px 40px #2b687b22;text-align:start}.panel .eyebrow{font-size:9px;letter-spacing:1.8px;color:#2a7f92;margin:0 0 13px;font-weight:800}.panel h2{font-size:31px;line-height:1.15;letter-spacing:-.8px;margin:0 0 14px;color:#14465a}.panel p{font-size:12px;line-height:1.75;color:#54747b;margin:9px 0 16px}.panel .intro-mark{display:block;font-size:10px;color:#397c83;margin-bottom:18px}.primary,.secondary{min-height:45px;border-radius:11px;font-weight:700;font-size:13px;padding:10px 14px}.primary{border:1px solid #0d8a97;background:#128e9a;color:white;box-shadow:0 3px 0 #0c6776}.secondary{border:1px solid #accbc6;background:#f5fcf1;color:#2d6770}.panel>.primary,.panel>.secondary{display:block;width:100%;margin-top:10px}.panel-actions{display:flex;gap:8px;margin-top:13px}.panel-actions>*{flex:1}.board-entry{margin-top:20px;border-top:1px solid #bdd4cf;padding-top:12px}.board-entry summary{font-size:11px;color:#486e77;cursor:pointer}.board-entry p{font-size:10px;margin:10px 0}.consent{font-size:10px;line-height:1.6;display:flex;gap:7px;align-items:flex-start;color:#4a6b74;text-align:start}.consent input{margin-top:3px;accent-color:#118d9b;width:16px;height:16px;flex:none}.nickname{display:flex;flex-direction:column;gap:5px;font-size:10px;margin:10px 0}.nickname input{width:100%;height:36px;border:1px solid #a2c5c5;border-radius:7px;background:white;padding:6px 9px;color:#204b59}.board-entry button{width:100%;margin:5px 0;min-height:39px;font-size:11px}.upgrade-list{display:flex;flex-direction:column;gap:9px}.upgrade-card{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;text-align:start;padding:11px;border:1px solid #a6cbcc;border-radius:12px;background:#f9fffb;color:#245264;min-height:78px}.upgrade-card:hover{border-color:#148797;background:#e1f5ed}.upgrade-card>b{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:#fff;background:#368f99;font-size:21px;font-weight:500}.upgrade-card strong{display:block;font-size:13px;margin-bottom:4px}.upgrade-card small{font-size:10px;line-height:1.55;display:block;color:#597985}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.result-stats div{display:flex;flex-direction:column;gap:5px}.result-stats small{font-size:9px;color:#70878b}.result-stats strong{font-size:21px;color:#22576b}.result-build{display:flex;flex-wrap:wrap;gap:5px}.result-build span{font-size:9px;color:#327a82;border:1px solid #c1dcd2;border-radius:20px;padding:3px 7px}.move-controls{position:absolute;inset:auto 10px 9px;z-index:3;display:flex;justify-content:space-between;direction:ltr;pointer-events:none}.move-controls button{pointer-events:auto;width:46px;height:42px;border:1px solid #629baf88;border-radius:12px;background:#f1fff3a3;color:#1b6278;font-size:17px;touch-action:none}.build-strip{position:absolute;inset:8px auto auto 9px;display:flex;gap:4px;z-index:1;pointer-events:none}.build-strip span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#f7fff4c9;border:1px solid #9ccaca77;color:#28748a;font-size:15px}.status{flex:none;min-height:18px;font-size:10px;line-height:1.5;color:#33778a;text-align:center;margin:5px 0 0}dialog{width:min(620px,calc(100% - 24px));max-height:86svh;padding:0;border:1px solid #83b4be;border-radius:18px;background:#f6fff7;color:#254f60;box-shadow:0 20px 70px #153f5144}dialog::backdrop{background:#14495688;backdrop-filter:blur(4px)}.modal-heading{position:sticky;top:0;z-index:2;background:#f6fff7;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 13px;border-bottom:1px solid #bad8ce}.modal-heading h2{font-size:19px;margin:0}.modal-body{padding:17px;overflow:auto}.modal-body p,.modal-body li{font-size:12px;line-height:1.8}.modal-body ol{padding-inline-start:20px;margin:12px 0}.modal-body li+li{margin-top:9px}.modal-body figure{margin:0}.modal-body img{width:100%;height:auto;border-radius:12px}.modal-body figcaption{font-size:10px;line-height:1.6;color:#567b84;margin-top:6px}#board-list{list-style:none;padding:0}#board-list li{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #c9ded9}#board-list li b{min-width:23px;color:#6f9ba1;font-size:14px}#board-list li span{flex:1;overflow-wrap:anywhere}#board-list li strong{font-variant-numeric:tabular-nums;color:#0c778c}.screen[data-phase=upgrade]{background:#184f5b32}.screen[data-phase=over]{background:#163f531a}[dir=rtl] .game-heading h1{direction:rtl;letter-spacing:0}[dir=rtl] .panel h2{letter-spacing:0}
@media(max-width:420px){.game-shell{padding-inline:9px}.game-heading{gap:7px;min-height:58px}.game-heading h1{font-size:19px}.back{width:37px;height:37px;border-radius:10px}.heading-actions{gap:4px}.icon-button{width:36px;height:36px;font-size:18px}.hud{min-height:61px;gap:4px 10px}.readout strong{font-size:16px}.panel{padding:20px 17px;border-radius:18px}.panel h2{font-size:27px}.panel p{font-size:11px}.screen{padding:12px}.arena{border-radius:16px}.upgrade-card{min-height:76px}.upgrade-card strong{font-size:12px}.upgrade-card small{font-size:10px}.health i{width:11px;height:13px}.site-header a{font-size:11px}}@media(max-height:650px){.site-header{height:32px}.game-heading{min-height:48px}.hud{min-height:51px;padding-bottom:6px}.game-heading h1{font-size:18px}.panel h2{font-size:24px}.panel{padding:16px}.panel p{font-size:10px;margin-bottom:10px}.panel .eyebrow{margin-bottom:7px}.panel .intro-mark{margin-bottom:10px}.board-entry{margin-top:11px}.screen{padding:10px}.upgrade-card{min-height:65px;padding:9px}.upgrade-card small{font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.screen{backdrop-filter:none}.primary,.upgrade-card{transition:none}}

.audio-range{display:flex;align-items:center;gap:10px;font-size:10px;color:#54747b;margin-top:16px}.audio-range input{flex:1;min-width:0;accent-color:#138d9a}

.controls-settings{margin-top:14px;font-size:10px;color:#476d78}.controls-settings summary{cursor:pointer}.controls-settings label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.controls-settings select{min-width:72px;min-height:34px;border:1px solid #a7c7c6;border-radius:7px;background:#f6fff5;color:#2a6373;padding:5px}

/* Local3D presentation: compact one-screen shell; the field remains continuous. */
:root{background:#edf2eb;color:#233f4c;--ink:#243f50;--teal:#167f8b}
.game-shell{width:min(650px,100%);padding-inline:12px;min-height:440px}
.site-header{height:44px}.site-header a{display:flex;align-items:center;min-height:44px}.language select{min-height:44px;padding-inline:8px;font-size:12px}
.game-heading{min-height:59px;gap:9px}.game-heading h1{font-size:21px;overflow-wrap:anywhere}
.back,.icon-button{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:12px}.heading-actions{gap:5px}
.hud{grid-template-columns:minmax(94px,1fr) 64px 72px;min-height:58px;padding-bottom:8px;gap:6px 12px}
.health-bar{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-width:0;max-width:220px;min-height:30px}
.health-track{display:block;position:relative;width:100%;min-width:82px;height:12px;border:1px solid #7e9c8c;border-radius:5px;background:#dae3d8;overflow:hidden;box-shadow:inset 0 1px 2px #4b6b6133}
.health-fill{display:block;width:100%;height:100%;border-radius:3px;background:linear-gradient(180deg,#db8c78,#be5c57);box-shadow:inset 0 1px 0 #ffdfbf99;transform-origin:left center}
.health-bar[data-state=low] .health-fill{background:#b94343}.health-bar[data-state=empty] .health-fill{width:0!important}
.health-shield{display:block;min-height:0;color:#237f8b;line-height:1;font-size:12px;font-weight:750;letter-spacing:1px}.health-shield:empty{display:none}
.readout small{font-size:10px;color:#5c7279}.readout strong{font-size:17px;color:#263f50}
.xp-group>span{font-size:10px;color:#3f6857}.xp-track{height:7px;border:1px solid #80a781;background:#d0dfcc}.xp-track i{background:linear-gradient(90deg,#54d62e,#8bff4d);box-shadow:inset 0 1px #d0ff99}
.arena{width:min(100%,448px);border-color:#7e9d9d;border-radius:16px;background:#b5cecf;box-shadow:0 5px 16px #365f6520}
.move-controls{inset:auto 11px 11px}.move-controls button{width:52px;height:46px;min-height:44px;border:1px solid #4e7a8499;background:#f3f6e9dc;color:#284b5c;box-shadow:0 2px 4px #28454b22;border-radius:13px}.move-controls button:active{background:#bddbd3;transform:translateY(1px)}
.build-strip{inset:9px auto auto 9px;max-width:calc(100% - 18px);flex-wrap:wrap}.build-strip span{background:#f2f8e9e6;border-color:#6f9e9580;color:#246e7c;box-shadow:0 1px 3px #335e6322}
.primary,.secondary,.nickname input,.board-entry button{min-height:44px}.controls-settings select{min-height:44px}.board-entry summary,.controls-settings summary{min-height:36px;display:flex;align-items:center}.consent{min-height:44px;align-items:center;gap:10px}.consent input{width:20px;height:20px;margin:0}.audio-range{min-height:44px}.audio-range input{min-height:44px}
.panel h2{font-size:29px}.panel p{font-size:12px}.panel{border-color:#fbfff4;background:#f7faeef5}.screen{background:#dce5db24;backdrop-filter:blur(3px)}
[dir=rtl] .health-fill{transform-origin:right center}[dir=rtl] .game-heading h1{letter-spacing:0}
@media(max-width:420px){.game-shell{padding-inline:9px}.game-heading{gap:6px;min-height:56px}.game-heading h1{font-size:18px;letter-spacing:-.3px}.heading-actions{gap:4px}.back,.icon-button{width:44px;height:44px;min-width:44px;min-height:44px}.hud{min-height:55px;gap:5px 10px;grid-template-columns:minmax(80px,1fr) 61px 65px}.arena{border-radius:14px}.panel h2{font-size:25px}.panel{padding:19px 17px}.readout strong{font-size:16px}}
@media(max-width:359px){.game-shell{padding-inline:6px}.game-heading{gap:5px}.game-heading h1{font-size:15px}.heading-actions{gap:3px}.panel{padding:15px}.panel p{font-size:11px}}
@media(max-height:650px){.site-header{height:44px}.game-heading{min-height:50px}.hud{min-height:49px;padding-bottom:5px}.game-heading h1{font-size:17px}.status{min-height:15px;font-size:9px;margin-top:3px}.panel h2{font-size:23px}.panel{padding:15px}.board-entry{margin-top:10px}.screen{padding:9px}.panel .intro-mark{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){.health-fill{transition:none}.move-controls button:active{transform:none}.screen{backdrop-filter:none}}

/* V5: canonical current-to-next values, distinct costs, and stable numeric order in RTL. */
.upgrade-change{display:block;margin-top:7px;padding-top:6px;border-top:1px solid #b5d1c6}.upgrade-change>strong{font-size:9px;color:#527177;margin-bottom:3px;letter-spacing:0}.upgrade-change-row{display:block;font-size:11px;line-height:1.55;color:#235e51;overflow-wrap:anywhere}.upgrade-change-row bdi{font-weight:750;font-variant-numeric:tabular-nums;unicode-bidi:isolate}.upgrade-change-row.is-cost{color:#89503e}.upgrade-change-note{display:block;color:#5a6d72;font-size:10px;line-height:1.5;margin-top:3px}.upgrade-card{align-items:start}.upgrade-card>b{margin-top:2px}@media(max-width:420px){.upgrade-change-row{font-size:10.5px}.upgrade-change-note{font-size:10px}}

/* Boss spoils share the existing paused panel and never add page height. */
.screen[data-phase=upgrade][data-choice-source=boss]{background:#6c4e201c}.boss-reward-panel{border-color:#d2ac62;background:#fff9eaf7}.boss-reward-panel .eyebrow{color:#89631f}.boss-reward-panel .upgrade-card{border-color:#c3a165;background:#fffdf4}.boss-reward-panel .upgrade-card:hover{border-color:#946b25;background:#f7edce}.boss-reward-panel .upgrade-card>b{background:#97702f}.upgrade-limit{display:block;margin:2px 0 5px;color:#6f6754!important;font-size:9px!important;line-height:1.45}.boss-reward-panel .upgrade-change{border-top-color:#d7c8a3}

/* Native game footer: preferences stay visible without extending the play viewport. */
.game-shell{padding-bottom:32px}
body>.tinyjoy-analytics-footer{position:fixed;inset:auto 0 0;z-index:20;height:24px;box-sizing:border-box;padding:0 8px;display:flex;align-items:center;justify-content:center;gap:8px;font:10px/1.2 system-ui,sans-serif;background:#edf2eb}
body>.tinyjoy-analytics-footer>button{height:24px;min-height:24px;flex:0 0 auto;padding:0;white-space:nowrap}
body>.tinyjoy-analytics-footer>.tinyjoy-internal-note{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.2}
