/* Shared colors and type tokens are owned by site.css. */
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}body{margin:0;min-width:320px;max-width:100%;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:var(--sans)}button,input,textarea,select{font:inherit}.archive-grid{position:fixed;z-index:-1;inset:0;background-image:linear-gradient(rgba(16,35,31,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(16,35,31,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 760px);pointer-events:none}
.research-nav{height:70px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;border-bottom:1px solid rgba(206,199,184,.8);position:sticky;top:0;z-index:20;background:rgba(241,238,229,.94);backdrop-filter:blur(16px)}.research-brand{display:flex;align-items:center;gap:12px;min-width:270px;color:var(--ink);text-decoration:none}.research-brand>span:last-child{display:flex;flex-direction:column}.research-brand b{font:700 18px var(--serif);letter-spacing:.08em}.research-brand small{font:500 8px var(--mono);letter-spacing:.16em;color:var(--muted);margin-top:2px}.brand-seal{display:grid;place-items:center;width:35px;height:35px;background:var(--red);color:#fff;font:600 17px var(--serif);box-shadow:3px 3px 0 rgba(203,77,55,.16)}.research-nav nav{display:flex;gap:30px;margin:auto}.research-nav nav a{position:relative;color:var(--muted);font-size:12px;text-decoration:none}.research-nav nav a:hover,.research-nav nav a.active{color:var(--ink)}.research-nav nav a.active:after{content:"";position:absolute;left:50%;bottom:-25px;width:27px;height:2px;background:var(--red);transform:translateX(-50%)}.index-status{min-width:270px;display:flex;justify-content:flex-end;align-items:center;gap:9px;color:var(--muted);font:10px var(--mono)}.index-status i{width:7px;height:7px;border-radius:50%;background:#a4a79f;box-shadow:0 0 0 5px rgba(116,139,130,.1)}.index-status.ready i{background:#3e8a6e;animation:pulse 2.5s infinite}.index-status.error i{background:var(--red)}
main{width:min(1500px,100%);margin:auto;padding:0 clamp(18px,4.7vw,72px) 45px}.research-hero{min-height:250px;padding:42px 0 34px;display:flex;align-items:center;justify-content:space-between}.eyebrow{font:500 10px var(--mono);letter-spacing:.17em;color:var(--red);margin:0 0 17px}.research-hero h1{font:600 clamp(36px,4.2vw,61px)/1.17 var(--serif);letter-spacing:-.065em;margin:0}.research-hero h1 em{font-style:normal;color:var(--red)}.hero-folio{width:min(370px,31vw);display:grid;grid-template-columns:75px 1fr;gap:19px;border-top:1px solid var(--ink);padding-top:17px;margin-top:52px}.hero-folio span{font:600 15px var(--serif);color:var(--gold)}.hero-folio p{margin:0;color:var(--muted);font-size:11px;line-height:1.85}
.project-bar{height:58px;min-width:0;display:flex;align-items:center;border:1px solid var(--line);background:rgba(248,245,236,.76)}.project-bar label{height:100%;min-width:min(420px,40vw);padding:8px 17px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.project-bar label span{font:8px var(--mono);color:var(--muted);letter-spacing:.1em}.project-bar select{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);font:600 13px var(--serif);outline:0;padding:0;text-overflow:ellipsis}.project-stats{display:flex;gap:27px;margin-left:20px}.project-stats span{font:8px var(--mono);color:var(--muted)}.project-stats b{font-size:13px;color:var(--ink);margin-right:5px}.project-bar>button{height:100%;margin-left:auto;border:0;border-left:1px solid var(--line);padding:0 20px;background:transparent;color:var(--ink);font-size:11px;white-space:nowrap;cursor:pointer}.project-bar>button:hover{background:#e9e4d8;color:var(--red)}
.intake-deck{display:grid;grid-template-columns:90px minmax(300px,1.5fr) minmax(230px,.8fr) 185px;min-height:142px;background:var(--ink);color:#fff;box-shadow:0 22px 55px rgba(16,35,31,.12)}.intake-deck>*{min-width:0}.intake-number{border-right:1px solid #395048;padding:20px;display:flex;flex-direction:column;justify-content:space-between}.intake-number span{font:500 30px var(--mono);color:var(--red)}.intake-number small{font:8px/1.5 var(--mono);letter-spacing:.08em;color:#80968e}.url-intake{padding:20px 22px;border-right:1px solid #395048}.url-intake label{display:block;color:#9fb1ab;font:9px var(--mono);letter-spacing:.12em;margin-bottom:8px}.url-intake textarea{display:block;width:100%;height:58px;resize:none;border:1px solid #3e574f;background:#17302b;color:#fff;padding:10px 12px;outline:0;line-height:1.45}.url-intake textarea:focus{border-color:#d1b979}.url-intake small{display:block;margin-top:7px;color:#718a82;font-size:8px}.file-drop{position:relative;padding:19px 20px;border-right:1px solid #395048;display:grid;grid-template-columns:37px minmax(0,1fr);align-content:center;gap:2px 11px;cursor:pointer;transition:.2s}.file-drop:hover,.file-drop.dragging,.file-drop.reading{background:#18352f}.file-drop.reading{cursor:wait}.file-drop input{display:none}.drop-mark{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border:1px solid #657c74;border-radius:50%;color:var(--gold);font-size:19px}.file-drop b{align-self:end;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-drop small{align-self:start;color:#789088;font:8px var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.index-button{border:0;background:var(--red);color:white;margin:20px;height:48px;align-self:center;padding:0 15px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:600;white-space:nowrap;cursor:pointer;transition:.2s}.index-button:hover{background:#de5a43;transform:translateY(-2px)}.index-button:disabled{opacity:.48;cursor:wait;transform:none}.index-button b{font:400 18px var(--mono)}
.indexing-stage{min-height:142px;background:var(--ink);color:#dce5e1;display:flex;align-items:center;justify-content:center;gap:25px}.indexing-orbit{position:relative;width:74px;height:74px;display:grid;place-items:center}.indexing-orbit i{position:absolute;inset:0;border:1px solid #365149;border-radius:50%;border-top-color:var(--red);animation:spin 1.3s linear infinite}.indexing-orbit i:nth-child(2){inset:9px;border-top-color:transparent;border-right-color:var(--gold);animation-duration:1.8s;animation-direction:reverse}.indexing-orbit i:nth-child(3){inset:19px;border-right-color:transparent;border-bottom-color:#78a18f;animation-duration:2.1s}.indexing-orbit span{font:500 10px var(--mono)}.indexing-stage p{font:600 15px var(--serif);margin:0 0 7px}.indexing-stage small{color:#789088;font:8px var(--mono);letter-spacing:.04em}
.research-workspace{display:grid;grid-template-columns:340px minmax(0,1fr);border:1px solid var(--line);border-top:0;min-height:620px;background:rgba(248,245,236,.65)}.source-ledger{border-right:1px solid var(--line);min-width:0}.source-ledger>header,.desk-heading{height:91px;padding:20px 22px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line)}.source-ledger header span,.desk-heading span{font:500 8px var(--mono);letter-spacing:.13em;color:var(--red)}.source-ledger h2,.desk-heading h2{font:600 20px var(--serif);letter-spacing:-.04em;margin:6px 0 0}.source-ledger header>b{font:500 27px var(--mono);color:#9aa09a}.source-list{max-height:650px;overflow:auto}.source-card{position:relative;padding:18px 44px 17px 20px;border-bottom:1px solid var(--line);scroll-margin-top:85px;animation:reveal .4s ease both}.source-card:target{background:#eee8da;box-shadow:inset 3px 0 var(--red)}.source-type{display:flex;align-items:center;gap:7px;margin-bottom:8px;color:var(--muted);font:8px var(--mono);letter-spacing:.08em}.source-type i{width:6px;height:6px;border-radius:50%;background:var(--gold)}.source-card h3{font:600 13px/1.55 var(--serif);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.source-card p{font-size:9px;color:var(--muted);line-height:1.65;margin:8px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.source-meta{font:8px var(--mono);color:#89908b}.source-card>a{color:inherit;text-decoration:none}.remove-source{position:absolute;right:14px;top:17px;width:24px;height:24px;border:0;background:transparent;color:#a09f96;cursor:pointer}.remove-source:hover{color:var(--red)}.source-empty{padding:70px 20px;text-align:center;color:var(--muted)}.source-empty>span{display:grid;place-items:center;width:55px;height:55px;border:1px solid #b9b5a9;border-radius:50%;margin:auto;font:31px Georgia}.source-empty p{font:600 14px var(--serif);color:var(--ink);margin:18px 0 7px}.source-empty small{font-size:9px}
.analysis-desk{min-width:0;padding-bottom:25px}.desk-actions{display:flex;gap:7px}.desk-actions button{border:1px solid var(--line);background:transparent;color:var(--muted);padding:7px 10px;font-size:9px;cursor:pointer}.desk-actions button:not(:disabled):hover{border-color:var(--ink);color:var(--ink)}.desk-actions button:disabled{opacity:.4;cursor:not-allowed}.mode-switch{display:flex;gap:0;padding:17px 22px 0;overflow:auto;scrollbar-width:none}.mode-switch button{flex:0 0 auto;border:1px solid var(--line);border-right:0;background:transparent;color:var(--muted);padding:8px 13px;font-size:9px;cursor:pointer}.mode-switch button:last-child{border-right:1px solid var(--line)}.mode-switch button:hover,.mode-switch button.active{background:var(--ink);border-color:var(--ink);color:#fff}.research-command{display:grid;grid-template-columns:1fr 130px;padding:12px 22px 18px;gap:9px;border-bottom:1px solid var(--line)}.research-command textarea{min-width:0;resize:vertical;min-height:54px;max-height:130px;border:1px solid var(--line);background:#fbf9f2;color:var(--ink);padding:10px 12px;outline:0;line-height:1.55}.research-command textarea:focus{border-color:var(--ink)}.research-command button{border:0;background:var(--red);color:white;padding:0 13px;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;cursor:pointer}.research-command button:hover{background:#dc5942}.research-command button:disabled{opacity:.45;cursor:wait}.research-command .pause-button{background:var(--ink)}.report-empty{min-height:335px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px}.evidence-rings{position:relative;width:78px;height:78px;display:grid;place-items:center;margin-bottom:20px}.evidence-rings i{position:absolute;inset:0;border:1px solid #b9b8ae;border-radius:50%}.evidence-rings i:nth-child(2){inset:12px}.evidence-rings span{font:500 10px var(--mono);color:var(--red)}.report-empty h3{font:600 22px var(--serif);margin:0 0 10px}.report-empty p{max-width:470px;color:var(--muted);font-size:11px;line-height:1.8;margin:0}.report-loading{min-height:300px;display:flex;justify-content:center;align-items:center;gap:17px}.report-loading>i,.stream-status i{width:24px;height:24px;border:1px solid #b6b5ab;border-top-color:var(--red);border-radius:50%;animation:spin 1s linear infinite}.report-loading div{display:flex;flex-direction:column;gap:5px}.report-loading b{font:600 14px var(--serif)}.report-loading span{font:8px var(--mono);color:var(--muted)}.report-content{padding:27px 32px 10px;color:var(--ink);font-size:14px;line-height:1.84;overflow-wrap:anywhere}.markdown-body>:first-child{margin-top:0}.markdown-body h1,.markdown-body h2,.markdown-body h3{font-family:var(--serif);line-height:1.4;margin:1.35em 0 .55em}.markdown-body h1{font-size:25px}.markdown-body h2{font-size:19px;border-bottom:1px solid var(--line);padding-bottom:8px}.markdown-body h3{font-size:16px}.markdown-body p{margin:.7em 0}.markdown-body ul,.markdown-body ol{padding-left:1.5em}.markdown-body strong{color:#9f3928}.markdown-body table{display:block;width:max-content;max-width:100%;overflow:auto;border-collapse:collapse;font-size:12px;margin:1em 0}.markdown-body th,.markdown-body td{border:1px solid var(--line);padding:8px 10px;text-align:left}.markdown-body th{background:#e9e4d8}.markdown-body blockquote{border-left:2px solid var(--red);padding:.2em 1em;margin:1em 0;color:var(--muted);background:#eeeadf}.markdown-body a{color:var(--red);text-underline-offset:3px}.evidence-strip{margin:18px 32px 0;padding-top:15px;border-top:1px solid var(--line)}.evidence-strip>span{font:8px var(--mono);letter-spacing:.1em;color:var(--muted)}.evidence-strip>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.evidence-chip{border:1px solid var(--line);background:#f8f5ec;color:var(--ink);padding:6px 8px;font:8px var(--mono);text-decoration:none}.evidence-chip:hover{border-color:var(--red);color:var(--red)}.stream-status{display:flex;align-items:center;gap:8px;margin:18px 32px 0;padding-top:13px;border-top:1px solid var(--line);color:var(--muted);font:8px var(--mono)}.stream-status i{width:14px;height:14px}.research-footer{display:flex;justify-content:space-between;gap:25px;color:#828983;font:8px/1.6 var(--mono);padding:15px 1px}.toast{position:fixed;z-index:50;left:50%;bottom:27px;max-width:min(520px,88vw);transform:translateX(-50%);background:var(--ink);color:white;padding:11px 15px;box-shadow:0 12px 35px rgba(0,0,0,.2);font-size:11px}.toast.error{background:#8c3022}
.project-bar>.new-project-button{margin-left:auto}.project-bar>.sync-project-button{padding:0 14px;color:var(--sage);font:10px var(--mono)}.project-bar>.sync-project-button:not([hidden])~.new-project-button{margin-left:0}.project-bar>.sync-project-button:hover{color:var(--ink);background:rgba(107,131,112,.12)}.project-bar>.delete-project-button{margin-left:0;padding:0 14px;display:flex;align-items:center;gap:6px;color:#8c5147}.delete-project-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.project-bar>.delete-project-button:hover{color:#fff;background:var(--red)}.project-bar>button:disabled{opacity:.42;cursor:not-allowed}
.project-bar>.sync-project-button[hidden]{display:none!important}
@keyframes syncAttention{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(107,131,112,0)}12%{opacity:.58;box-shadow:0 0 0 4px rgba(107,131,112,.16)}24%{opacity:1;box-shadow:0 0 0 0 rgba(107,131,112,0)}36%{opacity:.58;box-shadow:0 0 0 4px rgba(107,131,112,.16)}48%{opacity:1;box-shadow:0 0 0 0 rgba(107,131,112,0)}60%{opacity:.58;box-shadow:0 0 0 4px rgba(107,131,112,.16)}72%{opacity:1;box-shadow:0 0 0 0 rgba(107,131,112,0)}}.project-bar>.sync-project-button.sync-attention{animation:syncAttention 2.4s ease-in-out 1}
@media(prefers-reduced-motion:reduce){.project-bar>.sync-project-button.sync-attention{animation:none}}
body.modal-open{overflow:hidden}.research-modal{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;border:0;background:rgba(7,24,20,.64);backdrop-filter:blur(5px);cursor:default}.modal-panel{position:relative;width:min(470px,100%);background:var(--card);border:1px solid var(--line);border-top:3px solid var(--red);box-shadow:0 30px 90px rgba(4,20,16,.3);animation:modalReveal .24s ease both}.modal-heading{min-height:92px;padding:18px 20px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-heading span{font:500 8px var(--mono);letter-spacing:.13em;color:var(--red)}.modal-heading h2{font:600 22px var(--serif);margin:7px 0 0;letter-spacing:-.04em}.modal-close{width:34px;height:34px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:22px;line-height:1;cursor:pointer}.modal-close:hover{border-color:var(--ink);color:var(--ink)}.modal-body{padding:22px}.modal-field{display:block}.modal-field>span{display:block;margin-bottom:8px;font:500 9px var(--mono);letter-spacing:.1em;color:var(--muted)}.modal-field input{display:block;width:100%;height:52px;border:1px solid var(--line);background:#fbf9f2;color:var(--ink);padding:0 14px;font:600 15px var(--serif);outline:0}.modal-field input:focus{border-color:var(--ink);box-shadow:inset 3px 0 var(--red)}.modal-body>p{margin:14px 0 22px;color:var(--muted);font-size:11px;line-height:1.75}.modal-body .delete-project-copy{font-size:13px;color:var(--ink);margin-top:0}.delete-project-copy strong{color:var(--red);font-weight:600}.modal-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:8px}.modal-actions button{height:46px;border:1px solid var(--line);padding:0 14px;font-size:11px;font-weight:600;cursor:pointer}.modal-actions button:disabled{opacity:.45;cursor:wait}.modal-secondary{background:transparent;color:var(--muted)}.modal-secondary:hover{border-color:var(--ink);color:var(--ink)}.modal-primary{border-color:var(--ink)!important;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between}.modal-primary b{font:400 16px var(--mono)}.modal-primary:hover{background:var(--ink2)}.modal-danger{border-color:var(--red)!important;background:var(--red);color:#fff}.modal-danger:hover{background:#ad3e2b}.danger-panel{border-top-color:#9f3928}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(62,138,110,0)}}@keyframes reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes modalReveal{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.intake-deck{grid-template-columns:90px minmax(300px,1.5fr) minmax(230px,.8fr) 240px}.index-button{height:52px;margin:0 16px;font-size:14px}
.research-command{grid-template-columns:minmax(0,1fr) 150px;align-items:start}.research-command textarea{width:100%;height:58px;min-height:58px}.research-command button{height:58px}
@media(max-width:1050px){.index-status{display:none}.research-brand{min-width:auto}.hero-folio{display:none}.project-bar label{min-width:0}.intake-deck{grid-template-columns:75px minmax(0,1fr) 230px;grid-template-rows:71px 71px}.intake-number{grid-row:1/3}.url-intake{grid-row:1/3}.file-drop{grid-column:3;grid-row:1;min-height:71px;padding:10px 15px;border-bottom:1px solid #395048}.index-button{grid-column:3;grid-row:2;margin:11px 14px;height:48px}.research-workspace{grid-template-columns:1fr}.source-ledger{border-right:0;border-bottom:1px solid var(--line)}.source-list{display:flex;overflow:auto;max-height:none}.source-card{min-width:280px;border-right:1px solid var(--line)}.source-empty{padding:52px 20px}}
@media(max-width:720px){.research-nav{height:60px;padding:0 13px}.research-brand b{font-size:14px}.research-brand small{display:none}.brand-seal{width:31px;height:31px}.research-nav nav{margin-left:auto;gap:13px}.research-nav nav a{font-size:10px}.research-nav nav a:first-child{display:none}.research-nav nav a.active:after{display:none}main{padding:0 11px 30px}.research-hero{min-height:0;padding:29px 2px 24px}.eyebrow{font-size:8px;margin-bottom:12px}.research-hero h1{font-size:33px}.project-bar{display:grid;grid-template-columns:minmax(0,1fr) 105px;align-items:stretch;height:56px;min-height:56px}.project-bar label{width:auto;height:56px;min-width:0;border-bottom:0;justify-content:center}.project-stats{display:none}.project-bar>button{display:grid;place-items:center;width:auto;height:56px;margin-left:0;border-bottom:0;padding:0 8px}.intake-deck{grid-template-columns:1fr;grid-template-rows:none}.intake-number{display:none;grid-row:auto}.url-intake,.file-drop{grid-column:auto;grid-row:auto;border-right:0;border-bottom:1px solid #395048}.file-drop{min-height:82px;padding:19px 20px}.index-button{grid-column:auto;grid-row:auto;margin:14px;height:46px}.indexing-stage{min-height:180px;flex-direction:column;gap:14px;text-align:center}.research-workspace{grid-template-columns:1fr}.source-ledger{border-right:0;border-bottom:1px solid var(--line)}.source-ledger>header,.desk-heading{height:78px;padding:16px}.source-list{display:flex;overflow:auto;max-height:none}.source-card{min-width:240px;border-right:1px solid var(--line)}.source-empty{padding:42px 20px}.mode-switch{padding:13px 13px 0}.research-command{grid-template-columns:1fr;padding:10px 13px 15px}.research-command textarea{height:58px;min-height:58px;padding:16px 12px;line-height:24px}.research-command textarea:placeholder-shown{text-align:center}.research-command button{height:44px}.report-empty{min-height:290px;padding:35px 20px}.report-content{padding:22px 15px 8px;font-size:13px}.evidence-strip,.stream-status{margin-left:15px;margin-right:15px}.research-footer{flex-direction:column;gap:5px}.desk-actions button{padding:6px 7px}}
@media(max-width:720px){.project-bar{grid-template-columns:minmax(0,1fr) 105px 44px}.project-bar.has-account-sync{grid-template-columns:minmax(0,1fr) 88px 105px 44px}.project-bar label,.project-bar>button{height:auto}.project-bar>.sync-project-button{grid-column:2;margin-left:0;padding:0 6px}.project-bar>.new-project-button{grid-column:2;margin-left:0}.project-bar.has-account-sync>.new-project-button{grid-column:3}.project-bar>.delete-project-button{grid-column:3;margin-left:0;padding:0;justify-content:center}.project-bar.has-account-sync>.delete-project-button{grid-column:4}.delete-project-button span{display:none}.research-modal{place-items:end center;padding:0}.modal-panel{width:100%;max-height:calc(100dvh - 16px);overflow:auto;border-right:0;border-left:0;border-bottom:0;animation:sheetReveal .24s ease both}.modal-heading{min-height:82px;padding:16px}.modal-heading h2{font-size:20px}.modal-body{padding:18px 16px calc(18px + env(safe-area-inset-bottom))}.modal-actions{grid-template-columns:1fr 1.2fr}.modal-actions button{height:48px}}
@media(max-width:720px){.research-nav nav{margin:0 0 0 auto}}
@keyframes sheetReveal{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.url-intake small{line-height:1.45}
.file-drop-files{grid-column:2;display:grid;gap:3px;min-width:0;max-height:60px;overflow:auto}.file-drop-file{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid rgba(120,144,136,.48);border-radius:4px;padding:3px 6px;background:rgba(4,20,16,.26);color:inherit;text-align:left;font:8px/1.25 var(--mono)}.file-drop-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-drop-file-remove{flex:0 0 auto;width:18px;height:18px;border:0;border-radius:50%;padding:0;background:transparent;color:var(--red);font:14px/1 Arial,sans-serif;cursor:pointer}.file-drop-file-remove:hover,.file-drop-file-remove:focus-visible{background:rgba(203,77,55,.16);outline:none}.file-drop-file[disabled]{opacity:.5;cursor:not-allowed}
.index-failure{margin-top:9px;padding:8px 10px;border:1px solid rgba(203,77,55,.62);background:rgba(95,34,27,.42);color:#f3d7d0;font-size:8px;line-height:1.45}
.index-failure strong{display:block;color:#ffad9c;font:600 9px var(--sans);margin-bottom:3px}
.index-failure ul{margin:0;padding-left:14px;max-height:70px;overflow:auto}
.index-failure li{overflow-wrap:anywhere}
.index-failure>small{display:block;margin-top:5px;color:#e2ada2;font-size:8px}
.research-follow-up{margin:28px 32px 4px;border:1px solid var(--line);background:rgba(251,249,242,.72)}
.follow-up-heading{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(280px,1.25fr);gap:24px;align-items:end;padding:20px 22px 18px;border-top:3px solid var(--ink);border-bottom:1px solid var(--line)}
.follow-up-heading span{font:500 8px var(--mono);letter-spacing:.13em;color:var(--red)}
.follow-up-heading h3{font:600 20px var(--serif);letter-spacing:-.04em;margin:7px 0 0}
.follow-up-heading p{justify-self:end;max-width:470px;margin:0;color:var(--muted);font-size:10px;line-height:1.7;text-align:right}
.follow-up-list{border-bottom:1px solid var(--line)}
.follow-up-entry{padding:20px 22px;border-bottom:1px solid var(--line);animation:reveal .3s ease both}
.follow-up-entry.streaming{animation:none}
.follow-up-entry:last-child{border-bottom:0}
.follow-up-entry>header{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start;margin-bottom:13px}
.follow-up-entry>header span{font:500 9px var(--mono);color:var(--red);padding-top:4px}
.follow-up-entry>header h4{font:600 14px/1.55 var(--serif);margin:0}
.follow-up-answer{padding-left:40px;font-size:12px;line-height:1.78;overflow-wrap:anywhere}
.follow-up-answer h1{font-size:19px}.follow-up-answer h2{font-size:16px}.follow-up-answer h3{font-size:14px}
.follow-up-answer table{font-size:10px}
.follow-up-loading{display:flex;align-items:center;gap:10px;color:var(--muted);font:9px var(--mono);padding:7px 0}
.follow-up-loading i{width:16px;height:16px;border:1px solid #b6b5ab;border-top-color:var(--red);border-radius:50%;animation:spin 1s linear infinite}
.follow-up-evidence{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:13px 0 0 40px}
.follow-up-evidence span{margin-right:3px;color:var(--muted);font:8px var(--mono);letter-spacing:.08em}
.follow-up-evidence a{display:grid;place-items:center;min-height:25px;padding:0 7px;border:1px solid var(--line);color:var(--ink);text-decoration:none;font:8px var(--mono)}
.follow-up-evidence a:hover{border-color:var(--red);color:var(--red)}
.follow-up-prompts{display:flex;gap:7px;flex-wrap:wrap;padding:16px 22px 0}
.follow-up-prompts button{min-height:32px;padding:0 11px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:9px;cursor:pointer}
.follow-up-prompts button:hover{border-color:var(--ink);color:var(--ink)}
.follow-up-prompts button:disabled{opacity:.45;cursor:not-allowed}
.follow-up-command{display:grid;grid-template-columns:1fr;gap:0;padding:14px 22px 22px}
.follow-up-command label{display:block;min-width:0}
.follow-up-command label>span{display:block;margin-bottom:7px;color:var(--muted);font:8px var(--mono);letter-spacing:.08em}
.follow-up-command textarea{display:block;width:100%;min-height:78px;max-height:180px;resize:vertical;border:1px solid var(--line);border-left:3px solid var(--red);background:#fbf9f2;color:var(--ink);padding:11px 13px;outline:0;font-size:12px;line-height:1.6}
.follow-up-command textarea:focus{border-color:var(--ink);border-left-color:var(--red)}
.follow-up-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;min-height:67px;padding-top:12px;border-top:1px solid var(--line)}
.follow-up-actions small{margin-right:auto;color:var(--muted);font-size:9px;line-height:1.6}
.follow-up-actions button{width:180px;height:48px;border:0;padding:0 13px;display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:11px;font-weight:600;cursor:pointer}
.follow-up-submit{background:var(--red)}.follow-up-submit:hover{background:#dc5942}
.follow-up-pause{background:var(--ink)}
.follow-up-actions button:disabled{opacity:.45;cursor:wait}
@media(max-width:720px){.research-follow-up{margin:24px 15px 2px}.follow-up-heading{grid-template-columns:1fr;gap:8px;padding:17px 15px}.follow-up-heading p{justify-self:start;text-align:left;font-size:9px}.follow-up-list{border-bottom:1px solid var(--line)}.follow-up-entry{padding:17px 15px}.follow-up-entry>header{grid-template-columns:24px minmax(0,1fr);gap:7px}.follow-up-answer{padding-left:31px;font-size:12px}.follow-up-evidence{margin-left:31px}.follow-up-prompts{padding:14px 15px 0;flex-wrap:nowrap;overflow:auto;scrollbar-width:none}.follow-up-prompts button{flex:0 0 auto}.follow-up-command{grid-template-columns:1fr;padding:13px 15px 17px}.follow-up-command textarea{min-height:88px}.follow-up-actions{min-height:0;padding-top:10px}.follow-up-actions small{display:none}.follow-up-actions button{width:100%;height:46px}.follow-up-heading h3{font-size:18px}}
.indexing-orbit span{font-size:9px;white-space:nowrap}.estimate-track{width:min(310px,56vw);height:3px;margin-top:11px;background:rgba(121,144,136,.25);overflow:hidden}.estimate-track b{display:block;width:3%;height:100%;background:var(--red);transition:width .45s ease}.report-loading .estimate-track{width:min(300px,48vw);background:var(--line)}.report-loading strong{color:var(--red);font:500 9px var(--mono)}
.indexing-pause{border:1px solid #526c64;background:transparent;color:#d7dfdc;padding:10px 14px;cursor:pointer}.indexing-pause:hover{border-color:var(--red);color:#fff}.indexing-pause:disabled{opacity:.5;cursor:wait}@media(max-width:720px){.indexing-pause{min-width:110px}}

/* Source relationship constellation */
.source-card{padding:0;transition:background .22s ease,box-shadow .22s ease}.source-graph-trigger{display:block;width:100%;min-height:100%;padding:18px 46px 17px 20px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.source-graph-trigger:focus-visible{outline:2px solid var(--red);outline-offset:-3px}.source-card:hover,.source-card.graph-active{background:#eee8da;box-shadow:inset 3px 0 var(--red)}.source-card.graph-active .source-type i{background:var(--red);box-shadow:0 0 0 5px rgba(203,77,55,.12);animation:pulse 2s infinite}.source-card.graph-active h3{color:var(--red)}.source-origin-link{position:absolute;z-index:2;right:15px;bottom:15px;width:23px;height:23px;display:grid;place-items:center;border:1px solid transparent;color:var(--muted);text-decoration:none;font:13px var(--mono)}.source-origin-link:hover{border-color:var(--gold);color:var(--red)}.remove-source{z-index:3}.analysis-desk.graph-open{padding-bottom:0;background:#081512!important;overflow:hidden}.analysis-desk.graph-open>:not(.source-graph-panel){display:none!important}.source-graph-panel{position:relative;min-height:650px;overflow:hidden;background:#081512;color:#e7eee9;animation:graphReveal .48s cubic-bezier(.22,.8,.24,1) both}.graph-heading{position:relative;z-index:5;min-height:108px;padding:22px 25px 19px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(187,211,200,.16);background:linear-gradient(100deg,rgba(12,31,25,.96),rgba(8,21,18,.78));backdrop-filter:blur(18px)}.graph-heading-copy{min-width:0}.graph-heading-copy>span{display:block;color:#e66149;font:500 8px var(--mono);letter-spacing:.18em}.graph-heading-copy h2{margin:7px 0 3px;color:#f4eee2;font:600 24px/1.25 var(--serif);letter-spacing:-.045em}.graph-heading-copy p{max-width:620px;margin:0;color:#839a90;font:9px/1.55 var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.graph-heading-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.graph-heading-actions a,.graph-heading-actions button{height:39px;border:1px solid #314a41;background:rgba(17,42,34,.5);color:#a9bbb3;padding:0 12px;text-decoration:none;font:9px var(--mono);cursor:pointer;transition:border-color .18s,color .18s,background .18s,transform .18s}.graph-heading-actions a{display:grid;place-items:center}.graph-heading-actions button{min-width:116px;display:flex;align-items:center;justify-content:space-between;gap:14px}.graph-heading-actions button b{font:400 20px/1 var(--mono);color:#e66149}.graph-heading-actions a:hover,.graph-heading-actions button:hover{border-color:#d0a65e;color:#fff;background:#173229;transform:translateY(-1px)}.graph-metrics{position:relative;z-index:5;min-height:54px;padding:0 25px;display:flex;align-items:center;gap:24px;border-bottom:1px solid rgba(187,211,200,.12);background:rgba(7,18,15,.78)}.graph-metrics span{display:flex;align-items:baseline;gap:6px;color:#d0a65e}.graph-metrics b{font:500 15px var(--mono)}.graph-metrics i{color:#71877e;font:normal 7px var(--mono);letter-spacing:.12em}.graph-metrics p{margin-left:auto;color:#71877e;font:8px/1.5 var(--mono)}.graph-stage{position:relative;height:488px;isolation:isolate;background-color:#07130f;background-image:linear-gradient(rgba(139,174,158,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(139,174,158,.045) 1px,transparent 1px);background-size:34px 34px}.graph-stage:after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 43%,transparent 0 20%,rgba(2,8,6,.16) 72%,rgba(2,8,6,.72) 100%)}.graph-aurora{position:absolute;z-index:-1;inset:-20%;pointer-events:none;background:radial-gradient(circle at 30% 43%,rgba(76,145,116,.14),transparent 26%),radial-gradient(circle at 71% 36%,rgba(204,77,55,.1),transparent 24%),radial-gradient(circle at 53% 77%,rgba(185,147,81,.1),transparent 23%);filter:blur(12px);animation:graphDrift 12s ease-in-out infinite alternate}.source-graph{position:absolute;z-index:1;inset:0}.graph-loading{position:absolute;z-index:4;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;color:#91a79e;background:rgba(7,19,15,.66);backdrop-filter:blur(3px);font:9px var(--mono);transition:opacity .3s ease}.graph-loading.ready{opacity:0;pointer-events:none}.graph-loading i{width:26px;height:26px;border:1px solid #39554a;border-top-color:#e66149;border-radius:50%;animation:spin .9s linear infinite}.graph-legend{position:absolute;z-index:3;top:17px;right:20px;display:grid;grid-template-columns:1fr 1fr;gap:8px 13px;padding:10px 12px;border:1px solid rgba(145,171,159,.14);background:rgba(5,16,12,.64);backdrop-filter:blur(10px)}.graph-legend span{display:flex;align-items:center;gap:7px;color:#839a90;font:7px var(--mono);white-space:nowrap}.graph-legend i{display:block;width:11px;height:11px;border-radius:50%}.graph-legend .legend-source{background:#e66149;box-shadow:0 0 12px rgba(230,97,73,.75)}.graph-legend .legend-topic{background:#d0a65e;box-shadow:0 0 9px rgba(208,166,94,.5)}.graph-legend .legend-semantic{width:16px;height:1px;border-radius:0;background:#7aab94}.graph-legend .legend-sequence{width:16px;height:0;border-top:1px dashed #65776f;border-radius:0}.graph-node-detail{position:absolute;z-index:3;left:20px;bottom:18px;width:min(460px,58%);min-height:92px;padding:13px 16px 14px;border:1px solid rgba(145,171,159,.17);border-left:3px solid #d0a65e;background:linear-gradient(100deg,rgba(7,20,16,.91),rgba(10,28,22,.75));box-shadow:0 16px 45px rgba(0,0,0,.24);backdrop-filter:blur(14px);transition:transform .24s ease,border-color .24s ease}.graph-node-detail.active{transform:translateY(-4px);border-left-color:#e66149}.graph-node-detail>span{display:block;color:#d0a65e;font:500 7px var(--mono);letter-spacing:.16em}.graph-node-detail h3{margin:6px 0 5px;color:#f4eee2;font:600 14px/1.45 var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.graph-node-detail p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:#8da098;font-size:9px;line-height:1.65}.source-graph-panel.graph-error .graph-loading{color:#ffb4a5}.source-graph-panel.graph-error .graph-loading i{animation:none;border-color:#e66149;position:relative}.source-graph-panel.graph-error .graph-loading i:after{content:"!";position:absolute;inset:0;display:grid;place-items:center;color:#e66149;font:10px var(--mono)}

@keyframes graphReveal{from{opacity:0}to{opacity:1}}@keyframes graphDrift{from{transform:translate3d(-2%,1%,0) scale(1)}to{transform:translate3d(3%,-2%,0) scale(1.08)}}

@media(max-width:1050px){.source-graph-panel{min-height:690px}.graph-stage{height:528px}.graph-metrics p{max-width:45%;text-align:right}}
@media(max-width:720px){.source-card{min-width:250px}.source-graph-panel{min-height:670px}.graph-heading{min-height:126px;padding:18px 15px;align-items:flex-start}.graph-heading-copy h2{font-size:20px}.graph-heading-copy p{max-width:calc(100vw - 165px)}.graph-heading-actions{flex-direction:column-reverse;align-items:stretch}.graph-heading-actions a,.graph-heading-actions button{height:35px;min-width:92px;padding:0 9px}.graph-heading-actions button span{font-size:8px}.graph-metrics{min-height:58px;padding:0 15px;gap:14px}.graph-metrics p{display:none}.graph-stage{height:486px}.graph-legend{top:11px;right:11px;grid-template-columns:1fr;padding:8px 9px;gap:6px}.graph-node-detail{left:11px;right:11px;bottom:11px;width:auto;min-height:88px;padding:11px 13px}.graph-node-detail p{-webkit-line-clamp:2}}
@media(prefers-reduced-motion:reduce){.source-graph-panel,.graph-aurora,.graph-loading i,.source-card.graph-active .source-type i{animation:none!important}.source-card,.graph-node-detail,.graph-heading-actions a,.graph-heading-actions button{transition:none!important}}
.source-graph,.source-graph canvas{cursor:default!important;touch-action:none}
.source-graph-tooltip{width:min(320px,calc(100vw - 48px))!important;max-width:min(320px,calc(100vw - 48px))!important;box-sizing:border-box!important;overflow:hidden!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}.source-graph-tooltip .graph-tooltip-kicker,.source-graph-tooltip .graph-tooltip-title,.source-graph-tooltip .graph-tooltip-excerpt{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.source-graph-tooltip .graph-tooltip-kicker{color:#d0a65e;font:8px var(--mono);letter-spacing:.06em}.source-graph-tooltip .graph-tooltip-title{margin-top:4px;color:#f4eee2;font:600 12px/1.45 var(--serif)}.source-graph-tooltip .graph-tooltip-excerpt{margin-top:3px;color:#8da098;font:10px/1.65 var(--sans)}
.graph-loading{pointer-events:none}
.graph-node-detail,.graph-legend{backdrop-filter:none!important}

/* Keep the mobile indexing card from pinning its first and last controls to
   the edges when the Qwen status text wraps onto two lines. */
@media(max-width:720px){
  .indexing-stage{
    min-height:220px;
    padding:16px 12px 20px;
    gap:16px;
  }
  .indexing-stage > div:nth-child(2){
    width:min(100%, 360px);
    min-width:0;
  }
  .indexing-stage p{
    line-height:1.45;
  }
  .indexing-stage small{
    display:block;
    line-height:1.7;
    white-space:normal;
  }
  .indexing-stage .estimate-track{
    margin-inline:auto;
  }
  .indexing-pause{
    min-width:110px;
    min-height:46px;
  }
}

/* Keep the research prompt ready for normal left-to-right text entry on mobile. */
@media(max-width:720px){.research-command textarea:placeholder-shown{text-align:left}}

/* Do not keep a desktop-sized empty tail in the phone layout. */
@media (max-width:720px){
  /* Keep the document itself as the touch scroll container on iOS/WebView.
     `overscroll-behavior-y: none` can suppress root scrolling in older
     embedded browsers even though desktop browsers continue to scroll. */
  html,body{overflow-y:auto;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch}
  main{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
  .research-workspace{min-height:0}
  .report-empty{min-height:220px}
  .research-footer{padding-bottom:0}
}

/* The compact mobile research headers have enough room below the copy. Lift
   both kicker/title groups so they sit optically centered in their headers
   without changing the reserved height or the action-button position. */
@media (max-width:720px){
  .research-workspace > .source-ledger > header > div,
  .research-workspace > .analysis-desk > .desk-heading > div:first-child{
    transform:translateY(-12px)
  }
}

.file-drop-files{max-height:150px}

.folder-pick-button{
  grid-column:2;
  justify-self:start;
  border:0;
  padding:0;
  background:transparent;
  color:var(--gold);
  font:8px var(--mono);
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer
}
.folder-pick-button:hover{color:#fff}
