:root{color-scheme:dark;--ink: #0a0b0c;--edge: #101317;--frame: #45566b;--panel-top: rgba(42, 48, 56, .96);--panel-bot: rgba(22, 25, 30, .96);--btn-top: #3c4654;--btn-bot: #232930;--accent: #9fc9f3;--accent-deep: #6fa3d8;--cream: #e8e4d8;--bevel-light: rgba(190, 220, 250, .18);--bevel-dark: rgba(0, 0, 0, .34);--drop: rgba(0, 0, 0, .35);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;width:100%;background:#05070d;overflow:hidden;color:var(--cream)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}.title{position:absolute;top:12px;left:12px;padding:7px 11px 8px;background:linear-gradient(180deg,var(--panel-top),var(--panel-bot));box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--frame),4px 4px 0 var(--drop);font-size:14px;font-weight:800;letter-spacing:0;color:var(--accent);text-shadow:2px 2px 0 #11141a}.brandrow{display:flex;align-items:center;gap:8px}.seedbtn{pointer-events:auto;width:20px;height:20px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--edge);background:linear-gradient(180deg,var(--btn-top),var(--btn-bot));color:var(--cream);font:inherit;font-size:12px;font-weight:800;cursor:pointer;box-shadow:inset 2px 2px 0 var(--bevel-light),inset -2px -2px 0 var(--bevel-dark)}.seedbtn:hover{filter:brightness(1.15)}.seedbtn:active{transform:translate(1px,1px)}.title small{display:block;margin-top:3px;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#7c8aa5;text-shadow:1px 1px 0 #0d1117}.stats{position:absolute;top:12px;right:12px;display:flex;gap:6px}.stat{display:flex;align-items:center;gap:6px;min-width:66px;padding:6px 9px;border:2px solid #121417;background:#14181d;box-shadow:inset 0 0 0 2px #272e36,3px 3px 0 var(--drop)}.stat .ico{font-size:13px;filter:saturate(1.1)}.stat .num{font-size:15px;font-weight:800;color:#eef3fb;font-variant-numeric:tabular-nums;text-shadow:1px 1px 0 #050608}.stat .cap{font-size:12px;color:#8593ad;font-weight:800}.stat .col{display:flex;flex-direction:column;line-height:1.15}.rate{font-size:10px;font-weight:800;font-variant-numeric:tabular-nums;text-shadow:1px 1px 0 #050608}.rate.up{color:#7fd17f}.rate.down{color:#e08484}.rate.flat{color:#7c8aa5}.rate.labor .up{color:#7fd17f}.rate.labor .flat{color:#8593ad}.rate.labor .down{color:#e08484}.warn{position:absolute;top:60px;right:12px;padding:7px 11px;border:2px solid #2a0f0c;background:linear-gradient(180deg,#9a4634,#6e2f22);color:#ffe7d8;font-size:11px;font-weight:800;text-shadow:1px 1px 0 #2a0f0c;box-shadow:inset 2px 2px #ffc8aa38,inset -2px -2px #00000057,3px 3px 0 var(--drop)}.warn.note{background:linear-gradient(180deg,#9a7a34,#6e5722);border-color:#2a210c;color:#fff0d0}.warn.note.dim{background:linear-gradient(180deg,#485162,#2b323c);border-color:#11141a;color:#c3cde0}.panel .row .ok{color:#7fd17f}.panel .row .bad{color:#e6b85c}.foresight-banner{position:absolute;top:56px;left:50%;transform:translate(-50%);padding:8px 16px;background:linear-gradient(180deg,#4a3b7a,#2c2350);border:2px solid #120e26;color:#e9e2ff;font-size:12px;font-weight:800;letter-spacing:.04em;text-shadow:1px 1px 0 #120e26;box-shadow:inset 2px 2px #beaafa4d,inset -2px -2px #0006,0 0 0 2px var(--ink),4px 4px 0 var(--drop);animation:foresight-pulse 1.6s steps(2) infinite}@keyframes foresight-pulse{50%{filter:brightness(1.18)}}.playhead{position:absolute;top:74px;left:12px;display:flex;align-items:center;gap:9px;padding:6px 10px;pointer-events:auto;background:linear-gradient(180deg,var(--panel-top),var(--panel-bot));box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--frame),4px 4px 0 var(--drop)}.playhead.peeking{background:linear-gradient(180deg,#4a3b7a,#2c2350);box-shadow:0 0 0 2px var(--ink),0 0 0 4px #6a5aae,4px 4px 0 var(--drop);animation:foresight-pulse 1.6s steps(2) infinite}.ph-title{font-size:9px;font-weight:800;letter-spacing:.1em;color:#8593ad;text-shadow:1px 1px 0 #0d1117}.playhead.peeking .ph-title{color:#c9bbff}.ph-label{min-width:34px;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent);text-shadow:1px 1px 0 #11141a}.playhead.peeking .ph-label{color:#c9bbff}.playhead input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:220px;height:12px;margin:0;background:#14181d;border:2px solid #121417;box-shadow:inset 0 0 0 2px #272e36;cursor:pointer}.playhead input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:20px;background:linear-gradient(180deg,#8a7ad0,#4a3b7a);border:2px solid #120e26;box-shadow:inset 2px 2px #c8b4ff66,inset -2px -2px #0006;cursor:pointer}.playhead input[type=range]::-moz-range-thumb{width:14px;height:20px;border-radius:0;background:linear-gradient(180deg,#8a7ad0,#4a3b7a);border:2px solid #120e26;cursor:pointer}.ph-now{padding:5px 9px;border:2px solid var(--edge);background:linear-gradient(180deg,var(--btn-top),var(--btn-bot));color:var(--cream);font:inherit;font-size:10px;font-weight:800;letter-spacing:.02em;cursor:pointer;box-shadow:inset 2px 2px 0 var(--bevel-light),inset -2px -2px 0 var(--bevel-dark)}.ph-now:hover:not(:disabled){filter:brightness(1.15)}.ph-now:active:not(:disabled){transform:translate(1px,1px)}.ph-now:disabled{opacity:.4;cursor:default}.planbar{position:absolute;top:116px;left:12px;pointer-events:auto;padding:5px 10px;border:2px solid #2a210c;background:linear-gradient(180deg,#9a7a34,#6e5722);color:#fff0d0;font:inherit;font-size:10px;font-weight:800;letter-spacing:.02em;cursor:pointer;text-shadow:1px 1px 0 #2a210c;box-shadow:inset 2px 2px #ffdc9638,inset -2px -2px #00000057,3px 3px 0 var(--drop)}.planbar:hover{filter:brightness(1.12)}.planbar:active{transform:translate(1px,1px)}.ph-charts{width:26px;height:24px;padding:0;border:2px solid var(--edge);background:linear-gradient(180deg,var(--btn-top),var(--btn-bot));color:var(--cream);font:inherit;font-size:12px;cursor:pointer;box-shadow:inset 2px 2px 0 var(--bevel-light),inset -2px -2px 0 var(--bevel-dark)}.ph-charts:hover{filter:brightness(1.15)}.ph-charts:active{transform:translate(1px,1px)}.ph-charts.on{border-color:#0b1620;background:linear-gradient(180deg,#4a6a8e,#29405c);box-shadow:inset 2px 2px #c4e4ff6b,inset -2px -2px #0006,0 0 0 2px #f4f1e6}.hud{position:absolute;top:108px;right:12px;width:268px;padding:8px 9px 9px;pointer-events:auto;background:linear-gradient(180deg,var(--panel-top),var(--panel-bot));box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--frame),4px 4px 0 var(--drop)}.hud-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.hud-title{font-size:9px;font-weight:800;letter-spacing:.08em;color:var(--accent);text-shadow:1px 1px 0 #11141a}.hud-x{width:18px;height:18px;padding:0;border:2px solid var(--edge);background:linear-gradient(180deg,var(--btn-top),var(--btn-bot));color:var(--cream);font:inherit;font-size:10px;font-weight:800;cursor:pointer;box-shadow:inset 2px 2px 0 var(--bevel-light),inset -2px -2px 0 var(--bevel-dark)}.hud-x:hover{filter:brightness(1.15)}.hud-axis{display:flex;justify-content:space-between;padding-left:40px;margin-bottom:2px;font-size:8px;font-weight:800;letter-spacing:.04em;color:#6c7a93}.hud-axis .hud-now-lbl{color:#9fa9bf}.hud-row{display:flex;align-items:center;gap:4px;padding:1px 0}.hud-ico{width:16px;font-size:12px;text-align:center}.hud-col{display:flex;flex-direction:column;align-items:flex-end;width:24px;line-height:1.05}.hud-val{font-size:11px;font-weight:800;font-variant-numeric:tabular-nums;text-shadow:1px 1px 0 #050608}.hud-fc{font-size:8px;font-weight:800;font-variant-numeric:tabular-nums}.hud-fc.up{color:#7fd17f}.hud-fc.down{color:#e08484}.hud-plot{display:block;background:#12161b;border:1px solid #0c0f13;box-shadow:inset 0 0 0 1px #232a32}.palette{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:7px;max-width:94vw;padding:7px 8px 8px;pointer-events:auto;background:linear-gradient(180deg,var(--panel-top),var(--panel-bot));box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--frame),5px 5px 0 var(--drop)}.hovercard{min-height:42px;padding:6px 9px 7px;background:#14181d;border:2px solid #121417;box-shadow:inset 0 0 0 2px #272e36}.hc-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.hc-ico{font-size:14px}.hc-name{font-size:13px;font-weight:800;color:#eef3fb;text-shadow:1px 1px 0 #050608}.hc-io{font-size:11px;font-weight:800;color:#9fc9f3}.hc-cost{margin-left:auto;font-size:11px;font-weight:800;color:#d7e0ef}.hc-blurb{margin-top:3px;font-size:11px;font-weight:700;line-height:1.5;color:#aebbd0}.hovercard.locked .hc-blurb{color:#e6b85c}.tilerows{display:flex;flex-wrap:wrap;gap:8px;max-width:760px}.tilegroup{display:flex;gap:5px;padding-right:8px;border-right:2px solid rgba(133,178,224,.16)}.tilegroup:last-child{border-right:none}.tile{position:relative;width:52px;height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:2px solid var(--edge);border-radius:0;background:linear-gradient(180deg,var(--btn-top),var(--btn-bot));color:var(--cream);font:inherit;cursor:pointer;box-shadow:inset 2px 2px 0 var(--bevel-light),inset -2px -2px 0 var(--bevel-dark)}.tile:hover{filter:brightness(1.15)}.tile.active{border-color:#0b1620;background:linear-gradient(180deg,#4a6a8e,#29405c);color:#eaf4ff;box-shadow:inset 2px 2px #c4e4ff6b,inset -2px -2px #0006,0 0 0 2px #f4f1e6}.tile.locked{cursor:pointer;filter:grayscale(.7) brightness(.55)}.tile .ico{font-size:18px;line-height:1;text-shadow:1px 1px 0 #11141a}.tile .tlabel{font-size:8px;font-weight:800;letter-spacing:.01em;color:#c9d3e4;text-shadow:1px 1px 0 #0d1117;max-width:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile.active .tlabel{color:#eaf4ff}.tile .tbadge{position:absolute;top:1px;left:3px;font-size:8px;font-weight:800;opacity:.55}.tool{position:relative;width:74px;height:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:2px solid var(--edge);border-radius:0;background:linear-gradient(180deg,var(--btn-top),var(--btn-bot));color:var(--cream);font:inherit;cursor:pointer;box-shadow:inset 2px 2px 0 var(--bevel-light),inset -2px -2px 0 var(--bevel-dark),2px 2px 0 var(--drop)}.tool:hover{filter:brightness(1.12)}.tool:active{transform:translate(1px,1px);box-shadow:inset -2px -2px #bedcfa1a,inset 2px 2px #0000006b}.tool.active{transform:translateY(-4px);border-color:#0b1620;background:linear-gradient(180deg,#4a6a8e,#29405c);color:#eaf4ff;box-shadow:inset 2px 2px #c4e4ff6b,inset -2px -2px #0006,0 0 0 3px #f4f1e6,4px 6px 0 var(--drop)}.tool.locked{cursor:not-allowed;filter:grayscale(.7) brightness(.7)}.tool .tkey{position:absolute;top:2px;left:3px;font-size:9px;font-weight:800;color:#c9d6ea;opacity:.7;text-shadow:1px 1px 0 #0d1117}.tool .ico{font-size:21px;line-height:1;text-shadow:1px 1px 0 #11141a}.tool .label{font-size:10px;font-weight:800;letter-spacing:.02em;text-shadow:1px 1px 0 #0d1117}.tool .cost{font-size:9px;font-weight:800;min-height:11px;color:#d7e0ef;opacity:.85}.panel{position:absolute;bottom:16px;left:12px;min-width:196px;padding:9px 11px 11px;background:linear-gradient(180deg,var(--panel-top),var(--panel-bot));box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--frame),5px 5px 0 var(--drop);font-size:12px;line-height:1.7}.panel h2{margin:0 0 8px;padding-bottom:6px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);text-shadow:1px 1px 0 #11141a;border-bottom:2px solid rgba(133,178,224,.28)}.panel .row{display:flex;justify-content:space-between;gap:16px;font-weight:800}.panel .row span:first-child{color:#8593ad;font-weight:800}.panel .row span:last-child{color:#dbe2f0;text-shadow:1px 1px 0 #0d1117}.panel .hint{color:#7c8aa5;font-size:11px;font-weight:800}.swatch{display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:middle;border:2px solid #0d1117;box-shadow:inset 2px 2px #ffffff38,inset -2px -2px #00000047}.flash{position:absolute;bottom:96px;left:50%;transform:translate(-50%);padding:7px 12px;border:2px solid #2a0f0c;background:linear-gradient(180deg,#9a4634,#6e2f22);color:#ffe7d8;font-size:11px;font-weight:800;text-shadow:1px 1px 0 #2a0f0c;box-shadow:inset 2px 2px #ffc8aa33,inset -2px -2px #00000057,3px 3px 0 var(--drop)}
