/* Reference: https://chriskeleher.ca/en/ — inspected 2026-09-15.
   Observed source selectors and values. Template additions live in template.css. */
/* 01 — TOKENS */
:root{--paper:#F4F2EC;--paper-2:#FAF9F5;--card:#fff;--ink:#23262b;--slate:#2e3742;--slate-d:#1d242b;--lime:#ef5a2b;--lime-d:#c2401a;--lime-ink:#ffffff;--line:#e4e2d8;--line-2:#edebe3;--muted:#6f7580;--amber:#b8791a;--red:#cf3b2c;--sh-sm:0 1px 2px rgba(34,38,43,.05);--sh:0 8px 26px rgba(34,38,43,.08);--sh-lg:0 22px 52px rgba(34,38,43,.13);--mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;--disp:'Space Grotesk','Inter',system-ui,sans-serif;--sans:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--wrap:1180px}
/* 02 — BASE / TYPOGRAPHY */
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.66;-webkit-font-smoothing:antialiased}img{max-width:100%}.eng-mono{font-family:var(--mono);font-feature-settings:"tnum"}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}a{color:var(--lime-d)}h1,h2,h3{font-family:var(--disp);font-weight:700;line-height:1.12;letter-spacing:-.02em;color:var(--slate-d)}h2{font-size:clamp(1.55rem,2.6vw,2.15rem);margin:0 0 .5em}h3{font-size:1.2rem;margin:1.6em 0 .35em}p{margin:0 0 1.05em}.eng-ic{display:inline-flex;width:1.05em;height:1.05em;vertical-align:-.16em}.eng-ic svg{width:100%;height:100%}
/* 03 — LOGO / NAVIGATION */
.eng-logo{display:inline-flex;flex-direction:column;gap:3px;text-decoration:none;line-height:1}.eng-lockup{display:inline-flex;align-items:center;gap:9px}.eng-word{font-family:var(--disp);font-weight:700;font-size:1.4rem;letter-spacing:.02em;color:var(--slate)}.eng-mark{width:38px;height:22px}.eng-tag{font-family:var(--disp);font-weight:600;font-size:.56rem;letter-spacing:.34em;text-transform:uppercase;color:var(--muted);padding-left:2px}.foot .eng-word{color:#fff}.foot .eng-tag{color:#9fa9b4}
.nav{position:sticky;top:0;z-index:50;background:rgba(244,242,236,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.nav .wrap{display:flex;align-items:center;gap:20px;padding:12px 22px}.nav-links{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:.92rem}.nav-links a{color:var(--slate);text-decoration:none;font-weight:600}.nav-links a:hover{color:var(--lime-d)}.menu{display:none;margin-left:auto;position:relative}.menu summary{list-style:none;cursor:pointer;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--slate)}.menu summary::-webkit-details-marker{display:none}.menu-panel{position:absolute;right:0;top:50px;min-width:212px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-lg);display:flex;flex-direction:column;padding:6px;z-index:70}.menu-panel a{padding:11px 14px;color:var(--slate);text-decoration:none;font-weight:600;border-radius:8px;font-size:.95rem}.menu-panel a:hover{background:var(--paper);color:var(--lime-d)}.menu[open] summary{border-color:var(--lime);color:var(--lime-d)}
/* 04 — BUTTONS */
.eng-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--slate);color:#fff;text-decoration:none;font-weight:700;padding:11px 20px;border-radius:10px;font-size:.95rem;box-shadow:var(--sh-sm);transition:transform .12s,background .12s}.eng-btn:hover{background:var(--slate-d);transform:translateY(-1px)}.eng-btn--ghost{background:#fff;color:var(--slate);border:1.5px solid var(--line)}
/* 05 — HERO */
.hero{background:linear-gradient(180deg,var(--paper-2),var(--paper));border-bottom:1px solid var(--line);position:relative;overflow:hidden}.hero::after{content:"";position:absolute;right:-6%;top:4%;width:46%;height:130%;background:repeating-linear-gradient(100deg,rgba(239,90,43,.18) 0 3px,transparent 3px 22px);transform:skewX(-12deg);opacity:.6;pointer-events:none}.hero .wrap{position:relative;padding:30px 22px 22px;max-width:1180px}.hero h1{font-size:clamp(1.7rem,3.3vw,2.5rem);margin:0 0 .35em;max-width:24ch;text-wrap:balance}.hero-by{display:flex;align-items:center;gap:11px;font-size:.86rem;color:var(--muted);margin:0 0 12px}.hero-by img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid var(--lime);display:block}.hero-by-txt{display:flex;flex-direction:column;gap:2px;line-height:1.35;min-width:0}.hero-by b{color:var(--slate-d)}.hero-by .eng-mono{color:var(--lime-d)}.hero-by-date{font-size:.82rem}.hero .lede{font-size:1.06rem;color:#454b53;max-width:64ch;margin:0}#leaderboard{padding-top:22px}
/* 06 — SECTION / READING COLUMN */
.sec{padding:50px 0}.sec--white{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.sec-head{max-width:760px;margin:0 auto 24px}.sec-head.sec--lead{max-width:none;margin-left:0;margin-right:0;text-align:left}.sec-eyebrow{font-family:var(--mono);font-size:.73rem;text-transform:uppercase;letter-spacing:.14em;color:var(--lime-d);font-weight:600;display:block;margin-bottom:8px}.prose{max-width:760px;margin:0 auto}.prose>section{padding:30px 0;border-top:1px solid var(--line)}.prose>section:first-child{border-top:0;padding-top:0}.prose p,.prose li{font-size:1.03rem}.prose h2{scroll-margin-top:80px}
/* 07 — LEADERBOARD */
.lb{max-width:1180px;margin:0 auto}.lb-head{display:grid;grid-template-columns:44px 1.2fr .95fr 3fr;gap:18px;padding:0 20px 10px;font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.lb-rows{list-style:none;margin:0;padding:0;display:grid;gap:12px}.lb-row{position:relative;background:var(--card);border:1px solid var(--line);border-radius:15px;box-shadow:var(--sh-sm);padding:14px 20px;display:grid;grid-template-columns:44px 1.2fr .95fr 3fr;gap:16px 18px;align-items:center;grid-template-areas:"rank brand speed addr";transition:box-shadow .14s,transform .14s,border-color .14s}.lb-cover{position:absolute;inset:0;z-index:1;border-radius:15px}.lb-row .lb-cta{position:relative;z-index:2}.lb-row:hover{box-shadow:var(--sh)}.lb-row--feat{border-color:var(--lime);box-shadow:0 0 0 3px rgba(239,90,43,.2),var(--sh)}.lb-rank{grid-area:rank;font-family:var(--disp);font-weight:700;font-size:1.6rem;color:var(--slate-d);text-align:center}.lb-brand{grid-area:brand;display:flex;align-items:center;gap:12px;min-width:0}.lb-logo{width:84px;height:44px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:9px;padding:4px 7px;flex:none}.lb-name{font-family:var(--disp);font-weight:700;font-size:1.06rem;display:flex;flex-direction:column;min-width:0;color:var(--slate-d)}.lb-sub{font-family:var(--sans);font-weight:400;font-size:.74rem;color:var(--muted)}.lb-speed{grid-area:speed;display:flex;flex-direction:column;gap:8px;min-width:0}.lb-payout{display:flex;align-items:center;gap:7px;font-size:1.02rem;font-weight:700;color:var(--slate-d);font-family:var(--disp)}.lb-payout .eng-ic{color:var(--lime-d);width:1.15em;height:1.15em}.lb-bar{height:9px;background:var(--line-2);border-radius:6px;overflow:hidden}.lb-bar-fill{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--lime-d),var(--lime))}.lb-fast{display:inline-flex;align-items:center;gap:3px;font-family:var(--mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--lime-ink);background:var(--lime);padding:2px 7px;border-radius:20px;font-weight:700}.lb-bonus{grid-area:bonus}.lb-bonus-l{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.09em;color:var(--lime-d);font-weight:700;margin-bottom:5px;font-family:var(--mono)}.lb-bonus-v{display:block;font-family:var(--disp);font-weight:700;font-size:1.08rem;line-height:1.2;color:var(--slate-d);background:linear-gradient(120deg,#fdeee7,#fbdccc);border:1px solid #f3c3ab;border-left:5px solid var(--lime);border-radius:10px;padding:10px 13px}.lb-cta{grid-area:cta;display:grid;gap:6px;justify-items:stretch}.lb-cta .eng-btn{width:100%;font-size:1rem;padding:13px 18px}.lb-min{font-size:.7rem;color:var(--muted);text-align:center}
/* 08 — REVIEWS */
.revs{display:grid;gap:18px;margin:1.4em 0}.rev{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-sm);padding:20px 22px}.rev-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.rev-rank{font-family:var(--disp);font-weight:700;font-size:1.4rem;color:var(--lime-d)}.rev .lb-logo{width:96px;height:50px}.rev-h{min-width:0}.rev-h h3{margin:0;font-size:1.3rem}.rev-meta{font-size:.82rem;color:var(--muted);display:inline-flex;align-items:center;gap:5px}.rev-meta .eng-ic{color:var(--lime-d);width:1em;height:1em}.rev-cta-btn{margin-left:auto}.rev-bonus{margin:14px 0 4px}.rev-bonus .lb-bonus-v{font-size:1.12rem}.rev-body{margin-top:6px}.rev-body p{margin:0 0 .8em;font-size:1rem;color:#454b53}.rev-for{background:var(--paper);border-left:3px solid var(--lime);border-radius:0 8px 8px 0;padding:8px 12px;color:var(--slate-d)!important}.rev-for b{color:var(--slate-d)}.rev-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px;margin-top:6px}
@media(max-width:640px){.rev{padding:16px}.rev-cta-btn{margin-left:0;width:100%;order:5}.rev-head{gap:10px}.rev-foot .eng-btn{width:100%}}
/* 09 — FIGURES / TABLES */
.fig{margin:1.6em 0;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--sh-sm)}.fig>figcaption{font-size:.89rem;color:#454b53;padding:13px 16px;background:var(--paper);border-bottom:1px solid var(--line)}.cap-l{font-family:var(--mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--slate);font-weight:600;margin-right:6px}.cap-stamp{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:.77rem;color:var(--lime-d);margin-left:6px}.t-scroll{overflow-x:auto}.t{width:100%;border-collapse:collapse;font-size:.91rem}.t th{text-align:left;font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--slate);background:var(--card);padding:11px 15px;border-bottom:2px solid var(--line)}.t td{padding:11px 15px;border-bottom:1px solid var(--line);vertical-align:top}.t tbody tr:nth-child(even){background:var(--paper-2)}.t tbody tr:hover{background:#fdf3ee}.t-time{color:var(--slate-d);font-weight:700}.t-mut{color:var(--muted)}.t-pill{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;color:var(--lime-d);background:#fdeee7;border:1px solid #f3c3ab;border-radius:20px;padding:2px 9px}.t-pill .eng-ic{width:.9em;height:.9em}.t-heat td:nth-child(n+2){text-align:center;font-weight:600}.h1{background:#fde0d3!important;color:var(--lime-d)}.h2{background:#fdeee7!important;color:#c2401a}.h3{background:#fbf0db!important;color:var(--amber)}.h4{background:#fbe6e3!important;color:var(--red)}
/* 10 — BAR CHARTS */
.bc{padding:18px}.bc-row{display:grid;grid-template-columns:160px 1fr 66px;align-items:center;gap:12px;margin:10px 0;font-size:.87rem}.bc-lab{color:#454b53}.bc-track{background:var(--line-2);border-radius:7px;height:18px;overflow:hidden}.bc-fill{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,var(--lime-d),var(--lime))}.bc-val{text-align:right;color:var(--slate-d);font-weight:700}
/* 11 — TIMELINE / STEPS / SCORECARD */
.tl{list-style:none;margin:1.4em 0;padding:0}.tl-item{display:flex;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.tl-dot{width:14px;height:14px;border-radius:50%;margin-top:5px;flex:none}.tl-name{font-family:var(--disp);font-weight:700}.tl-range{margin-left:10px;color:var(--lime-d);font-weight:600}.tl-item p{margin:.2em 0 0;font-size:.91rem;color:#454b53}.fl,.sc{list-style:none;margin:0;padding:18px;display:grid;gap:13px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-sm)}.fl-step,.sc-item{display:flex;gap:13px;align-items:flex-start}.fl-n,.sc-n{flex:none;width:31px;height:31px;border-radius:50%;background:var(--slate);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.fl-step p,.sc-item p{margin:.12em 0 0;font-size:.91rem;color:#454b53}.sc-item{align-items:center}.sc-box{margin-left:auto;width:23px;height:23px;color:var(--lime-d);flex:none}.sc-box svg{width:100%;height:100%}.fl-saved{margin:13px 0 0;padding:13px 17px;background:#fdeee7;border:1px solid #f3c3ab;border-radius:12px;font-size:.91rem}.fl-saved .eng-ic{color:var(--lime-d)}
/* 12 — CALLOUTS / BRIEF / CHECKLIST */
.cal{border-radius:12px;padding:15px 17px;margin:1.3em 0;font-size:.95rem;border:1px solid;display:flex;gap:11px;align-items:flex-start}.cal .eng-ic{flex:none;margin-top:2px;width:1.2em;height:1.2em}.cal--warn{background:#fbf0db;border-color:#e7c896}.cal--warn .eng-ic{color:var(--amber)}.cal--red{background:#fbe6e3;border-color:#eeb1aa}.cal--red .eng-ic{color:var(--red)}.cal b{display:block;margin-bottom:3px}.brief{border:1px solid var(--line);border-left:4px solid var(--lime);border-radius:0 12px 12px 0;background:var(--card);padding:17px 19px;margin:1.4em 0;box-shadow:var(--sh-sm)}.brief .lab,.method .lab{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--lime-d);font-weight:600}.checklist{list-style:none;margin:1em 0;padding:0}.checklist li{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.95rem}.checklist .eng-ic{color:var(--amber);flex:none;margin-top:3px}
/* 13 — METHODOLOGY / SEALS */
.method{display:flex;gap:18px;align-items:center;flex-wrap:wrap;max-width:1180px;margin:0 auto}.method-ic{width:52px;height:52px;border-radius:14px;background:var(--slate);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}.method-ic .eng-ic{width:25px;height:25px;color:var(--lime)}.method p{margin:.3em 0 0;color:#454b53;max-width:780px}.seals{display:flex;flex-wrap:wrap;gap:10px;margin:18px auto 0;max-width:1180px}.seal{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:9px 14px;font-size:.83rem;color:#454b53;font-weight:500}.seal .eng-ic{color:var(--lime-d)}
/* 14 — FAQ */
.faqs{margin:1em auto;display:grid;gap:10px;max-width:760px}.faq{border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden;box-shadow:var(--sh-sm)}.faq summary{cursor:pointer;padding:15px 18px;font-weight:600;list-style:none;position:relative;padding-right:46px;font-family:var(--disp)}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";position:absolute;right:18px;top:12px;font-family:var(--mono);font-size:1.4rem;color:var(--lime-d)}.faq[open] summary::after{content:"–"}.faq[open] summary{background:var(--paper)}.faq-a{padding:3px 18px 16px;font-size:.95rem;color:#454b53}
/* 15 — FOOTER / SECONDARY PAGE / AUTHOR */
.foot{background:var(--slate-d);color:#aeb8c2;padding:44px 0 28px;font-size:.89rem}.foot .wrap{display:grid;gap:22px}.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:flex-start}.foot a{color:#dfe5ea;text-decoration:none}.foot a:hover{text-decoration:underline}.foot-links{display:flex;flex-wrap:wrap;gap:10px 22px}.foot-rg{border-top:1px solid #313b45;padding-top:18px;color:#8a95a1;font-size:.82rem;line-height:1.6}.page-hero{background:var(--paper-2);border-bottom:1px solid var(--line);padding:42px 0}.page-hero h1{font-size:clamp(1.7rem,3vw,2.3rem);margin:0}.page-hero .crumb{font-size:.85rem;color:var(--muted);margin-bottom:10px}.page-hero .crumb a{color:var(--lime-d)}.page-body{padding:46px 0}.page-body h2{font-size:1.35rem;margin:1.7em 0 .35em}.by-link{color:var(--slate-d);text-decoration:none;border-bottom:1.5px solid var(--lime)}.by-link:hover b{color:var(--lime-d)}.hero-by a{display:inline-flex}.author-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.author-avatar{width:104px;height:104px;border-radius:50%;object-fit:cover;border:3px solid var(--lime);box-shadow:var(--sh-sm);flex:none}.author-role{margin:.3em 0 .1em;color:var(--lime-d);font-weight:600;font-family:var(--disp)}.author-cred{margin:0;color:var(--muted);font-size:.92rem}
/* Source defines this component but the inspected page has no active sticky CTA. */
.sticky{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--line);box-shadow:0 -3px 14px rgba(34,38,43,.12);padding:9px 14px;align-items:center;gap:12px}.sticky .eng-mono{font-size:.82rem;color:var(--slate-d);font-weight:600}.sticky .eng-btn{margin-left:auto;padding:10px 16px}
/* 16 — RESPONSIVE (source breakpoints; inclusive) */
@media(max-width:1000px){.lb-head{display:none}.lb-row{grid-template-columns:46px 1fr;grid-template-areas:"rank brand" "speed speed" "addr addr";gap:12px 14px}.lb-cta{justify-items:stretch}}
@media(max-width:640px){body{font-size:16px}.nav .wrap{flex-wrap:nowrap;gap:12px}.nav-links{display:none}.menu{display:block}.sec{padding:30px 0}.hero .wrap{padding:22px 22px 16px}.hero h1{font-size:1.5rem}.hero .lede{font-size:1rem}#leaderboard{padding-top:16px}.lb-row{grid-template-columns:40px 1fr;grid-template-areas:"rank brand" "speed speed" "addr addr";align-items:center;padding:14px 16px}.lb-bonus-v{font-size:1.05rem}.lb-cta .eng-btn{padding:14px 18px}.foot-top{flex-direction:column}.bc-row{grid-template-columns:100px 1fr 54px;font-size:.8rem}.eng-tag{font-size:.5rem;letter-spacing:.2em}}
