:root{
  --paper:#f5f3ee;
  --paper-2:#ece8df;
  --card:#ffffff;
  --ink:#16212b;
  --ink-2:#2c3a46;
  --muted:#5d6873;
  --line:#d9d3c7;
  --line-2:#c7bfb0;
  --night:#0f1a22;
  --night-2:#16242f;
  --night-line:#26394a;
  --night-text:#c9d3db;
  --night-muted:#8796a3;
  --clay:#b4532a;
  --clay-hi:#cf6a3d;
  --gold:#b88a2e;
  --teal:#2c6e74;
  --ok:#2f6b45;
  --err:#a2361f;
  --ff-serif:'Newsreader',Georgia,serif;
  --ff-sans:'IBM Plex Sans',system-ui,-apple-system,Segoe UI,sans-serif;
  --ff-mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --r:4px;
  --wrap:1180px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--ff-sans);font-size:1rem;line-height:1.7;
  background:var(--paper);color:var(--ink-2);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,svg{max-width:100%;display:block}
a{color:var(--teal)}
a:hover{color:var(--clay)}
:focus-visible{outline:2px solid var(--clay);outline-offset:3px}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 2rem}

.eyebrow{
  font-family:var(--ff-mono);font-size:.72rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:var(--clay);
  display:block;margin-bottom:1rem;
}
.h-xl{
  font-family:var(--ff-serif);font-weight:500;
  font-size:clamp(2.4rem,5.2vw,4.1rem);line-height:1.06;letter-spacing:-.015em;
}
.h-lg{
  font-family:var(--ff-serif);font-weight:500;color:var(--ink);
  font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.15;letter-spacing:-.01em;
}
.h-md{font-family:var(--ff-serif);font-weight:600;font-size:1.3rem;line-height:1.3;color:var(--ink)}
.lede{font-size:1.1rem;color:var(--muted);max-width:62ch}
.mono{font-family:var(--ff-mono)}

.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--ff-sans);font-weight:500;font-size:.95rem;
  padding:.85rem 1.4rem;border-radius:var(--r);text-decoration:none;
  border:1px solid transparent;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--clay);color:#fff}
.btn-primary:hover{background:var(--clay-hi);color:#fff}
.btn-ghost{border-color:var(--night-line);color:var(--night-text)}
.btn-ghost:hover{border-color:var(--night-text);color:#fff}
.btn-line{border-color:var(--line-2);color:var(--ink)}
.btn-line:hover{border-color:var(--ink);color:var(--ink)}

/* nav */
#nav{
  position:sticky;top:0;z-index:50;
  background:rgba(15,26,34,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--night-line);
}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:#fff}
.brand-mark{width:30px;height:30px;flex-shrink:0}
.brand-name{font-family:var(--ff-serif);font-size:1.15rem;font-weight:500;line-height:1.1;color:#fff}
.brand-sub{display:block;font-family:var(--ff-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--night-muted)}
.nav-links{display:flex;align-items:center;gap:2rem;list-style:none}
.nav-links a{color:var(--night-text);text-decoration:none;font-size:.9rem}
.nav-links a:hover{color:#fff}
.nav-links .btn{padding:.55rem 1rem;font-size:.85rem}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:6px}
.nav-toggle span{display:block;width:22px;height:2px;background:#fff;margin:5px 0;transition:transform .25s,opacity .25s}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* hero */
#hero{background:var(--night);color:var(--night-text);position:relative;overflow:hidden}
#hero::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(60% 70% at 85% 30%,rgba(180,83,42,.12),transparent 70%),
    linear-gradient(to bottom,transparent 80%,rgba(0,0,0,.18));
}
.hero-grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:center;
  padding-top:5.5rem;padding-bottom:5rem;
}
.notice{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.06em;
  color:var(--night-text);border:1px solid var(--night-line);border-radius:999px;
  padding:.35rem .9rem;margin-bottom:2rem;background:rgba(255,255,255,.02);
}
.notice i{width:7px;height:7px;border-radius:50%;background:var(--clay-hi);display:block}
#hero h1{color:#fff;margin-bottom:1.5rem}
#hero h1 em{font-style:italic;color:#e8b48f}
.hero-lede{font-size:1.15rem;color:var(--night-text);max-width:54ch;margin-bottom:2.2rem}
.hero-cta{display:flex;gap:.9rem;flex-wrap:wrap}
.hero-facts{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  margin-top:3rem;background:var(--night-line);border:1px solid var(--night-line);border-radius:var(--r);overflow:hidden;
}
.hero-facts div{background:var(--night);padding:1rem 1.1rem}
.hero-facts b{display:block;font-family:var(--ff-serif);font-weight:500;font-size:1.7rem;color:#fff;line-height:1.1}
.hero-facts span{font-size:.78rem;color:var(--night-muted);line-height:1.4;display:block;margin-top:.3rem}

.ideo{
  background:var(--night-2);border:1px solid var(--night-line);border-radius:6px;
  padding:1.4rem 1.4rem 1rem;
}
.ideo-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1rem;gap:1rem}
.ideo-head span{font-family:var(--ff-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--night-muted)}
.ideo svg{width:100%;height:auto}
.ideo-key{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:.8rem;font-size:.75rem;color:var(--night-muted)}
.ideo-key i{display:inline-block;width:12px;height:8px;border-radius:2px;margin-right:.4rem;vertical-align:middle}
.seg{opacity:0;transition:opacity .9s ease}
.seg.on{opacity:1}

/* sections */
section{scroll-margin-top:68px}
.sec{padding:6.5rem 0}
.sec-alt{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;margin-bottom:3.5rem}
.sec-head .lede{justify-self:end}

.areas{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.area{
  background:var(--card);border:1px solid var(--line);border-radius:6px;
  padding:2rem 1.8rem;display:flex;flex-direction:column;
  transition:border-color .25s,box-shadow .25s;
}
.area:hover{border-color:var(--line-2);box-shadow:0 12px 30px -18px rgba(22,33,43,.35)}
.area-n{font-family:var(--ff-mono);font-size:.75rem;color:var(--clay);margin-bottom:1.4rem;display:flex;align-items:center;gap:.7rem}
.area-n::after{content:'';flex:1;height:1px;background:var(--line)}
.area h3{margin-bottom:.8rem}
.area p{color:var(--muted);font-size:.95rem;margin-bottom:1.3rem}
.ticks{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin-top:auto}
.ticks li{font-size:.9rem;padding-left:1.3rem;position:relative;color:var(--ink-2)}
.ticks li::before{content:'';position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:1px;background:var(--clay)}

/* evidence layers */
.layers{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:start}
.principle{
  position:sticky;top:100px;
  border-left:3px solid var(--clay);padding:.4rem 0 .4rem 1.6rem;
}
.principle blockquote{font-family:var(--ff-serif);font-size:1.6rem;line-height:1.3;color:var(--ink);margin-bottom:1.2rem}
.principle p{color:var(--muted);font-size:.95rem}
.layer-list{list-style:none;counter-reset:l}
.layer{
  display:grid;grid-template-columns:3rem 1fr;gap:1rem;
  padding:1.5rem 0;border-top:1px solid var(--line);
}
.layer:last-child{border-bottom:1px solid var(--line)}
.layer::before{
  counter-increment:l;content:counter(l,decimal-leading-zero);
  font-family:var(--ff-mono);font-size:.85rem;color:var(--clay);padding-top:.15rem;
}
.layer h4{font-family:var(--ff-sans);font-weight:600;font-size:1rem;color:var(--ink);margin-bottom:.3rem}
.layer p{font-size:.93rem;color:var(--muted)}
.layer .q{font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.04em;color:var(--teal);margin-top:.5rem;display:block}

.rules{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-top:4.5rem}
.rule{background:var(--card);padding:1.6rem 1.7rem}
.rule h4{font-family:var(--ff-serif);font-weight:600;font-size:1.1rem;color:var(--ink);margin-bottom:.4rem}
.rule p{font-size:.92rem;color:var(--muted)}

/* ancient dna */
#ancient{background:var(--night);color:var(--night-text)}
#ancient .h-lg{color:#fff}
#ancient .lede{color:var(--night-text)}
.pipe{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:3.5rem;position:relative}
.pipe-step{padding:0 1.5rem 0 0;position:relative}
.pipe-step .dot{
  width:14px;height:14px;border-radius:50%;border:2px solid var(--clay-hi);background:var(--night);
  position:relative;z-index:1;margin-bottom:1.3rem;
}
.pipe-step:not(:last-child)::before{
  content:'';position:absolute;top:6px;left:14px;right:0;height:2px;
  background:repeating-linear-gradient(to right,var(--night-line) 0 6px,transparent 6px 11px);
}
.pipe-step b{display:block;font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--clay-hi);margin-bottom:.4rem}
.pipe-step h4{font-family:var(--ff-serif);font-weight:500;font-size:1.2rem;color:#fff;margin-bottom:.5rem}
.pipe-step p{font-size:.9rem;color:var(--night-muted)}
.ancient-note{
  margin-top:3.5rem;display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:start;
  border:1px solid var(--night-line);border-radius:6px;padding:1.4rem 1.6rem;background:var(--night-2);
}
.ancient-note svg{width:22px;height:22px;color:var(--clay-hi);margin-top:.15rem}
.ancient-note p{font-size:.93rem;color:var(--night-text)}

/* process */
.proc{display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:start}
.send{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:2rem}
.send h3{margin-bottom:1.2rem}
.send ol{list-style:none;counter-reset:s;display:flex;flex-direction:column;gap:.85rem}
.send li{counter-increment:s;display:grid;grid-template-columns:1.8rem 1fr;font-size:.93rem}
.send li::before{content:counter(s);font-family:var(--ff-mono);font-size:.8rem;color:var(--clay);padding-top:.1rem}
.send li small{display:block;color:var(--muted);font-size:.82rem}
.send .warn{margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}
.steps{list-style:none;display:flex;flex-direction:column}
.step{display:grid;grid-template-columns:auto 1fr;gap:1.4rem;padding-bottom:2rem;position:relative}
.step:not(:last-child)::before{content:'';position:absolute;left:19px;top:42px;bottom:4px;width:1px;background:var(--line-2)}
.step-n{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--line-2);background:var(--card);
  display:flex;align-items:center;justify-content:center;font-family:var(--ff-mono);font-size:.85rem;color:var(--ink);
}
.step h4{font-family:var(--ff-sans);font-weight:600;font-size:1rem;color:var(--ink);margin:.45rem 0 .3rem}
.step p{font-size:.93rem;color:var(--muted)}

/* reference table */
.ref-wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:3rem;align-items:start}
.tbl-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:6px;background:var(--card)}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{text-align:left;padding:.8rem 1.1rem;border-bottom:1px solid var(--line);white-space:nowrap}
th{font-family:var(--ff-mono);font-weight:500;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--paper)}
td.n{font-family:var(--ff-mono);text-align:right;color:var(--ink)}
th.n{text-align:right}
tr:last-child td{border-bottom:0}
tfoot td{font-weight:600;color:var(--ink);background:var(--paper)}
.bar{display:inline-block;height:6px;border-radius:3px;background:var(--clay);opacity:.75;vertical-align:middle}
.side-note{display:flex;flex-direction:column;gap:1.2rem}
.side-note div{border-left:2px solid var(--line-2);padding-left:1.1rem}
.side-note h4{font-size:.95rem;color:var(--ink);font-weight:600;margin-bottom:.25rem}
.side-note p{font-size:.88rem;color:var(--muted)}

/* sources */
.sources{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.src{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:1.4rem 1.5rem}
.src .tag{font-family:var(--ff-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
.src h4{font-family:var(--ff-serif);font-weight:600;font-size:1.08rem;color:var(--ink);margin:.35rem 0 .4rem}
.src p{font-size:.87rem;color:var(--muted)}
.src cite{font-style:normal;display:block;margin-top:.6rem;font-size:.8rem;color:var(--ink-2)}
.tools{margin-top:3rem;display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.tools span{font-size:.9rem;color:var(--muted);margin-right:.5rem}

/* about */
.about{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.about p{color:var(--muted);margin-bottom:1.1rem}
.creds{list-style:none;border-top:1px solid var(--line)}
.creds li{display:grid;grid-template-columns:9rem 1fr;gap:1rem;padding:.95rem 0;border-bottom:1px solid var(--line);font-size:.93rem}
.creds li b{font-family:var(--ff-mono);font-weight:500;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:.2rem}
.note-card{margin-top:2rem;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--clay);border-radius:4px;padding:1.3rem 1.5rem}
.note-card p{font-family:var(--ff-serif);font-size:1.12rem;color:var(--ink);font-style:italic;margin:0}
.note-card small{display:block;margin-top:.6rem;font-size:.8rem;color:var(--muted)}

/* contact */
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:start}
.contact-info p{color:var(--muted);margin-bottom:1.5rem}
.c-links{display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem}
.c-links a{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--ink);font-size:.95rem;padding:.4rem 0}
.c-links a:hover{color:var(--clay)}
.c-links svg{width:18px;height:18px;color:var(--clay);flex-shrink:0}
.form{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:2rem;display:flex;flex-direction:column;gap:1.1rem}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.field{display:flex;flex-direction:column;gap:.35rem}
.field label{font-size:.8rem;font-weight:500;color:var(--ink)}
.field input,.field select,.field textarea{
  font:inherit;font-size:.95rem;color:var(--ink);background:var(--paper);
  border:1px solid var(--line-2);border-radius:var(--r);padding:.75rem .9rem;width:100%;
  transition:border-color .2s,background .2s;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal);background:#fff}
.field textarea{min-height:140px;resize:vertical}
.field small{font-size:.78rem;color:var(--muted)}
.form .btn{justify-content:center;width:100%}
.form-notice{padding:.9rem 1.1rem;border-radius:var(--r);font-size:.9rem;margin-bottom:1rem}
.form-notice.ok{background:#e6f0e9;color:var(--ok);border:1px solid #bdd6c4}
.form-notice.err{background:#f6e5e0;color:var(--err);border:1px solid #e3bfb5}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* footer */
footer{background:var(--night);color:var(--night-muted);padding:3.5rem 0 2.5rem;font-size:.88rem}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem}
.foot h5{font-family:var(--ff-mono);font-weight:500;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--night-text);margin-bottom:1rem}
.foot ul{list-style:none;display:flex;flex-direction:column;gap:.45rem}
.foot a{color:var(--night-muted);text-decoration:none}
.foot a:hover{color:#fff}
.foot-base{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--night-line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8rem}

/* reveal */
.rv{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  .seg{opacity:1;transition:none}
  html{scroll-behavior:auto}
}

/* legal page */
.legal{max-width:760px;margin:0 auto;padding:4rem 2rem 5rem}
.legal h1{font-family:var(--ff-serif);font-weight:500;font-size:2.4rem;color:var(--ink);margin-bottom:.4rem}
.legal .updated{font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:2.5rem}
.legal h2{font-family:var(--ff-serif);font-weight:600;font-size:1.3rem;color:var(--ink);margin:2.4rem 0 .8rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}
.legal p,.legal li{color:var(--ink-2);font-size:1rem}
.legal p{margin-bottom:1rem}
.legal ul{margin:0 0 1rem 1.3rem;display:flex;flex-direction:column;gap:.35rem}
.legal .box{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:1.4rem 1.6rem;margin-top:2.5rem}

/* responsive */
@media (max-width:1000px){
  .hero-grid,.layers,.proc,.ref-wrap,.about,.contact{grid-template-columns:1fr;gap:3rem}
  .sec-head{grid-template-columns:1fr;gap:1.2rem}
  .sec-head .lede{justify-self:start}
  .areas{grid-template-columns:1fr}
  .pipe{grid-template-columns:1fr 1fr;row-gap:2.5rem}
  .pipe-step:nth-child(2)::before{display:none}
  .principle{position:static}
  .foot{grid-template-columns:1fr 1fr}
  .foot>div:first-child{grid-column:1/-1}
}
@media (max-width:760px){
  .wrap{padding:0 16px}
  .nav-toggle{display:block}
  .nav-links{
    position:fixed;top:68px;left:0;right:0;bottom:0;background:var(--night);
    flex-direction:column;align-items:flex-start;gap:0;padding:1rem 16px;
    transform:translateX(100%);visibility:hidden;transition:transform .3s ease,visibility 0s .3s;
  }
  .nav-links.open{transform:none;visibility:visible;transition:transform .3s ease}
  #nav{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--night)}
  .nav-links li{width:100%;border-bottom:1px solid var(--night-line)}
  .nav-links a{display:block;padding:1rem 0;font-size:1.05rem}
  .nav-links .btn{margin:1.2rem 0;display:inline-flex}
  .nav-links li:last-child{border:0}
  .hero-grid{padding-top:3.5rem;padding-bottom:3.5rem}
  .hero-facts{grid-template-columns:1fr}
  .sec{padding:4.5rem 0}
  .rules,.sources,.row2{grid-template-columns:1fr}
  .pipe{grid-template-columns:1fr}
  .pipe-step::before{display:none}
  .creds li{grid-template-columns:1fr;gap:.2rem}
  .foot{grid-template-columns:1fr}
  .form,.send{padding:1.4rem}
  th,td{padding:.7rem .8rem}
  .legal{padding:3rem 16px 4rem}
}

/* tracking */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.trk-hero{background:var(--night);color:var(--night-text);padding:4.5rem 0 3.5rem}
.trk-hero .h-lg{color:#fff;margin-bottom:.8rem}
.trk-hero .lede{color:var(--night-text);margin-bottom:2rem}
.trk-form{display:flex;gap:.7rem;max-width:620px}
.trk-form input{
  flex:1;min-width:0;font:inherit;font-size:1rem;color:#fff;background:var(--night-2);
  border:1px solid var(--night-line);border-radius:var(--r);padding:.85rem 1rem;
}
.trk-form input::placeholder{color:var(--night-muted)}
.trk-form input:focus{outline:none;border-color:var(--clay-hi)}
.trk-main{padding-top:3rem;padding-bottom:5rem;max-width:900px}
.trk-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:2rem;margin-bottom:1.5rem}
.trk-head{display:flex;justify-content:space-between;gap:2rem;align-items:flex-start;margin-bottom:1.8rem}
.trk-label{font-family:var(--ff-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.4rem}
.trk-head .h-md{font-size:1.6rem;margin-bottom:.3rem}
.trk-desc{color:var(--muted);font-size:.95rem;max-width:52ch}
.trk-pct{text-align:right;flex-shrink:0}
.trk-pct b{display:block;font-family:var(--ff-serif);font-weight:500;font-size:2.6rem;line-height:1;color:var(--clay)}
.trk-pct span{font-size:.8rem;color:var(--muted)}
.is-done .trk-pct b{color:var(--ok)}
.trk-bar{height:10px;border-radius:999px;background:var(--paper-2);overflow:hidden;border:1px solid var(--line)}
.trk-bar.sm{height:6px}
.trk-fill{
  height:100%;width:var(--w);min-width:6px;border-radius:999px;
  background:repeating-linear-gradient(45deg,var(--clay) 0 10px,var(--clay-hi) 10px 20px);
  background-size:28px 28px;animation:trk-move 1.2s linear infinite, trk-grow 1.1s ease-out both;
}
.is-done .trk-fill,.trk-bar.sm .trk-fill{animation:trk-grow 1.1s ease-out both}
.is-done .trk-fill,.trk-bar.is-done .trk-fill{background:var(--ok)}
@keyframes trk-move{to{background-position:28px 0}}
@keyframes trk-grow{from{width:0}}
.trk-steps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin-top:1.6rem}
.trk-step{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}
.trk-dot{
  width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--ff-mono);font-size:.8rem;border:1px solid var(--line-2);color:var(--muted);background:var(--card);
}
.trk-dot svg{width:15px;height:15px}
.trk-step.done .trk-dot{background:var(--ink);border-color:var(--ink);color:#fff}
.trk-step.now .trk-dot{background:var(--clay);border-color:var(--clay);color:#fff;box-shadow:0 0 0 0 rgba(207,106,61,.5);animation:trk-pulse 2s ease infinite}
@keyframes trk-pulse{70%{box-shadow:0 0 0 9px rgba(207,106,61,0)}100%{box-shadow:0 0 0 0 rgba(207,106,61,0)}}
.trk-name{font-size:.85rem;font-weight:500;color:var(--ink);line-height:1.3}
.trk-step.todo .trk-name{color:var(--muted);font-weight:400}
.trk-date{font-family:var(--ff-mono);font-size:.7rem;color:var(--muted);min-height:1em}
.trk-note{margin-top:1.8rem;border-left:3px solid var(--clay);background:var(--paper);padding:1rem 1.2rem;border-radius:0 4px 4px 0}
.trk-note p{font-size:.95rem;color:var(--ink-2)}
.trk-foot{margin-top:1.6rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}
.trk-legend{list-style:none;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.trk-legend li{display:grid;grid-template-columns:2.5rem 1fr;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}
.trk-legend b{font-family:var(--ff-mono);font-weight:500;color:var(--clay)}
.trk-legend h3{font-family:var(--ff-sans);font-size:1rem;font-weight:600;color:var(--ink)}
.trk-legend p{font-size:.92rem;color:var(--muted)}
@media (prefers-reduced-motion:reduce){.trk-fill,.trk-step.now .trk-dot{animation:none}}

/* tracker admin */
.adm-main{padding-top:3rem;padding-bottom:5rem}
.adm-top{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}
.adm-counts{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:1.5rem}
.adm-counts div{background:var(--card);padding:.9rem 1rem}
.adm-counts b{display:block;font-family:var(--ff-serif);font-weight:500;font-size:1.6rem;color:var(--ink);line-height:1.1}
.adm-counts span{font-size:.78rem;color:var(--muted)}
.adm-add,.adm-row{background:var(--card);border:1px solid var(--line);border-radius:6px;margin-bottom:1rem}
.adm-add>summary{padding:1rem 1.3rem;cursor:pointer;font-weight:600;color:var(--ink)}
.adm-add form{padding:0 1.3rem 1.3rem}
.adm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.adm-wide{grid-column:1/-1}
.adm-filter input{width:100%;font:inherit;padding:.75rem 1rem;border:1px solid var(--line-2);border-radius:var(--r);background:var(--card);margin:.5rem 0 1rem}
.adm-sum{display:grid;grid-template-columns:1.2fr 1fr auto;gap:1.5rem;align-items:center;padding:1rem 1.3rem}
.adm-sum h3{font-size:1rem;color:var(--ink)}
.adm-sum span{font-size:.85rem;color:var(--muted);word-break:break-all}
.adm-prog{display:flex;flex-direction:column;gap:.45rem}
.adm-phase{font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--clay)!important}
.adm-phase.p4{color:var(--ok)!important}
.adm-next{padding:.5rem .9rem;font-size:.85rem}
.adm-doneflag{font-size:.85rem;color:var(--ok);font-weight:600}
.adm-row details{border-top:1px solid var(--line)}
.adm-row details>summary{padding:.6rem 1.3rem;cursor:pointer;font-size:.85rem;color:var(--teal)}
.adm-row details form.adm-grid{padding:.5rem 1.3rem 1rem}
.adm-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}
.adm-del{padding:0 1.3rem 1rem}
.adm-delbtn{background:none;border:0;color:var(--err);font:inherit;font-size:.82rem;cursor:pointer;text-decoration:underline}
@media (max-width:760px){
  .trk-form{flex-direction:column}
  .trk-card{padding:1.3rem}
  .trk-head{flex-direction:column;gap:1rem}
  .trk-pct{text-align:left}
  .trk-steps{grid-template-columns:1fr;gap:.8rem}
  .trk-step{flex-direction:row;align-items:center;gap:.8rem}
  .trk-date{margin-left:auto}
  .adm-counts{grid-template-columns:repeat(2,1fr)}
  .adm-grid{grid-template-columns:1fr}
  .adm-sum{grid-template-columns:1fr}
}

/* ── research projects ───────────────────────────── */
.pj-hero{background:var(--night);color:var(--night-text);padding:4.5rem 0 4rem;position:relative;overflow:hidden}
.pj-hero::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 80% at 90% 20%,rgba(180,83,42,.14),transparent 70%)}
.pj-hero-in{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end}
.pj-hero h1{color:#fff;margin-bottom:1.2rem;font-size:clamp(2.2rem,4.6vw,3.4rem)}
.pj-hero .lede{color:var(--night-text)}
.pj-hero-stats{display:flex;gap:1px;background:var(--night-line);border:1px solid var(--night-line);border-radius:6px;overflow:hidden}
.pj-hero-stats div{background:var(--night);padding:1rem 1.4rem;min-width:140px}
.pj-hero-stats dt{font-size:.75rem;color:var(--night-muted)}
.pj-hero-stats dd{font-family:var(--ff-serif);font-size:2.2rem;color:#fff;line-height:1.1}
.pj-main{padding-top:3.5rem;padding-bottom:5rem}
.pj-how{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:4rem;padding-bottom:3rem;border-bottom:1px solid var(--line)}
.pj-how b{font-family:var(--ff-mono);font-weight:500;font-size:.8rem;color:var(--clay);display:block;margin-bottom:.6rem}
.pj-how h3{font-size:1rem;font-weight:600;color:var(--ink);margin-bottom:.3rem}
.pj-how p{font-size:.88rem;color:var(--muted)}
.pj-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}
.pj-toolbar input{font:inherit;font-size:.95rem;padding:.7rem 1rem;border:1px solid var(--line-2);border-radius:var(--r);background:var(--card);width:min(340px,100%)}
.pj-toolbar input:focus{outline:none;border-color:var(--teal)}
.pj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem}
.pj-card{
  display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:8px;
  padding:1.6rem;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s,transform .2s;
}
.pj-card:hover{border-color:var(--line-2);box-shadow:0 14px 34px -20px rgba(22,33,43,.45);transform:translateY(-2px);color:inherit}
.pj-card-top{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:1rem}
.pj-badge{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--ff-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .6rem;border-radius:999px;border:1px solid}
.pj-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
.pj-badge.open{color:var(--ok);border-color:#bdd6c4;background:#eef5f0}
.pj-badge.full{color:var(--gold);border-color:#e6d3a9;background:#faf4e6}
.pj-badge.closed{color:var(--muted);border-color:var(--line-2);background:var(--paper)}
.pj-badge.draft{color:var(--teal);border-color:#b9d3d5;background:#eaf3f3}
.pj-region{font-size:.78rem;color:var(--muted)}
.pj-region.light{color:var(--night-muted)}
.pj-card h3{font-family:var(--ff-serif);font-weight:600;font-size:1.3rem;line-height:1.25;color:var(--ink);margin-bottom:.3rem}
.pj-sub{font-size:.9rem;color:var(--ink-2);margin-bottom:.7rem}
.pj-sum{font-size:.88rem;color:var(--muted);margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pj-chips{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.3rem}
.pj-chips li{font-size:.75rem;padding:.2rem .55rem;border-radius:4px;background:var(--paper-2);color:var(--ink-2);border:1px solid var(--line)}
.pj-card-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}
.pj-card-foot b{color:var(--ink);font-weight:600}
.pj-go{display:inline-flex;align-items:center;gap:.35rem;color:var(--clay);font-weight:500}
.pj-card:hover .pj-go svg{transform:translateX(3px)}
.pj-go svg{transition:transform .2s}
.pj-empty{background:var(--card);border:1px dashed var(--line-2);border-radius:8px;padding:2.5rem;text-align:center}
.pj-empty p{color:var(--muted);margin-top:.5rem}
.pj-nomatch{color:var(--muted);padding:2rem 0}
.pj-propose{margin-top:4rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;background:var(--paper-2);border:1px solid var(--line);border-radius:8px;padding:2rem}
.pj-propose p{color:var(--muted);font-size:.93rem;max-width:60ch;margin-top:.3rem}

/* project detail */
.pjd-head{background:var(--night);color:var(--night-text);padding-top:2rem}
.pjd-back{display:inline-block;font-size:.85rem;color:var(--night-muted);text-decoration:none;margin-bottom:1.5rem}
.pjd-back:hover{color:#fff}
.pjd-back.dark{color:var(--muted);margin-bottom:1rem}
.pjd-back.dark:hover{color:var(--clay)}
.pjd-head-in{display:grid;grid-template-columns:1fr auto;gap:2.5rem;align-items:end;padding-bottom:2rem}
.pjd-tags{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;flex-wrap:wrap}
.pjd-head h1{color:#fff;font-size:clamp(2rem,4.4vw,3.2rem);margin-bottom:.6rem}
.pjd-sub{font-size:1.1rem;color:var(--night-text);max-width:60ch}
.pjd-head-side{display:flex;flex-direction:column;align-items:flex-end;gap:.8rem}
.pjd-count{text-align:right}
.pjd-count b{display:block;font-family:var(--ff-serif);font-weight:500;font-size:2.6rem;line-height:1;color:#fff}
.pjd-count span{font-size:.82rem;color:var(--night-muted)}
.pjd-tabs{display:flex;gap:.3rem;overflow-x:auto;scrollbar-width:none;margin:0 -.2rem}
.pjd-tabs::-webkit-scrollbar{display:none}
.pjd-tabs a{
  padding:.85rem 1.2rem;color:var(--night-muted);text-decoration:none;font-size:.92rem;font-weight:500;white-space:nowrap;
  border-radius:6px 6px 0 0;transition:color .2s,background .2s;
}
.pjd-tabs a:hover{color:#fff}
.pjd-tabs a.on{background:var(--paper);color:var(--ink)}
.pjd-body{display:grid;grid-template-columns:1fr 300px;gap:3rem;padding-top:3rem;padding-bottom:5rem;align-items:start}
.js .pj-panel{display:none}
.js .pj-panel.on{display:block;animation:pjfade .35s ease}
.pj-panel + .pj-panel{margin-top:3.5rem}
.js .pj-panel + .pj-panel{margin-top:0}
@keyframes pjfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.pj-panel > .h-md{font-size:1.6rem;margin-bottom:1rem}
.pjd-h3{font-family:var(--ff-sans);font-size:1rem;font-weight:600;color:var(--ink);margin:2rem 0 .7rem}
.pjd-lead{color:var(--muted);margin-bottom:1.6rem;max-width:62ch}
.prose p{color:var(--ink-2);margin-bottom:1rem;max-width:68ch}
.pjd-goals{margin-top:0}
.req-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;background:var(--card);overflow:hidden}
.req{display:grid;grid-template-columns:220px 1fr;gap:1.5rem;padding:1.3rem 1.5rem;border-bottom:1px solid var(--line)}
.req:last-child{border-bottom:0}
.req dt{font-weight:600;color:var(--ink);font-size:.93rem;display:flex;align-items:center;gap:.7rem}
.req-ic{width:28px;height:28px;flex-shrink:0;border-radius:6px;background:var(--paper-2);color:var(--clay);display:flex;align-items:center;justify-content:center;font-family:var(--ff-mono);font-size:.8rem}
.req dd{font-size:.93rem;color:var(--ink-2)}
.req dd strong{color:var(--clay)}
.req-recs{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.4rem .8rem}
.req-recs li{display:flex;align-items:center;gap:.5rem;font-size:.9rem}
.req-recs li span[aria-hidden]{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;flex-shrink:0}
.req-recs li.ok span[aria-hidden]{background:#e3efe6;color:var(--ok)}
.req-recs li.no{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--line-2)}
.req-recs li.no span[aria-hidden]{background:var(--paper-2);color:var(--muted)}
.req-tribes{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}
.req-tribes li{font-size:.82rem;padding:.25rem .6rem;border-radius:4px;background:var(--paper-2);border:1px solid var(--line)}
.k13-help{margin-top:2rem;background:var(--paper-2);border:1px solid var(--line);border-radius:8px;padding:1.4rem 1.6rem}
.k13-help .pjd-h3{margin-top:0}
.k13-help ol{padding-left:1.2rem;display:flex;flex-direction:column;gap:.4rem;font-size:.92rem;color:var(--ink-2)}

/* results */
.res-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.res-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:1.4rem 1.5rem}
.res-wide{grid-column:1/-1}
.res-card figcaption{font-family:var(--ff-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.res-bars{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.res-bars li{display:grid;grid-template-columns:90px 1fr 2rem;gap:.7rem;align-items:center;font-size:.85rem}
.res-l{color:var(--ink-2)}
.res-track{height:10px;background:var(--paper-2);border-radius:5px;overflow:hidden}
.res-track span{display:block;height:100%;background:var(--clay);border-radius:5px;min-width:2px}
.res-n{font-family:var(--ff-mono);text-align:right;color:var(--ink)}
.res-nations{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem}
.res-nations li{display:inline-flex;align-items:center;gap:.6rem;font-size:.88rem;padding:.4rem .4rem .4rem .8rem;border:1px solid var(--line);border-radius:6px;background:var(--paper)}
.res-nations li b{font-family:var(--ff-mono);font-weight:500;font-size:.78rem;background:var(--ink);color:#fff;border-radius:4px;padding:.1rem .45rem}
.res-nations li.muted{color:var(--muted)}

/* join form */
.join{display:flex;flex-direction:column;gap:1.5rem}
.join fieldset{border:1px solid var(--line);border-radius:8px;background:var(--card);padding:1.5rem 1.6rem 1.6rem;display:flex;flex-direction:column;gap:1.1rem;min-width:0}
.join legend{font-family:var(--ff-serif);font-weight:600;font-size:1.15rem;color:var(--ink);padding:0 .5rem;margin-left:-.5rem;display:flex;align-items:center;gap:.6rem}
.join legend span{width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--ff-mono);font-size:.72rem;font-weight:500;display:inline-flex;align-items:center;justify-content:center}
.opt{font-weight:400;color:var(--muted);font-size:.78rem}
.rec-opts{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.rec-opt{display:flex;align-items:flex-start;gap:.7rem;padding:.85rem 1rem;border:1px solid var(--line-2);border-radius:6px;cursor:pointer;transition:border-color .2s,background .2s}
.rec-opt:hover{border-color:var(--ink-2)}
.rec-opt input{margin-top:.25rem;accent-color:var(--clay)}
.rec-opt b{font-weight:500;font-size:.92rem;color:var(--ink);display:block}
.rec-opt small{font-size:.75rem;color:var(--muted)}
.rec-opt:has(input:checked){border-color:var(--clay);background:#fbf3ee}
.rec-opt.off{cursor:not-allowed;opacity:.55;background:var(--paper)}
.rec-opt.off:hover{border-color:var(--line-2)}
.check{display:flex;align-items:flex-start;gap:.7rem;font-size:.9rem;color:var(--ink-2);cursor:pointer}
.check input{margin-top:.3rem;width:16px;height:16px;flex-shrink:0;accent-color:var(--clay)}
.check small{display:block;color:var(--muted);font-size:.8rem}
.meter{border:1px solid var(--line);border-radius:6px;padding:1rem 1.1rem;background:var(--paper)}
.meter-top{display:flex;justify-content:space-between;align-items:baseline;font-size:.85rem;color:var(--muted);margin-bottom:.6rem}
.meter-top b{font-family:var(--ff-serif);font-weight:500;font-size:1.6rem;color:var(--ink)}
.meter-track{position:relative;height:12px;border-radius:6px;background:var(--paper-2);border:1px solid var(--line)}
.meter-fill{height:100%;width:0;border-radius:6px;background:var(--muted);transition:width .4s ease,background .3s}
.meter.ok .meter-fill{background:var(--ok)}
.meter.low .meter-fill{background:var(--clay)}
.meter.ok .meter-top b{color:var(--ok)}
.meter.low .meter-top b{color:var(--clay)}
.meter-min{position:absolute;top:-6px;bottom:-6px;width:2px;background:var(--ink)}
.meter-min span{position:absolute;top:-1.4rem;left:50%;transform:translateX(-50%);font-family:var(--ff-mono);font-size:.65rem;white-space:nowrap;color:var(--ink)}
.meter-scale{display:flex;justify-content:space-between;font-family:var(--ff-mono);font-size:.65rem;color:var(--muted);margin-top:.35rem}
.meter-msg{font-size:.85rem;color:var(--muted);margin-top:.6rem}
.meter.low .meter-msg{color:var(--clay)}
.meter.ok .meter-msg{color:var(--ok)}
.join-btn{justify-content:center;padding:1rem;font-size:1rem}
.join-foot{font-size:.85rem;color:var(--muted);text-align:center}
.form-notice ul{margin:.5rem 0 0 1.1rem}
#k13-parse{color:var(--teal)}

/* sidebar */
.pjd-side{display:flex;flex-direction:column;gap:1rem;position:sticky;top:90px}
.side-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:1.3rem 1.4rem}
.side-card.muted{background:var(--paper-2)}
.side-card h3{font-family:var(--ff-mono);font-weight:500;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.9rem}
.side-card p{font-size:.88rem;color:var(--ink-2)}
.glance div{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--line);font-size:.88rem}
.glance div:last-child{border-bottom:0}
.glance dt{color:var(--muted)}
.glance dd{color:var(--ink);font-weight:500;text-align:right}
.admins{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}
.admins li{display:flex;align-items:center;gap:.7rem;font-size:.9rem;color:var(--ink)}
.av{width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;flex-shrink:0}
.side-mail{font-size:.85rem;word-break:break-all}

/* status page */
.ps-main{padding-top:3.5rem;padding-bottom:5rem;max-width:820px}
.ps-hello{display:flex;gap:1rem;align-items:flex-start;background:#eef5f0;border:1px solid #bdd6c4;border-radius:8px;padding:1.3rem 1.4rem;margin-bottom:2.5rem}
.ps-hello svg{width:28px;height:28px;flex-shrink:0;color:#fff;background:var(--ok);border-radius:50%;padding:5px}
.ps-hello h2{font-family:var(--ff-serif);font-weight:600;font-size:1.2rem;color:var(--ink)}
.ps-hello p{font-size:.92rem;color:var(--ink-2)}
.ps-title{margin-bottom:1.5rem}
.ps-title a{color:var(--ink);text-decoration:none}
.ps-title a:hover{color:var(--clay)}
.ps-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:1.8rem;display:flex;flex-direction:column;gap:1.5rem}
.ps-status{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 1.2rem;border-radius:6px;background:var(--paper)}
.ps-status b{display:block;font-family:var(--ff-serif);font-weight:600;font-size:1.3rem;color:var(--ink)}
.ps-status span{font-size:.92rem;color:var(--muted)}
.ps-dot{width:14px;height:14px;border-radius:50%;margin-top:.45rem;flex-shrink:0;background:var(--gold);box-shadow:0 0 0 4px rgba(184,138,46,.18)}
.s-approved .ps-dot{background:var(--ok);box-shadow:0 0 0 4px rgba(47,107,69,.18)}
.s-rejected .ps-dot{background:var(--err);box-shadow:0 0 0 4px rgba(162,54,31,.15)}
.s-withdrawn .ps-dot{background:var(--muted);box-shadow:0 0 0 4px rgba(93,104,115,.15)}
.ps-details{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem}
.ps-details div{padding:.7rem 0;border-bottom:1px solid var(--line)}
.ps-details dt{font-size:.78rem;color:var(--muted)}
.ps-details dd{font-size:.95rem;color:var(--ink)}
.ps-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.88rem;color:var(--muted)}

/* projects admin */
.adm-top-btns{display:flex;gap:.6rem;flex-wrap:wrap}
.pa-sum{display:grid;grid-template-columns:1fr auto auto;gap:2rem;align-items:center;padding:1.2rem 1.4rem}
.pa-sum h3{font-family:var(--ff-serif);font-weight:600;font-size:1.2rem;margin:.4rem 0 .15rem}
.pa-sum h3 a{color:var(--ink);text-decoration:none}
.pa-sum h3 a:hover{color:var(--clay)}
.pa-meta{font-family:var(--ff-mono);font-size:.72rem;color:var(--muted)}
.pa-nums{display:flex;gap:1.4rem}
.pa-nums a{text-decoration:none;color:var(--muted);font-size:.78rem;text-align:center}
.pa-nums b{display:block;font-family:var(--ff-serif);font-weight:500;font-size:1.6rem;color:var(--ink);line-height:1.1}
.pa-nums a.hot b{color:var(--clay)}
.pa-btns{display:flex;gap:.5rem}
.pa-btns .btn{padding:.5rem .9rem;font-size:.85rem}
.pa-form{display:flex;flex-direction:column;gap:1.25rem}
.pa-sec{display:grid;grid-template-columns:260px 1fr;gap:2rem;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:1.6rem}
.pa-sec header h2{font-family:var(--ff-serif);font-weight:600;font-size:1.15rem;color:var(--ink);margin-bottom:.3rem}
.pa-sec header p{font-size:.85rem;color:var(--muted)}
.pa-fields{display:flex;flex-direction:column;gap:1rem;min-width:0}
.pa-checks{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:6px;overflow:hidden;align-self:flex-start}
.seg label{cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;padding:.6rem 1.2rem;font-size:.9rem;color:var(--ink-2);border-right:1px solid var(--line-2)}
.seg label:last-child span{border-right:0}
.seg input:checked + span{background:var(--ink);color:#fff}
.seg input:focus-visible + span{outline:2px solid var(--clay);outline-offset:-2px}
.pa-save{display:flex;gap:.7rem;position:sticky;bottom:0;background:linear-gradient(to top,var(--paper) 70%,transparent);padding:1.2rem 0}
.pa-danger{margin-top:2.5rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;border:1px solid #e3bfb5;border-radius:8px;padding:1.3rem 1.5rem;background:#fbf1ee}
.pa-danger h3{font-size:.95rem;color:var(--err)}
.pa-danger p{font-size:.85rem;color:var(--muted)}
.pa-rules{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-size:.85rem;color:var(--muted);margin-top:.6rem}
.pa-kits{display:grid;grid-template-columns:1fr 1.2fr;gap:1.2rem 2rem;align-items:start;background:var(--night);color:var(--night-text);border-radius:8px;padding:1.5rem 1.6rem;margin-bottom:2rem}
.pa-kits h3{color:#fff;font-size:1rem;display:flex;align-items:center;gap:.6rem}
.pa-kits h3 span{font-family:var(--ff-mono);font-size:.75rem;background:var(--clay);color:#fff;border-radius:999px;padding:.05rem .55rem}
.pa-kits p{font-size:.85rem;color:var(--night-muted);margin-top:.3rem}
.pa-kits textarea{width:100%;font-family:var(--ff-mono);font-size:.85rem;background:var(--night-2);color:#fff;border:1px solid var(--night-line);border-radius:6px;padding:.7rem .9rem;resize:vertical}
.pa-kit-btns{grid-column:1/-1;display:flex;gap:.6rem;flex-wrap:wrap}
.pa-kit-btns .btn-line{border-color:var(--night-line);color:var(--night-text)}
.pa-kit-btns .btn-line:hover{border-color:#fff;color:#fff}
.pa-kit-btns .btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.pa-filter{display:flex;gap:.3rem;border-bottom:1px solid var(--line);margin-bottom:1.2rem;overflow-x:auto}
.pa-filter a{padding:.7rem 1rem;font-size:.9rem;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.pa-filter a b{font-family:var(--ff-mono);font-weight:500;font-size:.75rem;background:var(--paper-2);border-radius:999px;padding:.05rem .45rem;margin-left:.2rem;color:var(--ink-2)}
.pa-filter a.on{color:var(--ink);border-bottom-color:var(--clay)}
.pm-sum{display:grid;grid-template-columns:1.4fr .9fr 1.3fr 1fr 1fr;gap:1.2rem;align-items:center;padding:1rem 1.3rem}
.pm-who h3{font-size:.98rem;color:var(--ink)}
.pm-who span,.pm-tribe span,.pm-k13 span{display:block;font-size:.8rem;color:var(--muted);word-break:break-word}
.pm-kit{font-size:.9rem;color:var(--ink)}
.pm-tribe b{font-weight:500;font-size:.9rem;color:var(--ink)}
.pm-k13 b{font-family:var(--ff-serif);font-weight:500;font-size:1.25rem;color:var(--ink)}
.pm-st{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem}
.st{font-size:.75rem;font-weight:500;padding:.2rem .55rem;border-radius:4px}
.st-pending{background:#faf4e6;color:#8a6519}
.st-approved{background:#e6f0e9;color:var(--ok)}
.st-rejected{background:#f6e5e0;color:var(--err)}
.st-withdrawn{background:var(--paper-2);color:var(--muted)}
.st-warn{background:#fff;border:1px solid #e3bfb5;color:var(--err);cursor:help}
.pm-body{padding:.5rem 1.3rem 1.3rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.pm-dl{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.2rem;align-content:start}
.pm-dl .w{grid-column:1/-1}
.pm-dl dt{font-size:.75rem;color:var(--muted)}
.pm-dl dd{font-size:.88rem;color:var(--ink)}
.pm-dl pre{font-family:var(--ff-mono);font-size:.75rem;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:.6rem;white-space:pre-wrap;max-height:160px;overflow:auto}
.pm-review{display:flex;flex-direction:column;gap:.8rem}
.pm-btns{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.pm-btns .btn{padding:.5rem .9rem;font-size:.85rem}

@media (max-width:1000px){
  .pjd-body{grid-template-columns:1fr}
  .pjd-side{position:static}
  .pj-how{grid-template-columns:1fr 1fr}
  .pa-sec{grid-template-columns:1fr;gap:1rem}
  .pm-sum{grid-template-columns:1fr 1fr}
  .pm-body{grid-template-columns:1fr}
  .pa-kits{grid-template-columns:1fr}
}
@media (max-width:760px){
  .pj-hero-in,.pjd-head-in{grid-template-columns:1fr;gap:1.5rem}
  .pjd-head-side{align-items:flex-start}
  .pjd-count{text-align:left}
  .pj-how{grid-template-columns:1fr}
  .pj-grid{grid-template-columns:1fr}
  .pj-propose{flex-direction:column;align-items:flex-start}
  .req{grid-template-columns:1fr;gap:.6rem}
  .req-recs,.rec-opts,.pa-checks,.res-grid,.ps-details,.pm-dl{grid-template-columns:1fr}
  .join fieldset{padding:1.2rem}
  .pa-sum{grid-template-columns:1fr;gap:1rem}
  .pm-sum{grid-template-columns:1fr}
  .pa-danger{flex-direction:column;align-items:flex-start}
}
.field .rec-opt input,.field .check input,.check input,.rec-opt input{width:16px;height:16px;padding:0;border:0;background:none;flex-shrink:0}
.rec-opt span{flex:1;text-align:left}
.meter-top{margin-bottom:1.5rem}

/* question builder (admin) */
.qb{list-style:none;display:flex;flex-direction:column;gap:.9rem}
.qb-row{display:grid;grid-template-columns:2rem 1fr auto;gap:1rem;align-items:start;border:1px solid var(--line-2);border-radius:8px;padding:1rem;background:var(--paper)}
.qb-num{width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--ff-mono);font-size:.75rem;display:flex;align-items:center;justify-content:center;margin-top:1.6rem}
.qb-main{display:flex;flex-direction:column;gap:.8rem;min-width:0}
.qb-line{display:grid;grid-template-columns:1fr 210px;gap:.8rem}
.qb-row .field input,.qb-row .field select,.qb-row .field textarea{background:var(--card)}
.qb-opts{display:none}
.qb-row[data-type=select] .qb-opts{display:flex}
.qb-tools{display:flex;flex-direction:column;gap:.3rem;margin-top:1.5rem}
.qb-tools button{width:32px;height:32px;border:1px solid var(--line-2);background:var(--card);border-radius:6px;cursor:pointer;color:var(--ink-2);font-size:.9rem}
.qb-tools button:hover{border-color:var(--ink);color:var(--ink)}
.qb-tools .qb-del:hover{border-color:var(--err);color:var(--err)}
.qb-empty{font-size:.9rem;color:var(--muted)}
.qb-add{align-self:flex-start}

/* question answers (join form) */
.flabel{font-size:.8rem;font-weight:500;color:var(--ink)}
.q-pills{display:flex;flex-wrap:wrap;gap:.5rem}
.q-pill{cursor:pointer}
.q-pill input{position:absolute;opacity:0;pointer-events:none}
.q-pill span{display:inline-block;padding:.55rem 1.1rem;border:1px solid var(--line-2);border-radius:999px;font-size:.9rem;color:var(--ink-2);background:var(--card);transition:all .15s}
.q-pill:hover span{border-color:var(--ink-2)}
.q-pill input:checked + span{background:var(--ink);border-color:var(--ink);color:#fff}
.q-pill input:focus-visible + span{outline:2px solid var(--clay);outline-offset:2px}
@media (max-width:760px){
  .qb-row{grid-template-columns:1fr;gap:.6rem}
  .qb-num{margin-top:0}
  .qb-line{grid-template-columns:1fr}
  .qb-tools{flex-direction:row;margin-top:0}
}
.pa-status-btns{display:flex;gap:.6rem;flex-wrap:wrap}
.pa-btns form{display:contents}

/* ── Oak desk ───────────────────────────────────── */
.desk-body{background:var(--paper);height:100vh;height:100dvh;overflow:hidden}
.desk{display:flex;flex-direction:column;height:100%;max-width:920px;margin:0 auto;padding:0 16px}
.desk-head{display:flex;align-items:center;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.desk-head .brand-mark{width:28px;height:28px}
.desk-who{display:flex;align-items:center;gap:.7rem;flex:1;min-width:0}
.desk-av{width:38px;height:38px;border-radius:50%;background:var(--night);color:#e8b48f;display:flex;align-items:center;justify-content:center;font-family:var(--ff-serif);font-size:1.2rem;flex-shrink:0}
.desk-who b{display:block;font-family:var(--ff-serif);font-weight:600;font-size:1.1rem;color:var(--ink);line-height:1.1}
.desk-who span{font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:.35rem}
.desk-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);display:inline-block}
.desk-actions{display:flex;gap:.3rem;flex-wrap:wrap;justify-content:flex-end}
.desk-link{font:inherit;font-size:.82rem;color:var(--ink-2);text-decoration:none;background:none;border:1px solid transparent;border-radius:6px;padding:.4rem .65rem;cursor:pointer}
.desk-link:hover{border-color:var(--line-2);color:var(--ink)}
.desk-log{flex:1;overflow-y:auto;padding:1.5rem 0;display:flex;flex-direction:column;gap:.9rem;scroll-behavior:smooth}
.desk-intro{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1.1rem 1.2rem;font-size:.9rem;color:var(--ink-2)}
.desk-try{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.8rem}
.desk-try button{font:inherit;font-size:.82rem;padding:.4rem .8rem;border-radius:999px;border:1px solid var(--line-2);background:var(--paper);color:var(--ink-2);cursor:pointer}
.desk-try button:hover{border-color:var(--clay);color:var(--clay)}
.msg{display:flex;flex-direction:column;max-width:82%}
.msg.me{align-self:flex-end;align-items:flex-end}
.msg.oak{align-self:flex-start}
.bubble{padding:.7rem 1rem;border-radius:16px;font-size:.95rem;line-height:1.55;word-wrap:break-word;overflow-wrap:anywhere}
.msg.me .bubble{background:var(--ink);color:#fff;border-bottom-right-radius:5px;white-space:pre-wrap}
.msg.oak .bubble{background:var(--card);border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:5px}
.msg.err .bubble{background:#fbf1ee;border-color:#e3bfb5;color:var(--err)}
.bubble p{margin:0 0 .55rem}.bubble p:last-child{margin-bottom:0}
.bubble ul,.bubble ol{margin:.2rem 0 .55rem 1.2rem}
.bubble code{font-family:var(--ff-mono);font-size:.85em;background:var(--paper-2);padding:.05rem .3rem;border-radius:4px}
.bubble .tbl{overflow-x:auto;margin:.3rem 0 .6rem}
.bubble table{font-size:.83rem;border-collapse:collapse;width:100%}
.bubble th,.bubble td{border-bottom:1px solid var(--line);padding:.35rem .6rem;text-align:left;white-space:nowrap}
.bubble th{font-family:var(--ff-mono);font-weight:500;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.tools{font-family:var(--ff-mono);font-size:.68rem;color:var(--teal);margin:.3rem .3rem 0}
.typing .bubble{display:flex;gap:.3rem;padding:.9rem 1rem}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:dt 1.2s infinite ease-in-out}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes dt{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.desk-input{display:flex;gap:.6rem;align-items:flex-end;background:var(--card);border:1px solid var(--line-2);border-radius:14px;padding:.5rem .5rem .5rem .9rem}
.desk-input:focus-within{border-color:var(--teal)}
.desk-input textarea{flex:1;border:0;outline:0;resize:none;font:inherit;font-size:.95rem;line-height:1.5;padding:.4rem 0;max-height:200px;background:transparent;color:var(--ink)}
.desk-input button{width:40px;height:40px;border-radius:10px;border:0;background:var(--clay);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.desk-input button svg{width:18px;height:18px}
.desk-input button:disabled{opacity:.5;cursor:wait}
.desk-foot{font-size:.72rem;color:var(--muted);text-align:center;padding:.5rem 0 .8rem}
@media (max-width:600px){.desk-link:not(#desk-reset){display:none}.msg{max-width:92%}}

/* team */
.tm-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:1rem;align-items:center;padding:1rem 1.3rem}
.tm-who b{display:block;color:var(--ink)}
.tm-who span{font-size:.82rem;color:var(--muted);word-break:break-all}
.tm-last{font-size:.8rem;color:var(--muted)}
.tm-manage{padding:.4rem 1.3rem 1.2rem;display:flex;flex-direction:column;gap:1rem}
.tm-inline{display:flex;gap:.7rem;align-items:flex-end;flex-wrap:wrap}
.tm-inline .field{flex:1;min-width:200px}
.tm-forms{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2rem;align-items:start}
.tm-forms .side-card{display:flex;flex-direction:column;gap:.9rem}
@media (max-width:760px){.tm-forms{grid-template-columns:1fr}.tm-row{grid-template-columns:auto 1fr}.tm-last{grid-column:1/-1}}
.desk-clip{width:40px;height:40px;border-radius:10px;border:0;background:transparent !important;color:var(--muted) !important;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:-.4rem}
.desk-clip:hover{color:var(--ink) !important;background:var(--paper) !important}
.desk-files{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 0 .5rem}
.chip{display:inline-flex;align-items:center;gap:.45rem;background:var(--card);border:1px solid var(--line-2);border-radius:8px;padding:.3rem .4rem .3rem .65rem;font-size:.82rem;max-width:100%}
.chip b{font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
.chip small{color:var(--muted);font-size:.72rem}
.chip button{border:0;background:none;cursor:pointer;color:var(--muted);font-size:.8rem;padding:.1rem .3rem;border-radius:4px}
.chip button:hover{color:var(--err);background:var(--paper)}
.tools.warn{color:var(--err)}
.desk-drop{position:fixed;inset:0;background:rgba(15,26,34,.55);display:flex;align-items:center;justify-content:center;z-index:100;pointer-events:none}
.desk-drop[hidden]{display:none}
.desk-drop div{background:var(--card);border:2px dashed var(--clay);border-radius:14px;padding:2rem 3rem;font-family:var(--ff-serif);font-size:1.4rem;color:var(--ink)}

/* ── Native Match ─────────────────────────────────────────── */
.nm{padding-top:5rem;padding-bottom:6rem}
.nm-top{margin-bottom:2rem}
.nm-top h1{font-family:var(--ff-serif);font-size:clamp(2rem,4vw,2.9rem);line-height:1.1;margin:.4rem 0 .8rem}
.nm-top .eyebrow a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line-2)}
.nm-meta{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;padding:0;margin:.6rem 0 0;font-size:.86rem;color:var(--muted)}
.nm-meta strong{color:var(--ink);font-family:var(--ff-mono)}
.nm .card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.6rem 1.8rem;margin-bottom:1.4rem}
.nm .card h2{font-family:var(--ff-serif);font-size:1.3rem;margin:0 0 .8rem}
.nm .card p{margin:0 0 .7rem}
.nm .card p:last-child{margin-bottom:0}
.nm .alert{border-radius:var(--r);padding:.9rem 1.1rem;margin-bottom:1.4rem;font-size:.92rem;border:1px solid}
.nm .alert.bad{background:#fdf1ee;border-color:#e6bdb0;color:var(--err)}
.nm .alert.good{background:#eef5f0;border-color:#b6d2c0;color:var(--ok)}
.nm .btn{display:inline-block;padding:.6rem 1.2rem;border:1px solid var(--clay);background:var(--clay);color:#fff;border-radius:var(--r);font-size:.9rem;font-weight:500;cursor:pointer;text-decoration:none;font-family:inherit}
.nm .btn:hover{background:var(--clay-hi);border-color:var(--clay-hi)}
.nm .btn.ghost{background:none;color:var(--ink);border-color:var(--line-2)}
.nm .btn.ghost:hover{border-color:var(--ink);background:var(--paper-2)}
.nm .btn.ghost.danger:hover{border-color:var(--err);color:var(--err)}
.nm .btn.small{padding:.35rem .7rem;font-size:.8rem}
.nm .field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem}
.nm .field>span{font-size:.8rem;font-weight:500;color:var(--ink)}
.nm .field.inline{flex-direction:row;align-items:center;gap:.6rem;margin:0}
.nm .field input,.nm .field select{padding:.55rem .7rem;border:1px solid var(--line-2);border-radius:var(--r);font-family:var(--ff-mono);font-size:.9rem;background:var(--paper);width:auto;max-width:100%}
.nm .muted{color:var(--muted)}
.nm .small{font-size:.82rem}
.nm-steps{margin:0 0 1rem 1.1rem;padding:0}
.nm-steps li{margin-bottom:.5rem}
.nm-keyform{display:flex;align-items:flex-end;gap:.8rem;flex-wrap:wrap}
.nm-keyform .field{margin:0}
.nm-keyform input{text-transform:uppercase;letter-spacing:.06em;min-width:16rem}
.nm-status{background:var(--paper-2);border-style:dashed}
.nm-upload{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}
.nm-upload input[type=file]{font-size:.88rem}
.nm-files,.nm-table,.nm-pops table,.nm-kit-segs table{width:100%;border-collapse:collapse;font-size:.88rem}
.nm-files th,.nm-table th,.nm-pops th,.nm-kit-segs th{text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;padding:.5rem .6rem;border-bottom:1px solid var(--line)}
.nm-files td,.nm-table td,.nm-pops td,.nm-kit-segs td{padding:.6rem;border-bottom:1px solid var(--line);vertical-align:top}
.nm-act{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}
.nm-inline{display:inline-flex;gap:.3rem;align-items:center;margin:0}
.nm-inline input{padding:.3rem .45rem;border:1px solid var(--line-2);border-radius:var(--r);font-size:.8rem;font-family:var(--ff-mono);width:auto}
.nm-verdict{background:var(--night);color:var(--night-text);border-radius:var(--r);padding:2rem 2.2rem;margin-bottom:1.6rem}
.nm-verdict h2{font-family:var(--ff-serif);font-size:1.1rem;font-weight:400;color:var(--night-muted);margin:0 0 .8rem;letter-spacing:.02em}
.nm-verdict p{margin:0 0 .7rem;max-width:72ch}
.nm-verdict strong{color:#fff}
.nm-big{font-family:var(--ff-serif);font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.3;color:#fff}
.nm-caveat{font-size:.86rem;color:var(--night-muted);border-top:1px solid var(--night-line);padding-top:.9rem;margin-top:1.1rem!important}
.nm-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.nm-tab{display:flex;flex-direction:column;gap:.15rem;padding:.7rem 1.2rem;border:1px solid var(--line);border-radius:var(--r);background:var(--card);text-decoration:none;color:var(--ink);min-width:7.5rem}
.nm-tab:hover{border-color:var(--line-2)}
.nm-tab.on{background:var(--clay);border-color:var(--clay);color:#fff}
.nm-tab.alt{margin-left:auto}
.nm-tab.alt.on{background:var(--teal);border-color:var(--teal)}
.nm-tab-n{font-family:var(--ff-serif);font-size:1.05rem}
.nm-tab-s{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;opacity:.75}
.nm-controls{display:flex;gap:.8rem;align-items:center;margin-bottom:1.6rem;font-size:.86rem}
.nm-kit{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin-bottom:1.2rem;overflow:hidden}
.nm-kit-head{display:flex;gap:1.2rem;align-items:flex-start;padding:1.2rem 1.4rem;background:var(--paper-2);border-bottom:1px solid var(--line);flex-wrap:wrap}
.nm-rank{font-family:var(--ff-mono);font-size:.85rem;color:var(--muted);padding-top:.3rem;min-width:2.2rem}
.nm-kit-id{flex:1;min-width:14rem}
.nm-kit-id h3{font-family:var(--ff-serif);font-size:1.25rem;margin:0}
.nm-kitname{font-family:var(--ff-mono);font-size:.8rem;color:var(--muted);margin:.2rem 0 .5rem;word-break:break-all}
.nm-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin:0}
.nm-tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .5rem;border:1px solid var(--line-2);border-radius:2px;color:var(--muted)}
.nm-tag.src{font-family:var(--ff-mono);text-transform:none;letter-spacing:0}
.nm-kit-nums{display:flex;gap:1.6rem;text-align:right}
.nm-kit-nums div{display:flex;flex-direction:column}
.nm-kit-nums b{font-family:var(--ff-mono);font-size:1.4rem;color:var(--clay);line-height:1.1}
.nm-kit-nums span{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.nm-kit-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:1.6rem;padding:1.4rem}
.nm-kit-body h4{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .6rem;font-weight:600}
.nm-kit-stats dl{display:grid;grid-template-columns:1fr auto;gap:.3rem .9rem;margin:0 0 1.2rem;font-size:.86rem}
.nm-kit-stats dt{color:var(--muted)}
.nm-kit-stats dd{margin:0;font-family:var(--ff-mono);text-align:right}
.nm-prof{font-size:.82rem;margin:.9rem 0 .4rem}
.nm-prof-c{font-weight:600}
.nm-prof em{color:var(--muted);font-style:normal;font-family:var(--ff-mono);font-size:.78rem}
.nm-bars{list-style:none;padding:0;margin:0}
.nm-bars li{display:grid;grid-template-columns:9rem 1fr 3rem;align-items:center;gap:.5rem;font-size:.78rem;margin-bottom:.25rem}
.nm-bars span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nm-bars i{display:block;height:8px;background:var(--teal);border-radius:2px;min-width:2px}
.nm-bars b{font-family:var(--ff-mono);font-weight:400;text-align:right;color:var(--ink)}
.nm-kit-segs .hl{font-family:var(--ff-mono);color:var(--clay);font-weight:600}
.nm-kit-segs td{font-family:var(--ff-mono);font-size:.82rem}
.nm-pops{margin-top:2rem}
.nm-foot{margin-top:1.4rem}
.nm-mint{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:.8rem}
.nm-mint .field.wide input{min-width:18rem}
.nm-pill{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;padding:.18rem .5rem;border-radius:2px;border:1px solid}
.nm-pill.active{background:#eef5f0;border-color:#b6d2c0;color:var(--ok)}
.nm-pill.unused{background:var(--paper-2);border-color:var(--line-2);color:var(--muted)}
.nm-pill.expired{background:#fbf3e4;border-color:#e0cb96;color:#8a6a1c}
.nm-pill.revoked{background:#fdf1ee;border-color:#e6bdb0;color:var(--err)}
.nm-table code{font-size:.82rem}
@media(max-width:860px){
  .nm-kit-body{grid-template-columns:1fr}
  .nm-kit-nums{gap:1rem;text-align:left;width:100%}
  .nm-tab.alt{margin-left:0}
  .nm-bars li{grid-template-columns:7rem 1fr 2.6rem}
  .nm-files,.nm-table{font-size:.8rem}
}
.nm-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:860px){
  .nm-scroll table{min-width:34rem}
  .nm .card,.nm-kit{overflow-x:hidden}
  .nm-act{flex-direction:column;align-items:stretch}
  .nm-act .btn{text-align:center}
}
.nm-adx{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.6rem 1.8rem;margin-bottom:1.6rem}
.nm-adx-head h2{font-family:var(--ff-serif);font-size:1.3rem;margin:0 0 .4rem}
.nm-adx-head p{margin:0 0 1.2rem;max-width:74ch}
.nm-adx-list{list-style:none;margin:0;padding:0;counter-reset:adx}
.nm-adx-row{display:grid;grid-template-columns:minmax(10rem,16rem) 1fr 5rem;gap:.9rem;align-items:center;padding:.55rem 0;border-top:1px solid var(--line);cursor:pointer}
.nm-adx-row:first-child{border-top:0}
.nm-adx-name{font-size:.9rem;display:flex;flex-direction:column;line-height:1.3}
.nm-adx-name span{font-size:.72rem}
.nm-adx-bar{height:12px;background:var(--paper-2);border-radius:2px;overflow:hidden}
.nm-adx-bar i{display:block;height:100%;background:var(--clay);width:0;transition:width .4s ease}
.nm-adx-row.has .nm-adx-bar i{background:var(--clay)}
.nm-adx-pct{font-family:var(--ff-mono);font-size:.95rem;text-align:right;color:var(--ink)}
.nm-adx-detail{grid-column:1/-1;display:none;padding:.4rem 0 .8rem}
.nm-adx-row.open .nm-adx-detail{display:block}
.nm-adx-detail table{width:100%;max-width:34rem;border-collapse:collapse;font-size:.82rem}
.nm-adx-detail td{padding:.22rem .4rem;border-bottom:1px solid var(--line)}
.nm-adx-detail td:last-child{text-align:right;font-family:var(--ff-mono)}
.nm-adx-detail tr.nat td{color:var(--clay);font-weight:600}
.nm-adx-detail p{margin:.5rem 0 0}
.nm-adx-run{margin:1.2rem 0 0;display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}
@media(max-width:860px){
  .nm-adx-row{grid-template-columns:1fr 4.5rem;gap:.5rem}
  .nm-adx-bar{grid-column:1/-1;order:3}
}
.nm-adx-top{font-size:.95rem;margin:0 0 1rem;padding-bottom:.9rem;border-bottom:1px solid var(--line)}
.nm-adx-top:empty{display:none}
.nm-adx-run[hidden]{display:none}
.nm .tip{position:relative;border-bottom:1px dotted var(--line-2);cursor:help;outline:none}
.nm .tip:hover,.nm .tip:focus{border-bottom-color:var(--clay)}
.nm .tip::after{
  content:attr(data-tip);position:absolute;left:0;top:calc(100% + 8px);z-index:40;
  width:min(22rem,70vw);background:var(--night);color:var(--night-text);
  font-family:var(--ff-sans);font-size:.8rem;font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none;
  padding:.7rem .85rem;border-radius:var(--r);box-shadow:0 8px 24px rgba(15,26,34,.28);
  opacity:0;visibility:hidden;transition:opacity .12s ease;pointer-events:none;text-align:left;white-space:normal}
.nm .tip:hover::after,.nm .tip:focus::after{opacity:1;visibility:visible}
.nm-kit-segs th:nth-last-child(-n+2) .tip::after,.nm-kit-nums div:last-child .tip::after{left:auto;right:0}
.nm-method h3{font-family:var(--ff-serif);font-size:1.05rem;margin:1.4rem 0 .5rem}
.nm-export{margin:0 0 1rem}
.nm-exp{display:inline-block;position:relative}
.nm-exp summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}
.nm-exp summary::-webkit-details-marker{display:none}
.nm-exp-caret{width:0;height:0;border:4px solid transparent;border-top-color:currentColor;margin-top:3px}
.nm-exp-menu{position:absolute;z-index:50;top:calc(100% + 6px);left:0;width:19rem;background:var(--card);border:1px solid var(--line-2);border-radius:var(--r);box-shadow:0 10px 30px rgba(15,26,34,.18);padding:.4rem}
.nm-exp-head{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:.4rem .6rem .3rem}
.nm-exp-menu a,.nm-exp-menu button{display:block;width:100%;text-align:left;padding:.55rem .6rem;border:0;background:none;border-radius:var(--r);text-decoration:none;color:var(--ink);font-family:inherit;font-size:.86rem;cursor:pointer}
.nm-exp-menu a:hover,.nm-exp-menu button:hover{background:var(--paper-2)}
.nm-exp-menu strong{display:block;font-weight:600}
.nm-exp-menu span{display:block;font-size:.76rem;color:var(--muted);line-height:1.4}
.nm-oracle h3{font-family:var(--ff-serif);font-size:1.05rem;margin:0 0 .6rem}
.nm-oracle-ctl{display:flex;gap:1.6rem;align-items:center;flex-wrap:wrap;margin:1rem 0 1.2rem}
.nm-oracle-ctl .field.inline input[type=checkbox]{width:16px;height:16px;padding:0}
.nm-oracle-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:2rem}
.nm-oracle-grid td{font-size:.84rem}
@media(max-width:860px){.nm-oracle-grid{grid-template-columns:1fr;gap:1.6rem}}
@media print{
  .site-nav,.site-footer,.nm-export,.nm-tabs,.nm-controls,.nm-adx-run{display:none!important}
  .nm-kit{break-inside:avoid;border-color:#bbb}
  .nm-verdict{background:#fff!important;color:#000!important;border:1px solid #999}
  .nm-verdict strong,.nm-big{color:#000!important}
  .nm-caveat{color:#444!important}
  .nm .tip::after{display:none!important}
  body{background:#fff}
}
.nm-dist{margin-top:1.8rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.nm-dist h3{font-family:var(--ff-serif);font-size:1.05rem;margin:0 0 .6rem}
.nm-dist p{max-width:74ch;margin:0 0 .7rem;font-size:.9rem}
.nm-dist ul{list-style:none;margin:0 0 1rem;padding:0;max-width:74ch}
.nm-dist li{font-size:.88rem;padding:.35rem 0 .35rem .9rem;border-left:2px solid var(--line-2);margin-bottom:.3rem}
.nm-dist li strong{font-family:var(--ff-mono);font-size:.84rem;color:var(--clay)}
.nm-dist-warn{background:var(--paper-2);border-left:3px solid var(--clay);border-radius:0 var(--r) var(--r) 0;padding:.9rem 1.1rem;margin:0 0 1.2rem}
.nm-dist-warn p{margin:0 0 .6rem;font-size:.88rem;max-width:74ch}
.nm-dist-warn p:last-child{margin-bottom:0}
.nm-oracle-grid strong.nat{color:var(--clay)}
.nm-oracle-grid h3+p.muted{margin:-.3rem 0 .7rem}
.nm-kits{display:flex;flex-direction:column;gap:1rem}
.nm-kitcard{border:1px solid var(--line);border-left:3px solid var(--line-2);border-radius:var(--r);padding:1rem 1.2rem;background:var(--paper)}
.nm-kitcard.vis-public{border-left-color:var(--teal)}
.nm-kitcard.vis-research{border-left-color:var(--gold)}
.nm-kitcard.vis-private{border-left-color:var(--muted)}
.nm-kitcard>header{display:flex;gap:1.2rem;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}
.nm-code{font-family:var(--ff-mono);font-size:1.15rem;font-weight:600;letter-spacing:.06em;color:var(--clay)}
.nm-kitno{min-width:16rem;flex:1}
.nm-rename{display:flex;gap:.4rem;align-items:center;margin:.35rem 0}
.nm-rename input{padding:.3rem .5rem;border:1px solid transparent;border-radius:var(--r);background:var(--paper-2);font-family:var(--ff-serif);font-size:1rem;width:14rem;max-width:100%}
.nm-rename input:focus{outline:none;border-color:var(--teal);background:#fff}
.nm-kitnat{text-align:right}
.nm-kitnat b{display:block;font-family:var(--ff-mono);font-size:1.5rem;color:var(--clay);line-height:1.1}
.nm-kitnat b.muted{color:var(--muted)}
.nm-kitnat span{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.nm-kitfoot{display:flex;gap:1rem;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:.9rem}
.nm-vis{display:flex;gap:0;border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden}
.nm-vbtn{background:none;border:0;border-right:1px solid var(--line-2);padding:.4rem .8rem;font-family:inherit;font-size:.78rem;color:var(--muted);cursor:pointer}
.nm-vbtn:last-child{border-right:0}
.nm-vbtn:hover{background:var(--paper-2);color:var(--ink)}
.nm-vbtn.on{background:var(--night);color:#fff}
.nm-vishelp{margin:.7rem 0 0;max-width:72ch}
.nm-k2k-form{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}
.nm-k2k-form .field{margin:0}
.nm-k2k-form select,.nm-k2k-form input{min-width:13rem}
.nm-k2k-form input{text-transform:uppercase;letter-spacing:.06em}
.nm-vs{display:flex;align-items:center;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.4rem;padding:1.2rem;background:var(--paper-2);border-radius:var(--r)}
.nm-vs-side{display:flex;flex-direction:column;gap:.15rem;text-align:center}
.nm-vs-side strong{font-family:var(--ff-serif);font-size:1.15rem}
.nm-vs-mid{font-family:var(--ff-serif);font-style:italic;color:var(--muted)}
.nm-verdict h2{color:var(--night-muted)}
.nm-chr{display:flex;flex-direction:column;gap:.3rem}
.nm-chr-row{display:grid;grid-template-columns:1.6rem 1fr;gap:.6rem;align-items:center}
.nm-chr-n{font-family:var(--ff-mono);font-size:.74rem;color:var(--muted);text-align:right}
.nm-chr-bar{position:relative;height:11px;background:var(--paper-2);border-radius:2px}
.nm-chr-bar i{position:absolute;top:0;height:100%;background:var(--clay);border-radius:2px;min-width:2px}
.nm-kv{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1.2rem;margin:0 0 .9rem;font-size:.9rem;max-width:34rem}
.nm-kv dt{color:var(--muted)}
.nm-kv dd{margin:0;font-family:var(--ff-mono)}
@media(max-width:860px){
  .nm-kitnat{text-align:left}
  .nm-k2k-form .field{width:100%}
  .nm-k2k-form select,.nm-k2k-form input{width:100%;min-width:0}
}
@media(max-width:860px){
  .nm-vs{gap:.8rem}
  .nm-controls{flex-wrap:wrap;gap:.8rem}
  .nm-controls .field.inline{flex:1 1 auto;min-width:0}
  .nm-kv{grid-template-columns:1fr auto}
  .nm-chr-row{grid-template-columns:1.3rem 1fr;gap:.4rem}
}
.nm-runform{display:flex;gap:.4rem;align-items:center;margin:0}
.nm-runform select{padding:.35rem .5rem;border:1px solid var(--line-2);border-radius:var(--r);font-size:.78rem;background:var(--paper);max-width:12rem}
.nm-contact-form{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:.8rem}
.nm-contact-form .check{display:flex;gap:.5rem;align-items:center;font-size:.9rem}
.nm-contact-form .check input{width:16px;height:16px}
.nm-lookup-form{display:flex;gap:.8rem;align-items:flex-end;flex-wrap:wrap}
.nm-lookup-form .field{margin:0}
.nm-lookup-form input{min-width:18rem;text-transform:uppercase;letter-spacing:.04em}
.nm-owner h2{margin-bottom:.2rem}
.nm-code.small{font-size:.8rem}
.nm-imputed{border-left:3px solid var(--gold)}
.nm-imputed h2{font-size:1.15rem}
.nm-imputed p{max-width:76ch;font-size:.92rem}
.nm-act:empty{display:none}
.nm-k2k-form select:invalid{color:var(--muted)}
