/* Yasnoo article typography standard — 2026-09 */
@font-face{font-family:'Iosevka Original';font-style:normal;font-weight:500;font-stretch:expanded;font-display:swap;src:url('../fonts/Iosevka-ExtendedMedium.woff2') format('woff2')}
:root{
  --font-s:'Onest',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-d:'Yasnoo Iosevka Regular','Iosevka Charon Mono',monospace;
  --font-code:'Yasnoo Iosevka Extended','Iosevka Original','Yasnoo Iosevka Regular',monospace;
  --font-h:'Commissioner A1s','Onest',system-ui,sans-serif;
  --font-lora:var(--font-s);
}
html,body{font-family:var(--font-s)}
body{line-height:1.45}
p,li,td,th,input,button,select,textarea{font-family:var(--font-s)}
h1,h2,.a-h1,.phase-t,.stat-v,.nav-logo,.nav-cta,.f-brand,.sh{font-family:var(--font-h)}
h3,h4,.prose-section h3{font-family:var(--font-s);font-weight:600}
.a-h1,.nav-logo,.nav-cta,.f-brand,.stat-v{font-weight:800}
.a-h1{letter-spacing:-.035em;line-height:1.04}
.phase-t{font-size:.82rem;font-weight:750;letter-spacing:.015em;text-transform:none}
.sh{font-size:1.08rem;font-weight:750;letter-spacing:-.015em}
.a-deck{font-family:var(--font-s);font-size:1rem;line-height:1.65;max-width:62ch}
.a-intro{font-family:var(--font-s);font-size:.93rem;line-height:1.72;max-width:64ch}
.prose-p,.faq-a,details.faq summary,.chi{font-family:var(--font-s)}
.prose-p{line-height:1.72}
.cl,.cl .op,.fence,.raw-code,.vbtn,.cln-badge,.raw-copy,.lbl::before,
.toc-head,.sn-label,.a-eye,.tag,.f-ct,.rl b,.cln-inline,.ci-line,.ci-op,
code,pre,.mono,.tbl-head .tc{
  font-family:var(--font-code)!important;
  font-weight:500!important;
  font-stretch:normal!important;
  font-synthesis:none!important;
}
.cl{font-size:.84rem;line-height:1.72}
.ct{letter-spacing:-.01em}
.lbl{font-family:var(--font-s);font-size:.66rem;letter-spacing:.11em}
.tbl-row .tc,.tbl td,.tbl th{font-family:var(--font-s)}
[data-theme='light'] .ct{color:var(--tx)}
[data-theme='light'] .prose-p,[data-theme='light'] .faq-a,[data-theme='light'] details.faq summary{color:var(--tx)}
.pull-quote,q,.gold-text,.court-cite{font-family:var(--font-s)}
@media(max-width:480px){
  .cl{font-size:.80rem;line-height:1.65}
  .a-deck{font-size:.94rem;line-height:1.62}
  .a-intro{font-size:.88rem;line-height:1.68}
}

/* Shared CLN grid tables — low specificity so page-specific layouts win */
:where(.grp.g-tbl){margin:1rem 0 1.4rem;border:1px solid var(--bdr);border-radius:8px;overflow-x:auto;padding:0;background:var(--surf)}
:where(.g-tbl .tbl-head,.g-tbl .tbl-row){display:grid;min-width:680px}
:where(.g-tbl .tbl-head:has(.tc:nth-child(4):last-child),.g-tbl .tbl-row:has(.tc:nth-child(4):last-child)){grid-template-columns:minmax(150px,1.05fr) minmax(170px,1.2fr) minmax(220px,1.55fr) minmax(150px,1fr)}
:where(.g-tbl .tbl-head:has(.tc:nth-child(3):last-child),.g-tbl .tbl-row:has(.tc:nth-child(3):last-child)){grid-template-columns:minmax(210px,1.25fr) minmax(180px,1fr) minmax(180px,1fr);min-width:650px}
:where(.g-tbl .tbl-head){background:var(--surf2);border-bottom:1px solid var(--bdr2)}
:where(.g-tbl .tbl-row){border-bottom:1px solid var(--bdr)}
:where(.g-tbl .tbl-row:last-child){border-bottom:0}
:where(.g-tbl .tc){display:block;padding:.66rem .8rem;line-height:1.45;border-right:1px solid var(--bdr);min-width:0}
:where(.g-tbl .tc:last-child){border-right:0}
:where(.g-tbl .tbl-head .tc){font-size:.61rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
:where(.g-tbl .tbl-row .tc){font-family:var(--font-s);font-size:.79rem;color:var(--tx)}
:where(.g-tbl .tbl-row .tc:first-child){color:var(--white);font-weight:600}
:where([data-theme='light'] .g-tbl .tbl-row:hover){background:rgba(0,0,0,.025)}
@media(max-width:600px){:where(.g-tbl .tbl-head,.g-tbl .tbl-row){min-width:620px}:where(.g-tbl .tc){padding:.62rem .7rem}}
/* g-tbl must override the base .grp left-border/padding used by CLN blocks */
.grp.g-tbl{padding:0;border:1px solid var(--bdr);border-radius:8px;overflow-x:auto;background:var(--surf);margin:1rem 0 1.4rem}

/* Shared mobile article layer — 2026-09-23 */
@media(max-width:760px){
  html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{line-height:1.5;overflow-x:hidden}
  img,svg,video,iframe{max-width:100%;height:auto}
  .wrap{display:block;min-width:0}
  .main{min-width:0;max-width:100%;padding:1.2rem 1rem 3.5rem}
  .sidenav,.toc-col{display:none!important}
  .nav{height:auto;min-height:56px;padding:.55rem 1rem .45rem;flex-wrap:wrap;gap:.4rem}
  .nav-logo{margin-right:auto;font-size:1.22rem}
  .nav-right{gap:.4rem}
  .nav-theme,.nav-cta{min-height:40px}
  .nav-links{order:3;width:100%;flex-basis:100%;overflow-x:auto;gap:.15rem;padding-top:.1rem;scrollbar-width:none}
  .nav-links::-webkit-scrollbar{display:none}
  .nav-links a,.nav-links a:not(.mob-show){display:inline-flex!important;flex:0 0 auto;align-items:center;min-height:38px;padding:.42rem .62rem;font-size:.84rem;white-space:nowrap}
  .a-h1{font-size:clamp(2rem,9.7vw,2.8rem);line-height:1.05;overflow-wrap:anywhere}
  .a-deck{font-size:1rem;line-height:1.62}
  .a-intro{font-size:.95rem;line-height:1.68}
  .a-meta{display:flex;flex-wrap:wrap;gap:.4rem .7rem;font-size:.78rem;line-height:1.45}
  .stats{grid-template-columns:1fr 1fr!important;gap:.55rem}
  .stat{min-width:0;padding:.85rem!important}
  .stat-v{font-size:1.2rem!important;overflow-wrap:anywhere}
  .stat-l{font-size:.78rem!important;line-height:1.35}
  .phase{padding:.8rem .85rem!important;gap:.55rem}
  .phase-t{font-size:.9rem!important;line-height:1.35}
  .lbl{font-size:.72rem;line-height:1.35;letter-spacing:.08em}
  .grp{max-width:100%;min-width:0}
  .cl{font-size:.9rem;line-height:1.62}
  .ct{overflow-wrap:anywhere}
  .prose-p,.faq-a,details.faq summary{font-size:.94rem;line-height:1.6}
  .view-toggle{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}
  .vbtn{min-height:40px;padding:.5rem .7rem;font-size:.78rem}
  .raw-panel{max-width:100%;overflow-x:auto}
  .raw-code,pre,code{overflow-wrap:anywhere;word-break:break-word}
  .g-tbl{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .tbl-head,.tbl-row{font-size:.9rem}
  .faq-wrap{max-width:100%}
  details.faq summary{padding:.8rem .85rem}
  .footer{padding:2rem 1rem}
  .footer-in{grid-template-columns:1fr!important;gap:1.4rem!important}
  .f-a{font-size:.9rem;line-height:1.45}
}
@media(max-width:430px){
  .main{padding-left:.85rem;padding-right:.85rem}
  .a-h1{font-size:2rem}
  .stats{grid-template-columns:1fr!important}
  .nav{padding-left:.8rem;padding-right:.8rem}
  .cl{font-size:.87rem}
}
