/* Type vs type pages (tracker 6.4, 12 Nov 2026): same kit as the Library pages; --ta / --tb = the two types' group colours. */
.vs .imj-cover-text{justify-content:center}
.vs .imj-cover-photo.vs-cover{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:0;padding:22px 20px 18px;border:1px solid rgba(255,255,255,.08);overflow:hidden;background:radial-gradient(70% 55% at 50% 46%,#22195A 0%,#171238 55%,#0D0A22 100%)}
.vs .vs-cover:before{content:"";position:absolute;inset:0;background:radial-gradient(48% 34% at 92% 0%,rgba(158,133,255,.26),transparent 70%),radial-gradient(42% 32% at 4% 100%,rgba(46,139,110,.18),transparent 70%),linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px) 0 0/36px 36px,linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0/36px 36px;pointer-events:none}
.vs .vs-cover>*{position:relative;z-index:1}
.vs .vs-stacks{display:block;width:100%;max-width:440px;height:auto}
.vs .vs-stacks text{text-anchor:middle}
.vs .vs-stacks .hd{font:400 30px/1 var(--serif)}
.vs .vs-stacks .code{font:600 21px/1 var(--mono);fill:#fff}
.vs .vs-stacks .nm{font:500 10.5px/1 var(--mono);fill:rgba(255,255,255,.78);letter-spacing:.02em}
.vs .vs-stacks .pos{font:600 8.5px/1 var(--mono);fill:rgba(255,255,255,.55);letter-spacing:.14em}
.vs .vs-stacks .tag{font:500 10px/1 var(--mono);fill:#CFC4FF;letter-spacing:.06em}
.vs .vs-key{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;font:500 10px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.vs .vs-key span{display:inline-flex;align-items:center;gap:6px}
.vs .vs-key i{display:inline-block;width:18px;height:0;border-top:2px solid #CFC4FF}
.vs .vs-key i.w{border-top-style:dashed;opacity:.7}
.vs .vs-short{margin:2px 0 22px;padding:16px 20px;border-radius:0 16px 16px 0;border-left:3px solid var(--cat);background:var(--cat-soft);color:var(--ink);font-weight:500;font-size:17px;line-height:1.6}
.vs .vs-short span{display:block;margin-bottom:6px;font:600 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cat)}
.vs h3.vs-h3{margin:30px 0 10px;font:400 24px/1.2 var(--serif);text-transform:none;letter-spacing:-.01em;color:var(--ink);scroll-margin-top:110px}
.vs .vs-table td small{display:block;margin-top:2px;font:500 10.5px/1.3 var(--mono);color:var(--muted);letter-spacing:.02em}
.vs .vs-table thead th:nth-child(2),.vs .vs-glance td:nth-child(2) b,.vs .vs-third thead th:nth-child(2){color:var(--ta)}
.vs .vs-table thead th:nth-child(3),.vs .vs-third thead th:nth-child(3){color:var(--tb)}
.vs .vs-glance td:first-child,.vs .vs-work td:first-child,.vs .vs-third td:first-child{width:24%}
.vs .vs-points{list-style:none;margin:14px 0 18px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.vs .vs-points li{margin:0;padding:16px 18px;border-radius:16px;background:var(--paper);border:1px solid var(--rule)}
.vs .vs-points b{display:block;font:400 19px/1.2 var(--serif);color:var(--ink)}
.vs .vs-points span{display:block;margin-top:6px;font-size:15px;line-height:1.5;color:var(--ink2)}
.vs .vs-tells{grid-template-columns:minmax(0,1fr)}
.vs .vs-tells li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:baseline;padding:12px 18px}
.vs .vs-tells span{margin:0}
.vs .vs-steps{list-style:none;counter-reset:s;margin:12px 0 18px;padding:0;display:grid;gap:10px}
.vs .vs-steps li{counter-increment:s;position:relative;margin:0;padding:16px 18px 16px 62px;border-radius:16px;background:var(--paper);border:1px solid var(--rule)}
.vs .vs-steps li:before{content:counter(s);position:absolute;left:18px;top:16px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font:500 13px/1 var(--mono)}
.vs .vs-steps b{display:block;font:400 20px/1.2 var(--serif)}
.vs .vs-steps span{font-size:15px;color:var(--ink2)}
.vs .vs-scens{display:grid;gap:10px;margin:16px 0 20px}
.vs .vs-scen{padding:16px 18px;border-radius:18px;background:var(--paper);border:1px solid var(--rule)}
.vs .vs-scen .q{margin:0 0 10px;font:400 19px/1.25 var(--serif);color:var(--ink)}
.vs .vs-scen .r{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.vs .vs-scen .r p{margin:0;padding:12px 14px;border-radius:12px;background:#fff;border-left:3px solid var(--ta);font-size:15px;line-height:1.5;color:var(--ink2)}
.vs .vs-scen .r p.tb{border-left-color:var(--tb)}
.vs .vs-scen .r b{display:block;margin-bottom:4px;font:600 11px/1 var(--mono);letter-spacing:.08em;color:var(--ta)}
.vs .vs-scen .r p.tb b{color:var(--tb)}
.vs .vs-cards>div.ta{border-top:3px solid var(--ta)}
.vs .vs-cards>div.tb{border-top:3px solid var(--tb)}
/* self-check: radios + CSS counters, no script */
.vs .vs-ck{counter-reset:va vb;margin:16px 0 22px;padding:18px;border-radius:20px;background:var(--paper);border:1px solid var(--rule)}
.vs .vs-q{margin:0 0 12px;padding:0;border:0;min-width:0}
.vs .vs-q legend{display:flex;gap:10px;align-items:baseline;margin:0 0 8px;padding:0;font:500 16px/1.4 var(--sans,inherit);color:var(--ink)}
.vs .vs-q legend i{flex:none;font:600 11px/1 var(--mono);font-style:normal;color:var(--muted)}
.vs .vs-q label{position:relative;display:block;margin:0 0 6px;padding:11px 14px 11px 40px;border-radius:12px;background:#fff;border:1px solid var(--rule);font-size:15px;line-height:1.45;color:var(--ink2);cursor:pointer}
.vs .vs-q label:before{content:"";position:absolute;left:14px;top:13px;width:14px;height:14px;border-radius:50%;border:2px solid var(--rule);background:#fff}
.vs .vs-q input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.vs .vs-q input.a:checked{counter-increment:va}
.vs .vs-q input.b:checked{counter-increment:vb}
.vs .vs-q label:has(input:checked){border-color:var(--cat);background:var(--cat-soft);color:var(--ink)}
.vs .vs-q label:has(input:checked):before{border-color:var(--cat);background:var(--cat);box-shadow:inset 0 0 0 3px #fff}
.vs .vs-q label:has(input:focus-visible){outline:2px solid var(--cat);outline-offset:2px}
.vs .vs-tally{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.vs .vs-tally>p{margin:0;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--rule)}
.vs .vs-tally .ta{border-top:3px solid var(--ta)}
.vs .vs-tally .tb{border-top:3px solid var(--tb)}
.vs .vs-tally b{display:block;font:400 38px/1 var(--serif);color:var(--ink)}
.vs .vs-tally .na:after{content:counter(va)}
.vs .vs-tally .nb:after{content:counter(vb)}
.vs .vs-tally span{display:block;margin-top:6px;font:600 10.5px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.vs .vs-tally .vs-wait,.vs .vs-tally .vs-done{grid-column:1/-1;padding:0;border:0;background:none;font-size:14.5px;line-height:1.5;color:var(--muted)}
.vs .vs-tally .vs-done{display:none;padding:12px 14px;border-radius:12px;background:#2C1A74;color:#fff}
.vs .vs-ck:has(.vs-q:nth-of-type(1) input:checked):has(.vs-q:nth-of-type(2) input:checked):has(.vs-q:nth-of-type(3) input:checked):has(.vs-q:nth-of-type(4) input:checked):has(.vs-q:nth-of-type(5) input:checked):has(.vs-q:nth-of-type(6) input:checked):has(.vs-q:nth-of-type(7) input:checked):has(.vs-q:nth-of-type(8) input:checked) .vs-done{display:block}
.vs .vs-ck:has(.vs-q:nth-of-type(1) input:checked):has(.vs-q:nth-of-type(2) input:checked):has(.vs-q:nth-of-type(3) input:checked):has(.vs-q:nth-of-type(4) input:checked):has(.vs-q:nth-of-type(5) input:checked):has(.vs-q:nth-of-type(6) input:checked):has(.vs-q:nth-of-type(7) input:checked):has(.vs-q:nth-of-type(8) input:checked) .vs-wait{display:none}
.vs .vs-tier{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin:0 0 14px;padding:12px 16px;border-radius:14px;background:#2C1A74;color:#fff}
.vs .vs-tier b{font:600 12px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.vs .vs-tier span{font-size:14.5px;color:rgba(255,255,255,.84)}
.vs .vs-tier.t1{background:#2C1A74}.vs .vs-tier.t2{background:#5B3FBC}.vs .vs-tier.t3{background:#8C7AD6}.vs .vs-tier.t4{background:#B5465E}
.vs .vs-arenas{list-style:none;margin:14px 0 18px;padding:0;display:grid;gap:8px}
.vs .vs-arenas li{display:grid;grid-template-columns:minmax(0,1.1fr) 110px minmax(0,1.6fr);gap:14px;align-items:center;margin:0;padding:12px 16px;border-radius:14px;background:var(--paper);border:1px solid var(--rule)}
.vs .vs-arenas .ar{font:400 18px/1.25 var(--serif);color:var(--ink)}
.vs .vs-arenas b{justify-self:start;padding:6px 10px;border-radius:999px;font:600 10.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--muted)}
.vs .vs-arenas .w-a b{background:var(--ta)}
.vs .vs-arenas .w-b b{background:var(--tb)}
.vs .vs-arenas .w-t b{background:#2C1A74}
.vs .vs-arenas .why{font-size:14.5px;line-height:1.5;color:var(--ink2)}
.vs .vs-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:34px 0 10px}
.vs .vs-guide{display:block;padding:18px 20px;border-radius:18px;background:var(--paper);border:1px solid var(--rule);border-top:4px solid var(--ta);color:var(--ink);text-decoration:none}
.vs .vs-guide.tb{border-top-color:var(--tb)}
.vs .vs-guide small{display:block;font:600 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.vs .vs-guide b{display:block;margin:8px 0 6px;font:400 22px/1.2 var(--serif)}
.vs .vs-guide span{display:block;font-size:14.5px;line-height:1.5;color:var(--ink2)}
.vs .vs-guide i{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font:600 12px/1 var(--mono);font-style:normal;color:var(--cat)}
.vs .vs-guide:hover{border-color:var(--cat)}
.vs .vs-authors{grid-template-columns:repeat(3,minmax(0,1fr))}
.vs .vs-more{list-style:none;margin:12px 0 8px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.vs .vs-more li{margin:0}
.vs .vs-more a{display:block;height:100%;padding:14px 16px;border-radius:14px;background:var(--paper);border:1px solid var(--rule);color:var(--ink);text-decoration:none}
.vs .vs-more a:hover{border-color:var(--cat)}
.vs .vs-more b{display:block;font:400 19px/1.2 var(--serif);color:var(--cat)}
.vs .vs-more span{display:block;margin-top:6px;font-size:14px;line-height:1.45;color:var(--ink2)}
.vs .imj-body a.vs-guide,.vs .imj-body .vs-more a,.vs .imj-body a.vsh-card,.vs .imj-body .vsh-links a{text-decoration:none!important}  /* kit underlines .imj-body a:not(...) at (0,5,1): cards are blocks, not text links */
.vs .vs-allpairs{margin:6px 0 0;font-size:15px}
.vs .vs-allpairs a{display:inline-flex;align-items:center;gap:6px;font-weight:600}
@media (max-width:900px){
 .vs .vs-more{grid-template-columns:minmax(0,1fr)}
 .vs .vs-points{grid-template-columns:minmax(0,1fr)}
 .vs .vs-authors{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
 .vs .vs-stack{min-width:0;width:100%}
 .vs .vs-stack thead{display:none}
 .vs .vs-stack tr{display:block;padding:12px 16px;border-bottom:1px solid var(--rule)}
 .vs .vs-stack tr:last-child{border-bottom:0}
 .vs .vs-stack td{display:block;padding:0;border:0;width:auto!important}
 .vs .vs-stack td[data-k]:before{content:attr(data-k);display:block;margin:8px 0 2px;font:600 10px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
 .vs .vs-scen .r,.vs .vs-tally,.vs .vs-guides{grid-template-columns:minmax(0,1fr)}
 .vs .vs-tally{grid-template-columns:repeat(2,minmax(0,1fr))}
 .vs .vs-tells li{grid-template-columns:minmax(0,1fr);gap:4px}
 .vs .vs-arenas li{grid-template-columns:minmax(0,1fr);gap:6px}
 .vs .vs-ck{padding:14px}
}
