:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07070d;--bg-2:#0a0a13;--surface:#161622b8;--surface-solid:#14141f;--surface-2:#1e1e2e99;--surface-3:#28283cb3;--surface-inset:#06060c8c;--glass-blur:18px;--border:#ffffff14;--border-strong:#ffffff24;--border-glow:#ffffff12;--text-h:#f5f4ff;--text-strong:#cfcee6;--text:#8b8aa3;--text-faint:#5b5a72;--violet:#8b7bff;--violet-deep:#5b3fe0;--cyan:#3ee0e6;--cyan-deep:#1fb8c4;--grad:linear-gradient(120deg, #9a8bff 0%, #6e5cff 45%, #34d6e0 100%);--grad-soft:linear-gradient(120deg, #8c7bff2e, #34d6e024);--grad-text:linear-gradient(110deg, #c3b6ff 0%, #8b7bff 40%, #4fdce4 100%);--accent:#8b7bff;--accent-soft:#8b7bff24;--accent-line:#8b7bff57;--accent-ring:#8b7bff42;--accent-glow:#7a64ff80;--cyan-glow:#3ee0e666;--success:#43e0a0;--success-soft:#43e0a021;--success-line:#43e0a04d;--warning:#f5b54a;--warning-soft:#f5b54a21;--warning-line:#f5b54a4d;--danger:#ff6b8a;--danger-soft:#ff6b8a21;--danger-line:#ff6b8a52;--mono-violet:#a99bff;--mono-violet-bg:#8b7bff2e;--mono-blue:#6cb0ff;--mono-blue-bg:#6cb0ff29;--mono-emerald:#4fe6ac;--mono-emerald-bg:#43e0a029;--mono-amber:#f5c069;--mono-amber-bg:#f5b54a29;--mono-rose:#ff8aa3;--mono-rose-bg:#ff6b8a29;--r-xl:22px;--r-lg:16px;--r-md:12px;--r-sm:9px;--r-pill:999px;--shadow-sm:0 1px 2px #00000080, 0 2px 8px #00000059;--shadow-md:0 12px 34px -10px #0000009e;--shadow-lg:0 40px 80px -24px #000c;--glow-accent:0 10px 30px -8px var(--accent-glow);--spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease:cubic-bezier(.4, 0, .2, 1);--dur-1:.16s;--dur-2:.26s;--dur-3:.5s;--display:"Clash Display", "General Sans", system-ui, sans-serif;--sans:"General Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;font-family:var(--sans);color:var(--text);background:var(--bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);min-height:100svh}body:before{content:"";z-index:-2;pointer-events:none;background:radial-gradient(800px 480px at 12% -8%, #7c5cff29, transparent 60%), radial-gradient(700px 420px at 100% 0%, #34d6e01a, transparent 58%), var(--bg);position:fixed;inset:0}button,input,textarea,select{font:inherit;color:inherit}textarea{resize:vertical}h1,h2,h3,p{margin:0}h1{font-family:var(--display);color:var(--text-h);letter-spacing:-.02em;font-size:30px;font-weight:600;line-height:1.08}h2{font-family:var(--display);color:var(--text-h);letter-spacing:-.01em;font-size:17px;font-weight:600}.tnum{font-variant-numeric:tabular-nums}button{cursor:pointer;transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), box-shadow var(--dur-2) var(--ease), opacity var(--dur-1) var(--ease), transform var(--dur-2) var(--spring)}button:active:not(:disabled){transform:scale(.96)}button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:2px solid var(--violet);outline-offset:2px;border-radius:5px}::selection{color:#fff;background:#8b7bff52}.ico{display:block}.duo-line{stroke:currentColor;stroke-width:1.7px;fill:none}.duo-fill{fill:currentColor;opacity:.16}*{scrollbar-width:thin;scrollbar-color:#8b7bff4d transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#8b7bff47 padding-box padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#8b7bff73 padding-box padding-box}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.brandmark{filter:drop-shadow(0 4px 14px var(--accent-glow));transition:transform var(--dur-3) var(--spring)}.brand:hover .brandmark,.auth-brand:hover .brandmark{transform:rotate(18deg)scale(1.06)}.primary,.ghost,.danger,.dept-pill{justify-content:center;align-items:center;gap:8px;display:inline-flex}.primary .ico,.ghost .ico,.danger .ico{margin:-1px 0}.auth-shell{place-items:center;min-height:100svh;padding:24px;display:grid;position:relative;overflow:hidden}.auth-shell .aurora{pointer-events:none;filter:blur(14px)saturate(135%);height:90vh;animation:aurora-drift 16s var(--ease) infinite alternate;background:radial-gradient(38% 50% at 24% 20%,#7c5cff66,#0000 60%),radial-gradient(34% 46% at 78% 12%,#34d6e047,#0000 60%),radial-gradient(40% 52% at 60% 92%,#9b5aff33,#0000 62%);position:absolute;inset:-25% -10% auto}.auth-shell .mesh{pointer-events:none;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(120% 80% at 50% 0,#000 30%,#0000 75%);mask-image:radial-gradient(120% 80% at 50% 0,#000 30%,#0000 75%)}.auth-shell:after{content:"";pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}@keyframes aurora-drift{0%{transform:translate(-3%,-1%)scale(1.05)rotate(-2deg)}to{transform:translate(4%,3%)scale(1.12)rotate(3deg)}}.auth-card{z-index:1;border:1px solid var(--border-strong);border-radius:var(--r-xl);-webkit-backdrop-filter:blur(24px)saturate(130%);width:min(452px,100%);box-shadow:var(--shadow-lg), inset 0 1px 0 var(--border-glow);animation:card-rise var(--dur-3) var(--ease-out) both;background:linear-gradient(#ffffff0d,#0000 30%),#12121cb3;padding:34px 32px 36px;position:relative}.auth-card:before{content:"";border-radius:var(--r-xl) var(--r-xl) 0 0;background:linear-gradient(120deg, var(--violet), transparent 40%, var(--cyan));-webkit-mask-composite:xor;opacity:.55;pointer-events:none;height:70px;padding:1px;position:absolute;inset:-1px -1px auto;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.auth-brand{align-items:center;gap:12px;margin-bottom:22px;display:flex}.auth-brand strong{font-family:var(--display);color:var(--text-h);letter-spacing:.01em;font-size:17px;font-weight:600;display:block}.auth-brand span{color:var(--text);font-size:12px}.auth-card h1{background:var(--grad-text);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:22px;font-size:30px}.auth-card>.muted{margin:-6px 0 20px;font-size:13.5px;line-height:1.55}.hint-users{background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-md);gap:4px;padding:4px;display:flex}.hint-users .ghost,.hint-users .dept-pill{border-radius:var(--r-sm);color:var(--text);box-shadow:none;background:0 0;border:1px solid #0000;flex:1;padding:9px 12px;font-size:13.5px;font-weight:600}.hint-users .ghost:hover{color:var(--text-strong);background:0 0}.hint-users .dept-pill{background:var(--grad-soft);color:var(--text-h);border-color:var(--accent-line)}.app-shell{isolation:isolate;grid-template-columns:290px 1fr;min-height:100svh;display:grid;position:relative}.app-shell .app-glow{z-index:-1;pointer-events:none;filter:blur(12px);background:radial-gradient(46% 60% at 35% 0,#7c5cff33,#0000 70%),radial-gradient(40% 55% at 80% 0,#34d6e01f,#0000 70%);height:560px;position:fixed;top:-300px;left:200px;right:-140px}.sidebar{border-right:1px solid var(--border);height:100svh;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(130%);background:linear-gradient(#10101a99,#08081080);flex-direction:column;align-self:start;gap:18px;padding:18px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:12px;padding:6px 6px 4px;display:flex}.brand h1{font-family:var(--display);letter-spacing:.01em;font-size:16px;font-weight:600}.brand .muted{margin-top:2px;font-size:11.5px}.session-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:11px;display:grid}.avatar{color:#fff;background:var(--grad);width:40px;height:40px;box-shadow:inset 0 1px 0 #ffffff4d, var(--glow-accent);border-radius:12px;place-items:center;font-size:15px;font-weight:700;display:grid}.session-card strong{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;max-width:118px;font-size:13.5px;font-weight:600;display:block;overflow:hidden}.session-card .muted{text-transform:capitalize;font-size:11.5px}.link{border-radius:var(--r-sm);width:32px;height:32px;color:var(--text);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid}.link:hover{color:var(--violet);background:var(--surface-3);border-color:var(--border)}.nav{flex-direction:column;gap:3px;display:flex}.nav-item{text-align:left;width:100%;color:var(--text-strong);border-radius:var(--r-sm);background:0 0;border:none;align-items:center;gap:12px;padding:9px 12px;font-size:13.5px;font-weight:540;display:flex;position:relative}.nav-ico{color:var(--text);transition:transform var(--dur-2) var(--spring);flex-shrink:0;display:inline-flex}.nav-label{flex:1}.nav-item:hover{background:var(--surface-2);color:var(--text-h)}.nav-item:hover .nav-ico{color:var(--text-strong);transform:translate(1px)scale(1.04)}.nav-item.active{background:var(--grad-soft);color:var(--text-h);font-weight:600}.nav-item.active .nav-ico{color:var(--violet)}.nav-item.active .duo-line{stroke:url(#aka-line)}.nav-item.active .duo-fill{fill:url(#aka-line);opacity:.26}.nav-item.active:before{content:"";background:var(--grad);width:3px;height:18px;box-shadow:0 0 14px var(--accent-glow);border-radius:0 3px 3px 0;position:absolute;top:50%;left:-14px;transform:translateY(-50%)}.panel{flex-direction:column;gap:9px;display:flex}.panel-head{justify-content:space-between;align-items:baseline;gap:8px;padding:0 6px;display:flex}.panel-head h2{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);font-size:10.5px;font-weight:700}.panel-head .muted{color:var(--text-faint);font-size:10.5px}.dept-list{flex-direction:column;gap:3px;display:flex}.dept{text-align:left;border-radius:var(--r-sm);background:0 0;border:1px solid #0000;align-items:center;gap:11px;width:100%;padding:8px 10px;display:flex}.dept-text{flex-direction:column;gap:1px;min-width:0;display:flex}.dept-text strong{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.dept-text>span{color:var(--text-faint);text-transform:capitalize;font-size:10.5px}.dept:hover{background:var(--surface-2)}.dept:hover .dept-text strong{color:var(--text-h)}.dept.active{background:var(--grad-soft);border-color:var(--accent-line)}.dept.active .dept-text strong{color:var(--text-h)}.mono{width:30px;height:30px;font-size:12px;font-weight:700;font-family:var(--mono);border:1px solid var(--border);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.mono-violet{background:var(--mono-violet-bg);color:var(--mono-violet)}.mono-blue{background:var(--mono-blue-bg);color:var(--mono-blue)}.mono-emerald{background:var(--mono-emerald-bg);color:var(--mono-emerald)}.mono-amber{background:var(--mono-amber-bg);color:var(--mono-amber)}.mono-rose{background:var(--mono-rose-bg);color:var(--mono-rose)}.main{min-width:0;animation:view-in var(--dur-3) var(--ease-out) both;flex-direction:column;gap:22px;padding:26px 38px 48px;display:flex}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:18px;display:flex}.topbar h2{font-family:var(--display);letter-spacing:-.02em;color:var(--text-h);font-size:26px;font-weight:600}.topbar .muted{margin-top:4px;font-size:13.5px}.topbar-actions{gap:8px;display:flex}.toast{border-radius:var(--r-md);border:1px solid var(--success-line);background:var(--success-soft);color:var(--success);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:toast-in var(--dur-3) var(--spring) both;align-items:center;gap:10px;padding:12px 16px;font-size:13.5px;font-weight:500;display:flex}.toast:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 10px}.toast-error{border-color:var(--danger-line);background:var(--danger-soft);color:var(--danger)}.grid{gap:20px;display:grid}.grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);min-width:0;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(125%);padding:22px;position:relative}.card:before{content:"";border-radius:var(--r-lg) var(--r-lg) 0 0;background:linear-gradient(90deg, transparent, var(--accent-line) 30%, var(--cyan-glow) 70%, transparent);opacity:.6;height:1px;position:absolute;inset:0 0 auto}.card.full-width{grid-column:1/-1}.card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.card-head h2{font-size:16px}.card-head .muted{margin-top:4px;font-size:12.5px;line-height:1.5}.card-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.primary,.ghost,.danger,.dept-pill{border-radius:var(--r-sm);white-space:nowrap;letter-spacing:-.005em;border:1px solid #0000;padding:10px 16px;font-size:13.5px;font-weight:600}.primary{background:var(--grad);color:#fff;box-shadow:var(--glow-accent), inset 0 1px 0 #ffffff47;border-color:#ffffff29;position:relative;overflow:hidden}.primary:after{content:"";width:70%;height:100%;transition:left var(--dur-3) var(--ease);background:linear-gradient(100deg,#0000,#ffffff59,#0000);position:absolute;top:0;left:-120%;transform:skew(-18deg)}.primary:hover:not(:disabled){box-shadow:0 14px 36px -8px var(--accent-glow), inset 0 1px 0 #ffffff59;filter:brightness(1.06)}.primary:hover:not(:disabled):after{left:130%}.ghost{background:var(--surface-2);color:var(--text-strong);border-color:var(--border-strong)}.ghost:hover:not(:disabled){background:var(--surface-3);border-color:var(--accent-line);color:var(--text-h)}.danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}.danger:hover:not(:disabled){background:var(--danger);color:#1a0810;border-color:var(--danger);box-shadow:0 10px 26px -8px #ff6b8a80}.chip{border-radius:var(--r-pill);text-transform:capitalize;border:1px solid #0000;align-items:center;gap:6px;padding:3px 10px;font-size:11.5px;font-weight:600;line-height:1.45;display:inline-flex}.chip-neutral{background:var(--surface-2);color:var(--text-strong);border-color:var(--border-strong)}.chip-accent{background:var(--accent-soft);color:var(--violet);border-color:var(--accent-line)}.chip-success{background:var(--success-soft);color:var(--success);border-color:var(--success-line)}.chip-warning{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-line)}.chip-danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}.badge{border-radius:var(--r-pill);background:var(--grad);color:#fff;font-variant-numeric:tabular-nums;min-width:19px;height:19px;box-shadow:0 0 0 1px var(--bg), 0 0 12px var(--accent-glow);justify-content:center;align-items:center;margin-left:auto;padding:0 6px;font-size:10.5px;font-weight:700;display:inline-flex}.form{flex-direction:column;gap:15px;display:flex}.field{flex-direction:column;gap:7px;display:flex}.field>span{color:var(--text-strong);font-size:12.5px;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-inset);width:100%;color:var(--text-h);transition:border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease), background var(--dur-1) var(--ease);padding:11px 13px;font-size:14px}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%238b8aa3' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:34px}.field input::placeholder,.field textarea::placeholder{color:var(--text-faint)}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--text-faint)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--violet);background:var(--surface-inset);box-shadow:0 0 0 4px var(--accent-ring);outline:none}.field input[type=file]{color:var(--text);cursor:pointer;padding:9px 12px}.field input[type=file]::file-selector-button{border-radius:var(--r-sm);border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--violet);cursor:pointer;transition:background var(--dur-1) var(--ease);margin-right:12px;padding:6px 12px;font-size:12.5px;font-weight:600}.field input[type=file]::file-selector-button:hover{background:#8b7bff38}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.stat-grid>div{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);transition:border-color var(--dur-2) var(--ease), transform var(--dur-2) var(--spring);padding:14px 16px}.stat-grid>div:hover{border-color:var(--accent-line);transform:translateY(-2px)}.stat-grid span{letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);margin-bottom:6px;font-size:10.5px;font-weight:600;display:block}.stat-grid strong{font-family:var(--display);color:var(--text-h);text-transform:capitalize;font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:21px;font-weight:600}.dept-cloud{flex-wrap:wrap;gap:8px;display:flex}.dept-cloud .dept-pill{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text-strong);font-weight:600}.dept-cloud .dept-pill:hover{background:var(--grad-soft);border-color:var(--accent-line);color:var(--text-h);transform:translateY(-1px)}.doc-list,.request-list,.source-list{flex-direction:column;gap:10px;display:flex}.doc-row,.request-row{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);transition:border-color var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), background var(--dur-2) var(--ease), transform var(--dur-2) var(--spring);justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex;position:relative}.doc-row:hover,.request-row:hover{border-color:var(--accent-line);background:var(--surface-3);box-shadow:var(--shadow-sm);transform:translate(2px)}.doc-main{flex-direction:column;gap:8px;min-width:0;display:flex}.doc-main>strong,.request-row strong{color:var(--text-h);font-size:14px;font-weight:620}.request-row p.muted{margin-top:4px;font-size:12.5px;line-height:1.5}.row-meta{color:var(--text);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:4px;font-size:12px;display:flex}.row-meta>span{align-items:center;display:inline-flex}.row-meta>span+span:before{content:"";background:var(--text-faint);border-radius:50%;width:3px;height:3px;margin-right:12px}.row-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.row-actions .ghost,.row-actions .danger,.row-actions .primary{padding:7px 12px;font-size:12.5px}.doc-row.locked{background:var(--surface-inset);border-style:dashed;border-color:var(--border-strong)}.doc-row.locked .doc-main>strong{color:var(--text)}.request-row.unread{border-color:var(--accent-line);background:var(--accent-soft)}.request-row.unread:before{content:"";background:var(--grad);width:3px;box-shadow:0 0 12px var(--accent-glow);border-radius:0 3px 3px 0;position:absolute;top:10px;bottom:10px;left:0}.muted{color:var(--text)}.small{font-size:12px}.error{color:var(--danger);font-size:13px;font-weight:500}.chat-window{flex-direction:column;gap:16px;height:calc(100svh - 168px);min-height:440px;display:flex}.chat-thread{flex-direction:column;flex:1;gap:22px;padding:8px 8px 8px 2px;display:flex;overflow-y:auto}.chat-empty{text-align:center;max-width:560px;margin:auto;padding:32px 16px}.chat-empty h2{font-family:var(--display);letter-spacing:-.02em;background:var(--grad-text);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-size:27px;font-weight:600}.chat-empty .muted{font-size:14px;line-height:1.6}.chat-msg{width:fit-content;max-width:820px;animation:msg-in var(--dur-2) var(--ease-out) both;align-items:flex-start;gap:12px;display:flex}.chat-msg-user{flex-direction:row-reverse;margin-left:auto}.chat-avatar{border-radius:11px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:grid}.chat-msg-assistant .chat-avatar{border:1px solid var(--accent-line);box-shadow:var(--glow-accent);background:#7c5cff1f}.chat-msg-user .chat-avatar{background:var(--surface-3);color:var(--text-strong);border:1px solid var(--border-strong)}.chat-bubble{color:var(--text-h);border-radius:16px;padding:13px 16px;font-size:14.5px;line-height:1.62}.chat-msg-assistant .chat-bubble{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(var(--glass-blur));border-top-left-radius:5px}.chat-msg-user .chat-bubble{background:var(--grad);box-shadow:var(--glow-accent);border:1px solid #ffffff29;border-top-right-radius:5px}.chat-msg-user .chat-bubble p{color:#fff}.chat-bubble p.error{color:var(--danger)}.chat-bubble .source-list{margin-top:14px}.chat-bubble .ghost{margin-top:14px;padding:7px 12px;font-size:12.5px}.chat-typing{gap:5px;padding:4px 0;display:inline-flex}.chat-typing i{background:var(--violet);width:7px;height:7px;box-shadow:0 0 8px var(--accent-glow);border-radius:50%;animation:1.2s ease-in-out infinite chat-blink}.chat-typing i:nth-child(2){animation-delay:.18s}.chat-typing i:nth-child(3){animation-delay:.36s}.chat-composer{background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(var(--glass-blur));transition:border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);border-radius:18px;align-items:flex-end;gap:10px;padding:10px 10px 10px 18px;display:flex}.chat-composer:focus-within{border-color:var(--violet);box-shadow:0 0 0 4px var(--accent-ring), var(--shadow-sm)}.chat-composer textarea{resize:none;max-height:168px;color:var(--text-h);background:0 0;border:none;flex:1;padding:8px 0;font-size:14.5px}.chat-composer textarea::placeholder{color:var(--text-faint)}.chat-composer textarea:focus{outline:none}.chat-composer .primary{flex-shrink:0}.chat-error{margin-top:-6px}.source-list{gap:8px;margin-top:14px}.source-chip{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);transition:border-color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);align-items:center;gap:10px;padding:9px 12px;font-size:12.5px;display:flex}.source-chip:hover{border-color:var(--accent-line);background:var(--surface-3)}.source-chip strong{color:var(--text-h);font-weight:600}.source-chip>span{color:var(--text);text-transform:capitalize}.source-chip .chip{margin-left:auto}@keyframes card-rise{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:none}}@keyframes view-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:none}}@keyframes msg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes chat-blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@media (width<=1080px){.app-shell{grid-template-columns:250px 1fr}.main{padding:22px 24px 36px}}@media (width<=860px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border);flex-direction:column;height:auto;position:static}.app-shell .app-glow{left:0}.grid.two-up{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.chat-window{height:calc(100svh - 240px)}}@media (width<=520px){.main{padding:18px 16px 28px}.card{padding:18px}.auth-card{padding:28px 22px}.chat-msg{max-width:100%}}
