*{box-sizing:border-box}
:root{
  --bg:#0E1430; --surface:#161D3F; --raise:#1D2650; --ink:#F2F4FB; --muted:#9AA3C7; --line:#2A3565;
  --blue:#6E82E0; --teal:#2FB3A2; --orange:#F06B35; --gold:#F0B020; --pink:#F03070;
}
body{margin:0; background:var(--bg); color:var(--ink); padding-inline:20px; padding-block:0 60px;
  font-family:"Public Sans",system-ui,sans-serif; font-size:16px; line-height:1.6;}
.wrap{max-width:920px; margin:0 auto;}
a{color:var(--teal);}
nav{display:flex; align-items:center; gap:14px; padding-block:18px; flex-wrap:wrap;}
nav img{height:34px; width:auto;}
nav .navlinks{margin-left:auto; display:flex; gap:18px; font-size:14px; font-weight:600;}
nav .navlinks a{color:var(--muted); text-decoration:none;}
nav .navlinks a:hover,nav .navlinks a[aria-current]{color:var(--ink);}
.tag{font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--gold);}
h1{font-family:"Archivo",'Public Sans',sans-serif; font-weight:800; line-height:1.03; text-wrap:balance;
  font-size:clamp(34px,6.5vw,58px); margin:10px 0 14px;}
h2{font-family:"Archivo",'Public Sans',sans-serif; font-weight:700; font-size:24px; margin:34px 0 10px; text-wrap:balance;}
.lede{font-size:18px; color:var(--muted); max-width:62ch; margin:0 0 8px;}
.lede b{color:var(--ink);}
.cta{display:inline-block; margin-top:18px; background:var(--gold); color:#181000; font-weight:700;
  padding:13px 26px; border-radius:10px; text-decoration:none; font-size:16px;}
.cta.secondary{background:transparent; color:var(--ink); border:1px solid var(--line);}
.cta:focus-visible,button:focus-visible{outline:2px solid var(--gold); outline-offset:2px;}
.tracks{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; margin-top:24px;}
.track{background:var(--surface); border:1px solid var(--line); border-top:4px solid var(--tc,var(--blue));
  border-radius:12px; padding:20px;}
.track .no{font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--tc);}
.track h3{font-family:"Archivo",sans-serif; font-size:20px; margin:6px 0 4px;}
.track p{margin:6px 0 0; font-size:14.5px; color:var(--muted);}
.track ul{margin:10px 0 0; padding-left:18px; font-size:14.5px; color:var(--muted);}
.track li{margin-top:3px;}
section.block{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:22px 24px; margin-top:22px;}
section.block p{max-width:66ch;}
.q{background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:18px 20px; margin-top:14px;}
.q h3{font-size:16.5px; margin:0 0 10px; font-family:"Public Sans",sans-serif; font-weight:700;}
.q .qnum{color:var(--gold); margin-right:8px;}
.opts{display:flex; flex-direction:column; gap:8px;}
.opt{display:flex; gap:10px; align-items:flex-start; background:var(--raise); border:1px solid var(--line);
  border-radius:9px; padding:10px 12px; cursor:pointer; font-size:14.5px;}
.opt:hover{border-color:var(--blue);}
.opt input{margin-top:3px; accent-color:var(--gold);}
.opt.picked{border-color:var(--gold);}
#result{display:none; margin-top:26px;}
#result.show{display:block;}
.resultcard{border:1px solid var(--line); border-top:6px solid var(--tc); border-radius:14px;
  background:var(--surface); padding:26px 28px;}
.resultcard .tag{color:var(--tc);}
.resultcard h2{margin-top:6px;}
.bars{display:flex; flex-direction:column; gap:8px; margin:16px 0 4px; max-width:460px;}
.bar{display:grid; grid-template-columns:150px 1fr 40px; gap:10px; align-items:center; font-size:13.5px;}
.bar .rail{height:10px; background:var(--raise); border-radius:5px; overflow:hidden;}
.bar .fill{height:100%; border-radius:5px;}
.bar .pct{font-variant-numeric:tabular-nums; color:var(--muted); text-align:right;}
footer{margin-top:48px; border-top:1px solid var(--line); padding-top:20px; font-size:14px; color:var(--muted);}
footer a{color:var(--muted);}
.credit{margin-top:6px;}
.prototype-note{display:inline-block; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--pink); border:1px solid var(--pink); border-radius:999px; padding:3px 10px; margin-bottom:14px;}
@media (max-width:640px){ .bar{grid-template-columns:110px 1fr 40px;} }
@media (prefers-reduced-motion:reduce){ *{transition:none!important; animation:none!important;} }

/* Kit additions */
.aud{display:inline-block; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
  border-radius:999px; padding:4px 12px; margin-bottom:10px;}
.aud.public{background:rgba(47,179,162,.15); color:var(--teal); border:1px solid var(--teal);}
.aud.internal{background:rgba(240,48,112,.12); color:var(--pink); border:1px solid var(--pink);}
h1.huge{font-size:clamp(42px,9vw,84px); letter-spacing:-.01em;}
.kit{display:flex; flex-direction:column; gap:16px; margin-top:28px;}
.kit-item{display:block; text-decoration:none; color:var(--ink); background:var(--surface);
  border:1px solid var(--line); border-left:6px solid var(--kc,var(--gold)); border-radius:14px; padding:24px 26px;}
.kit-item:hover{border-color:var(--kc,var(--gold));}
.kit-item .kn{font-family:"Archivo",sans-serif; font-weight:800; font-size:15px; color:var(--kc,var(--gold));}
.kit-item h3{font-family:"Archivo",sans-serif; font-size:clamp(22px,4vw,32px); margin:6px 0 6px;}
.kit-item p{margin:0; color:var(--muted); max-width:64ch; font-size:15.5px;}
.room{background:var(--surface); border:1px solid var(--line); border-top:6px solid var(--tc); border-radius:16px;
  padding:30px 30px; margin-top:18px;}
.room .no{font-size:13px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--tc);}
.room h3{font-family:"Archivo",sans-serif; font-size:clamp(28px,5vw,44px); margin:8px 0 6px; line-height:1.05;}
.room .big{font-size:clamp(17px,2.5vw,21px); color:var(--ink); max-width:56ch; margin:4px 0 10px;}
.room ul{margin:12px 0 0; padding-left:20px; color:var(--muted); font-size:16px;}
.room li{margin-top:5px;}
.vtable{width:100%; border-collapse:collapse; margin-top:16px; font-size:14.5px;}
.vtable th{font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); text-align:left;
  padding:8px 10px; border-bottom:1px solid var(--line);}
.vtable td{padding:12px 10px; border-bottom:1px solid var(--line); vertical-align:top;}
.vtable td:first-child{white-space:nowrap; font-weight:700; color:var(--gold); font-variant-numeric:tabular-nums;}
.tablewrap{overflow-x:auto;}
.sq{margin-top:8px; padding:14px 18px; background:var(--surface); border:1px solid var(--line); border-radius:10px;}
.sq .n{color:var(--gold); font-weight:700; margin-right:8px;}
.sq .kind{display:block; margin-top:4px; font-size:12.5px; color:var(--muted); font-style:italic;}
.memo p{max-width:66ch; font-size:16.5px;}
.memo h2{margin-top:30px;}
