.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.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,.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;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;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e5edf7;background:#070a0f;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:10px;padding:9px 13px}button:hover{background:#1d4ed8}button:disabled{opacity:.5;cursor:not-allowed}.danger{background:#7f1d1d}.danger:hover{background:#991b1b}.boot,.login-wrap{background:radial-gradient(circle at top,#15233a,#070a0f 55%);place-items:center;height:100vh;display:grid}.login-card{background:#0d1320;border:1px solid #1d2a3d;border-radius:22px;width:min(420px,92vw);padding:34px;box-shadow:0 24px 80px #0008}.brand{letter-spacing:.3px;font-weight:800}.login-card .brand{color:#60a5fa;margin-bottom:18px}.login-card h1{margin:0 0 8px;font-size:28px}.login-card p{color:#91a4bd;margin:0 0 22px}.login-card input{color:#e5edf7;background:#070a0f;border:1px solid #26364d;border-radius:12px;width:100%;margin-bottom:12px;padding:14px 15px}.login-card button{width:100%;margin-top:8px;padding:13px}.error{color:#fecaca;background:#3b1013;border:1px solid #7f1d1d;border-radius:10px;margin:8px 0;padding:10px}.small{font-size:12px}.app{flex-direction:column;height:100vh;display:flex}header{background:#0b1019;border-bottom:1px solid #162033;align-items:center;gap:18px;height:58px;padding:0 18px;display:flex}.hint{color:#8293aa;flex:1;font-size:13px}main{background:#162033;flex:1;grid-template-columns:280px minmax(360px,1fr) minmax(420px,1fr);gap:1px;min-height:0;display:grid}.sessions,.chat,.terminal{background:#090d14;flex-direction:column;min-width:0;min-height:0;display:flex}.panel-head{border-bottom:1px solid #162033;justify-content:space-between;align-items:center;gap:10px;height:58px;padding:11px 14px;display:flex}.panel-head b{display:block}.panel-head span{color:#70839b;text-overflow:ellipsis;white-space:nowrap;max-width:260px;margin-top:2px;font-size:12px;display:block;overflow:hidden}.filters{border-bottom:1px solid #162033;align-items:center;gap:8px;padding:10px 12px;display:flex}.filters select{color:#dbe8f5;background:#0d1320;border:1px solid #1d2a3d;border-radius:9px;flex:1;min-width:0;padding:7px}.filters label{color:#91a4bd;font-size:12px}.session-list{padding:8px;overflow:auto}.session-item{cursor:pointer;background:#0d1320;border:1px solid #0000;border-radius:13px;margin-bottom:8px;padding:11px}.session-item:hover,.session-item.active{background:#101a2b;border-color:#2563eb}.session-title{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.session-meta{color:#8293aa;margin-top:4px;font-size:12px}.session-actions{gap:6px;margin-top:8px;display:flex}.session-actions button{background:#1e293b;padding:5px 8px;font-size:11px}.session-actions .danger{background:#5f1515}.messages{flex:1;padding:16px;overflow:auto}.empty{color:#6f8095;text-align:center;place-items:center;height:100%;display:grid}.msg{margin:0 0 14px}.msg .role{color:#8ba0b8;margin-bottom:5px;font-size:12px}.msg pre{white-space:pre-wrap;word-wrap:break-word;border-radius:14px;margin:0;padding:12px 14px;font-family:inherit;line-height:1.45}.msg.user pre{color:#fff;background:#1d4ed8;margin-left:8%}.msg.assistant pre{color:#dce8f5;background:#111827;border:1px solid #1d2a3d;margin-right:5%}.composer{border-top:1px solid #162033;gap:10px;padding:12px;display:flex}.composer textarea{resize:vertical;color:#e5edf7;background:#0d1320;border:1px solid #1d2a3d;border-radius:13px;flex:1;min-height:58px;max-height:160px;padding:12px}.terminal-box{background:#080b10;flex:1;min-height:0;padding:8px}.xterm{height:100%}@media (width<=1100px){main{grid-template-columns:1fr;overflow:auto}.sessions,.chat,.right-column{min-height:520px}.terminal{min-height:360px;display:flex}.upload-panel{min-height:240px}}.right-column{background:#090d14;flex-direction:column;min-width:0;min-height:0;display:flex}.right-column .terminal{flex:1;min-height:260px}.upload-panel{background:#090d14;border-bottom:1px solid #162033;flex-direction:column;height:260px;min-height:220px;display:flex}.panel-head.compact{height:auto;min-height:58px}.upload-btn{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:10px;align-items:center;gap:8px;padding:9px 13px;display:inline-flex}.upload-btn:hover{background:#1d4ed8}.upload-btn.disabled{opacity:.5;cursor:not-allowed}.upload-btn input{display:none}.upload-progress{background:#101827;border:1px solid #1d2a3d;border-radius:999px;height:22px;margin:8px 12px;position:relative;overflow:hidden}.upload-progress div{background:linear-gradient(90deg,#2563eb,#22c55e);height:100%;transition:width .2s}.upload-progress span{color:#e5edf7;place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.success{color:#bbf7d0;background:#052e1a;border:1px solid #166534;border-radius:10px;margin:8px 12px;padding:10px}.file-list{padding:8px 12px 12px;overflow:auto}.file-item{background:#0d1320;border:1px solid #18243a;border-radius:12px;margin-bottom:8px;padding:9px 10px}.file-item b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.file-item span{color:#8293aa;margin-top:3px;font-size:12px;display:block}.file-actions{align-items:center;gap:8px;margin-top:8px;display:flex}.file-actions a,.file-actions button{color:#dbeafe;background:#1e293b;border-radius:8px;padding:6px 9px;font-size:12px;text-decoration:none}.file-actions button{cursor:pointer;border:0}.file-actions a:hover,.file-actions button:hover{background:#26364d}@media (width<=1100px){.right-column{min-height:640px;display:flex}}.sort-note{color:#8293aa;flex:1;padding:7px 0;font-size:12px}.terminal-hint{color:#8293aa;margin-left:8px;font-size:12px}
