@import url('./fonts/fonts.css');
:root{color-scheme:light;--ink:#3a2614;--paper:#fff3d4;--muted:#809183;--forest:#214f3f;--gold:#e9dca2;--coral:#cf825d;font-family:Nunito,'Segoe UI',system-ui,sans-serif;font-synthesis:none}
/* Outside the arena, dialogs retain native scrolling and magnification. */
*{box-sizing:border-box;touch-action:manipulation}body{margin:0;background:var(--paper);color:var(--ink)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0;color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #edb17d;outline-offset:4px}button:not(:disabled):active{transform:translateY(1px)}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.symbols{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.layout{max-width:1540px;min-height:100svh;margin:auto;display:grid;grid-template-columns:minmax(260px,1fr) auto minmax(200px,.75fr);gap:clamp(24px,4vw,76px);align-items:center;padding:30px 5vw}.intro{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;padding:9px 0}.brand{display:flex;gap:10px;align-items:center;flex-wrap:wrap;text-decoration:none;color:var(--ink);font-size:12px;font-weight:700;letter-spacing:2px}.brand-mark{width:33px;height:33px;border:1px solid #aabb9e;border-radius:50%;display:grid;place-items:center}.brand-mark svg{width:20px;height:20px}.brand-edition{display:block;width:100%;padding-left:43px;font-size:8px;color:#8c9a87;font-weight:500;letter-spacing:2px;margin-top:-8px}.eyebrow,.small-caps{font-size:9px;letter-spacing:1.7px;font-weight:600}.eyebrow{color:#879178;margin:30px 0 22px}.intro h1{font:normal clamp(40px,4.1vw,65px)/1.04 Georgia,serif;letter-spacing:-2.6px;margin:0}.intro h1 em{display:block;color:#b07853;font-weight:normal;margin-top:4px}.intro-copy{font-size:13px;line-height:1.95;color:#7b8a79;margin-top:28px}.intro-rule{width:44px;height:1px;background:#c3ccb5;margin:30px 0 24px}.controls{color:#85917e;font-size:10px;line-height:2.3}.controls span{border:1px solid #d8dcc9;font-size:8px;padding:3px 4px;border-radius:3px;margin-right:5px;white-space:nowrap}.controls span:nth-child(2){margin-left:8px}footer{display:flex;align-items:center;gap:7px;font-size:8px;letter-spacing:1px;color:#889480;margin-top:35px}footer>span:last-child{margin-left:auto}.live-dot{width:5px;height:5px;border-radius:100%;background:#7da279}.game{position:relative;isolation:isolate;overflow:hidden;height:min(860px,calc(100svh - 60px));width:min(480px,calc((100svh - 60px)*.64));min-height:620px;min-width:397px;border-radius:28px;background:#56bc91;box-shadow:0 30px 65px #1a574020,0 3px 8px #1a574012;touch-action:none;user-select:none;-webkit-user-select:none}#world{width:100%;height:100%;display:block;touch-action:none}.hud{position:absolute;left:20px;right:20px;top:20px;display:flex;gap:7px;align-items:center}.currency{height:38px;border-radius:20px;display:flex;align-items:center;padding:0 13px 0 6px;gap:8px;background:#f5f0dceF;box-shadow:0 3px 0 #245f4b1c;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.currency-icon{background:#d9e5b5;border-radius:50%;width:28px;height:28px;display:grid;place-items:center}.currency-icon svg{width:19px;height:19px;fill:#91b08030}.crystal{background:#194f40bd;color:#fff2c9;border:1px solid #f0efb733;padding-left:11px;gap:5px;font-size:13px}.crystal svg{width:16px;height:16px;fill:#e8e7b84d}.tiny-plus{margin-left:6px;font-weight:400;font-size:18px;color:#cee1ba}.hud-spacer{flex:1}.round-btn{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#164d3e88;color:#f5efc8;border:1px solid #e7f2c43b}.round-btn svg{width:19px;height:19px}.wave-hud{position:absolute;top:80px;left:23px;display:flex;gap:18px;align-items:center;color:#164f3d}.wave-hud .small-caps{font-size:7px;color:#245940c9;letter-spacing:1.5px}.wave-hud strong{display:block;font-size:12px;letter-spacing:.1px;margin-top:4px;font-weight:600}.wave-pips{display:flex;gap:4px}.wave-pips i{width:5px;height:5px;border-radius:2px;background:#22594333}.wave-pips .done{background:#f0e6af}.wave-pips .current{background:#f5efc5;box-shadow:0 0 0 2px #fff1be50}.tree-label{position:absolute;top:24.5%;left:72%;display:flex;gap:3px;align-items:center;color:#e5f3bc;font-size:10px;text-shadow:0 1px 4px #2e653c;background:#23503e8a;padding:3px 6px;border-radius:8px}.tree-label svg{height:10px;width:10px}.tree-label>span:last-child{font-size:8px;opacity:.7}.map-label{font-size:6px;letter-spacing:1.4px;color:#fff3b9bd;position:absolute;pointer-events:none}.nursery-label{top:40.7%;left:30.3%;transform:rotate(-6deg);text-shadow:0 1px 3px #315c43}.scene-heading{position:absolute;left:27px;top:22%;pointer-events:none}.pill{font-size:7px;letter-spacing:1.8px;font-weight:600;display:inline-block;color:#dceab8;background:#236c4d80;border:1px solid #d8e9b04d;border-radius:20px;padding:6px 10px}.scene-heading h2{font:normal 59px/.85 Georgia,serif;letter-spacing:-2.5px;color:#fff5d6;margin:15px 0 0;text-shadow:0 2px 15px #255b4022}.scene-heading em{font-weight:400;color:#e7e8ad}.start-card,.between{position:absolute;bottom:155px;left:22px;right:22px;text-align:center;background:#f6f1dfef;border:1px solid #fff5d9;border-radius:18px;padding:22px 18px 15px;box-shadow:0 12px 25px #174e3d22;backdrop-filter:blur(8px)}.start-card>p:first-child{font-size:10px;letter-spacing:.3px;color:#879278;margin:0 0 8px}.start-card h3,.between h3{font:normal 25px/1.15 Georgia,serif;letter-spacing:-.6px;margin:0}.card-copy,.between p{color:#829078;font-size:10px;line-height:1.7;margin:10px 0 17px}.primary{height:46px;padding:0 18px;width:100%;border-radius:10px;display:flex;justify-content:center;gap:20px;align-items:center;background:#245640;color:#f4efcf;font-size:12px;font-weight:600;box-shadow:0 3px 0 #183f31}.primary svg{width:20px;height:20px}.primary:hover{background:#30674d}.micro{display:block;font-size:8px;color:#8d987f;margin-top:11px}.bottom-dock{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));left:18px;right:18px}.dock-status{display:flex;justify-content:space-between;align-items:center;padding:0 3px 8px;font-size:8px;color:#e1efbf}.dock-status b{font-weight:600}.dock-status i{display:inline-block;width:4px;height:4px;background:#ddedb7;border-radius:50%;margin-right:5px}.actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.action{position:relative;border:1px solid #f8f4d4;background:#f5f0dfef;border-radius:13px;min-height:91px;padding:10px 4px 9px;display:flex;flex-direction:column;align-items:center;box-shadow:0 4px 0 #1a544934}.action:hover:not(:disabled){background:#fff8dd}.action-icon{position:relative;display:block;margin-bottom:4px;color:#4e8061}.action-icon svg{width:25px;height:25px}.action-icon i{position:absolute;right:-12px;top:0;font-size:8px;font-style:normal;font-weight:700;background:#e0e8c7;padding:2px;border-radius:3px}.action strong{font-size:9px;font-weight:600}.price{display:flex;gap:3px;align-items:center;color:#a28a5f;font-size:10px;margin-top:5px;line-height:1}.price b{font-weight:500}.price svg{width:11px;height:11px;stroke-width:1.8}.action:disabled{background:#e5e9d4db;border-color:#d9e5c3}.action:disabled .price{color:#8a9d84}.action.maxed .price{color:#678f69}.combat-hud{position:absolute;inset:0;pointer-events:none}.combat-hud button{pointer-events:auto}.bonus{position:absolute;top:126px;left:23px;display:flex;align-items:center;gap:6px;color:#f1edbf;border:1px solid #d9e8b755;background:#2e73538a;padding:6px 8px;border-radius:9px;font-size:9px}.bonus svg{width:15px;height:15px}.bonus small{display:block;font-size:6px;opacity:.7;text-align:left;margin-top:2px}.bonus:disabled{opacity:.45}.skill-wrap{position:absolute;right:23px;bottom:155px;text-align:center}.skill{position:relative;display:grid;place-items:center;width:59px;height:59px;background:#f0e6b7;color:#427f55;box-shadow:0 4px 0 #3b785a,0 0 0 5px #e3edb125;border:2px solid #fff2d0;border-radius:50%}.skill svg{width:31px;height:31px}.skill>span{position:absolute;inset:0;display:grid;place-items:center;color:#fff7cf;text-shadow:0 1px 3px #245c43;font-size:19px;font-weight:700}.skill:disabled{background:#468a67;color:#b6d59b;border-color:#a2c88c}.skill:disabled svg{opacity:.24}.skill-wrap>span{display:block;margin-top:10px;color:#f3edbd;font-size:7px;letter-spacing:1.4px}.move-hint{position:absolute;left:30px;bottom:166px;color:#e4edbd;font-size:8px;line-height:1.6;display:flex;gap:10px;align-items:center;pointer-events:none;opacity:.8}.move-circle{font-size:29px;width:50px;height:50px;border-radius:50%;border:1px dashed #eff5c377;display:grid;place-items:center}.between{bottom:235px;padding:22px;z-index:3}.between .pill{color:#7b966b;border-color:#d6dfbb;background:#e9ecd7;margin-bottom:12px}.toast{position:absolute;z-index:5;left:50%;top:46%;transform:translate(-50%,-10px);pointer-events:none;max-width:88%;width:max-content;background:#204e3eea;color:#f4f1cf;padding:10px 16px;border-radius:20px;font-size:10px;text-align:center;opacity:0;transition:opacity .2s,transform .2s;box-shadow:0 4px 10px #16423320}.toast.visible{opacity:1;transform:translate(-50%,0)}.field-notes{align-self:center;max-width:210px;padding-bottom:15px}.notes-line{display:block;width:30px;height:1px;background:#bdc7ad;margin-bottom:24px}.field-notes .small-caps{font-size:7px;color:#909a84;letter-spacing:1.5px}.field-notes h3{font:normal 22px/1.2 Georgia,serif;letter-spacing:-.3px;margin:19px 0 14px}.field-notes>p:not(.small-caps){font-size:10px;line-height:1.8;color:#8c9783}.note-icon{width:80px;height:80px;display:grid;place-items:center;border:1px solid #d7ddc8;border-radius:50%;margin:36px 0;color:#9aaf8d}.note-icon svg{width:40px;height:40px;stroke-width:1}.field-notes .notes-bottom{font-size:8px!important;letter-spacing:1px}.notes-bottom span{letter-spacing:0;font-style:italic;color:#a8af97}.text-button{padding:9px 0;background:none;font-size:10px;color:#7d8f72;display:flex;justify-content:space-between;width:137px;border-bottom:1px solid #cdd5bd;margin-top:24px}.paused-veil{position:absolute;inset:0;background:#173f3855;backdrop-filter:blur(4px);z-index:6;pointer-events:none}
dialog{width:min(405px,calc(100vw - 30px));max-height:calc(100svh - 40px);border:1px solid #fff9e5;border-radius:22px;background:#f6f1e2;color:var(--ink);padding:0;box-shadow:0 30px 100px #102d3955}dialog::backdrop{background:#163c36a3;backdrop-filter:blur(6px)}.dialog-inner{padding:30px 25px 24px;position:relative}.close{position:absolute;right:12px;top:12px;width:29px;height:29px;background:#e5e8d7;color:#789077;border-radius:50%;display:grid;place-items:center;z-index:1}.close svg{width:14px;height:14px}.modal-eyebrow{font-size:8px;letter-spacing:1.6px;color:#819676;text-transform:uppercase;margin:5px 0 10px}.dialog-inner h2{font:normal 30px/1.1 Georgia,serif;letter-spacing:-.7px;margin:10px 0 13px}.dialog-inner p{font-size:11px;line-height:1.7;color:#87927d}.dialog-inner .primary{margin-top:15px}.secondary{width:100%;padding:13px;margin-top:12px;border:1px solid #cdd8bd;border-radius:9px;background:transparent;font-size:11px}.secondary:hover{background:#e7ebd6}.stat-row{display:flex;justify-content:space-between;border-block:1px solid #d9deca;padding:16px 4px;margin:20px 0;gap:10px}.stat-row>span{font-size:8px;color:#8b987f}.stat-row strong{display:block;color:#3c644b;font-size:21px;font-weight:500;margin-top:6px}.setting{display:flex;align-items:center;justify-content:space-between;margin:20px 0;font-size:12px}.switch{border-radius:20px;padding:7px 13px;background:#dce4cc;font-size:10px}.demo-note{border:1px dashed #d2c7a7;padding:10px 12px;border-radius:9px;background:#eee8d5;font-size:9px!important;color:#9e8960!important}.product{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid #dbe0ca}.product-icon{width:43px;height:43px;border-radius:13px;background:#e4e7d1;display:grid;place-items:center;font-size:22px}.product strong{font-size:11px}.product small{display:block;font-size:8px;color:#929d87;margin-top:4px;line-height:1.5}.product button{font-size:10px;border-radius:8px;background:#315f46;color:#f4efd2;padding:9px 11px;min-width:57px}.product button:disabled{background:#dce4cc;color:#8d9b80}.demo-product{border-bottom:0}.reward-visual{position:relative;height:116px;background:radial-gradient(ellipse at center,#dfe8bb 0,transparent 70%);display:grid;place-items:center;margin:15px 0}.reward-visual svg{width:54px;height:54px;color:#8ca564;stroke-width:1;fill:#b7cd8b44}.reward-visual b{position:absolute;bottom:4px;color:#5b7948;font-size:16px}.reward-progress{height:4px;background:#dce3cc;border-radius:2px;overflow:hidden}.reward-progress>i{display:block;height:100%;background:#8aa56d;transition:width .15s}.instructions{padding-left:18px;font-size:11px;color:#819074;line-height:1.7}.instructions li{margin-bottom:10px}.result-icon{width:65px;height:65px;border:1px solid #d5dfbc;border-radius:50%;display:grid;place-items:center;color:#8ca76e;margin-bottom:20px}.result-icon svg{height:35px;width:35px}.storage-warning{position:fixed;bottom:10px;left:50%;transform:translateX(-50%);font-size:10px;background:#fff4d9;padding:10px 15px;border-radius:8px;z-index:99;color:#806843}
@media(min-width:1550px){.layout{gap:90px}}@media(max-width:1150px){.layout{grid-template-columns:minmax(220px,1fr) auto;max-width:1000px;gap:50px;padding:24px 5vw}.field-notes{display:none}.game{height:calc(100svh - 48px);width:calc((100svh - 48px)*.64);max-width:480px}.intro h1{font-size:55px}}@media(max-width:760px){body{background:#286d52;overflow:hidden}.layout{display:block;padding:0;min-height:0}.intro,.field-notes{display:none}.game{height:100svh;width:100%;max-width:500px;min-width:0;min-height:0;margin:auto;border-radius:0;box-shadow:none}.hud{top:max(16px,env(safe-area-inset-top))}.wave-hud{top:max(72px,calc(env(safe-area-inset-top) + 56px))}.start-card{bottom:155px}.scene-heading h2{font-size:62px}}@media(max-height:700px){.game{min-height:0}.start-card{bottom:130px;padding:15px 17px 12px}.start-card .micro{display:none}.scene-heading{top:21%}.scene-heading h2{font-size:48px}.action{min-height:80px;padding:7px 3px}.action-icon svg{width:22px;height:22px}.bottom-dock{bottom:10px}.skill-wrap{bottom:140px}.between{bottom:220px}.controls{display:none}.intro-copy{margin-top:20px}.bonus{top:116px}.nursery-label{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* v0.2 — readable battle status and quick tactical choices. */
.wave-hud{right:23px;justify-content:space-between;gap:10px}.wave-hud>div:first-child{min-width:0}.wave-hud .small-caps{display:block;max-width:245px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wave-progress{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.enemy-count{font-size:8px;color:#245940;white-space:nowrap}.enemy-count b{font-weight:600;color:#fff3c5}.dash-wrap{left:23px;right:auto}.dash{color:#97754a;background:#f3dfb3}.dash:disabled{color:#d0c8a2}.hero-vitals{position:absolute;left:50%;bottom:163px;transform:translateX(-50%);width:132px;color:#f4edc5;text-align:center;pointer-events:none}.hero-vitals>span{display:flex;align-items:center;justify-content:center;gap:4px;font-size:8px;white-space:nowrap}.hero-vitals svg{width:11px;height:11px}.hero-vitals b{font-weight:500}.hero-vitals em{font-style:normal;font-size:7px;font-variant-numeric:tabular-nums;opacity:.8}.hero-health-track{height:5px;overflow:hidden;border-radius:4px;background:#1c503da6;border:1px solid #eef2c738;margin:7px 0 5px}.hero-health-track i{height:100%;display:block;width:100%;background:#d9ec9f;transition:width .12s}.hero-vitals small{font-size:7px;opacity:.75;line-height:1.3}.hero-vitals.down .hero-health-track i,.hero-vitals.low-health .hero-health-track i{background:#f2aa80}.hero-vitals.down>span,.hero-vitals.low-health>span{color:#f9d4b3}.hero-vitals.down .hero-state{color:#f9d4b3}.move-hint{left:50%;bottom:245px;transform:translateX(-50%);text-align:center;white-space:nowrap;display:block;background:#285e4580;border:1px dashed #d5e7aa44;border-radius:12px;padding:8px 12px;font-size:8px}.move-circle{display:none}.between{bottom:150px;max-height:calc(100% - 190px);overflow-y:auto;padding:19px 16px 16px}.between .pill{margin-bottom:9px}.between p{margin:9px 0 12px;font-size:9px}.boon-picker{margin:15px 0}.boon-picker>.small-caps{font-size:7px;letter-spacing:1.2px;color:#899276}.boon-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px}.boon-choice{min-width:0;display:flex;flex-direction:column;align-items:center;border:1px solid #c8d2ad;background:#e7ecd4;border-radius:10px;padding:10px 4px;color:#456b46;min-height:104px;transition:background .15s,border-color .15s}.boon-choice:hover{background:#f1f1d9;border-color:#87a16c}.boon-choice svg{width:22px;height:22px;margin-bottom:8px}.boon-choice strong{font-size:8px;line-height:1.25;font-weight:600}.boon-choice strong b{font-size:7px;color:#8b976e;white-space:nowrap}.boon-choice small{font-size:7px;line-height:1.55;color:#889173;margin-top:6px}.boon-chosen{display:block;font-size:9px;color:#6c8857;border:1px solid #d1dcba;background:#e7ecd5;border-radius:8px;padding:9px;margin:13px 0}.primary:disabled{background:#97a38a;box-shadow:0 3px 0 #7b8a73;color:#e8e9d8}.threat-callout{position:absolute;left:23px;right:23px;top:177px;display:flex;gap:7px;align-items:center;background:#82523de8;border:1px solid #f4c29380;border-radius:11px;padding:9px 11px;color:#fff0c8;box-shadow:0 3px 10px #224f4322;pointer-events:none;font-size:9px;line-height:1.5;z-index:2}.threat-callout svg{height:19px;width:19px}.threat-callout[data-tone=recovery]{background:#345e50ed;border-color:#d5e5a870}.start-card .card-copy{font-size:9px}.controls{line-height:2.4}.controls span:nth-child(2){margin-left:8px}
@media(max-width:760px){.boon-choice strong{font-size:9px}.boon-choice small{font-size:7.5px}.wave-hud .small-caps{max-width:210px}.threat-callout{top:max(177px,calc(env(safe-area-inset-top) + 160px))}}
@media(max-height:700px){.hero-vitals{bottom:147px}.move-hint{bottom:229px;font-size:7px;padding:7px 10px}.between{bottom:135px;max-height:calc(100% - 165px);padding:15px 14px}.between h3{font-size:23px}.between .pill{margin-bottom:7px;padding:5px 9px}.boon-picker{margin:11px 0}.boon-choice{min-height:95px;padding:7px 3px}.boon-choice svg{width:19px;height:19px;margin-bottom:6px}.boon-choices{margin-top:7px}.boon-choice small{margin-top:5px}.hero-vitals small{font-size:6.5px}.threat-callout{top:160px}.start-card .card-copy{margin:8px 0 12px}}
@media(max-width:360px){.skill-wrap{right:18px}.dash-wrap{left:18px;right:auto}.hero-vitals{width:119px}.boon-choice strong{font-size:8px}.boon-choice small{font-size:6.5px}.wave-hud .small-caps{max-width:180px}}

.hero-vitals{width:154px;background:#204f40d9;border:1px solid #dce8b64a;border-radius:11px;padding:8px 10px 7px;box-shadow:0 3px 10px #204f4019}.hero-vitals small{color:#e4ebbc;opacity:.9}.hero-vitals>span{font-size:8px}.hero-health-track{margin:6px 0 4px}
/* Keep the lower road clear while the ranger intercepts incoming shadows. */
.hero-vitals{left:23px;right:auto;top:177px;bottom:auto;transform:none;text-align:left}.hero-vitals>span{justify-content:flex-start}.hero-vitals small{display:block;text-align:center}.threat-callout{top:247px}
@media(max-width:760px){.hero-vitals{top:max(177px,calc(env(safe-area-inset-top) + 160px))}.threat-callout{top:max(247px,calc(env(safe-area-inset-top) + 230px))}}
@media(max-height:700px){.hero-vitals{top:165px;bottom:auto;width:144px}.threat-callout{top:230px}}
/* v0.3 — coins, explicit construction, and visible damage to the ranger. */
.essence .currency-icon{background:#e8d396;color:#9b742f}.essence .currency-icon svg{fill:#cfad4c22;stroke-width:1.5}.price svg{color:#b19242}.action.unaffordable:not(:disabled){background:#e8e8d2;color:#6c7f62}.action.unaffordable:not(:disabled) .price{color:#af7e54}.action.choosing{border-color:#f8daa0;box-shadow:0 0 0 2px #f8daa099,0 4px 0 #1a544934}.action strong{font-size:8.5px}.hero-vitals.hurt{background:#844e3ee8;border-color:#ffc099;box-shadow:0 0 0 3px #e9a57522,0 3px 10px #204f4019}.hero-vitals.hurt .hero-health-track i{background:#ffd3a2}.hero-vitals.hurt #hero-state{color:#ffdfbb;opacity:1}.hero-vitals.hurt>span{color:#fff0d1}.build-planner{position:absolute;left:22px;right:22px;bottom:148px;z-index:4;pointer-events:none}.build-instruction{display:flex;align-items:center;gap:9px;color:#fff0c2;background:#254f3dee;border:1px solid #f8dda26b;box-shadow:0 8px 22px #164f3d26;border-radius:12px;padding:11px 12px;font-size:11px;pointer-events:auto}.build-instruction>svg{width:22px;height:22px;color:#e7d69e}.build-instruction b{font-weight:600;font-size:17px;padding:0 3px}.build-instruction button{display:grid;place-items:center;background:#eef0c82b;color:#f4e6bc;border-radius:50%;width:27px;height:27px;margin-left:auto;flex-shrink:0}.build-instruction button svg{height:14px;width:14px}.build-preview{position:relative;background:#f6f1e4f5;border:1px solid #fff4ce;border-radius:17px;padding:17px 17px 15px;box-shadow:0 10px 25px #174e3d35;pointer-events:auto;backdrop-filter:blur(8px)}.build-preview>.small-caps{color:#939473;font-size:7px;letter-spacing:1.2px}.build-preview h3{font:normal 22px/1.15 Georgia,serif;letter-spacing:-.3px;margin:8px 0 7px}.build-preview>p{font-size:9px;line-height:1.6;color:#8b947c;margin:7px 0 10px;max-width:260px}.build-payment{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #dfe2c9;padding-top:10px;margin-top:10px}.build-price{display:flex;align-items:center;gap:5px;color:#ac8840}.build-price svg{height:22px;width:22px}.build-price b{font-size:21px;line-height:1;font-weight:500}.build-payment>span:last-child{font-size:10px;color:#8a947b;font-variant-numeric:tabular-nums}.build-preview .primary{height:42px;font-size:11px;margin-top:12px}.build-preview .primary.unaffordable{background:#9a9276;box-shadow:0 3px 0 #837b60;color:#fff0ca}.build-preview>.build-warning{color:#b16c49;background:#efe3ca;border-radius:6px;padding:5px 8px;font-size:9px;margin:9px 0 0;max-width:none}.build-close{position:absolute;right:10px;top:10px;width:25px;height:25px;border-radius:50%;background:#e1e5cd;color:#7d9273;display:grid;place-items:center}.build-close svg{width:13px;height:13px}
@media(max-height:700px){.build-planner{bottom:132px}.build-preview{padding:13px 14px 12px}.build-preview h3{font-size:20px;margin-top:6px}.build-preview>p{font-size:8px;margin-bottom:7px}.build-payment{margin-top:7px;padding-top:8px}.build-preview .primary{height:38px;margin-top:10px}.build-preview>.build-warning{margin-top:7px;padding:4px 7px}}
/* Telegram's viewport and safe areas include its native window controls. */
:root{--app-safe-top:env(safe-area-inset-top,0px);--app-safe-right:env(safe-area-inset-right,0px);--app-safe-bottom:env(safe-area-inset-bottom,0px);--app-safe-left:env(safe-area-inset-left,0px)}
.telegram-app body{background:#286d52;overflow:hidden}.telegram-app .layout{display:block;padding:0;min-height:0}.telegram-app .intro,.telegram-app .field-notes{display:none}.telegram-app .game{height:var(--app-height,100svh);width:100%;max-width:500px;min-width:0;min-height:0;margin:auto;border-radius:0;box-shadow:none}.telegram-app .hud{top:calc(16px + var(--app-safe-top));left:calc(20px + var(--app-safe-left));right:calc(20px + var(--app-safe-right))}.telegram-app .wave-hud{top:calc(72px + var(--app-safe-top));left:calc(23px + var(--app-safe-left));right:calc(23px + var(--app-safe-right))}.telegram-app .bonus{top:calc(126px + var(--app-safe-top));left:calc(23px + var(--app-safe-left))}.telegram-app .hero-vitals{top:calc(177px + var(--app-safe-top));left:calc(23px + var(--app-safe-left))}.telegram-app .threat-callout{top:calc(247px + var(--app-safe-top));left:calc(23px + var(--app-safe-left));right:calc(23px + var(--app-safe-right))}.telegram-app .bottom-dock{bottom:calc(14px + var(--app-safe-bottom));left:calc(18px + var(--app-safe-left));right:calc(18px + var(--app-safe-right))}.telegram-app .start-card,.telegram-app .skill-wrap{bottom:calc(155px + var(--app-safe-bottom))}.telegram-app .between{bottom:calc(150px + var(--app-safe-bottom));max-height:calc(100% - 190px - var(--app-safe-top) - var(--app-safe-bottom))}.telegram-app .build-planner{bottom:calc(148px + var(--app-safe-bottom))}.telegram-app .move-hint{bottom:calc(245px + var(--app-safe-bottom))}.telegram-app .scene-heading{top:calc(22% + var(--app-safe-top))}.telegram-app dialog{max-height:calc(var(--app-height,100svh) - 24px - var(--app-safe-top) - var(--app-safe-bottom))}
.brand-mark{overflow:hidden;border:0}.brand-mark img{display:block;width:100%;height:100%;object-fit:cover}.shop-brand{display:flex;align-items:center;gap:14px;margin-right:10px}.shop-brand img{border-radius:18px;flex-shrink:0;box-shadow:0 3px 9px #1c4c3522}.shop-brand .modal-eyebrow{font-size:7px;margin:0 0 8px}.shop-brand h2{font-size:26px;margin:0}.shop-section-title{font-size:8px;letter-spacing:1.4px;font-weight:600;color:#8a9678;margin-top:24px}.stars-title{display:flex;align-items:center;justify-content:space-between;color:#967340;padding-top:6px}.stars-title span{font-size:17px;color:#c39947}.dialog-inner .shop-status{font-size:9px;line-height:1.6;margin:7px 0 4px;color:#819175}.star-product .product-icon{background:#ece3c5;color:#b58e46}.star-product button{white-space:nowrap;background:#78693f}.star-product button:disabled{background:#e5dfc9;color:#9b977e}.purchase-consent{display:flex;gap:9px;align-items:flex-start;margin-top:20px;font-size:9px;line-height:1.6;color:#7b8b70;cursor:pointer}.purchase-consent input{width:17px;height:17px;margin:0;accent-color:#315f46;flex-shrink:0}.purchase-consent a{color:#456b46;text-underline-offset:2px}.dialog-inner .shop-error{font-size:10px;color:#995b3f;background:#ede0cb;border:1px solid #dcc6a6;padding:9px 11px;border-radius:8px}.dialog-inner .shop-footnote{font-size:8px;line-height:1.6;color:#9c9e87}.secondary:disabled{color:#9ca78c;border-color:#d8deca}
@media(max-height:700px){.telegram-app .bottom-dock{bottom:calc(10px + var(--app-safe-bottom))}.telegram-app .start-card{bottom:calc(130px + var(--app-safe-bottom))}.telegram-app .skill-wrap{bottom:calc(140px + var(--app-safe-bottom))}.telegram-app .between{bottom:calc(135px + var(--app-safe-bottom));max-height:calc(100% - 165px - var(--app-safe-top) - var(--app-safe-bottom))}.telegram-app .build-planner{bottom:calc(132px + var(--app-safe-bottom))}.telegram-app .hero-vitals{top:calc(165px + var(--app-safe-top))}.telegram-app .threat-callout{top:calc(230px + var(--app-safe-top))}.telegram-app .bonus{top:calc(116px + var(--app-safe-top))}.telegram-app .move-hint{bottom:calc(229px + var(--app-safe-bottom))}}
.support-form{display:flex;flex-direction:column;gap:15px;margin-top:18px}.support-form label{display:block;font-size:10px;color:#6e8462;line-height:1.6}.support-form input,.support-form select,.support-form textarea{display:block;width:100%;font:inherit;font-size:16px;line-height:1.6;color:#244b3c;border:1px solid #ccd7b9;border-radius:9px;background:#fffaf0;padding:10px 11px;margin-top:6px;outline:none}.support-form textarea{resize:vertical;min-height:86px}.support-form input:focus,.support-form select:focus,.support-form textarea:focus{border-color:#6d9462;box-shadow:0 0 0 2px #a8be8b30}.support-form .primary{margin-top:0}.support-count{display:block;text-align:right;font-size:8px;color:#8f9b81;margin-top:4px;font-variant-numeric:tabular-nums}.support-ticket-list{margin-top:18px}.support-ticket{width:100%;display:flex;justify-content:space-between;gap:10px;align-items:center;text-align:left;background:#e9eddb;border:1px solid #d6dec4;border-radius:10px;margin-top:8px;padding:12px}.support-ticket strong{display:block;font-size:11px;font-weight:600}.support-ticket small{display:block;font-size:8px;color:#91a07c;margin-top:5px}.ticket-status{display:inline-block;border-radius:12px;background:#d4e2bc;color:#4f7945;font-size:8px;padding:4px 7px;white-space:nowrap}.ticket-status.closed{color:#939a85;background:#e1e3d6}.support-thread-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:20px 0 12px}.support-thread-title>strong{font-size:11px;font-weight:600}.dialog-inner .support-invoice{font-size:8px;overflow-wrap:anywhere}.support-messages{display:flex;flex-direction:column;gap:9px;margin:16px 0 20px}.support-message{max-width:94%;padding:11px 12px;border-radius:12px;background:#e2e8ce;align-self:flex-start}.support-message.from-user{background:#315e46;color:#f2edd4;align-self:flex-end}.support-message small{font-size:8px;color:#8c9d78}.support-message.from-user small{color:#c7d7af}.dialog-inner .support-message p{font-size:11px;line-height:1.65;margin:6px 0 0;color:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.support-thread-actions .secondary{margin-top:8px}.dialog-inner .support-empty,.dialog-inner .support-closed-note{font-size:10px;color:#93a07f;background:#eceedd;border-radius:10px;padding:14px;text-align:center}

/* Scrolling intermission cards stay usable; gameplay never changes page scale. */
.game .between,.game .between *{touch-action:pan-y}
