:root{--space: #05070d;--hud: #0a0f18;--hud-2: #0e1624;--line: #1d2a3d;--line-2: #2b3c55;--text: #c7d6ea;--dim: #74839b;--ok: #4ad991;--warn: #f0b429;--crit: #ff5f5f;--accent: #5ee6c0;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--space);color:var(--text);font-family:var(--mono);font-size:13px;overflow:hidden;-webkit-font-smoothing:antialiased}button{font-family:inherit;font-size:inherit;color:var(--text);background:var(--hud-2);border:1px solid var(--line-2);padding:5px 10px;cursor:pointer;transition:background 90ms,border-color 90ms}button:hover:not(:disabled){background:#16243a;border-color:var(--accent)}button:disabled{opacity:.38;cursor:not-allowed}button.active{background:#17304a;border-color:var(--accent);color:#fff}#app{display:grid;grid-template-rows:46px 1fr 132px;height:100%}#topbar{display:flex;align-items:center;gap:24px;padding:0 14px;background:linear-gradient(180deg,#101a2b,var(--hud));border-bottom:1px solid var(--line)}.brand{display:flex;align-items:baseline;gap:10px}.logo{font-size:19px;font-weight:700;letter-spacing:3px;color:var(--accent)}.sector{color:var(--dim);font-size:11px;letter-spacing:1px}.readouts{display:flex;gap:22px;margin-left:auto}.readout-group{display:flex;gap:22px;position:relative;outline:none}.fund-pop{position:absolute;top:calc(100% + 9px);right:0;z-index:40;width:320px;padding:11px 12px 9px;background:var(--hud-2);border:1px solid var(--line-2);box-shadow:0 10px 28px #0009;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .11s,transform .11s,visibility .11s}.readout-group:hover .fund-pop,.readout-group:focus-within .fund-pop{opacity:1;visibility:visible;transform:none}.fund-pop:before{content:"";position:absolute;left:0;right:0;top:-9px;height:9px}.fund-pop-title{font-size:9px;letter-spacing:1px;color:var(--dim);margin-bottom:7px}.fund-pop-row{display:grid;grid-template-columns:1fr 88px 46px 40px;gap:5px;align-items:center;margin-bottom:4px;font-variant-numeric:tabular-nums}.fund-pop-row .k{color:var(--dim)}.fund-pop-row .v{text-align:right}.fund-pop-row .v.crit{color:var(--crit)}.fund-pop-row.head{padding-bottom:6px;margin-bottom:7px;border-bottom:1px solid var(--line)}.fund-pop-row.head .k,.fund-pop-row.head .v{color:var(--ok)}.fund-pop-row button{padding:3px 0;text-align:center;font-size:11px}.fund-pop-note{color:var(--dim);font-style:italic;margin:9px 0 0;line-height:1.45}.readout{display:flex;flex-direction:column;line-height:1.25}.readout label{font-size:9px;color:var(--dim);letter-spacing:1px}.readout span{font-size:14px;font-variant-numeric:tabular-nums}.readout span.crit{color:var(--crit)}.speed{display:flex;gap:3px}.speed button{min-width:38px;text-align:center}#stage{display:grid;grid-template-columns:1fr 380px;min-height:0}#viewport{position:relative;min-width:0;background:var(--space)}#canvas{display:block;width:100%;height:100%}#view-switch{position:absolute;top:10px;left:10px;display:flex;gap:3px;align-items:stretch}#rot-label{display:flex;align-items:center;padding:0 7px;font-size:11px;color:var(--dim);background:var(--hud-2);border:1px solid var(--line);font-variant-numeric:tabular-nums}#canvas-hint{position:absolute;bottom:10px;left:10px;color:var(--dim);font-size:11px;background:#05080ec7;padding:5px 9px;border:1px solid var(--line);pointer-events:none;max-width:70%}#tooltip{position:absolute;z-index:30;pointer-events:none;background:#080d16f7;border:1px solid var(--line-2);padding:8px 10px;max-width:280px;font-size:11px;line-height:1.5;box-shadow:0 6px 20px #0009}#tooltip h4{margin:0 0 4px;font-size:12px;color:var(--accent);letter-spacing:.5px}#tooltip .stat{display:flex;justify-content:space-between;gap:12px;color:var(--dim)}#tooltip .stat b{color:var(--text);font-weight:500}#tooltip .note{margin-top:5px;color:var(--dim);font-style:italic}#panel{display:flex;flex-direction:column;min-height:0;background:var(--hud);border-left:1px solid var(--line)}#tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}#tabs button{border:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px 2px;font-size:10px;letter-spacing:.5px;background:transparent}#tabs button.active{background:#17304a;color:#fff}#tab-body{flex:1;overflow-y:auto;padding:12px;min-height:0}h3.section{margin:0 0 8px;font-size:11px;letter-spacing:1.5px;color:var(--dim);border-bottom:1px solid var(--line);padding-bottom:5px}h3.section:not(:first-child){margin-top:18px}.row{display:flex;justify-content:space-between;gap:10px;padding:3px 0;font-variant-numeric:tabular-nums}.row .k{color:var(--dim)}.row .v.ok{color:var(--ok)}.row .v.warn{color:var(--warn)}.row .v.crit{color:var(--crit)}.bar{height:5px;background:#121c2c;margin:3px 0 7px;overflow:hidden}.bar>i{display:block;height:100%;background:var(--ok)}.bar.warn>i{background:var(--warn)}.bar.crit>i{background:var(--crit)}.empty{color:var(--dim);font-style:italic;padding:8px 0}.build-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px}.build-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 3px;background:var(--hud-2);border:1px solid var(--line);cursor:pointer;text-align:center}.build-item:hover{border-color:var(--accent)}.build-item.selected{border-color:var(--accent);background:#17304a}.build-item.locked{opacity:.32;cursor:not-allowed}.build-item canvas{width:40px;height:34px}.build-item .nm{font-size:9px;line-height:1.15;color:var(--text)}.build-item .cost{font-size:9px;color:var(--dim)}.item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;margin-bottom:4px;background:var(--hud-2);border:1px solid var(--line)}.item .meta{color:var(--dim);font-size:10px}.item .actions{display:flex;gap:4px}.item button{padding:3px 7px;font-size:10px}.pill{display:inline-block;padding:1px 6px;font-size:9px;border:1px solid var(--line-2);color:var(--dim);letter-spacing:.5px}.pill.ok{color:var(--ok);border-color:var(--ok)}.pill.warn{color:var(--warn);border-color:var(--warn)}.pill.crit{color:var(--crit);border-color:var(--crit)}select,input[type=number]{font-family:inherit;font-size:12px;background:var(--hud-2);color:var(--text);border:1px solid var(--line-2);padding:4px 6px;width:100%}.fund-row{display:grid;grid-template-columns:1fr 78px 54px;gap:6px;align-items:center;margin-bottom:5px}.fund-alert{border:1px solid var(--crit);border-left-width:3px;background:#ff5f5f1a;padding:9px 11px;margin:2px 0 12px}.fund-alert-title{color:var(--crit);letter-spacing:.06em;margin-bottom:6px}.fund-alert p{margin:0 0 9px;line-height:1.5;color:var(--text)}.fund-alert b{color:var(--ok)}.fund-alert-actions{display:flex;flex-wrap:wrap;gap:6px}.fund-alert-actions button{flex:1 1 auto;border-color:var(--crit)}.fund-alert-actions button:hover:not(:disabled){background:#3a1b22;border-color:var(--crit)}.fund-alert-note{color:var(--warn);font-style:italic;margin:9px 0 0}#alerts{display:flex;flex-direction:column;background:var(--hud);border-top:1px solid var(--line);min-height:0}.alerts-head{display:flex;justify-content:space-between;align-items:center;padding:5px 12px;font-size:10px;letter-spacing:1.5px;color:var(--dim);border-bottom:1px solid var(--line)}.autopause{display:flex;align-items:center;gap:5px;cursor:pointer;letter-spacing:0}#alert-list{list-style:none;margin:0;padding:4px 12px 8px;overflow-y:auto;flex:1;min-height:0}#alert-list li{display:flex;gap:10px;padding:2px 0;font-size:11px;line-height:1.45;cursor:pointer}#alert-list li:hover{background:#101a2b}#alert-list .day{color:var(--dim);flex-shrink:0;font-variant-numeric:tabular-nums}#alert-list .info{color:var(--text)}#alert-list .warning{color:var(--warn)}#alert-list .critical{color:var(--crit);font-weight:600}#modal{position:fixed;inset:0;background:#020408d6;display:flex;align-items:center;justify-content:center;z-index:100}#modal[hidden]{display:none}.modal-inner{background:var(--hud);border:1px solid var(--accent);padding:28px 32px;max-width:540px;text-align:center}.modal-inner h2{margin:0 0 14px;color:var(--accent);letter-spacing:2px;font-size:18px}.modal-inner p{margin:0 0 22px;line-height:1.7;white-space:pre-wrap;color:var(--text)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:var(--hud)}::-webkit-scrollbar-thumb{background:var(--line-2)}::-webkit-scrollbar-thumb:hover{background:#3c5678}
