:root{--grn:#46ff8a;--grn-dim:#1d7a44;--grn-glow:#46ff8a8c;--amb:#ffb347;--amb-glow:#ffb34780;--cyn:#58e6ff;--red:#ff5a5a;--ink:#04120a;--panel:#04120adb;--panel-line:#46ff8a47;--font-mono:"Cascadia Code", "Cascadia Mono", "JetBrains Mono", Consolas, "Courier New", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;font-family:var(--font-mono);color:var(--grn);-webkit-user-select:none;user-select:none;background:#020604;overflow:hidden}#app{position:fixed;inset:0}#gl{width:100%;height:100%;display:block;position:absolute;inset:0}#ui{z-index:10;pointer-events:none;position:absolute;inset:0}#ui .panel,#ui #actionbar,#ui #actionbar *,#ui #shop,#ui #shop *,#ui #modal,#ui #modal *,#ui #boot,#ui .tb-btn{pointer-events:auto}#crt{pointer-events:none;z-index:40;mix-blend-mode:multiply;background:repeating-linear-gradient(0deg,#0000001c 0 1px,#0000 1px 3px);position:absolute;inset:0}#crt:after{content:"";background:radial-gradient(#0000 55%,#0000006b 100%);position:absolute;inset:0}#crt:before{content:"";background:linear-gradient(#0000 0%,#78ffbe07 48%,#78ffbe0d 50%,#78ffbe07 52%,#0000 100%);animation:9s linear infinite crt-sweep;position:absolute;inset:-50% 0}@keyframes crt-sweep{0%{transform:translateY(-30%)}to{transform:translateY(30%)}}body.crt-on #app{animation:.9s cubic-bezier(.2,.7,.3,1) both crt-on}@keyframes crt-on{0%{filter:brightness(4)saturate(.2);transform:scaleY(.004)scaleX(.7)}35%{filter:brightness(2.2);transform:scaleY(1.02)scaleX(1)}60%{filter:brightness(1.35);transform:scaleY(.99)}to{filter:none;transform:none}}.panel{background:var(--panel);border:1px solid var(--panel-line);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);text-shadow:0 0 6px var(--grn-glow);border-radius:6px;padding:10px 12px;font-size:12px;line-height:1.55;position:absolute;box-shadow:0 0 24px #0009,inset 0 0 32px #46ff8a0a}.panel:before,.panel:after{content:"";border:1px solid var(--grn);opacity:.8;width:10px;height:10px;position:absolute}.panel:before{border-bottom:0;border-right:0;top:-1px;left:-1px}.panel:after{border-top:0;border-left:0;bottom:-1px;right:-1px}.hidden{display:none!important}#topbar{z-index:20;pointer-events:none;justify-content:space-between;align-items:flex-start;padding:14px 18px 0;display:flex;position:absolute;top:0;left:0;right:0}#topbar>*{pointer-events:auto}.tb-left{align-items:center;gap:14px;display:flex}#money-block{background:var(--panel);border:1px solid var(--panel-line);border-radius:6px;min-width:220px;padding:8px 16px 9px;box-shadow:0 0 24px #0009,inset 0 0 32px #46ff8a0d}.tb-label{letter-spacing:3px;color:var(--grn-dim);font-size:10px}#money{letter-spacing:1px;color:var(--grn);text-shadow:0 0 12px var(--grn-glow), 0 0 42px #46ff8a40;font-variant-numeric:tabular-nums;font-size:30px;font-weight:700}#money.bump{animation:.28s ease-out money-bump}@keyframes money-bump{30%{color:#b6ffd2;transform:scale(1.045)}}#money-rate{color:var(--amb);text-shadow:0 0 8px var(--amb-glow);font-variant-numeric:tabular-nums;font-size:12px}#sparkline{opacity:.9;filter:drop-shadow(0 0 6px var(--grn-glow))}.tb-right{align-items:center;gap:10px;display:flex}#tier-badge{color:var(--amb);letter-spacing:2px;text-shadow:0 0 8px var(--amb-glow);background:#08140cdb;border:1px solid #ffb34766;border-radius:4px;padding:7px 12px;font-size:11px}#clock{color:var(--grn-dim);letter-spacing:2px;font-size:11px}.tb-btn{font-family:var(--font-mono);letter-spacing:1px;color:var(--grn);border:1px solid var(--panel-line);cursor:pointer;text-shadow:0 0 6px var(--grn-glow);background:#061a0ee6;border-radius:4px;padding:8px 14px;font-size:12px;transition:all .15s}.tb-btn:hover{background:#46ff8a24;transform:translateY(-1px);box-shadow:0 0 16px #46ff8a59}.tb-btn:active{transform:translateY(1px)}#pipeline-panel{width:300px;max-height:calc(100% - 260px);top:108px;left:18px;overflow:hidden auto}#pipeline-panel h3,#goals-panel h3{letter-spacing:3px;color:var(--grn-dim);border-bottom:1px dashed #46ff8a40;justify-content:space-between;margin-bottom:7px;padding-bottom:5px;font-size:10px;display:flex}.pl-row{white-space:nowrap;justify-content:space-between;gap:8px;display:flex}.pl-row .nm{color:#b9ffd3}.pl-row .rt{color:var(--amb);font-variant-numeric:tabular-nums}.pl-row.off{opacity:.32}.pl-row.off .rt{color:var(--grn-dim)}.pl-flow{color:var(--grn-dim);padding-left:8px;font-size:11px}.pl-cursor{background:var(--grn);vertical-align:-1px;width:7px;height:12px;animation:1.05s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}#goals-panel{width:290px;top:108px;right:18px}.goal{margin:6px 0}.goal .g-t{color:#d8ffe6;font-size:12px}.goal .g-d{color:var(--grn-dim);font-size:11px}.goal .bar{background:#46ff8a1f;border-radius:2px;height:5px;margin-top:4px;overflow:hidden}.goal .bar i{background:linear-gradient(90deg, var(--grn-dim), var(--grn));height:100%;box-shadow:0 0 8px var(--grn-glow);transition:width .4s;display:block}.goal.done .g-t{color:var(--grn);opacity:.6;text-decoration:line-through}.goal.next .g-t:before{content:"▸ ";color:var(--amb)}#toast-feed{z-index:22;pointer-events:none;flex-direction:column;align-items:flex-end;gap:5px;width:340px;display:flex;position:absolute;bottom:86px;right:18px}.toast{background:var(--panel);border:1px solid var(--panel-line);border-left:3px solid var(--grn);text-shadow:0 0 6px var(--grn-glow);border-radius:3px;max-width:100%;padding:6px 12px;font-size:12px;animation:.22s ease-out both toast-in}.toast.warn{border-left-color:var(--amb);color:var(--amb);text-shadow:0 0 6px var(--amb-glow)}.toast.err{border-left-color:var(--red);color:var(--red)}.toast.out{animation:.4s ease-in both toast-out}@keyframes toast-in{0%{opacity:0;transform:translate(30px)}}@keyframes toast-out{to{opacity:0;transform:translate(30px)}}#actionbar{z-index:21;gap:12px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.act-btn{font-family:var(--font-mono);color:var(--grn);border:1px solid var(--grn-dim);letter-spacing:2px;cursor:pointer;text-shadow:0 0 8px var(--grn-glow);background:linear-gradient(#0a2212f2,#041009f2);border-radius:6px;padding:13px 26px;font-size:15px;transition:transform 60ms,box-shadow 60ms,filter .2s;position:relative;box-shadow:0 4px #14502ce6,0 8px 22px #0000008c,inset 0 0 18px #46ff8a0f}.act-btn:hover{filter:brightness(1.25)}.act-btn:active,.act-btn.pressed{transform:translateY(3px);box-shadow:0 1px #14502ce6,0 4px 12px #00000080}.act-btn:disabled{opacity:.35;cursor:default;filter:none}.act-btn .kbd{background:var(--ink);border:1px solid var(--grn-dim);color:var(--grn-dim);border-radius:3px;padding:2px 5px;font-size:9px;position:absolute;top:-8px;right:-8px}.act-btn.amber{color:var(--amb);text-shadow:0 0 8px var(--amb-glow);border-color:#ffb3478c;box-shadow:0 4px #784610e6,0 8px 22px #0000008c}#shop{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#010603c7;justify-content:center;align-items:center;animation:.25s ease-out both shop-in;display:flex;position:absolute;inset:0}@keyframes shop-in{0%{opacity:0}}#shop-inner{background:var(--panel);border:1px solid var(--panel-line);border-radius:10px;flex-direction:column;width:min(1060px,92vw);height:min(680px,88vh);display:flex;overflow:hidden;box-shadow:0 0 80px #46ff8a1f,inset 0 0 60px #46ff8a08}#shop-head{letter-spacing:2px;border-bottom:1px solid #46ff8a33;justify-content:space-between;align-items:center;padding:14px 20px;font-size:13px;display:flex}#shop-head .path{color:var(--grn-dim)}#shop-close{cursor:pointer;color:var(--red);font-family:var(--font-mono);background:0 0;border:1px solid #ff5a5a66;border-radius:4px;padding:4px 10px}#shop-close:hover{background:#ff5a5a26}#shop-cols{flex:1;min-height:0;display:flex}#shop-tabs{border-right:1px solid #46ff8a26;width:190px;padding:12px 0;overflow-y:auto}.shop-tab{cursor:pointer;color:var(--grn-dim);letter-spacing:1px;border-left:2px solid #0000;padding:9px 18px;font-size:12px}.shop-tab:hover{color:var(--grn)}.shop-tab.sel{color:var(--grn);border-left-color:var(--grn);text-shadow:0 0 8px var(--grn-glow);background:#46ff8a12}.shop-tab.locked{opacity:.3;cursor:default}#shop-list{flex:1;padding:14px 20px;overflow-y:auto}.upg{background:#06160c80;border:1px solid #46ff8a24;border-radius:6px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:9px;padding:11px 14px;transition:border-color .15s,background .15s;display:flex}.upg:hover{background:#0a221299;border-color:#46ff8a73}.upg .u-nm{color:#d8ffe6;font-size:13px}.upg .u-ds{color:#a0e6b98c;margin-top:2px;font-size:11px}.upg .u-lv{color:var(--cyn);letter-spacing:1px;margin-top:3px;font-size:11px}.upg.milestone{background:#1e140673;border-color:#ffb34759}.upg.milestone:hover{border-color:var(--amb)}.upg.milestone .u-nm{color:var(--amb);text-shadow:0 0 8px var(--amb-glow)}.upg .u-tag{letter-spacing:2px;color:var(--amb);border:1px solid #ffb34766;border-radius:3px;margin-bottom:4px;padding:2px 6px;font-size:9px;display:inline-block}.buy-btn{font-family:var(--font-mono);white-space:nowrap;color:var(--grn);border:1px solid var(--grn-dim);cursor:pointer;background:#46ff8a1a;border-radius:5px;padding:9px 16px;font-size:12px;transition:all .12s}.buy-btn:hover:not(:disabled){background:#46ff8a40;box-shadow:0 0 14px #46ff8a4d}.buy-btn:disabled{opacity:.3;cursor:default}.buy-btn.afford{animation:2.2s ease-in-out infinite afford-pulse}@keyframes afford-pulse{50%{box-shadow:0 0 18px #46ff8a73}}.upg.maxed{opacity:.55}.upg.maxed .buy-btn{visibility:hidden}#milestone{z-index:34;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#milestone-card{text-align:center;animation:.5s cubic-bezier(.2,1.4,.4,1) both ms-in}#milestone-tag{letter-spacing:8px;color:var(--amb);text-shadow:0 0 12px var(--amb-glow);margin-bottom:10px;font-size:13px}#milestone-title{letter-spacing:6px;color:#eafff1;text-shadow:0 0 18px var(--grn-glow), 0 0 70px #46ff8a66;font-size:46px;font-weight:700}#milestone-sub{color:var(--grn);letter-spacing:1px;text-shadow:0 0 8px var(--grn-glow);margin-top:12px;font-size:14px}@keyframes ms-in{0%{opacity:0;transform:scale(.86)translateY(18px)}}#milestone.out{animation:.5s ease-in both ms-out}@keyframes ms-out{to{opacity:0;transform:scale(1.04)}}#letterbox .lb-bar{z-index:33;background:#000;height:0;transition:height .8s cubic-bezier(.6,0,.3,1);position:absolute;left:0;right:0}.lb-top{top:0}.lb-bot{bottom:0}#letterbox.on .lb-bar{height:11vh}#modal{z-index:36;background:#010603cc;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#modal-card{background:var(--panel);border:1px solid var(--panel-line);white-space:pre-wrap;border-radius:8px;width:min(560px,90vw);padding:22px 26px;font-size:13px;line-height:1.7;box-shadow:0 0 60px #46ff8a26}#modal-card .m-title{color:var(--amb);letter-spacing:3px;margin-bottom:10px;font-size:14px}#modal-card button{font-family:var(--font-mono);color:var(--grn);border:1px solid var(--grn-dim);cursor:pointer;background:#46ff8a1f;border-radius:5px;margin-top:16px;padding:9px 22px;font-size:13px}#boot{z-index:50;background:#010803;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#boot-log{font-family:var(--font-mono);color:var(--grn);text-shadow:0 0 8px var(--grn-glow);white-space:pre-wrap;width:min(640px,86vw);font-size:14px;line-height:1.9}#boot-log .ok{color:var(--grn)}#boot-log .amb{color:var(--amb)}#boot-press{letter-spacing:4px;color:var(--grn);text-shadow:0 0 12px var(--grn-glow);margin-top:34px;font-size:16px;animation:1.2s step-end infinite blink}#boot.out{animation:.5s ease-in both boot-out}@keyframes boot-out{to{opacity:0}}#tooltip{z-index:45;pointer-events:none;background:var(--panel);border:1px solid var(--panel-line);max-width:260px;text-shadow:0 0 6px var(--grn-glow);border-radius:4px;padding:6px 10px;font-size:11px;position:absolute;transform:translate(14px,14px)}.floater{z-index:18;pointer-events:none;color:var(--grn);text-shadow:0 0 10px var(--grn-glow), 0 2px 4px #000;font-variant-numeric:tabular-nums;will-change:transform, opacity;font-size:15px;font-weight:700;position:absolute}.floater.amb{color:var(--amb);text-shadow:0 0 10px var(--amb-glow), 0 2px 4px #000}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#46ff8a0d}::-webkit-scrollbar-thumb{background:#46ff8a40;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#46ff8a73}
