:root,html[data-theme=dark]{--bg-deep:#000;--bg-window:rgba(40,40,42,0.72);--bg-elev:rgba(58,58,60,0.55);--bg-input:rgba(0,0,0,0.28);--bg-input-focus:rgba(0,0,0,0.42);--border:rgba(255,255,255,0.08);--border-strong:rgba(255,255,255,0.14);--text:#f5f5f7;--text-dim:rgba(245,245,247,0.55);--text-faint:rgba(245,245,247,0.35);--accent:#0a84ff;--accent-hover:#409cff;--accent-soft:rgba(10,132,255,0.18);--danger:#ff453a;--ok:#30d158;--warning:#ff9f0a;--tl-red:#ff5f57;--tl-yellow:#febc2e;--tl-green:#28c840;--bg-gradient:radial-gradient(1200px 800px at 10% -10%,#2a2a3e 0%,transparent 60%),radial-gradient(1000px 700px at 110% 10%,#3a1f4e 0%,transparent 55%),radial-gradient(900px 700px at 50% 110%,#1f3a4e 0%,transparent 55%),#000;--btn-bg:rgba(255,255,255,0.08);--btn-bg-hover:rgba(255,255,255,0.13);--btn-ghost-hover:rgba(255,255,255,0.06);--seg-bg:rgba(0,0,0,0.32);--seg-active:rgba(255,255,255,0.12);--row-hover:rgba(255,255,255,0.06);--tb-bg:rgba(0,0,0,0.12);--sidebar-bg:rgba(0,0,0,0.18);--input-bar-bg:rgba(0,0,0,0.16);--msg-body-bg:rgba(255,255,255,0.04);--scrollbar-thumb:rgba(255,255,255,0.10);--scrollbar-thumb-hover:rgba(255,255,255,0.18)}html[data-theme=light]{--bg-deep:#f2f2f7;--bg-window:rgba(255,255,255,0.78);--bg-elev:rgba(255,255,255,0.55);--bg-input:rgba(0,0,0,0.05);--bg-input-focus:rgba(0,0,0,0.02);--border:rgba(0,0,0,0.08);--border-strong:rgba(0,0,0,0.14);--text:#1d1d1f;--text-dim:rgba(0,0,0,0.55);--text-faint:rgba(0,0,0,0.4);--accent:#007aff;--accent-hover:#0a84ff;--accent-soft:rgba(0,122,255,0.12);--danger:#ff3b30;--ok:#34c759;--warning:#ff9500;--tl-red:#ff5f57;--tl-yellow:#febc2e;--tl-green:#28c840;--bg-gradient:radial-gradient(1200px 800px at 10% -10%,#c7d4ff 0%,transparent 60%),radial-gradient(1000px 700px at 110% 10%,#f0c7ff 0%,transparent 55%),radial-gradient(900px 700px at 50% 110%,#c7e5ff 0%,transparent 55%),#f2f2f7;--btn-bg:rgba(0,0,0,0.05);--btn-bg-hover:rgba(0,0,0,0.08);--btn-ghost-hover:rgba(0,0,0,0.04);--seg-bg:rgba(0,0,0,0.06);--seg-active:rgba(255,255,255,0.95);--row-hover:rgba(0,0,0,0.04);--tb-bg:rgba(255,255,255,0.35);--sidebar-bg:rgba(255,255,255,0.4);--input-bar-bg:rgba(255,255,255,0.35);--msg-body-bg:rgba(255,255,255,0.6);--scrollbar-thumb:rgba(0,0,0,0.15);--scrollbar-thumb-hover:rgba(0,0,0,0.25)}:root{--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-window:18px;--shadow-window:0 30px 90px rgba(0,0,0,0.35),0 0 0 0.5px var(--border-strong);--font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue","Segoe UI",Roboto,system-ui,sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,Monaco,Consolas,"Liberation Mono",monospace}*{box-sizing:border-box}::selection{background:var(--accent-soft);color:var(--text)}body,html{margin:0;padding:0;background:var(--bg-gradient);background-attachment:fixed;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5;letter-spacing:-.01em;min-height:100vh;width:100%}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{font-family:inherit;font-size:13px;font-weight:500;letter-spacing:-.01em;background:var(--btn-bg);color:var(--text);border:.5px solid var(--border-strong);border-radius:var(--radius);padding:7px 14px;cursor:pointer;transition:background .14s ease,transform .1s ease,border-color .14s ease;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}button:hover:not(:disabled){background:var(--btn-bg-hover)}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--accent);border-color:transparent;color:white;font-weight:600;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 1px 2px rgba(0,0,0,.25)}button.primary:hover:not(:disabled){background:var(--accent-hover)}button.ghost{background:transparent;border-color:transparent;color:var(--text-dim);padding:6px 10px}button.ghost:hover:not(:disabled){background:var(--btn-ghost-hover);color:var(--text)}input,select,textarea{font-family:inherit;font-size:14px;background:var(--bg-input);color:var(--text);border:.5px solid var(--border-strong);border-radius:var(--radius);padding:10px 12px;outline:none;width:100%;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}input::placeholder,textarea::placeholder{color:var(--text-faint)}input:focus,textarea:focus{background:var(--bg-input-focus);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea{resize:vertical;min-height:60px;font-family:var(--font-sans)}.mono{font-family:var(--font-mono)}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.err{color:var(--danger)}.ok{color:var(--ok)}.traffic-lights{display:flex;gap:8px;align-items:center;padding:0 4px}.traffic-lights .dot{width:12px;height:12px;border-radius:50%;background:var(--tl-red);box-shadow:inset 0 0 0 .5px rgba(0,0,0,.25)}.traffic-lights .dot.yellow{background:var(--tl-yellow)}.traffic-lights .dot.green{background:var(--tl-green)}.auth-wrap{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:24px}.auth-window{width:100%;max-width:440px;background:var(--bg-window);border:.5px solid var(--border-strong);border-radius:var(--radius-window);box-shadow:var(--shadow-window);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);overflow:hidden}.window-titlebar{display:flex;align-items:center;height:38px;padding:0 14px;border-bottom:.5px solid var(--border);background:var(--tb-bg);position:relative;gap:10px}.window-titlebar .title{position:absolute;left:0;right:0;text-align:center;font-size:13px;font-weight:600;color:var(--text-dim);pointer-events:none}.auth-body{padding:28px 32px 32px}.auth-body h1{margin:0 0 4px;font-size:22px;font-weight:700;letter-spacing:-.02em}.auth-body .sub{color:var(--text-dim);margin:0 0 22px;font-size:13px}.segmented{display:flex;background:var(--seg-bg);border-radius:9px;padding:3px;margin-bottom:22px;border:.5px solid var(--border)}.segmented button{flex:1 1;background:transparent;border:none;padding:6px 10px;border-radius:6px;color:var(--text-dim);font-weight:500;backdrop-filter:none;-webkit-backdrop-filter:none}.segmented button.active{background:var(--seg-active);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.15)}.seg-mini{display:inline-flex;background:var(--seg-bg);border:.5px solid var(--border);border-radius:7px;padding:2px}.seg-mini button{background:transparent;border:none;padding:3px 8px;border-radius:5px;font-size:13px;color:var(--text-dim);backdrop-filter:none;-webkit-backdrop-filter:none;line-height:1}.seg-mini button:hover:not(:disabled){background:var(--row-hover)}.seg-mini button.active{background:var(--seg-active);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.1)}.field{margin-bottom:14px}.field label{display:block;margin-bottom:6px;font-size:12px;color:var(--text-dim);font-weight:500}.chat-wrap{display:grid;grid-template-columns:240px 1fr;height:100vh;padding:16px;grid-gap:0;gap:0}.chat-window{display:contents}.app-window{grid-column:1/-1;display:grid;grid-template-columns:240px 1fr;background:var(--bg-window);border:.5px solid var(--border-strong);border-radius:var(--radius-window);box-shadow:var(--shadow-window);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);overflow:hidden}.sidebar{background:var(--sidebar-bg);border-right:.5px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.sidebar-tb{display:flex;align-items:center;height:38px;padding:0 14px;border-bottom:.5px solid var(--border);background:var(--tb-bg)}.sidebar-body{flex:1 1;padding:16px 12px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.sidebar .brand{font-weight:700;font-size:15px;padding:4px 8px 12px;letter-spacing:-.02em}.sidebar .sec-label{font-size:11px;font-weight:600;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;padding:10px 8px 4px}.sidebar button.row{width:100%;text-align:left;background:transparent;border:none;border-radius:8px;padding:6px 10px;color:var(--text);font-weight:500;backdrop-filter:none;-webkit-backdrop-filter:none}.sidebar button.row:hover:not(:disabled){background:var(--row-hover)}.sidebar .me-footer{border-top:.5px solid var(--border);padding:12px;font-size:12px;color:var(--text-dim)}.sidebar .me-footer .email{color:var(--text);font-weight:500;margin-bottom:2px}.sidebar .me-footer .row-info{display:flex;justify-content:space-between;align-items:center;padding:2px 0}.sidebar .me-footer button.logout{margin-top:8px;width:100%;font-size:12px;padding:5px 10px}.chat-main{display:flex;flex-direction:column;overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 18px;border-bottom:.5px solid var(--border);background:var(--tb-bg)}.chat-header .title{font-weight:600;letter-spacing:-.01em}.chat-header .meta{font-size:12px;color:var(--text-faint);font-family:var(--font-mono)}.chat-msgs{flex:1 1;overflow-y:auto;padding:24px 28px;display:flex;flex-direction:column;gap:14px}.msg{max-width:760px}.msg .who{font-size:11px;color:var(--text-faint);margin-bottom:4px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.msg.user .who{color:var(--accent)}.msg .body{white-space:pre-wrap;background:var(--msg-body-bg);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:12px 16px}.msg.user .body{background:var(--accent-soft);border-color:var(--accent)}.msg .meta{font-size:11px;color:var(--text-faint);margin-top:4px;font-family:var(--font-mono);padding-left:4px}.chat-input{border-top:.5px solid var(--border);padding:14px 18px 18px;background:var(--input-bar-bg)}.chat-input .row{display:flex;gap:10px;align-items:flex-end}.chat-input textarea{flex:1 1;min-height:44px;max-height:220px;border-radius:var(--radius-lg)}.spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--text-dim);border-top:2px solid transparent;border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(1turn)}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:content-box;border:2px solid transparent}::-webkit-scrollbar-track{background:transparent}