:root{
  --bg:#101010; --surface:#171717; --deep:#0B0B0B;
  --text:#D9D9D9; --muted:#9B9B9B; --dim:#6E6E6E;
  --line:#2A2A2A; --line-soft:#202020;
  --magenta:#E23CD6; --magenta-dim:#B82FAE; --magenta-wash:#2A0F28;
  --teal:#0AB291; --teal-dim:#078A70; --teal-wash:#0E2A24;
  --amber:#FFB157; --amber-wash:#2A2016;
  --font:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --measure:68ch;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);
  font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
.wrap{max-width:860px;margin:0 auto;padding:0 24px 110px}

/* nav */
.topnav{position:sticky;top:0;z-index:50;background:rgba(11,11,11,.94);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line);
  margin:0 -24px;padding:0 24px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.topnav a{display:block;padding:13px 12px;font-size:12.5px;font-weight:600;
  letter-spacing:.04em;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent}
.topnav a:hover{color:var(--text)}
.topnav a.here{color:#fff;border-bottom-color:var(--magenta)}
.topnav .status{margin-left:auto;font-size:11.5px;font-weight:600;letter-spacing:.05em;
  color:var(--teal);white-space:nowrap;padding:13px 0}

/* masthead */
.masthead{padding:48px 0 30px;border-bottom:1px solid var(--line)}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--magenta);margin:0 0 14px}
h1{font-size:clamp(28px,4.6vw,40px);line-height:1.14;font-weight:700;letter-spacing:-.02em;
  margin:0 0 16px;color:#fff;text-wrap:balance}
.standfirst{font-size:16.5px;color:var(--text);margin:0;max-width:var(--measure)}

/* progress */
.prog{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:24px 0 0;
  padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:4px}
.prog .count{font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:600;
  color:var(--muted);font-variant-numeric:tabular-nums}
.prog .count b{color:var(--text);font-weight:700}
.bar{flex:1 1 160px;height:4px;background:var(--line);border-radius:2px;overflow:hidden;min-width:120px}
.bar i{display:block;height:100%;width:100%;background:var(--teal);
  transform:scaleX(0);transform-origin:left center;transition:transform .35s ease}

/* content */
h2{font-size:clamp(20px,2.8vw,25px);line-height:1.28;font-weight:700;letter-spacing:-.01em;
  margin:44px 0 16px;color:#fff;text-wrap:balance}
h3{font-size:16px;font-weight:600;margin:30px 0 12px;color:#fff}
h4{font-size:14px;font-weight:700;letter-spacing:.04em;margin:24px 0 10px;color:var(--magenta)}
p{margin:0 0 14px;max-width:var(--measure)}
ul,ol{max-width:var(--measure);padding-left:20px;margin:0 0 14px}
li{margin:0 0 8px}
strong{color:#fff;font-weight:600}
em{color:var(--muted)}
a{color:var(--magenta)}
code{font-family:var(--mono);font-size:.88em;background:var(--deep);
  border:1px solid var(--line);border-radius:3px;padding:1px 5px;color:var(--text)}
blockquote{margin:0 0 16px;padding:14px 18px;background:var(--surface);
  border-left:2px solid var(--magenta-dim);border-radius:0 4px 4px 0;max-width:var(--measure)}
blockquote p{margin:0;font-size:15px;color:var(--muted)}
hr{border:none;border-top:1px solid var(--line);margin:40px 0}

/* tables */
.scroll{overflow-x:auto;margin:0 0 18px;border:1px solid var(--line);border-radius:4px}
table{border-collapse:collapse;width:100%;font-size:14px;min-width:520px}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line-soft);vertical-align:top}
th{font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:700;
  color:var(--muted);background:var(--deep);white-space:nowrap}
tr:last-child td{border-bottom:none}

/* copyable paste blocks */
.paste{position:relative;margin:0 0 16px;background:var(--deep);border:1px solid var(--line);
  border-radius:4px;display:flex;align-items:stretch;gap:0;overflow:hidden}
.paste pre{margin:0;padding:13px 16px;flex:1 1 auto;overflow-x:auto;
  font-family:var(--mono);font-size:13px;line-height:1.55;color:var(--text);white-space:pre-wrap;word-break:break-word}
.paste button{flex:0 0 auto;border:none;border-left:1px solid var(--line);background:var(--surface);
  color:var(--muted);font-family:var(--font);font-size:11.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;padding:0 16px;cursor:pointer}
.paste button:hover{background:var(--teal-wash);color:var(--teal)}
.paste button.done{background:var(--teal);color:#04120E}
.paste button:focus-visible{outline:2px solid var(--magenta);outline-offset:-2px}

/* task checkboxes */
.task{display:flex;align-items:flex-start;gap:11px;cursor:pointer;padding:10px 13px;
  border:1px solid var(--line);border-radius:4px;background:var(--surface);
  margin:0 0 9px;font-size:14.5px;line-height:1.5;transition:border-color .15s ease,background .15s ease}
.task:hover{border-color:var(--dim)}
.task input{appearance:none;-webkit-appearance:none;margin:0;flex:0 0 auto;width:17px;height:17px;
  margin-top:2px;border:1.5px solid var(--dim);border-radius:3px;background:transparent;
  cursor:pointer;position:relative}
.task input:checked{border-color:var(--teal);background:var(--teal)}
.task input:checked::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;
  border:solid var(--deep);border-width:0 2px 2px 0;transform:rotate(43deg)}
.task:has(input:checked){border-color:var(--teal-dim);background:var(--teal-wash)}
.task:has(input:checked) .lbl{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--dim)}
.task input:focus-visible{outline:2px solid var(--magenta);outline-offset:2px}

/* notes */
.note{padding:15px 17px;margin:0 0 16px;border-radius:4px;max-width:var(--measure);font-size:14.5px}
.note.warn{background:var(--amber-wash);border:1px solid var(--amber)}
.note.warn strong{color:var(--amber)}
.note.info{background:var(--surface);border:1px solid var(--line)}
.note p:last-child{margin:0}

/* hub cards */
.cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:32px 0 0}
.card{display:block;padding:22px;background:var(--surface);border:1px solid var(--line);
  border-radius:4px;text-decoration:none;color:inherit;transition:border-color .15s ease}
.card:hover{border-color:var(--magenta-dim)}
.card .n{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--dim);margin:0 0 8px}
.card h3{margin:0 0 8px;font-size:17px}
.card p{margin:0;font-size:14px;color:var(--muted)}
.card .meta{margin:12px 0 0;font-size:12px;font-weight:600;color:var(--teal)}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media (max-width:600px){.wrap{padding:0 16px 90px}.topnav{margin:0 -16px;padding:0 16px}}

/* recorded-value fields */
.write{display:flex;align-items:center;gap:11px;margin:0 0 14px;flex-wrap:wrap;max-width:var(--measure)}
.write label{font-size:13.5px;color:var(--muted);flex:0 0 auto}
.write input[type="text"]{flex:1 1 220px;min-width:160px;background:var(--deep);
  border:1px solid var(--line);border-radius:4px;color:var(--text);
  font-family:var(--font);font-size:14px;padding:9px 12px}
.write input[type="text"]::placeholder{color:var(--dim)}
.write input[type="text"]:focus{outline:none;border-color:var(--magenta)}
.write input[type="text"]:not(:placeholder-shown){border-color:var(--teal-dim)}

/* urgency banner */
.urgent{margin:0 -24px;padding:16px 24px;background:var(--magenta-wash);
  border-bottom:1px solid var(--magenta-dim)}
.urgent p{margin:0;max-width:var(--measure);font-size:15px;color:var(--text)}
.urgent .tag{display:block;font-size:11px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--magenta);margin:0 0 7px}
.urgent strong{color:#fff}
@media (max-width:600px){.urgent{margin:0 -16px;padding:14px 16px}}
