/* ============================================================
   Singularity Tracker (singularity-tracker.html)
   Data first. One cool "signal" ramp says who checked a result:
   the better checked, the brighter it glows. Warm ink is for words,
   cool ice is for data.
   ============================================================ */
:root{
  --v-c:#3d6fb8;   /* claimed */
  --v-p:#4e95e8;   /* preprint */
  --v-pr:#7fc0ff;  /* peer-reviewed */
  --v-r:#cfe9ff;   /* replicated */
  --v-no:rgba(207,233,255,.17);
  --hatch:repeating-linear-gradient(135deg,var(--v-p) 0 2.5px,rgba(78,149,232,.18) 2.5px 6.5px);
  --tk-card:#080a0d;
  --tk-card2:#0c1016;
  --tk-line:rgba(207,233,255,.11);
  --tk-line2:rgba(207,233,255,.22);
  --white:#fff;
  /* Spacing comes from the site scale (--sp-1 to --sp-6 in style.css) plus these three */
  --pad:24px;                        /* inside cards */
  --pad-lg:clamp(20px,2.4vw,32px);   /* inside charts and panels */
  --col:clamp(32px,5vw,64px);        /* between columns */
}
.v-r{--f:var(--v-r)}
.v-pr{--f:var(--v-pr)}
.v-p{--f:var(--v-p)}
.v-c{--f:var(--v-c)}
.tk-hero,.tk-sec{font-weight:400}
.tk-sec :focus-visible,.tk-hero :focus-visible{outline:2px solid var(--v-r);outline-offset:3px;border-radius:4px}

/* Shared marks */
.sw{display:inline-block;flex:none;width:14px;height:14px;border-radius:3px;box-shadow:inset 0 0 0 1px var(--v-no)}
.sw:is(.v-r,.v-pr,.v-p,.v-c){background:var(--f);box-shadow:none}
.sw.half{background:repeating-linear-gradient(135deg,var(--f) 0 2px,transparent 2px 5px);box-shadow:inset 0 0 0 1.5px var(--f)}
.sw.gapk{background:var(--hatch);box-shadow:none}
.tk-legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.92rem;color:var(--ink)}
.tk-legend span,.tk-keys span{display:inline-flex;align-items:center;gap:8px}
.tk-keys{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:.92rem;color:var(--ink);margin-bottom:16px}
.lk{display:inline-block;width:20px;height:3px;border-radius:2px}
.lk.all{background:var(--v-p)}
.lk.ver{background:var(--v-r)}
.tk-btn{display:inline-flex;align-items:center;gap:8px;background:var(--tk-card2);color:var(--ink);border:1px solid var(--tk-line2);border-radius:999px;padding:9px 16px;font:500 .9rem var(--sans);cursor:pointer;white-space:nowrap;transition:border-color .2s,color .2s}
.tk-btn:hover{border-color:var(--v-pr);color:var(--white)}
.narrow{display:none}

/* ---------- Hero ---------- */
.tk-hero{position:relative;padding:calc(76px + clamp(36px,6vh,72px)) 0 clamp(56px,8vh,96px);border-bottom:1px solid var(--line);
  background:radial-gradient(60% 70% at 78% 45%,rgba(78,149,232,.13),transparent 70%)}
/* Words on the left with the buttons under them, the two numbers on the right; one column on narrow screens */
.tk-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"copy nums" "cta nums";column-gap:clamp(36px,6vw,96px);align-items:center}
.tk-hero-copy{grid-area:copy;align-self:end}
.tk-hero-nums{grid-area:nums;min-width:0}
.tk-hero-grid>.hero-cta{grid-area:cta;align-self:start}
.tk-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(3rem,5.4vw,5.1rem);line-height:.95;max-width:none}
.tk-sub{font-family:var(--serif);font-style:italic;font-size:clamp(1.75rem,2.9vw,2.6rem);color:var(--ink);margin-top:var(--sp-2);line-height:1.12;max-width:22ch;text-wrap:balance}
.tk-figs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,40px)}
.tk-fig>.mono{display:flex;align-items:center;gap:9px;color:var(--muted)}
.key{display:inline-block;width:11px;height:11px;border-radius:3px}
.key.unv{background:var(--hatch)}
.key.ver{background:var(--v-r)}
.tk-fig b{display:block;font-family:var(--sans);font-weight:600;font-size:clamp(4rem,8vw,6.9rem);line-height:.92;letter-spacing:-.045em;color:var(--white);margin-top:12px;font-variant-numeric:tabular-nums}
.tk-fig.ver b{color:var(--v-r);text-shadow:0 0 40px rgba(127,192,255,.35)}
.tk-fig b small{font-size:.22em;letter-spacing:0;color:var(--muted);font-weight:500;margin-left:.2em}
.tk-fig .dl{display:inline-block;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--ink);margin-top:10px}
.tk-fig .since{font-size:.85rem;color:var(--muted);margin-left:6px}
.tk-gapbar{margin-top:var(--sp-3)}
.tk-gapbar .trk{position:relative;height:16px;border-radius:8px;background:rgba(207,233,255,.07);overflow:hidden}
.tk-gapbar i{position:absolute;top:0;bottom:0}
.tk-gapbar .ver{left:0;background:var(--v-r);box-shadow:0 0 18px rgba(207,233,255,.5)}
.tk-gapbar .unv{background:var(--hatch);border-left:2px solid var(--bg)}
.tk-gapbar .ticks{position:relative;height:20px;margin-top:7px;color:var(--muted);font-size:.62rem}
.tk-gapbar .ticks span{position:absolute;transform:translateX(-50%)}
.tk-gapbar .ticks span:first-child{transform:none}
.tk-gapbar .ticks span:last-child{transform:translateX(-100%)}
.tk-gapline{margin-top:10px;color:var(--ink);font-size:1.04rem;line-height:1.5;max-width:46ch}
.tk-now{display:flex;align-items:center;gap:10px 24px;margin-top:var(--sp-5);padding:var(--sp-2) var(--pad);border:1px solid var(--tk-line2);border-radius:14px;background:var(--tk-card);transition:border-color .2s}
.tk-now:hover{border-color:var(--v-pr)}
.tk-now .mono{color:var(--v-pr);white-space:nowrap}
.tk-now .tx{flex:1;min-width:0;color:var(--white);font-size:1.02rem;line-height:1.45}
.tk-now .go{white-space:nowrap;color:var(--muted);font-size:.94rem}
.tk-now:hover .go{color:var(--white)}
.tk-hero .hero-cta{margin-top:var(--sp-4)}

/* The 100 milestones, drawn only on the share card (singularity.og_card) */
.tk-mx{border:1px solid var(--tk-line2);border-radius:16px;background:linear-gradient(180deg,rgba(14,20,29,.92),rgba(8,10,13,.92));
  padding:var(--pad-lg);box-shadow:0 40px 100px -50px rgba(78,149,232,.45);min-width:0}
.mx-cap{display:flex;justify-content:space-between;color:var(--muted)}
.mx-cap .mono{color:var(--muted)}
.mx-head,.mx-row{display:grid;grid-template-columns:82px minmax(0,1fr) 34px;gap:14px;align-items:center}
.mx-head{margin-top:14px}
.mx-head .cells{display:flex;gap:10px}
.mx-head .cells span{text-align:center;border-bottom:1px solid var(--tk-line2);padding-bottom:7px;font-size:.58rem;color:var(--muted)}
.mx-body{display:flex;flex-direction:column;gap:7px;margin-top:12px}
.mx-row .nm{font-weight:600;font-size:.94rem;color:var(--white);white-space:nowrap}
.mx-row .cells{display:flex;gap:10px;min-width:0}
.mx-row .cells>span{display:flex;gap:4px;min-width:0}
.mx-row i{flex:1;min-width:0;aspect-ratio:1;border-radius:5px;box-shadow:inset 0 0 0 1px var(--v-no)}
.mx-row i:is(.v-r,.v-pr,.v-p,.v-c){background:var(--f);box-shadow:none}
.mx-row i.v-r{box-shadow:0 0 16px -3px rgba(207,233,255,.75)}
.mx-row i.half{background:repeating-linear-gradient(135deg,var(--f) 0 2px,transparent 2px 5px);box-shadow:inset 0 0 0 1.5px var(--f)}
.mx-row .sc{text-align:right;font-weight:600;font-size:.98rem;color:var(--white)}

/* Tooltip */
.tk-tip{position:fixed;left:0;top:0;z-index:80;max-width:300px;background:#0e131a;border:1px solid var(--tk-line2);border-radius:10px;
  padding:10px 13px;pointer-events:none;box-shadow:0 12px 40px rgba(0,0,0,.6);font-size:.88rem;line-height:1.45}
.tk-tip .tv{display:block;color:var(--white);font-weight:600}
.tk-tip .tf,.tk-tip .ta,.tk-tip .tw{display:block;color:var(--muted);font-size:.84rem}
.tk-tip .ta,.tk-tip .tw{color:var(--ink)}
.tk-tip p{margin-top:5px;color:var(--ink)}

/* ---------- Section heads ---------- */
.tk-h{max-width:70ch;margin-bottom:var(--sp-5)}
.tk-h .mono{color:var(--v-pr)}
.tk-h h2{font-family:var(--serif);font-weight:500;font-size:clamp(2.3rem,4.4vw,3.7rem);line-height:1.02;margin-top:12px;text-wrap:balance}
.tk-h p{color:var(--ink);font-size:1.1rem;line-height:1.6;margin-top:16px;max-width:62ch}
.tk-h3{font-family:var(--sans);font-weight:600;font-size:1.12rem;color:var(--white);margin:var(--sp-6) 0 var(--sp-2)}
.tk-h+.tk-h3{margin-top:0}
.tk-p{color:var(--ink);font-size:1.02rem;line-height:1.6;max-width:56ch}

/* ---------- Curve ---------- */
.tk-chart{border:1px solid var(--tk-line);border-radius:16px;background:var(--tk-card);padding:var(--pad-lg)}
.tk-chart svg{width:100%;height:auto;overflow:visible;display:block}
.tk-chart svg text{font-family:var(--sans)}
.tk-curve .gd{stroke:var(--tk-line);stroke-width:1}
.tk-curve .ax{stroke:var(--tk-line2);stroke-width:1}
.tk-curve .yl,.tk-curve .xl{fill:var(--muted);font-size:14px}
.tk-curve .gap{opacity:.75}
.tk-curve .wash{fill:rgba(207,233,255,.07)}
.tk-curve .ln{fill:none;stroke-width:2.4;stroke-linejoin:round}
.tk-curve .ln.all{stroke:var(--v-p)}
.tk-curve .ln.ver{stroke:var(--v-r)}
.tk-curve .end{stroke:var(--tk-card);stroke-width:2.5}
.tk-curve .end.all{fill:var(--v-p)}
.tk-curve .end.ver{fill:var(--v-r)}
.tk-curve .note{fill:var(--ink);font-size:14px}
.tk-curve .nd{fill:var(--muted)}
.tk-curve .lead{stroke:var(--tk-line2);stroke-width:1}
.tk-curve .pin{fill:var(--white);stroke:var(--tk-card);stroke-width:2}
.tk-curve .xh{stroke:rgba(255,255,255,.5);stroke-width:1;opacity:0;pointer-events:none}
.tk-curve .hit{fill:transparent;cursor:crosshair}
.tk-curve.compact .yl,.tk-curve.compact .xl{font-size:12px}
.tk-curve.compact .note{font-size:12px}

/* ---------- Index table ---------- */
.tk-tools{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between;margin-bottom:var(--sp-2)}
.tk-ctl{display:flex;gap:10px;align-items:center}
.tk-ctl label{color:var(--muted)}
.tk-ctl select{background:var(--tk-card2);color:var(--ink);border:1px solid var(--tk-line2);border-radius:999px;padding:9px 16px;font:500 .9rem var(--sans);cursor:pointer}
.tk-cols,.tk-row>summary{display:grid;grid-template-columns:28px minmax(150px,1fr) 136px minmax(0,2.4fr) 92px 16px;gap:20px;align-items:center}
.tk-cols{padding:0 var(--pad) 12px;color:var(--muted)}
.tk-cols .bands{display:flex;gap:10px}
.tk-cols .bands span{border-bottom:1px solid var(--tk-line2);padding-bottom:6px;text-align:center}
.tk-cols .num{text-align:right}
.tk-list{border:1px solid var(--tk-line);border-radius:16px;overflow:hidden;background:var(--tk-card)}
.tk-row+.tk-row{border-top:1px solid var(--tk-line)}
.tk-row>summary{list-style:none;cursor:pointer;padding:20px var(--pad);transition:background .25s}
.tk-row>summary::-webkit-details-marker{display:none}
.tk-row>summary:hover{background:rgba(207,233,255,.035)}
.tk-row[open]>summary{background:rgba(207,233,255,.06)}
.tk-row .rk{font-family:var(--mono);font-size:.8rem;color:var(--muted)}
.tk-row .nm{font-weight:600;font-size:1.1rem;color:var(--white);line-height:1.25}
.stg{display:inline-flex;align-items:center;gap:10px;font-size:.96rem;color:var(--ink);white-space:nowrap}
.stg b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:1rem;box-shadow:inset 0 0 0 1.5px var(--line-strong);color:var(--muted)}
.stg.s2 b{box-shadow:inset 0 0 0 1.5px var(--white);color:var(--white)}
.stg.s3 b,.stg.s4 b{background:var(--white);color:#050505;box-shadow:none}
.tk-bar{display:flex;gap:10px;min-width:0}
.tk-bar>span{display:flex;gap:3px;min-width:0}
.tk-bar i{display:block;flex:1;min-width:0;height:28px;border-radius:4px;box-shadow:inset 0 0 0 1px var(--v-no)}
.tk-bar i:is(.v-r,.v-pr,.v-p,.v-c){background:var(--f);box-shadow:none}
.tk-bar i.v-r{box-shadow:0 0 12px -3px rgba(207,233,255,.6)}
.tk-bar i.half{background:repeating-linear-gradient(135deg,var(--f) 0 3px,transparent 3px 7px);box-shadow:inset 0 0 0 1.5px var(--f)}
.tk-row .sc{text-align:right;line-height:1}
.tk-row .sc b{display:block;font-weight:600;font-size:1.75rem;color:var(--white)}
.tk-row .sc small{display:block;font-size:.76rem;color:var(--v-pr);margin-top:5px;white-space:nowrap}
.tk-row .cv{width:10px;height:10px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg) translate(-3px,-3px);transition:transform .3s var(--ease)}
.tk-row[open] .cv{transform:rotate(225deg) translate(-3px,-3px)}
.tk-body{padding:0 var(--pad) var(--sp-3) calc(var(--pad) + 48px);border-top:1px solid var(--tk-line)}  /* left edge lines up with the field name */
.tk-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-3);padding:var(--sp-3) 0 var(--sp-1)}
.tk-facts h4{color:var(--muted);margin-bottom:8px;font-size:.64rem}
.tk-facts p{color:var(--ink);font-size:1rem;line-height:1.5}
.tk-ms li{display:grid;grid-template-columns:16px 26px minmax(0,1fr) 190px;gap:14px;align-items:start;padding:12px 0;border-top:1px solid var(--tk-line)}
.tk-ms li.bh{display:block;padding:var(--sp-3) 0 var(--sp-1);border-top:0;color:var(--v-pr)}
.tk-ms .sw{margin-top:3px}
.tk-ms .n{font-family:var(--mono);font-size:.76rem;color:var(--muted);padding-top:2px}
.tk-ms .t{color:var(--white);font-size:1rem;line-height:1.45}
.tk-ms li.v-no .t{color:var(--muted)}
.tk-ms .m{display:block;color:var(--muted);font-size:.9rem;margin-top:4px;line-height:1.5}
.tk-ms .lv{text-align:right;font-size:.86rem;color:var(--muted);line-height:1.4}
.tk-ms .lv b{display:block;font-weight:600;color:var(--ink);font-size:.92rem}
.tk-sec a:not(.btn):not(.tk-file):not(.mx-row){color:var(--ink);border-bottom:1px solid var(--line-strong)}
.tk-sec a:not(.btn):not(.tk-file):not(.mx-row):hover{border-color:var(--v-pr);color:var(--white)}
.new{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#050505;background:var(--v-r);border-radius:4px;padding:2px 6px;margin-left:8px;vertical-align:2px}
.tk-copy{margin-top:var(--sp-3)}

/* ---------- The gap, field by field ---------- */
.tk-two{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--col)}
.tk-strip{display:flex;gap:2px;height:78px;border-radius:12px;overflow:hidden}
.tk-strip span{background:var(--f);display:flex;flex-direction:column;justify-content:center;padding:0 14px;min-width:0;color:#050505}
.tk-strip .v-c,.tk-strip .v-p{color:var(--white)}
.tk-strip b{font-size:1.7rem;font-weight:700;line-height:1}
.tk-strip small{font-size:.84rem;font-weight:600;margin-top:5px;white-space:nowrap}
.tk-axis{display:flex;justify-content:space-between;color:var(--muted);margin-top:10px}
.tk-gates li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;padding:12px 0;border-top:1px solid var(--tk-line)}
.tk-gates li:last-child{border-bottom:1px solid var(--tk-line)}
.tk-gates .gs{grid-row:span 2;align-self:start;font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:5px 10px;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--muted);min-width:76px;text-align:center}
.tk-gates li.open .gs{background:var(--v-r);color:#050505;box-shadow:none;font-weight:500}
.tk-gates b{color:var(--white);font-weight:600}
.tk-gates p{color:var(--ink);font-size:.93rem;line-height:1.5}

/* ---------- Speed scatter ---------- */
.tk-scatter svg text{font-size:15px;fill:var(--muted)}
.tk-scatter svg text.lb{fill:var(--white);font-size:16px;font-weight:600}
.tk-scatter svg text.at{fill:var(--ink)}
.tk-scatter svg text.zl{fill:var(--v-pr);font-size:14px;font-weight:500}
.tk-scatter svg text.nt{fill:var(--ink);font-size:14px}
.tk-sl .nt{grid-column:1/-1;color:var(--ink);font-size:.9rem;line-height:1.5;margin-top:4px}
.tk-scatter svg .zone{fill:rgba(127,192,255,.07)}
.tk-scatter svg .gd{stroke:var(--tk-line);stroke-width:1}
.tk-scatter svg .ax{stroke:var(--tk-line2);stroke-width:1}
.tk-scatter svg .lead{fill:none;stroke:rgba(207,233,255,.3);stroke-width:1}
.tk-scatter svg circle{stroke:var(--tk-card);stroke-width:2.5}
.tk-scatter svg .d3,.tk-scatter svg .d4,.dk.d3{fill:var(--white);background:var(--white)}
.tk-scatter svg .d2,.dk.d2{fill:#9fb2c8;background:#9fb2c8}
.tk-scatter svg .d1,.dk.d1{fill:#58637a;background:#58637a}
.tk-scatter figcaption{margin:16px 0 0}
.dk{display:inline-block;width:12px;height:12px;border-radius:50%}
.tk-sl li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"nm b" "lt b" "sb sb";column-gap:12px;row-gap:6px;padding:12px 0;border-top:1px solid var(--tk-line)}
.tk-sl li.hd{display:flex;justify-content:space-between;border-top:0;padding-top:0;color:var(--muted)}
.tk-sl .nm{grid-area:nm;font-weight:600;color:var(--white)}
.tk-sl .lt{grid-area:lt;color:var(--muted);font-size:.64rem}
.tk-sl b{grid-area:b;align-self:center;font-weight:600;font-size:1.3rem;color:var(--white)}
.tk-sl .sb{grid-area:sb;height:8px;border-radius:4px;background:rgba(207,233,255,.07);overflow:hidden}
.tk-sl .sb i{display:block;height:100%;border-radius:4px;background:#58637a}
.tk-sl .s2 .sb i{background:#9fb2c8}
.tk-sl .s3 .sb i{background:var(--white)}

/* ---------- Latest ---------- */
.tk-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2)}
.tk-story{border:1px solid var(--tk-line);border-radius:14px;background:var(--tk-card);padding:var(--pad);display:flex;flex-direction:column;gap:10px;min-width:0}
.tk-tag{display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--muted)}
.lvl{border-radius:999px;padding:4px 10px;color:#050505;background:var(--f);font-weight:500;letter-spacing:.1em;white-space:nowrap}
.lvl.v-c,.lvl.v-p{color:var(--white)}
.lvl.v-d{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong)}
.tk-story h3{font-weight:600;font-size:1.18rem;line-height:1.3;color:var(--white)}
.tk-story p{color:var(--ink);font-size:.97rem;line-height:1.55}
.tk-story .src,.tk-w .src{margin-top:auto;padding-top:6px;font-size:.85rem;color:var(--muted)}

/* ---------- Watch ---------- */
.tk-watch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2)}
.tk-w{border:1px solid var(--tk-line);border-radius:14px;background:var(--tk-card);padding:var(--pad);display:flex;flex-direction:column;gap:8px;min-width:0}
.tk-w>b{font-size:clamp(2.2rem,3.2vw,2.9rem);font-weight:600;line-height:1;color:var(--white);letter-spacing:-.02em;white-space:nowrap}
.tk-w .was{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;color:var(--v-pr)}
.tk-w h3{font-weight:600;font-size:1.04rem;color:var(--white);line-height:1.35;margin-top:8px}
.tk-w p{color:var(--ink);font-size:.94rem;line-height:1.5}

/* ---------- Open data ---------- */
.tk-data{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--sp-2)}
.tk-data>*,.tk-two>*,.tk-split>*{min-width:0}
.tk-files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}
.tk-file{display:flex;flex-direction:column;gap:6px;border:1px solid var(--tk-line);border-radius:14px;background:var(--tk-card);padding:var(--pad);transition:border-color .2s}
.tk-file:hover{border-color:var(--v-pr)}
.tk-file:last-child:nth-child(odd){grid-column:span 2}
.tk-file b{font-family:var(--mono);font-weight:500;color:var(--white);font-size:.95rem}
.tk-file span{color:var(--ink);font-size:.9rem;line-height:1.45}
.tk-file .mono{color:var(--v-pr);font-size:.62rem;margin-top:auto}
.tk-code{border:1px solid var(--tk-line2);border-radius:14px;background:var(--tk-card2);padding:var(--pad)}
.tk-code>.mono{color:var(--muted)}
.tk-code pre{margin:var(--sp-2) 0 var(--sp-3);padding:16px;border-radius:10px;background:#05070a;border:1px solid var(--tk-line);overflow-x:auto}
.tk-code code{font-family:var(--mono);font-size:.86rem;line-height:1.6;color:var(--v-r)}
.tk-code dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 18px}
.tk-code dt{color:var(--muted);padding-top:3px}
.tk-code dd{color:var(--ink);font-size:.95rem;line-height:1.5;overflow-wrap:anywhere}

/* ---------- Stages: a staircase, with how many fields stand on each step ---------- */
.tk-stairs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--tk-line);border-radius:16px;background:var(--tk-card);padding:var(--pad-lg)}
.tk-stairs figcaption{grid-column:1/-1;color:var(--muted);margin-bottom:var(--sp-2)}
.st{display:flex;flex-direction:column;min-width:0}
.st-pile{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;min-height:calc(var(--pile) * 41px + 10px);padding:0 6px 10px}
.st-f{display:block;padding:7px 12px;border:1px solid var(--tk-line2);border-radius:8px;background:var(--tk-card2);color:var(--muted);font-size:.92rem;line-height:1.3;white-space:nowrap}
.st-f b{color:var(--white);font-weight:600;font-size:1.15rem;margin-right:4px}
.st-none{display:block;text-align:center;color:var(--muted);padding:8px 0}
.st-base{height:102px;display:flex;align-items:flex-end;border-bottom:1px solid var(--tk-line2)}
.st-step{display:block;width:100%;height:calc(14px + var(--h) * 22px);background:linear-gradient(180deg,rgba(243,240,232,.3),rgba(243,240,232,.06));border-top:2px solid var(--white)}
.st.ahead .st-step{background:none;border:1.5px dashed var(--line-strong);border-bottom:none}
.st-text{display:flex;flex-direction:column;gap:6px;padding:var(--sp-3) var(--sp-3) 0 0}
.st .st-name{font-size:1.2rem;font-weight:600;color:var(--white);white-space:normal}
.st-span{color:var(--v-pr);font-size:.64rem}
.st-text h4{color:var(--muted);font-size:.6rem;margin-top:10px}
.st-text p{color:var(--ink);font-size:.92rem;line-height:1.5}
.st-text .st-mean{color:var(--white);font-size:1rem;line-height:1.45;margin:6px 0 2px}
.st-eg .mt{display:flex;align-items:flex-start;gap:8px;margin-top:6px;font-family:var(--mono);font-size:.68rem;line-height:1.5;color:var(--muted)}
.st-eg .sw{width:12px;height:12px;margin-top:2px}

/* The road to 100 */
.tk-road-notes{margin-top:var(--sp-3)}

/* ---------- Our definition ---------- */
#definition .tk-h{max-width:none}
#definition .tk-h h2{font-size:clamp(2.4rem,4.6vw,4.1rem);max-width:24ch}
#definition .tk-h p{font-size:1.18rem;max-width:66ch;color:var(--white)}
.tk-def{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--tk-line);border:1px solid var(--tk-line);border-radius:14px;overflow:hidden}
.tk-def>div{background:var(--tk-card);padding:var(--pad)}
.tk-def h3{font-weight:600;font-size:1.02rem;color:var(--white);margin-bottom:8px}
.tk-def p{color:var(--ink);font-size:.95rem;line-height:1.55}
.tk-def-foot{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;margin-top:var(--sp-3)}
.tk-def-foot .mono{color:var(--v-pr)}
.tk-def-foot .tk-copy{margin-top:0}
/* The three tests. Verdicts stay monochrome, like the stage circles: outline = first signs, filled = met. */
.tk-tests{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}
/* The Superintelligence Score leads: full width, score on the right, its three steps side by side */
.tk-test.lead{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--col);row-gap:var(--sp-1);align-items:start}
.tk-test.lead>:is(.tk-tag,.si-grid,.tk-legend,.tk-tnote){grid-column:1/-1}
.tk-test.lead>.tk-tnum{grid-column:2;grid-row:2/span 2;align-self:end;margin-top:0;column-gap:var(--sp-5)}
.tk-test.lead .tk-tnum b{font-size:clamp(3.2rem,5.4vw,4.8rem)}
.tk-tnum b.ver{color:var(--v-r)}
.tk-test.lead>p:not(.tk-tnote){max-width:52ch}
/* Ability by step: the same cells and colours as the 100-milestone grid */
.si-grid{margin-top:var(--sp-3);border-top:1px solid var(--tk-line)}
.si-head,.si-row{display:grid;grid-template-columns:minmax(150px,1fr) repeat(3,minmax(0,1.3fr)) 88px;gap:12px;align-items:center}
.si-head{padding:12px 0 8px;color:var(--muted);font-size:.6rem}
.si-head b{color:var(--white);font-weight:500}
.si-head>span:last-child,.si-row .sc{text-align:right}
.si-row{padding:6px 0}
.si-row .nm{font-weight:600;font-size:.98rem;color:var(--white)}
.si-row i{display:block;height:26px;border-radius:5px;box-shadow:inset 0 0 0 1px var(--v-no);transition:transform .18s}
.si-row i:is(.v-r,.v-pr,.v-p,.v-c){background:var(--f);box-shadow:none}
.si-row i.v-r{box-shadow:0 0 14px -3px rgba(207,233,255,.6)}
.si-row i.half{background:repeating-linear-gradient(135deg,var(--f) 0 2px,transparent 2px 5px);box-shadow:inset 0 0 0 1.5px var(--f)}
.si-row i:hover{transform:scaleY(1.15)}
.si-row .sc b{font-weight:600;font-size:1.05rem;color:var(--white)}
.si-row .sc small{display:block;font-size:.72rem;color:var(--v-pr);white-space:nowrap}
.tk-test.lead .tk-legend{margin-top:var(--sp-2);font-size:.84rem;gap:8px 14px}
.tk-test{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0;border:1px solid var(--tk-line2);border-radius:14px;background:var(--tk-card);padding:var(--pad)}
.tk-test .tk-tag{color:var(--v-pr);white-space:nowrap}
.tk-v{border-radius:999px;padding:4px 10px;letter-spacing:.1em;white-space:nowrap;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line-strong)}
.tk-v.go{color:var(--white);box-shadow:inset 0 0 0 1px var(--white)}
.tk-v.met{color:#050505;background:var(--white);box-shadow:none}
.tk-test h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.7rem,2.3vw,2.1rem);line-height:1.05;color:var(--white);margin-top:var(--sp-2)}
.tk-test>p{color:var(--ink);font-size:.98rem;line-height:1.55}
.tk-tnum{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2);margin-top:var(--sp-2)}
.tk-tnum b{display:block;font-weight:600;font-size:clamp(2.4rem,3.4vw,3rem);line-height:1;letter-spacing:-.03em;color:var(--white)}
.tk-tnum small{font-size:.4em;font-weight:500;letter-spacing:0;color:var(--muted);margin-left:.15em}
.tk-tnum span{display:block;color:var(--muted);font-size:.9rem;margin-top:6px}
.tk-tnote{margin-top:auto;padding-top:var(--sp-2);color:var(--ink);font-size:.92rem;line-height:1.5}

/* ---------- How it works ---------- */
.tk-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--tk-line);border:1px solid var(--tk-line);border-radius:14px;overflow:hidden}
.tk-fields>div{background:var(--tk-card);padding:var(--pad)}
.tk-fields h3{font-weight:600;font-size:1rem;color:var(--white);margin-bottom:6px}
.tk-fields p{color:var(--ink);font-size:.9rem;line-height:1.5}
.tk-p a{color:var(--white);border-bottom:1px solid var(--line-strong)}
.tk-p a:hover{border-color:var(--v-pr)}
.tk-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--col)}
.tk-lv li{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--tk-line);color:var(--ink);font-size:1rem;line-height:1.5}
.tk-lv li:last-child{border-bottom:1px solid var(--tk-line)}
.tk-lv .sw{margin-top:4px}
.tk-lv strong{color:var(--white);font-weight:600}
.tk-more{margin-top:var(--sp-6);border-top:1px solid var(--tk-line)}
.tk-more details{border-bottom:1px solid var(--tk-line)}
.tk-more summary{list-style:none;cursor:pointer;padding:18px 0;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:1.06rem;color:var(--white)}
.tk-more summary::-webkit-details-marker{display:none}
.tk-more summary:after{content:"+";font-family:var(--mono);font-size:1.2rem;color:var(--muted);transition:transform .3s var(--ease)}
.tk-more details[open] summary:after{transform:rotate(45deg)}
.tk-more ul,.tk-more details>div{padding-bottom:var(--sp-3);max-width:74ch;color:var(--ink);font-size:1rem;line-height:1.6}
.tk-more details>div p+p{margin-top:12px}
.tk-more strong{color:var(--white);font-weight:600}
.tk-more li{padding-left:18px;position:relative;margin-bottom:8px}
.tk-more li:before{content:"";position:absolute;left:0;top:.75em;width:8px;height:1px;background:var(--line-strong)}
.tk-cta{margin-top:var(--sp-6);display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center;justify-content:space-between;
  border:1px solid var(--tk-line2);border-radius:16px;background:radial-gradient(80% 140% at 0% 0%,rgba(78,149,232,.14),transparent 60%),var(--tk-card);padding:var(--pad-lg)}
.tk-cta p{font-family:var(--serif);font-size:clamp(1.45rem,2.4vw,2rem);color:var(--white);line-height:1.2;max-width:30ch}

@media(max-width:1100px){
  .tk-cols,.tk-row>summary{grid-template-columns:24px minmax(130px,1fr) 124px minmax(0,2fr) 84px 14px;gap:16px}
  .tk-body{padding-left:calc(var(--pad) + 40px)}
  .tk-fields,.tk-def{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1000px){
  .tk-hero-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "nums" "cta";row-gap:var(--sp-4)}
  .tk-hero-grid>.hero-cta{margin-top:0}
  .tk-data{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:960px){
  .tk-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tk-stories,.tk-watch{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tk-two,.tk-split{grid-template-columns:1fr}
  /* Stages turn into a list, with each stage's fields right under its name */
  .tk-stairs{grid-template-columns:minmax(0,1fr)}
  .tk-stairs figcaption{margin-bottom:4px}
  .st{gap:6px;padding:var(--sp-3) 0;border-top:1px solid var(--tk-line)}
  .st-base{display:none}
  .st-text{display:contents}
  .st .st-name{order:-3}
  .st-span{order:-2}
  .st-pile{order:-1;min-height:0;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;padding:8px 0 4px}
  .st-none{text-align:left;padding:0}
}
@media(max-width:760px){
  :root{--pad:20px}
  .tk-tests,.tk-test.lead{grid-template-columns:minmax(0,1fr)}
  .tk-test.lead>.tk-tnum{grid-column:1;grid-row:auto;margin-top:var(--sp-2);column-gap:var(--sp-2)}
  .si-head,.si-row{grid-template-columns:minmax(0,1fr) repeat(3,30px) 56px;gap:6px}
  .si-row .nm{font-size:.9rem;line-height:1.25}
  .si-row .sc small{font-size:.64rem}
  .si-head .w{display:none}
  .si-head>span:not(:first-child):not(:last-child){text-align:center}
  .tk-now{flex-wrap:wrap}
  .tk-now .tx{flex-basis:100%}
  .wide{display:none}
  .narrow{display:block}
  .tk-cols{display:none}
  .tk-row>summary{grid-template-columns:minmax(0,1fr) auto 14px;grid-template-areas:"nm sc cv" "bar bar bar" "stg stg stg";row-gap:14px;padding:18px var(--pad)}
  .tk-row .rk{display:none}
  .tk-row .nm{grid-area:nm}
  .tk-row .sc{grid-area:sc}
  .tk-row .cv{grid-area:cv}
  .tk-row .tk-bar{grid-area:bar;gap:7px}
  .tk-row .stg{grid-area:stg}
  .tk-bar i{height:24px}
  .tk-body{padding:0 var(--pad) var(--sp-3)}
  .tk-ms li{grid-template-columns:16px minmax(0,1fr);row-gap:6px}
  .tk-ms .n{display:none}
  .tk-ms .lv{grid-column:2;text-align:left}
  .tk-ms .lv b{display:inline;margin-right:8px}
  .mx-head,.mx-row{grid-template-columns:62px minmax(0,1fr) 26px;gap:8px}
  .mx-row .cells,.mx-head .cells{gap:6px}
  .mx-row .cells>span{gap:3px}
  .mx-row .nm{font-size:.8rem}
  .mx-row .sc{font-size:.85rem}
  .mx-row i{border-radius:3px}
}
@media(max-width:560px){
  .tk-figs{gap:14px}
  .tk-fig b{font-size:3.9rem}
  .tk-facts{grid-template-columns:1fr;gap:16px}
  .tk-stories,.tk-watch,.tk-fields,.tk-files,.tk-def{grid-template-columns:1fr}
  .tk-file:last-child:nth-child(odd){grid-column:auto}
  .tk-fig>.mono{white-space:nowrap;font-size:.6rem;letter-spacing:.1em}
  .tk-curve.compact .gap{opacity:.5}
  .tk-strip{height:64px}
  .tk-strip span{padding:0 10px}
  .tk-strip small{display:none}
  .tk-tools{align-items:flex-start}
  .tk-ctl{width:100%;flex-wrap:wrap}
  .tk-ctl select{flex:1}
}
