:root{
  --bg:#f6f5f2;
  --panel:#ffffff;
  --ink:#1c1b19;
  --ink-soft:#4a4741;
  --rule:#e4e0d8;
  --accent:#7a3b2e;
  --accent-soft:#f1e4de;
  --quote-bg:#f9f4ee;
  --link:#7a3b2e;
  --code-bg:#efece5;
  --warn-bg:#fdf3e7;
  --warn-border:#d9a441;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#17140f;
    --panel:#211d17;
    --ink:#ece7dd;
    --ink-soft:#c3bcae;
    --rule:#39332a;
    --accent:#e0a58c;
    --accent-soft:#2c221c;
    --quote-bg:#241f18;
    --link:#e0a58c;
    --code-bg:#2a251d;
    --warn-bg:#2a2317;
    --warn-border:#a97a2c;
  }
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:840px;margin:0 auto;padding:0 1.25rem 5rem;}

.sitenav{
  background:var(--panel);
  border-bottom:1px solid var(--rule);
  position:sticky;
  top:0;
  z-index:10;
}
.sitenav-inner{
  max-width:840px;
  margin:0 auto;
  padding:.85rem 1.25rem;
  display:flex;
  align-items:center;
  gap:1.5rem;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.sitenav-brand{
  font-weight:700;
  font-size:.9rem;
  color:var(--ink);
  text-decoration:none;
  letter-spacing:.01em;
}
.sitenav-links{
  display:flex;
  gap:1.25rem;
  margin-left:auto;
  font-size:.88rem;
}
.sitenav-links a{
  color:var(--ink-soft);
  text-decoration:none;
  padding:.3rem 0;
  border-bottom:2px solid transparent;
}
.sitenav-links a:hover{color:var(--accent);opacity:1;}
.sitenav-links a[aria-current="page"]{
  color:var(--accent);
  border-bottom-color:var(--accent);
  font-weight:600;
}

header.hero{
  border-bottom:1px solid var(--rule);
  padding:2.5rem 0 2rem;
  margin-bottom:2.5rem;
}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  color:var(--accent);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:600;
  margin:0 0 .6rem;
}
h1{
  font-size:2rem;
  line-height:1.2;
  margin:0 0 .75rem;
  font-weight:600;
}
.dek{
  font-size:1.08rem;
  color:var(--ink-soft);
  margin:0;
  max-width:60ch;
}
.meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem 1.25rem;
  margin-top:1.25rem;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.85rem;
  color:var(--ink-soft);
}
.scope-note{
  background:var(--quote-bg);
  border-left:3px solid var(--accent);
  padding:1rem 1.25rem;
  border-radius:0 6px 6px 0;
  font-size:.95rem;
  color:var(--ink-soft);
  margin-top:1.5rem;
}
.scope-note ul{margin:.5rem 0 0;padding-left:1.2rem;}
.scope-note li{margin:.15rem 0;}

section{margin-bottom:3rem;}
h2{
  font-size:1.35rem;
  margin:0 0 1rem;
  padding-bottom:.5rem;
  border-bottom:1px solid var(--rule);
}
h2 .step-no{
  display:inline-block;
  color:var(--accent);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:700;
  font-size:.85rem;
  letter-spacing:.05em;
  margin-right:.6rem;
}

.video-panel{
  background:#000;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 1px 3px rgba(0,0,0,.15), 0 8px 24px rgba(0,0,0,.12);
}
video{display:block;width:100%;height:auto;background:#000;}
.video-caption{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.82rem;
  color:var(--ink-soft);
  margin-top:.6rem;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:.5rem;
}
.video-caption a{font-weight:600;}

.bottom-line{
  background:var(--panel);
  border:1px solid var(--rule);
  border-radius:10px;
  padding:1.5rem 1.5rem;
}
.chain{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.95rem;
  font-weight:600;
  color:var(--accent);
  background:var(--accent-soft);
  padding:.9rem 1.1rem;
  border-radius:8px;
  margin:1rem 0;
  line-height:1.55;
}

.card{
  background:var(--panel);
  border:1px solid var(--rule);
  border-radius:10px;
  padding:1.5rem 1.5rem 1.4rem;
  margin-bottom:1.25rem;
}
.card h3{
  margin:0 0 .9rem;
  font-size:1.08rem;
}
.source-links{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.82rem;
  margin-bottom:1rem;
}
.source-links a{
  display:inline-block;
  margin-right:1rem;
  margin-bottom:.3rem;
}
blockquote{
  background:var(--quote-bg);
  border-left:3px solid var(--accent);
  margin:0 0 1rem;
  padding:.75rem 1.1rem;
  border-radius:0 6px 6px 0;
  font-style:italic;
  color:var(--ink);
}
blockquote cite{
  display:block;
  font-style:normal;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.78rem;
  color:var(--ink-soft);
  margin-top:.4rem;
}
.plain{margin:0;color:var(--ink-soft);}
.plain strong{color:var(--ink);}

a{color:var(--link);}
a:hover{opacity:.8;}

.exception{
  background:var(--warn-bg);
  border:1px solid var(--warn-border);
  border-radius:10px;
  padding:1.5rem;
}
.exception h3{margin-top:0;}

.summary-quote{
  font-size:1.15rem;
  line-height:1.55;
  padding:1.5rem 1.75rem;
}

.links-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:.6rem;
}
.link-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:1rem;
  padding:.7rem 1rem;
  background:var(--panel);
  border:1px solid var(--rule);
  border-radius:8px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.88rem;
  flex-wrap:wrap;
}
.link-row .label{font-weight:600;color:var(--ink);}
.link-row a{white-space:nowrap;}

.archive-box{
  background:var(--panel);
  border:1px dashed var(--rule);
  border-radius:10px;
  padding:1.5rem;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.9rem;
}
.archive-box ul{padding-left:1.1rem;margin:.75rem 0 0;}
.archive-box li{margin:.4rem 0;}
.archive-box .fname{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  background:var(--code-bg);
  padding:.1rem .35rem;
  border-radius:4px;
  font-size:.85rem;
}

.penalty-table{
  width:100%;
  border-collapse:collapse;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.92rem;
  background:var(--panel);
  border:1px solid var(--rule);
  border-radius:10px;
  overflow:hidden;
}
.penalty-table th,.penalty-table td{
  text-align:left;
  padding:.85rem 1rem;
  border-bottom:1px solid var(--rule);
}
.penalty-table th{
  background:var(--accent-soft);
  color:var(--accent);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.penalty-table tr:last-child td{border-bottom:none;}
.penalty-table td.label{font-weight:600;color:var(--ink);white-space:nowrap;}

.elements-list{
  margin:0;
  padding-left:1.2rem;
  color:var(--ink-soft);
}
.elements-list li{margin:.5rem 0;}

.wobbler-badge{
  display:inline-block;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--accent);
  background:var(--accent-soft);
  padding:.25rem .6rem;
  border-radius:5px;
  margin-bottom:.75rem;
}

footer{
  border-top:1px solid var(--rule);
  padding-top:1.5rem;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.78rem;
  color:var(--ink-soft);
}

.date-divider{
  display:flex;
  justify-content:center;
  margin:1.75rem 0 1rem;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.date-divider span{
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--ink-soft);
  background:var(--quote-bg);
  padding:.3rem .8rem;
  border-radius:999px;
}
.date-divider:first-child{margin-top:0;}

.msg{
  background:var(--panel);
  border:1px solid var(--rule);
  border-left-width:4px;
  border-radius:8px;
  padding:.85rem 1rem;
  margin-bottom:.65rem;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.msg-sms{border-left-color:#3d7ea6;}
.msg-discord{border-left-color:#6a5acd;}
.msg-unknown-direction{opacity:.92;}

.msg-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.5rem;
  margin-bottom:.4rem;
  font-size:.78rem;
}
.msg-sender{font-weight:700;color:var(--ink);}
.msg-time{color:var(--ink-soft);font-size:.76rem;}
.msg-time-approx{
  color:var(--warn-border);
  cursor:help;
  border-bottom:1px dotted var(--warn-border);
}

.platform-badge{
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:.15rem .5rem;
  border-radius:5px;
}
.platform-sms{background:rgba(61,126,166,0.14);color:#3d7ea6;}
.platform-discord{background:rgba(106,90,205,0.14);color:#6a5acd;}

.confidence-badge{
  font-size:.66rem;
  font-weight:600;
  padding:.15rem .5rem;
  border-radius:5px;
  white-space:nowrap;
}
.confidence-approx{background:var(--warn-bg);color:var(--warn-border);border:1px solid var(--warn-border);}
.confidence-unknown{background:rgba(180,60,60,0.12);color:#b43c3c;border:1px solid rgba(180,60,60,0.4);}
.confidence-inferred{background:var(--quote-bg);color:var(--ink-soft);border:1px solid var(--rule);}

.msg-text{
  font-size:.92rem;
  line-height:1.55;
  color:var(--ink);
  white-space:pre-wrap;
}
.msg-placeholder{
  color:var(--ink-soft);
  font-style:italic;
}

.msg-outgoing{background:var(--accent-soft);}
