:root { --accent-ink: #ffffff; --studio-font: system-ui, sans-serif; }
:root[data-theme="light"] { --paper:#f2f5f9; --surface:#ffffff; --ink:#17212b; --muted:#526071; --line:#cdd5df; }
:root[data-theme="dark"] { --paper:#101822; --surface:#1b2735; --ink:#edf2f7; --muted:#b9c8d6; --line:#425266; --brick:#ef9d9d; --gold:#e9c06a; --violet:#bcb2ef; --shadow:0 16px 45px #0003; }
body { font-family:var(--studio-font); }
.skip-link { position:fixed; top:-100px; left:1rem; z-index:100; padding:1rem; color:var(--ink); background:var(--surface); }
.skip-link:focus { top:1rem; }
:focus-visible { outline:3px solid var(--teal); outline-offset:4px; }
.workspace { max-width:1800px; width:100%; margin:auto; }
.topbar h1 { max-width:780px; font-family:Georgia,serif; font-size:clamp(2rem,3.2vw,3.5rem); font-weight:500; letter-spacing:-.035em; line-height:1.12; }
.eyebrow { letter-spacing:.16em; font-size:.72rem; }
.capability-notice { border-left:3px solid var(--teal); background:var(--surface); padding:14px 18px; color:var(--muted); font-size:.88rem; line-height:1.65; border-radius:0 8px 8px 0; }
.capability-notice strong { color:var(--ink); }
.panel { border-radius:14px; box-shadow:0 4px 20px #00000005; }
.answer-output p { font-family:Georgia,serif; font-size:1.05rem; line-height:1.85; }
.answer-block { background:var(--surface); border:1px solid var(--line); }
.answer-block.interpretation { background:color-mix(in srgb,var(--teal) 7%,var(--surface)); }
.answer-block.speculation { background:color-mix(in srgb,var(--gold) 9%,var(--surface)); }
.citation { color:var(--muted); }
.primary-button,.run-button { color:var(--accent-ink); }
.primary-button:hover { filter:brightness(.93); }
.answer-block p { color:var(--ink); }
.status-grid article,.secondary-button,.icon-button,.empty-state,pre { background:var(--surface); color:var(--ink); border-color:var(--line); }
.format-card { color:var(--ink); }
.secondary-button:hover { color:var(--ink); box-shadow:inset 0 0 0 1px var(--ink); }
.eyebrow { color:var(--muted); }
.process-step.active span { color:var(--accent-ink); }
textarea::placeholder,input::placeholder { color:var(--muted); opacity:1; }
input,textarea,select { color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:11px; max-width:100%; }
input:not([type="checkbox"]):not([type="range"]),textarea,select { width:100%; }
input[type="color"] { min-height:46px; padding:4px; }
input[type="file"] { font-size:.85rem; }
textarea { resize:vertical; }
.button-row { flex-wrap:wrap; gap:8px; }
.graph-legend { color:var(--muted); font-size:.83rem; line-height:1.6; }
#graphControls { display:flex; margin:1rem 0; }
#graphControls button { padding:7px 10px; font-size:.78rem; }
.node-detail,.channel-status,.mini-card,.citation-card { background:var(--surface); color:var(--ink); border-color:var(--line); }
.pill,.process-step { background:var(--surface); color:var(--muted); }
.process-step.active { background:color-mix(in srgb,var(--teal) 12%,var(--surface)); color:var(--ink); }
.branding-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; max-width:900px; }
.branding-form label,.branding-tools label { display:grid; gap:10px; font-weight:600; font-size:.9rem; }
.branding-form button { align-self:end; }
.branding-tools { display:grid; gap:22px; max-width:900px; margin-top:20px; }
.brand-mark img { width:100%; height:100%; object-fit:contain; border-radius:7px; }
.file-label { display:grid; max-width:450px; margin:20px 0; gap:8px; }
#notebookList button { margin:8px 8px 0 0; }
#studioStatus { padding:8px 0; color:var(--muted); min-height:2em; }
html[data-density="compact"] .panel { padding:16px; }
html[data-density="compact"] .workspace { padding:20px; }
html[data-density="compact"] .nav-list { gap:3px; }
html[data-density="compact"] .answer-output p { line-height:1.6; }
@media(max-width:980px) { .app-shell { grid-template-columns:220px minmax(0,1fr); } .topbar { flex-wrap:wrap; } }
@media(max-width:680px) { .app-shell { grid-template-columns:1fr; } .sidebar { padding:18px; gap:15px; } .nav-list { display:flex; flex-wrap:wrap; gap:4px; } .nav-item { flex:1 0 42%; } .source-policy { display:none; } .branding-form { grid-template-columns:1fr; } .topbar h1 { font-size:2.25rem; } .workspace { padding:18px; } .topbar-actions { width:100%; justify-content:flex-end; } .button-row > button { min-height:44px; } .status-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .query-band { display:grid; grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

.fixture-lab { margin-top:40px; border-top:1px solid var(--line); padding-top:28px; }
.passage-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:20px 0; }
.passage-grid blockquote { font-family:Georgia,serif; font-size:1.25rem; line-height:1.8; margin:20px 0; }
.passage-grid label { display:grid; gap:10px; margin:20px 0; }
.hash-line { overflow-wrap:anywhere; color:var(--muted); font-size:.8rem; }
#passageResults a { color:var(--ink); text-decoration:underline; text-underline-offset:.18em; outline-color:currentColor; }
#fixtureNotebooks { display:flex; flex-wrap:wrap; margin:20px 0; }
@media(max-width:680px) { .passage-grid { grid-template-columns:1fr; } }

.topbar-actions .icon-button { width:auto; padding:0 14px; white-space:nowrap; }

/* Evidence Studio: bounded motion; reading and automation remain steady. */
:root[data-theme="caribbean"] { --paper:#fff8ec; --surface:#fffdf7; --ink:#003f5c; --muted:#4c615f; --line:#cfc6b2; --gold:#986400; --brick:#a52c45; }
:root[data-theme="caribbean-night"] { --paper:#1a1a2e; --surface:#16213e; --ink:#fff8ec; --muted:#c9d5df; --line:#526079; --gold:#ffd23f; --brick:#ff8a92; }
body[data-active-view="studio"] .capability-notice { display:none; }
body[data-active-view="studio"] .topbar h1 { font-size:clamp(1.8rem,2.4vw,2.7rem); }
.studio-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin:28px 0; }
.studio-heading h2 { font-family:Georgia,serif; font-size:clamp(1.7rem,2.4vw,2.4rem); letter-spacing:-.035em; margin:0 0 10px; font-weight:500; }
.studio-heading p { color:var(--muted); line-height:1.6; margin:4px 0; }
.automation-toggle { display:flex; flex-direction:row; align-items:center; text-transform:none; min-width:180px; font-size:.8rem; }
.evidence-layout { display:grid; grid-template-columns:minmax(180px,.7fr) minmax(0,1.5fr) minmax(260px,1fr); align-items:start; gap:16px; }
.evidence-layout .panel { padding:20px; border-radius:16px; }
.evidence-layout h3 { font-size:1rem; margin:12px 0 20px; line-height:1.4; }
.evidence-layout h4 { margin:20px 0 10px; font-size:.95rem; }
.desk-label { font-size:.66rem; font-weight:750; letter-spacing:.12em; color:var(--muted); }
.book-spine { display:flex; gap:12px; padding:16px 0; align-items:start; }
.book-spine p { margin:6px 0; font-size:.8rem; color:var(--muted); }
.book-spine small { font-size:.72rem; line-height:1.6; color:var(--muted); }
.book-initial { display:grid; place-items:center; width:42px; min-width:42px; height:62px; border-radius:3px 8px 8px 3px; background:var(--teal); color:var(--accent-ink); font:1.4rem Georgia,serif; box-shadow:inset 4px 0 #0002; }
.desk-caption,#deskSearchStatus,#deskPacketStatus { color:var(--muted); font-size:.8rem; line-height:1.65; overflow-wrap:anywhere; }
#deskSearch { display:grid; gap:12px; margin-top:24px; }
#deskSearch button { padding:12px; }
.desk-divider { border-top:1px solid var(--line); margin:28px 0; }
.desk-title { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; align-items:center; }
.evidence-badge { display:inline-block; font-size:.7rem; line-height:1.5; font-weight:650; border:1px solid var(--line); padding:5px 9px; border-radius:24px; color:var(--ink); background:var(--paper); }
.source-passage { border-top:1px solid var(--line); margin-top:20px; padding-top:22px; animation:evidence-in 180ms ease-out; }
.source-passage h4 { font:1.25rem Georgia,serif; }
.source-passage blockquote,.evidence-trail blockquote { margin:18px 0; font:1.1rem/1.8 Georgia,serif; overflow-wrap:anywhere; }
.source-passage label { margin:18px 0 12px; text-transform:none; }
.source-passage a { display:block; margin:14px 0; color:var(--ink); text-decoration:underline; text-underline-offset:.18em; outline-color:currentColor; }
.source-passage button { width:100%; }
.desk-empty { text-align:center; padding:50px 15px; line-height:1.8; color:var(--muted); }
.desk-empty h4 { color:var(--ink); font:1.4rem Georgia,serif; }
.empty-orbit { font-size:3.5rem; color:var(--ink); }
.evidence-trail { border-left:2px solid var(--teal); padding-left:12px; margin:16px 0; animation:evidence-in 180ms ease-out; }
.evidence-trail h4 { margin-top:10px; }
.evidence-trail blockquote { font-size:.95rem; }
.evidence-trail mark { background:#ffd23f; color:#003f5c; border-radius:3px; padding:0 2px; }
.pin-row { display:flex; gap:6px; margin:8px 0; }
.pin-row button { font-size:.72rem; padding:6px 8px; }
.evidence-edge { display:block; padding:12px; width:100%; margin:10px 0; border:1px solid var(--line); border-radius:10px; background:var(--paper); color:var(--ink); font-size:.75rem; text-align:left; line-height:1.6; }
.evidence-edge:hover { border-color:var(--ink); }
.desk-actions { display:grid; gap:8px; margin:14px 0; }
.desk-actions button { padding:12px 8px; }
.saved-research button { width:100%; margin-top:10px; text-align:left; padding:10px; font-size:.78rem; overflow-wrap:anywhere; }
#deskReceipt { padding-left:20px; color:var(--muted); font-size:.75rem; line-height:1.8; }
#evidenceStudio[data-steady="true"] *,#evidenceStudio[data-steady="true"] *::before { animation:none!important; transition:none!important; }
@keyframes evidence-in { from {transform:translateY(4px);} to {transform:translateY(0);} }
@media(max-width:1250px) { .evidence-layout { grid-template-columns:190px minmax(0,1fr); } .evidence-inspector { grid-column:1/-1; } }
@media(max-width:760px) { .evidence-layout { grid-template-columns:1fr; } .evidence-inspector { grid-column:auto; } .studio-heading { flex-direction:column; } .desk-empty { padding:24px 10px; } }
@media(prefers-reduced-motion:reduce) { .source-passage,.evidence-trail { animation:none; } }

.evidence-layout label { text-transform:none; font-size:.78rem; font-weight:650; }
.evidence-layout textarea,.evidence-layout input:not([type="checkbox"]) { font-size:1rem; font-weight:400; line-height:1.6; }
