:root{--bg:#0F1115;--panel:#191C23;--ink:#F4F5F7;--muted:#9BA4B3;--lime:#C6FF3D;--line:#2A2F3A;--yes:#34D399;--partly:#FBBF24;--no:#FF5C5C}
@font-face{font-family:"Space Grotesk";src:url("fonts/SpaceGrotesk-Variable.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("fonts/JetBrainsMono-Variable.woff2") format("woff2");font-weight:100 800;font-style:normal;font-display:swap}
/* Brand A "Stopwatch": graphite, signal lime, Space Grotesk + JetBrains Mono. Dark only.
   Lime appears only on graphite (15.99:1); body text is ink (17.3:1), secondary text muted (7.5:1).
   Colour tokens and font-face rules are prepended by lanes/didtheaiwork/site.py. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;color-scheme:dark}
body{margin:0;background:var(--bg);color:var(--ink);font:500 1.0625rem/1.55 "Space Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif}
main,.top,.foot{width:100%;max-width:40rem;margin:0 auto;padding-left:1rem;padding-right:1rem}
a{color:var(--lime);text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px;border-radius:4px}
h1,h2,p,ul,ol{margin:0}
p+p,section p+*,.post p+*{margin-top:.75rem}
.post>.small{margin-top:2rem}
.muted{color:var(--muted)}
.small{font-size:.875rem;color:var(--muted)}
.mono,.label,.kicker,.card-meta,.runs thead th{font-family:"JetBrains Mono",ui-monospace,monospace}

.top{padding-top:1.5rem;padding-bottom:.5rem}
.brand{display:flex;align-items:center;gap:.75rem;color:var(--ink);text-decoration:none}
.mark{width:56px;height:56px;border-radius:50%;flex:none}
.word{font-size:1.5rem;font-weight:700;line-height:1.1;letter-spacing:-.01em}
.q{color:var(--lime)}
.tagline{margin-top:1rem;font-size:1.25rem;font-weight:600;line-height:1.3}
.disclose{margin-top:.5rem;color:var(--muted);font-size:.9375rem}

.label,.kicker{font-size:.8125rem;font-weight:700;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.label{margin:2rem 0 .75rem}
.kicker{margin-top:1.25rem}

.cards,.plain,.credits,.rubric{list-style:none;padding:0}
.cards{display:grid;gap:.75rem}
.card{display:flex;gap:1rem;align-items:flex-start;padding:1rem;background:var(--panel);border:1px solid var(--line);border-radius:14px;color:var(--ink);text-decoration:none}
.card:hover{border-color:var(--muted)}
.card .stamp{flex:none;width:64px;height:64px}
.card-body{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.card-title{font-size:1.1875rem;font-weight:700;line-height:1.25}
.card-task{color:var(--muted);font-size:.9375rem}
.card-meta{display:flex;flex-wrap:wrap;gap:.25rem .75rem;align-items:center;margin-top:.375rem;font-size:.8125rem;font-weight:500;line-height:1.3;color:var(--muted)}
.pill{display:inline-block;padding:.125rem .625rem;border-radius:999px;border:2px solid currentColor;font-weight:700}
.pill.v-yes{color:var(--yes)}.pill.v-partly{color:var(--partly)}.pill.v-no{color:var(--no)}

.back{margin-top:1rem;font-size:.9375rem}
.post-title{font-size:1.875rem;line-height:1.15;font-weight:700;letter-spacing:-.015em;margin-top:.5rem}
.verdict{display:flex;gap:1rem;align-items:center;margin-top:1.5rem;padding:1rem;background:var(--panel);border:1px solid var(--line);border-left:6px solid var(--muted);border-radius:14px}
.verdict.v-yes{border-left-color:var(--yes)}.verdict.v-partly{border-left-color:var(--partly)}.verdict.v-no{border-left-color:var(--no)}
.verdict .stamp{flex:none;width:96px;height:96px}
.verdict-line{font-size:1.375rem;font-weight:700;line-height:1.2}
.verdict.v-yes strong{color:var(--yes)}.verdict.v-partly strong{color:var(--partly)}.verdict.v-no strong{color:var(--no)}

.runs{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.9375rem}
.runs caption{text-align:left;color:var(--muted);padding-bottom:.5rem;font-size:.875rem}
.runs th,.runs td{text-align:left;padding:.5rem .5rem .5rem 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.runs thead th{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.runs .mid th,.runs .mid td{font-weight:700}
details{margin-top:1rem;color:var(--muted)}
summary{cursor:pointer;color:var(--ink);font-weight:600}

.rubric{display:grid;gap:.75rem}
.crit{padding:1rem;background:var(--panel);border:1px solid var(--line);border-radius:14px}
.crit-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;font-weight:700}
.crit p{margin-top:.5rem;color:var(--muted);font-size:.9375rem}
.pips{display:inline-flex;gap:.375rem;flex:none}
.pips i{width:.875rem;height:.875rem;border-radius:50%;border:2px solid var(--muted)}
.pips i.on{background:var(--ink);border-color:var(--ink)}
.note{margin-top:.75rem;padding:.75rem 1rem;border-left:4px solid var(--partly);background:var(--panel);border-radius:0 10px 10px 0;font-size:.9375rem}

.credits{counter-reset:c;display:grid;gap:.5rem;font-size:.9375rem}
.credits li{padding-left:2rem;position:relative;overflow-wrap:anywhere}
.credits li::before{counter-increment:c;content:counter(c);position:absolute;left:0;top:.1em;font:700 .75rem/1.6 "JetBrains Mono",ui-monospace,monospace;color:var(--muted)}
.plain li{margin-top:.375rem;overflow-wrap:anywhere}
.aff{margin-left:.5rem}

.foot{margin-top:3rem;padding-top:1.5rem;padding-bottom:2.5rem;border-top:1px solid var(--line)}
.foot p{color:var(--muted)}
.foot .small{margin-top:.5rem}

@media (min-width:40rem){
  body{font-size:1.125rem}
  .top{padding-top:2.5rem}
  .tagline{font-size:1.5rem}
  .post-title{font-size:2.5rem}
  .card .stamp{width:72px;height:72px}
}
@media (prefers-reduced-motion:no-preference){.card{transition:border-color .15s}}
