:root{color-scheme:light;--ink: #111827;--muted: #5f6877;--line: rgba(17, 24, 39, .14);--blue: #2563eb;--cyan: #0891b2;--green: #16a34a;--coral: #f97316;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0;color:var(--ink);background:radial-gradient(circle at 18% 18%,rgba(8,145,178,.18),transparent 28%),radial-gradient(circle at 86% 82%,rgba(249,115,22,.16),transparent 30%),linear-gradient(135deg,#f8fafc,#eef6ff 42%,#f7fbf4)}button,input,select{font:inherit}button{cursor:pointer}button:disabled,select:disabled{cursor:not-allowed;opacity:.55}.loading,.shell{min-height:100vh;display:grid;place-items:center;padding:clamp(16px,3vw,48px)}.loading{color:var(--cyan);font-weight:800;letter-spacing:.12em}.hero{width:min(1680px,100%);min-height:min(760px,calc(100vh - clamp(32px,6vw,96px)));display:flex;flex-direction:column;justify-content:space-between;gap:72px;padding:clamp(28px,5vw,64px);border:1px solid rgba(255,255,255,.76);border-radius:28px;background:#ffffffb8;box-shadow:0 32px 90px #0f172a24;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:800}.brand-button{display:inline-flex;align-items:center;gap:14px;padding:0;border:0;background:transparent;color:inherit;font-weight:800}.mark{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--cyan) 62%,var(--green));box-shadow:0 14px 30px #2563eb3d}.top-actions{display:flex;align-items:center;gap:10px}.user-pill,.ghost-button,.icon-button,.small-button,.text-button,.primary-button{border:1px solid var(--line);border-radius:999px;background:#ffffffb3;color:#243044;font-weight:800}.ghost-button,.small-button,.text-button,.primary-button{min-height:42px;padding:0 18px}.icon-button{width:42px;height:42px;display:grid;place-items:center}.danger-button{color:#991b1b;border-color:#991b1b38;background:#fef2f2db}.user-pill{max-width:min(42vw,360px);overflow:hidden;padding:12px 14px;text-overflow:ellipsis;white-space:nowrap}.primary-button{border-color:transparent;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;box-shadow:0 16px 30px #2563eb38}.text-button{border-color:transparent;background:transparent}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,460px);align-items:end;gap:clamp(32px,6vw,84px)}.guest-hero{min-height:min(720px,calc(100vh - clamp(32px,6vw,96px)));background:linear-gradient(105deg,#ffffffdb,#ffffffb3 48%,#e8f7f8b8),radial-gradient(circle at 74% 30%,rgba(37,99,235,.16),transparent 32%)}.guest-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,520px);align-items:end;gap:clamp(36px,7vw,120px)}.guest-copy{max-width:760px}.guest-copy h1{max-width:11ch;font-size:clamp(4rem,8vw,8rem)}.hero-button{min-width:180px;margin-top:36px;min-height:54px;padding:0 28px}.copy{max-width:900px}.eyebrow{margin:0 0 18px;color:var(--cyan);font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1{margin:0;max-width:14ch;font-size:clamp(3.6rem,9vw,7.8rem);line-height:.9}.lead{max-width:620px;margin:28px 0 0;color:var(--muted);font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.65}.actions{width:fit-content;display:inline-flex;align-items:center;gap:10px;margin-top:34px;padding:12px 16px;border:1px solid var(--line);border-radius:999px;background:#ffffffb3;color:#243044;font-weight:700}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 7px #16a34a1f}.signal-panel,.access-panel,.auth-card,.admin-panel,.metric{border:1px solid var(--line);background:linear-gradient(180deg,#ffffffd1,#ffffff85)}.signal-panel{display:grid;gap:34px;padding:28px;border-radius:24px}.access-panel{display:grid;gap:32px;padding:clamp(26px,4vw,38px);border-radius:26px;box-shadow:0 30px 70px #0f172a14}.access-visual{display:grid;gap:12px;padding:16px;border-radius:22px;background:linear-gradient(135deg,#2563eb1a,#0891b21a),#ffffff9e}.access-visual div{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:14px;min-height:58px;padding:0 16px;border:1px solid rgba(17,24,39,.1);border-radius:16px;background:#ffffff8f}.access-visual strong{color:var(--ink)}.access-visual span{min-width:0;overflow:hidden;color:var(--muted);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.panel-top,.principles p{display:flex;justify-content:space-between;gap:16px}.panel-top{color:var(--muted);font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.signal-lines{display:grid;gap:14px}.signal-lines span{height:12px;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--cyan),var(--green),var(--coral))}.signal-lines span:nth-child(2){width:78%}.signal-lines span:nth-child(3){width:58%}.signal-lines span:nth-child(4){width:36%}.principles{display:grid;gap:12px}.principles p{margin:0;padding-top:12px;border-top:1px solid var(--line);color:#273449;font-weight:700}.compact .hero,.auth-hero{min-height:min(720px,calc(100vh - clamp(32px,6vw,96px)))}.auth-hero{background:linear-gradient(110deg,#ffffffe0,#ffffffb3 54%,#eff8f4b8),radial-gradient(circle at 78% 30%,rgba(16,185,129,.14),transparent 30%)}.auth-grid{display:grid;grid-template-columns:minmax(340px,540px) minmax(320px,520px);align-items:stretch;gap:clamp(28px,6vw,96px)}.auth-card{width:100%;display:grid;gap:20px;align-content:center;padding:clamp(28px,4vw,48px);border-radius:26px;box-shadow:0 28px 70px #0f172a14}.auth-card h1{font-size:clamp(3.2rem,7vw,5.8rem);max-width:10ch}.auth-card .lead{margin-top:0}.auth-side{display:grid;gap:32px;align-content:space-between;padding:clamp(28px,4vw,44px);border:1px solid var(--line);border-radius:26px;background:linear-gradient(150deg,#2563eb1f,#0891b214,#16a34a1a),#ffffff94}.auth-side-mark{width:clamp(150px,18vw,240px);aspect-ratio:1;display:grid;place-items:center;justify-self:center;border-radius:34%;color:#fff;background:linear-gradient(135deg,var(--blue),var(--cyan) 58%,var(--green));box-shadow:0 36px 80px #2563eb38;font-size:clamp(4rem,9vw,8rem);font-weight:900}.form,.field{display:grid;gap:12px}.form{gap:16px}.field span{color:#273449;font-weight:800}.field input,.field select,.user-row select{width:100%;min-height:54px;padding:0 16px;border:1px solid var(--line);border-radius:16px;background:#ffffffdb;color:var(--ink)}.field input:focus,.field select:focus,.user-row select:focus{outline:3px solid rgba(37,99,235,.14);border-color:#2563eb6b}.form-message{margin:0;color:#9a3412;font-weight:700;line-height:1.5}.admin-shell{width:min(1480px,100%);min-height:100vh;margin:0 auto;padding:clamp(18px,4vw,56px)}.admin-header{display:flex;justify-content:space-between;gap:24px;margin:72px 0 32px}.admin-header h1{font-size:clamp(3rem,7vw,6.5rem)}.metric-row,.panel-heading{display:flex;align-items:center;gap:12px}.metric-row{flex-wrap:wrap;align-content:flex-start;justify-content:flex-end}.metric{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 18px;border-radius:999px;color:#273449;font-weight:800}.admin-grid{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:20px}.admin-panel{display:grid;gap:18px;align-content:start;padding:24px;border-radius:22px}.admin-panel.wide-panel,.invite-panel{grid-column:2}.panel-heading h2{margin:0}.invite-toggle{width:100%;justify-content:space-between;padding:0;border:0;color:inherit;background:transparent;text-align:left}.panel-heading-title{display:inline-flex;align-items:center;gap:12px;min-width:0}.count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 10px;border-radius:999px;background:#2563eb1a;color:#2563eb;font-size:.82rem;font-weight:900}.toggle-chevron{flex:0 0 auto;color:var(--muted);transition:transform .15s ease}.toggle-chevron-open{transform:rotate(180deg)}.user-table,.invite-table{display:grid;gap:10px}.user-row,.invite-row{display:grid;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#ffffff8c}.user-row{grid-template-columns:minmax(0,1fr) 150px auto auto}.invite-row{grid-template-columns:minmax(0,1.2fr) auto minmax(150px,.7fr) minmax(210px,1fr)}.user-row div,.invite-row div{min-width:0;display:grid;gap:4px}.user-row strong,.user-row span,.invite-row strong,.invite-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-row span,.invite-row span{color:var(--muted)}.status-pill{justify-self:start;padding:7px 11px;border-radius:999px;background:#5f68771a;color:var(--muted);font-size:.78rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.status-registered{background:#16a34a1f;color:#15803d}.status-pending{background:#0891b21f;color:#0e7490}.status-expired{background:#9a34121a;color:#9a3412}.status-ready{background:#16a34a1f;color:#15803d}.status-processing{background:#0891b21f;color:#0e7490}.status-failed{background:#9a34121a;color:#9a3412}.empty-state{margin:0;color:var(--muted)}.workspace-shell,.dashboard-shell{width:min(1480px,100%);min-height:100vh;margin:0 auto;padding:clamp(18px,4vw,56px)}.dashboard-header{display:flex;justify-content:space-between;gap:24px;margin:72px 0 32px}.dashboard-header h1{font-size:clamp(2.8rem,6vw,5rem)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.dashboard-card{display:grid;gap:18px;align-content:start;min-height:220px;padding:24px;border:1px solid var(--line);border-radius:22px;background:#ffffffb8;box-shadow:0 18px 50px #0f172a14;text-align:left;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.dashboard-card:hover{transform:translateY(-2px);box-shadow:0 24px 60px #0f172a1f}.dashboard-card-blue:hover{border-color:#2563eb47}.dashboard-card-cyan:hover{border-color:#0891b247}.dashboard-card-green:hover{border-color:#16a34a47}.dashboard-card-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;color:#fff}.dashboard-card-blue .dashboard-card-icon{background:linear-gradient(135deg,var(--blue),#4f46e5)}.dashboard-card-cyan .dashboard-card-icon{background:linear-gradient(135deg,var(--cyan),var(--blue))}.dashboard-card-green .dashboard-card-icon{background:linear-gradient(135deg,var(--green),var(--cyan))}.dashboard-card-copy{display:grid;gap:10px}.dashboard-card-copy h2{margin:0;font-size:1.5rem}.dashboard-card-copy p{margin:0;color:var(--muted);line-height:1.55}.library-shell{width:min(1480px,100%);min-height:100vh;margin:0 auto;padding:clamp(18px,4vw,56px)}.library-header{display:flex;justify-content:space-between;gap:24px;margin:72px 0 32px}.library-header h1{font-size:clamp(3rem,7vw,6.2rem)}.library-space-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.library-space-tab{display:grid;gap:4px;min-height:72px;padding:14px 16px;border:1px solid var(--line);border-radius:20px;color:#273449;background:#ffffff9e;text-align:left;box-shadow:0 12px 32px #0f172a0d}.library-space-tab span{font-weight:900}.library-space-tab small{color:var(--muted);font-weight:700}.library-space-tab-active{border-color:#2563eb4d;background:linear-gradient(135deg,#2563eb1f,#0891b21a)}.library-grid{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);align-items:start;gap:20px}.library-panel{display:grid;gap:18px;min-width:0;padding:24px;border:1px solid var(--line);border-radius:24px;background:#ffffffb8;box-shadow:0 18px 50px #0f172a14}.document-panel{position:sticky;top:18px;grid-template-rows:auto auto auto minmax(0,1fr);max-height:calc(100vh - 36px);overflow:hidden;transition:border-color .15s ease,background .15s ease}.document-panel-dragging{border-color:#2563eb61;background:#eff6ffdb}.library-upload-dropzone{display:grid;justify-items:center;gap:6px;min-height:96px;padding:18px;border:1px dashed rgba(37,99,235,.32);border-radius:22px;color:#fff;background:linear-gradient(135deg,#2563ebf5,#0891b2f5),var(--blue);box-shadow:0 16px 32px #2563eb33;font-weight:900}.library-upload-dropzone small{color:#ffffffc7;font-size:.82rem;font-weight:700}.library-document-list{display:grid;gap:10px;min-height:0;overflow-y:auto}.library-document-row{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#ffffff94}.library-document-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.library-document-main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}.library-document-main div{min-width:0;display:grid;gap:4px}.library-document-main strong,.library-document-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-document-main span,.library-document-error{color:var(--muted)}.library-document-error{margin:0;color:#9a3412;font-size:.9rem;line-height:1.45}.library-chat-panel{min-height:min(720px,calc(100vh - 112px));grid-template-rows:auto minmax(360px,1fr) auto auto}.library-chat-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.library-messages{min-height:0;overflow-y:auto}.library-composer{grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:64px;padding:10px 12px 10px 22px;border-radius:32px}.library-composer .chat-composer-input{min-height:38px;max-height:140px;padding:8px 8px 8px 0;overflow-y:auto;line-height:1.45}.library-composer .chat-composer-send{align-self:center;width:44px;height:44px;background:#111827}.library-composer .chat-composer-send:disabled{background:#c7ccd4;opacity:1}.preview-modal{width:min(760px,100%);max-height:calc(100vh - 48px);grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.preview-modal-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px}.preview-modal-header .modal-copy{min-width:0}.preview-modal-header h2{overflow-wrap:anywhere}.preview-chunks{display:grid;align-content:start;gap:12px;min-height:0;overflow-y:auto;padding-right:4px}.preview-chunk{display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#ffffffb8}.preview-chunk strong{color:#273449}.preview-chunk p{margin:0;color:var(--muted);line-height:1.55;white-space:pre-wrap}.workspace-header{display:flex;justify-content:space-between;gap:24px;margin:72px 0 32px}.workspace-header h1{font-size:clamp(2.4rem,5vw,4.5rem)}.workspace-grid{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:20px;margin-bottom:20px}.workspace-panel{display:grid;gap:18px;align-content:start;padding:24px;border-radius:22px;border:1px solid var(--line);background:#ffffffb8;box-shadow:0 18px 50px #0f172a14}.workspace-panel.wide-panel{min-width:0}.workspace-panel h3,.workspace-panel h4{margin:8px 0 0}.workspace-panel p{margin:0}.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.file-note,.stage-note,.muted-copy{color:var(--muted);line-height:1.5}.file-picker{display:grid;gap:12px}.file-picker-input{display:none}.file-picker-box{display:grid;gap:16px;padding:22px;border:1px dashed rgba(37,99,235,.28);border-radius:20px;background:linear-gradient(135deg,#2563eb0f,#0891b20d),#ffffffb8}.file-picker-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--cyan) 62%,var(--green));box-shadow:0 14px 30px #2563eb33}.file-picker-copy{display:grid;gap:6px}.file-picker-title{margin:0;font-weight:800;line-height:1.4;word-break:break-word}.file-picker-hint{margin:0;color:var(--muted);font-size:.95rem}.file-picker-button{justify-self:start;min-height:48px;padding:0 18px;border:0;border-radius:999px;color:#fff;font-weight:800;background:linear-gradient(135deg,var(--blue),var(--cyan));box-shadow:0 12px 28px #2563eb38;transition:transform .15s ease,box-shadow .15s ease}.file-picker-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 32px #2563eb47}.file-picker-button:disabled{opacity:.55;cursor:not-allowed}.chat-page{display:grid;grid-template-rows:auto 1fr;min-height:100vh;background:radial-gradient(circle at 18% 18%,rgba(8,145,178,.08),transparent 28%),radial-gradient(circle at 86% 82%,rgba(249,115,22,.06),transparent 30%),linear-gradient(135deg,#f8fafc,#eef6ff 42%,#f7fbf4)}.chat-topbar{padding:18px clamp(18px,4vw,56px) 0}.chat-layout{display:grid;grid-template-columns:280px minmax(0,1fr);align-items:start;gap:24px;min-height:0;padding:18px clamp(18px,4vw,56px) clamp(24px,4vw,40px)}.chat-sidebar{position:sticky;top:18px;display:grid;grid-template-rows:auto 1fr;gap:14px;max-height:calc(100vh - 36px);min-height:min(420px,calc(100vh - 36px));padding:14px;overflow:hidden;border:1px solid rgba(17,24,39,.1);border-radius:24px;background:#ffffffad;box-shadow:0 18px 50px #0f172a14}.chat-new-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;padding:0 18px;border:0;border-radius:999px;color:#fff;background:#111827;font-weight:800;text-align:center}.chat-new-button:hover:not(:disabled){background:#1f2937}.chat-thread-list{display:grid;align-content:start;gap:8px;min-height:0;overflow-y:auto}.chat-thread-button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:10px;border:1px solid transparent;border-radius:16px;color:#273449;background:transparent;text-align:left}.chat-thread-select{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:0;border:0;color:inherit;background:transparent;text-align:left}.chat-thread-button:hover,.chat-thread-button-active{border-color:#2563eb24;background:#2563eb14}.chat-thread-select span{min-width:0;display:grid;gap:3px}.chat-thread-select strong,.chat-thread-select small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-thread-select strong{font-size:.95rem}.chat-thread-select small{color:var(--muted);font-size:.76rem}.chat-thread-delete{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:999px;color:var(--muted);background:transparent}.chat-thread-delete:hover{color:#9a3412;background:#9a341214}.chat-main{display:grid;grid-template-rows:1fr auto;width:min(820px,100%);min-height:0;margin:0 auto;padding:0}.chat-messages{display:grid;align-items:center;min-height:0;overflow:hidden}.chat-messages-active{align-items:stretch}.chat-empty{display:grid;gap:10px;justify-items:center;text-align:center;padding:48px 24px 24px}.chat-empty h2{margin:0;font-size:clamp(1.8rem,4vw,2.4rem);font-weight:500;letter-spacing:-.02em}.chat-empty p{margin:0;color:var(--muted);max-width:420px;line-height:1.5}.chat-thread{display:grid;gap:28px;width:100%;padding:24px 0 16px;overflow-y:auto}.chat-message{display:grid;gap:14px;align-items:start;line-height:1.6}.chat-message-assistant{grid-template-columns:auto minmax(0,1fr)}.chat-message-user{justify-self:end;max-width:min(680px,100%)}.chat-message-user .chat-message-body{justify-items:end}.chat-message-user .chat-message-content{padding:14px 18px;border-radius:24px;background:#ffffffe0;border:1px solid rgba(17,24,39,.08);box-shadow:0 8px 24px #0f172a0a}.chat-message-attachments{display:grid;gap:8px;width:min(320px,100%)}.chat-attachment{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(17,24,39,.1);border-radius:18px;background:#ffffffeb;box-shadow:0 8px 24px #0f172a0a}.chat-attachment-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;color:#2563eb;background:#2563eb1a}.chat-attachment-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:600;color:#273449}.chat-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;color:#fff;font-size:.85rem;font-weight:800;background:linear-gradient(135deg,var(--blue),var(--cyan) 62%,var(--green));box-shadow:0 8px 18px #2563eb2e}.chat-message-body{min-width:0;display:grid;gap:8px}.chat-message-content{white-space:pre-wrap;word-break:break-word}.chat-markdown{color:var(--ink);line-height:1.65;word-break:break-word}.chat-markdown>:first-child{margin-top:0}.chat-markdown>:last-child{margin-bottom:0}.chat-markdown p,.chat-markdown ul,.chat-markdown ol,.chat-markdown blockquote,.chat-markdown pre{margin:0 0 .85em}.chat-markdown h1,.chat-markdown h2,.chat-markdown h3,.chat-markdown h4{margin:1.2em 0 .55em;line-height:1.3;letter-spacing:-.02em}.chat-markdown h1{font-size:1.45rem}.chat-markdown h2{font-size:1.25rem}.chat-markdown h3{font-size:1.08rem}.chat-markdown h4{font-size:1rem}.chat-markdown ul,.chat-markdown ol{padding-left:1.35rem}.chat-markdown li+li{margin-top:.35em}.chat-markdown hr{margin:1.1em 0;border:0;border-top:1px solid rgba(17,24,39,.1)}.chat-markdown strong{font-weight:700}.chat-markdown code{padding:.12em .35em;border-radius:6px;background:#1118270f;font-size:.92em}.chat-markdown pre{overflow-x:auto;padding:12px 14px;border-radius:14px;background:#1118270f}.chat-markdown pre code{padding:0;background:transparent}.chat-markdown blockquote{padding-left:14px;border-left:3px solid rgba(37,99,235,.35);color:#334155}.chat-markdown table{width:100%;border-collapse:collapse;font-size:.95rem}.chat-markdown th,.chat-markdown td{padding:8px 10px;border:1px solid rgba(17,24,39,.1);text-align:left}.chat-markdown th{background:#1118270a}.viz-chart,.viz-mermaid-block,.viz-table-block{width:100%;max-width:100%;min-width:0;margin:1rem 0 1.1rem;border:1px solid rgba(17,24,39,.1);border-radius:18px;background:linear-gradient(180deg,#fffffff5,#f8fafceb);box-shadow:0 14px 36px #0f172a14;overflow:hidden}.viz-chart-title{padding:14px 16px 0;font-size:1rem;font-weight:700;letter-spacing:-.02em}.viz-chart-meta{display:flex;justify-content:space-between;gap:12px;padding:6px 16px 0;color:var(--muted);font-size:.82rem}.viz-chart-canvas{height:280px;padding:8px 10px 14px}.viz-tooltip{min-width:140px;padding:10px 12px;border:1px solid rgba(17,24,39,.08);border-radius:12px;background:#fffffffa;box-shadow:0 10px 24px #0f172a1f}.viz-tooltip-label{margin-bottom:6px;font-size:.82rem;font-weight:700}.viz-tooltip-row{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;font-size:.82rem}.viz-tooltip-dot{width:8px;height:8px;border-radius:999px}.viz-mermaid-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid rgba(17,24,39,.08);background:#ffffffb8}.viz-mermaid-toolbar-label,.viz-table-toolbar-label{color:var(--muted);font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.viz-mermaid-actions{min-width:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.viz-mermaid-toggle,.viz-table-toggle{display:inline-flex;gap:6px;padding:4px;border-radius:999px;background:#1118270d}.viz-mermaid-toggle button,.viz-table-toggle button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:.82rem;font-weight:700}.viz-mermaid-toggle button.is-active,.viz-table-toggle button.is-active{background:#fff;color:var(--ink);box-shadow:0 4px 14px #0f172a14}.viz-mermaid-copy{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid rgba(17,24,39,.1);border-radius:999px;background:#fff;color:var(--ink);font-size:.82rem;font-weight:700}.viz-mermaid-body{padding:0}.viz-mermaid-viewport{position:relative;width:100%;height:420px;overflow:hidden;touch-action:none;background:radial-gradient(circle at 20% 20%,rgba(37,99,235,.04),transparent 34%),#f8fafce6}.viz-mermaid-viewport.is-pan-enabled{cursor:grab}.viz-mermaid-viewport.is-panning{cursor:grabbing}.viz-mermaid-canvas{position:absolute;top:0;left:0;width:max-content;height:max-content;margin:0;will-change:transform}.viz-mermaid-zoom-button.is-active{background:#fff;color:var(--ink);box-shadow:0 4px 14px #0f172a14}.viz-mermaid-zoom{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:999px;background:#1118270d}.viz-mermaid-zoom-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--muted)}.viz-mermaid-zoom-button:hover{background:#fff;color:var(--ink)}.viz-mermaid-zoom-value{min-width:44px;text-align:center;color:var(--muted);font-size:.78rem;font-weight:700}.viz-mermaid-source{margin:0;max-height:320px;overflow:auto;padding:14px 16px;background:#1118270a;font-size:.84rem;line-height:1.55}.viz-mermaid-source code{white-space:pre}.viz-mermaid-error-body{padding:14px 16px;border-top:1px solid rgba(249,115,22,.16);background:#fff7edb8}.viz-mermaid-svg{display:block;overflow:visible}.viz-mermaid-svg svg{max-width:none;width:auto;height:auto;min-width:1px;min-height:1px;display:block}.viz-mermaid-loading{padding:28px 12px;text-align:center;color:var(--muted);font-size:.92rem}.viz-mermaid-error{padding:14px 16px;border-color:#f9731647;background:#fff7edb8}.viz-mermaid-block .viz-mermaid-error-title,.viz-mermaid-error-title{margin-bottom:4px;color:#9a3412;font-size:.9rem;font-weight:700}.viz-mermaid-error-note{margin:0;color:#9a3412;font-size:.84rem;line-height:1.45}.viz-mermaid-error pre,.viz-fallback{margin:0;overflow-x:auto;padding:12px 14px;border-radius:14px;background:#1118270f}.viz-table-block .viz-chart{margin:0;border:0;border-radius:0;box-shadow:none;background:transparent}.viz-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid rgba(17,24,39,.08);background:#ffffffb8}.viz-table-toolbar-label{color:var(--muted);font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.viz-table-toggle{display:inline-flex;gap:6px;padding:4px;border-radius:999px;background:#1118270d}.viz-table-toggle button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:.82rem;font-weight:700}.viz-table-toggle button.is-active{background:#fff;color:var(--ink);box-shadow:0 4px 14px #0f172a14}.viz-table-wrap{overflow-x:auto}.viz-table-wrap table{width:100%;border-collapse:collapse;font-size:.95rem}.viz-table-wrap th,.viz-table-wrap td{padding:10px 12px;border-bottom:1px solid rgba(17,24,39,.08);text-align:left}.viz-table-wrap th{background:#11182708;font-weight:700}.viz-table-wrap tr:last-child td{border-bottom:0}.viz-blocked-image{margin:1rem 0;padding:14px 16px;border:1px solid rgba(249,115,22,.24);border-radius:16px;background:#fff7edd1;color:#7c2d12}.viz-blocked-image-title{margin-bottom:6px;font-size:.95rem;font-weight:700}.viz-blocked-image p{margin:0;font-size:.88rem;line-height:1.5}.chat-typing{color:var(--muted);font-style:italic}.chat-sources{color:var(--muted);font-size:.85rem}.chat-composer-wrap{display:grid;gap:12px;width:100%}.chat-doc-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.chat-doc-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:8px 10px 8px 12px;border:1px solid var(--line);border-radius:999px;background:#ffffffe0;color:#273449;font-size:.9rem}.chat-doc-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-doc-chip-remove{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:999px;color:var(--muted);background:transparent}.chat-doc-chip-remove:hover{color:var(--ink);background:#1118270f}.chat-error{margin:0;text-align:center;color:#9a3412;font-weight:700}.chat-composer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:10px;width:100%;padding:10px 12px;border:1px solid rgba(17,24,39,.12);border-radius:999px;background:#ffffffeb;box-shadow:0 1px 2px #0f172a0a,0 16px 40px #0f172a14}.chat-composer:focus-within{border-color:#1118272e;box-shadow:0 1px 2px #0f172a0a,0 20px 48px #0f172a1a}.chat-composer-add{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:999px;color:var(--ink);background:transparent}.chat-composer-add:hover:not(:disabled){background:#1118270f}.chat-composer-add:disabled{opacity:.45}.chat-composer-input{width:100%;min-height:28px;max-height:160px;padding:8px 4px;border:0;resize:none;background:transparent;color:var(--ink);line-height:1.5}.chat-composer-input:focus{outline:none}.chat-composer-input::placeholder{color:#9aa3b2}.chat-composer-send{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:999px;color:#fff;background:#111827}.chat-composer-send:hover:not(:disabled){background:#1f2937}.chat-composer-send:disabled{opacity:.35;cursor:not-allowed}.library-composer{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:12px 14px 12px 24px;border-radius:34px}.library-composer .chat-composer-input{min-height:32px;max-height:120px;padding:4px 0;overflow-y:hidden;line-height:1.5}.library-composer .chat-composer-input::placeholder{color:#8b96a8}.library-composer .chat-composer-send{align-self:center;width:44px;height:44px;background:#111827;box-shadow:0 10px 22px #0f172a29}.library-composer .chat-composer-send:disabled{opacity:1;background:#c6ccd5;box-shadow:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:#0f172a47;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-card{width:min(440px,100%);display:grid;gap:18px;padding:24px;border:1px solid rgba(255,255,255,.72);border-radius:26px;background:linear-gradient(135deg,#fffffff5,#f8fafcf0),#fff;box-shadow:0 32px 90px #0f172a3d}.modal-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:18px}.danger-modal-icon{color:#9a3412;background:#9a34121a}.modal-copy{display:grid;gap:8px}.modal-copy h2,.modal-copy p{margin:0}.modal-copy h2{font-size:1.45rem}.modal-copy p{color:var(--muted);line-height:1.55}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.secondary-button,.danger-action-button{min-height:44px;padding:0 16px;border-radius:999px;font-weight:800}.secondary-button{border:1px solid var(--line);color:#273449;background:#ffffffd1}.danger-action-button{border:0;color:#fff;background:#9a3412}.danger-action-button:hover{background:#7c2d12}.bullet-list{margin:0;padding-left:20px;line-height:1.6}.data-table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.95rem}.data-table th,.data-table td{padding:12px 14px;border:1px solid var(--line);vertical-align:top;text-align:left}.data-table th{background:#2563eb14;font-weight:800}.project-block,.evidence-block{display:grid;gap:12px}@media(max-width:900px){.shell{padding:16px;place-items:stretch}.hero{min-height:calc(100vh - 32px);border-radius:22px;gap:48px}.hero-grid,.guest-grid,.auth-grid,.admin-grid,.admin-header,.library-grid,.library-header,.workspace-grid,.workspace-header,.answer-grid,.dashboard-grid{grid-template-columns:1fr}.admin-header,.library-header,.workspace-header,.dashboard-header{display:grid;margin-top:48px}.metric-row{justify-content:flex-start}h1{max-width:9ch;font-size:clamp(3.2rem,17vw,5.6rem)}.guest-copy h1{max-width:9ch}.user-row,.library-space-tabs{grid-template-columns:1fr}.chat-layout{grid-template-columns:1fr;padding-top:18px}.chat-sidebar{position:static;max-height:260px;min-height:0}.document-panel{position:static;max-height:none}.auth-side{display:none}}@media(max-width:520px){.hero,.admin-shell,.library-shell,.workspace-shell,.dashboard-shell{padding:24px}.chat-topbar{padding-inline:24px}.chat-main{padding-inline:16px}h1{font-size:3rem}.lead{font-size:1rem}.brand-row,.top-actions{align-items:flex-start}.brand-row{flex-direction:column}}
