:root{--panel: rgba(13, 17, 26, .78);--panel-solid: #12161f;--panel-border: rgba(255, 255, 255, .09);--panel-border-bright: rgba(255, 255, 255, .16);--ink: #eaeef6;--ink-dim: #9aa4b8;--ink-faint: #6b7488;--accent: #f6b73c;--accent-soft: rgba(246, 183, 60, .16);--good: #5fd68b;--bad: #ff6b6b;--info: #67d4ff;--radius: 14px;--radius-sm: 9px;--shadow: 0 10px 30px rgba(2, 4, 10, .5);--blur: blur(14px) saturate(1.25)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;background:#0b0e15;font-family:Segoe UI,SF Pro Text,system-ui,-apple-system,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}#game-root,#game-root canvas{position:absolute;top:0;right:0;bottom:0;left:0}#hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10;font-size:13px}#hud .panel{background:var(--panel);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow);pointer-events:auto}#hud button{pointer-events:auto;font:inherit;color:var(--ink);background:#ffffff0d;border:1px solid var(--panel-border);border-radius:var(--radius-sm);padding:6px 11px;cursor:pointer;transition:background .15s,border-color .15s,transform .06s;-webkit-user-select:none;user-select:none}#hud button:hover:not(:disabled){background:#ffffff1c;border-color:var(--panel-border-bright)}#hud button:active:not(:disabled){transform:translateY(1px)}#hud button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}#hud button:disabled{opacity:.38;cursor:not-allowed}#hud button.danger{border-color:#ff6b6b66;color:#ffb0b0}#hud button.danger:hover:not(:disabled){background:#ff6b6b26;border-color:var(--bad)}.topbar{position:absolute;top:10px;left:12px;right:12px;display:flex;align-items:center;gap:10px;pointer-events:none}.topbar .cluster{display:flex;align-items:center;gap:4px;padding:6px 10px}.topbar .spacer{flex:1}.stat{display:flex;flex-direction:column;justify-content:center;padding:2px 10px;min-width:0;border-right:1px solid rgba(255,255,255,.07)}.stat:last-child{border-right:none}.stat .label{font-size:9.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-faint);white-space:nowrap}.stat .value{font-size:15.5px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.25}.stat .value.money{color:var(--good)}.stat .value.money.negative{color:var(--bad)}.stat .value.money.pulse-up{animation:pulseUp .6s ease}.stat .value.money.pulse-down{animation:pulseDown .6s ease}@keyframes pulseUp{30%{color:#b6ffd2;text-shadow:0 0 14px rgba(95,214,139,.75)}}@keyframes pulseDown{30%{color:#ffc9c9;text-shadow:0 0 14px rgba(255,107,107,.75)}}.stat .stars{color:var(--accent);letter-spacing:1px;font-size:13px}.stat .stars .off{color:#ffffff29}.progress{width:104px;height:4px;margin-top:3px;border-radius:3px;background:#ffffff1a;overflow:hidden}.progress>div{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent),#ffd97a);transition:width .5s ease}.clockchip .value{color:#b9c8e4}.weatherchip .value{font-size:14px}.speedseg{display:flex;padding:3px;gap:2px;background:#ffffff0d;border:1px solid var(--panel-border);border-radius:var(--radius-sm)}.speedseg button{border:none;background:transparent;border-radius:6px;min-width:34px;padding:4px 8px;font-weight:600}.speedseg button.active{background:var(--accent);color:#1c1503}.iconbtn{font-size:15px;min-width:36px;text-align:center;padding:5px 8px}.menuwrap{position:relative}.menu{position:absolute;right:0;top:calc(100% + 8px);min-width:200px;padding:6px;display:flex;flex-direction:column;gap:2px;z-index:60}.menu button{text-align:left;border:none;background:transparent;padding:8px 10px;border-radius:7px;white-space:nowrap}.menu button:hover{background:#ffffff17}.menu hr{border:none;border-top:1px solid var(--panel-border);margin:4px 6px}.dock{position:absolute;left:50%;transform:translate(-50%);bottom:10px;display:flex;align-items:flex-end;gap:10px;padding:8px 10px;max-width:calc(100vw - 24px);overflow-x:auto;scrollbar-width:thin}.dock .group{display:flex;gap:5px;padding-right:10px;border-right:1px solid rgba(255,255,255,.08)}.dock .group:last-child{border-right:none;padding-right:0}.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:58px;height:58px;padding:4px 2px!important;border-radius:11px!important;position:relative;flex:0 0 auto}.tile .icon{font-size:19px;line-height:1.15}.tile .name{font-size:9px;font-weight:600;color:var(--ink-dim);white-space:nowrap;max-width:56px;overflow:hidden;text-overflow:ellipsis}.tile .price{font-size:8.5px;color:var(--ink-faint);font-variant-numeric:tabular-nums}.tile.active .name,.tile.active .price{color:var(--accent)}.tile.locked .icon{filter:grayscale(1) brightness(.7)}.tile .lock{position:absolute;top:3px;right:4px;font-size:8.5px;color:var(--accent);background:#0000008c;border-radius:5px;padding:1px 4px}.tile .key{position:absolute;top:3px;left:5px;font-size:8px;color:var(--ink-faint)}.tooltipcard{position:absolute;bottom:84px;left:50%;transform:translate(-50%);width:250px;padding:11px 13px;font-size:12px;line-height:1.45;z-index:55;pointer-events:none!important}.tooltipcard h4{font-size:13px;margin-bottom:2px}.tooltipcard .cost{color:var(--accent);font-weight:600}.tooltipcard .desc{color:var(--ink-dim)}.tooltipcard .lockline{color:var(--accent);margin-top:4px}.info-panel{position:absolute;top:76px;right:12px;width:264px;overflow:hidden;animation:slideIn .18s ease}@keyframes slideIn{0%{transform:translate(16px);opacity:0}to{transform:none;opacity:1}}.info-panel .head{display:flex;align-items:center;gap:9px;padding:11px 13px;border-bottom:1px solid var(--panel-border)}.info-panel .head .icon{font-size:20px}.info-panel .head h3{font-size:14.5px;line-height:1.2}.info-panel .head .sub{font-size:11px;color:var(--ink-dim)}.info-panel .body{padding:11px 13px;display:flex;flex-direction:column;gap:7px;font-size:12.5px}.chip{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600;background:#ffffff14}.chip.ok{color:var(--good);background:#5fd68b24}.chip.err{color:var(--bad);background:#ff6b6b24}.chip.warn{color:var(--accent);background:var(--accent-soft)}.kv{display:flex;justify-content:space-between;color:var(--ink-dim)}.kv b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.meter{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-dim)}.meter .bar{flex:1;height:6px;background:#ffffff17;border-radius:4px;overflow:hidden}.meter .bar div{height:100%;border-radius:4px;transition:width .4s ease,background .4s ease}.meter .num{min-width:22px;text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}.info-panel .btn-row{display:flex;flex-direction:column;gap:5px;margin-top:4px}.goals{position:absolute;top:76px;left:12px;width:250px;padding:12px 14px}.goals h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}.goals h4 button{border:none;background:none;color:var(--ink-faint);font-size:13px;padding:0 2px}.goals .item{display:flex;gap:8px;align-items:baseline;padding:3.5px 0;font-size:12.5px;color:var(--ink-dim)}.goals .item.done{color:var(--ink-faint);text-decoration:line-through}.goals .item .tick{font-size:11px;width:15px;color:var(--good)}.goals .nextstar{margin-top:8px;font-size:12px;color:var(--ink-dim)}.goals .nextstar b{color:var(--ink)}.goals .progress{width:100%;margin-top:5px}.toasts{position:absolute;left:50%;transform:translate(-50%);bottom:86px;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;background:var(--panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--panel-border);border-radius:24px;padding:8px 16px;font-size:12.5px;opacity:0;transform:translateY(10px) scale(.96);transition:all .25s cubic-bezier(.2,.9,.3,1.2);box-shadow:var(--shadow);max-width:460px}.toast.shown{opacity:1;transform:none}.toast.good{border-color:#5fd68b73}.toast.bad{border-color:#ff6b6b80}.toast.info{border-color:#67d4ff66}.toast.star{border-color:var(--accent);background:linear-gradient(135deg,#402f08eb,#181204eb);font-size:14px;font-weight:650;padding:12px 22px;box-shadow:0 0 34px #f6b73c59,var(--shadow)}.ghost-tip{position:absolute;background:#0a140eeb;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid rgba(68,221,136,.7);color:#c9f4da;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;white-space:nowrap;z-index:30;pointer-events:none!important;font-variant-numeric:tabular-nums}.ghost-tip.bad{border-color:#ff5a5abf;color:#ffc9c9;background:#1a0a0aeb}.finances{position:absolute;top:76px;right:288px;width:300px;max-height:62vh;display:flex;flex-direction:column}.finances .head{padding:11px 14px;border-bottom:1px solid var(--panel-border);display:flex;justify-content:space-between;align-items:baseline}.finances .head h3{font-size:14px}.finances .head .net{font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink-dim)}.finances .net .pos{color:var(--good)}.finances .net .neg{color:var(--bad)}.finances .rows{overflow-y:auto;padding:6px 14px 10px;scrollbar-width:thin}.ledger-row{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:12px;font-variant-numeric:tabular-nums}.ledger-row .day{color:var(--ink-faint);min-width:30px}.ledger-row .lbl{flex:1;color:var(--ink-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-row .pos{color:var(--good)}.ledger-row .neg{color:var(--bad)}.overlay-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#04060c8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:39;pointer-events:auto}.help{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(600px,92vw);max-height:84vh;overflow-y:auto;padding:26px 28px;font-size:13.5px;line-height:1.6;z-index:40}.help h2{color:var(--accent);font-size:19px;margin-bottom:4px}.help .tagline{color:var(--ink-dim);margin-bottom:14px}.help h3{font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-dim);margin:14px 0 6px}.help ol,.help ul{padding-left:20px}.help li{margin-bottom:5px}.help .keys{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px 14px;margin-top:4px}.help kbd{background:#ffffff1a;border:1px solid var(--panel-border-bright);border-radius:5px;padding:1px 6px;font-size:11px;font-family:inherit}.help .footnote{margin-top:12px;font-size:12px;color:var(--ink-faint)}.help button.primary{margin-top:16px;background:var(--accent);color:#1c1503;border:none;font-weight:650;padding:9px 22px;border-radius:10px}.hidden{display:none!important}
