:root,.app-shell[data-color-mode=moss]{--ref-neutral-25: oklch(98.7% .009 118);--ref-neutral-50: oklch(96.8% .012 118);--ref-neutral-100: oklch(93.8% .014 118);--ref-neutral-200: oklch(87% .018 118);--ref-neutral-500: oklch(55% .028 145);--ref-neutral-700: oklch(38% .03 152);--ref-neutral-900: oklch(22% .03 154);--ref-moss-50: oklch(96.2% .028 158);--ref-moss-200: oklch(80% .07 158);--ref-moss-700: oklch(38% .09 158);--ref-moss-800: oklch(32% .095 158);--ref-iris-50: oklch(96.4% .024 286);--ref-iris-200: oklch(82% .055 286);--ref-iris-700: oklch(34% .07 286);--ref-amber-50: oklch(96.5% .035 82);--ref-amber-300: oklch(78% .1 82);--ref-rust-700: oklch(46% .13 31);--ink: var(--ref-neutral-900);--ink-soft: var(--ref-neutral-700);--muted: var(--ref-neutral-500);--page: var(--ref-neutral-50);--surface: var(--ref-neutral-25);--surface-soft: var(--ref-neutral-100);--line: var(--ref-neutral-200);--line-strong: oklch(78% .025 118);--primary: var(--ref-moss-700);--primary-strong: var(--ref-moss-800);--danger: var(--ref-rust-700);--agent: var(--ref-iris-50);--agent-line: var(--ref-iris-200);--agent-ink: var(--ref-iris-700);--user: var(--ref-moss-50);--user-line: var(--ref-moss-200);--accent: var(--ref-amber-300);--accent-soft: var(--ref-amber-50);--focus: color-mix(in oklch, var(--primary) 32%, transparent);--shadow: 0 16px 40px rgba(50, 43, 30, .08);color:var(--ink);background:var(--page);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}.app-shell[data-color-mode=ink]{--ref-neutral-25: oklch(98.4% .011 240);--ref-neutral-50: oklch(95.8% .018 245);--ref-neutral-100: oklch(91.8% .021 245);--ref-neutral-200: oklch(84.5% .028 245);--ref-neutral-500: oklch(53% .042 248);--ref-neutral-700: oklch(36% .05 252);--ref-neutral-900: oklch(21% .052 255);--ref-moss-50: oklch(96% .03 210);--ref-moss-200: oklch(79% .08 210);--ref-moss-700: oklch(39% .11 230);--ref-moss-800: oklch(32% .12 235);--ref-iris-50: oklch(96.4% .028 300);--ref-iris-200: oklch(81% .07 300);--ref-iris-700: oklch(34% .1 300);--ref-amber-50: oklch(96.5% .036 74);--ref-amber-300: oklch(78% .11 74);--ref-rust-700: oklch(45% .14 27);--ink: var(--ref-neutral-900);--ink-soft: var(--ref-neutral-700);--muted: var(--ref-neutral-500);--page: var(--ref-neutral-50);--surface: var(--ref-neutral-25);--surface-soft: var(--ref-neutral-100);--line: var(--ref-neutral-200);--line-strong: oklch(76% .036 245);--primary: var(--ref-moss-700);--primary-strong: var(--ref-moss-800);--danger: var(--ref-rust-700);--agent: var(--ref-iris-50);--agent-line: var(--ref-iris-200);--agent-ink: var(--ref-iris-700);--user: var(--ref-moss-50);--user-line: var(--ref-moss-200);--accent: var(--ref-amber-300);--accent-soft: var(--ref-amber-50);--focus: color-mix(in oklch, var(--primary) 32%, transparent);--shadow: 0 16px 40px rgba(25, 33, 54, .1)}.app-shell[data-color-mode=clay]{--ref-neutral-25: oklch(98.5% .014 63);--ref-neutral-50: oklch(96% .021 63);--ref-neutral-100: oklch(92.5% .026 63);--ref-neutral-200: oklch(84% .034 63);--ref-neutral-500: oklch(53% .052 60);--ref-neutral-700: oklch(36% .057 55);--ref-neutral-900: oklch(22% .055 50);--ref-moss-50: oklch(96% .036 38);--ref-moss-200: oklch(79% .1 38);--ref-moss-700: oklch(43% .13 35);--ref-moss-800: oklch(35% .135 33);--ref-iris-50: oklch(95.5% .03 205);--ref-iris-200: oklch(79% .075 205);--ref-iris-700: oklch(34% .09 215);--ref-amber-50: oklch(96.5% .05 86);--ref-amber-300: oklch(80% .12 82);--ref-rust-700: oklch(43% .13 23);--ink: var(--ref-neutral-900);--ink-soft: var(--ref-neutral-700);--muted: var(--ref-neutral-500);--page: var(--ref-neutral-50);--surface: var(--ref-neutral-25);--surface-soft: var(--ref-neutral-100);--line: var(--ref-neutral-200);--line-strong: oklch(75% .045 63);--primary: var(--ref-moss-700);--primary-strong: var(--ref-moss-800);--danger: var(--ref-rust-700);--agent: var(--ref-iris-50);--agent-line: var(--ref-iris-200);--agent-ink: var(--ref-iris-700);--user: var(--ref-moss-50);--user-line: var(--ref-moss-200);--accent: var(--ref-amber-300);--accent-soft: var(--ref-amber-50);--focus: color-mix(in oklch, var(--primary) 32%, transparent);--shadow: 0 16px 40px rgba(66, 42, 25, .1)}.app-shell[data-color-mode=plum]{--ref-neutral-25: oklch(98.3% .012 325);--ref-neutral-50: oklch(95.9% .018 325);--ref-neutral-100: oklch(92.2% .023 325);--ref-neutral-200: oklch(84.5% .034 325);--ref-neutral-500: oklch(53% .046 325);--ref-neutral-700: oklch(36% .055 325);--ref-neutral-900: oklch(21% .055 325);--ref-moss-50: oklch(95.8% .034 326);--ref-moss-200: oklch(78% .09 326);--ref-moss-700: oklch(39% .13 326);--ref-moss-800: oklch(32% .14 326);--ref-iris-50: oklch(96% .032 178);--ref-iris-200: oklch(78% .078 178);--ref-iris-700: oklch(33% .085 188);--ref-amber-50: oklch(96.4% .042 92);--ref-amber-300: oklch(79% .12 92);--ref-rust-700: oklch(45% .14 28);--ink: var(--ref-neutral-900);--ink-soft: var(--ref-neutral-700);--muted: var(--ref-neutral-500);--page: var(--ref-neutral-50);--surface: var(--ref-neutral-25);--surface-soft: var(--ref-neutral-100);--line: var(--ref-neutral-200);--line-strong: oklch(76% .042 325);--primary: var(--ref-moss-700);--primary-strong: var(--ref-moss-800);--danger: var(--ref-rust-700);--agent: var(--ref-iris-50);--agent-line: var(--ref-iris-200);--agent-ink: var(--ref-iris-700);--user: var(--ref-moss-50);--user-line: var(--ref-moss-200);--accent: var(--ref-amber-300);--accent-soft: var(--ref-amber-50);--focus: color-mix(in oklch, var(--primary) 32%, transparent);--shadow: 0 16px 40px rgba(56, 27, 55, .1)}.app-shell[data-color-mode=realtime]{--ref-text: oklch(11.9% .044 285.4);--ref-bg: oklch(98.9% .004 286.3);--ref-primary: oklch(42.7% .239 271.9);--ref-secondary: oklch(90.7% .048 288);--ref-accent: oklch(51.4% .273 273);--ref-danger: oklch(48% .14 26);--ink: var(--ref-text);--ink-soft: color-mix(in oklch, var(--ref-text) 72%, var(--ref-primary));--muted: color-mix(in oklch, var(--ref-text) 54%, var(--ref-bg));--page: color-mix(in oklch, var(--ref-bg) 88%, var(--ref-secondary));--surface: color-mix(in oklch, var(--ref-bg) 82%, var(--ref-secondary));--surface-soft: color-mix(in oklch, var(--ref-secondary) 72%, var(--ref-bg));--line: color-mix(in oklch, var(--ref-primary) 15%, var(--ref-secondary));--line-strong: color-mix(in oklch, var(--ref-primary) 26%, var(--ref-secondary));--primary: var(--ref-primary);--primary-strong: color-mix(in oklch, var(--ref-primary) 78%, var(--ref-text));--danger: var(--ref-danger);--agent: color-mix(in oklch, var(--ref-secondary) 74%, var(--ref-bg));--agent-line: color-mix(in oklch, var(--ref-primary) 28%, var(--ref-secondary));--agent-ink: color-mix(in oklch, var(--ref-text) 76%, var(--ref-primary));--user: color-mix(in oklch, var(--ref-accent) 10%, var(--ref-bg));--user-line: color-mix(in oklch, var(--ref-accent) 35%, var(--ref-secondary));--accent: var(--ref-accent);--accent-soft: color-mix(in oklch, var(--ref-accent) 10%, var(--ref-bg));--focus: color-mix(in oklch, var(--ref-accent) 34%, transparent);--shadow: 0 16px 40px rgba(45, 39, 109, .11)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button{border:0}.app-shell{height:100vh;padding:22px 24px 24px;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(circle at 14% 0%,color-mix(in oklch,var(--primary) 15%,transparent),transparent 34%),radial-gradient(circle at 96% 8%,color-mix(in oklch,var(--accent) 12%,transparent),transparent 30%),linear-gradient(180deg,color-mix(in oklch,var(--surface-soft) 54%,var(--page)),var(--page))}.topbar,.control-band,.workspace{width:min(1320px,100%);margin:0 auto}.topbar{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:6px 0 16px}h1,h2,h3,p{margin:0}h1{font-size:31px;line-height:1.05;font-weight:780;letter-spacing:0}.topbar p{max-width:56ch;margin-top:8px;color:var(--ink-soft)}.topbar-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.prompt-launch-button{display:inline-grid;grid-template-columns:17px auto;align-items:center;gap:2px 8px;min-height:42px;padding:7px 12px;border:1px solid color-mix(in oklch,var(--primary) 24%,var(--line));border-radius:8px;background:color-mix(in oklch,var(--surface) 78%,var(--agent));color:var(--ink);cursor:pointer;box-shadow:0 1px 2px #2d261c0f;transition:transform .14s ease,background .14s ease,border-color .14s ease}.prompt-launch-button svg{grid-row:span 2;color:var(--primary)}.prompt-launch-button span{font-size:12px;font-weight:720;line-height:1.05}.prompt-launch-button strong{max-width:180px;overflow:hidden;color:var(--muted);font-size:12px;font-weight:600;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.prompt-launch-button:hover,.prompt-launch-button:focus-visible{transform:translateY(-1px);border-color:var(--line-strong);background:var(--surface);outline:0}.status-pill,.live-state,.transcript-state,.lookup-chip,.user-pill{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:8px 12px;border:1px solid var(--line);background:color-mix(in oklch,var(--surface) 88%,var(--page));color:var(--ink-soft);border-radius:8px;white-space:nowrap}.user-pill{max-width:220px;overflow:hidden;color:var(--muted);text-overflow:ellipsis}.user-pill svg{flex:0 0 auto;color:var(--primary)}.lookup-chip{min-height:30px;padding:5px 9px;border-color:var(--accent);background:var(--accent-soft);color:color-mix(in oklch,var(--accent) 56%,var(--ink));font-size:12px}.transcript-state{font-size:12px;font-weight:700}.transcript-state.scribe,.transcript-state.both{border-color:var(--primary-soft);background:color-mix(in oklch,var(--primary-soft) 48%,var(--surface));color:color-mix(in oklch,var(--primary) 68%,var(--ink))}.status-pill.ready{color:var(--primary);border-color:var(--user-line)}.status-pill.warn{color:var(--danger);border-color:color-mix(in oklch,var(--danger) 30%,var(--line))}.control-band{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px;padding:12px 14px;border:1px solid var(--line);background:color-mix(in oklch,var(--surface) 88%,var(--page));border-radius:8px;box-shadow:0 1px #ffffff9e inset}.primary-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.secondary-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}.primary,.danger,.import-button,.icon-button,.account-button,.mode-control button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border-radius:8px;cursor:pointer;transition:transform .14s ease,background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease}.primary,.danger,.import-button{padding:0 16px;color:#f9f8f4;font-weight:650}.primary,.import-button{background:linear-gradient(180deg,var(--primary),var(--primary-strong));box-shadow:0 10px 18px #0050322e;box-shadow:0 10px 18px oklch(38% .09 160 / .18)}.danger{background:linear-gradient(180deg,oklch(52% .13 31),var(--danger));box-shadow:0 10px 18px #93352729}.primary:disabled,.import-button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.56;box-shadow:none}.icon-button{width:42px;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink)}.account-button{min-height:38px;padding:0 11px;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink-soft);cursor:pointer;font-size:13px;font-weight:680;white-space:nowrap}.account-button:hover,.account-button:focus-visible{border-color:var(--line-strong);background:var(--surface);color:var(--ink);outline:0}.icon-button.compact{width:34px;min-height:34px}.icon-button.active{color:var(--danger);border-color:#e0a494;background:#fff2ee;background:oklch(97% .018 35)}.primary:hover:not(:disabled),.import-button:hover:not(:disabled),.danger:hover,.icon-button:hover:not(:disabled),.mode-control button:hover{transform:translateY(-1px)}.primary:focus-visible,.import-button:focus-visible,.danger:focus-visible,.icon-button:focus-visible,.mode-control button:focus-visible,.text-send input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.mode-control{display:inline-grid;grid-template-columns:repeat(4,minmax(64px,1fr));min-height:40px;padding:3px;border:1px solid var(--line);border-radius:8px;background:color-mix(in oklch,var(--surface-soft) 78%,var(--page))}.mode-control.two-up{grid-template-columns:repeat(2,minmax(106px,1fr))}.mode-control button{min-height:32px;padding:0 12px;background:transparent;color:var(--ink-soft)}.mode-control button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #2d261c1a,0 0 0 1px var(--line) inset}.palette-control{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--ink-soft)}.palette-control select{min-height:32px;border:0;background:transparent;color:var(--ink);cursor:pointer}.palette-control select:focus-visible{outline:0}.workspace{flex:1 1 auto;display:grid;grid-template-columns:minmax(244px,280px) minmax(430px,1fr) minmax(286px,320px);gap:16px;margin-top:16px;min-height:0}.document-panel,.conversation-panel,.source-panel{min-height:0;border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}.document-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100%}.conversation-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:0 18px;border-bottom:1px solid var(--line);background:color-mix(in oklch,var(--surface) 78%,var(--surface-soft))}.panel-header h2{font-size:15px;font-weight:760}.panel-header span{display:block;margin-top:2px;color:var(--muted);font-size:12px;font-weight:560}.panel-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.panel-actions .lookup-chip{display:inline-flex;margin-top:0}.clear-chat-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:30px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--ink-soft);cursor:pointer;font-size:12px;font-weight:650;white-space:nowrap;transition:background .14s ease,border-color .14s ease,color .14s ease,opacity .14s ease}.clear-chat-button:hover:not(:disabled),.clear-chat-button:focus-visible{border-color:var(--line-strong);background:var(--surface);color:var(--ink);outline:0}.clear-chat-button:disabled{cursor:not-allowed;opacity:.52}.messages{overflow:auto;min-height:0;padding:18px;overscroll-behavior:contain;background:linear-gradient(180deg,color-mix(in oklch,var(--surface) 82%,var(--page)),color-mix(in oklch,var(--surface-soft) 44%,var(--surface))),var(--surface)}.message-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;max-width:84%;margin-bottom:14px}.message-row.user{grid-template-columns:minmax(0,1fr) 34px;margin-left:auto}.message-row.user .avatar{grid-column:2;grid-row:1}.message-row.user .message-bubble{grid-column:1;grid-row:1}.message-row.system,.message-row.error{max-width:94%}.avatar{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--muted)}.avatar.user{border-color:color-mix(in oklch,var(--user-line) 70%,var(--primary));background:color-mix(in oklch,var(--user) 76%,var(--primary-soft));color:color-mix(in oklch,var(--primary) 74%,var(--ink))}.avatar.agent{border-color:var(--agent-line);background:color-mix(in oklch,var(--agent) 86%,var(--surface));color:var(--agent-ink)}.avatar.error{border-color:#dca091;background:#fff2ee;background:oklch(97% .018 35);color:var(--danger)}.message-bubble{position:relative;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--ink);box-shadow:0 1px 2px #2d261c0f}.message-row.user .message-bubble{border-color:color-mix(in oklch,var(--user-line) 68%,var(--primary));background:linear-gradient(180deg,color-mix(in oklch,var(--user) 78%,var(--surface)),color-mix(in oklch,var(--user) 74%,var(--primary-soft))),var(--user);box-shadow:0 1px 2px #2d261c12,0 0 0 1px color-mix(in oklch,var(--user-line) 40%,transparent) inset}.message-row.agent .message-bubble{border-color:var(--agent-line);background:linear-gradient(180deg,color-mix(in oklch,var(--agent) 56%,var(--surface)),color-mix(in oklch,var(--agent) 72%,var(--surface-soft))),var(--agent)}.message-row.system .message-bubble{background:var(--surface-soft)}.message-row.error .message-bubble{border-color:#dca091;background:#fff2ee;background:oklch(97% .018 35);color:var(--danger)}.message-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:680}.message-meta time{color:color-mix(in oklch,var(--muted) 78%,var(--line-strong));font-weight:520}.message-bubble p{color:inherit;line-height:1.52;white-space:pre-wrap}.message-tag{display:inline-flex;margin-top:8px;padding:3px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px}.typing-caret{display:inline-block;width:7px;height:16px;margin-left:4px;transform:translateY(3px);border-radius:2px;background:var(--primary);opacity:.62}.text-send{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:10px;padding:14px;border-top:1px solid var(--line);background:color-mix(in oklch,var(--surface) 82%,var(--surface-soft))}.text-send input{width:100%;min-height:42px;padding:0 13px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--ink)}.text-send input::placeholder{color:color-mix(in oklch,var(--muted) 78%,var(--line-strong))}.source-panel{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%}.file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.document-import{padding:14px;border-bottom:1px solid var(--line);background:color-mix(in oklch,var(--surface) 82%,var(--surface-soft))}.document-import p{margin-top:9px;color:var(--muted);font-size:12px;line-height:1.42}.import-button{width:100%;min-height:42px}.upload-list{min-height:0;overflow:auto;padding:12px;background:linear-gradient(180deg,var(--surface),color-mix(in oklch,var(--surface-soft) 70%,var(--page)))}.upload-item,.document-item{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) 30px;gap:9px;padding:11px;border:1px solid var(--line);border-radius:8px;background:color-mix(in oklch,var(--surface) 82%,var(--surface-soft));box-shadow:0 1px 2px #2d261c0d}.upload-item{grid-template-columns:28px minmax(0,1fr)}.upload-item+.upload-item,.upload-item+.indexed-documents,.document-item+.document-item{margin-top:10px}.upload-item.processed,.document-item.processed{border-color:var(--user-line);background:color-mix(in oklch,var(--surface) 76%,var(--user))}.document-item{cursor:pointer}.document-item.selected,.document-item:focus-within{border-color:color-mix(in oklch,var(--primary) 42%,var(--line));box-shadow:0 1px 2px #2d261c0d,0 0 0 2px var(--focus)}.document-item:focus-visible{outline:0}.upload-item.failed,.document-item.failed{border-color:color-mix(in oklch,var(--danger) 34%,var(--line));background:color-mix(in oklch,var(--surface) 84%,oklch(97% .018 35))}.indexed-documents{margin-top:0}.upload-status-icon,.document-status-icon{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--primary)}.upload-status-icon .spin,.document-status-icon .spin{animation-duration:2.4s}.upload-item.failed .upload-status-icon,.document-item.failed .document-status-icon{color:var(--danger)}.upload-item h3,.document-item h3{overflow-wrap:anywhere;color:var(--ink);font-size:13px;font-weight:720;line-height:1.35}.document-body{min-width:0}.upload-item p,.document-item p{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.38}.upload-item .upload-error,.document-item .upload-error{color:var(--danger)}.document-menu-wrap{position:relative;display:flex;justify-content:flex-end}.document-menu-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);cursor:pointer;opacity:0;transition:opacity .14s ease,background .14s ease,color .14s ease,border-color .14s ease}.document-item:hover .document-menu-button,.document-item.selected .document-menu-button,.document-item:focus-within .document-menu-button{opacity:1}.document-menu-button:hover,.document-menu-button:focus-visible{border-color:var(--line-strong);background:var(--surface-soft);color:var(--ink);outline:0}.document-menu{position:absolute;top:32px;right:0;z-index:5;min-width:112px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.document-menu button{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;min-height:32px;padding:0 9px;border-radius:6px;background:transparent;color:var(--ink-soft);cursor:pointer}.document-menu button:hover:not(:disabled),.document-menu button:focus-visible{background:color-mix(in oklch,var(--primary) 10%,var(--surface));outline:0}.document-menu button.danger-menu-item{color:var(--danger)}.document-menu button.danger-menu-item:hover:not(:disabled),.document-menu button.danger-menu-item:focus-visible{background:color-mix(in oklch,var(--danger) 10%,var(--surface))}.document-menu button:disabled{cursor:not-allowed;opacity:.62}.sources{overflow:auto;min-height:0;overscroll-behavior:contain;padding:12px;background:linear-gradient(180deg,var(--surface),color-mix(in oklch,var(--surface-soft) 82%,var(--page)))}.source{position:relative;padding:0;border:1px solid color-mix(in oklch,var(--accent) 38%,var(--line));border-radius:8px;background:color-mix(in oklch,var(--surface) 78%,var(--accent-soft));overflow:hidden;box-shadow:0 1px 2px #2d261c0d;transition:border-color 2.4s ease-in-out,box-shadow 2.4s ease-in-out,transform 2.4s ease-in-out}.source:before,.source:after{content:"";position:absolute;pointer-events:none;opacity:0;transition:opacity 2.6s ease-in-out,transform 2.6s ease-in-out}.source:before{inset:0 auto 0 0;z-index:2;width:3px;background:var(--primary);transform:scaleY(.28);transform-origin:center}.source:after{inset:0;z-index:0;background:linear-gradient(180deg,color-mix(in oklch,var(--primary-soft) 34%,transparent),color-mix(in oklch,var(--accent-soft) 58%,transparent))}.source+.source{margin-top:10px}.source.active{border-color:color-mix(in oklch,var(--primary) 72%,var(--accent));box-shadow:0 0 0 1px color-mix(in oklch,var(--primary) 36%,transparent) inset,0 8px 20px #443bff1f}.source.active:before,.source.active:after{opacity:1;transform:scaleY(1)}.source-toggle{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:46px;padding:10px 12px;border:0;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.source-toggle:hover,.source-toggle:focus-visible{background:color-mix(in oklch,var(--accent-soft) 58%,var(--surface));outline:0}.source.active .source-toggle{background:color-mix(in oklch,var(--primary-soft) 18%,transparent)}.source-toggle span{display:grid;gap:2px;min-width:0}.source-toggle strong{overflow-wrap:anywhere;color:var(--ink);font-size:14px;font-weight:720;line-height:1.25}.source-toggle small{color:var(--muted);font-size:11px;font-weight:650}.source-toggle svg{flex:0 0 auto;color:var(--accent);transition:transform .14s ease}.source.expanded .source-toggle{border-bottom:1px solid color-mix(in oklch,var(--accent) 24%,var(--line))}.source.expanded .source-toggle svg{transform:rotate(180deg)}.source-snippet{position:relative;z-index:1;display:grid;gap:7px;padding:12px}.source-snippet h4{margin-top:2px;color:color-mix(in oklch,var(--accent) 56%,var(--ink));font-size:12px;font-weight:780;line-height:1.35}.source-snippet p,.source-empty{color:var(--ink-soft);font-size:13px;line-height:1.5}.source-snippet ul{display:grid;gap:5px;margin:0;padding-left:18px;color:var(--ink-soft);font-size:13px;line-height:1.45}.source-snippet li::marker{color:var(--accent)}@media(prefers-reduced-motion:reduce){.source,.source:before,.source:after,.source.active:before{transition:none}}.auth-shell{display:grid;place-items:center;overflow:auto;background:linear-gradient(color-mix(in oklch,var(--primary) 9%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in oklch,var(--accent) 8%,transparent) 1px,transparent 1px),radial-gradient(circle at 18% 6%,color-mix(in oklch,var(--primary) 16%,transparent),transparent 34%),radial-gradient(circle at 86% 12%,color-mix(in oklch,var(--accent) 10%,transparent),transparent 30%),linear-gradient(180deg,color-mix(in oklch,var(--surface-soft) 58%,var(--page)),var(--page));background-size:32px 32px,32px 32px,auto,auto,auto}.auth-loading{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1px solid color-mix(in oklch,var(--surface) 20%,transparent);border-radius:8px;background:color-mix(in oklch,var(--surface) 90%,var(--page));color:var(--ink);box-shadow:var(--shadow)}.login-card{position:relative;width:min(420px,calc(100vw - 32px))}.login-card-shadow{position:absolute;inset:0;border:1px solid color-mix(in oklch,var(--primary) 18%,var(--line));border-radius:8px;background:color-mix(in oklch,var(--surface) 72%,var(--page));opacity:.72}.login-card-shadow.one{transform:translate(14px,14px)}.login-card-shadow.two{transform:translate(7px,7px)}.login-card-main{position:relative;display:grid;gap:14px;padding:26px;border:1px solid color-mix(in oklch,var(--primary) 34%,var(--line));border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.login-brand{display:grid;gap:8px;margin-bottom:6px;color:var(--ink)}.login-brand svg{color:var(--primary)}.login-brand h1{width:fit-content;color:var(--primary);font-size:34px}.login-brand p,.auth-note{color:var(--muted);font-size:13px}.auth-field{display:grid;gap:7px}.auth-field span{color:var(--ink-soft);font-size:12px;font-weight:720}.auth-field input{min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--ink)}.auth-field input:focus-visible{border-color:var(--line-strong);outline:3px solid var(--focus);outline-offset:2px}.auth-submit{width:100%;margin-top:4px}.auth-error,.admin-status{padding:10px 12px;border:1px solid color-mix(in oklch,var(--danger) 34%,var(--line));border-radius:8px;background:color-mix(in oklch,var(--danger) 10%,var(--surface));color:var(--danger);font-size:13px}.auth-health{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:680}.auth-health.ready{color:var(--primary)}.auth-health.warn{color:var(--danger)}.admin-shell{overflow:auto}.admin-frame{width:min(1180px,100%);margin:0 auto;display:grid;gap:16px;min-height:0}.admin-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.admin-title{display:inline-flex;align-items:center;gap:12px;min-width:0}.admin-title svg{color:var(--primary)}.admin-title h1{font-size:24px}.admin-title p,.admin-current-user span{color:var(--muted);font-size:13px}.admin-current-user{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px}.admin-panel{min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.admin-settings-panel,.admin-links-panel{margin-bottom:14px}.admin-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;border-top:1px solid var(--line)}.admin-dashboard-link{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:78px;padding:14px;border:1px solid var(--line);border-radius:8px;background:color-mix(in oklch,var(--surface) 82%,var(--surface-soft));color:var(--ink);text-decoration:none;transition:border-color .16s ease,background .16s ease,transform .16s ease}.admin-dashboard-link:hover{border-color:var(--primary);background:var(--surface);transform:translateY(-1px)}.admin-dashboard-link strong,.admin-dashboard-link small{display:block}.admin-dashboard-link strong{font-size:14px}.admin-dashboard-link small{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.4}.admin-dashboard-link svg{color:var(--primary)}.admin-dashboard-link.disabled{cursor:not-allowed;opacity:.5}.admin-setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px;border-top:1px solid var(--line)}.admin-setting-row h3{color:var(--ink);font-size:14px}.admin-setting-row p{max-width:68ch;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.45}.transcript-mode-control{display:inline-grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:4px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.transcript-mode-control button{min-height:32px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-weight:700;cursor:pointer}.transcript-mode-control button.active{background:var(--surface);color:var(--primary);box-shadow:0 1px 2px #2d261c14}.transcript-mode-control button:disabled{cursor:not-allowed;opacity:.45}.admin-add-button{min-height:36px}.admin-status{margin:12px}.admin-user-list{display:grid;gap:10px;padding:12px}.admin-user-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:color-mix(in oklch,var(--surface) 82%,var(--surface-soft))}.admin-avatar{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--agent-line);border-radius:8px;background:var(--agent);color:var(--agent-ink);font-weight:800}.admin-user-row h3{font-size:14px}.admin-user-row p{margin-top:3px;color:var(--muted);font-size:12px}.role-badge{display:inline-flex;align-items:center;min-height:26px;padding:0 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:12px;font-weight:720}.role-badge.admin{border-color:var(--user-line);background:var(--user);color:var(--primary)}.admin-row-actions{display:inline-flex;gap:7px}.user-modal{width:min(520px,100%);overflow:hidden;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.user-modal-body{display:grid;gap:14px;padding:16px}.prompt-field select{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--ink)}.user-modal-footer{padding:0 16px 16px}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.prompt-window-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:color-mix(in oklch,var(--ink) 28%,transparent)}.prompt-window{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1080px,100%);height:min(760px,calc(100vh - 48px));min-height:0;overflow:hidden;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:0 24px 70px #1e182d3d}.document-viewer{display:grid;grid-template-rows:auto auto minmax(0,1fr);width:min(960px,100%);height:min(780px,calc(100vh - 48px));min-height:0;overflow:hidden;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:0 24px 70px #1e182d3d}.prompt-window-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--line);background:color-mix(in oklch,var(--surface) 76%,var(--surface-soft))}.prompt-window-header h2{font-size:20px;font-weight:790}.prompt-window-header p{margin-top:4px;color:var(--muted);font-size:13px}.prompt-window-body{display:grid;grid-template-columns:minmax(230px,290px) minmax(0,1fr);min-height:0}.document-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line);background:color-mix(in oklch,var(--surface-soft) 60%,var(--surface))}.document-viewer-title{display:flex;align-items:center;gap:9px;min-width:0;color:var(--ink);font-size:14px;font-weight:760}.document-viewer-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-viewer-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.document-viewer-meta span{padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px;line-height:1;text-transform:capitalize}.document-viewer-body{min-height:0;overflow:auto;padding:16px;background:linear-gradient(180deg,var(--surface),color-mix(in oklch,var(--surface-soft) 72%,var(--page)))}.document-viewer-content{margin:0;max-width:820px;min-height:100%;padding:22px 24px 30px;border:1px solid var(--line);border-radius:8px;background:color-mix(in oklch,var(--surface) 88%,white);color:var(--ink);font:14px/1.68 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-wrap:anywhere}.document-heading{color:var(--ink);font-weight:780;letter-spacing:0;text-wrap:balance}.document-heading.level-1,.document-heading.level-2{margin:0 0 18px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:20px;line-height:1.25}.document-heading.level-3{margin:28px 0 8px;font-size:16px;line-height:1.35}.document-heading.level-4{margin:20px 0 6px;color:var(--ink-soft);font-size:14px;line-height:1.35}.document-heading:first-child{margin-top:0}.document-paragraph{max-width:74ch;margin:0 0 18px;color:var(--ink)}.document-paragraph+.document-paragraph{margin-top:4px}.document-list{display:grid;gap:6px;max-width:76ch;margin:8px 0 20px;padding-left:22px;color:var(--ink)}.document-list li{padding-left:2px}.document-list li::marker{color:var(--primary);font-weight:700}.document-list .list-level-1{margin-left:18px}.document-list .list-level-2{margin-left:34px}.document-list+.document-heading.level-3{margin-top:30px}.prompt-list-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;border-right:1px solid var(--line);background:color-mix(in oklch,var(--surface-soft) 56%,var(--surface))}.prompt-list-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-bottom:1px solid var(--line)}.prompt-list-header h3,.prompt-editor-toolbar h3{color:var(--ink);font-size:14px;font-weight:760}.prompt-list{min-height:0;overflow:auto;padding:10px}.prompt-list-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:58px;padding:10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.prompt-list-item+.prompt-list-item{margin-top:6px}.prompt-list-item span{display:grid;gap:4px;min-width:0;font-size:13px;font-weight:700}.prompt-list-item small{color:var(--muted);font-size:11px;font-weight:600}.prompt-list-item svg{flex:0 0 auto;color:var(--primary)}.prompt-list-item:hover,.prompt-list-item:focus-visible,.prompt-list-item.selected{border-color:color-mix(in oklch,var(--primary) 32%,var(--line));background:color-mix(in oklch,var(--surface) 80%,var(--agent));outline:0}.prompt-editor-panel{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;min-height:0;gap:14px;padding:16px}.prompt-editor-toolbar,.prompt-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.prompt-editor-toolbar span{display:inline-flex;margin-top:4px;color:var(--primary);font-size:12px;font-weight:680}.prompt-editor-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}.clear-chat-button.danger-text{color:var(--danger)}.prompt-field{display:grid;gap:7px;min-width:0}.prompt-field span{color:var(--ink-soft);font-size:12px;font-weight:720}.prompt-field input,.prompt-field textarea{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--ink)}.prompt-field textarea{height:100%;min-height:260px;resize:none;line-height:1.48}.prompt-field-large{min-height:0}.prompt-field input:focus-visible,.prompt-field textarea:focus-visible{border-color:var(--line-strong);outline:3px solid var(--focus);outline-offset:2px}.prompt-editor-footer p{min-width:0;color:var(--muted);font-size:12px;line-height:1.4}.empty-state{display:grid;min-height:260px;place-items:center;padding:28px;color:var(--muted);text-align:center}.empty-state.compact{min-height:180px}.error-box{width:min(1180px,100%);margin:14px auto 0;padding:12px 14px;border:1px solid oklch(76% .075 35);border-radius:8px;background:#fff2ee;background:oklch(97% .018 35);color:var(--danger)}.error-box.inline{width:100%;margin:0}.spin{animation:spin 1.8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition-duration:1ms!important}}@media(max-width:980px){.workspace{grid-template-columns:1fr;height:auto;overflow:visible}.prompt-window-body{grid-template-columns:1fr;grid-template-rows:minmax(180px,240px) minmax(0,1fr)}.document-viewer-toolbar{align-items:flex-start;flex-direction:column}.document-viewer-meta{justify-content:flex-start}.prompt-list-panel{border-right:0;border-bottom:1px solid var(--line)}.document-panel,.source-panel{min-height:360px;height:360px}}@media(max-width:860px){.app-shell{height:auto;min-height:100vh;overflow:visible;padding:14px}.topbar,.control-band{align-items:stretch;flex-direction:column}.secondary-controls,.topbar-actions{justify-content:stretch}.prompt-launch-button,.status-pill,.palette-control,.live-state{flex:1 1 auto}.conversation-panel,.document-panel,.source-panel{min-height:460px;height:460px}.mode-control,.mode-control.two-up{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.message-row,.message-row.system,.message-row.error{max-width:100%}.prompt-window-backdrop{padding:10px;align-items:start;overflow:auto}.prompt-window{height:auto;min-height:calc(100vh - 20px);overflow:visible}.document-viewer{height:calc(100vh - 20px)}.prompt-window-body{display:block;overflow:visible}.admin-header,.admin-user-row{grid-template-columns:1fr}.admin-current-user,.admin-row-actions{align-items:stretch;justify-content:stretch;flex-direction:column}.admin-link-grid{grid-template-columns:1fr}.admin-row-actions .clear-chat-button,.admin-current-user .account-button{width:100%}.prompt-list-panel{max-height:280px}.prompt-editor-panel{display:flex;flex-direction:column;min-height:560px}.prompt-editor-toolbar,.prompt-editor-footer{align-items:stretch;flex-direction:column}.prompt-field-large{flex:1 1 auto}.prompt-field textarea{height:220px;min-height:180px;resize:vertical}.prompt-editor-actions{justify-content:stretch}.prompt-editor-actions .clear-chat-button,.prompt-editor-footer .primary{width:100%}}
