:root,[data-theme=retro]{--bg:#0a0a0a;--surface:#141414;--surface-top:#1a1a1a;--rule:#262626;--rule-strong:#3a3a3a;--text:#e5e5e5;--text-dim:gray;--text-faint:#525252;--accent:#ff9500;--accent-ink:#0a0a0a;--danger:#ff3b30;--ok:#32d266;--warn:#ffb454;--bg-art:none;--read:#34b7f1;--radius-sm:0px;--radius-md:0px;--radius-lg:0px;--shadow-soft:none;--btn-bg:var(--surface);--btn-hover:var(--rule);--btn-border:var(--rule-strong);--panel-border:var(--rule);--panel-backdrop:blur(0px);--panel-gradient:linear-gradient(180deg, var(--surface-top) 0, var(--surface) 1px, var(--surface) 100%)}[data-theme=modern]{--bg:#f4f7fb;--surface:#ffffffc7;--surface-top:#fffffff5;--rule:#7b91ad2e;--rule-strong:#60789547;--text:#0d1726;--text-dim:#5d6b80;--text-faint:#8a97a8;--accent:#2667ff;--accent-ink:#fff;--danger:#dc4c64;--ok:#0fa968;--warn:#c77700;--read:#0b93e6;--bg-art:radial-gradient(circle at top left, #2667ff2e, transparent 34%), radial-gradient(circle at 80% 18%, #3ddc9729, transparent 28%), radial-gradient(circle at bottom right, #8c5eff1f, transparent 32%);--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--shadow-soft:0 12px 40px #0f172614;--btn-bg:#ffffffe0;--btn-hover:#fff;--btn-border:#2667ff29;--panel-border:#ffffff9e;--panel-backdrop:blur(18px);--panel-gradient:linear-gradient(180deg, #fffffff0 0%, #f7faffd1 100%)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-art), var(--bg);color:var(--text);min-height:100vh}body{-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,Segoe UI,sans-serif;font-size:13px}a{color:inherit;text-decoration:none}input,textarea,select{font:inherit;color:inherit;background:0 0}.label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:10px}.muted{color:var(--text-dim)}.empty{color:var(--text-faint);padding:14px}.btn{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--text-dim);border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-family:JetBrains Mono,monospace;font-size:11px;transition:transform .14s,background-color .14s,color .14s,border-color .14s;display:inline-flex}.btn:hover{color:var(--text)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.act{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.act:hover{color:var(--accent-ink);filter:brightness(1.05)}.btn.danger{color:var(--danger);border-color:var(--danger);background:0 0}.btn.danger:hover{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.btn.sm{letter-spacing:.04em;padding:5px 9px;font-size:10px}.input-line{background:var(--surface);border:1px solid var(--rule);width:100%;color:var(--text);border-radius:var(--radius-md);padding:9px 11px}.input-line:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent);outline:0}.pill{border-radius:10px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.pill.ready,.pill.warn{background:color-mix(in srgb, var(--warn) 22%, transparent);color:var(--warn)}.pill.collecting,.pill.accent{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent)}.pill.error,.pill.danger{background:color-mix(in srgb, var(--danger) 20%, transparent);color:var(--danger)}.pill.ok{background:color-mix(in srgb, var(--ok) 22%, transparent);color:var(--ok)}.pill.muted{color:var(--text-dim);background:#7b91ad29}.card{background:var(--panel-gradient);border:1px solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:var(--panel-backdrop);backdrop-filter:var(--panel-backdrop);padding:16px}.panel{background:var(--panel-gradient);border:1px solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:var(--panel-backdrop);backdrop-filter:var(--panel-backdrop);padding:20px}.tab{text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--rule);border-radius:var(--radius-md);cursor:pointer;color:var(--text-dim);background:0 0;padding:8px 14px;font-family:JetBrains Mono,monospace;font-size:11px}.tab.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:9px 10px}th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500}td.actions{text-align:right;white-space:nowrap}.seg-toggle,.theme-switch{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-md);gap:4px;padding:4px;display:inline-flex}.theme-switch{align-self:center}.seg-toggle.fluid{display:flex}.seg-toggle.fluid button{flex:1}.seg-toggle button,.theme-switch button{color:var(--text-dim);cursor:pointer;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;border-radius:calc(var(--radius-md) - 2px);background:0 0;border:0;padding:6px 8px;font-family:JetBrains Mono,monospace;font-size:10px}.seg-toggle button.active,.theme-switch button.active{background:var(--accent);color:var(--accent-ink)}[data-theme=modern] .seg-toggle,[data-theme=modern] .seg-toggle button,[data-theme=modern] .theme-switch,[data-theme=modern] .theme-switch button{border-radius:999px}.modal-overlay{z-index:50;background:#0009;justify-content:center;align-items:flex-start;padding:40px 16px;display:none;position:fixed;inset:0;overflow:auto}.modal-overlay.open{display:flex}.modal{background:var(--panel-gradient);border:1px solid var(--panel-border);border-radius:var(--radius-lg);width:100%;max-width:760px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:var(--panel-backdrop);backdrop-filter:var(--panel-backdrop);padding:22px}.modal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.status{color:var(--text-dim);font-size:12px}.status.err{color:var(--danger)}.status.ok{color:var(--ok)}.shell{min-height:100vh;display:flex}.sidenav{border-right:1px solid var(--rule);background:var(--panel-gradient);width:268px;-webkit-backdrop-filter:var(--panel-backdrop);backdrop-filter:var(--panel-backdrop);z-index:30;flex-direction:column;flex:none;height:100vh;padding:14px 10px;transition:width .16s;display:flex;position:sticky;top:0;overflow:hidden auto}.sidenav .identity{align-items:center;gap:10px;padding:4px 8px 14px;display:flex}.sidenav .identity .mark{background:var(--accent);width:30px;height:30px;color:var(--accent-ink);border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;display:flex}.sidenav .identity .who{min-width:0}.sidenav .identity .who strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.sidenav .identity .who span{color:var(--text-dim);white-space:nowrap;font-size:11px}.nav-group-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap;padding:14px 10px 5px;font-family:JetBrains Mono,monospace;font-size:9.5px}.nav-link{border-radius:var(--radius-md);color:var(--text-dim);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:0;align-items:center;gap:11px;width:100%;padding:9px 10px;font-size:13px;display:flex}.nav-link:hover{color:var(--text);background:color-mix(in srgb, var(--accent) 9%, transparent)}.nav-link.active{background:var(--accent);color:var(--accent-ink)}.nav-link svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:17px;height:17px}.nav-foot{border-top:1px solid var(--rule);flex-direction:column;gap:8px;margin-top:auto;padding-top:12px;display:flex}.collapse-btn{color:var(--text-faint);cursor:pointer;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-md);white-space:nowrap;background:0 0;border:0;align-items:center;gap:11px;padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.collapse-btn:hover{color:var(--text)}.sidenav.collapsed{width:60px}.sidenav.collapsed .nav-label,.sidenav.collapsed .identity .who,.sidenav.collapsed .nav-group-label,.sidenav.collapsed .nav-foot .theme-switch{display:none}.shell-main{flex-direction:column;flex:1;min-width:0;padding:22px 26px;display:flex}.shell-topbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.shell-topbar h1{font-size:18px;font-weight:600}.hamburger{display:none}@media (max-width:820px){.sidenav{position:fixed;top:0;left:0;transform:translate(-105%);box-shadow:0 0 60px #0006}.sidenav.open{transform:none}.hamburger{display:inline-flex}.shell-main{padding:16px}table{white-space:nowrap;-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}}.sc-figure{flex-direction:column;align-items:center;display:flex}.sc-logo-wrap{will-change:transform;animation:4.6s ease-in-out infinite sc-float}.sc-floor{background:linear-gradient(90deg,#0000,#ff950061 50%,#0000);width:64px;height:1px;margin:1px 0;box-shadow:0 0 7px 1px #ff95001f}.sc-reflection-wrap{opacity:.38;filter:blur(1.2px);will-change:transform;animation:4.6s ease-in-out infinite sc-float-rev}.sc-reflect{transform:scaleY(-1);-webkit-mask-image:linear-gradient(#0000 22%,#0000008c);mask-image:linear-gradient(#0000 22%,#0000008c)}.sc-loader{filter:drop-shadow(0 0 3px #ff9500f2)drop-shadow(0 0 10px #ff950099)drop-shadow(0 0 26px #ff950061);animation:4s linear infinite sc-flicker}@keyframes sc-flicker{0%,7%,12%,41%,45%,73%,to{opacity:1;filter:drop-shadow(0 0 3px #ff9500f2)drop-shadow(0 0 10px #ff950099)drop-shadow(0 0 26px #ff950061)}9%{opacity:.86;filter:drop-shadow(0 0 2px #ff950080)drop-shadow(0 0 6px #ff950047)}43%{opacity:.92;filter:drop-shadow(0 0 3px #ff9500b3)drop-shadow(0 0 8px #ff950066)}75%{opacity:.84;filter:drop-shadow(0 0 2px #ff950073)drop-shadow(0 0 6px #ff950042)}}@keyframes sc-float{0%,to{transform:translateY(-5px)}50%{transform:translateY(5px)}}@keyframes sc-float-rev{0%,to{transform:translateY(5px)}50%{transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){.sc-loader{opacity:1;filter:drop-shadow(0 0 3px #ff9500e6)drop-shadow(0 0 10px #ff950080);animation:none}.sc-logo-wrap,.sc-reflection-wrap{animation:none}}@media (max-width:640px){.dash-grid{grid-template-columns:repeat(2,1fr)!important}.dash-grid>*{grid-column:span 1!important}.dash-grid>[style*=span\ 6],.dash-grid>[style*=span\ 12]{grid-column:span 2!important}}@media (max-width:900px){.testchat-grid{grid-template-columns:1fr!important}}.grow-input{resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;field-sizing:content;width:100%;min-height:40px;padding:8px 10px;line-height:1.45}.sc-chat-head{border-bottom:1px solid var(--rule);background:var(--surface-top);align-items:center;gap:10px;padding:10px 14px;display:flex}.sc-avatar{background:var(--accent);width:34px;height:34px;color:var(--accent-ink);letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;display:flex}.sc-avatar.sm{width:22px;height:22px;font-size:9.5px}.sc-presence{color:var(--text-dim);align-items:center;gap:5px;font-size:11px;display:inline-flex}.sc-presence .dot{background:var(--ok);border-radius:50%;flex:none;width:7px;height:7px}.sc-day{letter-spacing:.04em;color:var(--text-dim);background:var(--surface);border:1px solid var(--rule);border-radius:999px;align-self:center;margin:4px 0;padding:2px 12px;font-size:10.5px}.sc-meta{color:var(--text-faint);font-variant-numeric:tabular-nums;align-items:center;gap:4px;margin-top:3px;font-size:10px;line-height:1;display:inline-flex}.sc-meta.out{color:color-mix(in srgb, var(--accent-ink) 62%, transparent);justify-content:flex-end}.sc-ticks{display:inline-flex}.sc-ticks.read{color:var(--read)}.sc-sender{letter-spacing:.03em;color:var(--text-dim);margin:0 2px 2px;font-size:10px}.sc-typing{align-items:center;gap:4px;padding:9px 13px;display:inline-flex}.sc-typing .d{background:var(--text-dim);opacity:.5;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite sc-typing}.sc-typing .d:nth-child(2){animation-delay:.18s}.sc-typing .d:nth-child(3){animation-delay:.36s}@keyframes sc-typing{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.sc-typing .d{opacity:.6;animation:none}}
