:root{--bg:#15120e;--panel:#211c16;--panel-raised:#2a241c;--border:#3a3127;--text:#ece3d0;--muted:#9c8f78;--accent:#9ccf6b;--accent-text:#15120e;--amber:#e0a645;--sugar:#d6e48a;--danger:#d97a5c;--glow:#fff0c8;--tier-hypha:#f6edd6;--tier-cord:#f3e0b6;--tier-rhizomorph:#c0703c;--tier-mat:#d9cdb0;--tier-web:#c4e896;--tier-ring:#f0c070;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}button,.field{touch-action:manipulation}.field{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}body{background:var(--bg);color:var(--text);font-variant-numeric:tabular-nums;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.app{flex-direction:column;height:100dvh;display:flex}.topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 16px;display:flex}h1{letter-spacing:.02em;align-items:center;gap:8px;margin:0;font-size:1.25rem;display:flex}.logo{filter:drop-shadow(0 0 6px #fff0c899);width:26px;height:26px}.topbar{background:linear-gradient(#1c1610,#15120e)}.totals .amount{color:var(--glow);text-shadow:0 0 12px #ffe49673;font-size:1.5rem;font-weight:600}.totals .unit,.totals .rate,.muted{color:var(--muted)}.layout{flex:1;grid-template-columns:minmax(0,3fr) minmax(320px,2fr);min-height:0;display:grid}.field{cursor:pointer;border-right:1px solid var(--border);background:#17110c;min-height:300px;position:relative;overflow:hidden}.field canvas{width:100%;height:100%;position:absolute;inset:0}.hint{text-align:center;width:100%;color:var(--muted);pointer-events:none;margin:0;transition:opacity 1s;position:absolute;top:24px}.absorb{position:absolute;bottom:16px;left:16px}.view-toggle{background:#17110cbf;border-radius:999px;padding:5px 12px;position:absolute;top:12px;right:12px}#surface{cursor:default}.scale{color:#fff0d2d9;pointer-events:none;margin:0;font-size:12px;position:absolute;top:14px;left:16px}.scale-bar{vertical-align:middle;background:linear-gradient(#fff0d2bf,#fff0d2bf) 50%/100% 1.5px no-repeat;border:none;border-left:1.5px solid #fff0d2bf;border-right:1.5px solid #fff0d2bf;height:8px;margin-right:8px;display:inline-block}.scale-note{color:#fff0d280;margin-top:4px;display:block}.log{border:1px solid var(--amber);color:var(--text);background:#e0a64533;border-radius:999px;padding:6px 12px;animation:2s ease-in-out infinite log-pulse;position:absolute;transform:translate(-50%,-50%)}@keyframes log-pulse{50%{box-shadow:0 0 0 6px #e0a64526}}#floaters{pointer-events:none;position:absolute;inset:0}.floater{white-space:nowrap;color:var(--glow);text-shadow:0 0 8px #ffe496b3;font-weight:600;animation:1s ease-out forwards float-up;position:absolute;transform:translate(-50%,-100%)}.floater.gold{color:#ffc470;text-shadow:0 0 10px #ffc470e6;font-size:1.25rem;animation-duration:1.6s}@keyframes float-up{to{opacity:0;transform:translate(-50%,-220%)}}.panel{background:linear-gradient(160deg,#241e17,#19140f);flex-direction:column;min-height:0;display:flex;box-shadow:inset 1px 0 #fff0c80a}.tabs{scrollbar-width:none;border-bottom:1px solid var(--border);gap:4px;padding:8px 12px 0;display:flex;overflow-x:auto}.tabs button{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:none;padding:8px}.tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.tab-panels{flex:1;padding:12px;overflow-y:auto}.tier-row,.upgrade{border:1px solid var(--border);background:linear-gradient(#ffffff09,#ffffff03);border-radius:10px;margin-bottom:8px;padding:10px 12px;transition:border-color .3s}.tier-row{border-left:3px solid var(--tier-colour,var(--border))}.tier-row[data-tier=hypha]{--tier-colour:var(--tier-hypha)}.tier-row[data-tier=cord]{--tier-colour:var(--tier-cord)}.tier-row[data-tier=rhizomorph]{--tier-colour:var(--tier-rhizomorph)}.tier-row[data-tier=mat]{--tier-colour:var(--tier-mat)}.tier-row[data-tier=web]{--tier-colour:var(--tier-web)}.tier-row[data-tier=ring]{--tier-colour:var(--tier-ring)}.tier-row:hover,.upgrade:hover{border-color:#fff0c833;border-left-color:var(--tier-colour,#fff0c833)}.tier-row.locked{color:var(--muted);background:0 0;border-style:dashed}.tier-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.tier-name,.upgrade-name{font-weight:600}.tier-buttons{gap:6px;margin-left:auto;display:flex}.tier-head{flex-wrap:wrap}.tier-buttons button{white-space:nowrap}.tier-detail{margin-top:2px}.tier-sub,.upgrade-effect{color:var(--muted);margin-top:2px;font-size:.85rem}.upgrade{justify-content:space-between;align-items:center;gap:12px;display:flex}.stats{grid-template-columns:auto 1fr;gap:6px 16px;margin:0;display:grid}.stats dt{color:var(--muted)}.stats .stats-heading{color:var(--text);grid-column:1/-1;margin-top:10px;font-weight:600}.next-step{border-bottom:1px solid var(--border);border-left:3px solid var(--amber);background:#e0a6450f;margin:0;padding:10px 14px;font-size:.9rem}.stats dd{margin:0}footer{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex}button{font:inherit;color:var(--text);background:var(--panel-raised);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:6px 12px}button:hover:not(:disabled){border-color:var(--muted)}button:disabled{cursor:default;opacity:.45}button.buy:not(:disabled),button.primary,.absorb{background:linear-gradient(#b0dc86, var(--accent));border:2px solid var(--accent);color:var(--accent-text);font-weight:600;transition:transform 80ms,box-shadow .2s;box-shadow:0 0 10px #9ccf6b40}button.buy:not(:disabled):hover,.absorb:hover{box-shadow:0 0 16px #9ccf6b73}button.buy:not(:disabled):active,.absorb:active{transform:scale(.96)}.absorb{border-radius:999px;padding:10px 22px}button.danger{color:var(--danger)}button:focus-visible{outline:2px solid var(--text);outline-offset:2px}dialog{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:12px;max-width:min(420px,100vw - 32px)}dialog::backdrop{background:#0009}.setting{align-items:center;gap:8px;margin:12px 0;display:flex}select{font:inherit;color:var(--text);background:var(--panel-raised);border:1px solid var(--border);border-radius:8px;padding:4px 8px}.setting-note{margin:-6px 0 12px;font-size:.85em}.settings-actions{justify-content:space-between;align-items:center;margin-top:16px;display:flex}.settings-actions form{margin:0}@media (prefers-reduced-motion:reduce){.log,.toast,.floater{animation:none}}[hidden]{display:none!important}.spore-total{color:var(--amber);margin-left:6px}.sugar-total{color:var(--sugar);margin-left:6px}.castings-total,.nitrogen-total,.mulch-total,.truffle-total{margin-left:6px}.truffle-total{color:#ffd76a}.castings-total{color:#d9a07a}.nitrogen-total{color:#9fd8f0}.mulch-total{color:#a8dc78}.sugar-owned{color:var(--sugar);font-weight:600}.section-heading{margin:16px 0 4px;font-size:1rem}.section-subheading{margin:12px 0 2px;font-size:.9rem}.partner{border-left:3px solid var(--species-colour,var(--border))}.partner[data-species=oak]{--species-colour:#8fae5a}.partner[data-species=birch]{--species-colour:#e8e2cf}.partner[data-species=pine]{--species-colour:#4f8a6a}.bond{border-left:3px solid var(--sugar)}.spores-owned{color:var(--amber);font-weight:600}.fruiting{border-left:3px solid var(--amber)}.progress{background:var(--panel-raised);border:1px solid var(--border);border-radius:999px;height:6px;margin:0 0 12px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, #c98a3a, var(--amber));height:100%;transition:width .2s linear;box-shadow:0 0 8px #e0a64599}button.release{width:100%;margin-top:4px;padding:10px}.mutations{border-top:1px solid var(--border);margin-top:20px;padding-top:12px}.mutations-heading{margin:0 0 4px;font-size:1rem}.tree{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 10px;margin:12px 0;display:grid;position:relative}.tree-threads{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tree-threads path{fill:none;stroke:#f6edd638;stroke-width:1.5px;stroke-dasharray:3 4}.tree-threads path.grown{stroke:var(--glow);stroke-width:2.5px;stroke-dasharray:none;filter:drop-shadow(0 0 3px #ffe496cc)}.tree-bank{border:1px solid var(--amber);color:var(--amber);background:#e0a64514;border-radius:999px;grid-area:1/1/auto/-1;justify-self:center;padding:6px 16px;font-size:.9rem;font-weight:600;position:relative}.tree-branch{flex-direction:column;align-items:center;margin-bottom:-14px;font-size:.8rem;display:flex;position:relative}.tree-branch span{background:var(--panel);border-radius:4px;padding:0 4px}.tree-branch-name{font-weight:600}.tree-branch-blurb{color:var(--muted)}.tree-node{background:var(--panel);border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;font-size:.82rem;line-height:1.2;display:flex;position:relative}.tree-node-name{font-weight:600}.tree-node-status{color:var(--muted);font-size:.75rem}.tree-node[data-state=locked]{color:var(--muted);border-style:dashed}.tree-node[data-state=affordable]{border:2px solid var(--accent);box-shadow:0 0 10px #9ccf6b40}.tree-node[data-state=affordable] .tree-node-status{color:var(--accent);font-weight:600}.tree-node[data-state=owned]{border-color:var(--glow);background:radial-gradient(circle at 50% 30%,#fff0c838,#fff0c80d);box-shadow:0 0 12px #ffe49659}.tree-node[data-state=owned] .tree-node-status{color:var(--glow)}.tree-node[data-branch=capstone]{border-width:2px;justify-self:center;width:min(100%,220px)}.tree-node.selected{outline:2px solid var(--amber);outline-offset:2px}.tree-detail{border-left:3px solid var(--amber)}.tree-detail-effect{margin-top:2px}.auto-pill,.switch{white-space:nowrap;border-radius:999px;min-height:32px;padding:4px 12px;font-size:.8rem}.auto-pill[aria-pressed=true],.switch[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:#9ccf6b29}.auto-pill[aria-pressed=true]:before{content:"✓ "}.auto-row{border:1px dashed var(--border);color:var(--muted);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 10px;padding:6px 10px;font-size:.85rem;display:flex}.auto-row-text{flex:12rem}.instinct{border:1px solid var(--border);background:linear-gradient(#ffffff09,#ffffff03);border-radius:10px;margin-bottom:8px;padding:10px 12px}.instinct.locked{background:0 0;border-style:dashed}.instinct.master{border-color:var(--accent);justify-content:space-between;align-items:center;display:flex}.instinct-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.instinct-name{font-weight:600}.instinct.locked .instinct-name{color:var(--muted)}.instinct-status,.instinct-progress{color:var(--muted);margin-top:2px;font-size:.85rem}.instinct-progress{color:var(--amber)}.instinct-progress:empty,.instinct-extra:empty{display:none}.instinct-extra{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.instinct-select{min-height:32px;font:inherit;color:var(--text);background:var(--panel-raised);border:1px solid var(--border);border-radius:8px;padding:4px 8px;font-size:.85rem}.toast{border:1px solid var(--accent);max-width:calc(100% - 32px);color:var(--text);pointer-events:none;background:#15120ee0;border-radius:10px;margin:0;padding:8px 14px;font-size:.9rem;animation:.4s ease-out toast-in;position:absolute;bottom:72px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,6px)}}.achievements-summary{margin:0 0 8px}.achievement-group{margin:14px 0 6px;font-size:.95rem}.achievement-list{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.achievement{border:1px dashed var(--border);color:var(--muted);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.achievement.earned{color:var(--text);background:#9ccf6b0f;border-style:solid;border-color:#9ccf6b80}.achievement-name{font-weight:600}.achievement.earned .achievement-name:before{content:"✓ ";color:var(--accent)}.achievement-goal{color:var(--muted);font-size:.85rem}.achievement-bonus{font-variant-numeric:tabular-nums;font-size:.85rem}.achievement.earned .achievement-bonus{color:var(--accent)}.zone-label{border:1px solid var(--border);max-width:calc(100% - 160px);color:var(--text);font-variant-numeric:tabular-nums;pointer-events:none;background:#15120ebf;border-radius:999px;margin:0;padding:4px 10px;font-size:.85rem;position:absolute;bottom:22px;right:16px}.zone.current{border-left:3px solid var(--amber)}.zone.cleared{border-left:3px solid var(--accent)}.zone.cleared .upgrade-name:before{content:"✓ ";color:var(--accent)}.zone.ahead{opacity:.7}.zone-list{gap:6px;display:grid}.zone-reward{color:var(--text)}.zone-status{font-variant-numeric:tabular-nums;color:var(--amber);margin-top:4px;font-size:.85rem}.zone.cleared .zone-status{color:var(--accent)}.zone.ahead .zone-status{color:var(--muted)}.zone-worn{font-variant-numeric:tabular-nums;margin:-6px 0 8px;font-size:.85rem}.zone-fill{background:linear-gradient(90deg, #8a6a3a, var(--amber))}.spread{grid-template-columns:auto 1fr 3.5em;align-items:center;gap:10px;margin:4px 0;font-weight:600;display:grid}.spread input[type=range]{width:100%;accent-color:var(--amber)}.spread-value{text-align:right;font-variant-numeric:tabular-nums}#traps{cursor:crosshair}.nematode-kind.unmet{opacity:.55;border-style:dashed}.kind-count{color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}.ant-actions{flex-wrap:wrap;gap:6px;margin:0 0 8px;display:flex}.supply{flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 8px;display:flex}.supply-label{margin-right:4px;font-weight:600}.supply-choice{border-radius:999px;padding:4px 12px}.supply-choice[aria-checked=true]{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.expedition{border-left:3px solid #8fbf5a}.expedition.ahead{opacity:.6;border-left-color:var(--border)}.crew-list{gap:6px;display:grid}.crew{border-left:3px solid var(--border)}.crew.back{border-left-color:#a8dc78;box-shadow:0 0 10px #a8dc7826}.crew .upgrade-text{flex:1}.crew-progress{margin:6px 0 0}.crew-fill{background:linear-gradient(90deg,#5d8a3a,#a8dc78);box-shadow:0 0 8px #a8dc7880}#journal{cursor:pointer}.chapters{flex-wrap:wrap;gap:6px;margin:4px 0;display:flex}.chapter-choice{border-radius:999px;padding:4px 10px;font-size:.85rem}.chapter-choice[aria-selected=true]{border-color:var(--amber);color:var(--amber)}.chapter-choice.full:after{content:" ✓";color:var(--accent)}.chapter-full{color:var(--muted);font-size:.9rem}.chapter-full.done{color:var(--accent)}.entry-list{gap:6px;display:grid}.entry{border-left:3px solid var(--border)}.entry[data-level="0"]{opacity:.7;border-style:dashed}.entry[data-level="1"]{border-left-color:#9c8f78}.entry[data-level="2"]{border-left-color:#8fbf5a}.entry[data-level="3"]{border-left-color:#e0b04a;box-shadow:0 0 10px #e0b04a2e}.entry-head{justify-content:space-between;gap:8px;display:flex}.entry-level{color:var(--muted);font-size:.85rem}.entry[data-level="3"] .entry-level{color:var(--amber)}.entry-bonus{color:var(--accent);margin-top:4px;font-size:.85rem}#dig{cursor:pointer}.tabs button.ready{box-shadow:0 0 0 1px #ffd76a80,0 0 10px #ffd76a59}.dig-deeper{width:100%;margin-top:8px;display:block}#nursery{cursor:pointer}.nursery-bed,.nursery-slot,.nursery-species{flex-wrap:wrap}.nursery-actions{flex-wrap:wrap;gap:6px;display:flex}.nursery-bed.done,.nursery-slot.done{border-color:#aae4968c}.dig-set.done{border-color:#ffd76a99}.bottomnav{display:none}.more-totals,.ready-pill,.back-network,.menu-close{background:#17110ccc;border-radius:999px;padding:4px 12px;font-size:.8rem}.totals .rate{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:1px dotted #9c8f7899;border-radius:0;padding:0}.totals .rate:hover{color:var(--text)}.totals .pace{margin-left:10px;font-size:.85rem}.ledger-link{cursor:pointer;text-underline-offset:3px;-webkit-text-decoration:underline dotted #9c8f7899;text-decoration:underline dotted #9c8f7899}.ledger-link:hover{color:var(--text)}.sheet-close{min-width:36px;min-height:36px;padding:0;font-size:1.2rem;line-height:1}dialog.sheet{border-radius:14px 0 0 14px;width:min(440px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:16px;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.sheet-head h2{margin:0;font-size:1.1rem}.sheet-pace{margin:4px 0 12px}.sheet-tabs{gap:6px;margin:8px 0 12px;display:flex}.sheet-tabs button{border-radius:999px;flex:1;min-height:40px}.sheet-tabs button[aria-selected=true]{background:var(--panel-raised);border-color:var(--accent)}.ledger h3{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px;font-size:.75rem}.ledger-count{margin:0}.ledger-row{border-bottom:1px solid #3a312799;grid-template-columns:minmax(0,10.5em) minmax(40px,1fr) 4.6em;align-items:center;gap:10px;min-height:44px;display:grid}.ledger-row.picked{background:#9ccf6b1a;border-radius:6px}.ledger-name{overflow-wrap:anywhere}.ledger-bar{background:#ffffff0d;border-radius:4px;height:8px}.ledger-fill{background:var(--accent);border-radius:4px;height:100%;display:block}.ledger-row.takes .ledger-fill{background:var(--amber)}.ledger-value{text-align:right;font-weight:600}.ledger-foot{font-size:.8rem}.chain{flex-direction:column;gap:18px;display:flex}.chain-link{border:1px solid var(--border);border-radius:10px;padding:8px 12px;position:relative}.chain-link+.chain-link:before{content:"↓";color:var(--muted);font-size:.8rem;line-height:18px;position:absolute;top:-18px;left:50%;translate:-50%}.chain-link.lag{border-color:var(--amber);background:#e0a64514}.chain-end{border-color:var(--accent);background:#9ccf6b14}.chain-name{font-weight:600}.chain-detail{color:var(--muted);overflow-wrap:anywhere;font-size:.85rem}.chain-lag{color:var(--amber);margin-top:4px;font-size:.85rem}.spore-clock{color:var(--muted);font-size:.9rem}.income-graph svg{width:100%;height:auto;max-height:220px;display:block}.income-graph .grid{stroke:#ffffff12}.income-graph .axis{fill:var(--muted);font-size:9px}.income-graph .income-line{fill:none;stroke:var(--accent);stroke-width:1.6px;stroke-linejoin:round}.income-graph .mark-upgrade{stroke:var(--muted)}.income-graph .mark-bond{stroke:var(--sugar);stroke-width:1.5px}.income-graph .mark-zone{fill:var(--amber)}.income-graph .mark-tier{stroke:#fff0c840;stroke-dasharray:2 3}.graph-legend{flex-wrap:wrap;gap:4px 12px;margin:4px 0 12px;font-size:.8rem;display:flex}.graph-legend .key:before{content:"";vertical-align:middle;background:var(--muted);width:10px;height:3px;margin-right:4px;display:inline-block}.graph-legend .bond:before{background:var(--sugar)}.graph-legend .zone:before{background:var(--amber);border-radius:50%;width:6px;height:6px}.graph-legend .tier:before{background:0 0;border-top:1px dashed #fff0c880}.away-gains{margin:0 0 8px;padding-left:20px}@media (width<=760px),(height<=500px){.topbar{padding:calc(6px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) 6px calc(12px + env(safe-area-inset-left));flex-wrap:nowrap;align-items:center;gap:8px}h1{font-size:0}.totals{white-space:nowrap;flex:1;justify-content:flex-end;align-items:baseline;gap:0 6px;min-width:0;font-size:.85rem;display:flex}.totals>span{flex:none;margin-left:0}.totals>.spore-total{text-overflow:ellipsis;flex:0 auto;order:1;min-width:0;overflow:hidden}.totals .unit{display:none}.totals .amount{font-size:1.2rem}.totals-open .topbar{align-items:flex-start}.totals-open .totals{flex-wrap:wrap}.more-totals{min-height:30px;color:var(--muted);flex:none}.layout{flex:1;min-height:0;display:block;position:relative}.field{border:none;min-height:0;position:absolute;inset:0}.panel{display:none}.menu-open .field{height:26%;bottom:auto}.menu-open .panel{border-top:1px solid var(--border);border-radius:14px 14px 0 0;animation:.2s ease-out menu-up;display:flex;position:absolute;inset:26% 0 0;box-shadow:0 -8px 24px #00000073}.next-step{white-space:nowrap;text-overflow:ellipsis;padding:6px 12px;font-size:.82rem;overflow:hidden}.tabs{gap:6px;padding:8px 10px}.tabs button{border:1px solid #0000;border-radius:999px;min-height:36px;padding:6px 14px}.tabs button[aria-selected=true]{background:var(--panel-raised);border-color:var(--border)}.tabs button.other-group{display:none}.tab-panels{padding:10px}footer{display:none}.menu-open[data-group=more] footer{gap:6px;padding:8px 10px;display:flex}.bottomnav{border-top:1px solid var(--border);padding:2px calc(4px + env(safe-area-inset-right)) env(safe-area-inset-bottom) calc(4px + env(safe-area-inset-left));background:#1a150f;justify-content:space-around;display:flex}.bottomnav button{max-width:96px;min-height:50px;color:var(--muted);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.72rem;display:flex}.bottomnav button span{font-size:1.2rem;line-height:1}.bottomnav button.ready span{filter:drop-shadow(0 0 6px #ffd76ae6)}.bottomnav button[aria-pressed=true]{color:var(--accent);font-weight:600}.absorb{padding:13px 44px;font-size:1.1rem;bottom:18px;left:50%;translate:-50%}.zone-label{white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 24px);font-size:.78rem;bottom:84px;left:50%;right:auto;overflow:hidden;translate:-50%}.ready-pill{border:1px solid var(--amber);white-space:nowrap;text-overflow:ellipsis;background:#2a241ceb;max-width:calc(100% - 24px);padding:6px 14px;position:absolute;bottom:120px;left:50%;overflow:hidden;translate:-50%}.toast{font-size:.82rem;bottom:162px}.hint{padding:0 16px;font-size:.85rem;top:44px}.view-toggle{top:8px;right:calc(8px + env(safe-area-inset-right));padding:3px 12px;font-size:.8rem}.view-toggle,.back-network,.ready-pill,.chapter-choice{min-height:32px}.scale{top:10px;left:calc(12px + env(safe-area-inset-left))}.back-network{top:8px;left:calc(8px + env(safe-area-inset-left));position:absolute}.side-scene .absorb,.menu-open .absorb{left:calc(10px + env(safe-area-inset-left));padding:6px 18px;font-size:.9rem;bottom:8px;translate:none}.side-scene .zone-label{left:auto;right:calc(10px + env(safe-area-inset-right));max-width:calc(100% - 140px);bottom:12px;translate:none}.menu-close{right:calc(10px + env(safe-area-inset-right));min-height:30px;position:absolute;bottom:10px}.menu-open .zone-label,.menu-open .scale,.menu-open .view-toggle,.menu-open .hint,.menu-open .toast{display:none}.intro:not(.open){-webkit-line-clamp:2;cursor:pointer;-webkit-box-orient:vertical;display:-webkit-box;position:relative;overflow:hidden}.intro:not(.open):after{content:"more";color:var(--accent);background:linear-gradient(90deg,#0000,#1f1a14 40%);padding-left:32px;position:absolute;bottom:0;right:0}}@keyframes menu-up{0%{opacity:.6;transform:translateY(24px)}}@media (orientation:landscape) and (height<=500px){.menu-open .field{height:auto;inset:0 50% 0 0}.menu-open .panel{border-top:none;border-left:1px solid var(--border);padding-right:env(safe-area-inset-right);border-radius:0;inset:0 0 0 50%}.absorb{padding:9px 36px;bottom:10px}.zone-label{bottom:64px}.ready-pill{max-width:70%;bottom:96px}.toast{bottom:132px}.bottomnav button{flex-direction:row;gap:6px;min-height:38px;font-size:.8rem}.bottomnav button span{font-size:1rem}}@media (width<=760px) and (orientation:portrait){.field #network{height:min(100%,125vw);bottom:auto;-webkit-mask-image:linear-gradient(#000 82%,#0000);mask-image:linear-gradient(#000 82%,#0000)}}@media (width<=760px),(height<=500px){.totals .rate{min-height:30px;padding:0 2px}dialog.sheet{width:100vw;height:auto;max-height:82dvh;padding:12px calc(14px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));border-radius:14px 14px 0 0;margin:auto 0 0;animation:.2s ease-out menu-up}}
