:root{
  --bg:#EEF0EA; --panel:#E4E7DE; --paper:#F6F2EC;
  --ink:#20242B; --ink-soft:#494F58; --line:#C7C9BC;
  --office:#3D5A73; --office-soft:#E6ECF0;
  --self:#A5622E; --self-soft:#F3E7D8;
  --caution:#7A4A3A; --caution-soft:#EFDCD3;
  --fact:#3D6650; --fact-soft:#DCEAE1;
  --live:#B3382C;
  --f-body:'Source Serif 4', Georgia, serif;
  --f-mono:'IBM Plex Mono', ui-monospace, monospace;
  --f-display:'Fraunces', Georgia, serif;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#14171B; --panel:#1C2026; --paper:#1B1E23;
    --ink:#E6E8E2; --ink-soft:#A3A9B1; --line:#333943;
    --office:#8FB1CE; --office-soft:#1E2A35;
    --self:#E3995C; --self-soft:#33261A;
    --caution:#E0A08B; --caution-soft:#3A2822;
    --fact:#8CC4A2; --fact-soft:#1D2E25;
    --live:#F0786B;
    color-scheme:dark;
  }
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:18px;line-height:1.65;padding-inline:20px;}
.page{max-width:760px;margin:0 auto;padding-bottom:90px;}
a{color:var(--office);}
button{font:inherit;color:inherit;cursor:pointer;}
button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--office);outline-offset:2px;}

/* Site nav */
.sitenav{max-width:760px;margin:0 auto;padding:18px 0 0;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
.sitenav a{color:var(--ink-soft);text-decoration:none;padding:2px 0;border-bottom:2px solid transparent;}
.sitenav a:hover{color:var(--ink);}
.sitenav a[aria-current="page"]{color:var(--self);border-bottom-color:var(--self);}
.sitenav .brand{color:var(--ink);font-weight:600;margin-right:auto;}
.sitefoot{margin-top:70px;padding-top:18px;border-top:1px solid var(--line);font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--ink-soft);display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between;}

.masthead{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between;align-items:baseline;padding:22px 0 16px;border-bottom:1px solid var(--line);}
.masthead-brand{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);}
.masthead-brand strong{color:var(--ink);}
.masthead-meta{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;color:var(--ink-soft);}

.hero{padding:48px 0 30px;}
.eyebrow{font-family:var(--f-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--office);margin-bottom:20px;}
.seam{display:flex;align-items:stretch;margin-bottom:8px;}
.seam-half{flex:1;min-width:0;}
.seam-half:last-child{text-align:right;}
.seam-line{border-left:2px dashed var(--ink-soft);opacity:.4;margin:0 16px;position:relative;}
.seam-line::before,.seam-line::after{content:"";position:absolute;left:-5px;width:8px;height:8px;border-radius:50%;background:var(--bg);border:1px solid var(--ink-soft);}
.seam-line::before{top:-4px;}.seam-line::after{bottom:-4px;}
.hero h1{margin:0;font-weight:500;line-height:1.1;}
.office-word{font-family:var(--f-mono);font-weight:600;text-transform:uppercase;font-size:clamp(24px,7vw,38px);letter-spacing:.01em;color:var(--office);}
.self-word{font-family:var(--f-display);font-style:italic;font-weight:500;font-size:clamp(34px,10vw,56px);color:var(--self);}
.hero-sub{margin:24px 0 0;font-size:19px;color:var(--ink-soft);max-width:60ch;}
.hero-thesis{margin:18px 0 0;font-size:20px;line-height:1.6;max-width:62ch;}
.office-inline{font-family:var(--f-mono);font-weight:600;color:var(--office);font-size:.92em;}
.self-inline{font-family:var(--f-display);font-style:italic;font-weight:500;color:var(--self);}

.tag{display:inline-block;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;padding:2px 7px;border-radius:3px;margin-right:8px;vertical-align:2px;white-space:nowrap;line-height:1.5;}
.tag-heuristic{background:var(--office-soft);color:var(--office);}
.tag-assumption{background:var(--self-soft);color:var(--self);}
.tag-fact{background:var(--fact-soft);color:var(--fact);}
.tag-caution{background:var(--caution-soft);color:var(--caution);}
.tag-sample{background:transparent;color:var(--ink-soft);border:1px dashed var(--ink-soft);}

h2{font-family:var(--f-mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:52px 0 22px;padding-bottom:10px;border-bottom:1px solid var(--line);text-wrap:balance;}
h3{margin:0;font-size:20px;line-height:1.3;text-wrap:balance;}
p{margin:0;}

.nav{border:1px solid var(--line);background:var(--panel);}
.nav-top{display:flex;flex-wrap:wrap;gap:2px 18px;padding:12px 16px;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--line);}
.nav-top span.is-new{color:var(--bg);background:var(--self);padding:0 8px;border-radius:2px;font-weight:600;}
.nav-sub{display:flex;flex-wrap:wrap;}
.nav-sub button{flex:1 1 150px;text-align:left;background:transparent;border:0;border-right:1px solid var(--line);padding:14px 16px;min-width:0;}
.nav-sub button:last-child{border-right:0;}
.nav-sub .n-label{display:block;font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);}
.nav-sub .n-desc{display:block;font-size:14px;line-height:1.4;color:var(--ink-soft);margin-top:2px;}
.nav-sub button[aria-selected="true"]{background:var(--bg);box-shadow:inset 0 -3px 0 var(--self);}
.nav-sub button[aria-selected="true"] .n-label{color:var(--self);}
.nav-note{font-size:15px;color:var(--ink-soft);margin-top:12px;}
.panel[hidden]{display:none;}
.note-sample{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--ink-soft);margin:18px 0 0;}

.player{margin-top:20px;border:1px solid var(--line);background:var(--paper);padding:20px;}
.player-kicker{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);}
.player h3{margin-top:6px;}
.track{position:relative;height:34px;margin-top:20px;}
.track-bar{position:absolute;left:0;right:0;top:15px;height:4px;background:var(--line);border-radius:2px;}
.track-fill{position:absolute;left:0;top:15px;height:4px;background:var(--office);border-radius:2px;width:0;}
.mark{position:absolute;top:6px;width:14px;height:22px;margin-left:-7px;padding:0;border:0;background:transparent;}
.mark::after{content:"";display:block;width:4px;height:22px;margin:0 auto;border-radius:2px;background:var(--ink-soft);}
.mark[data-tag="heuristic"]::after{background:var(--office);}
.mark[data-tag="assumption"]::after{background:var(--self);}
.mark[data-tag="fact"]::after{background:var(--fact);}
.mark[data-tag="caution"]::after{background:var(--caution);}
.scrub{width:100%;margin:6px 0 0;accent-color:var(--office);}
.time-row{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums;}
.now{margin-top:14px;padding:12px 14px;background:var(--bg);border-left:3px solid var(--line);font-size:16px;min-height:74px;}
.now .tag{margin-right:8px;}
.now-time{font-family:var(--f-mono);font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums;}

.filters{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 14px;}
.chip{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border:1px solid var(--line);background:transparent;border-radius:999px;color:var(--ink-soft);}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink);}
.list{display:flex;flex-direction:column;gap:14px;}
.card{border:1px solid var(--line);padding:18px 20px;background:var(--paper);}
.card[hidden]{display:none;}
.card-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;}
.card p{font-size:16.5px;color:var(--ink);margin-top:8px;}
.card-tags{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px 0;}
.card a.card-link{color:inherit;text-decoration:none;}
.card a.card-link:hover h3{text-decoration:underline;}
.fmt-office{color:var(--office);}
.fmt-self{color:var(--self);}
.pill-live{display:inline-flex;align-items:center;gap:6px;color:var(--live);}
.pill-live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--live);}
.rsvp{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;}
.btn{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:9px 16px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);border-radius:2px;}
.btn[aria-pressed="true"]{background:transparent;color:var(--ink);}
.btn-ghost{background:transparent;color:var(--ink);}
.rsvp-note{font-family:var(--f-mono);font-size:11px;color:var(--ink-soft);}

.point{margin-bottom:22px;padding-left:18px;border-left:2px solid var(--line);}
.point-title{font-weight:600;font-size:18px;}
.point p{margin-top:6px;font-size:17px;}
.sub-h{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin:34px 0 14px;}
.pipeline{list-style:none;margin:0;padding:0;counter-reset:step;display:grid;gap:10px;}
.pipeline li{counter-increment:step;display:grid;grid-template-columns:34px 1fr;gap:12px;padding:12px 14px;border:1px solid var(--line);background:var(--paper);}
.pipeline li::before{content:counter(step);font-family:var(--f-mono);font-weight:600;color:var(--self);font-size:18px;}
.pipeline strong{display:block;font-size:17px;}
.pipeline span{font-size:15.5px;color:var(--ink-soft);line-height:1.5;}
.scroll-x{overflow-x:auto;border:1px solid var(--line);}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:14px;background:var(--paper);}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top;}
th{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);background:var(--panel);}
td:first-child{font-family:var(--f-mono);font-size:13px;color:var(--office);white-space:nowrap;}
tr:last-child td{border-bottom:0;}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.compare>div{border:1px solid var(--line);padding:16px 18px;background:var(--paper);min-width:0;}
.compare h4{margin:0 0 6px;font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;}
.compare p{font-size:15.5px;}

.essence{margin:56px 0 0;padding:34px 28px;background:var(--panel);position:relative;}
.essence::before{content:"";position:absolute;left:28px;right:28px;top:0;border-top:2px dashed var(--ink-soft);opacity:.35;}
.essence-label{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:12px;}
.essence-quote{font-size:22px;line-height:1.55;text-wrap:balance;}
.q-office{font-family:var(--f-mono);font-weight:600;color:var(--office);font-size:.84em;}
.q-self{font-family:var(--f-display);font-style:italic;color:var(--self);}
.counter{margin-top:56px;border:1px solid var(--line);border-left:3px solid var(--caution);padding:24px;background:var(--paper);}
.counter-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:14px;}
.counter-head .tag{margin:0;}
.counter-title{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--caution);}
.counter p{margin-bottom:12px;font-size:16.5px;}
.counter p:last-child{margin-bottom:0;}
.legend{margin-top:60px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 18px;font-family:var(--f-mono);font-size:11px;color:var(--ink-soft);}
.legend-item{display:flex;align-items:center;gap:6px;}
.legend .tag{margin-right:0;}

/* API reference */
.m{display:inline-block;font-family:var(--f-mono);font-size:11px;font-weight:600;letter-spacing:.06em;padding:2px 8px;border-radius:3px;min-width:54px;text-align:center;flex:none;}
.m-GET{background:var(--fact-soft);color:var(--fact);}
.m-POST{background:var(--office-soft);color:var(--office);}
.m-PATCH{background:var(--self-soft);color:var(--self);}
.m-DELETE{background:var(--caution-soft);color:var(--caution);}
.ep{border:1px solid var(--line);background:var(--paper);margin-bottom:10px;}
.ep summary{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:12px 14px;cursor:pointer;}
.ep summary::-webkit-details-marker{display:none;}
.ep-path{font-family:var(--f-mono);font-size:13.5px;word-break:break-all;min-width:0;flex:1 1 220px;}
.ep-desc{flex:1 1 100%;font-size:15px;color:var(--ink-soft);line-height:1.45;}
.ep[open] summary{border-bottom:1px solid var(--line);}
.ep-body{padding:14px 16px 16px;display:grid;gap:12px;}
.ep-row{font-size:15.5px;}
.ep-row b{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;display:block;margin-bottom:2px;}
pre{margin:0;padding:12px 14px;background:var(--panel);font-family:var(--f-mono);font-size:12.5px;line-height:1.55;overflow-x:auto;border-left:3px solid var(--office);}
.grp-head{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;margin:28px 0 12px;}
.grp-head h3{font-size:19px;}
.grp-head span{font-size:15px;color:var(--ink-soft);}
.flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--f-mono);font-size:12px;margin:6px 0 4px;}
.flow span.st{padding:5px 10px;border:1px solid var(--line);background:var(--paper);}
.flow span.ar{color:var(--ink-soft);}
code{font-family:var(--f-mono);font-size:.88em;color:var(--office);}
.tbl-wrap{margin-bottom:16px;}
.code-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:14px 0 6px;}
.code-file{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;color:var(--ink-soft);}
.qs-note{margin-top:12px;font-size:15.5px;color:var(--ink-soft);}
#qs-code{max-height:520px;overflow:auto;}

/* Home */
.grid3{display:grid;gap:14px;}
.cta-row{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px;}
.btn-link{display:inline-block;text-decoration:none;}

@media (max-width:600px){
  body{font-size:17px;}
  .compare{grid-template-columns:1fr;}
  .nav-sub button{border-right:0;border-bottom:1px solid var(--line);flex-basis:100%;}
  .nav-sub button:last-child{border-bottom:0;}
  .seam-line{margin:0 10px;}
  .sitenav .brand{flex-basis:100%;}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important;}}
