:root{--ink-0: #070706;--ink-1: #0d0d0b;--ink-2: rgba(18, 18, 15, .96);--paper: #f0eee7;--paper-dim: #b7b4ab;--faint: #848077;--line: rgba(240, 238, 231, .17);--line-hot: rgba(255, 107, 44, .48);--amber: #ff6b2c;--gold: #f2b84b;--green: #67d391;--yellow: #f2c85c;--red: #ff5b57;--shadow: 0 26px 80px rgba(0, 0, 0, .58);--top: 42px;--dock: 66px;--cut: 10px;color:var(--paper);background:var(--ink-0);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:clip}body{min-width:320px;min-height:420px;background:var(--ink-0)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.48}::selection{color:#080706;background:var(--amber)}.mono{font-family:IBM Plex Mono,SFMono-Regular,Consolas,Liberation Mono,ui-monospace,monospace}.workstation{position:relative;width:100%;height:100dvh;min-height:420px;overflow:clip;isolation:isolate;background:radial-gradient(80% 70% at 72% 82%,rgba(255,107,44,.13),transparent 58%),radial-gradient(45% 45% at 16% 16%,rgba(242,184,75,.06),transparent 66%),var(--ink-0)}.workstation:before{position:absolute;inset:var(--top) 0 0;z-index:-2;content:"";pointer-events:none;opacity:.38;background-image:linear-gradient(30deg,rgba(255,255,255,.045) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.045) 87.5%),linear-gradient(150deg,rgba(255,255,255,.045) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.045) 87.5%),linear-gradient(30deg,rgba(255,255,255,.045) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.045) 87.5%),linear-gradient(150deg,rgba(255,255,255,.045) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.045) 87.5%),linear-gradient(60deg,rgba(255,255,255,.03) 25%,transparent 25.5%,transparent 75%,rgba(255,255,255,.03) 75%);background-position:0 0,0 0,32px 56px,32px 56px,0 0;background-size:64px 112px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 92%);mask-image:linear-gradient(to bottom,#000,transparent 92%)}.workstation:after{position:absolute;right:3.5vw;bottom:4vh;z-index:-1;content:"01";color:#ff6b2c0a;font:700 min(34vw,520px) / .72 "IBM Plex Mono","SFMono-Regular",monospace;letter-spacing:-.12em;pointer-events:none}.top-rail{position:relative;z-index:1000;display:grid;grid-template-columns:minmax(230px,1fr) auto minmax(230px,1fr);align-items:center;gap:16px;height:var(--top);padding:0 max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left));border-bottom:1px solid var(--line-hot);background:#070706eb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.identity,.rail-center,.rail-actions{display:flex;align-items:center;min-width:0}.identity{gap:12px}.node-mark{display:grid;flex:none;place-items:center;width:24px;height:24px;border:1px solid var(--amber);color:var(--amber);transform:rotate(45deg)}.node-mark span{font:700 12px/1 monospace;transform:rotate(-45deg)}.wordmark{overflow:hidden;font:600 13px/1 IBM Plex Mono,SFMono-Regular,monospace;letter-spacing:.18em;text-overflow:ellipsis;white-space:nowrap}.wordmark small{color:var(--faint);font-size:12px;letter-spacing:.1em}.rail-center{justify-content:center;gap:8px;color:var(--paper-dim);font-size:12px}.rail-actions{justify-content:flex-end;gap:4px}.connection-dot{width:8px;height:8px;border-radius:50%;background:var(--faint)}.connection-connected{background:var(--green);box-shadow:0 0 12px #67d3917a}.connection-connecting,.connection-reconnecting{background:var(--yellow)}.connection-error{background:var(--red)}.connection-label{min-width:75px;color:var(--paper-dim);font:12px/1 monospace;text-transform:lowercase}.rail-button{min-width:40px;height:40px;padding:0 10px;border:1px solid transparent;color:var(--paper-dim);background:transparent;cursor:pointer}.rail-button:hover{border-color:var(--line);color:var(--paper);background:#ffffff08}.clock{min-width:58px;color:var(--paper);font:500 12px/1 monospace;text-align:center}.desktop{position:absolute;z-index:2;inset:var(--top) 0 var(--dock)}.window-frame{position:absolute;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:1px solid var(--line);background:var(--ink-2);box-shadow:var(--shadow);clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:opacity .12s ease,border-color .12s ease,transform .12s ease;animation:window-enter .14s ease-out}.window-frame.is-active{border-color:var(--amber);box-shadow:0 0 0 1px #ff6b2c24,var(--shadow)}.window-body{display:flex;flex:1;min-width:0;min-height:0}.titlebar{display:flex;flex:none;align-items:center;gap:10px;height:42px;padding:0 8px 0 14px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(255,107,44,.07),transparent 58%);cursor:default;touch-action:none;-webkit-user-select:none;user-select:none}.is-active .titlebar{border-bottom-color:var(--line-hot)}.app-glyph{color:var(--amber);font:700 16px/1 monospace}.window-title{min-width:0;overflow:hidden;font:600 14px/1 IBM Plex Mono,SFMono-Regular,monospace;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.window-subtitle{color:var(--faint);font-size:12px;white-space:nowrap}.window-controls{display:flex;gap:3px;margin-left:auto}.window-control{width:40px;height:40px;border:1px solid transparent;color:var(--paper-dim);background:transparent;cursor:pointer}.window-control:hover{border-color:var(--gold);color:var(--gold);background:#0000003d}.window-control.close:hover{border-color:var(--red);color:#090807;background:var(--red)}.resize-handle{position:absolute;z-index:10;display:block}.resize-n,.resize-s{right:16px;left:16px;height:16px;cursor:ns-resize}.resize-n{top:-8px}.resize-s{bottom:-8px}.resize-e,.resize-w{top:16px;bottom:16px;width:16px;cursor:ew-resize}.resize-e{right:-8px}.resize-w{left:-8px}.resize-ne,.resize-se,.resize-sw,.resize-nw{width:22px;height:22px}.resize-ne{top:-6px;right:-6px;cursor:nesw-resize}.resize-se{right:-6px;bottom:-6px;cursor:nwse-resize}.resize-sw{bottom:-6px;left:-6px;cursor:nesw-resize}.resize-nw{top:-6px;left:-6px;cursor:nwse-resize}.projects-layout{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0}.search-row{padding:14px;border-bottom:1px solid var(--line)}.search,.launcher-head input{width:100%;height:42px;border:1px solid var(--line);border-radius:0;color:var(--paper);background:#090908;padding:0 12px;font-size:16px}.project-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:10px;overflow:auto;list-style:none}.project-list li{display:block}.project-item{display:grid;grid-template-columns:8px 1fr auto;gap:10px;align-items:start;width:100%;min-height:66px;padding:12px;border:1px solid transparent;color:inherit;background:transparent;text-align:left;cursor:pointer}.project-item:hover,.project-item.is-selected{border-color:var(--line-hot);background:#ff6b2c0f}.project-pip{width:7px;height:7px;margin-top:6px;background:var(--amber)}.project-name{display:block;color:var(--paper);font:600 14px/1.25 IBM Plex Mono,monospace}.project-desc{display:block;margin-top:5px;color:var(--paper-dim);font-size:14px;line-height:1.4}.project-year{color:var(--faint);font:12px/1.2 monospace}.project-detail{margin:auto 14px 14px;padding:16px;border-top:1px solid var(--line-hot);background:#00000042}.eyebrow{color:var(--amber);font:600 12px/1 IBM Plex Mono,monospace;letter-spacing:.11em;text-transform:uppercase}.project-detail h2,.empty-state h2{margin:8px 0 7px;font:600 20px/1.2 IBM Plex Mono,monospace}.project-detail p,.empty-state p{margin:0;color:var(--paper-dim);font-size:16px;line-height:1.55}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tag{padding:5px 7px;border:1px solid var(--line);color:var(--paper-dim);font:12px/1 monospace}.empty-state{padding:28px}.project-empty{display:grid;place-content:center;height:100%;text-align:center}.project-empty .secondary-button{justify-self:center;margin-top:18px}.terminal{position:relative;display:flex;flex:1;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:#020202c2}.terminal-meta{display:flex;flex:none;align-items:center;gap:10px;min-height:44px;padding:8px 14px;overflow:hidden;border-bottom:1px solid var(--line);color:var(--paper-dim);font:12px/1.25 monospace;white-space:nowrap}.state-pill{flex:none;padding:5px 8px;border:1px solid var(--line);color:var(--paper-dim);letter-spacing:.08em}.state-connected{border-color:#67d39180;color:var(--green)}.state-connecting,.state-reconnecting{border-color:#f2c85c80;color:var(--yellow)}.state-error{border-color:#ff5b578c;color:var(--red)}.terminal-tools{display:flex;gap:3px;margin-left:auto}.terminal-tools button{min-width:40px;height:32px;border:1px solid var(--line);color:var(--paper-dim);background:transparent;font-size:12px;cursor:pointer}.terminal-screen{flex:1;min-width:0;min-height:0;padding:clamp(18px,2.6vw,34px);overflow:auto;color:#dedbd2;font:15px/1.55 JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;-webkit-user-select:text;user-select:text}.terminal-prompt{margin:0 0 6px}.prompt{color:var(--amber)}.path{color:var(--green)}.muted{color:var(--faint)}.terminal-lock{min-width:0;max-width:590px;margin-top:clamp(24px,7vh,84px);padding:18px 0 0 20px;border-left:2px solid var(--amber)}.terminal-lock h2{margin:7px 0 10px;color:var(--paper);font:600 clamp(21px,2.2vw,30px) / 1.2 "IBM Plex Mono",monospace}.terminal-lock p{margin:0;color:var(--paper-dim);font:16px/1.55 Inter,ui-sans-serif,sans-serif}.terminal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px}.primary-button,.secondary-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border:1px solid var(--amber);color:#090807;background:var(--amber);font:650 14px/1 IBM Plex Mono,monospace;letter-spacing:.03em;text-decoration:none;cursor:pointer;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}.secondary-button{border-color:var(--line);color:var(--paper);background:transparent}.danger-button{border-color:var(--red);color:var(--red);background:transparent}.primary-button:hover{border-color:var(--gold);background:var(--gold)}.secondary-button:hover{border-color:var(--amber);color:var(--amber)}.danger-button:hover{color:#090807;background:var(--red)}.terminal-footer{display:flex;flex:none;align-items:center;justify-content:space-between;gap:14px;min-height:36px;padding:7px 14px;border-top:1px solid var(--line);color:var(--faint);font:12px/1.2 monospace}.terminal-footer span:last-child{color:var(--gold)}.terminal-loading,.xterm-host{flex:1;min-width:0;min-height:0}.terminal-live{position:relative;display:flex;flex:1;min-width:0;min-height:0}.terminal-reconnect-overlay{position:absolute;top:10px;right:12px;z-index:2;padding:7px 9px;border:1px solid rgba(242,200,92,.5);color:var(--yellow);background:#070706eb;font:12px/1.2 monospace}.terminal-loading{display:grid;place-items:center;color:var(--paper-dim);font:14px/1 monospace}.xterm-host{padding:12px 14px;overflow:hidden;background:#050504}.xterm-host .xterm{height:100%}.loading-bars{display:flex;gap:6px;margin-top:22px}.loading-bars span{width:42px;height:3px;background:var(--line);animation:loading-pulse 1.2s infinite alternate}.loading-bars span:nth-child(2){animation-delay:.18s}.loading-bars span:nth-child(3){animation-delay:.36s}.mobile-keys{display:none}.status-toast{position:absolute;right:12px;bottom:48px;z-index:12;display:flex;align-items:center;gap:12px;max-width:min(420px,calc(100% - 24px));padding:12px 14px;border:1px solid var(--yellow);color:var(--paper);background:var(--ink-1);font-size:14px}.status-toast button{width:40px;height:40px;border:0;color:var(--paper);background:transparent}.about-content{flex:1;overflow:auto;padding:clamp(24px,4vw,48px)}.about-content h1{max-width:720px;margin:12px 0;font:600 clamp(26px,4vw,48px) / 1.08 "IBM Plex Mono",monospace;letter-spacing:-.035em}.about-lede{max-width:700px;margin:0;color:var(--paper-dim);font-size:clamp(16px,1.5vw,19px);line-height:1.6}.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:30px}.about-card{min-height:138px;padding:18px;border:1px solid var(--line);background:#ffffff05}.about-card h2{margin:18px 0 7px;font:600 16px/1.2 IBM Plex Mono,monospace}.about-card p{margin:0;color:var(--paper-dim);font-size:14px;line-height:1.45}.dock-wrap{position:absolute;z-index:800;bottom:max(9px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%)}.dock{position:relative;display:flex;align-items:center;gap:4px;padding:5px 7px;border:1px solid var(--line-hot);background:linear-gradient(90deg,rgba(255,107,44,.08),transparent 22%),#070706f0;box-shadow:0 12px 34px #00000080;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px),0 10px);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dock:before{position:absolute;top:0;left:18px;width:54px;height:1px;content:"";background:var(--amber)}.dock-button{position:relative;display:grid;place-items:center;width:43px;height:40px;flex:none;border:1px solid var(--line);color:var(--paper-dim);background:#ffffff06;cursor:pointer;transition:color .12s ease,border-color .12s ease,transform .12s ease}.dock-button:hover,.dock-button.is-active{border-color:var(--amber);color:var(--amber);background:#ff6b2c12;transform:translateY(-2px)}.dock-button:after{position:absolute;bottom:3px;width:4px;height:4px;content:"";background:transparent}.dock-button.is-running:after{background:var(--amber)}.dock-icon{width:20px;height:20px}.dock-monogram{font:700 16px/1 IBM Plex Mono,monospace}.dock-divider{width:1px;height:28px;margin:0 2px;flex:none;background:linear-gradient(transparent,var(--line-hot),transparent)}.dock-future{border-style:dashed;color:var(--faint);cursor:default;opacity:.64}.dock-future:hover{border-color:var(--line);color:var(--paper-dim);background:#ffffff06;transform:none}.dock-label{position:absolute;bottom:calc(100% + 10px);left:50%;z-index:3;width:max-content;max-width:160px;height:auto;padding:6px 8px;overflow:hidden;border:1px solid var(--line);color:var(--paper);background:#070706f5;font:12px/1 monospace;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .1s ease,transform .1s ease}.dock-button:hover .dock-label,.dock-button:focus-visible .dock-label{opacity:1;transform:translate(-50%)}.overlay{position:fixed;z-index:2000;inset:0;display:grid;place-items:center;padding:24px;background:#000000c7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:overlay-enter .16s ease-out}.dialog-shell{width:min(620px,100%);border:1px solid var(--amber);background:#0b0b09;box-shadow:var(--shadow);clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px)}.launcher{padding:18px}.launcher-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.launcher-head input{flex:1;height:46px}.launcher-head .secondary-button{flex:none}.launcher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.launch-app{min-height:118px;padding:14px;border:1px solid var(--line);color:var(--paper);background:#ffffff05;text-align:left;cursor:pointer}.launch-app:hover{border-color:var(--amber);background:#ff6b2c0f}.launch-app b{display:block;margin:12px 0 6px;font:600 14px/1 IBM Plex Mono,monospace}.launch-app small{color:var(--paper-dim);font-size:12px;line-height:1.4}.modal{width:100%}.hazard{height:7px;background:repeating-linear-gradient(-45deg,var(--gold) 0 9px,#17140e 9px 18px)}.modal-body{padding:24px}.modal h2{margin:8px 0 10px;font:600 22px/1.2 IBM Plex Mono,monospace}.modal p{margin:0;color:var(--paper-dim);font-size:16px;line-height:1.55}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.connection-summary{display:grid;gap:1px;margin:20px 0 0;background:var(--line)}.connection-summary div{display:grid;grid-template-columns:120px 1fr;padding:11px 12px;background:var(--ink-1)}.connection-summary dt,.connection-summary dd{margin:0;font:14px/1.35 monospace}.connection-summary dt{color:var(--faint)}.connection-summary dd{color:var(--paper)}.session-expiry{margin-top:16px!important;color:var(--faint)!important;font-size:12px!important}.fullscreen-hint{position:fixed;z-index:3000;top:calc(var(--top) + 12px);left:50%;padding:9px 12px;border:1px solid var(--line-hot);color:var(--paper);background:var(--ink-1);font:12px/1 monospace;transform:translate(-50%)}.visually-hidden,.sr-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes window-enter{0%{opacity:0;transform:translateY(6px)}}@keyframes overlay-enter{0%{opacity:0}}@keyframes loading-pulse{to{background:var(--amber)}}@media(max-width:1023px){.top-rail{grid-template-columns:1fr auto}.rail-center{display:none}.window-frame{inset:10px!important;width:auto!important;height:auto!important;border-color:var(--amber);transform:none!important}}@media(max-width:599px){:root{--top: 42px;--dock: 60px}.workstation:after{right:1vw;bottom:16vh;font-size:82vw}.top-rail{gap:4px;padding:0 max(9px,env(safe-area-inset-right)) 0 max(9px,env(safe-area-inset-left))}.identity{gap:8px}.node-mark{width:22px;height:22px}.wordmark{font-size:12px;letter-spacing:.08em}.wordmark small,.fullscreen-button,.session-button,.clock{display:none}.rail-actions{gap:5px}.connection-label{min-width:0}.desktop{inset:var(--top) 0 var(--dock)}.window-frame{inset:0!important;width:100%!important;height:100%!important;border-width:0;box-shadow:none;clip-path:none}.titlebar{height:42px;padding-left:11px}.window-subtitle{display:none}.terminal-meta{padding:7px 11px}.terminal-meta>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis}.terminal-tools{display:none}.terminal-screen{padding:18px 16px;font-size:14px}.terminal-lock{margin-top:18px;padding:12px 0 0 14px}.terminal-lock h2{font-size:21px}.terminal-actions{display:grid;grid-template-columns:1fr;width:100%}.terminal-actions .primary-button,.terminal-actions .secondary-button{width:100%;white-space:normal}.terminal-footer{display:none}.mobile-keys{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;height:44px;padding:4px;overflow:hidden;border-top:1px solid var(--line);background:#090908}.mobile-key{min-width:0;border:1px solid var(--line);color:var(--paper-dim);background:transparent;font:12px/1 monospace}.mobile-key[aria-pressed=true]{border-color:var(--amber);color:var(--amber);background:#ff6b2c1f}.mobile-key:last-child{color:var(--amber)}.project-detail{margin-top:6px}.about-grid{grid-template-columns:1fr;gap:8px}.about-card{min-height:0}.dock-wrap{bottom:max(4px,env(safe-area-inset-bottom))}.dock{grid-template-columns:repeat(4,minmax(0,1fr));display:grid;gap:3px;width:min(286px,calc(100vw - 14px));padding:4px 5px}.dock-button{width:auto;height:46px}.dock-divider,.dock-future{display:none}.dock-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;border:0;opacity:0;clip:rect(0 0 0 0)}.overlay{align-items:end;padding:10px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.dialog-shell{max-height:calc(100dvh - 20px);overflow:auto}.launcher{padding:12px}.launcher-grid{grid-template-columns:1fr}.launch-app{min-height:80px}.modal-body{padding:20px 18px}.connection-summary div{grid-template-columns:92px 1fr}.modal-actions{display:grid;grid-template-columns:1fr}}@media(max-width:360px){.connection-label{font-size:12px}.terminal-prompt{display:none}.terminal-lock{margin-top:8px}.project-item{grid-template-columns:8px 1fr}.project-year{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media(prefers-contrast:more){:root{--paper-dim: #dad7ce;--faint: #c1bdb3;--line: rgba(240, 238, 231, .38)}.workstation:before{display:none}}
