:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0c0e;--surface:#121316f0;--surface-solid:#141518;--surface-chip:#0b0c0ec7;--surface-raise:#ffffff0f;--surface-hover:#ffffff1c;--surface-tint:#ffffff0a;--surface-sunk:#00000038;--surface-fade-0:#14151800;--surface-fade-1:#141518f2;--scrim:#0000008c;--track:#ffffff1f;--line:#ffffff1a;--line-strong:#fff3;--text:#f4f3ef;--muted:#a6a7ab;--footnote:#f4f3efd1;--accent:#f5c242;--accent-hover:#ffd46b;--accent-deep:#c48f12;--accent-ink:#1a1200;--accent-soft:#f5c24221;--accent-line:#f5c2428c;--accent-glow:#f5c24259;--accent-clear:#f5c24200;--good:#5fd38d;--good-soft:#5fd38d1f;--good-line:#5fd38d73;--bad:#ff6b6b;--bad-text:#ffb8b8;--bad-soft:#ff6b6b24;--bad-line:#ff6b6b8c;--bad-glow:#ff6b6b8c;--warn:#ff8a3d;--warn-soft:#ff8a3d1f;--warn-line:#ff8a3d8c;--info:#9fb4c7;--brand-cyan:#36f9f6;--brand-magenta:#ff2bd6;--brand-yellow:#fede5d;--brand-ink:#07060f;--brand-glow:#36f9f680;--radius:14px;--shadow:0 12px 34px #00000080;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--gutter:12px;--hud-max:1600px;--hud-x:max(var(--gutter), calc((100vw - var(--hud-max)) / 2));--hud-l:calc(var(--hud-x) + var(--safe-l));--hud-r:calc(var(--hud-x) + var(--safe-r));--top-h:56px;--top-y:calc(var(--safe-t) + var(--gutter) + var(--top-h) + 10px);--band:30px;--toolbar-h:66px;--dock:calc(var(--safe-b) + var(--band) + var(--toolbar-h) + 10px);--col-w:300px;--panel-w:340px;--target:36px}html[data-pointer=coarse]{--target:44px}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font:14px/1.4 var(--font);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}#stage{position:fixed;inset:0}#ui{pointer-events:none;z-index:2;position:fixed;inset:0}#ui>*,#ui .toolbar,#ui .panel{pointer-events:auto}#ui .toasts,#ui .tool-hint,#ui .footer-note,#ui .goal-col,#ui .subbar,#ui .burst-label,#ui .burst-coin{pointer-events:none}#ui .goal-col>*,#ui .subbar>*,#ui .toast-action{pointer-events:auto}body.hide-ui #ui{display:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}#boot{color:var(--muted);letter-spacing:.04em;z-index:1;place-items:center;font-size:15px;transition:opacity .4s,visibility 0s .4s;display:grid;position:fixed;inset:0}body.ready #boot{opacity:0;visibility:hidden;pointer-events:none}.boot-error{text-align:center;padding:24px;color:var(--bad)!important}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.panel-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.panel-head h2{letter-spacing:.01em;flex:1;margin:0;font-size:16px}h3{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:14px 0 6px;font-size:12px}.muted{color:var(--muted)}.small{font-size:12.5px}.up{color:var(--good)}.down{color:var(--bad)}.note-warn{color:var(--warn)}button{font:inherit;color:inherit}kbd{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-btn{width:max(40px, var(--target));height:max(40px, var(--target));border:1px solid var(--line);background:var(--surface-raise);cursor:pointer;border-radius:12px;flex:none;place-items:center;transition:background .15s,border-color .15s,transform .1s;display:inline-grid}.icon-btn:hover{border-color:var(--line-strong);background:var(--surface-hover)}.icon-btn:active{transform:scale(.95)}.icon-btn.small{width:var(--target);height:var(--target);border-radius:10px}.icon-btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.btn{min-height:max(40px, var(--target));border:1px solid var(--line-strong);background:var(--surface-raise);cursor:pointer;color:inherit;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn-small{min-height:var(--target);padding:5px 12px;font-size:13px}.btn:hover:not(:disabled){background:var(--surface-hover)}.btn:disabled{cursor:not-allowed}.btn[data-arming]{opacity:.4;cursor:wait}.btn-primary,.btn-danger{transition:background .15s,border-color .15s,box-shadow .15s,opacity .3s ease-out}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{background:var(--surface-raise);border-color:var(--line);color:var(--muted);box-shadow:none}.btn-danger{border-color:var(--bad-line);background:var(--bad-soft);color:var(--bad-text)}.btn-ghost{background:0 0}.btn-danger-text{color:var(--bad-text)}.btn-collect{background:var(--accent);color:var(--accent-ink);box-shadow:0 0 14px var(--accent-glow);border-color:#0000;font-weight:800}.btn-collect:hover:not(:disabled){background:var(--accent-hover)}.link-btn{min-height:28px;color:var(--accent);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;text-decoration:underline;display:inline-flex}html[data-pointer=coarse] .link-btn{min-height:44px}.text-link{color:var(--accent)}html[data-pointer=coarse] .text-link{align-items:center;min-width:44px;min-height:44px;display:inline-flex}.progress{background:var(--track);border-radius:99px;height:8px;display:block;overflow:hidden}.progress.thin{height:5px}.progress>span{background:var(--accent);border-radius:inherit;height:100%;transition:width .4s;display:block}.facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,96px),1fr));gap:6px;margin:10px 0;display:grid}.facts.econ{grid-template-columns:repeat(auto-fit,minmax(min(100%,124px),1fr))}.facts>div{background:var(--surface-tint);border:1px solid var(--line);border-radius:10px;min-width:0;padding:6px 8px}.facts dd{white-space:nowrap}.facts dt{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.facts dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-weight:700}.chip{border:1px solid var(--line);background:var(--surface-tint);font-variant-numeric:tabular-nums;border-radius:99px;align-items:center;padding:2px 8px;font-size:12.5px;display:inline-flex}.new-badge{background:var(--accent);color:var(--accent-ink);letter-spacing:.04em;border-radius:99px;padding:1px 6px;font-size:12px;font-weight:800;line-height:1.35;display:inline-block}.new-badge.inline{margin-right:6px}.topbar{z-index:5;top:calc(var(--safe-t) + var(--gutter));left:var(--hud-l);right:var(--hud-r);height:var(--top-h);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;align-items:center;gap:10px;padding:6px 8px 6px 14px;display:flex;position:absolute}.brand{view-transition-name:brand;letter-spacing:.02em;align-items:center;gap:8px;font-size:17px;font-weight:800;display:flex}.brand-mark{background:linear-gradient(135deg, transparent 45%, var(--brand-ink) 46% 54%, transparent 55%), conic-gradient(from 200deg, var(--brand-cyan), var(--brand-magenta), var(--brand-yellow), var(--brand-cyan));width:22px;height:22px;box-shadow:0 0 14px var(--brand-glow);border-radius:7px}.brand-name{color:var(--text)}.stats{flex:1;justify-content:center;align-items:center;gap:6px;min-width:0;margin:0;display:flex}.stat{min-height:max(40px, var(--target));background:var(--surface-tint);border:1px solid var(--line);cursor:pointer;min-width:0;color:var(--muted);border-radius:11px;align-items:center;gap:7px;padding:4px 10px;transition:background .15s,border-color .15s;display:flex}.stat:hover,.stat[aria-expanded=true]{background:var(--surface-hover);border-color:var(--line-strong)}.stat-coins{color:var(--accent)}.mood-good{color:var(--good)}.mood-ok{color:var(--muted)}.mood-bad{color:var(--bad)}.stat-val{white-space:nowrap;color:var(--text);align-items:baseline;gap:6px;display:flex}.stat strong{font-variant-numeric:tabular-nums;font-size:15px}.stat small{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:2px;font-size:12px;display:inline-flex}.stat small.up{color:var(--good)}.stat small.down{color:var(--bad)}.stat-clock{color:var(--muted);background:0 0;border-color:#0000}.clock-time{font-variant-numeric:tabular-nums;font-size:14px;font-weight:500}.bonus-mark{color:var(--accent);margin-left:2px}.bonus-note{color:var(--text)}.trend{place-items:center;display:inline-grid}.trend.up{color:var(--good)}.trend.down{color:var(--bad)}.topbar-actions{align-items:center;gap:6px;display:flex}.saving-chip,.issues-chip{border:1px dashed var(--line-strong);background:var(--surface-tint);min-height:36px;color:var(--text);white-space:nowrap;cursor:pointer;border-radius:99px;align-items:center;gap:5px;max-width:260px;padding:4px 10px;font-size:13px;display:inline-flex}.saving-chip.ready{border-style:solid;border-color:var(--good-line);background:var(--good-soft)}.saving-label{color:var(--muted)}.saving-name{text-overflow:ellipsis;font-weight:600;overflow:hidden}.saving-eta{color:var(--accent);font-variant-numeric:tabular-nums}.issues-chip{border:1px solid var(--warn-line);background:var(--warn-soft);color:var(--warn);font-weight:600}.issues-chip strong{color:var(--text)}html[data-pointer=coarse] .saving-chip,html[data-pointer=coarse] .issues-chip{min-height:44px}.popover{z-index:25;background:var(--surface-solid);width:min(290px,100vw - 16px);padding:12px 14px;position:absolute;overflow:auto}.popover-title{margin:0 0 6px;font-size:14px}.popover h3{margin:10px 0 4px}.popover p{margin:8px 0 0}.rows{gap:3px;margin:0;display:grid}.rows>div{justify-content:space-between;gap:12px;font-size:13px;display:flex}.rows dt{color:var(--muted)}.rows dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.radio-btn{min-width:max(40px, var(--target));max-width:180px;height:max(40px, var(--target));border:1px solid var(--line);background:var(--surface-raise);color:var(--muted);white-space:nowrap;cursor:pointer;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 10px;transition:background .15s,border-color .15s;display:inline-flex}.radio-btn:hover,.radio-btn[aria-expanded=true]{border-color:var(--line-strong);background:var(--surface-hover)}.radio-btn.on{color:var(--accent)}.radio-btn svg{flex:none}.radio-name{text-overflow:ellipsis;color:var(--text);font-size:13px;font-weight:600;overflow:hidden}.radio-live{background:var(--accent);width:6px;height:6px;box-shadow:0 0 6px var(--accent-glow);border-radius:50%;flex:none;display:inline-block}.popover.radio-pop{width:min(330px,100vw - 16px)}.radio{gap:10px;display:grid}.radio-sheet .radio{margin-top:4px}.radio-now{min-height:20px;color:var(--text);margin:0;font-size:13px;font-weight:600}.radio-transport{justify-content:center;align-items:center;gap:12px;display:flex}.icon-btn.radio-play{border-color:var(--accent-line);background:var(--accent-soft);width:52px;height:52px;color:var(--accent);border-radius:50%}.radio-stations{gap:4px;display:grid}.radio-station{min-height:max(44px, var(--target));border:1px solid var(--line);background:var(--surface-tint);color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:0 8px;padding:5px 10px;display:grid}.radio-station:hover:not(:disabled){background:var(--surface-hover)}.radio-station.current{border-color:var(--accent-line);background:var(--accent-soft)}.radio-station:disabled{opacity:.55;cursor:default}.radio-st-name{font-size:13px;font-weight:600}.radio-st-style{color:var(--muted);grid-column:1;font-size:12px}.radio-st-mark{color:var(--accent);grid-area:1/2/span 2;align-items:center;gap:5px;font-size:12px;display:inline-flex}.radio-volume{align-items:center;gap:8px;display:flex}.radio-volume input[type=range]{min-width:0;height:var(--target);accent-color:var(--accent);cursor:pointer;flex:1;margin:0}.radio-vol-num{text-align:right;font-variant-numeric:tabular-nums;width:42px;color:var(--muted);font-size:12px}.radio-off{width:100%}.toast.toast-narrow{max-width:380px}.settings-volume{border-bottom:1px solid var(--line);padding:6px 0 10px 34px}.goal-col{z-index:4;top:var(--top-y);left:var(--hud-l);width:var(--col-w);max-height:calc(100dvh - var(--top-y) - var(--dock));flex-direction:column;gap:8px;display:flex;position:absolute;overflow:auto}.goal-track{padding:12px 14px}.goal-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.goal-head h2{flex:1;margin:0;font-size:15px;line-height:1.2;display:grid}.chapter-num{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:600}.goal-count-chip{background:var(--accent-soft);color:var(--accent);font-variant-numeric:tabular-nums;border-radius:99px;padding:1px 8px;font-size:12.5px}.goals{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.goal{color:var(--muted);align-items:flex-start;gap:9px;display:flex}.goal.current,.goal.claimable{color:var(--text)}.goal-mark{border:1.5px solid var(--line-strong);border-radius:6px;flex:none;place-items:center;width:18px;height:18px;margin-top:1px;display:grid}.goal.current .goal-mark{border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.goal.claimable .goal-mark{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.goal-body{flex:1;gap:3px;min-width:0;display:grid}.goal-title{align-items:center;gap:6px;font-weight:600;display:flex}.reward-chip{color:var(--accent);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px;font-weight:700}.goal-hint{color:var(--muted);font-size:12.5px}.goal-progress{align-items:center;gap:8px;display:flex}.goal-progress .progress{flex:1}.goal-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.goal.preview{color:var(--muted)}.goal.preview .goal-mark{border-style:dashed;border-color:var(--line-strong)}.goals.previews{margin-top:6px}h3.goal-divider{margin:10px 0 0}.goal-divider{border-top:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;padding-top:4px;font-size:12px;font-weight:600}.goal-done-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.goal-done{color:var(--good);font-size:13px;font-weight:700}.goal-done-row .btn-collect{min-height:var(--target);padding:5px 12px}.chapter-reward{margin:10px 0 0}.celebrate{border-radius:var(--radius);border:1px solid var(--accent-line);background:var(--surface-solid);box-shadow:0 0 24px var(--accent-glow), var(--shadow);grid-template-columns:auto 1fr;align-items:center;gap:10px 12px;padding:12px 14px;animation:.35s ease-out pop-in;display:grid}.celebrate-burst{background:var(--accent);width:38px;height:38px;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;display:grid}.celebrate-text{flex:1;font-size:13px;display:grid}.celebrate-text strong{font-size:15px}.celebrate .btn-collect{grid-column:1/-1}.unlock-card{align-items:center;gap:10px;padding:8px 10px;animation:.35s ease-out pop-in;display:flex}.unlock-text{flex:1;min-width:0;font-size:13px}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}}.subbar{z-index:4;top:var(--top-y);left:var(--hud-l);right:var(--hud-r);align-items:center;gap:6px;display:flex;position:absolute}.goal-col.compact{flex:1;width:auto;min-width:0;max-height:none;position:static;overflow:visible}.goal-pill-row{gap:6px;min-width:0;display:flex}.goal-pill{border:1px solid var(--line-strong);background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:0;min-height:44px;box-shadow:var(--shadow);cursor:pointer;text-align:left;border-radius:99px;flex:1;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:600;display:flex}.pill-dot{background:var(--accent);width:10px;height:10px;box-shadow:0 0 8px var(--accent-glow);border-radius:50%;flex:none}.pill-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pill-count{color:var(--accent);font-variant-numeric:tabular-nums}.goal-pill.claim{background:var(--accent);color:var(--accent-ink);box-shadow:0 0 14px var(--accent-glow);border-color:#0000;padding:3px 14px}.pill-text.two{line-height:1.2;display:grid}.pill-sub{text-overflow:ellipsis;white-space:nowrap;opacity:.85;font-size:13px;font-weight:600;overflow:hidden}.goal-pill-more{border:1px solid var(--line-strong);background:var(--surface);width:44px;min-height:44px;box-shadow:var(--shadow);cursor:pointer;border-radius:99px;flex:none;place-items:center;display:grid}.saving-line{margin:8px 0 0}.goal-sheet{max-height:50dvh;padding:10px 12px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.goal-sheet .goals{margin-top:0}.toolbar{z-index:5;left:50%;bottom:calc(var(--safe-b) + var(--band));align-items:center;gap:10px;display:flex;position:absolute;transform:translate(-50%)}.tools,.zoom{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;gap:4px;padding:5px;display:flex}.tool{min-width:66px;min-height:54px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:13px;align-content:center;justify-items:center;gap:2px;padding:6px 10px 5px;transition:background .15s,color .15s,border-color .15s;display:grid;position:relative}.tool:hover{color:var(--text);background:var(--surface-raise)}.tool[aria-pressed=true]{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.tool.goal{color:var(--text)}.goal-dot{background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 0 var(--accent-glow);border-radius:50%;animation:1.6s ease-out infinite goal-dot;position:absolute;top:5px;left:6px}@keyframes goal-dot{70%{box-shadow:0 0 0 7px var(--accent-clear)}to{box-shadow:0 0 0 0 var(--accent-clear)}}.tool-label{white-space:nowrap;font-size:12px;font-weight:600}.tool-key{color:var(--muted);font-size:12px;line-height:1;position:absolute;top:3px;right:5px}.tool-new{background:var(--accent);width:9px;height:9px;box-shadow:0 0 6px var(--accent-glow);border-radius:50%;position:absolute;top:6px;right:7px}.zoom .icon-btn{width:44px;height:44px}.tool-hint{z-index:5;left:50%;bottom:calc(var(--dock) - 2px);background:var(--surface);border:1px solid var(--line);white-space:nowrap;color:var(--muted);max-width:calc(100vw - 2 * var(--gutter));border-radius:99px;margin:0;padding:6px 12px;font-size:12.5px;position:absolute;transform:translate(-50%)}.tray{z-index:6;left:50%;bottom:var(--dock);width:min(820px, calc(100vw - 2 * (var(--hud-l) + var(--col-w) + var(--gutter))));height:min(430px, max(46dvh, 340px), calc(100dvh - var(--top-y) - var(--dock) - 64px));flex-direction:column;padding:10px 12px 0;display:flex;position:absolute;overflow:hidden;transform:translate(-50%)}.tray-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;padding-bottom:8px;display:flex}.tray-head h2{margin:0;font-size:16px}.tabs{scrollbar-width:none;flex:1;gap:4px;display:flex;overflow-x:auto}.tab{min-height:var(--target);color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:6px;padding:4px 12px;font-weight:600;display:inline-flex;position:relative}.tab:hover{color:var(--text)}.tab-short{display:none}.tab-dot{background:var(--accent);width:9px;height:9px;box-shadow:0 0 6px var(--accent-glow);border-radius:50%}.tabs.fade-r{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.tabs.fade-l{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(270deg,#000 calc(100% - 28px),#0000)}.tabs.fade-l.fade-r{-webkit-mask-image:linear-gradient(90deg,#0000,#000 28px calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#0000,#000 28px calc(100% - 28px),#0000)}html[data-mode=phone] .tab-long,html[data-mode=landscape] .tab-long{display:none}html[data-mode=phone] .tab-short,html[data-mode=landscape] .tab-short{display:inline}.tab[aria-selected=true]{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.tray-body{scrollbar-gutter:stable;flex:1;min-height:0;padding:10px 8px 24px 2px;overflow:auto}.build-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;margin:0;padding:10px 0 0;list-style:none;display:grid}.build-card{border:1px solid var(--line);background:var(--surface-tint);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border-radius:12px;justify-items:center;gap:2px;width:100%;padding:8px 6px 7px;transition:border-color .15s,background .15s;display:grid;position:relative}.build-card:hover:not(:disabled),.build-card:focus-visible{border-color:var(--line-strong);background:var(--surface-raise)}.nowrap{white-space:nowrap}.build-card.goal{border-color:var(--accent-line)}.goal-tag{background:var(--accent);color:var(--accent-ink);border-radius:99px;padding:0 7px;font-size:12px;font-weight:800;line-height:1.45}.build-card.active{border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.build-card.poor .thumb{opacity:.75}.build-card.built{cursor:default;opacity:.6}.build-name{text-align:center;font-size:13px;font-weight:600;line-height:1.2}.build-cost{color:var(--accent);font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.build-afford{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:12px;display:inline-flex}.build-afford.ok{color:var(--good)}.build-afford.wait{color:var(--warn)}.build-next{color:var(--muted);font-size:12px}.card-top{justify-content:space-between;align-items:center;gap:4px;width:100%;min-height:20px;display:flex}.card-tags{gap:3px;display:inline-flex}.build-size{background:var(--surface-solid);border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:0 6px;font-size:12px;line-height:1.45}.tray-empty{margin:4px 0}.next-title{margin:14px 0 6px}.next-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.next-card{border:1px dashed var(--line);background:var(--surface-tint);cursor:help;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border-radius:12px;align-items:center;gap:10px;min-height:56px;padding:6px 10px;display:flex}.next-card .thumb{filter:grayscale()brightness(.65)}.next-text{flex:1;gap:3px;min-width:0;display:grid}.next-name{align-items:center;gap:5px;font-size:13px;font-weight:600;display:inline-flex}.tray-detail{border-top:1px solid var(--line);background:var(--surface-sunk);flex:none;min-height:52px;margin:0 -12px;padding:8px 14px 10px;font-size:13px}.tray-detail.muted{align-items:center;display:flex}.detail-line{margin:0 0 4px}.detail-nums{flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.detail-gain{margin:4px 0 0;font-size:12.5px;font-weight:600}.upgrade-gain{margin:2px 0 4px}.cap-line{align-items:flex-start;gap:5px;display:flex}.lock-note{color:var(--info);align-items:center;gap:4px;display:inline-flex}.thumb{flex:none;place-items:center;display:inline-grid}.thumb-art{background-repeat:no-repeat;display:block}.building-panel{z-index:6;top:var(--top-y);right:var(--hud-r);width:var(--panel-w);max-height:calc(100dvh - var(--top-y) - var(--dock));flex-direction:column;padding:0;display:flex;position:absolute;overflow:hidden}.bp-head{flex:none;margin:0;padding:12px 14px 8px}.bp-body{flex:auto;min-height:0;padding:0 14px 20px;overflow:auto}.bp-foot{border-top:1px solid var(--line);background:var(--surface-solid);flex:none;padding:10px 14px 12px}.bp-foot .btn-upgrade{flex:1}.bp-title{flex:1;min-width:0}.bp-title h2{margin:0;font-size:16px}.bp-title p{margin:0;font-size:12.5px}.status{min-height:var(--target);flex-wrap:wrap;align-items:center;gap:6px 10px;margin:4px 0 8px;font-size:13px;font-weight:600;display:flex}.status-text{align-items:center;gap:6px;display:inline-flex}.tone-ok{color:var(--good)}.tone-info{color:var(--info)}.tone-warn{color:var(--warn)}.tone-bad{color:var(--bad)}.status-action{color:var(--text)}.status.has-progress{flex-wrap:nowrap}.status.has-progress .status-text{white-space:nowrap}.status-progress{flex:1;min-width:40px;max-width:160px}.breakdown{min-height:28px}.blurb{margin:8px 0 0;font-size:13px}.econ .net{border-color:var(--good-line)}.market-line{margin:0 0 8px}.boost-line{margin:-4px 0 8px}.boost-btn{color:var(--accent);gap:4px;text-decoration:none}.boost-explain{display:block}.breakdown{flex-wrap:wrap;gap:4px;margin:0 0 6px;display:flex}.breakdown .chip.up{color:var(--good);border-color:var(--good-line)}.breakdown .chip.down{color:var(--bad);border-color:var(--bad-line)}.stock{gap:4px;margin:4px 0 10px;display:grid}.stock-row{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.price{gap:4px;display:grid}.price-row{justify-content:space-between;font-weight:600;display:flex}.slider{padding-bottom:18px;position:relative}.slider input[type=range]{width:100%;height:44px;accent-color:var(--accent);appearance:none;cursor:pointer;background:0 0;margin:0}.slider input[type=range]::-webkit-slider-runnable-track{background:var(--track);border-radius:99px;height:6px}.slider input[type=range]::-moz-range-track{background:var(--track);border-radius:99px;height:6px}.slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:3px solid var(--surface-solid);width:28px;height:28px;box-shadow:0 0 0 1px var(--accent-line);border-radius:50%;margin-top:-11px}.slider input[type=range]::-moz-range-thumb{background:var(--accent);border:3px solid var(--surface-solid);border-radius:50%;width:22px;height:22px}.best-mark{left:calc(14px + var(--best) * (100% - 28px));pointer-events:none;justify-items:center;display:grid;position:absolute;top:30px;transform:translate(-50%)}.best-tick{background:var(--good);width:2px;height:8px}.best-label{color:var(--good);white-space:nowrap;font-size:12px;font-weight:700}.price-help{margin:0 0 10px}.at-best{color:var(--good);align-items:center;gap:4px;display:inline-flex}.upgrade-box{border:1px solid var(--line);background:var(--surface-tint);border-radius:12px;gap:12px;margin:10px 0 8px;padding:10px;display:flex}.upgrade-box .thumb{margin-top:2px}.upgrade-text{flex:1;gap:4px;min-width:0;display:grid}.upgrade-title{margin:0;font-weight:700}.gains{margin:0;padding:0;font-size:13px;list-style:none}.gains strong{color:var(--good)}.btn-upgrade{justify-self:start}.upgrade-box p{margin:0}.upgrade-run{margin:10px 0}.upgrade-run p{color:var(--info);align-items:center;gap:6px;margin:0 0 6px;font-weight:600;display:flex}.top-level{margin:10px 0}.bp-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.scrim{padding:calc(var(--safe-t) + 16px) calc(var(--safe-r) + 16px) calc(var(--safe-b) + 16px) calc(var(--safe-l) + 16px);background:var(--scrim);pointer-events:auto;z-index:10;place-items:center;display:grid;position:fixed;inset:0}.scrim.clear{background:0 0}.dialog{--dialog-pad-x:18px;--dialog-pad-b:18px;width:min(420px,100%);max-height:calc(100dvh - 32px);padding:16px var(--dialog-pad-x) var(--dialog-pad-b);background:var(--surface-solid);overflow:auto}.dialog:focus{outline:none}.dialog.wide{width:min(560px,100%)}.dialog.anchored{width:min(340px,100vw - 24px);box-shadow:0 0 0 1px var(--line-strong), var(--shadow);position:absolute}.dialog p{margin:6px 0}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.dialog-actions.left{justify-content:flex-start}.dialog>.dialog-actions{bottom:calc(-1 * var(--dialog-pad-b));z-index:1;margin:14px calc(-1 * var(--dialog-pad-x)) calc(-1 * var(--dialog-pad-b));padding:12px var(--dialog-pad-x) var(--dialog-pad-b);border-top:1px solid var(--line);background:var(--surface-solid);position:sticky}.dialog>.dialog-actions.help-actions{justify-content:space-between}.settings .switch{border-bottom:1px solid var(--line);cursor:pointer;align-items:flex-start;gap:12px;min-height:44px;padding:10px 0;display:flex}.settings .switch input{width:22px;height:22px;accent-color:var(--accent);margin:1px 0 0}.settings .switch small{font-size:12.5px;display:block}.saved-line{margin:4px 0 0}.compare{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:10px 0;font-size:13px}.compare th,.compare td{text-align:right;border-bottom:1px solid var(--line);padding:5px 8px}.compare th[scope=row]{text-align:left;color:var(--muted);font-weight:500}.help-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.help-card{border:1px solid var(--line);background:var(--surface-tint);border-radius:12px;padding:10px 12px 10px 40px;position:relative}.help-card h3{color:var(--text);letter-spacing:.06em;margin:0 0 4px}.help-card p{color:var(--muted);margin:0;font-size:13px}.help-num{background:var(--accent-soft);width:22px;height:22px;color:var(--accent);border-radius:7px;place-items:center;font-size:12.5px;font-weight:800;display:grid;position:absolute;top:10px;left:10px}.keys{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 14px;margin:0;font-size:13px;display:grid}.keys>div{align-items:baseline;gap:8px;display:flex}.keys dt kbd{border:1px solid var(--line-strong);background:var(--surface-raise);text-align:center;border-radius:6px;min-width:26px;padding:1px 6px;font-size:12px;font-weight:700;display:inline-block}.keys dd{color:var(--muted);margin:0}.welcome{text-align:center}.welcome .panel-head h2{font-size:18px}.wb-coins{justify-items:center;gap:2px;display:grid}.wb-coins strong{color:var(--accent);text-shadow:0 0 18px var(--accent-glow);font-variant-numeric:tabular-nums;font-size:34px}.wb-list{margin:8px 0;padding:0;font-size:13px;list-style:none}.welcome .dialog-actions{justify-content:center}.toasts{z-index:30;top:var(--top-y);width:max-content;max-width:min(560px, calc(100vw - 2 * var(--gutter)));justify-items:center;gap:6px;display:grid;position:absolute;left:50%;transform:translate(-50%)}.toast{background:var(--surface-solid);border:1px solid var(--line-strong);border-left:3px solid var(--line-strong);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:8px;padding:8px 14px;font-weight:600;animation:.25s ease-out toast-in;display:flex}.toast.has-action{padding:4px 6px 4px 14px}.toast-good{border-left-color:var(--good)}.toast-bad{border-left-color:var(--bad)}.toast-bad svg{color:var(--bad)}.toast-ghost{visibility:hidden;animation:none}.toast-undo{border-left-color:var(--accent)}.toast-action{border:1px solid var(--accent-line);background:var(--accent-soft);min-height:36px;color:var(--accent);cursor:pointer;border-radius:9px;align-items:center;gap:5px;padding:4px 12px;font-weight:700;display:inline-flex}html[data-pointer=coarse] .toast-action{min-height:44px}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}}.burst-label{z-index:40;color:var(--accent);text-shadow:0 0 12px var(--accent-glow), 0 2px 3px #000;font-size:20px;font-weight:900;position:absolute;transform:translate(-50%,-50%)}.burst-coin{z-index:40;background:radial-gradient(circle at 35% 35%, var(--accent-hover), var(--accent) 45%, var(--accent-deep));width:14px;height:14px;box-shadow:0 0 8px var(--accent-glow);border-radius:50%;position:absolute}.footer-note{color:var(--footnote);margin:0;font-size:12px;line-height:1.3}.footer-band{z-index:3;left:50%;bottom:calc(var(--safe-b) + 5px);max-width:calc(100vw - 2 * var(--gutter));background:var(--surface-chip);white-space:nowrap;text-overflow:ellipsis;border-radius:99px;padding:2px 10px;position:absolute;overflow:hidden;transform:translate(-50%)}.footer-toolbar{display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.goal-dot{box-shadow:0 0 0 3px var(--accent-glow)}}@media (max-width:1100px){.brand-name{display:none}}@media (max-width:1239px){.tray{width:min(820px, calc(100vw - 2 * var(--gutter)))}}@media (max-width:900px){.tool{min-width:58px;padding:6px 6px 5px}}.subbar .saving-chip,.subbar .issues-chip,.subbar .home-btn{display:none}html[data-mode=phone] .subbar .home-btn,html[data-mode=landscape] .subbar .home-btn{background:var(--surface);width:44px;height:44px;box-shadow:var(--shadow);border-radius:99px;display:inline-grid}html[data-mode=tablet]{--col-w:290px}html[data-mode=tablet] .tray,html[data-mode=tablet] .building-panel{top:auto;left:50%;right:auto;bottom:var(--dock);width:min(720px, calc(100vw - 2 * var(--gutter)));height:min(52dvh, calc(100dvh - var(--top-y) - 58px - var(--dock)));max-height:min(52dvh, calc(100dvh - var(--top-y) - 58px - var(--dock)));transform:translate(-50%)}html[data-mode=tablet] .toasts{left:auto;right:var(--hud-r);max-width:min(420px, calc(100vw - var(--col-w) - 3 * var(--gutter)));justify-items:end;transform:none}html[data-mode=phone],html[data-mode=landscape]{--gutter:8px;--top-h:52px;--top-y:calc(var(--safe-t) + var(--gutter) + var(--top-h) + 6px);--sub-h:50px}html[data-mode=phone] body,html[data-mode=landscape] body{font-size:14px}html[data-mode=phone] .topbar-actions .saving-chip,html[data-mode=phone] .topbar-actions .issues-chip,html[data-mode=landscape] .topbar-actions .issues-chip,html[data-mode=phone] .stats .saving-chip,html[data-mode=landscape] .stats .saving-chip{display:none}html[data-mode=phone] .subbar .issues-chip,html[data-mode=landscape] .subbar .issues-chip{background:var(--surface);box-shadow:var(--shadow);max-width:150px;padding:4px 10px;font-size:13px;display:inline-flex}html[data-mode=phone] .topbar,html[data-mode=landscape] .topbar{border-radius:14px;gap:4px;padding:4px 4px 4px 6px}html[data-mode=phone] .brand,html[data-mode=landscape] .brand-name{display:none}html[data-mode=phone] .stats{justify-content:flex-start;gap:3px}html[data-mode=phone] .stat{border-radius:9px;gap:4px;min-height:44px;padding:2px 6px}html[data-mode=phone] .stat-val{flex-direction:column;align-items:flex-start;gap:0}html[data-mode=phone] .stat strong,html[data-mode=phone] .clock-time{font-size:14px;line-height:1.15}html[data-mode=phone] .stat small{font-size:13px;line-height:1.1}html[data-mode=phone] .stat svg{width:15px;height:15px}html[data-mode=phone] .stat-clock{padding:2px}html[data-mode=phone] .stat-clock svg,html[data-mode=phone] .clock-day{display:none}html[data-mode=phone] .topbar-actions{gap:3px}html[data-mode=phone] .topbar-actions .icon-btn{border-radius:10px;width:44px;height:44px}html[data-mode=phone] .subbar,html[data-mode=landscape] .subbar{min-height:44px}.subbar .issues-word{display:none}html[data-mode=phone] .subbar .issues-chip,html[data-mode=landscape] .subbar .issues-chip{justify-content:center;min-width:44px;padding:4px 9px}.subbar .goal-col.compact{min-width:132px}html[data-mode=phone] .toasts{top:calc(var(--top-y) + var(--sub-h));max-width:calc(100vw - 2 * var(--gutter))}html[data-mode=phone]{--toolbar-h:88px;--band:0px}html[data-mode=phone] .toolbar{left:var(--gutter);right:var(--gutter);bottom:calc(var(--safe-b) + 4px);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;flex-wrap:wrap;gap:0;padding:5px 5px 4px;transform:none}html[data-mode=phone] .tools{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;flex:100%;justify-content:space-between;padding:0}html[data-mode=phone] .zoom{display:none}html[data-mode=phone] .tool{flex:1;min-width:0;min-height:52px;padding:5px 2px 4px}html[data-mode=phone] .tool-label{font-size:13px}html[data-mode=phone] .footer-band{display:none}html[data-mode=phone] .footer-toolbar{text-align:center;color:var(--footnote);flex:100%;padding:3px 4px 1px;font-size:13px;display:block}html[data-mode=phone] .tool-hint{bottom:calc(var(--dock) - 2px);white-space:normal;text-align:center;border-radius:14px;font-size:13px}html[data-mode=phone] .tray,html[data-mode=phone] .building-panel{left:var(--gutter);right:var(--gutter);top:auto;bottom:var(--dock);width:auto;height:min(56dvh, calc(100dvh - var(--top-y) - var(--sub-h) - var(--dock)));max-height:min(56dvh, calc(100dvh - var(--top-y) - var(--sub-h) - var(--dock)));transform:none}html[data-mode=phone] .build-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px}html[data-mode=phone] .tab,html[data-mode=landscape] .tab{gap:4px;min-height:44px;padding:4px 9px;font-size:13px}html[data-mode=phone] .tray-head{gap:4px}html[data-mode=phone] .tray-head h2{display:none}html[data-mode=phone] .small,html[data-mode=phone] .facts dt,html[data-mode=phone] .build-afford,html[data-mode=phone] .build-next,html[data-mode=phone] .build-size,html[data-mode=phone] .best-label,html[data-mode=phone] .goal-hint,html[data-mode=phone] .goal-count,html[data-mode=phone] .reward-chip,html[data-mode=phone] .new-badge,html[data-mode=phone] .goal-tag,html[data-mode=phone] .chip,html[data-mode=phone] .chapter-num,html[data-mode=phone] .goal-divider,html[data-mode=phone] .goal-count-chip,html[data-mode=phone] .detail-nums,html[data-mode=phone] .detail-gain,html[data-mode=phone] .tray-detail,html[data-mode=phone] .rows>div,html[data-mode=phone] .help-num,html[data-mode=phone] .bp-title p,html[data-mode=phone] .settings .switch small,html[data-mode=phone] h3,html[data-mode=landscape] .small,html[data-mode=landscape] .facts dt,html[data-mode=landscape] .build-afford,html[data-mode=landscape] .build-next,html[data-mode=landscape] .build-size,html[data-mode=landscape] .best-label,html[data-mode=landscape] .goal-hint,html[data-mode=landscape] .goal-count,html[data-mode=landscape] .reward-chip,html[data-mode=landscape] .new-badge,html[data-mode=landscape] .goal-tag,html[data-mode=landscape] .chip,html[data-mode=landscape] .detail-nums,html[data-mode=landscape] .detail-gain,html[data-mode=landscape] .tray-detail,html[data-mode=landscape] .rows>div,html[data-mode=landscape] .help-num,html[data-mode=landscape] .bp-title p,html[data-mode=landscape] .settings .switch small,html[data-mode=landscape] .tool-hint,html[data-mode=landscape] h3,html[data-mode=landscape] .footer-note,html[data-mode=landscape] .tool-label,html[data-mode=landscape] .stat small{font-size:13px}html[data-mode=phone] .dialog.sheet,html[data-mode=landscape] .dialog.sheet{align-self:end}html[data-mode=phone] .scrim-sheet{padding-bottom:calc(var(--dock) + 2px)}html[data-mode=landscape] .scrim-sheet{padding-bottom:calc(var(--safe-b) + var(--band) + 4px);padding-left:var(--left-x)}html[data-mode=phone] .dialog.sheet{max-height:calc(100dvh - var(--top-y) - var(--sub-h) - var(--dock) - 8px)}html[data-mode=landscape] .dialog.sheet{max-height:calc(100dvh - var(--top-y) - var(--sub-h) - var(--band) - 12px)}html[data-mode=landscape]{--rail-w:84px;--rail-x:calc(var(--safe-l) + var(--gutter));--left-x:calc(var(--rail-x) + var(--rail-w) + var(--gutter));--side-w:min(45vw, 380px);--band:24px;--top-h:52px;--sub-h:48px}html[data-mode=landscape] .topbar{left:var(--left-x);right:calc(var(--safe-r) + var(--gutter))}html[data-mode=landscape] .stat{min-height:44px;padding:2px 8px}html[data-mode=landscape] .topbar-actions .icon-btn{width:44px;height:44px}html[data-mode=landscape] .subbar{left:var(--left-x);width:calc(100vw - var(--left-x) - var(--side-w) - 2 * var(--gutter) - var(--safe-r));right:auto}html[data-mode=landscape] .toolbar{left:var(--rail-x);top:calc(var(--safe-t) + var(--gutter));bottom:calc(var(--safe-b) + var(--gutter));width:var(--rail-w);flex-direction:column;align-items:stretch;transform:none}html[data-mode=landscape] .tools{flex-direction:column;flex:1;justify-content:space-between;padding:4px}html[data-mode=landscape] .tool{flex:1;gap:0;min-width:0;min-height:44px;padding:2px}html[data-mode=landscape] .tool svg{width:18px;height:18px}html[data-mode=landscape] .zoom,html[data-mode=landscape] .footer-toolbar{display:none}html[data-mode=landscape] .footer-band{left:var(--left-x);bottom:calc(var(--safe-b) + 3px);max-width:calc(100vw - var(--left-x) - var(--gutter) - var(--safe-r));transform:none}html[data-mode=landscape] .tray,html[data-mode=landscape] .building-panel{left:auto;right:calc(var(--safe-r) + var(--gutter));top:var(--top-y);bottom:calc(var(--safe-b) + var(--band) + 4px);width:var(--side-w);height:auto;max-height:none;transform:none}html[data-mode=landscape] .build-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px}html[data-mode=landscape] .build-card{gap:0;padding:5px 4px}html[data-mode=landscape] .build-card .build-next{display:none}html[data-mode=landscape] .tray-body{padding-top:6px}html[data-mode=landscape] .tray-head{padding-bottom:4px}html[data-mode=landscape] .tray-head h2{display:none}html[data-mode=landscape] .tool-hint{left:var(--left-x);bottom:calc(var(--safe-b) + var(--band) + 4px);max-width:calc(100vw - var(--left-x) - var(--side-w) - 2 * var(--gutter));white-space:normal;transform:none}html[data-mode=landscape] .toasts{top:calc(var(--top-y) + var(--sub-h));left:var(--left-x);max-width:calc(100vw - var(--left-x) - var(--side-w) - 2 * var(--gutter));justify-items:start;transform:none}html[data-mode=landscape] .goal-sheet{max-height:calc(100dvh - var(--top-y) - var(--sub-h) - var(--band) - 8px)}html[data-mode=landscape] .dialog{max-height:calc(100dvh - 16px)}html[data-pointer=coarse] .wo-chip .wo-chip-x{min-height:44px}html[data-mode=phone] .wo-ghost-text span,html[data-mode=landscape] .wo-ghost-text span,html[data-mode=landscape] .wo-label{font-size:13px}.bp-body.more-below,.tray-body.more-below{-webkit-mask-image:linear-gradient(#000 calc(100% - 32px),#0000);mask-image:linear-gradient(#000 calc(100% - 32px),#0000)}html[data-mode=phone] .radio-btn,html[data-mode=landscape] .radio-btn{border-radius:10px;gap:3px;width:44px;min-width:44px;padding:0}html[data-mode=phone] .radio-st-style,html[data-mode=phone] .radio-st-mark,html[data-mode=phone] .radio-vol-num,html[data-mode=landscape] .radio-st-style,html[data-mode=landscape] .radio-st-mark,html[data-mode=landscape] .radio-vol-num{font-size:13px}#ui .world-overlay{pointer-events:none;position:fixed;inset:0;overflow:hidden}#ui .world-overlay .wo-btn{pointer-events:auto}.wo-safe{top:env(safe-area-inset-top,0px);right:env(safe-area-inset-right,0px);bottom:env(safe-area-inset-bottom,0px);left:env(safe-area-inset-left,0px);visibility:hidden;pointer-events:none;position:fixed}.wo-label{background:var(--surface);border:1px solid var(--line-strong);white-space:nowrap;width:max-content;color:var(--text);border-radius:10px;justify-items:center;gap:1px;padding:5px 10px;font-size:12.5px;line-height:1.3;display:grid;position:absolute;transform:translate(-50%,10px);box-shadow:0 6px 18px #00000073}.wo-label.wo-above{transform:translate(-50%,calc(-100% - 6px))}.wo-issue{border-color:var(--warn-line)}.wo-line{font-weight:600}.wo-good{color:var(--good)}.wo-bad{color:var(--bad)}.wo-warn{color:var(--warn)}.wo-info{color:var(--info)}.wo-muted{color:var(--muted);font-weight:500}.wo-ghost{width:max-content;max-width:calc(100vw - 16px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));background:var(--surface);border:1px solid var(--line-strong);white-space:nowrap;border-radius:14px;align-items:center;gap:6px;padding:6px;font-size:13px;display:flex;position:absolute;transform:translate(-50%,12px);box-shadow:0 8px 22px #00000080}.wo-ghost-text{padding:0 4px 0 6px;line-height:1.25;display:grid}.wo-ghost-text span{font-size:12px}.wo-btn{border:1px solid var(--line-strong);background:var(--surface-raise);min-width:44px;min-height:44px;color:var(--text);font:600 13px/1 var(--font,system-ui, sans-serif);cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.wo-confirm{background:var(--accent);color:var(--accent-ink);border-color:#0000}.wo-confirm:disabled{background:var(--surface-raise);border-color:var(--line);color:var(--muted);cursor:not-allowed}.wo-cancel{padding:0}.wo-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wo-chip{left:50%;bottom:calc(142px + env(safe-area-inset-bottom,0px));background:var(--surface);border:1px solid var(--accent-line);white-space:nowrap;border-radius:99px;align-items:center;gap:10px;padding:0 0 0 14px;font-size:13px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 6px 18px #00000073}.wo-chip .wo-chip-x{background:0 0;border:0;border-radius:99px;min-width:44px;min-height:40px}.wo-hint{left:50%;bottom:calc(var(--dock,calc(112px + env(safe-area-inset-bottom,0px))) + 96px);max-width:calc(100vw - 16px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));background:var(--surface);border:1px solid var(--accent-line);border-radius:14px;margin:0;padding:10px 16px;font-size:14px;font-weight:600;position:absolute;transform:translate(-50%)}.wo-floater{font:800 16px/1 var(--font,system-ui, sans-serif);color:var(--bad);text-shadow:0 1px 0 #000000e6, 0 0 6px var(--bad-glow);white-space:nowrap;position:absolute;transform:translate(-50%,-50%)}@media (max-width:640px){.wo-ghost{max-width:calc(100vw - 16px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));flex-wrap:wrap;justify-content:center}.wo-ghost-text{text-align:center;flex-basis:100%;padding:2px 4px 0}.wo-chip{bottom:calc(150px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 16px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}.wo-label{font-size:13px}}
