@font-face{font-family:"Baloo 2";font-style:normal;font-weight:400 800;font-display:swap;src:url(./baloo2-latin-ext-Dz43yst_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;size-adjust:105%;ascent-override:92.8%;descent-override:22.5%;line-gap-override:0%}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:400 800;font-display:swap;src:url(./baloo2-latin-B_TVFhwJ.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;size-adjust:105%;ascent-override:92.8%;descent-override:22.5%;line-gap-override:0%}:root{--ink:#4a3b2c;--ink-soft:#7c6a57;--paper:#fff8ec;--paper-2:#f6ead3;--line:#e2cfae;--accent:#ff8a3d;--accent-2:#ffb74d;--good:#58b368;--bad:#e85d50;--gold:#ffc233;--shadow:0 4px 0 #5e462c2e, 0 10px 24px #5e462c29;--radius:16px;--font:"Baloo 2", "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{height:100%;font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:#bfe3d0;margin:0;overflow:hidden}#app{position:fixed;inset:0}#scene{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}#overlay{pointer-events:none;position:absolute;inset:0;overflow:hidden}#ui{pointer-events:none;position:absolute;inset:0}#ui>*{pointer-events:auto}button{color:inherit;cursor:pointer;font-family:inherit}[hidden]{display:none!important}.muted{color:var(--ink-soft);font-weight:400}.panel{background:var(--paper);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.topbar{flex-direction:column;gap:8px;padding:10px 12px 0;display:flex;position:absolute;top:0;left:0;right:0;pointer-events:none!important}.topbar>*{pointer-events:auto}.hud{flex-wrap:wrap;align-items:center;gap:14px;padding:8px 12px;display:flex}.hud-cash{align-items:center;gap:6px;min-width:128px;font-size:28px;font-weight:700;display:flex}.hud-cash .coin-icon{filter:drop-shadow(0 2px #00000026);font-size:26px}.hud-cash.up .cash-value{animation:.5s cash-up}.hud-cash.down .cash-value{animation:.5s cash-down}@keyframes cash-up{30%{color:var(--good);transform:scale(1.14)}}@keyframes cash-down{30%{color:var(--bad);transform:scale(.94)}}.cash-value{display:inline-block}.hud-week .week-label{font-size:17px;font-weight:600}.hud-week small{color:var(--ink-soft);font-weight:500}.endless{color:#fff;background:#7e57c2;border-radius:8px;margin-left:4px;padding:1px 6px;font-size:12px}.turn-pips{gap:4px;margin-top:3px;display:flex}.turn-pips i{background:var(--paper-2);border:2px solid var(--line);border-radius:50%;width:12px;height:12px}.turn-pips i.done{background:var(--accent-2);border-color:var(--accent)}.turn-pips i.now{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #ff8a3d4d}.hud-target{flex:1;min-width:170px;max-width:360px}.target-label{margin-bottom:4px;font-size:14px}.progress{background:var(--paper-2);border:2px solid var(--line);border-radius:8px;height:14px;display:flex;overflow:hidden}.progress .fill{flex:none;width:0;height:100%;transition:width .25s}.progress .fill.cash{background:linear-gradient(90deg,#ffb74d,#ff8a3d)}.progress .fill.board{background:linear-gradient(90deg,#7fc8e8,#4a9fd4)}.hud-target.met .fill.cash{background:linear-gradient(90deg,#8bd17c,#4caf50)}.hud-target.met .fill.board{background:linear-gradient(90deg,#b9e3a8,#7cc47a)}.hud-target.urgent .progress{animation:.9s ease-in-out infinite urgent}@keyframes urgent{50%{border-color:var(--bad);box-shadow:0 0 0 3px #e85d5040}}.hud-perks{flex-wrap:wrap;gap:4px;max-width:260px;display:flex}.perk-chip{background:var(--paper-2);border:2px solid var(--line);cursor:help;border-radius:10px;padding:1px 5px;font-size:17px;line-height:1.2}.perk-chip b{margin-left:1px;font-size:11px}.hud-buttons{gap:6px;margin-left:auto;display:flex}.icon-btn{border:2px solid var(--line);min-width:42px;height:42px;box-shadow:0 3px 0 var(--line);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:4px;padding:0 8px;font-size:19px;transition:transform 80ms;display:inline-flex}@media (hover:hover){.icon-btn:hover{transform:translateY(-1px)}}.icon-btn:active{box-shadow:0 1px 0 var(--line);transform:translateY(2px)}.icon-btn .lbl{font-size:13px;font-weight:600}.icon-btn.flash{animation:1.2s flash}@keyframes flash{0%,60%{background:#fff59d;box-shadow:0 0 0 5px #ffd54f80}}.shop{padding:6px 8px 8px}.shop-tabs{scrollbar-width:none;gap:4px;margin-bottom:6px;display:flex;overflow-x:auto}.shop-tabs .tab{border:2px solid var(--line);background:var(--paper-2);white-space:nowrap;border-radius:10px;align-items:center;gap:5px;padding:2px 10px;font-size:13px;font-weight:600;display:inline-flex}.shop-tabs .tab.active{background:var(--c,var(--accent-2));color:#fff;text-shadow:0 1px #0003;border-color:#0000001f}.shop-scroll{scrollbar-width:thin;scrollbar-color:var(--line) transparent;touch-action:pan-x;gap:8px;padding:2px 2px 6px;display:flex;overflow-x:auto}.card{border:2px solid var(--line);border-bottom:5px solid var(--c);cursor:grab;touch-action:pan-x;background:#fff;border-radius:14px;flex-direction:column;flex:none;align-items:center;width:84px;height:104px;padding:3px 3px 4px;transition:transform .1s;display:flex;position:relative}@media (hover:hover){.card:hover{transform:translateY(-3px)}}.card:active{cursor:grabbing}.card-img{pointer-events:none;filter:drop-shadow(0 2px 1px #00000026);width:58px;height:58px}.card-name{text-align:center;height:27px;margin-top:-3px;padding-top:3px;font-size:11.5px;font-weight:600;line-height:1.05;overflow:hidden}.card-price{background:var(--gold);border-radius:8px;padding:0 5px;font-size:12px;font-weight:700;position:absolute;top:3px;right:3px;box-shadow:0 2px #0000001f}.card-lock{display:none}.card.poor .card-price{color:var(--bad);background:#ffcdd2}.shop-tabs .tab.disc{border-style:dashed;border-color:#f0c050;margin-left:auto}.shop-tabs .tab.disc.active{background:#f0a500}.tab-badge{font-size:13px;line-height:1}.tab-count{color:var(--ink);text-shadow:none;background:#fff;border-radius:8px;padding:0 5px;font-size:11px;font-style:normal}.tab-count:empty{display:none}.card:not(.k-buy){cursor:help}.card:not(.k-buy) .card-name{height:auto;max-height:24px}.card:not(.k-buy) .card-lock{text-align:center;color:var(--ink-soft);font-size:10px;line-height:1.05;display:block}.card.k-locked{background:var(--paper-2)}.card.k-locked .card-img{filter:grayscale(.85)opacity(.6)}.card.k-locked .card-price{background:#fff}.card.k-new{background:#fff6d6;border:2px dashed #f0a500;border-bottom:5px solid #f0a500}.card.k-new .card-img{filter:brightness(0)opacity(.28)}.card.k-new .card-price{color:#fff;background:#f0a500}.card.k-new .card-lock{color:#9a6a00;font-weight:600}.card.k-link{background:#f3edfb;border:2px dashed #7e57c2;border-bottom:5px solid #7e57c2}.card.k-link .card-price{color:#fff;background:#7e57c2}.card.k-link .card-lock{color:#5e35b1;font-weight:600}.shop-note{width:150px;color:var(--ink-soft);flex:none;align-self:center;font-size:11.5px;line-height:1.25}.shop-note b{color:var(--ink);font-size:13px;display:block}.card.armed{transform:translateY(-4px);box-shadow:0 0 0 4px #ffd54f}.card.new{animation:1.4s card-new}@keyframes card-new{0%{transform:scale(.6)}30%{transform:scale(1.12);box-shadow:0 0 0 6px #ffd54fb3}}.bottombar{justify-content:center;align-items:flex-end;gap:12px;padding:0 12px 12px;display:flex;position:absolute;bottom:0;left:0;right:0;pointer-events:none!important}.bottombar>*{pointer-events:auto}.sellbar{height:64px;color:var(--ink-soft);background:#fff8ecd9;border:3px dashed #d7b98f;border-radius:20px;flex:0 420px;justify-content:center;align-items:center;gap:10px;font-size:18px;font-weight:600;transition:transform .15s,background .15s;display:flex}.sellbar .sell-icon{font-size:28px}.sellbar.armed{border-color:var(--gold);color:var(--ink);background:#fff3c4;transform:scale(1.04)}.sellbar.hot{background:#ffe082;border-style:solid;transform:scale(1.1)}.sellbar.pulse{animation:.5s sell-pulse}@keyframes sell-pulse{40%{background:#ffe082;transform:scale(1.12)}}.end-turn{color:#fff;text-shadow:0 2px #0000002e;background:linear-gradient(#ff9d52,#ff7a2f);border:none;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;min-width:150px;height:72px;transition:transform 80ms;display:flex;position:absolute;bottom:14px;right:14px;box-shadow:0 6px #d45d1c,0 12px 24px #d45d1c59}@media (hover:hover){.end-turn:hover{transform:translateY(-2px)}}.end-turn:active{transform:translateY(4px);box-shadow:0 2px #d45d1c}.end-turn .et-main{font-size:22px;font-weight:700}.end-turn .et-sub{opacity:.85;font-size:12px}.end-turn.busy{background:linear-gradient(#b0a08a,#968671);box-shadow:0 6px #6f614f}.tile-badge{transform-origin:0 0;will-change:transform;gap:3px;display:flex;position:absolute;top:0;left:0}.tile-badge span{border:2px solid var(--line);background:#fff;border-radius:10px;align-items:center;height:20px;padding:0 5px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 2px #0000001a}.tile-badge .b-timer{background:radial-gradient(circle, white 55%, transparent 57%), conic-gradient(var(--accent) calc(var(--p) * 360deg), #eadbc0 0);border:none;justify-content:center;width:22px;height:22px;padding:0}.tile-badge .b-block{background:var(--bad);color:#fff;border-color:#b23c31;animation:.8s ease-in-out infinite bounce}.tile-badge .b-stock{background:#e0f7fa;border-color:#80deea}.tile-badge .b-cd{background:#ede7f6;border-color:#b39ddb}@keyframes bounce{50%{transform:translateY(-4px)}}.float-text{color:#fff;text-shadow:0 2px #00000059,0 0 10px #0003;white-space:nowrap;font-size:22px;font-weight:700;animation:1.1s ease-out forwards float-up;position:absolute;transform:translate(-50%,-50%)}.float-text.money{color:#ffe066;-webkit-text-stroke:1px #b77d00;font-size:26px}.float-text.warn{color:#ffcdd2;font-size:16px}@keyframes float-up{0%{opacity:0;transform:translate(-50%,-30%)scale(.6)}15%{opacity:1;transform:translate(-50%,-60%)scale(1.15)}to{opacity:0;transform:translate(-50%,-190%)scale(1)}}.debug-label{text-align:center;color:#1a237e;background:#ffffffbf;border-radius:6px;width:80px;font:600 11px ui-monospace,monospace;position:absolute;top:0;left:0}.drag-ghost{z-index:48;will-change:transform;position:fixed;top:0;left:0;pointer-events:none!important}.drag-ghost img{filter:drop-shadow(0 6px 10px #00000059);width:76px;height:76px;display:block}.tooltip{z-index:40;background:var(--paper);border:2px solid var(--line);max-width:320px;box-shadow:var(--shadow);border-radius:14px;padding:9px 11px;font-size:13.5px;line-height:1.35;position:fixed;pointer-events:none!important}.tt-head{align-items:center;gap:8px;margin-bottom:3px;display:flex}.tt-head img{width:40px;height:40px}.tt-name{font-size:17px;font-weight:700}.chip{color:#fff;background:var(--c);text-shadow:0 1px #0003;border-radius:8px;padding:0 6px;font-size:11px;font-weight:600}.tt-desc{color:var(--ink-soft)}.tt-icon{font-size:24px;line-height:1}.tt-status,.info-status{background:var(--paper-2);border-radius:8px;margin:5px 0;padding:3px 8px;font-weight:600}.tt-status.new{color:#8d6200;background:#fff1c2}.tt-status.link{color:#5e35b1;background:#ede7f6}.info-status.unlocked{color:#2e7d32;background:#e3f4d9}.tt-stats{gap:10px;margin:4px 0;font-weight:600;display:flex}.tt-rows,.tt-recipes{border-top:2px dashed var(--line);margin-top:5px;padding-top:5px}.tt-warn{color:var(--bad);margin-top:4px;font-weight:600}.unknown{color:#a3917b}.tt-preview{font-size:14px}.toasts{z-index:30;flex-direction:column;gap:8px;max-width:min(360px,60vw);display:flex;position:fixed;top:50%;left:14px;transform:translateY(-50%);pointer-events:none!important}.toast{background:var(--paper);border:2px solid var(--line);box-shadow:var(--shadow);border-left:7px solid #90caf9;border-radius:14px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;animation:.35s cubic-bezier(.2,1.4,.4,1) toast-in;display:flex}.toast.good{border-left-color:var(--good)}.toast.warn{border-left-color:var(--bad)}.toast.discovery{border-left-color:var(--gold);background:linear-gradient(90deg, #fff7d1, var(--paper))}.toast small{color:#b77d00;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.toast-img{width:44px;height:44px}.toast.out{animation:.3s forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translate(-40px)scale(.9)}}@keyframes toast-out{to{opacity:0;transform:translate(-30px)}}.hint{z-index:35;border:3px solid var(--gold);max-width:290px;box-shadow:var(--shadow);background:#fffbe6;border-radius:16px;padding:10px 12px 8px;font-size:15px;animation:1.6s ease-in-out infinite hint-bob;position:fixed}.hint:before{content:"";top:-10px;left:var(--arrow-x,50%);border:8px solid #0000;border-bottom-color:var(--gold);border-top:0;position:absolute;transform:translate(-50%)}.hint.above:before{border-bottom:0;border-top:8px solid var(--gold);top:auto;bottom:-10px}.hint-skip{color:var(--ink-soft);background:0 0;border:none;margin-top:6px;padding:0;font-size:12px;text-decoration:underline}@keyframes hint-bob{50%{transform:translateY(-4px)}}.modal-layer{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#4a3b2c59;justify-content:center;align-items:center;padding:16px;animation:.25s fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.modal-layer.view{background:linear-gradient(180deg, #bfe3d0 0%, #dcecd5 55%, var(--paper-2) 100%);-webkit-backdrop-filter:none;backdrop-filter:none;align-items:flex-start;padding:16px;overflow:auto}.modal-layer.view>.modal{max-height:none;box-shadow:none;padding:max(16px, env(safe-area-inset-top)) 10px max(16px, env(safe-area-inset-bottom));background:0 0;border:none;border-radius:0;margin:auto 0;animation:.3s fade-in;overflow:visible}.modal{background:var(--paper);border:3px solid var(--line);box-shadow:var(--shadow);text-align:center;border-radius:24px;width:100%;max-width:760px;max-height:calc(100vh - 32px);padding:22px 26px;animation:.4s cubic-bezier(.2,1.5,.4,1) pop-in;overflow:auto}@keyframes pop-in{0%{opacity:0;transform:scale(.85)translateY(20px)}}.modal h1{color:#ff7a2f;text-shadow:0 4px #d45d1c,0 8px 18px #d45d1c40;letter-spacing:.02em;margin:0;font-size:54px}.modal h2{margin:4px 0 8px;font-size:28px}.logo{font-size:44px;animation:2.2s ease-in-out infinite hint-bob}.tagline{color:var(--ink-soft);margin:6px 0 12px;font-size:18px}.howto{text-align:left;max-width:460px;margin:0 auto 14px;padding:0;font-size:15.5px;line-height:1.7;list-style:none}.modal-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--good);font-weight:700}.modal-kicker.bad{color:var(--bad)}.modal-sub{color:var(--ink);font-size:15px}.menu-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin:14px 0 4px;display:flex}.btn{border:2px solid var(--line);box-shadow:0 4px 0 var(--line);background:#fff;border-radius:14px;padding:10px 20px;font-size:17px;font-weight:600;transition:transform 80ms}@media (hover:hover){.btn:hover{transform:translateY(-2px)}}.btn:active{box-shadow:0 1px 0 var(--line);transform:translateY(3px)}.btn.primary{color:#fff;text-shadow:0 1px #0003;background:linear-gradient(#ff9d52,#ff7a2f);border-color:#e8691f;box-shadow:0 4px #d45d1c}.btn.danger{color:var(--bad)}.btn.small{margin-top:6px;padding:4px 10px;font-size:13px}.stat-grid{flex-wrap:wrap;justify-content:center;gap:10px;margin:12px 0;display:flex}.stat-grid div{background:var(--paper-2);border-radius:14px;flex-direction:column;min-width:110px;padding:8px 14px;display:flex}.stat-grid b{font-size:22px}.stat-grid span{color:var(--ink-soft);font-size:12px}.rank{color:#b77d00;font-size:18px;font-weight:700}.best{margin-top:14px;font-size:14px}.best-title{margin-bottom:4px;font-weight:700}.best table{border-collapse:collapse;margin:0 auto}.best td,.best th{padding:2px 12px}.best tr.hl{background:#fff3c4}.perk-row{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:10px;display:flex}.perk-card{border:3px solid var(--line);width:200px;min-height:190px;box-shadow:0 5px 0 var(--line);background:#fff;border-radius:20px;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;transition:transform .1s;animation:.45s cubic-bezier(.2,1.5,.4,1) both pop-in;display:flex;position:relative}@media (hover:hover){.perk-card:hover{border-color:var(--gold);box-shadow:0 8px 0 var(--gold), 0 0 0 5px #ffd54f59;transform:translateY(-6px)rotate(-1deg)}}.perk-icon{font-size:44px}.perk-name{font-size:19px;font-weight:700}.perk-desc{color:var(--ink-soft);font-size:14px}.perk-owned{background:var(--paper-2);border-radius:8px;padding:0 6px;font-size:12px}.perk-key{color:var(--ink-soft);border:2px solid var(--line);border-radius:6px;padding:0 5px;font-size:12px;position:absolute;top:8px;left:10px}.tba{opacity:.6;cursor:not-allowed;filter:grayscale(.5)}.btn.tba,.shop-tabs .tab.tba,.tree-tab.tba{border-style:dashed}.btn.tba,.btn.tba:hover,.btn.tba:active{box-shadow:none;transform:none}.tba-pill{letter-spacing:.04em;text-transform:uppercase;text-shadow:none;white-space:nowrap;color:var(--paper);background:var(--ink-soft);border-radius:6px;padding:0 5px;font-size:10px;font-weight:700;line-height:1.6}.btn .tba-pill{width:-moz-fit-content;width:fit-content;margin:3px auto 0;display:block}.card.k-tba{background:var(--paper-2);border:2px dashed var(--ink-soft);border-bottom:5px solid var(--ink-soft);cursor:not-allowed}.card.k-tba .card-img{filter:grayscale()opacity(.5)}.card.k-tba .card-price{background:#fff}.card.k-tba .card-lock{text-transform:uppercase;font-weight:700}.tree-node.tba rect{fill:#eee6d8;stroke:#a8957a;stroke-dasharray:3 4}.tree-node.tba image{opacity:.45;filter:grayscale()}.tree-node.tba .node-name,.node-chip.tba rect{fill:var(--ink-soft)}.node-chip.tba text{fill:var(--paper)}.tree-junction.tba circle{stroke-dasharray:3 3}.tree-node:not([data-el]){cursor:default}.tree-legend .sw.tba{background:#eee6d8;border:2px dashed #a8957a}.settings{text-align:left;max-width:460px}.settings h2{text-align:center}.set-row{border-bottom:2px dashed var(--line);justify-content:space-between;align-items:center;gap:12px;padding:7px 0;font-size:15px;display:flex}.set-row input[type=range]{width:180px;accent-color:var(--accent)}.set-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent)}.set-row select{border:2px solid var(--line);background:#fff;border-radius:10px;padding:4px 6px;font-family:inherit;font-size:14px}.settings-head{position:relative}.settings-head h2{padding:0 64px}.burger{border:2px solid var(--line);height:40px;box-shadow:0 3px 0 var(--line);color:var(--ink);background:#fff;border-radius:12px;align-items:center;gap:7px;padding:0 10px;font-family:inherit;font-size:17px;transition:transform 80ms;display:inline-flex;position:absolute;top:-4px;right:-8px}.burger:active{box-shadow:0 1px 0 var(--line);transform:translateY(2px)}.burger-lines{flex-direction:column;gap:4px;display:flex}.burger-lines i{background:var(--ink);border-radius:2px;width:18px;height:3px;transition:transform .18s,opacity .18s;display:block}.burger[aria-expanded=true] .burger-lines i:first-child{transform:translateY(7px)rotate(45deg)}.burger[aria-expanded=true] .burger-lines i:nth-child(2){opacity:0}.burger[aria-expanded=true] .burger-lines i:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.lang-menu{z-index:2;background:var(--paper);border:2px solid var(--line);min-width:190px;box-shadow:var(--shadow);text-align:left;border-radius:14px;flex-direction:column;gap:2px;padding:6px;animation:.22s ease-out pop-in;display:flex;position:absolute;top:44px;right:-8px}.lang-menu[hidden]{display:none}.lang-title{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);padding:4px 10px;font-size:12px;font-weight:700}.lang-opt{color:var(--ink);text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-family:inherit;font-size:16px;font-weight:600;display:flex}.lang-opt.active{background:var(--paper-2)}@media (hover:hover){.lang-opt:hover{background:#fff3c4}}.lang-flag{font-size:20px}.lang-check{color:var(--good);margin-left:auto}.tree-panel{z-index:45;border:3px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(#fffaf0,#f3e7cf);border-radius:24px;flex-direction:column;animation:.35s cubic-bezier(.2,1.3,.4,1) pop-in;display:flex;position:fixed;inset:12px;overflow:hidden}.tree-head{border-bottom:2px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex}.tree-title h2{margin:0;font-size:22px}.tree-progress{color:var(--ink-soft);font-size:13px}.tree-tools{align-items:center;gap:6px;margin-left:auto;display:flex}.tree-tabs{scrollbar-width:none;flex-basis:100%;gap:6px;display:flex;overflow-x:auto}.tree-tab{border:2px solid var(--line);background:var(--paper-2);white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:4px 12px;font-size:14px;font-weight:600;display:inline-flex}.tree-tab.active{background:var(--c,var(--accent-2));color:#fff;text-shadow:0 1px #0003;border-color:#0000001f}.tree-band{fill:color-mix(in srgb, var(--c) 9%, transparent);stroke:color-mix(in srgb, var(--c) 35%, transparent);stroke-width:2px}.tree-scroll{overscroll-behavior:contain;touch-action:pan-x;scrollbar-width:thin;cursor:grab;flex:1;min-height:0;overflow:auto hidden}.tree-scroll.vertical{touch-action:pan-y;overflow:hidden auto}.tree-scroll:active{cursor:grabbing}.tree-svg{display:block}.tree-edge{fill:none;stroke:color-mix(in srgb, var(--c,#c9a978) 75%, #6d4c2f);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;transition:opacity .15s}.tree-edge.unknown{stroke:#d9cbb2;stroke-width:2.5px;stroke-dasharray:6 6}.tree-node rect{fill:#fff;stroke:var(--c);stroke-width:3.5px;filter:drop-shadow(0 4px #5e462c2e)}.tree-node{cursor:pointer;transition:opacity .15s}@media (hover:hover){.tree-node:hover rect{fill:#fff7d6}}.tree-node .node-name{font:600 12px var(--font);fill:var(--ink);text-anchor:middle}.tree-node.unknown rect{fill:#e9dcc4;stroke:#c4b192;stroke-dasharray:6 5}.tree-node.clone rect{fill:#fbf5e8;stroke-width:2.5px;filter:none}.tree-node.clone .node-name{fill:var(--ink-soft);font-size:11px}.tree-node.known rect{fill:#f1e8d6;stroke:color-mix(in srgb, var(--c) 45%, #d9cbb2)}.tree-node.known image{opacity:.5;filter:grayscale(.9)}.tree-node.known .node-name{fill:var(--ink-soft)}.tree-node .node-lock{font-size:15px}.node-chip rect{fill:var(--gold);stroke:#00000026}.node-chip.made rect{fill:#a5d6a7}.node-chip text{font:700 11px var(--font);fill:var(--ink);text-anchor:middle}.tree-node .clone-mark{font:700 13px var(--font);fill:#8d6e63;text-anchor:middle}.tree-node .node-q{font:700 28px var(--font);fill:#a8957a;text-anchor:middle}.tree-node.hl rect{stroke-width:5px;fill:#fffbe6}.focused .tree-node:not(.hl),.focused .tree-junction:not(.hl){opacity:.3}.focused .tree-edge:not(.hl){opacity:.1}.focused .tree-edge.hl{stroke-width:4.5px}.tree-group-label{font:700 15px var(--font);fill:var(--ink-soft)}.legend-dash{color:#b8a88f;font-weight:700}.tree-junction circle{fill:#fff3c4;stroke:#e0a800;stroke-width:2.5px}.tree-junction.unknown circle{fill:#efe4d0;stroke:#cbb89a}.tree-junction{cursor:pointer;transition:opacity .15s}.tree-junction circle.hit{fill:#0000;stroke:none}.tree-junction.hl circle:not(.hit){stroke-width:4px}.tree-edge.faint{opacity:.45}.tree-junction text{font:700 12px var(--font);text-anchor:middle;fill:#8d6e00}.tree-node.reveal,.tree-junction.reveal{transform-box:fill-box;transform-origin:50%;animation:1.4s cubic-bezier(.2,1.5,.4,1) reveal}.tree-node.reveal rect{stroke:var(--gold);stroke-width:5px}@keyframes reveal{0%{opacity:0;scale:.3}40%{opacity:1;scale:1.25}to{scale:1}}.tree-info{background:var(--paper);border:2px solid var(--line);width:min(360px,100% - 36px);max-height:60%;box-shadow:var(--shadow);border-radius:16px;padding:10px 12px;font-size:13.5px;line-height:1.45;position:absolute;bottom:44px;left:18px;overflow:auto}.info-sec{border-top:2px dashed var(--line);margin-top:6px;padding-top:4px;font-weight:700}.info-close{border:2px solid var(--line);background:#fff;border-radius:10px;width:34px;height:34px;font-size:14px;position:absolute;top:6px;right:6px}.tree-info .tt-head{padding-right:36px}.tree-legend{color:var(--ink-soft);border-top:2px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px 16px;padding:6px 14px;font-size:12.5px;display:flex}.lg{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.sw{background:#fff;border:2px solid #8cc152;border-radius:5px;width:18px;height:14px;display:inline-block}.sw.known{background:#f1e8d6;border-color:#cdbd9c}.sw.unknown{background:#e9dcc4;border:2px dashed #c4b192}.lg-price{background:var(--gold);color:var(--ink);border-radius:6px;padding:0 4px}.clone-chip{color:#8d6e63;font-weight:700}.icon-btn.close{font-size:16px}.debug-panel{z-index:38;color:#e3f2fd;-webkit-user-select:text;user-select:text;background:#141828e0;border-radius:12px;width:min(560px,100vw - 20px);max-height:50vh;padding:8px 10px;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;position:fixed;bottom:96px;left:10px;overflow:auto}.debug-panel table{border-collapse:collapse;width:100%;margin:4px 0}.debug-panel td,.debug-panel th{text-align:left;border-bottom:1px solid #ffffff1a;padding:1px 4px}.debug-title{color:#ffd54f;font-weight:700}.debug-panel ol{margin:2px 0;padding-left:18px}.debug-panel .ph-production{color:#a5d6a7}.debug-panel .ph-reactions{color:#ffcc80}.debug-panel .ph-collection{color:#fff59d}.debug-panel .muted{color:#90a4ae}@media (max-width:820px){.hud{gap:8px;padding:6px 8px}.hud-cash{min-width:96px;font-size:22px}.hud-perks{max-width:none}.perk-chip{font-size:14px}.tree-panel{border-radius:18px;inset:6px}.tree-head{gap:8px;padding:8px 10px}.tree-title h2{font-size:18px}.tree-info{width:auto;max-height:50%;bottom:40px;left:8px;right:8px}.tree-legend{flex-wrap:nowrap;padding:6px 10px;font-size:12px;overflow-x:auto}.hud-target{flex-basis:100%;order:5;min-width:120px;max-width:none}.icon-btn{min-width:36px;height:36px;font-size:16px}.icon-btn .lbl,.icon-btn.dbg{display:none}.card{width:70px;height:88px}.card-img{width:46px;height:46px}.shop-tabs .tab span{display:none}.sellbar{height:54px;margin-right:120px;font-size:15px}.end-turn{border-radius:18px;min-width:108px;height:58px}.end-turn .et-main{font-size:17px}.end-turn .et-sub{display:none}.modal h1{font-size:38px}.perk-card{text-align:left;flex-direction:row;width:100%;min-height:0}.perk-icon{font-size:32px}.toasts{top:auto;bottom:90px;transform:none}}@media (max-width:520px){.tree-tab{flex:1;padding:4px 6px}.tree-tab span{display:none}}@media (pointer:coarse){.shop-tabs .tab{min-height:34px;padding:2px 12px}.perk-chip{padding:3px 7px}.hint-skip{padding:8px 4px 2px}}
