.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}:root{font-family:Inter,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#dbe1de;background:#0d100f;font-synthesis:none;text-rendering:optimizeLegibility;letter-spacing:0;--bg: #0d100f;--surface-1: #121614;--surface-2: #171c19;--surface-3: #1d231f;--line: #2a322e;--line-strong: #3a4540;--text: #e5eae7;--text-muted: #939e98;--text-faint: #68736d;--green: #83c49b;--green-strong: #a1dab5;--green-dim: #203a2b;--amber: #d2b26d;--blue: #82a9ce;--red: #e1817a;--red-dim: #402523;--sidebar-width: 280px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px}button,input{font:inherit;letter-spacing:0}button{color:inherit}button:focus-visible,input:focus-visible,label:has(input:focus-visible){outline:2px solid #9ad4ae;outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.48}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.brand-mark{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border:1px solid #4d6959;border-radius:7px;color:var(--green-strong);background:#18251d;font-family:Cascadia Code,Consolas,monospace;font-size:20px;font-weight:700}.brand-mark.is-small{width:32px;height:32px;border-radius:6px;font-size:15px}.primary-button,.secondary-button,.danger-button,.new-session-button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:8px;border-radius:6px;padding:0 14px;border:1px solid transparent;cursor:pointer;font-size:13px;font-weight:600;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.primary-button{border-color:#6da984;color:#0c160f;background:#8fcca5}.primary-button:hover:not(:disabled){background:#a0d8b4}.secondary-button{border-color:var(--line-strong);color:var(--text);background:var(--surface-2)}.secondary-button:hover:not(:disabled){background:var(--surface-3)}.danger-button{border-color:#9e4f4a;color:#fff0ee;background:#753a36}.danger-button:hover:not(:disabled){background:#86413d}.icon-button{display:inline-grid;width:34px;height:34px;flex:0 0 auto;place-items:center;padding:0;border:1px solid var(--line);border-radius:6px;color:#aab4af;background:#161b18;cursor:pointer;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.icon-button:hover:not(:disabled){color:var(--text);border-color:var(--line-strong);background:#202622}.status-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px currentColor inset}.boot-screen,.login-screen{width:100%;min-height:100dvh;color:var(--text);background-color:#0f1211;background-image:linear-gradient(#202522 1px,transparent 1px),linear-gradient(90deg,#202522 1px,transparent 1px);background-size:44px 44px}.boot-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-muted);font-size:13px}.boot-progress{width:112px;height:2px;overflow:hidden;background:#2a302d}.boot-progress span{display:block;width:42%;height:100%;background:var(--green);animation:boot-slide 1.3s ease-in-out infinite}@keyframes boot-slide{0%{transform:translate(-110%)}to{transform:translate(350%)}}.login-screen{display:grid;place-items:center;position:relative;padding:32px 20px 56px}.login-panel{width:min(100%,410px);padding:30px;border:1px solid var(--line);border-radius:8px;background:#131715;box-shadow:0 22px 70px #0006}.login-brand{display:flex;align-items:center;gap:12px;padding-bottom:24px;border-bottom:1px solid #252c28}.login-brand>div:last-child,.sidebar-brand>div:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:3px}.login-brand strong,.sidebar-brand strong{color:var(--text);font-size:14px}.login-brand span,.sidebar-brand span{color:var(--text-faint);font-size:11px}.login-heading{padding:28px 0 22px}.security-icon{display:grid;width:38px;height:38px;margin-bottom:18px;place-items:center;border:1px solid #345642;border-radius:7px;color:var(--green);background:#17251c}.login-heading h1{margin:0 0 8px;color:#f0f3f1;font-size:22px;line-height:1.25;letter-spacing:0}.login-heading p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.6}.login-form{display:flex;flex-direction:column;gap:10px}.login-form label{color:#b7c0bb;font-size:12px;font-weight:600}.password-field{position:relative}.password-field input{width:100%;height:42px;padding:0 44px 0 12px;border:1px solid #38413c;border-radius:6px;color:var(--text);background:#0f1211;font-size:14px}.password-field input::placeholder{color:#59635e}.password-field input:hover{border-color:#4a5750}.password-toggle{position:absolute;top:4px;right:4px;display:grid;width:34px;height:34px;padding:0;place-items:center;border:0;color:var(--text-faint);background:transparent;cursor:pointer}.password-toggle:hover{color:var(--text)}.form-error{display:flex;align-items:flex-start;gap:8px;margin-top:2px;color:#ee9a93;font-size:12px;line-height:1.5}.form-error svg{margin-top:1px;flex:0 0 auto}.login-submit{width:100%;margin-top:8px}.login-server-caption{position:absolute;bottom:22px;display:flex;align-items:center;gap:8px;color:#727d77;font-family:Cascadia Code,Consolas,monospace;font-size:11px}.login-server-caption .status-dot{color:var(--green)}.app-shell{display:flex;width:100%;height:100dvh;min-height:0;overflow:hidden;color:var(--text);background:var(--bg)}.sidebar{display:flex;width:var(--sidebar-width);height:100%;min-height:0;flex:0 0 var(--sidebar-width);flex-direction:column;border-right:1px solid #262d29;background:#121614;z-index:20}.sidebar-brand{display:flex;height:64px;flex:0 0 64px;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid #252c28}.sidebar-brand .mobile-only{margin-left:auto}.sidebar-action{padding:16px 14px 10px}.new-session-button{width:100%;border-color:#415049;color:#dbe6df;background:#1b2420}.new-session-button:hover{border-color:#587263;background:#223029}.session-section{display:flex;min-height:0;flex:1;flex-direction:column}.section-label{display:flex;align-items:center;justify-content:space-between;padding:12px 17px 8px;color:#77827c;font-size:10px;font-weight:700;text-transform:uppercase}.section-label span:last-child{font-variant-numeric:tabular-nums}.session-list{min-height:0;overflow-x:hidden;overflow-y:auto;padding:0 8px 12px;scrollbar-color:#39423d transparent;scrollbar-width:thin}.session-row{position:relative;display:flex;min-height:58px;align-items:stretch;margin-bottom:3px;border:1px solid transparent;border-radius:6px}.session-row:hover{background:#181d1a}.session-row.is-active{border-color:#33443b;background:#1c2621}.session-select{display:grid;min-width:0;flex:1;grid-template-columns:8px minmax(0,1fr) 15px;align-items:center;gap:9px;padding:8px 32px 8px 10px;border:0;text-align:left;color:inherit;background:transparent;cursor:pointer}.session-status{width:7px;height:7px;border-radius:50%;background:#69736e}.session-status.is-running{background:var(--green);box-shadow:0 0 0 3px #83c49b17}.session-status.is-starting{background:var(--amber)}.session-status.is-error{background:var(--red)}.session-status.is-idle{background:var(--blue)}.session-copy{display:flex;min-width:0;flex-direction:column;gap:5px}.session-copy strong,.session-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-copy strong{color:#cdd4d0;font-size:12px;font-weight:600}.session-copy span{color:#717c76;font-size:10px}.session-chevron{color:#505b55}.session-delete{position:absolute;top:50%;right:6px;display:none;width:28px;height:28px;padding:0;transform:translateY(-50%);place-items:center;border:0;border-radius:5px;color:#9a7773;background:#202622;cursor:pointer}.session-row:hover .session-delete,.session-row:focus-within .session-delete{display:grid}.session-row:hover .session-chevron,.session-row:focus-within .session-chevron{visibility:hidden}.session-delete:hover{color:#ef948c;background:#382725}.sidebar-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:50px 16px;color:#626d67;font-size:12px}.sidebar-footer{display:flex;min-height:64px;flex:0 0 auto;align-items:center;gap:10px;padding:11px 15px;border-top:1px solid #252c28}.server-indicator{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border:1px solid #36403b;border-radius:6px;color:var(--text-muted);background:#181d1a}.server-indicator.is-online{color:var(--green);border-color:#34523f}.server-indicator.is-offline{color:var(--red);border-color:#5c3633}.sidebar-footer>span:last-child{display:flex;min-width:0;flex-direction:column;gap:3px}.sidebar-footer strong{color:#aeb8b2;font-size:11px;font-weight:600}.sidebar-footer small{overflow:hidden;color:#65706a;font-family:Cascadia Code,Consolas,monospace;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.workspace-shell{display:flex;min-width:0;min-height:0;flex:1;flex-direction:column;background:#0d100f}.topbar{display:flex;height:64px;min-width:0;flex:0 0 64px;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid #262d29;background:#111513}.topbar-context{display:flex;min-width:0;flex-direction:column;gap:2px}.topbar-eyebrow{color:#66716b;font-size:9px;font-weight:700;text-transform:uppercase}.topbar-context strong{overflow:hidden;color:#dbe1dd;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.topbar-statuses{display:flex;min-width:0;align-items:center;gap:8px;margin-left:auto}.topbar-status{display:inline-flex;height:28px;align-items:center;gap:7px;padding:0 9px;border:1px solid #2c3530;border-radius:5px;color:#89948e;background:#151a17;font-size:10px;white-space:nowrap}.topbar-status.is-online{color:#8acda2}.topbar-status.is-offline{color:#e18880}.topbar-status.session-state{color:#9eaaa4}.topbar-actions{display:flex;gap:7px;padding-left:2px}.app-alert{display:flex;min-height:40px;flex:0 0 auto;align-items:center;gap:9px;padding:8px 14px;border-bottom:1px solid #653c38;color:#efaaa4;background:#2d211f;font-size:12px}.app-alert span{min-width:0;flex:1;overflow-wrap:anywhere}.app-alert button{display:grid;width:28px;height:28px;padding:0;place-items:center;border:0;color:#c98f8a;background:transparent;cursor:pointer}.workspace-content{display:flex;min-width:0;min-height:0;flex:1;padding:12px}.workspace-loading{display:flex;width:100%;min-height:0;flex-direction:column;gap:10px}.loading-line,.loading-terminal{background:#171c19;animation:loading-pulse 1.4s ease-in-out infinite}.loading-line{width:280px;height:35px;border-radius:5px}.loading-terminal{min-height:0;flex:1;border:1px solid #222925;border-radius:7px}@keyframes loading-pulse{50%{background-color:#1d231f}}.empty-workspace{display:flex;width:100%;min-height:0;align-items:center;justify-content:center;flex-direction:column;border:1px dashed #2a332e;border-radius:7px;background:#0f1211;text-align:center;padding:28px}.empty-terminal-icon{display:grid;width:52px;height:52px;margin-bottom:18px;place-items:center;border:1px solid #354039;border-radius:7px;color:#84918a;background:#171c19}.empty-workspace h2{margin:0 0 8px;color:#d9dfdc;font-size:16px;letter-spacing:0}.empty-workspace p{max-width:390px;margin:0 0 20px;color:#7f8a84;font-size:12px;line-height:1.6}.drawer-scrim,.mobile-only{display:none}.terminal-shell{display:flex;width:100%;min-width:0;min-height:0;flex-direction:column;overflow:hidden;border:1px solid #29312d;border-radius:7px;background:#0d100f;box-shadow:0 10px 35px #00000026}.terminal-meta{display:flex;height:42px;flex:0 0 42px;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;border-bottom:1px solid #252c28;background:#141816}.terminal-title{display:flex;min-width:0;align-items:center;gap:8px;color:#aeb8b2;font-size:11px}.terminal-title>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-session-id{padding-left:8px;border-left:1px solid #303833;color:#5f6a64;font-family:Cascadia Code,Consolas,monospace;font-size:9px}.connection-badge{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;color:#87928c;font-size:10px}.connection-badge.is-connected{color:var(--green)}.connection-badge.is-connecting,.connection-badge.is-reconnecting{color:var(--amber)}.connection-badge.is-error{color:var(--red)}.connection-badge.is-exited{color:#7f8984}.terminal-accessory{display:none;height:38px;flex:0 0 38px;align-items:center;gap:5px;padding:4px 7px;border-bottom:1px solid #252c28;background:#111513}.terminal-accessory button{display:inline-flex;height:28px;min-width:34px;align-items:center;justify-content:center;padding:0 8px;border:1px solid #303a35;border-radius:4px;color:#aeb8b2;background:#1a201d;font:inherit;font-size:10px;font-weight:600;letter-spacing:0}.terminal-accessory button:active{border-color:#59836b;color:#dce6e0;background:#25342c}.terminal-accessory-spacer{flex:1}.terminal-stage{position:relative;min-width:0;min-height:0;flex:1;overflow:hidden}.terminal-host{width:100%;height:100%;min-width:0;min-height:0;background:#0d100f}.terminal-host .xterm{height:100%;padding:16px 18px}.terminal-host .xterm-viewport{scrollbar-color:#37413c #0d100f;scrollbar-width:thin}.terminal-notice{position:absolute;top:14px;left:50%;display:flex;width:min(440px,calc(100% - 28px));min-height:52px;align-items:center;gap:11px;padding:9px 10px 9px 12px;transform:translate(-50%);border:1px solid #3b443f;border-radius:7px;color:#aeb8b2;background:#181d1af2;box-shadow:0 8px 26px #0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.terminal-notice>svg{flex:0 0 auto;color:var(--amber)}.terminal-notice.is-error>svg{color:var(--red)}.terminal-notice.is-exited>svg{color:#909a95}.terminal-notice>div{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.terminal-notice strong{color:#d5dcd8;font-size:11px}.terminal-notice span{overflow:hidden;color:#808b85;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.modal{width:min(560px,calc(100% - 28px));max-height:min(720px,calc(100dvh - 32px));padding:0;overflow:visible;border:0;color:var(--text);background:transparent}.modal-compact{width:min(430px,calc(100% - 28px))}.modal::backdrop{background:#050706b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-surface{display:flex;max-height:min(720px,calc(100dvh - 32px));flex-direction:column;overflow:hidden;border:1px solid #37403b;border-radius:8px;background:#151917;box-shadow:0 24px 80px #000000a3}.modal-header{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 18px 16px 20px;border-bottom:1px solid #29302c}.modal-header h2{margin:0;color:#e4e9e6;font-size:15px;letter-spacing:0}.modal-header p{margin:6px 0 0;color:#7d8882;font-size:11px}.modal-content{min-height:0;overflow-y:auto;padding:18px 20px}.modal-footer{display:flex;min-height:62px;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:9px;padding:11px 20px;border-top:1px solid #29302c;background:#121614}.workspace-picker{display:flex;min-width:0;margin:0;padding:0;flex-direction:column;gap:7px;border:0}.workspace-picker legend{margin-bottom:9px;color:#89948e;font-size:10px;font-weight:700}.workspace-option{display:grid;min-width:0;min-height:62px;grid-template-columns:34px minmax(0,1fr) 22px;align-items:center;gap:11px;padding:9px 11px;border:1px solid #303833;border-radius:6px;background:#121614;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.workspace-option:hover{border-color:#46534c;background:#181d1a}.workspace-option.is-selected{border-color:#4e7860;background:#19251e}.workspace-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.workspace-folder{display:grid;width:34px;height:34px;place-items:center;border:1px solid #36413b;border-radius:5px;color:#9aa59f;background:#1a201d}.workspace-option.is-selected .workspace-folder{border-color:#42634f;color:var(--green);background:#203026}.workspace-option-copy{display:flex;min-width:0;flex-direction:column;gap:5px}.workspace-option-copy strong,.workspace-option-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-option-copy strong{color:#d5dcd8;font-size:12px}.workspace-option-copy span{color:#77827c;font-size:10px}.workspace-check{display:grid;width:20px;height:20px;place-items:center;border:1px solid #3c4641;border-radius:50%;color:transparent}.workspace-option.is-selected .workspace-check{border-color:var(--green);color:#101a13;background:var(--green)}.workspace-picker-empty{display:flex;min-height:100px;align-items:center;justify-content:center;flex-direction:column;gap:10px;border:1px dashed #303833;border-radius:6px;color:#717c76;font-size:11px}.workspace-picker+.form-error{margin-top:12px}.confirm-copy{margin:0;color:#a2aca6;font-size:12px;line-height:1.7}.confirm-copy strong{color:#e1e6e3}@media(max-width:820px){.mobile-only{display:inline-grid}.sidebar{position:fixed;top:0;bottom:0;left:0;width:min(86vw,300px);transform:translate(-102%);box-shadow:18px 0 55px #00000080;transition:transform .22s ease}.sidebar.is-open{transform:translate(0)}.drawer-scrim{position:fixed;inset:0;display:block;visibility:hidden;padding:0;border:0;opacity:0;background:#050706a3;z-index:15;transition:opacity .22s ease,visibility .22s ease}.drawer-scrim.is-visible{visibility:visible;opacity:1}.topbar{height:58px;flex-basis:58px;padding:0 10px;gap:9px}.topbar-status.session-state{display:none}.workspace-content{padding:8px}.terminal-host .xterm{padding:12px 10px}.terminal-accessory{display:flex}}@media(max-width:520px){.login-panel{padding:22px}.login-screen{padding-inline:14px}.topbar-context{flex:1}.topbar-statuses{margin-left:0}.topbar-status{height:26px;padding:0 7px}.topbar-actions{gap:4px}.topbar-actions .icon-button,.topbar>.icon-button{width:32px;height:32px}.terminal-meta{padding-inline:9px}.terminal-session-id{display:none}.connection-badge{font-size:0}.terminal-notice span{white-space:normal}.modal-content{padding:16px}.modal-footer{padding-inline:16px}}@media(max-width:390px){.topbar-status{font-size:0;width:27px;justify-content:center;padding:0}.topbar-status .status-dot{width:8px;height:8px}.topbar-eyebrow{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
