:root{color-scheme:dark;--ground:#0C0F12;--surface:#131D28;--raised:#1A2634;--inset:#080A0F;--line:#28343F;--line-soft:#1C2630;--ink:#FFFFFF;--muted:#A9B4BC;--faint:#77848F;--honey:#C3FCBC;--honey-deep:#7FBF77;--honey-dim:#4E7147;--honey-hover:#D6FFCE;--ok:#10B981;--warn:#FBBF24;--alert:#EF4444;--sleep:#38434D;--human:#A9B8F8;--panel:rgba(19,29,40,.88);--shadow:0 16px 48px rgba(0,0,0,.55);--cell-working:#14261C;--cell-asleep:#121A22;--cell-alert:#291316;--planned-ink:#6E7B86;--ghost-fill:rgba(195,252,188,.04);--dim:.35;--dim-ghost:.12;--display:"Albert Sans","Avenir Next","Segoe UI",system-ui,sans-serif;--body:"Albert Sans","Avenir Next","Segoe UI",system-ui,sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;--ground:#FAF9F8;--surface:#FFFFFF;--raised:#F0F0EC;--inset:#EFEEE9;--line:#DFDFEA;--line-soft:#EAE9E4;--ink:#0C0C0C;--muted:#4C5761;--faint:#6E7982;--honey:#37782F;--honey-deep:#5FA658;--honey-dim:#89BE81;--honey-hover:#2C6425;--ok:#0E9F6E;--warn:#D97706;--alert:#DC2626;--sleep:#C7CDD3;--human:#4F63D2;--panel:rgba(255,255,255,.88);--shadow:0 16px 48px rgba(20,25,20,.16);--cell-working:#E4F4DF;--cell-asleep:#F4F3EF;--cell-alert:#FBE9E7;--planned-ink:#8A939B;--ghost-fill:rgba(55,120,47,.05)}}:root[data-theme=light]{color-scheme:light;--ground:#FAF9F8;--surface:#FFFFFF;--raised:#F0F0EC;--inset:#EFEEE9;--line:#DFDFEA;--line-soft:#EAE9E4;--ink:#0C0C0C;--muted:#4C5761;--faint:#6E7982;--honey:#37782F;--honey-deep:#5FA658;--honey-dim:#89BE81;--honey-hover:#2C6425;--ok:#0E9F6E;--warn:#D97706;--alert:#DC2626;--sleep:#C7CDD3;--human:#4F63D2;--panel:rgba(255,255,255,.88);--shadow:0 16px 48px rgba(20,25,20,.16);--cell-working:#E4F4DF;--cell-asleep:#F4F3EF;--cell-alert:#FBE9E7;--planned-ink:#8A939B;--ghost-fill:rgba(55,120,47,.05)}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--ground)}html,body{height:100%;overflow:hidden}body{background:var(--ground);color:var(--ink);font-family:var(--body);font-size:14px;line-height:1.45}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}button:focus-visible{outline:2px solid var(--honey);outline-offset:2px}.mono{font-family:var(--mono);font-size:.92em;color:var(--honey)}.hive-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;background:var(--ground);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.hive-canvas.dragging{cursor:grabbing}.topbar{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;gap:28px;flex-wrap:wrap;padding:14px 24px;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}.mast-logo{display:block;flex:none}.mast-logo svg{display:block;height:26px;width:auto;fill:var(--ink)}.budget{flex:1;min-width:260px;max-width:560px;margin-left:auto}.budget-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}.budget-head .k{font-family:var(--display);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}.budget-head .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--ink)}.budget-track{height:6px;background:var(--inset);border-radius:99px;overflow:hidden;margin-top:6px}.budget-fill{height:100%;width:0%;background:var(--honey);border-radius:99px;transition:width .8s ease}.budget-fill.warn{background:var(--warn)}.budget-fill.crit{background:var(--alert)}.mode-switch{display:flex;gap:0;border:1px solid var(--line-soft);border-radius:8px;overflow:hidden;flex:none}.mode-switch button{font-family:var(--mono);font-size:11px;letter-spacing:.08em;padding:8px 14px;color:var(--muted)}.mode-switch button+button{border-left:1px solid var(--line-soft)}.mode-switch button:hover{color:var(--ink)}.mode-switch button.active{background:var(--honey);color:var(--ground)}.theme-btn{flex:none;width:34px;height:34px;border-radius:8px;border:1px solid var(--line-soft);color:var(--muted);font-size:15px;line-height:1}.theme-btn:hover{color:var(--ink);border-color:var(--honey-deep)}.legend-float{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:20;display:flex;gap:14px;flex-wrap:wrap;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line-soft);border-radius:99px;padding:8px 18px}.legend-float span{font-family:var(--mono);font-size:11px;color:var(--faint);display:flex;align-items:center;gap:5px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.dot.working{background:var(--ok)}.dot.idle{background:var(--honey-dim)}.dot.asleep{background:var(--sleep)}.dot.alerting{background:var(--alert)}.dot.planned{background:transparent;border:1px dashed var(--faint)}.dot.ai{background:var(--human)}.compliance-float{position:fixed;left:24px;bottom:20px;z-index:20;width:330px;max-width:calc(100vw - 48px);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line-soft);border-left:3px solid var(--human);border-radius:12px;padding:12px 16px}.comp-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-family:var(--display);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--human);font-weight:700}.comp-row{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:10.5px;padding:2.5px 0}.comp-row .ck{color:var(--faint)}.comp-row .cv{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}.zoomctl{position:fixed;right:24px;bottom:20px;z-index:20;display:flex;flex-direction:column;gap:6px}.zoomctl button{width:34px;height:34px;border-radius:8px;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line-soft);color:var(--muted);font-family:var(--mono);font-size:16px;line-height:1}.zoomctl button:hover{color:var(--ink);border-color:var(--honey-deep)}.hex{cursor:pointer;outline:none;transition:opacity .5s}.hex:focus{outline:none}.hex:focus-visible{outline:none}.hex:focus-visible .cell{stroke:var(--honey);stroke-width:2.5}.hex.dimmed{opacity:var(--dim)}.hex.related .cell{stroke:var(--honey-deep);stroke-width:2}.link-line{stroke:var(--honey);stroke-width:1.5;opacity:.5;pointer-events:none}.link-line.to-planned{stroke:var(--faint);stroke-dasharray:4 5}.conduit{stroke:var(--human);stroke-width:1.2;opacity:.2;stroke-dasharray:2 6;pointer-events:none}.gate-ring{fill:none;stroke:var(--human);stroke-width:1.2;opacity:.5;stroke-dasharray:5 4;pointer-events:none}.ai-badge rect{fill:none;stroke:var(--human);stroke-width:1;opacity:.75}.ai-badge text{fill:var(--human);font-family:var(--mono);font-size:7.5px;letter-spacing:.12em;font-weight:600;pointer-events:none}.hex .cell{fill:var(--surface);stroke:var(--line);stroke-width:1.5;transition:fill .8s,stroke .8s}.hex text{fill:var(--muted);pointer-events:none;transition:fill .8s}.hex .hx-name,.dnode .hx-name{font-family:var(--display);font-weight:700;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;fill:var(--ink)}.hex .hx-role,.dnode .hx-role{font-family:var(--mono);font-size:8.5px;fill:var(--faint);letter-spacing:.04em}.hex .hx-count,.dnode .hx-count{font-family:var(--mono);font-size:8.5px;fill:var(--faint)}.hex .status-dot{transition:fill .3s}.hex.working .cell{fill:var(--cell-working);stroke:var(--honey-deep)}.hex.working .status-dot{fill:var(--ok)}.hex.idle .status-dot{fill:var(--honey-dim)}.hex.asleep .cell{fill:var(--cell-asleep)}.hex.asleep .hx-name{fill:var(--faint)}.hex.asleep .status-dot{fill:var(--sleep)}.hex.alerting .cell{stroke:var(--alert);fill:var(--cell-alert)}.hex.alerting .status-dot{fill:var(--alert)}.hex.planned .cell{fill:var(--inset);stroke:var(--line-soft);stroke-dasharray:5 5}.hex.planned .hx-name{fill:var(--faint)}.hex.planned .hx-role,.hex.planned .hx-count{fill:var(--planned-ink)}.hex.planned .status-dot{fill:none;stroke:var(--faint);stroke-width:1}.hex.planned:hover .cell{stroke:var(--faint)}.hex:hover .cell{stroke:var(--honey)}.hex.selected .cell{stroke:var(--honey);stroke-width:2.5}.hex.center .cell{stroke-width:2}.spine{cursor:pointer}.strand{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:7 9;animation:dnaflow 24s linear infinite}.strand-exec{stroke:var(--honey-deep);opacity:.8}.strand-comp{stroke:var(--human);opacity:.7}.spine.dimmed .strand{opacity:.25}.spine.selected .strand,.spine.related .strand{stroke-width:3.5}@keyframes dnaflow{to{stroke-dashoffset:-320}}@media(prefers-reduced-motion:reduce){.strand{animation:none}}.strand-label{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;pointer-events:none}.strand-label.exec{fill:var(--honey-deep)}.strand-label.comp{fill:var(--human)}.strand.back{opacity:.22;animation:none}.rung3{opacity:.45}.n3{transition:opacity .5s}.qcore{cursor:pointer;outline:none;transition:opacity .5s}.qcore:focus{outline:none}.qcore .core-body{fill:var(--raised);stroke:var(--line);stroke-width:1.5;transition:stroke .3s}.qcore .core-cap{fill:var(--surface);stroke:var(--line);stroke-width:1.5;transition:stroke .3s}.qcore .core-cap.bottom{fill:var(--raised)}.qcore:hover .core-body,.qcore:hover .core-cap,.qcore:focus-visible .core-body,.qcore:focus-visible .core-cap{stroke:var(--honey)}.qcore.selected .core-body,.qcore.selected .core-cap{stroke:var(--honey);stroke-width:2.5}.qcore.softened{opacity:.55}.core-label{fill:var(--ink);font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.2em;pointer-events:none}.core-sub{fill:var(--faint);font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;pointer-events:none}.core-particle{fill:var(--honey);opacity:.55;pointer-events:none}.focus-hint{fill:var(--faint);font-family:var(--mono);font-size:11px;letter-spacing:.06em;pointer-events:none}.rung,.connector{stroke:var(--line);stroke-width:1.4;pointer-events:none}.connector.ai{stroke:var(--human);opacity:.75}.connector.to-planned{stroke-dasharray:4 5;opacity:.6}.ghost-rung{opacity:.35;stroke-dasharray:3 6}.dimmed-soft{opacity:var(--dim);transition:opacity .5s}.rung-pulse{stroke:var(--honey);stroke-width:2.5;opacity:0;pointer-events:none}.rung-pulse.go{animation:rungflash 1.6s ease-out forwards}@keyframes rungflash{0%{opacity:.6}to{opacity:0}}@media(prefers-reduced-motion:reduce){.rung-pulse.go{animation:none;opacity:0}}.dnode{cursor:pointer;outline:none;transition:opacity .5s}.dnode:focus{outline:none}.dnode:focus-visible .cap{stroke:var(--honey);stroke-width:2.5}.dnode.dimmed{opacity:var(--dim)}.dnode .cap{fill:var(--surface);stroke:var(--line);stroke-width:1.5;transition:fill .8s,stroke .8s}.dnode text{pointer-events:none;transition:fill .8s}.dnode .hx-name{font-size:11px}.link-route{fill:none;stroke:var(--honey);stroke-width:2.5;opacity:.85;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.link-route.to-planned{stroke:var(--honey-deep);stroke-dasharray:5 6;opacity:.6}.link-route.back{opacity:.28}.link-route.to-planned.back{opacity:.2}.dnode.working .cap{fill:var(--cell-working);stroke:var(--honey-deep)}.dnode.working .status-dot{fill:var(--ok)}.dnode.idle .status-dot{fill:var(--honey-dim)}.dnode.asleep .cap{fill:var(--cell-asleep)}.dnode.asleep .hx-name{fill:var(--faint)}.dnode.asleep .status-dot{fill:var(--sleep)}.dnode.alerting .cap{stroke:var(--alert);fill:var(--cell-alert)}.dnode.alerting .status-dot{fill:var(--alert)}.dnode.planned .cap{fill:var(--inset);stroke:var(--line-soft);stroke-dasharray:5 5}.dnode.planned .hx-name{fill:var(--faint)}.dnode.planned .hx-role,.dnode.planned .hx-count{fill:var(--planned-ink)}.dnode.planned .status-dot{fill:none;stroke:var(--faint);stroke-width:1}.dnode.related .cap{stroke:var(--honey-deep);stroke-width:2}.dnode:hover .cap{stroke:var(--honey)}.dnode.selected .cap{stroke:var(--honey);stroke-width:2.5}.ghost{cursor:pointer;outline:none;transition:opacity .5s}.ghost:focus{outline:none}.ghost.dimmed{opacity:var(--dim-ghost)}.ghost .gcell{fill:transparent;stroke:var(--line);stroke-width:1.5;stroke-dasharray:3 7;transition:stroke .3s,fill .3s}.ghost .gplus{fill:var(--faint);font-family:var(--body);font-size:26px;font-weight:300;pointer-events:none;transition:fill .3s}.ghost .glabel{fill:var(--faint);font-family:var(--mono);font-size:9px;letter-spacing:.06em;opacity:0;pointer-events:none;transition:opacity .3s}.ghost:hover .gcell,.ghost:focus-visible .gcell{stroke:var(--honey-deep);fill:var(--ghost-fill)}.ghost:hover .gplus,.ghost:focus-visible .gplus{fill:var(--honey)}.ghost:hover .glabel,.ghost:focus-visible .glabel{opacity:1}.pulse{fill:none;stroke:var(--honey);stroke-width:2;opacity:0;transform-origin:center;transform-box:fill-box}.pulse.go{animation:pulse 2s ease-out forwards}.pulse.go.alert-pulse{stroke:var(--alert)}@keyframes pulse{0%{opacity:.22;transform:scale(.88)}to{opacity:0;transform:scale(1.04)}}@media(prefers-reduced-motion:reduce){.pulse.go{animation:none;opacity:0}}.dossier{position:fixed;top:84px;right:24px;width:320px;z-index:30;max-height:calc(100vh - 120px);overflow-y:auto;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:var(--shadow)}.d-close{position:absolute;top:10px;right:12px;font-family:var(--mono);font-size:14px;color:var(--faint);padding:4px 8px;border-radius:6px}.d-close:hover{color:var(--ink);background:var(--raised)}@media(max-width:720px){.dossier{left:16px;right:16px;width:auto}}.dossier .eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);display:inline-flex;align-items:center;gap:7px}.dossier h3{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:23px;letter-spacing:.02em;line-height:1.05;margin:2px 0}.dossier .role{color:var(--honey);font-size:13px}.dossier .desc{color:var(--muted);font-size:13px;margin-top:10px}.status-chip{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);border-radius:99px;padding:4px 12px;color:var(--muted)}.d-sec{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft)}.d-sec .k{font-family:var(--display);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint);margin-bottom:7px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-family:var(--mono);font-size:10.5px;color:var(--honey);background:var(--raised);border:1px solid var(--line);border-radius:4px;padding:3px 7px}button.chip{cursor:pointer}button.chip:hover{border-color:var(--honey-deep);color:var(--ink)}.chip.is-planned{color:var(--faint);border-style:dashed}.endpoints{font-family:var(--mono);font-size:10.5px;color:var(--muted);display:grid;gap:4px}.endpoints span{overflow-wrap:anywhere}.endpoints b{color:var(--faint);font-weight:400;margin-right:6px}.spark-wrap{background:var(--inset);border:1px solid var(--line-soft);border-radius:6px;padding:8px 10px 4px}.spark-meta{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--faint);margin-bottom:2px}.spark-meta .now{color:var(--honey)}.dog-log{list-style:none;font-family:var(--mono);font-size:10.5px;display:grid;gap:5px;color:var(--muted)}.dog-log time{color:var(--faint);margin-right:8px;font-variant-numeric:tabular-nums}.dog-log .empty{color:var(--faint);font-style:italic}.comp-lines{display:grid;gap:4px;font-family:var(--mono);font-size:10.5px;color:var(--muted)}.comp-lines span:before{content:"›";color:var(--human);margin-right:7px}.add-panel form{margin-top:16px;display:grid;gap:10px}.add-input{font-family:var(--body);font-size:14px;color:var(--ink);background:var(--inset);border:1px solid var(--line);border-radius:8px;padding:10px 12px;width:100%}.add-input:focus{outline:none;border-color:var(--honey-deep)}.add-input::placeholder{color:var(--faint)}.add-btn{font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:var(--honey);color:var(--ground);border-radius:8px;padding:10px 12px}.add-btn:hover{background:var(--honey-hover)}
