:root { --ink:#111111; --muted:#606060; --line:#e2e2e2; --background:#f6f6f4; --claude:#a34f35; --claude-surface:#fbf3ee; --accent:#111111; --sidebar:#000000; --radius:14px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--background); color:var(--ink); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.6; }
a { color:inherit; }
button { font:inherit; cursor:pointer; }
[hidden] { display:none !important; }
:focus-visible { outline:3px solid #111111; outline-offset:5px; }
.sidebar :focus-visible { outline-color:white; }
.skip-link { position:fixed; top:10px; left:10px; z-index:20; padding:10px 16px; background:white; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
.sidebar { position:fixed; inset:0 auto 0 0; width:260px; background:var(--sidebar); padding:34px 22px 24px; color:#ffffff; display:flex; flex-direction:column; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-size:18px; font-weight:750; letter-spacing:1.5px; line-height:1.4; }
.brand-mark { display:block; width:44px; height:44px; object-fit:contain; border-radius:8px; flex-shrink:0; }
.brand-subtitle { display:block; font-size:10px; letter-spacing:1.4px; font-weight:500; color:#bdbdbd; margin-top:4px; }
.workspace-label { margin:52px 12px 14px; color:#b0b0b0; font-size:12px; font-weight:600; letter-spacing:1.1px; }
nav { display:grid; gap:8px; }
.nav-link { display:flex; gap:13px; align-items:center; padding:12px 16px; color:#c8c8c8; border-radius:8px; text-decoration:none; font-weight:550; font-size:14px; min-height:48px; min-width:0; }
.nav-link svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.nav-link:hover { background:#222222; color:white; }
.nav-link[aria-current="page"] { background:#ffffff; color:#000000; }
.sidebar-footer { margin-top:auto; border-top:1px solid #333333; padding:24px 8px 0; display:flex; align-items:center; gap:12px; font-size:14px; }
.sidebar-footer span:not(.store-mark) { display:block; font-size:12px; color:#bdbdbd; margin-top:1px; }
.store-mark { display:block; object-fit:contain; border:1px solid #444444; width:36px; height:36px; border-radius:9px; flex-shrink:0; }
.workspace { margin-left:260px; }
.topbar { min-height:72px; padding:16px 44px; background:white; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:14px; color:var(--muted); }
.topbar strong { font-weight:500; color:var(--ink); }
.topbar-separator { margin:0 12px; color:#aaaaaa; }
.edition { font-size:12px; font-weight:650; letter-spacing:1.4px; }
main { max-width:1420px; padding:40px 44px 28px; margin:auto; }
.page-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:24px; }
.eyebrow { margin:0 0 7px; color:var(--accent); font-size:12px; font-weight:750; letter-spacing:1.6px; }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:8px; font-size:32px; font-weight:650; letter-spacing:-1px; line-height:1.2; }
h2 { margin-bottom:0; font-size:19px; letter-spacing:-.35px; font-weight:650; line-height:1.4; }
h3 { font-size:16px; font-weight:650; line-height:1.5; margin-bottom:7px; }
p { margin-bottom:0; }
.report-meta { display:flex; flex-wrap:wrap; gap:10px; color:var(--muted); font-size:14px; }
.sample-badge { display:inline-flex; flex-shrink:0; padding:6px 12px; border:1px solid #d5d5d5; border-radius:6px; background:white; color:var(--muted); font-size:13px; }
.sample-note { border-left:3px solid #999999; padding:8px 14px; margin-bottom:24px; color:var(--muted); font-size:14px; background:#ededed; }
.overview-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:start; gap:22px; margin-bottom:24px; }
.card { background:white; border:1px solid var(--line); border-radius:var(--radius); padding:26px 28px; margin-bottom:24px; box-shadow:0 2px 8px #00000004; min-width:0; }
.overview-grid .card { margin-bottom:0; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:22px; }
.pill,.entry-tag { display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border:1px solid #bce7cc; border-radius:6px; font-size:12px; font-weight:650; line-height:1.5; background:#eefbf3; color:#166534; flex-shrink:0; white-space:normal; max-width:100%; }
.pill.caution,.entry-tag.caution { background:#fff5df; color:#92400e; border-color:#f3d598; }
.pill.neutral,.entry-tag.neutral { background:#eff6ff; color:#1e40af; border-color:#c7dcfb; }
.pill.muted,.entry-tag.muted { background:#f5f5f5; color:#606060; border-color:#dddddd; }
.pill svg,.entry-tag svg { width:15px; height:15px; flex-shrink:0; }
.overall-card .section-heading { flex-wrap:wrap; }
.overall-headline { font-size:25px; font-weight:600; letter-spacing:-.6px; line-height:1.35; max-width:580px; margin-bottom:12px; }
.overall-card > p { color:var(--muted); }
.signals { display:flex; flex-wrap:wrap; gap:12px 26px; padding-top:20px; margin-top:22px; border-top:1px solid var(--line); }
.signal { flex:1 1 110px; }
.signal-label { display:block; font-size:12px; color:var(--muted); margin-bottom:3px; }
.signal-value { font-size:15px; font-weight:650; }
.priority-card { padding:28px; background:var(--sidebar); color:white; border-radius:var(--radius); display:flex; flex-direction:column; }
.priority-card .eyebrow { color:#ffffff; }
.priority-card h2 { font-size:23px; letter-spacing:-.6px; line-height:1.35; margin:9px 0 13px; }
.priority-card > p:not(.eyebrow) { font-size:15px; color:#cccccc; }
.priority-success { border-top:1px solid #444444; margin-top:24px; padding-top:17px; }
.priority-success > span { color:#ffffff; font-size:11px; letter-spacing:1.2px; font-weight:650; }
.priority-success p { color:#e5e5e5; font-size:14px; margin-top:6px; }
.section-caption { font-size:13px; color:var(--muted); white-space:nowrap; }
.actions-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.action { display:grid; grid-template-columns:28px minmax(0,1fr); gap:6px 12px; padding-top:18px; border-top:1px solid var(--line); min-width:0; }
.action p,.action-meta { grid-column:2; }
.action h3 { margin:0; }
.action-number { grid-row:1 / 4; color:var(--accent); font-size:12px; font-weight:700; letter-spacing:1px; display:block; margin-bottom:10px; }
.action p,.entry p,.recommendation p { color:var(--muted); font-size:15px; }
.action-meta { display:block; font-size:12px; color:var(--accent); font-weight:600; margin-top:14px; }
.two-column { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.section-symbol { display:grid; place-items:center; width:26px; height:26px; border:1px solid #d5d5d5; border-radius:6px; color:var(--accent); font-size:16px; }
.section-symbol.warning { color:#111111; border-color:#999999; }
.entry { padding:17px 0; border-top:1px solid var(--line); }
.entry:first-child { padding-top:0; border-top:0; }
.entry:last-child { padding-bottom:0; }
.entry-top { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px 12px; margin-bottom:6px; }
.entry-top h3 { margin:0; }
.entry-tag { padding:3px 8px; font-size:11px; letter-spacing:.4px; text-transform:uppercase; }
.recommendation { padding:24px 0; border-top:1px solid var(--line); }
.recommendation:first-child { padding-top:0; border-top:0; }
.recommendation:last-child { padding-bottom:0; }
.recommendation-title { font-size:17px; margin-bottom:16px; }
.recommendation-comparison { display:grid; grid-template-columns:minmax(0,1fr) 28px minmax(0,1.6fr); gap:18px; align-items:start; }
.recommendation-position { padding:14px 0; min-width:0; }
.recommendation-review { padding:16px 18px; background:#f7f8f7; border-left:3px solid #242e2b; border-radius:0 8px 8px 0; min-width:0; }
.review-top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.comparison-arrow { color:#737373; font-size:23px; text-align:center; margin-top:20px; }
.model-label { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.review-top .model-label { margin-bottom:0; }
.model-label strong { display:block; font-size:14px; line-height:1.4; }
.model-label div > span { display:block; font-size:10px; color:#666; letter-spacing:.9px; }
.verdict { font-size:11px; text-transform:uppercase; letter-spacing:.35px; }
.report-footer { display:flex; justify-content:space-between; color:var(--muted); font-size:12px; gap:12px; padding:0 2px 12px; }
.back-link { display:inline-block; color:var(--accent); font-size:14px; margin-bottom:20px; text-underline-offset:4px; }
.page-subtitle { color:var(--muted); margin-top:12px; }
.archive-heading { display:flex; align-items:center; justify-content:space-between; margin:34px 0 18px; }
.archive-heading span { font-size:14px; color:var(--muted); }
.history-list { display:grid; gap:14px; }
.history-item { display:flex; gap:26px; align-items:center; padding:25px 28px; background:white; border:1px solid var(--line); border-radius:var(--radius); text-decoration:none; transition:border-color .15s,box-shadow .15s; }
.history-item:hover { border-color:#888888; box-shadow:0 4px 12px #00000008; }
.history-date { min-width:68px; padding-right:24px; border-right:1px solid var(--line); text-align:center; }
.history-date span { display:block; color:var(--muted); font-size:12px; font-weight:650; text-transform:uppercase; }
.history-date strong { display:block; font-size:30px; font-weight:600; line-height:1.3; }
.history-content { flex:1; min-width:0; }
.history-content h3 { font-size:18px; }
.history-content p { color:var(--muted); font-size:15px; }
.history-meta { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:10px; font-size:12px; color:var(--muted); }
.open-report { flex-shrink:0; font-size:14px; color:var(--accent); font-weight:600; }
.status-panel,.error-panel { padding:32px; background:white; border:1px solid var(--line); border-radius:var(--radius); }
.error-panel p { margin:16px 0 24px; color:var(--muted); }
.error-panel button { border:0; padding:10px 20px; border-radius:6px; color:white; background:var(--accent); margin-right:20px; }
.error-panel a { display:inline-block; margin-top:12px; color:var(--accent); }
.empty-state { padding:32px; background:white; border:1px solid var(--line); border-radius:var(--radius); color:var(--muted); }
@media (min-width:1600px) { main { padding-top:48px; } }
@media (max-width:1200px) { .sidebar { width:210px; padding-inline:18px; } .workspace { margin-left:210px; } main { padding:32px 28px; } .topbar { padding-inline:28px; } .overview-grid { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); } .card,.priority-card { padding:24px; } .two-column { gap:20px; } }
@media (max-width:960px) { .sidebar { width:180px; padding-inline:14px; } .workspace { margin-left:180px; } .brand { font-size:16px; gap:8px; } .brand-subtitle { font-size:9px; letter-spacing:1px; } .overview-grid { grid-template-columns:1fr; } .priority-card { display:block; } .priority-card h2 { margin-top:4px; } .two-column { grid-template-columns:1fr; gap:0; } .actions-list { grid-template-columns:1fr; gap:20px; } .action { padding-top:18px; } .action-number { margin-bottom:6px; } .recommendation-comparison { grid-template-columns:1fr; gap:0; } .comparison-arrow { margin:0 0 8px; justify-self:start; transform:rotate(90deg); } }
@media (max-width:680px) { .sidebar { position:static; width:100%; padding:18px 20px 0; gap:18px; } .brand { font-size:17px; } .brand-mark { width:38px; height:38px; } .brand-subtitle { font-size:10px; } .workspace-label,.sidebar-footer { display:none; } nav { grid-template-columns:1fr 1fr; gap:12px; padding-bottom:14px; } .nav-link { justify-content:center; padding:10px; font-size:14px; } .workspace { margin-left:0; } .topbar { min-height:50px; padding:12px 20px; font-size:12px; } .topbar-separator { margin-inline:7px; } .edition { display:none; } main { padding:26px 18px 18px; } h1 { font-size:27px; } .page-heading { flex-wrap:wrap; align-items:start; gap:12px; margin-bottom:18px; } .report-meta { font-size:13px; gap:6px; } .sample-badge { font-size:12px; padding:4px 10px; } .sample-note { font-size:13px; margin-bottom:18px; } .overview-grid { gap:18px; margin-bottom:18px; } .card { margin-bottom:18px; } .card,.priority-card { padding:22px; border-radius:12px; } .section-heading { align-items:start; gap:10px; margin-bottom:18px; } h2 { font-size:18px; } .overall-headline,.priority-card h2 { font-size:23px; } .signals { gap:14px; } .signal { flex-basis:100px; } .entry-top { flex-wrap:wrap; gap:4px 10px; } .report-footer { flex-direction:column; gap:2px; } .history-item { gap:18px; padding:20px; flex-wrap:wrap; } .history-date { min-width:54px; padding-right:16px; } .history-content { flex-basis:calc(100% - 74px); } .open-report { margin-left:72px; } .archive-heading { margin-top:26px; } .error-panel { padding:24px; } }
.model-icon { display:inline-grid; place-items:center; width:38px; height:38px; border-radius:9px; flex-shrink:0; background:#fff; }
.model-icon.claude { background:var(--claude-surface); }
.model-icon img { display:block; object-fit:contain; max-width:100%; }
.model-icon.gpt img { width:100%; height:100%; }
.nav-link .model-icon { width:28px; height:28px; border-radius:6px; }
.nav-link { gap:10px; padding-inline:12px; }
.review-nav-label { margin-top:30px; }
.review-nav { border-top:1px solid #333; padding-top:10px; }
.review-nav .nav-link { font-size:13px; }
.review-nav .nav-link[aria-current="page"] { background:#242424; color:white; box-shadow:inset 3px 0 #fff; }
.review-intro { display:flex; align-items:center; gap:12px; margin-bottom:26px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.review-intro strong { display:block; color:#333; font-size:13px; font-weight:650; }
.review-intro p > span { display:block; color:var(--muted); font-size:12px; }
.priority-card { border:1px solid #272d2b; box-shadow:0 4px 16px #0000000c; }
.priority-heading { display:flex; align-items:center; gap:12px; margin-bottom:7px; }
.priority-heading .eyebrow { margin:0; font-size:11px; letter-spacing:1.3px; }
.priority-icon { display:grid; place-items:center; width:34px; height:34px; border:1px solid #555; border-radius:8px; }
.priority-icon svg,.flow-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.pill.danger,.entry-tag.danger { background:#fff1f0; color:#9f2424; border-color:#f3c5c0; }
.section-note { margin-top:7px; font-size:13px; color:var(--muted); }
.business-state { display:flex; flex-wrap:wrap; align-items:center; gap:12px 28px; padding:14px 18px; border:1px solid var(--line); border-radius:10px; background:#fff; margin-bottom:22px; }
.business-state h2 { font-size:13px; letter-spacing:0; }
.business-state p { font-size:11px; color:var(--muted); }
.state-steps { display:flex; flex:1; flex-wrap:wrap; justify-content:space-between; gap:10px 20px; list-style:none; padding:0; margin:0; max-width:600px; }
.state-steps li { display:flex; align-items:center; gap:7px; font-size:12px; font-weight:600; color:#737373; }
.state-steps li:not(:last-child)::after { content:"→"; color:#888; margin-left:8px; }
.state-steps li.current { color:#111; }
.stage-dot { width:9px; height:9px; border:1.5px solid #9b9b9b; border-radius:50%; }
.current .stage-dot { border-color:#111; background:#111; }
.stage-current { padding:2px 6px; border:1px solid #d9dfdc; border-radius:4px; background:#eef2ef; font-size:10px; }
.signal-direction { margin-top:2px; }
.pill > span,.entry-tag > span { min-width:0; overflow-wrap:anywhere; }
.card p,.priority-card p,.history-content,.action-meta { overflow-wrap:anywhere; }
@media (max-width:960px) { .overview-grid .priority-card { order:-1; } }
@media (max-width:1200px) and (min-width:901px) { .sidebar { width:230px; } .workspace { margin-left:230px; } }
@media (max-width:900px) {
  .sidebar { position:static; width:100%; padding:22px 28px 16px; display:grid; grid-template-columns:1fr auto; gap:16px 22px; }
  .brand { font-size:17px; }
  .brand-subtitle { font-size:9px; }
  .workspace-label,.sidebar-footer { display:none; }
  .model-nav,.sidebar > nav:not(.review-nav) { display:flex; gap:10px; }
  .review-nav { grid-column:1 / -1; display:flex; gap:8px; padding-top:12px; }
  .review-nav .nav-link { min-height:44px; padding:8px 16px; }
  .review-nav .nav-link[aria-current="page"] { box-shadow:inset 0 -2px #fff; }
  .workspace { margin-left:0; }
}
@media (max-width:600px) {
  .sidebar { display:flex; padding:20px 18px 12px; gap:16px; }
  .model-nav,.sidebar > nav:not(.review-nav) { width:100%; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:8px; padding:0; }
  .nav-link { justify-content:flex-start; font-size:13px; padding:10px; }
  .review-nav { width:100%; padding-bottom:0; }
  .brand-subtitle { font-size:10px; }
  .review-intro { margin-bottom:22px; align-items:flex-start; }
  .review-intro p > span { font-size:11px; }
  .business-state { padding:14px; gap:12px; }
  .business-state > div { width:100%; display:flex; justify-content:space-between; align-items:center; }
  .state-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
  .state-steps li { position:relative; display:grid; grid-template-columns:9px minmax(0,1fr); align-content:start; gap:5px; font-size:11px; }
  .state-steps li:not(:last-child)::after { position:absolute; right:-7px; top:0; margin:0; }
  .stage-current { grid-column:2; justify-self:start; padding:0 3px; font-size:10px; }
  .recommendation-title { font-size:16px; }
  .recommendation-review { padding:14px; }
  .card,.priority-card { padding:22px 20px; }
  .action-meta { margin-top:7px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }
