:root{--desk-base: #0c1420;--desk-deep: #06090f;--desk-glow-1: #1c6f6a;--desk-glow-2: #2b3f7a;--desk-rule: #ffffff0a;--accent: #4ee6b8;--accent-dim: #2aa88a;--accent-warm: #ffb347;--glass: #ffffff1a;--glass-strong: #ffffff2e;--glass-border: #ffffff33;--glass-dark: #00000040;--bar-bg: #060a11d9;--bar-border: #ffffff14;--bar-fg: #dbe4ef;--bar-fg-dim: #7f8fa3;--dock-bg: #0a1119d6;--dock-border: #ffffff1c;--dock-radius: 14px;--win-bg: #10161f;--win-chrome: #161e2a;--win-chrome-inactive: #121924;--win-border: #ffffff1a;--win-border-focus: #ffffff2e;--win-shadow: 0 30px 80px #00000085, 0 3px 12px #00000066;--win-shadow-inactive: 0 16px 44px #00000059;--win-radius: 8px;--chrome-toolbar: #35363a;--chrome-tabstrip: #202124;--chrome-tab-active: #35363a;--chrome-omnibox: #202124;--chrome-omnibox-focus: #292a2d;--chrome-focus: #8ab4f8;--chrome-newtab: #202124;--chrome-fg: #e8eaed;--chrome-fg-dim: #9aa0a6;--control-fg: #8fa0b4;--control-hover: #ffffff1c;--control-close-hover: #e5484d;--danger: #e5484d;--warning: #ffb347;--hud-bg: #14141ae0;--hud-border: #ffffff1f;--hud-fg: #e9e9ee;--hud-fg-dim: #9d9daa;--hud-accent: var(--accent-warm);--hud-green: var(--accent);--dc-primary: #ee9000;--dc-primary-lift: #ffab2e;--dc-accent: #0099e5;--dc-magenta: #e20074;--dc-aurora: linear-gradient(100deg, #0099e5, #e20074 52%, #ee9000);--ui-font: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--mono-font: "JetBrains Mono", "SF Mono", Menlo, "Cascadia Code", Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overflow:hidden;font-family:var(--ui-font);-webkit-font-smoothing:antialiased;color:var(--bar-fg)}.desktop{position:relative;height:100%;overflow:clip;background:radial-gradient(70% 60% at 50% 42%,#16305199 0%,transparent 62%),radial-gradient(90% 70% at 10% 0%,var(--desk-glow-1) 0%,transparent 52%),radial-gradient(80% 70% at 92% 100%,var(--desk-glow-2) 0%,transparent 55%),linear-gradient(165deg,var(--desk-base) 0%,var(--desk-deep) 100%)}.desktop:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(/stories/northstar/northstar-logo.png) no-repeat center 44% / min(42vw,46vh) auto;opacity:.16;pointer-events:none}.folders{position:absolute;top:48px;left:26px;z-index:0;display:flex;flex-direction:column;gap:14px}.folder{display:flex;flex-direction:column;align-items:center;gap:5px;width:96px;padding:6px 4px;border:1px solid transparent;border-radius:8px;color:var(--bar-fg);font-size:11.5px;text-align:center;text-shadow:0 1px 3px #000000b3;cursor:default;-webkit-user-select:none;user-select:none}.folder:hover{background:#ffffff0f;border-color:var(--bar-border)}.folder span{overflow-wrap:anywhere;line-height:1.3}.bar{position:absolute;inset:0 0 auto 0;z-index:900;display:flex;align-items:center;gap:18px;height:30px;padding:0 14px;border-bottom:1px solid var(--bar-border);background:var(--bar-bg);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);font-size:12.5px;color:var(--bar-fg)}.bar .mark{display:flex;align-items:center;gap:7px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--accent)}.bar .app-name{font-weight:600;color:var(--bar-fg)}.bar .crumbs{display:flex;gap:16px;color:var(--bar-fg-dim)}.bar .spacer{flex:1}.bar .status{display:flex;align-items:center;gap:14px;color:var(--bar-fg-dim);font-variant-numeric:tabular-nums}.bar .clock{color:var(--bar-fg)}.dock{position:absolute;left:50%;bottom:10px;z-index:800;display:flex;align-items:center;gap:6px;padding:7px 9px;transform:translate(-50%);border:1px solid var(--dock-border);border-radius:var(--dock-radius);background:var(--dock-bg);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:0 14px 40px #0006;transition:transform .26s cubic-bezier(.2,.9,.25,1),opacity .2s ease}.dock[data-hidden=true]{opacity:0;transform:translate(-50%,calc(100% + 16px));pointer-events:none}.dock-reveal{position:absolute;inset:auto 0 0 0;z-index:799}.dock-item{position:relative;display:grid;place-items:center;width:46px;height:46px;padding:7px;border:1px solid transparent;border-radius:10px;background:transparent;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease}.dock-item:hover{transform:translateY(-3px);background:#ffffff12;border-color:var(--dock-border)}.dock-item img,.dock-item svg{width:100%;height:100%;border-radius:7px}.dock-item[data-open=true]:after{content:"";position:absolute;bottom:1px;width:16px;height:2px;border-radius:1px;background:var(--bar-fg-dim)}.dock-item[data-front=true]:after{width:22px;background:var(--accent)}.dock-item .badge{position:absolute;top:-2px;right:-2px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border:2px solid #0a1119;border-radius:999px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;line-height:1;animation:badge-land .46s cubic-bezier(.2,1.3,.35,1) both}@keyframes badge-land{0%{opacity:0;transform:scale(.3)}}@media (prefers-reduced-motion: reduce){.dock-item .badge{animation:none}}.dock-divider{width:1px;height:30px;margin:0 5px;background:var(--dock-border)}.cursor{position:absolute;top:0;left:0;z-index:960;pointer-events:none;transition:transform .62s cubic-bezier(.33,.02,.2,1),opacity .22s ease}.cursor[data-visible=false]{opacity:0}.cursor svg{filter:drop-shadow(0 1px 2px #00000066)}.cursor .ring{position:absolute;top:0;left:0;width:26px;height:26px;margin:-6px 0 0 -6px;border:2px solid #ffffffcc;border-radius:50%;opacity:0;transform:scale(.35);transition:transform .3s ease-out,opacity .3s ease-out}.cursor[data-pressed=true] .ring{opacity:1;transform:scale(1)}.start-live{position:absolute;top:0;right:0;bottom:0;left:0;z-index:940;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:0 40px;background:radial-gradient(52% 46% at 50% 34%,#0099e526 0%,transparent 72%),radial-gradient(46% 40% at 78% 78%,#ee900021 0%,transparent 70%),linear-gradient(170deg,#0b1421f7,#05080efa);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);text-align:center;animation:start-live-in .42s cubic-bezier(.2,.9,.25,1) both}@keyframes start-live-in{0%{opacity:0}}.lockup{display:flex;align-items:center;gap:26px;margin-bottom:12px}.lockup figure{display:flex;flex-direction:column;align-items:center;gap:11px;margin:0}.lockup .mark{display:grid;place-items:center;width:96px;height:88px}.lockup img{width:74px;height:74px;object-fit:contain}.lockup img.northstar{width:96px;height:96px}.lockup figcaption{color:#cfdcec;font-size:13px;font-weight:600;letter-spacing:.01em}.lockup figcaption b{font-weight:800;color:var(--dc-primary)}.lockup .join{margin-bottom:26px;color:#8fa2b8}.start-live .eyebrow{margin:0;color:var(--dc-primary);font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.start-live h1{margin:0;font-size:clamp(34px,4.6vw,62px);font-weight:680;letter-spacing:-.03em;color:#f2f7ff}.start-live h1 em{font-style:normal;background:var(--dc-aurora);-webkit-background-clip:text;background-clip:text;color:transparent}.start-live .lede{max-width:560px;margin:2px 0 10px;color:#9fb2c9;font-size:15px;line-height:1.55}.start-live button{display:inline-flex;align-items:center;gap:10px;padding:13px 26px 13px 22px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--dc-primary-lift) 0%,var(--dc-primary) 100%);box-shadow:0 12px 32px #ee90004d,inset 0 1px #ffffff5c;color:#2b1900;font-family:inherit;font-size:15px;font-weight:650;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}.start-live button:hover{transform:translateY(-1px);box-shadow:0 16px 38px #ee900066,inset 0 1px #ffffff70}.start-live button:active{transform:translateY(1px)}.start-live .foot{margin:4px 0 0;color:#63788f;font-size:12.5px}.start-live kbd{padding:1px 6px;border:1px solid #ffffff24;border-radius:5px;background:#ffffff0f;font-family:var(--mono-font);font-size:11.5px}.toast{position:absolute;top:40px;right:16px;z-index:930;display:flex;align-items:center;gap:12px;width:320px;padding:13px 15px;border:1px solid var(--bar-border);border-radius:13px;background:#0d1723e8;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 18px 44px #00000073;animation:toast-in .46s cubic-bezier(.2,1.1,.3,1) both}@keyframes toast-in{0%{opacity:0;transform:translate(28px)}}.toast img{flex:none;width:34px;height:34px;border-radius:8px;object-fit:contain}.toast .body{min-width:0}.toast p{margin:0}.toast .app{display:flex;align-items:baseline;justify-content:space-between;gap:10px;color:var(--bar-fg-dim);font-size:11.5px;font-weight:600}.toast .line{margin-top:3px;color:var(--bar-fg);font-size:13.5px;font-weight:600}@media (prefers-reduced-motion: reduce){.toast{animation:none}}.director{position:relative;display:flex;align-items:center}.director-button{display:grid;place-items:center;width:22px;height:20px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--bar-fg);cursor:pointer}.director-button:hover,.director-button[data-open=true]{background:var(--glass-strong)}.director-button[data-state=playing],.director-button[data-state=skimming]{color:var(--hud-green)}.director-button[data-state=scene-break]{color:var(--warning);animation:director-waiting 1.6s ease-in-out infinite}.director-button[data-state=stalled]{color:var(--danger);animation:director-waiting 1s ease-in-out infinite}@keyframes director-waiting{0%,to{opacity:1}50%{opacity:.32}}.director-popover{position:absolute;top:26px;right:-8px;width:320px;padding:12px 14px;border:1px solid var(--hud-border);border-radius:12px;background:var(--hud-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 18px 44px #00000059;color:var(--hud-fg);font-size:12px;cursor:default}.director-head{display:flex;align-items:center;gap:8px}.director-head .title{flex:1;font-weight:600;letter-spacing:.02em}.director-lane{display:inline-flex;align-items:center;gap:5px;color:var(--hud-fg-dim);font-size:11px}.director-lane i{width:6px;height:6px;border-radius:50%;background:var(--danger)}.director-lane[data-ready=true] i{background:var(--hud-green)}.director-step{margin:10px 0 4px;line-height:1.45}.director-run{margin:0 0 8px;color:var(--hud-dim, #ffffff8c);font-size:11px}.director-step .index{color:var(--hud-accent);font-family:var(--mono-font);font-size:11px}.director-step .segment{color:var(--hud-fg-dim);font-family:var(--mono-font);font-size:11px}.director-stall{margin:0;color:var(--danger)}.director-buttons{display:flex;gap:6px;margin-top:10px}.director-buttons button{flex:1;padding:5px 8px;border:1px solid var(--hud-border);border-radius:7px;background:var(--glass);color:var(--hud-fg);font-family:inherit;font-size:11px;cursor:pointer}.director-buttons button:hover{background:var(--glass-strong)}.director-buttons button:disabled{opacity:.4;cursor:default}.director-log{max-height:108px;margin-top:10px;overflow-y:auto;color:var(--hud-fg-dim);font-family:var(--mono-font);font-size:10.5px;line-height:1.6}.window{position:absolute;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--win-border);border-radius:var(--win-radius);background:var(--win-bg);box-shadow:var(--win-shadow-inactive);transition:box-shadow .18s ease,opacity .22s ease,transform .22s cubic-bezier(.2,.9,.25,1)}.window[data-zooming=true]{transition:box-shadow .18s ease,opacity .22s ease,left .28s cubic-bezier(.2,.9,.25,1),top .28s cubic-bezier(.2,.9,.25,1),width .28s cubic-bezier(.2,.9,.25,1),height .28s cubic-bezier(.2,.9,.25,1)}.window[data-focused=true]{border-color:var(--win-border-focus);box-shadow:var(--win-shadow)}.window[data-entering=true]{opacity:0;transform:scale(.94) translateY(14px)}.window[data-closed=true]{opacity:0;transform:scale(.94) translateY(14px);pointer-events:none}.window[data-minimized=true]{opacity:0;transform:scale(.2) translateY(60vh);pointer-events:none}.controls{display:flex;gap:2px;margin-left:auto}.controls button{display:grid;place-items:center;width:26px;height:22px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--control-fg);cursor:pointer;transition:background .12s ease,color .12s ease}.controls button:hover{background:var(--control-hover);color:var(--chrome-fg)}.controls button.close:hover{background:var(--control-close-hover);color:#fff}.window[data-focused=true] .controls button{color:var(--chrome-fg-dim)}.titlebar{display:flex;flex:none;align-items:center;gap:10px;height:30px;padding:0 12px;background:var(--win-chrome-inactive);cursor:default;-webkit-user-select:none;user-select:none}.window[data-focused=true] .titlebar{background:var(--win-chrome)}.titlebar:before{content:"";width:80px}.titlebar .title{flex:1;font-size:12.5px;font-weight:600;color:var(--chrome-fg-dim);text-align:center}.window[data-focused=true] .titlebar .title{color:var(--chrome-fg)}.chrome-tabstrip{display:flex;flex:none;align-items:center;gap:8px;height:40px;padding:6px 10px 0;background:var(--chrome-tabstrip);-webkit-user-select:none;user-select:none}.chrome-tab{display:flex;flex:1 1 0;align-items:center;gap:9px;min-width:0;max-width:260px;height:34px;padding:0 16px;border:0;border-radius:9px 9px 0 0;background:transparent;color:var(--chrome-fg-dim);font-family:inherit;font-size:12px;white-space:nowrap;cursor:pointer}.chrome-newtab{display:grid;flex:none;place-items:center;width:28px;height:28px;margin-left:2px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--chrome-fg-dim);cursor:pointer}.chrome-newtab:hover{background:#ffffff17;color:var(--chrome-fg)}.chrome-tab[data-active=true]{background:var(--chrome-tab-active);color:var(--chrome-fg)}.chrome-tab img{flex:none;width:16px;height:16px;object-fit:contain}.chrome-tab .label{flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis}.chrome-tab .tab-close{display:grid;flex:none;place-items:center;width:18px;height:18px;margin-right:-6px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;opacity:.55;cursor:pointer}.chrome-tab .tab-close:hover{background:#ffffff24;opacity:1}.strip-spacer{flex:1 1 auto;min-width:8px}.chrome-toolbar{display:flex;flex:none;align-items:center;gap:12px;height:42px;padding:0 12px;background:var(--chrome-toolbar);color:var(--chrome-fg-dim);-webkit-user-select:none;user-select:none}.chrome-nav{display:flex;gap:14px;font-size:15px}.omnibox{display:flex;flex:1;align-items:center;gap:8px;height:28px;padding:0 12px;border-radius:14px;background:var(--chrome-omnibox);color:var(--chrome-fg);font-size:12.5px}.omnibox .url{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.omnibox .path{color:var(--chrome-fg-dim)}.omnibox .lock{color:var(--chrome-fg-dim);font-size:11px}.omnibox[data-typing=true]{outline:2px solid var(--chrome-focus);background:var(--chrome-omnibox-focus)}.omnibox .caret{width:1px;height:15px;background:currentColor;animation:caret-blink 1.06s steps(1,end) infinite}@keyframes caret-blink{50%{opacity:0}}.console-page{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:radial-gradient(60% 50% at 50% 30%,#16305166 0%,transparent 70%),linear-gradient(170deg,#0d1626,#070b13);color:#e6edf7;font-family:var(--ui-font)}.console-page[data-visible=false]{visibility:hidden}.console-card{display:flex;flex-direction:column;align-items:center;width:340px;padding:34px 30px 28px;border:1px solid #ffffff14;border-radius:14px;background:#0f1a2b99;box-shadow:0 24px 60px #00000059}.console-logo{width:62px;height:62px}.console-card h1{margin:14px 0 4px;font-size:19px;font-weight:650;letter-spacing:-.01em}.console-sub{margin:0 0 22px;color:#8ea1bb;font-size:12.5px}.console-field{width:100%;margin-bottom:13px}.console-field span{display:block;margin-bottom:6px;color:#8ea1bb;font-size:11.5px}.console-input{padding:9px 12px;border:1px solid #ffffff1c;border-radius:8px;background:#0a1120;font-size:13px}.console-submit{width:100%;margin-top:8px;padding:10px;border-radius:8px;background:linear-gradient(180deg,#3aa0ff,#2b6ef0);color:#fff;font-size:13.5px;font-weight:600;text-align:center}.console-alt{margin:14px 0 0;color:#6d84a3;font-size:12px}.console-footer{margin:0;color:#55688a;font-size:11.5px}.new-tab-page{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--chrome-newtab)}.frames{position:relative;flex:1;background:var(--win-bg)}.frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;background:var(--win-bg)}.frame[data-visible=false]{visibility:hidden}
