:root{color-scheme:light;--canvas: #e9eef7;--surface: #ffffff;--surface-2: #f3f6fc;--line: #dbe3f0;--line-strong: #c3cfe3;--ink: #14202e;--ink-2: #4a5a6e;--ink-3: #6b7a90;--accent: #2f8cff;--accent-strong: #1f6fd6;--accent-deep: #1a58ab;--accent-soft: #e5f0ff;--gold: #ffc21a;--gold-deep: #d99a00;--gold-soft: #fff3cf;--good: #168a46;--good-soft: #e3f7ea;--warn: #8a5a00;--warn-soft: #fff2cc;--bad: #c62f2f;--bad-soft: #fde8e8;--plate: #14253d;--navy: #14275a;--navy-2: #1b3478;--shadow-sm: 0 1px 2px rgba(20, 32, 46, .08);--shadow: 0 2px 4px rgba(20, 32, 46, .08), 0 10px 28px rgba(20, 32, 46, .14);--shadow-lg: 0 18px 50px rgba(15, 26, 60, .35);--radius: 16px;--display: "Fredoka", "Figtree", system-ui, sans-serif;--font: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(120% 90% at 50% -10%,#f6f9ff 0%,var(--canvas) 60%);color:var(--ink);font:16px/1.5 var(--font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--display);font-weight:600;margin:0 0 .4rem;line-height:1.15;letter-spacing:0;text-wrap:balance}h1{font-size:2.2rem;font-weight:700}h2{font-size:1.3rem}h3{font-size:1.05rem}p{margin:.4rem 0}.muted{color:var(--ink-3)}.small{font-size:.875rem}.icon{vertical-align:middle;flex:none}code{background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:.05rem .35rem;font-size:.9em}a{color:var(--accent-strong)}button,input,select{font:inherit;color:inherit}button{font-family:var(--display);font-weight:600;background:linear-gradient(#fff,#eef3fb);color:var(--ink);border:2px solid var(--line-strong);border-bottom-width:4px;border-radius:14px;padding:.35rem .95rem .3rem;cursor:pointer;transition:transform .08s,filter .12s}button:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(2px);border-bottom-width:2px}button:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.4)}button.primary{background:linear-gradient(#58b4ff,#2f8cff);border-color:var(--accent-strong);border-bottom-color:var(--accent-deep);color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.18)}button.gold,button.brass{background:linear-gradient(#ffd95a,#ffb800);border-color:var(--gold-deep);border-bottom-color:#a87000;color:#4a3200}button.link{background:none;border:0;padding:0;color:var(--accent-strong);font-family:var(--font);font-weight:700;text-decoration:underline;text-underline-offset:2px;filter:none}:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 60%,transparent);outline-offset:2px}.shell{height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#dfe5ee;overflow:hidden}.stage{position:relative;min-height:0}.viewport{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background-color:#dfe5ee;background-image:linear-gradient(#cdd6e3 1px,transparent 1px),linear-gradient(90deg,#cdd6e3 1px,transparent 1px);background-size:40px 40px}.mapscroll{position:absolute;top:0;right:0;bottom:0;left:0}.map{display:block;width:100%;height:100%;border:0;border-radius:0;box-shadow:none;background:transparent}@media (min-width: 1000px){.mapscroll{left:348px}}@media (max-width: 999px){.stage{overflow:auto}.viewport{position:relative;inset:auto;overflow:visible}.mapscroll{position:relative;inset:auto;overflow-x:auto}.map{height:auto;min-width:760px}}.hud{position:relative;z-index:6;color:#fff;background:linear-gradient(#1c3a85,#14275a);border-bottom:3px solid #0d1b3d;padding:.45rem max(14px,env(safe-area-inset-left,0px));display:flex;flex-wrap:wrap;gap:.45rem 1rem;align-items:center;box-shadow:0 4px 14px #0d1b3d59}.brand{display:grid;gap:.15rem}.wordmark{display:inline-flex;gap:.4rem;align-items:center;font:700 1.55rem var(--display);letter-spacing:.01em;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.25)}.daypill{display:inline-flex;gap:.35rem;align-items:center;font:600 .74rem var(--font);color:#b9ccf5}.pills{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.pill{display:flex;gap:.5rem;align-items:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:.25rem .8rem .25rem .6rem}.pill.coin{background:linear-gradient(#ffc21a4d,#ffc21a1f);border-color:#ffc21a8c}.pill b{display:block;font:600 1.15rem var(--display);line-height:1.1}.k{display:block;font:700 .66rem var(--font);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}.hud .k{color:#a9bff0}.loadrow{display:flex;gap:.5rem;align-items:center}.loadrow b{font-size:1rem}.segs{display:flex;gap:2px}.segs i{width:7px;height:16px;border-radius:3px;background:#ffffff2e}.segs i.on{background:var(--gold)}.inv{display:flex;flex-wrap:wrap;gap:.3rem}.chip{display:inline-flex;gap:.3rem;align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:.1rem .65rem .1rem .3rem;font-size:.85rem;font-weight:600;white-space:nowrap;color:var(--ink)}.hud .chip{background:#ffffff24;border-color:#fff3;color:#fff}.hud .chip.owe{background:var(--gold-soft);border-color:#f0d58a;color:var(--warn);padding-left:.65rem}.hud .empty{color:#a9bff0;font-size:.88rem}.hud-right{margin-left:auto;display:flex;flex-wrap:nowrap;gap:.5rem .7rem;align-items:center}.rank{display:flex;gap:.45rem;align-items:center}.rank svg{flex:none}.rank .ring-bg{fill:#ffffff14;stroke:#ffffff38;stroke-width:4}.rank .ring-fg{fill:none;stroke:var(--gold);stroke-width:4;stroke-linecap:round;transition:stroke-dasharray .5s}.rank .ring-level{font:700 15px var(--display);fill:#fff}.rank-text{display:grid;line-height:1.1}.rank-text small{font:700 .62rem var(--font);text-transform:uppercase;letter-spacing:.08em;color:#a9bff0}.rank-text b{font:600 .95rem var(--display)}.hud button{padding:.3rem .8rem .25rem}.hud .helpbtn,.hud .iconbtn{background:#ffffff1a;border-color:#ffffff47;color:#fff}.iconbtn,.helpbtn{min-width:2.4rem;padding-inline:.5rem}.hudlink{color:#bcd3ff;font-weight:700;text-decoration:none;font-size:.92rem}.hudlink:hover{text-decoration:underline}.shockrow{flex-basis:100%;display:flex;flex-wrap:wrap;gap:.4rem}.shock{background:var(--gold-soft);color:var(--warn);border:1px solid #f0d58a;border-radius:999px;padding:.2rem .8rem;font-weight:700;font-size:.85rem}.shock .short{display:none}.shock.offline{position:fixed;z-index:50;top:8px;left:50%;transform:translate(-50%);background:var(--bad-soft);color:var(--bad);border-color:#f4c3c3}.quest{position:absolute;left:14px;top:14px;z-index:3;width:min(320px,calc(100% - 28px));display:grid;gap:10px}.quest-goal,.guide-bubble{background:#fffffff5;border-radius:var(--radius);box-shadow:var(--shadow);padding:11px 15px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.quest-goal{display:grid;gap:.35rem;border-left:5px solid var(--gold)}.quest-goal .k{color:var(--accent-strong)}.quest-goal h2{margin:0;font-size:1.2rem}.meter{height:12px;border-radius:999px;background:#dfe7f4;overflow:hidden;box-shadow:inset 0 1px 2px #14202e2e}.meter i{display:block;height:100%;background:linear-gradient(#7cc4ff,#2f8cff);border-radius:999px;transition:width .5s;box-shadow:inset 0 2px #ffffff59}.goalrow{display:flex;justify-content:space-between;gap:.5rem;align-items:center;font-weight:600;font-size:.9rem}.quest-guide{display:flex;gap:6px;align-items:flex-end}.mascot{flex:none;animation:bob 2.6s ease-in-out infinite;filter:drop-shadow(0 4px 4px rgba(20,32,46,.25))}.guide-bubble{position:relative;flex:1;display:grid;gap:.2rem;justify-items:start}.guide-bubble:before{content:"";position:absolute;left:-7px;bottom:20px;width:14px;height:14px;background:#fffffff5;transform:rotate(45deg);border-radius:3px}.guide-bubble .k{color:var(--accent-strong)}.guide-bubble p{margin:0;font-weight:600;font-size:.98rem}.guide-bubble button{margin-top:.25rem;font-size:.88rem}@media (max-width: 999px){.quest{position:relative;left:auto;top:auto;width:auto;margin:10px}}.drawer{position:absolute;z-index:5;right:14px;top:14px;bottom:14px;width:min(520px,calc(100% - 28px));background:var(--surface);border-radius:20px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:slidein .22s ease-out}.drawer-close{position:absolute;top:10px;right:10px;z-index:2;width:2.2rem;height:2.2rem;padding:0;border-radius:50%;display:grid;place-items:center;font-size:1rem}.drawer-body{overflow:auto;padding:10px 12px 14px;display:grid;gap:12px;align-content:start}.drawer .panel,.drawer .chalk{box-shadow:none;border:0;padding:6px 6px 8px;background:transparent}.drawer th,.drawer td{padding:.4rem .25rem}.drawer .offers .btns button{padding:.2rem .5rem .15rem;font-size:.82rem}.drawer h2{padding-right:2.6rem}@media (max-width: 999px){.drawer{position:fixed;left:8px;right:8px;width:auto;top:auto;bottom:78px;max-height:68dvh}}@keyframes slidein{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.dock{position:relative;z-index:6;display:flex;justify-content:center;gap:.6rem;padding:.5rem 12px calc(.5rem + env(safe-area-inset-bottom,0px));background:linear-gradient(#1b3478,#12244f);border-top:3px solid #0d1b3d;box-shadow:0 -4px 14px #0d1b3d4d}.dockbtn{position:relative;display:flex;gap:.5rem;align-items:center;padding:.4rem 1.2rem .35rem;background:#ffffff14;border:2px solid rgba(255,255,255,.16);border-bottom-width:4px;color:#dbe6ff;font-size:1rem}.dockbtn.on{background:linear-gradient(#ffd95a,#ffb800);border-color:var(--gold-deep);border-bottom-color:#a87000;color:#4a3200}.badge{position:absolute;top:-8px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ff4d6a;color:#fff;font:700 .72rem var(--display);display:grid;place-items:center;border:2px solid #12244f;font-style:normal}@media (max-width: 560px){.dockbtn{padding:.35rem .7rem .3rem}.dockbtn span{font-size:.82rem}}.panel,.chalk{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:16px 18px 18px}.panel h3,.ledger h3{font-size:1rem;margin:1rem 0 .3rem;color:var(--ink)}.note{background:var(--accent-soft);border:1px solid #c9dcfb;border-radius:12px;padding:.55rem .75rem;margin:.5rem 0}.note.warn{background:var(--bad-soft);border-color:#f4c3c3;color:#7a1f1f}.feed ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.feed li{padding-bottom:.35rem;border-bottom:1px solid var(--line)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem .4rem;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:700}.controls{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;margin:.5rem 0}.check{display:flex;gap:.4rem;align-items:center;font-weight:600}.itemcell{display:inline-flex;gap:.5rem;align-items:center}.itemcell b{text-transform:capitalize;display:block}.carry{display:block;font-size:.8rem;line-height:1.25}.offers .btns{white-space:nowrap}.offers .btns button+button{margin-left:.3rem}.offers .btns button{padding:.25rem .6rem;font-size:.88rem}.price{white-space:nowrap;font-size:1.08rem;font-weight:700;border-bottom:2px dotted var(--accent);cursor:help}.price.off{color:var(--ink-3);border-bottom-color:var(--line);font-weight:500;font-size:.92rem}.star{display:block;font-size:.72rem;color:var(--good);font-weight:700}.tipwrap{position:relative;display:inline-block}.bubble{position:fixed;z-index:90;pointer-events:none;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;padding:.6rem .8rem .7rem;font-size:.92rem;font-weight:400;line-height:1.4;box-shadow:var(--shadow-lg);color:var(--ink)}.bubble:before{content:"";position:absolute;top:-7px;left:var(--arrow, 18px);width:12px;height:12px;background:var(--surface);border-left:1px solid var(--line-strong);border-top:1px solid var(--line-strong);transform:rotate(45deg)}.bubble.above:before{top:auto;bottom:-7px;transform:rotate(225deg)}.bubble .who{display:block;font-weight:700;font-size:.78rem;color:var(--accent);margin-bottom:.15rem}.deals{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.deals li{border-bottom:1px solid var(--line);padding-bottom:.65rem}.deals li:last-child{border-bottom:0;padding-bottom:0}.deals li>div:first-child{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.deals p{margin:.15rem 0 .45rem}.deals .btns{display:flex;gap:.4rem;flex-wrap:wrap}.deals .btns button{font-size:.85rem;padding:.25rem .65rem}.profit{color:var(--good);font-weight:700}.chalk{padding:14px 16px 16px}.chalk h2{font-size:1.2rem}.chalk th[scope=row]{font-size:.95rem;letter-spacing:0;text-transform:capitalize;color:var(--ink);font-weight:600}.chalk td{text-align:center}.chalk td.na{color:var(--ink-3)}.chalk td b{font-size:1.02rem}.chalk .delta{display:block;font-size:.75rem;font-weight:600}.chalk td.high{background:var(--good-soft);color:var(--good)}.chalk td.low{background:var(--accent-soft);color:var(--accent-strong)}.legend{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0 0}.chalk .chip{padding:.1rem .6rem;font-weight:600;font-size:.8rem}.chalk .chip.high{background:var(--good-soft);color:var(--good);border-color:#bfe5cd}.chalk .chip.low{background:var(--accent-soft);color:var(--accent-strong);border-color:#c9dcfb}.map .road path{fill:none;stroke:#c4cddb;stroke-width:22;stroke-linecap:round}.map .road-dash path{fill:none;stroke:#f4f7fb;stroke-width:2;stroke-dasharray:10 10;stroke-linecap:round;opacity:.85}.map .zone-ground{stroke:#14202e38;stroke-width:1.5}.map .zone-produce .zone-ground{fill:#d9eedf}.map .zone-fabric .zone-ground{fill:#dae6f8}.map .zone-scrap .zone-ground{fill:#e9e3da}.map .zone.here .zone-ground{stroke:var(--accent);stroke-width:3.5}.map .zone-plate{stroke:none}.map .zone-produce .zone-plate{fill:#1f7a4a}.map .zone-fabric .zone-plate{fill:#1d63d6}.map .zone-scrap .zone-plate{fill:#8a5a3a}.map .zone-label{font:600 15px var(--display);fill:#fff;letter-spacing:.01em}.map .you-are-here{font:700 14px var(--font);fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}.map .stall,.map .source{cursor:pointer}.map .stall-name{font:600 12.5px var(--display);fill:#fff}.map .stall-status{font:600 11px var(--font)}.map .avatar-initial{font:700 11px var(--display);fill:#fff}.map .stall-status.open{fill:#7fe0a8}.map .stall-status.struggling{fill:#ffd36b}.map .stall-status.closed{fill:#aeb9c9}.map .stall-art{transition:transform .12s;transform-box:fill-box}.map .stall:hover .stall-art,.map .source:hover .stall-art{transform:translateY(-3px)}.map .chosen{fill:none;stroke:var(--accent);stroke-width:4;opacity:0}.map .on .chosen,.map .stall:focus-visible .chosen,.map .source:focus-visible .chosen{opacity:1}.map .stall:hover .chosen,.map .source:hover .chosen{opacity:.5}.map *:focus{outline:none}.map .source.empty .stall-art{opacity:.55}.map .pulse{fill:none;stroke:var(--accent);stroke-width:4}.map .next-pill rect{fill:var(--accent);stroke:#fff;stroke-width:2}.map .next-pill text{font:700 12px var(--font);fill:#fff;letter-spacing:.05em}.map .yours-tag{font:800 12px var(--font);fill:var(--accent);paint-order:stroke;stroke:#fff;stroke-width:3px;letter-spacing:.06em}.map .plot{cursor:pointer}.map .plot-box{fill:#ffffff8c;stroke:var(--ink-3);stroke-width:2;stroke-dasharray:8 6}.map .plot-plus{font:300 44px var(--font);fill:var(--ink-3)}.map .plot-label{font:600 14px var(--font);fill:var(--ink-2)}.map .plot:hover .plot-box,.map .plot.on .plot-box,.map .plot:focus-visible .plot-box{stroke:var(--accent);fill:#ffffffd9}.map .rain-streaks line{stroke:#e3eeff;stroke-width:1.6;stroke-linecap:round;opacity:.55}.map .fuel-sign{font:800 10.5px var(--font);fill:var(--gold);letter-spacing:.06em}.map .festive circle{opacity:.85}@media (prefers-reduced-motion: no-preference){.map .pulse{animation:pulse 1.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.map .daylight{transition:opacity 1.5s,fill 1.5s}.map .rain-streaks{animation:rainfall 1.1s linear infinite}.map .festive circle{animation:twinkle 1.6s ease-in-out infinite}.map .fuelq use{animation:idle 2.2s ease-in-out infinite}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.5}}@keyframes rainfall{0%{transform:translateY(0)}to{transform:translateY(36px)}}@keyframes twinkle{0%,to{opacity:.9}50%{opacity:.25}}@keyframes idle{0%,to{transform:translate(0)}50%{transform:translate(2px)}}@media (prefers-reduced-motion: reduce){.map .stall-art{transition:none}}.fund .meter{margin:.4rem 0}.fund p{margin:.3rem 0}.invest{margin-top:.9rem;padding-top:.7rem;border-top:1px solid var(--line)}.invest h3{margin-top:0}.signline{margin:.3rem 0;padding:.3rem .65rem;background:var(--gold-soft);border:1px solid #f0d58a;border-radius:8px;font-weight:600;display:inline-block}.offer{background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:12px;padding:.7rem .9rem}.offer h3{margin-top:0}.mk{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.till{display:flex;flex-wrap:wrap;gap:.5rem .8rem;align-items:center}.till b{font-size:1.3rem;display:block}.manager td{white-space:normal}.manager .btns{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;min-width:6.5rem}.manager td button{padding:.22rem .55rem;font-size:.85rem;margin-left:0}.manager td>.numfield+button{margin-left:.3rem}.manager .numfield-input{width:4.2rem}.shelfqty{margin:.4rem 0}.notes{list-style:none;margin:0;padding:0;display:grid;gap:.35rem;max-height:14rem;overflow:auto}.notes li{padding-bottom:.3rem;border-bottom:1px solid var(--line)}.tablewrap{overflow-x:auto}.toast{position:fixed;z-index:20;left:50%;bottom:88px;transform:translate(-50%);max-width:min(32rem,92vw);padding:.7rem 1.1rem;border-radius:12px;font-weight:600;box-shadow:var(--shadow-lg);background:var(--ink);color:#fff;border-left:5px solid var(--good)}.toast.bad{border-left-color:#ff7a7a}.aria-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#0f1a2a8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:16px;overflow:auto}.modal{background:var(--surface);border-radius:18px;padding:24px 28px;max-width:38rem;width:100%;display:grid;gap:.8rem;box-shadow:var(--shadow-lg);outline:none}.modal h2{font-size:1.6rem;margin:0}.modal h3{font-size:1rem;margin:.4rem 0 0}.modal .lede{margin:0}.lede{font-size:1.05rem;color:var(--ink-2)}.how{margin:0;padding-left:1.2rem;display:grid;gap:.6rem}.how li::marker{font-weight:700;color:var(--accent)}.goalgrid{display:grid;gap:.7rem}.goalopt{text-align:left;display:grid;gap:.2rem;padding:.85rem 1rem;border-radius:12px}.goalopt span{color:var(--ink-3);font-weight:400}.goalopt.cur{background:var(--accent-soft);border-color:var(--accent)}.login{max-width:31rem;margin:9vh auto;padding:32px 30px 26px;display:grid;gap:.9rem;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg)}.login h1{font-size:3.2rem;letter-spacing:-.04em;margin:0}.login form{display:grid;gap:.8rem}.simlink{font-weight:600}@media (max-width: 480px){.login{margin:4vh 16px;padding:22px}}.viz{--surface-1: #ffffff;--ink-1: #14202e;--ink-2: #4a5a6e;--grid: #e6eaf1;--axis: #b6c0ce;--band: rgba(20, 32, 46, .07);--good-text: #0b6b34;--critical: #d03b3b;--good-mark: #0ca30c}.ff{max-width:1440px;margin:0 auto;padding:20px max(16px,env(safe-area-inset-left,0px)) 48px}.ff h1{font-size:2.2rem;margin:0}.ff h2{font-size:1.2rem;margin:1.6rem 0 .2rem}.ff .lede{max-width:46rem;margin:.5rem 0 0}.ffhead{display:flex;flex-wrap:wrap;gap:.6rem 2rem;justify-content:space-between;align-items:flex-start}.backlink{font-weight:600}.ffbar{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem 1rem;margin-top:1.1rem;box-shadow:var(--shadow)}.ffbar label{display:flex;gap:.4rem;align-items:center;font-weight:600}.ffbody{transition:opacity .2s}.ff .panel{margin-top:1.1rem}.ff .panel h2{margin-top:0}.highlights ul{margin:.3rem 0 0;padding-left:1.2rem;display:grid;gap:.3rem;font-weight:600}.playbar{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;margin-top:1.1rem}.playbar .grow{flex:1 1 14rem;display:flex}.playbar label{font-weight:600;display:flex;gap:.4rem;align-items:center}.clock{font-weight:700;min-width:8.5rem;font-variant-numeric:tabular-nums;color:var(--accent-strong)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.grid3{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));margin-top:.8rem}.grid4{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));margin-top:.8rem}.two{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.facet{margin:0;background:var(--surface-1);color:var(--ink-1);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px 10px;box-shadow:var(--shadow);min-width:0}.facet-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.facet h3{font:700 1rem var(--font);margin:0;color:var(--ink-1)}.facet .muted{color:var(--ink-2);margin:.1rem 0 0}.facet button.link{font-size:.8rem}.legend-row{display:flex;flex-wrap:wrap;gap:.2rem .9rem;margin:.35rem 0 .1rem;font-size:.85rem;color:var(--ink-1)}.linekey{display:inline-flex;align-items:center;gap:.35rem}.plot{position:relative;outline-offset:2px;border-radius:6px;touch-action:pan-y}.chart{display:block;width:100%;height:auto;overflow:visible}.chart .grid-line{stroke:var(--grid);stroke-width:1}.chart .axis-line{stroke:var(--axis);stroke-width:1}.chart .tick{font:400 11px var(--font);fill:var(--ink-2)}.chart .endlabel{font:700 11px var(--font);fill:var(--ink-1)}.chart .shock-band{fill:var(--band)}.chart .crosshair{stroke:var(--ink-2);stroke-width:1}.chart .dot,.chart .ring{stroke:var(--surface-1);stroke-width:2}.tip{position:absolute;top:6px;z-index:5;min-width:11.5rem;max-width:17rem;background:var(--surface-1);color:var(--ink-1);border:1px solid var(--line-strong);border-radius:10px;padding:.5rem .65rem;font-size:.82rem;box-shadow:var(--shadow-lg);pointer-events:none;transform:translate(10px)}.tip[data-flip=left]{transform:translate(calc(-100% - 10px))}.tip-when{font-weight:700;color:var(--ink-2);margin-bottom:.2rem}.tip-row{display:grid;grid-template-columns:1fr auto;gap:0 .5rem;align-items:baseline}.tip-row b{font-size:.95rem}.tip-name{color:var(--ink-2)}.tip-pct{grid-column:1 / -1;color:var(--ink-2);font-size:.75rem;text-align:right;margin-top:-.1rem}.tip-note{margin-top:.25rem;font-weight:700}.keyline{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.6rem}.band-swatch{display:inline-block;width:22px;height:12px;background:#d6dce6;border-radius:3px}.evt-key{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;color:#fff;font-size:10px;font-weight:700;margin-right:.3rem;vertical-align:middle}.shock-key{display:inline-block;width:16px;text-align:center;margin-right:.3rem;color:var(--ink-2)}.vtable-wrap,.ff .tablewrap{overflow-x:auto;max-height:20rem}.vtable{width:100%;border-collapse:collapse;font-size:.85rem;font-variant-numeric:tabular-nums}.vtable caption{text-align:left;font-weight:700;padding-bottom:.3rem}.vtable th,.vtable td{text-align:left;padding:.3rem .4rem;border-bottom:1px solid var(--grid);white-space:nowrap}.vtable thead th{position:sticky;top:0;background:var(--surface-1);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}.delta-up{color:var(--good-text);font-weight:700}.delta-down{color:var(--critical);font-weight:700}.happen{list-style:none;margin:0;padding:0;display:grid;gap:.45rem;max-height:22rem;overflow:auto}.happen li{display:grid;grid-template-columns:8.5rem 1fr;gap:.5rem;padding-bottom:.4rem;border-bottom:1px solid var(--grid);font-size:.9rem}.happen .muted{font-variant-numeric:tabular-nums}@media (max-width: 560px){.happen li{grid-template-columns:1fr;gap:0}.ff h1{font-size:1.8rem}.offers td:first-child{min-width:8.5rem}.offers .btns{white-space:normal;display:flex;flex-wrap:wrap;gap:.3rem;min-width:9rem}.offers .btns button+button{margin-left:0}}@media (prefers-reduced-motion: reduce){.ffbody,.meter i,button{transition:none}}.map .bob{animation:bob .7s ease-in-out infinite}.map .you{transition:transform 1.1s cubic-bezier(.4,.1,.2,1)}.map .you-tag{fill:var(--accent-strong);stroke:#fff;stroke-width:2}.map .you-text{font:700 11px var(--display);fill:#fff}.map .popup{font:700 24px var(--display);paint-order:stroke;stroke:#fff;stroke-width:6px;stroke-linejoin:round;animation:floatup 1.7s ease-out forwards}.map .popup-gain{fill:#138a42}.map .popup-spend{fill:#c62f2f}.map .popup-info{fill:var(--accent-strong)}.map .lamps{opacity:.95}@media (prefers-reduced-motion: reduce){.map .bob,.mascot{animation:none}.map .you{transition:none}.map .popup{animation-duration:.01s}.drawer{animation:none}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes floatup{0%{opacity:0;transform:translateY(8px) scale(.8)}15%{opacity:1;transform:translateY(0) scale(1.08)}80%{opacity:1}to{opacity:0;transform:translateY(-62px) scale(1)}}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:60}.confetti span{position:absolute;top:-16px;width:10px;height:15px;animation:confetti linear forwards}.confetti span.round{border-radius:50%;width:11px;height:11px}@keyframes confetti{to{transform:translate(var(--drift),108vh) rotate(720deg)}}@media (prefers-reduced-motion: reduce){.confetti{display:none}}@media (max-width: 1320px){.inv,.hudlink,.pill.load .k,.rank-text small{display:none}.hud-right{gap:.5rem}}@media (max-width: 999px){.viewport{display:flex;flex-direction:column}.quest{order:-1}.mapscroll{order:0}}@media (max-width: 700px){.hud{padding:.35rem 10px;gap:.3rem .55rem}.wordmark{font-size:1.2rem}.wordmark .mascot{width:30px;height:30px}.daypill{font-size:.68rem}.pills{gap:.35rem}.pill{padding:.15rem .55rem .15rem .45rem;gap:.35rem}.pill .k{display:none}.pill b{font-size:.98rem}.pill .icon{width:22px;height:22px}.inv{display:none}.hud-right{flex-wrap:wrap;margin-left:0;width:100%;justify-content:space-between;gap:.35rem}.hudlink,.rank-text small{display:none}.rank svg{width:36px;height:36px}.rank-text b{font-size:.85rem}.hud button.gold{font-size:.85rem;padding:.25rem .6rem .2rem}.shock .long{display:none}.shock .short{display:inline}.shock{font-size:.78rem;padding:.12rem .6rem}.dock{gap:.35rem;padding:.4rem 8px calc(.4rem + env(safe-area-inset-bottom,0px))}.dockbtn{flex:1;flex-direction:column;gap:.1rem;padding:.3rem .2rem .25rem;font-size:.72rem;min-width:0;text-align:center;line-height:1.1}.dockbtn svg{width:22px;height:22px}.badge{top:-6px;right:4px}.toast{bottom:84px;font-size:.92rem}.quest{gap:6px;margin:8px}.quest-goal{padding:8px 12px;gap:.2rem}.quest-goal .k,.guide-bubble .k{display:none}.quest-goal h2{font-size:1rem}.meter{height:8px}.goalrow{font-size:.8rem}.guide-bubble{padding:8px 12px}.guide-bubble p{font-size:.86rem}.guide-bubble:before,.quest-guide .mascot{display:none}}.field{display:inline-flex;gap:.45rem;align-items:center}.rx-label{font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.rx-label.strong{font-weight:700}.textfield{display:grid;gap:.3rem}.rx-input{width:100%;background:#fff;border:2px solid var(--line-strong);border-radius:12px;padding:.55rem .8rem;font:inherit;box-shadow:inset 0 2px #14202e0d}.rx-input::placeholder{color:var(--ink-3)}.rx-input:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 40%,transparent);outline-offset:0;border-color:var(--accent)}.rx-input.invalid{border-color:var(--bad)}.field-error{color:var(--bad);font-weight:600;margin:0;font-size:.88rem}.numfield{display:inline-flex;align-items:stretch;background:#fff;border:2px solid var(--line-strong);border-radius:12px;overflow:hidden;box-shadow:inset 0 2px #14202e0d}.numfield:focus-within{border-color:var(--accent);outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent)}.numfield-input{width:3.6rem;min-width:0;border:0;background:transparent;text-align:center;font:600 1rem var(--font);color:var(--ink);padding:.32rem .2rem;outline:none}.numfield.wide .numfield-input{width:6rem}.stepper{width:2rem;padding:0;border:0;border-radius:0;background:var(--surface-2);color:var(--ink-2);font:700 1.15rem var(--display);box-shadow:none;filter:none;transform:none!important}.stepper:first-child{border-right:1px solid var(--line)}.stepper:last-child{border-left:1px solid var(--line)}.stepper:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-strong);filter:none}.stepper:active:not(:disabled){background:#d3e4ff}.stepper:disabled{opacity:.35}.rx-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:5.4rem;background:linear-gradient(#fff,#eef3fb);color:var(--ink);border:2px solid var(--line-strong);border-bottom-width:4px;border-radius:12px;padding:.28rem .65rem .22rem;font:600 1rem var(--display);cursor:pointer}.rx-trigger:hover{filter:brightness(1.04)}.rx-trigger[data-state=open]{border-color:var(--accent)}.rx-trigger:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:2px}.rx-chevron{display:inline-flex;color:var(--ink-3);transition:transform .15s}.rx-trigger[data-state=open] .rx-chevron{transform:rotate(180deg)}.rx-content{z-index:100;min-width:var(--radix-select-trigger-width);background:#fff;border:1px solid var(--line-strong);border-radius:14px;box-shadow:var(--shadow-lg);overflow:hidden;animation:rxpop .12s ease-out}.rx-viewport{padding:6px}.rx-item{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:.42rem .7rem;border-radius:9px;font:600 .98rem var(--display);color:var(--ink);cursor:pointer;outline:none;-webkit-user-select:none;user-select:none}.rx-item[data-highlighted]{background:var(--accent-soft);color:var(--accent-strong)}.rx-item[data-state=checked]{font-weight:700}.rx-tick{display:inline-flex;color:var(--accent-strong)}@keyframes rxpop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.rx-checkrow{display:inline-flex;gap:.45rem;align-items:center}.rx-checkbox{width:22px;height:22px;padding:0;display:grid;place-items:center;border:2px solid var(--line-strong);border-bottom-width:3px;border-radius:7px;background:#fff;color:#fff;box-shadow:none;filter:none;transform:none!important}.rx-checkbox:hover:not(:disabled){border-color:var(--accent);filter:none}.rx-checkbox[data-state=checked]{background:linear-gradient(#58b4ff,#2f8cff);border-color:var(--accent-strong);border-bottom-color:var(--accent-deep)}.rx-checkbox:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:2px}.rx-checkbox-mark{display:inline-flex}.rx-slider{position:relative;display:flex;align-items:center;width:100%;height:28px;touch-action:none;-webkit-user-select:none;user-select:none}.rx-track{position:relative;flex-grow:1;height:10px;background:#dfe7f4;border-radius:999px;box-shadow:inset 0 1px 2px #14202e2e}.rx-range{position:absolute;height:100%;background:linear-gradient(#7cc4ff,#2f8cff);border-radius:999px}.rx-thumb{display:block;width:22px;height:22px;background:linear-gradient(#ffd95a,#ffb800);border:2px solid var(--gold-deep);border-bottom-width:3px;border-radius:50%;box-shadow:var(--shadow-sm);cursor:grab}.rx-thumb:active{cursor:grabbing}.rx-thumb:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}@media (prefers-reduced-motion: reduce){.rx-content{animation:none}.rx-chevron{transition:none}}.orders{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line, rgba(0,0,0,.12))}.orders select{min-height:2.5rem;padding:0 .6rem;border-radius:8px;border:1px solid var(--line, rgba(0,0,0,.25));background:inherit;color:inherit;font:inherit}.orderlist{list-style:none;padding:0;margin:.75rem 0 0;display:grid;gap:.5rem}.orderlist li{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
