/* HAUD brand palette. Layout, typography, and motion inherit the existing workspace. */
:root{
  --paper:#FAF8F7;--white:#FFFFFF;--sidebar:#F2EDEB;--panel:#F5F0EF;--raised:#FCFAF9;
  --ink:#30282A;--text:#514349;--muted:#6B5C61;
  --brand:#A5293A;--brand-hover:#872131;--brand-strong:#6F1B2A;--on-brand:#FFFFFF;
  --soft:#F6E9EC;--tint:#FBF3F4;--hover:#F1E1E5;--active:#EDD6DD;--selection:#EDD3DA;
  --line:#E7D4D8;--border-strong:#B1808D;--scrollbar:#CEB7BE;
  --disabled:#EAE0E2;--disabled-ink:#8B7980;
  --warning:#795B2B;--warning-soft:#F7EFDF;--warning-line:#C29962;--danger:#A63B38;
  --focus-ring:#A5293A26;--shadow-soft:#30282A04;--shadow-popover:#30282A14;
  --shadow-dialog:#30282A30;--shadow-toast:#30282A24;--shadow-drawer:#30282A10;--shadow-sheet:#30282A18;
  --scrim:#30282A45;--dialog-scrim:#30282A50;--paper-clear:#FAF8F700;
  --radius:12px;--font:"Pretendard","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif
}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font-family:var(--font);background:var(--paper);color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:4px}button:disabled:focus-visible{outline:none}[hidden]{display:none!important}svg{display:block;flex:none}button span[data-icon],span[data-icon]{display:inline-flex;align-items:center;justify-content:center;flex:none}::selection{background:var(--selection);color:var(--brand)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:12px;z-index:100;padding:10px 16px;background:var(--brand);color:white;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.app-shell{display:grid;grid-template-columns:236px minmax(0,1fr) 318px;height:100dvh;transition:grid-template-columns .25s ease}.app-shell.sources-closed{grid-template-columns:236px minmax(0,1fr) 0}.sidebar{position:relative;background:var(--sidebar);padding:32px 20px 0;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);z-index:25}.brand-row{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%;color:var(--brand);font-size:25px;font-weight:800;letter-spacing:-1.2px}.brand-logo{display:block;width:190px;max-width:100%;height:auto;flex:0 1 auto}.brand-description{margin:11px 0 32px 2px;color:var(--muted);font-size:11px;letter-spacing:.025em}.new-chat{display:flex;align-items:center;gap:10px;text-align:left;width:100%;height:45px;padding:0 13px;background:var(--brand);color:var(--white);border-radius:7px;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.new-chat:hover{background:var(--brand-hover);transform:translateY(-1px)}.new-chat svg{width:17px;height:17px}.new-chat-shortcut{margin-left:auto;color:var(--on-brand);font-size:11px;font-weight:400}.history-heading{display:flex;align-items:center;justify-content:space-between;margin:31px 3px 14px}.history-heading h2{font-size:11px;letter-spacing:.025em;font-weight:600;margin:0;color:var(--text)}.history-heading>span{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.history-search{display:flex;align-items:center;gap:7px;padding:0 9px;height:33px;border:1px solid var(--line);border-radius:6px;color:var(--muted)}.history-search svg{width:13px;height:13px}.history-search input{min-width:0;width:100%;border:0;outline:none;background:none;font-size:11px;color:var(--ink)}.history-search input::placeholder{color:var(--muted)}.history-search:focus-within{border-color:var(--border-strong)}.history-list{margin:15px -8px 0;flex:1;min-height:80px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent}.history-empty{color:var(--muted);font-size:11px;text-align:center;line-height:1.85;padding:35px 8px}.history-group-label{color:var(--muted);font-size:10px;margin:19px 11px 8px}.history-item{position:relative;display:flex;align-items:center;border-radius:6px;margin:2px 0;min-height:38px;gap:2px}.history-item.active{background:var(--active)}.history-item:hover{background:var(--hover)}.history-open{display:flex;align-items:center;gap:8px;min-width:0;flex:1;text-align:left;padding:11px 7px 11px 10px;font-size:12px;color:var(--text)}.history-open svg{color:var(--muted);width:14px;height:14px}.history-open span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.history-item.active .history-open{color:var(--brand);font-weight:600}.history-delete{flex:none;color:var(--muted);padding:7px;border-radius:4px;opacity:0}.history-delete svg{width:13px;height:13px}.history-item:hover .history-delete,.history-item:focus-within .history-delete{opacity:1}.history-delete:hover{color:var(--danger);background:var(--soft)}.history-delete.confirm-delete{opacity:1;color:var(--danger);font-size:10px;width:auto}.sidebar-footer{padding:21px 2px 18px;border-top:1px solid var(--line);margin-top:20px}.corpus-status{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:var(--text)}.status-dot{width:6px;height:6px;background:var(--disabled-ink);border-radius:50%;flex:none}.status-dot.ready{background:var(--brand);box-shadow:0 0 0 3px var(--soft)}.status-dot.unavailable{background:var(--warning-line)}.sidebar-footer>p{font-size:10px;color:var(--muted);margin:7px 0 21px 13px;line-height:1.7}.help-button{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text);width:100%;padding:8px 0}.help-button svg{width:14px;height:14px}.help-button span:last-child{margin-left:auto;color:var(--muted)}.help-button:hover{color:var(--brand)}.local-note{margin-top:15px;display:flex;align-items:center;gap:5px;font-size:9px;color:var(--muted)}.local-note svg{width:10px;height:10px}
.workspace{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}.topbar{display:flex;justify-content:space-between;align-items:center;height:76px;padding:0 30px;border-bottom:1px solid var(--line);flex:none;gap:15px}.workspace-heading{display:flex;align-items:center;gap:13px;min-width:0}.workspace-title{font-weight:650;font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-label{font-size:8px;letter-spacing:1.4px;color:var(--muted);padding-top:1px}.topbar-actions{display:flex;align-items:center;gap:11px;flex:none}.date-control{position:relative}.date-button{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;min-height:36px;padding:3px}.date-button svg{width:13px;height:13px}.date-button span:last-child svg{width:10px;height:10px}.date-button:hover{color:var(--brand)}.date-popover{position:absolute;right:0;top:40px;width:250px;z-index:30;background:var(--white);padding:18px;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 34px var(--shadow-popover)}.date-popover label{font-size:12px;font-weight:600;display:block;margin-bottom:12px}.date-popover input{width:100%;border:1px solid var(--line);border-radius:5px;padding:8px;color:var(--brand);background:var(--paper);font-size:12px}.date-popover p{font-size:10px;color:var(--muted);line-height:1.6;margin:11px 0 0;word-break:keep-all}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:5px;color:var(--muted);transition:background .2s,color .2s;flex:none}.icon-button svg{width:16px;height:16px}.icon-button:hover:not(:disabled){color:var(--brand);background:var(--hover)}.icon-button:disabled{opacity:.35}.export-button{width:24px}.topbar-divider{width:1px;height:15px;background:var(--line);margin:0 2px}.sources-toggle{display:flex;align-items:center;gap:7px;min-height:36px;font-size:10px;color:var(--text);padding:4px 0}.sources-toggle>span[data-icon] svg{width:15px;height:15px}.source-count{font-size:9px;background:var(--soft);min-width:17px;height:17px;line-height:17px;text-align:center;border-radius:4px;color:var(--brand-strong)}.sources-toggle:hover{color:var(--brand)}.conversation-scroll{flex:1;overflow:auto;overscroll-behavior:contain;min-height:0;scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;scroll-behavior:smooth}.welcome{width:calc(100% - 88px);max-width:642px;margin:clamp(54px,9vh,102px) auto 40px;animation:enter-up .6s both}.eyebrow{display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:1.5px;color:var(--muted);font-weight:600}.eyebrow>span{width:15px;height:1px;background:var(--brand)}.welcome h1{font-size:43px;line-height:1.44;letter-spacing:-2.1px;font-weight:540;color:var(--brand);margin:21px 0 17px;word-break:keep-all}.welcome h1>span{color:var(--brand)}.welcome-description{color:var(--muted);font-size:12px;line-height:1.95;letter-spacing:-.15px;margin:0}.suggestions{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:39px}.suggestion{border:1px solid var(--line);background:var(--raised);border-radius:8px;padding:17px 13px;display:flex;align-items:center;gap:10px;text-align:left;min-width:0;transition:border-color .18s,background .18s,transform .18s;animation:enter-up .5s both}.suggestion:nth-child(2){animation-delay:.06s}.suggestion:nth-child(3){animation-delay:.12s}.suggestion:nth-child(4){animation-delay:.18s}.suggestion:hover{background:var(--hover);border-color:var(--border-strong);transform:translateY(-2px)}.suggestion-icon{width:30px;height:33px;color:var(--brand)}.suggestion-icon svg{width:22px;height:22px}.suggestion>span:nth-child(2){min-width:0;flex:1}.suggestion strong{display:block;font-size:11px;letter-spacing:-.1px;font-weight:550;color:var(--text);line-height:1.6;word-break:keep-all}.suggestion small{font-size:9px;color:var(--muted);display:block;margin-top:4px;line-height:1.5;word-break:keep-all}.suggestion-arrow{align-self:flex-start;color:var(--muted);margin-top:2px;transition:transform .2s}.suggestion-arrow svg{width:12px;height:12px}.suggestion:hover .suggestion-arrow{transform:translate(2px,-2px)}.welcome-footnote{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted);margin-top:22px}.welcome-footnote svg{width:12px;height:12px}
.composer-area{padding:14px 32px 20px;flex:none;position:relative;background:var(--paper)}.composer-area:before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px;background:linear-gradient(0deg,var(--paper),var(--paper-clear));pointer-events:none}.composer{max-width:740px;margin:0 auto;border:1px solid var(--line);border-radius:12px;background:var(--white);padding:17px 15px 11px;box-shadow:0 5px 20px var(--shadow-soft);transition:border-color .2s,box-shadow .2s}.composer:focus-within{border-color:var(--border-strong);box-shadow:0 0 0 3px var(--focus-ring)}.composer textarea{display:block;width:100%;resize:none;border:0;padding:0 2px;color:var(--ink);background:none;outline:none!important;max-height:154px;min-height:27px;font-size:12px;line-height:1.8;scrollbar-width:thin}.composer textarea::placeholder{color:var(--muted)}.composer-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:9px}.composer-context{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px}.context-symbol{color:var(--brand)}.context-symbol svg{width:13px;height:13px}.send-button{display:flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:7px;background:var(--brand);color:white;transition:background .15s,transform .15s}.send-button svg{width:17px;height:17px}.send-button:disabled{background:var(--disabled);color:var(--disabled-ink)}.send-button:hover:not(:disabled){background:var(--brand-hover);transform:translateY(-1px)}.send-button.is-stopping{background:var(--brand-strong)}.send-button.is-stopping svg{width:12px;height:12px;fill:currentColor}.composer-meta{display:flex;justify-content:space-between;gap:15px;max-width:740px;margin:10px auto 0;font-size:8px;color:var(--muted);line-height:1.5}.keyboard-hint{white-space:nowrap;color:var(--muted)}.keyboard-hint>span{padding:0 4px}.connection-notice{display:flex;align-items:center;gap:7px;max-width:740px;margin:0 auto 10px;font-size:10px;color:var(--warning);line-height:1.6}.connection-notice svg{width:13px;height:13px}.connection-notice button{margin-left:auto;font-size:10px;color:var(--warning);text-decoration:underline;white-space:nowrap}.connection-notice-text{flex:1}
.messages{max-width:794px;margin:0 auto;padding:32px 38px 28px}.message{margin-bottom:30px;animation:enter-up .3s both;min-width:0}.message.user{display:flex;justify-content:flex-end;margin:8px 0 35px}.user-content{white-space:pre-wrap;overflow-wrap:anywhere;max-width:88%;background:var(--soft);border:1px solid var(--line);padding:13px 18px;border-radius:12px 12px 3px 12px;color:var(--brand-strong);font-size:13px;line-height:1.85}.assistant-heading{display:flex;align-items:center;gap:9px;margin-bottom:15px}.assistant-logo{position:relative;display:block;width:25px;height:25px;flex:none;overflow:hidden}.assistant-logo img{display:block;width:528.378378%;max-width:none;height:auto}.assistant-heading strong{font-size:11px;letter-spacing:.5px;font-weight:650;color:var(--brand-strong)}.assistant-heading time{margin-left:auto;font-size:9px;color:var(--muted)}.answer-body{font-size:13px;line-height:1.95;color:var(--text);overflow-wrap:anywhere;min-width:0}.answer-body> :first-child{margin-top:0}.answer-body p{margin:0 0 13px}.answer-body h1,.answer-body h2,.answer-body h3,.answer-body h4{font-size:16px;color:var(--brand);font-weight:650;margin:26px 0 10px;line-height:1.65;letter-spacing:-.4px}.answer-body h3,.answer-body h4{font-size:14px}.answer-body strong{font-weight:650;color:var(--brand-strong)}.answer-body ul,.answer-body ol{padding-left:24px;margin:12px 0 17px}.answer-body li{padding-left:3px;margin:6px 0}.answer-body li::marker{color:var(--muted)}.answer-body code{font-family:ui-monospace,"SFMono-Regular",Menlo,monospace;font-size:11px;padding:2px 5px;background:var(--soft);border-radius:4px;color:var(--brand-strong)}.answer-body pre{background:var(--soft);border:1px solid var(--line);padding:15px;border-radius:7px;overflow:auto;line-height:1.7;margin:16px 0}.answer-body pre code{background:none;padding:0}.answer-body blockquote{margin:18px 0;padding:3px 0 3px 16px;border-left:2px solid var(--border-strong);color:var(--muted)}.answer-body hr{border:0;border-top:1px solid var(--line);margin:25px 0}.answer-body a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}.citation{display:inline-flex;align-items:center;justify-content:center;font-size:9px;line-height:1;width:18px;height:18px;border-radius:4px;background:var(--soft);color:var(--brand);vertical-align:1px;margin:0 2px;font-weight:650;font-variant-numeric:tabular-nums}.citation:hover{background:var(--active);color:var(--brand)}.table-scroll{max-width:100%;overflow-x:auto;margin:17px 0}.answer-body table{border-collapse:collapse;font-size:11px;min-width:100%;text-align:left}.answer-body th,.answer-body td{padding:10px 11px;border-bottom:1px solid var(--line);min-width:95px;vertical-align:top;line-height:1.7}.answer-body th{background:var(--soft);color:var(--brand-strong);font-weight:600}.answer-body tbody tr:last-child td{border-bottom:0}.streaming-cursor{display:inline-block;width:5px;height:15px;vertical-align:-2px;background:var(--brand);border-radius:1px;margin-left:3px;animation:blink 1s infinite}.thinking{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;min-height:28px}.thinking-dots{display:flex;gap:3px}.thinking-dots i{width:4px;height:4px;background:var(--brand);border-radius:50%;animation:pulse 1.1s infinite}.thinking-dots i:nth-child(2){animation-delay:.15s}.thinking-dots i:nth-child(3){animation-delay:.3s}.message-actions{display:flex;align-items:center;gap:6px;margin-top:15px}.message-action{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--muted);padding:6px;border-radius:4px}.message-action svg{width:12px;height:12px}.message-action:hover{color:var(--brand);background:var(--hover)}.source-link-action{margin-left:7px}.message-feedback{display:flex;align-items:center;gap:8px;margin-top:14px;padding:11px 12px;border-radius:6px;background:var(--warning-soft);color:var(--warning);font-size:11px;line-height:1.7}.message-feedback svg{width:14px;height:14px;flex:none}.message-feedback>span{flex:1;overflow-wrap:anywhere}.message-feedback button{font-size:10px;white-space:nowrap;color:var(--warning);text-decoration:underline;text-underline-offset:3px}
.source-panel{border-left:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;min-width:0;overflow:hidden;transition:opacity .2s,transform .25s;z-index:22}.sources-closed .source-panel{opacity:0;pointer-events:none;visibility:hidden;transform:translateX(20px)}.source-header{height:105px;padding:29px 24px 22px;display:flex;justify-content:space-between;align-items:center;flex:none;gap:15px}.source-eyebrow{color:var(--muted);font-size:7px;letter-spacing:1.6px;font-weight:600}.source-header h2{font-size:14px;font-weight:650;margin:9px 0 0;letter-spacing:-.3px;color:var(--brand-strong);white-space:nowrap}.source-header h2>span{margin-left:5px;font-size:10px;font-weight:450;color:var(--muted)}.source-header .icon-button{align-self:flex-start;width:20px;height:20px;margin-top:13px}.source-header .icon-button svg{width:13px;height:13px}.source-panel-body{flex:1;overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent}.source-empty{padding:93px 26px 30px;animation:enter-up .65s both}.document-illustration{height:87px;width:91px;position:relative;margin-bottom:33px}.document-back{position:absolute;width:52px;height:68px;background:var(--soft);border:1px solid var(--line);border-radius:4px;left:29px;top:5px;transform:rotate(11deg)}.document-front{position:absolute;display:flex;flex-direction:column;gap:7px;width:54px;height:70px;top:12px;left:8px;padding:17px 10px;background:var(--raised);border:1px solid var(--line);border-radius:4px;transform:rotate(-7deg)}.document-front i{height:2px;display:block;background:var(--scrollbar);border-radius:2px}.document-front i:nth-child(2){width:80%}.document-front i:nth-child(3){width:92%}.document-front b{height:6px;width:16px;border-radius:1px;margin-top:3px;background:var(--scrollbar)}.document-check{position:absolute;bottom:1px;right:12px;width:26px;height:26px;border:4px solid var(--panel);border-radius:50%;background:var(--brand);color:var(--white)}.document-check svg{width:12px;height:12px}.source-empty h3{font-size:20px;line-height:1.65;letter-spacing:-.6px;color:var(--brand);font-weight:500;margin:0 0 15px}.source-empty>p{font-size:11px;line-height:1.95;color:var(--muted);margin:0}.source-empty-details{border-top:1px solid var(--line);margin-top:33px;padding-top:20px;display:flex;flex-direction:column;gap:15px}.source-empty-details>span{display:flex;align-items:center;gap:13px;font-size:10px;color:var(--muted)}.source-empty-details i{font-style:normal;font-size:8px;color:var(--muted);font-variant-numeric:tabular-nums}.source-footer{border-top:1px solid var(--soft);padding:19px 24px 22px;display:flex;align-items:center;gap:9px;flex:none;color:var(--muted)}.source-footer>span svg{width:15px;height:15px}.source-footer>div{display:flex;flex-direction:column;gap:4px;flex:1}.source-footer>div>span{font-size:9px;color:var(--muted)}.source-footer strong{font-size:10px;letter-spacing:.2px;color:var(--muted);font-weight:450}.source-footer .icon-button{width:19px}.source-footer .icon-button svg{width:13px;height:13px}.source-results{padding:2px 20px 25px;animation:enter-up .3s both}.source-summary{font-size:10px;color:var(--muted);line-height:1.85;padding:0 3px 15px;margin:0}.source-card{border-top:1px solid var(--line);padding:17px 3px;scroll-margin-top:10px;transition:background .2s,box-shadow .2s}.source-card.is-highlighted{background:var(--active);box-shadow:0 0 0 10px var(--active);border-radius:3px}.source-card-header{display:flex;align-items:flex-start;gap:9px}.source-number{width:20px;height:20px;display:inline-flex;justify-content:center;align-items:center;flex:none;border:1px solid var(--line);border-radius:4px;background:var(--soft);color:var(--brand);font-size:9px;line-height:1;margin-top:1px}.source-title{font-size:11px;font-weight:650;line-height:1.65;color:var(--brand-strong);margin:0;word-break:keep-all}.source-pinpoint{font-size:10px;color:var(--muted);line-height:1.6;margin:4px 0 0}.source-meta{display:flex;flex-wrap:wrap;gap:5px;margin:11px 0 10px 29px}.source-meta span{font-size:8px;border:1px solid var(--line);color:var(--muted);padding:3px 5px;border-radius:3px;line-height:1.3}.source-excerpt{font-size:10px;line-height:1.95;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 9px 29px;max-height:120px;overflow:hidden;position:relative}.source-excerpt.expanded{max-height:none}.source-excerpt.is-long:not(.expanded){mask-image:linear-gradient(to bottom,#000 75%,transparent)}.source-card-actions{display:flex;align-items:center;gap:12px;margin-left:29px}.source-expand{font-size:9px;color:var(--muted);padding:3px 0}.source-expand:hover{color:var(--brand)}.source-original{display:inline-flex;align-items:center;gap:3px;font-size:9px;color:var(--brand);padding:3px 0}.source-original svg{width:10px;height:10px}.source-original:hover{text-decoration:underline}.source-unlinked{font-size:8px;color:var(--muted)}
.mobile-only{display:none}.drawer-backdrop{position:fixed;inset:0;background:var(--scrim);z-index:23;backdrop-filter:blur(2px)}.help-dialog{border:1px solid var(--line);border-radius:15px;padding:28px 30px;width:min(480px,calc(100vw - 30px));max-height:calc(100dvh - 40px);background:var(--raised);color:var(--ink);box-shadow:0 25px 100px var(--shadow-dialog)}.help-dialog::backdrop{background:var(--dialog-scrim);backdrop-filter:blur(3px)}.help-dialog-header{display:flex;justify-content:space-between;align-items:center}.help-dialog h2{font-size:27px;font-weight:550;line-height:1.6;letter-spacing:-1px;color:var(--brand);margin:20px 0 15px}.help-dialog>p{font-size:12px;line-height:1.95;color:var(--muted);word-break:keep-all}.help-dialog dl{border-top:1px solid var(--line);margin:24px 0;padding-top:6px}.help-dialog dt{font-size:12px;font-weight:650;color:var(--brand-strong);margin:18px 0 7px}.help-dialog dd{font-size:11px;line-height:1.95;color:var(--muted);margin:0;word-break:keep-all}.setup-instructions{background:var(--soft);border-radius:7px;padding:16px;margin:20px 0}.setup-instructions h3{font-size:12px;margin:0 0 10px;color:var(--brand-strong)}.setup-instructions p{font-size:10px;line-height:1.9;color:var(--muted);margin:5px 0;overflow-wrap:anywhere}.setup-instructions code{font-size:10px;color:var(--brand-strong)}.help-done{display:block;width:100%;height:39px;background:var(--brand);color:white;border-radius:6px;font-size:12px;margin-top:22px}.help-done:hover{background:var(--brand-hover)}.toast{position:fixed;z-index:100;bottom:25px;left:50%;transform:translateX(-50%);background:var(--brand);color:var(--on-brand);border:1px solid var(--line);padding:12px 20px;border-radius:8px;font-size:12px;box-shadow:0 5px 25px var(--shadow-toast);max-width:calc(100vw - 32px);text-align:center;line-height:1.6;animation:toast-enter .2s}.app-loading .corpus-status .status-dot{animation:pulse 1.5s infinite}
@keyframes enter-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,40%{opacity:1}60%,100%{opacity:0}}@keyframes pulse{0%,80%,100%{opacity:.4}40%{opacity:1}}@keyframes toast-enter{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}
@media(min-width:1600px){.app-shell{grid-template-columns:250px minmax(0,1fr) 350px}.app-shell.sources-closed{grid-template-columns:250px minmax(0,1fr) 0}.sidebar{padding-left:25px;padding-right:25px}.welcome{max-width:690px;margin-top:12vh}.welcome h1{font-size:49px}.welcome-description{font-size:13px}.suggestion{padding:20px 17px}.suggestion strong{font-size:12px}.suggestion small{font-size:10px}.source-header,.source-footer{padding-left:29px;padding-right:29px}.source-empty{padding-left:32px}.source-results{padding-left:27px;padding-right:27px}}
@media(max-width:1279px){.app-shell,.app-shell.sources-closed{grid-template-columns:222px minmax(0,1fr)}.sidebar{padding-left:17px;padding-right:17px}.source-panel{position:fixed;right:0;top:0;bottom:0;width:330px;box-shadow:-15px 0 45px var(--shadow-drawer);z-index:26}.sources-closed .source-panel{transform:translateX(100%)}.welcome{max-width:660px}.topbar{padding:0 26px}.source-header{height:85px}.source-empty{padding-top:80px}.source-open .drawer-backdrop{z-index:24}}
@media(max-width:900px){.app-shell,.app-shell.sources-closed{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;transform:translateX(-100%);transition:transform .25s ease;padding-top:28px;z-index:26;visibility:hidden}.app-shell.menu-open .sidebar{transform:translateX(0);visibility:visible}.mobile-only{display:inline-flex}.brand-description{margin-bottom:27px}.new-chat-shortcut{display:none}.topbar{height:66px;padding:0 21px}.workspace-heading{gap:9px}.workspace-heading>.icon-button{margin-left:-5px;margin-right:4px}.workspace-label{display:none}.topbar-actions{gap:10px}.welcome{margin-top:75px;max-width:650px;width:calc(100% - 88px)}.history-delete{opacity:1}.source-panel{width:340px}.source-empty{padding-top:80px}.messages{max-width:760px;padding-left:35px;padding-right:35px}.composer-area{padding-left:29px;padding-right:29px}.keyboard-hint{display:none}.composer-meta{justify-content:center}.workspace-title{max-width:240px}}
@media(max-width:600px){.topbar{height:60px;padding:0 14px;gap:8px}.topbar-actions{gap:6px}.workspace-title{font-size:12px;max-width:135px}.date-button{font-size:9px;gap:4px}.date-button>span[data-icon]:first-child{display:none}.date-button svg{width:10px;height:10px}.sources-toggle{gap:5px}.sources-toggle>span:nth-child(2){display:none}.source-count{min-width:15px;height:15px;line-height:15px;font-size:8px}.topbar-divider{margin:0 2px}.export-button{display:none}.welcome{margin:40px 25px 28px;width:auto;max-width:none}.eyebrow{font-size:7px;letter-spacing:1.3px}.welcome h1{font-size:34px;letter-spacing:-1.7px;margin:18px 0 13px;line-height:1.43}.welcome-description{font-size:11px;line-height:1.85}.suggestions{grid-template-columns:1fr;gap:8px;margin-top:29px}.suggestion{padding:12px 13px;gap:11px}.suggestion-icon{width:25px;height:30px}.suggestion-icon svg{width:20px;height:20px}.suggestion strong{font-size:11px;line-height:1.5}.suggestion small{font-size:9px;margin-top:3px}.suggestion-arrow{align-self:center}.welcome-footnote{font-size:8px;margin:18px 0 0;line-height:1.7;gap:5px}.welcome-footnote svg{width:10px;height:10px}.composer-area{padding:11px 14px calc(13px + env(safe-area-inset-bottom))}.composer{padding:12px 12px 9px;border-radius:10px}.composer textarea{font-size:16px;line-height:1.65;min-height:27px}.composer textarea::placeholder{font-size:11px;line-height:2.3}.composer-bottom{margin-top:6px}.composer-context{font-size:8px}.composer-meta{font-size:7px;margin-top:8px}.send-button{width:31px;height:31px}.connection-notice{font-size:9px;gap:6px;align-items:flex-start}.connection-notice>span[data-icon]{margin-top:2px}.connection-notice button{font-size:9px}.messages{padding:23px 20px 18px}.message{margin-bottom:25px}.message.user{margin-bottom:28px}.user-content{font-size:12px;padding:11px 14px;max-width:91%}.answer-body{font-size:12px;line-height:1.95}.answer-body h2,.answer-body h1{font-size:15px}.answer-body h3{font-size:13px}.assistant-heading{margin-bottom:13px}.source-panel{top:50px;border-radius:15px 15px 0 0;width:100%;bottom:0;box-shadow:0 -10px 45px var(--shadow-sheet)}.sources-closed .source-panel{transform:translateY(100%)}.source-header{height:85px;padding:23px 24px 15px}.source-header h2{font-size:15px}.source-empty{padding:40px 30px 25px;max-width:350px}.source-results{padding-left:25px;padding-right:25px}.source-title{font-size:12px}.source-excerpt{font-size:11px;max-height:150px}.source-footer{padding-bottom:calc(17px + env(safe-area-inset-bottom))}.source-card{padding:19px 3px}.source-meta span{font-size:9px}.help-dialog{padding:22px}.help-dialog h2{font-size:25px}.date-popover{right:-55px}.message-feedback{font-size:10px;flex-wrap:wrap}.message-feedback>span{min-width:180px}}
@media(max-height:760px) and (min-width:901px){.welcome{margin-top:40px;margin-bottom:25px}.welcome h1{font-size:36px;line-height:1.4;margin-top:17px;margin-bottom:13px}.suggestions{margin-top:25px;gap:9px}.suggestion{padding-top:13px;padding-bottom:13px}.welcome-footnote{margin-top:17px}.source-empty{padding-top:55px}.composer-area{padding-bottom:14px}.brand-description{margin-bottom:25px}.sidebar{padding-top:27px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.conversation-scroll{scroll-behavior:auto}}
@media(max-width:600px){.export-button{display:inline-flex;width:21px}.workspace-title{max-width:108px}.topbar-actions{gap:5px}}

html.file-preview-page{height:auto;overflow:auto}
.file-preview{display:grid;place-items:center;min-height:100dvh;height:auto;overflow:auto;padding:32px 24px}
.file-preview .app-shell,.file-preview .skip-link{display:none}
.file-entry{width:100%;max-width:460px;margin:40px auto;color:var(--ink)}
.file-entry-brand .brand-logo{width:190px;max-width:100%;height:auto}
.file-entry-brand{color:var(--brand);font-size:24px;font-weight:800;letter-spacing:-1px}
.file-entry h1{font-size:28px;line-height:1.5;letter-spacing:-1px;font-weight:600;margin:30px 0 15px;word-break:keep-all}
.file-entry p{font-size:14px;line-height:1.9;color:var(--muted);word-break:keep-all}
.file-entry-link{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--brand);color:white;border-radius:8px;padding:16px 20px;margin-top:28px;font-size:14px;font-weight:600}
.file-entry-link:hover{background:var(--brand-hover)}
.file-entry .file-entry-help{font-size:12px;color:var(--muted);margin-top:18px}

/* Scope and source provenance extend the existing workspace without changing its layout. */
.scope-controls{max-width:740px;margin:0 auto 9px;display:flex;align-items:center;gap:9px;font-size:10px;color:var(--muted);min-height:26px}
.scope-controls>label{font-size:9px;color:var(--muted);flex:none}
.jurisdiction-select{position:relative;display:flex;align-items:center;flex:none}
.jurisdiction-select select{appearance:none;border:1px solid var(--line);border-radius:5px;background:var(--soft);color:var(--brand-strong);font:inherit;font-size:10px;min-height:27px;padding:4px 26px 4px 9px;cursor:pointer}
.jurisdiction-select>span{position:absolute;right:8px;pointer-events:none;color:var(--muted)}
.jurisdiction-select svg{width:10px;height:10px}
.jurisdiction-select select:disabled{opacity:.65;cursor:default}
#jurisdiction-note{font-size:9px;color:var(--muted);line-height:1.65;word-break:keep-all}
.welcome-corpus{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 0 0;border-top:1px solid var(--line);margin-top:23px;text-align:left;color:var(--muted);font-size:9px;line-height:1.75}
.welcome-corpus>span:last-child{display:flex;align-items:center;gap:4px;white-space:nowrap;color:var(--brand)}
.welcome-corpus svg{width:10px;height:10px}
.welcome-corpus:hover>span:last-child{color:var(--brand)}
.corpus-detail-button{display:flex;align-items:center;gap:4px;padding:0;margin:-12px 0 15px 13px;font-size:9px;color:var(--brand)}
.corpus-detail-button svg{width:10px;height:10px}
.corpus-detail-button:hover{text-decoration:underline;text-underline-offset:3px}
.answer-kind{font-size:8px;font-weight:500;letter-spacing:0;color:var(--brand-strong);border:1px solid var(--line);background:var(--soft);border-radius:4px;padding:3px 5px;white-space:nowrap}
.answer-coverage{margin:0 0 19px;padding:13px 14px;background:var(--warning-soft);border-left:2px solid var(--warning-line);border-radius:0 6px 6px 0;color:var(--warning);font-size:10px;line-height:1.8}
.coverage-title{display:flex;align-items:flex-start;gap:6px;color:var(--warning)}
.coverage-title svg{height:13px;width:13px;margin-top:3px}
.coverage-title strong{font-size:10px;font-weight:600}
.answer-coverage>p{margin:5px 0 0 19px;overflow-wrap:anywhere}
.coverage-gaps{margin:7px 0 0 19px;font-size:9px}
.coverage-gaps summary{cursor:pointer;color:var(--warning);width:fit-content}
.coverage-gaps summary:focus-visible,.corpus-overview summary:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
.coverage-gaps ul{margin:8px 0 0;padding-left:16px}
.coverage-gaps li{margin:5px 0;overflow-wrap:anywhere}
.source-meta .source-type{background:var(--soft);border-color:var(--line);color:var(--brand-strong);font-weight:600}
.source-meta .source-type-interpretation,.source-meta .source-type-precedent{background:var(--sidebar);border-color:var(--line);color:var(--brand-strong)}
.source-meta .source-type-guidance{background:var(--warning-soft);border-color:var(--warning-line);color:var(--warning)}
.source-relation{margin:0 0 6px 29px;font-size:9px;line-height:1.75;color:var(--muted);overflow-wrap:anywhere}
.source-observed{margin:0 0 11px 29px;font-size:8px;line-height:1.7;color:var(--muted)}
.source-text-label{font-size:8px;letter-spacing:.3px;color:var(--muted);margin:10px 0 5px 29px;font-weight:600}
.source-card-actions{flex-wrap:wrap;gap:7px 12px}
.source-attachments{border-top:1px dashed var(--line);margin:13px 0 0 29px;padding-top:10px;display:flex;flex-direction:column;gap:10px}
.source-attachment a{display:flex;align-items:flex-start;gap:5px;font-size:9px;line-height:1.65;color:var(--brand);overflow-wrap:anywhere}
.source-attachment a>svg{width:11px;height:11px;margin-top:3px}
.source-attachment a>span{min-width:0;flex:1}
.source-attachment a>small{flex:none;font-size:7px;color:var(--muted);letter-spacing:.3px;border:1px solid var(--line);border-radius:3px;padding:0 3px;margin-top:2px}
.source-attachment a:hover>span{text-decoration:underline;text-underline-offset:3px}
.attachment-pending{font-size:8px;color:var(--warning);margin:4px 0 0 16px;line-height:1.7}
.source-warnings{margin:12px 0 0 29px;padding:9px 10px 9px 22px;border-radius:4px;background:var(--warning-soft);color:var(--warning);font-size:9px;line-height:1.75;overflow-wrap:anywhere}
.source-warnings li+li{margin-top:5px}
.source-footer>div>small{font-size:8px;line-height:1.7;color:var(--muted);word-break:keep-all;margin-top:3px}
.corpus-overview{margin:23px 0 0;padding:18px;background:var(--soft);border:1px solid var(--line);border-radius:8px;scroll-margin-top:12px}
.corpus-overview h3{font-size:13px;font-weight:600;color:var(--brand-strong);margin:0 0 6px}
.corpus-overview>p{font-size:10px;color:var(--muted);line-height:1.8;margin:0}
.corpus-overview #corpus-overview-stats{display:flex;flex-direction:column;gap:9px;margin:14px 0;border:0;padding:0}
.corpus-overview #corpus-overview-stats>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.corpus-overview #corpus-overview-stats dt{font-size:10px;color:var(--muted);font-weight:400;margin:0}
.corpus-overview #corpus-overview-stats dd{font-size:10px;color:var(--brand-strong);line-height:1.6;text-align:right;font-variant-numeric:tabular-nums}
.corpus-overview .corpus-currency{padding-top:12px;border-top:1px solid var(--line);font-size:9px;color:var(--muted);line-height:1.85}
.corpus-overview details{margin-top:12px;color:var(--muted);font-size:10px}
.corpus-overview summary{cursor:pointer;font-size:10px;color:var(--brand);line-height:1.7}
.corpus-overview ul{padding-left:16px;font-size:10px;line-height:1.85;margin:9px 0 0}
.corpus-overview li{margin-top:6px;overflow-wrap:anywhere}
.corpus-supplements{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.corpus-supplements h4{font-size:10px;font-weight:600;color:var(--brand-strong);margin:0 0 5px}
.corpus-supplements p,.corpus-review-empty{font-size:10px;color:var(--muted);line-height:1.8;margin:0;overflow-wrap:anywhere}
.corpus-supplements p+p{margin-top:4px}
.corpus-review-empty{margin-top:12px}
@media(max-width:600px){
  .scope-controls{gap:7px;margin-bottom:8px}
  .scope-controls>label{font-size:8px}
  .jurisdiction-select select{font-size:10px;min-height:27px}
  #jurisdiction-note{font-size:8px;line-height:1.55}
  .welcome-corpus{font-size:8px;margin-top:18px;padding-top:12px}
  .welcome{margin-top:31px}
  .assistant-heading{flex-wrap:wrap;gap:7px}
  .assistant-heading time{font-size:8px}
  .answer-kind{font-size:7px}
  .answer-coverage{padding:11px 12px;font-size:10px}
  .source-text-label,.source-observed{font-size:9px}
  .source-attachment a{font-size:10px}
  .source-attachment a>small{font-size:8px}
  .attachment-pending,.source-warnings{font-size:9px}
  .corpus-overview{padding:15px}
}
