:root{
  --navy:#0F172A;--blue:#2563EB;--indigo:#4F46E5;--green:#16A34A;
  --amber:#F59E0B;--red:#DC2626;--bg:#F8FAFC;--card:#FFFFFF;
  --text2:#475569;--line:#E2E8F0;--radius:18px;--shadow:0 12px 32px rgba(15,23,42,.07)
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--navy);font-family:Inter,Aptos,system-ui,-apple-system,sans-serif;line-height:1.55}
a{color:inherit}
.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;padding:10px;z-index:10}
.skip-link:focus{left:8px}
.shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}
.sidebar{background:var(--navy);color:#fff;padding:26px 18px;display:flex;flex-direction:column;gap:18px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800}
.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--indigo)}
.phase{font-size:.82rem;color:#CBD5E1}
.sidebar nav{display:grid;gap:6px}
.sidebar nav a{text-decoration:none;padding:11px 12px;border-radius:10px;color:#CBD5E1}
.sidebar nav a:hover,.sidebar nav a.active{background:#1E293B;color:#fff}
.sidebar-note{margin-top:auto;color:#94A3B8;font-size:.82rem}
.content{width:min(1360px,100%);padding:36px}
.page-head{display:flex;gap:24px;justify-content:space-between;align-items:flex-start;margin-bottom:24px}
.page-head h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;margin:.25rem 0 .7rem}
.page-head p{color:var(--text2);max-width:760px;margin:0}
.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:800;color:var(--blue)}
.grid{display:grid;gap:18px;margin:18px 0}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.card,.notice,.error-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}
.card h2{margin:.35rem 0 .45rem;font-size:1.15rem}
.card p{color:var(--text2)}
.status{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-weight:700;font-size:.82rem;white-space:nowrap}
.status.ok{background:#DCFCE7;color:#166534}.status.warn{background:#FEF3C7;color:#92400E}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:11px;border:1px solid var(--line);background:#fff;text-decoration:none;font-weight:750;cursor:pointer}
.button.primary{background:var(--blue);color:#fff;border-color:var(--blue)}
.steps{color:var(--text2)}
.notice{margin-top:18px;background:#EEF2FF;border-color:#C7D2FE}
.notice.success{background:#ECFDF5;border-color:#A7F3D0}
.form-card{max-width:680px;display:grid;gap:12px}
input{width:100%;min-height:44px;border:1px solid #CBD5E1;border-radius:10px;padding:10px 12px;font:inherit}
label{font-weight:700}
code{background:#F1F5F9;padding:2px 6px;border-radius:6px}
.error-card{max-width:720px;margin:10vh auto}
.error-code{font-size:4rem;font-weight:900;color:var(--red)}
@media(max-width:1024px){.shell{grid-template-columns:86px 1fr}.brand span:last-child,.phase,.sidebar-note{display:none}.sidebar nav a{font-size:.82rem;padding:10px 6px;text-align:center}}
@media(max-width:768px){.shell{display:block}.sidebar{position:static;padding:14px}.brand{justify-content:center}.sidebar nav{grid-template-columns:repeat(3,1fr)}.content{padding:22px 16px}.page-head{display:grid}.grid.three,.grid.two{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.notice.error{background:#FEF2F2;border-color:#FECACA;color:#991B1B}

.orientation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}
.progress-card{min-width:150px;padding:1rem;border:1px solid #E2E8F0;border-radius:18px;background:#fff;text-align:center}
.progress-card strong{display:block;font-size:2rem;color:#2563EB}.progress-card span{color:#475569}
select{width:100%;padding:.8rem;border:1px solid #CBD5E1;border-radius:10px;background:#fff}
.done{color:#16A34A;font-weight:700}
@media(max-width:820px){.orientation-grid{grid-template-columns:1fr}.page-head{align-items:flex-start}.progress-card{width:100%}}

.project-list{display:grid;gap:1rem}.project-card{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.status-pill{display:inline-block;padding:.25rem .55rem;border-radius:999px;background:#EEF2FF;color:#3730A3;font-size:.78rem;font-weight:700}
textarea{width:100%;min-height:140px;padding:.8rem;border:1px solid #CBD5E1;border-radius:10px;resize:vertical;font:inherit}
.inline-form{display:inline}.button.danger{border-color:#FCA5A5;color:#B91C1C;background:#FFF}
.empty-state{text-align:center;padding:2.4rem}
code{overflow-wrap:anywhere}
@media(max-width:700px){.project-card{align-items:flex-start;flex-direction:column}.project-card .button{width:100%;text-align:center}.actions{flex-wrap:wrap}.inline-form,.inline-form .button{width:100%}}

.section-list{display:grid;gap:.75rem}.section-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid #E2E8F0}
.section-row:last-child{border-bottom:0}.section-row small{display:block;color:#64748B;margin-top:.25rem}
@media(max-width:700px){.section-row{align-items:flex-start;flex-direction:column}.section-row .button{width:100%;text-align:center}}

input{width:100%;padding:.8rem;border:1px solid #CBD5E1;border-radius:10px;font:inherit}
.traffic{display:inline-block;padding:.25rem .6rem;border-radius:999px;font-weight:800;font-size:.78rem}
.traffic.green{background:#DCFCE7;color:#166534}.traffic.amber{background:#FEF3C7;color:#92400E}
.traffic.red{background:#FEE2E2;color:#991B1B}.traffic.gray{background:#E2E8F0;color:#475569}
.topic-result h2{margin-top:.8rem}

.matrix-lite{display:grid;gap:1rem}.pair-card{padding:1rem;border:1px solid #E2E8F0;border-radius:12px;background:#fff}
.pair-card h3{margin:.25rem 0 .5rem}.pair-card p{margin:0;line-height:1.6}

.nested-block{margin:.75rem 0 0 1rem;padding:.75rem;border-left:3px solid #CBD5E1;background:#F8FAFC;border-radius:8px}
.nested-block ul{margin:.5rem 0 0}

.matrix-scroll{overflow-x:auto}.consistency-table{width:100%;min-width:1100px;border-collapse:collapse}
.consistency-table th,.consistency-table td{vertical-align:top;text-align:left;padding:.75rem;border:1px solid #E2E8F0}
.consistency-table th{background:#F8FAFC}.consistency-table p{margin:0 0 .5rem;line-height:1.45}
.matrix-chip{display:inline-block;margin:.15rem;padding:.25rem .45rem;border-radius:999px;background:#EEF2FF;font-size:.78rem}

.dependency-chain{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}
.dependency-node,.dependency-edge{padding:1rem;border:1px solid #E2E8F0;border-radius:12px;background:#fff}
.dependency-node h3{margin:.5rem 0}.dependency-edge{margin:.75rem 0}.dependency-edge p{margin:.4rem 0 0}

.ai-response{white-space:normal;line-height:1.65;padding:1rem;background:#F8FAFC;border-radius:12px}
button[disabled]{opacity:.55;cursor:not-allowed}

.library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1rem;margin-bottom:1rem}
.source-meta{display:grid;grid-template-columns:minmax(130px,180px) 1fr;gap:.55rem 1rem}
.source-meta dt{font-weight:700}.source-meta dd{margin:0;overflow-wrap:anywhere}

.editor-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:1rem;margin-bottom:1rem}
.academic-editor textarea{width:100%;font-family:inherit;line-height:1.6;resize:vertical}
.editor-toolbar,.editor-stats{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-bottom:.75rem}
.editor-stats{justify-content:space-between;margin-top:.5rem;color:#64748B;font-size:.88rem}
.source-picker{display:grid;gap:.75rem}.source-card{padding:.75rem;border:1px solid #E2E8F0;border-radius:10px;display:grid;gap:.5rem}
.source-card small{display:block}.version-sources{margin-top:.45rem}.muted{color:#64748B}
@media(max-width:900px){.editor-layout{grid-template-columns:1fr}.source-panel{order:-1}}

.generation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;margin-bottom:1rem}
.evidence-list{display:grid;gap:.65rem;margin:.75rem 0}.evidence-check{display:flex;gap:.6rem;padding:.7rem;border:1px solid #E2E8F0;border-radius:10px}
.evidence-check small,.evidence-check em{display:block;margin-top:.25rem}.evidence-check em{font-style:normal;color:#475569}
.generated-draft pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;line-height:1.65;background:#F8FAFC;padding:1rem;border-radius:12px}

.review-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:1rem}

.citation-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1rem}
.citation-preview{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;line-height:1.65;background:#F8FAFC;padding:1rem;border-radius:12px}
.bibliography{line-height:1.8}

.audit-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.audit-summary>div{padding:1rem;border:1px solid #E2E8F0;border-radius:12px;text-align:center}.audit-summary strong,.audit-summary span{display:block}

.pilot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}
