@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Hanken+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--ink: #1c1512;--ink-soft: #574e48;--muted: #8b817a;--paper: #f6f2ea;--paper-2: #efe8dc;--card: #ffffff;--line: #e4dcce;--line-soft: #efe8db;--brand: #fc372d;--brand-ink: #cf271e;--brand-tint: #fdece9;--gold: #d8a23a;--font-display: "Space Grotesk", sans-serif;--font-body: "Hanken Grotesk", sans-serif;--font-mono: "JetBrains Mono", monospace;--container: 1200px;--wide: 1340px;--pad-x: clamp(20px, 5vw, 72px);--r-sm: 10px;--r-md: 16px;--r-lg: 24px;--r-xl: 32px;--shadow-sm: 0 1px 2px rgba(28,21,18,.04), 0 2px 8px rgba(28,21,18,.04);--shadow-md: 0 4px 14px rgba(28,21,18,.06), 0 12px 40px rgba(28,21,18,.07)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:16px;line-height:1.55;color:var(--ink);background-color:var(--paper);letter-spacing:-.005em}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}ul{list-style:none}button{font-family:inherit;cursor:pointer}h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--ink);font-weight:600;letter-spacing:-.03em;line-height:1.04}.container{width:100%;max-width:var(--container);margin:0 auto;padding-inline:var(--pad-x)}.container-wide{max-width:var(--wide)}.mono{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--brand)}.eyebrow:before{content:"";width:7px;height:7px;background:var(--brand);border-radius:2px;transform:rotate(45deg)}.eyebrow.ink{color:var(--ink-soft)}.eyebrow.ink:before{background:var(--ink)}.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:100px;font-family:var(--font-body);font-size:15px;font-weight:600;letter-spacing:-.01em;border:1px solid transparent;transition:transform .15s ease,background .2s ease,color .2s ease,border-color .2s ease;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn-primary:hover{background:var(--brand-ink);border-color:var(--brand-ink)}.btn-ink{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-ink:hover{background:#000}.btn-outline{background:transparent;color:var(--ink);border-color:var(--line)}.btn-outline:hover{border-color:var(--ink)}.btn-lg{padding:17px 30px;font-size:16px}.btn-sm{padding:9px 16px;font-size:13px}.arrow{transition:transform .2s ease}.btn:hover .arrow{transform:translate(3px)}.nav{position:sticky;top:0;z-index:200;background:color-mix(in srgb,var(--paper) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:32px}.brand{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:600;font-size:21px;letter-spacing:-.04em;color:var(--ink)}.brand-mark{width:22px;height:22px;flex-shrink:0}.brand-mark path{stroke:var(--brand)}.brand sup{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--brand);letter-spacing:0;top:-.7em}.nav-links{display:flex;align-items:center;gap:30px}.nav-link{font-size:14.5px;font-weight:500;color:var(--ink-soft);transition:color .15s}.nav-link:hover,.nav-link.active{color:var(--ink)}.nav-right{display:flex;align-items:center;gap:14px}.nav-search{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:100px;background:var(--card);color:var(--muted);font-size:13px;font-family:var(--font-mono);transition:border-color .15s}.nav-search:hover{border-color:var(--ink)}.nav-search kbd{font-family:var(--font-mono);font-size:11px;background:var(--paper-2);border-radius:5px;padding:1px 6px;color:var(--ink-soft)}.score{display:inline-flex;flex-direction:column;gap:7px}.score-head{display:flex;align-items:baseline;gap:7px}.score-num{font-family:var(--font-display);font-weight:600;font-size:30px;letter-spacing:-.04em;line-height:1;color:var(--ink)}.score-den{font-family:var(--font-mono);font-size:12px;color:var(--muted)}.score-bar{width:100%;height:6px;border-radius:100px;background:var(--paper-2);overflow:hidden}.score-fill{height:100%;border-radius:100px;background:var(--brand)}.tier{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:100px;border:1px solid var(--line);color:var(--ink-soft);background:var(--card);white-space:nowrap}.tier:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.tier.essential{color:var(--brand-ink);border-color:color-mix(in srgb,var(--brand) 35%,var(--line));background:var(--brand-tint)}.tier.strong{color:var(--ink)}.tier.situational{color:var(--muted)}.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px;font-weight:500;padding:6px 12px;border-radius:100px;background:var(--card);border:1px solid var(--line);color:var(--ink-soft);transition:border-color .15s,color .15s;white-space:nowrap}a.chip:hover,button.chip:hover{border-color:var(--ink);color:var(--ink)}.chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.section{padding:96px 0}.section-tight{padding:64px 0}.bg-paper{background:var(--paper)}.bg-paper2{background:var(--paper-2)}.bg-card{background:var(--card)}.bg-ink{background:var(--ink);color:var(--paper)}.bg-ink h1,.bg-ink h2,.bg-ink h3,.bg-ink h4{color:var(--paper)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:44px;flex-wrap:wrap}.section-head h2{font-size:clamp(30px,4vw,44px)}.section-head .eyebrow{margin-bottom:18px}.section-head-aside{max-width:380px;color:var(--ink-soft);font-size:16px}.link-arrow{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:15px;color:var(--brand)}.link-arrow .arrow{transition:transform .2s}.link-arrow:hover .arrow{transform:translate(4px)}.tool-rows{border-top:1px solid var(--line)}.tool-row{display:grid;grid-template-columns:46px 56px 1fr 200px 150px 40px;align-items:center;gap:24px;padding:22px 16px;border-bottom:1px solid var(--line);transition:background .15s}.tool-row:hover{background:var(--card)}.tr-rank{font-family:var(--font-mono);font-size:14px;color:var(--muted)}.tr-logo{width:44px;height:44px;border-radius:11px;background:var(--card);border:1px solid var(--line);padding:8px;-o-object-fit:contain;object-fit:contain}.tr-main{min-width:0}.tr-name{font-family:var(--font-display);font-weight:600;font-size:19px;letter-spacing:-.03em}.tr-desc{color:var(--ink-soft);font-size:14px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr-tags{display:flex;gap:6px;flex-wrap:wrap}.tr-tag{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.tr-score{display:flex;flex-direction:column;gap:6px}.tr-score .score-bar{width:130px}.tr-score-top{display:flex;align-items:baseline;gap:6px}.tr-score-num{font-family:var(--font-display);font-weight:600;font-size:20px;letter-spacing:-.03em}.tr-arrow{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-soft);transition:all .15s}.tool-row:hover .tr-arrow{background:var(--brand);border-color:var(--brand);color:#fff}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}a.card:hover,.card.hoverable:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--line)}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.cat-card{display:flex;flex-direction:column;gap:14px}.cat-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--brand-tint);color:var(--brand-ink);font-family:var(--font-mono);font-weight:600;font-size:15px}.cat-card h4{font-size:20px}.cat-card p{color:var(--ink-soft);font-size:14px}.cat-meta{margin-top:auto;padding-top:14px;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:12px;color:var(--muted);border-top:1px solid var(--line-soft)}.collection{display:grid;grid-template-columns:1fr;gap:0;overflow:hidden;padding:0}.collection-top{padding:26px 26px 20px}.collection-logos{display:flex;padding:0 26px 24px;gap:0}.collection-logos img{width:38px;height:38px;border-radius:10px;background:var(--card);border:1px solid var(--line);padding:6px;margin-left:-8px;box-shadow:var(--shadow-sm)}.collection-logos img:first-child{margin-left:0}.collection h4{font-size:22px;margin-bottom:8px}.collection p{color:var(--ink-soft);font-size:14.5px}.collection-tag{margin-bottom:14px}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--card)}.stat{padding:30px 28px;border-right:1px solid var(--line)}.stat:last-child{border-right:none}.stat-val{font-family:var(--font-display);font-weight:600;font-size:40px;letter-spacing:-.04em;line-height:1}.stat-val .unit{color:var(--brand)}.stat-label{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:10px}footer{background:var(--ink);color:var(--paper);padding:80px 0 32px}.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr 1fr;gap:48px;margin-bottom:56px}.footer-brand{max-width:300px}.footer .brand{color:var(--paper);margin-bottom:18px}.footer-tagline{color:#b3aaa2;font-size:14.5px;line-height:1.6}.footer-col h5{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#8b817a;margin-bottom:18px}.footer-col ul{display:flex;flex-direction:column;gap:11px}.footer-col a{color:#d8d0c7;font-size:14.5px;transition:color .15s}.footer-col a:hover{color:#fff}.footer-bottom{padding-top:28px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--font-mono);font-size:12px;color:#8b817a}.field{display:flex;flex-direction:column;gap:8px}.field label{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.field input,.field textarea,.field select{font-family:var(--font-body);font-size:15px;color:var(--ink);padding:13px 16px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);transition:border-color .15s,box-shadow .15s;width:100%}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.field textarea{resize:vertical;min-height:120px}.divider{height:1px;background:var(--line);border:none}.pill-num{font-family:var(--font-mono);color:var(--brand);font-size:13px;font-weight:600}.hl{color:var(--brand)}.text-mono{font-family:var(--font-mono)}@media (max-width: 1000px){.footer-grid{grid-template-columns:1fr 1fr 1fr}.footer-brand{grid-column:1 / -1}.grid-4{grid-template-columns:repeat(2,1fr)}.tool-row{grid-template-columns:36px 48px 1fr auto 36px}.tool-row .tr-score-bar-wrap{display:none}}@media (max-width: 760px){.section{padding:64px 0}.nav-links{display:none}.grid-2,.grid-3{grid-template-columns:1fr}.stat-strip{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:none}.stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid var(--line)}.tool-row{grid-template-columns:30px 44px 1fr auto;gap:14px}.tr-desc,.tr-tags,.tool-row .tr-arrow,.tr-score .score-bar{display:none}}.agegate{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:color-mix(in srgb,var(--ink) 78%,transparent);backdrop-filter:blur(6px);padding:24px}.agegate[hidden]{display:none}.agegate-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);max-width:420px;padding:36px;text-align:center}.agegate-card h2{font-size:28px;margin-bottom:12px}.agegate-card p{color:var(--ink-soft);font-size:15px;margin-bottom:24px}.agegate-actions{display:flex;gap:12px;justify-content:center}.disclaimer{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);background:var(--paper-2);border-radius:var(--r-md);padding:16px 18px;font-size:13.5px;color:var(--ink-soft);margin:24px 0}.disclaimer .mono{color:var(--muted);flex-shrink:0}.sec-h{font-family:var(--font-display);color:var(--ink);font-weight:600;font-size:clamp(23px,2.6vw,29px);letter-spacing:-.03em;line-height:1.15;margin:48px 0 14px}.sec-h:first-child{margin-top:0}p.lead{font-size:18.5px;line-height:1.55;color:var(--ink);font-weight:500;margin:0 0 18px;max-width:70ch}.md{color:var(--ink-soft);font-size:16.5px;line-height:1.75;max-width:70ch}.md p{margin:0 0 16px}.md p:last-child{margin-bottom:0}.md h3{font-family:var(--font-display);color:var(--ink);font-weight:600;font-size:20px;letter-spacing:-.02em;line-height:1.2;margin:28px 0 10px}.md ul,.md ol{margin:0 0 18px;padding-left:22px}.md ul{list-style:disc}.md ol{list-style:decimal}.md li{margin-bottom:8px}.md li::marker{color:var(--muted)}.md a{color:var(--brand-ink);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.md a:hover{color:var(--brand)}.md strong{color:var(--ink);font-weight:600}.md em{font-style:italic}.md blockquote{border-left:3px solid var(--brand);padding:2px 0 2px 18px;margin:20px 0;color:var(--ink);font-size:18px}.md table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px}.md th,.md td{border:1px solid var(--line);padding:10px 12px;text-align:left}.md th{background:var(--paper-2);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}p.lead a{color:var(--brand-ink);text-decoration:underline;text-underline-offset:2px}p.lead a:hover{color:var(--brand)}.md h2{font-family:var(--font-display);color:var(--ink);font-weight:600;font-size:clamp(23px,2.6vw,30px);letter-spacing:-.03em;line-height:1.15;margin:44px 0 14px}.md h2:first-child{margin-top:0}.art-grid{display:grid;grid-template-columns:210px minmax(0,1fr) 320px;grid-template-areas:"toc body aside";gap:56px;align-items:start}.art-body{min-width:0;max-width:760px}.art-toc{grid-area:toc;position:sticky;top:96px}.art-aside{grid-area:aside;position:sticky;top:96px;display:flex;flex-direction:column;gap:24px}.sec-h[id],.md h2[id]{scroll-margin-top:96px}.toc-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:14px}.toc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--line)}.toc-list a{display:block;padding:6px 0 6px 16px;margin-left:-1px;border-left:2px solid transparent;font-size:13.5px;line-height:1.35;color:var(--ink-soft);transition:color .15s,border-color .15s}.toc-list a:hover{color:var(--ink)}.toc-list a.active{color:var(--brand);border-left-color:var(--brand);font-weight:600}.kt-card{border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--r-lg);background:var(--card);padding:30px 32px;margin:8px 0 36px;box-shadow:var(--shadow-sm)}.kt-card .kt-title{font-family:var(--font-display);font-weight:600;font-size:25px;letter-spacing:-.03em;color:var(--ink);margin:0 0 18px}.kt-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.kt-card li{position:relative;padding-left:26px;font-size:16px;line-height:1.5;color:var(--ink-soft)}.kt-card li:before{content:"◆";position:absolute;left:0;top:1px;color:var(--brand);font-size:12px}.kt-card li strong{color:var(--ink);font-weight:600}.kt-card li a{color:var(--brand-ink);text-decoration:underline;text-underline-offset:2px}.nl-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);padding:26px;box-shadow:var(--shadow-sm)}.nl-card .nl-eyebrow{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--brand);margin-bottom:12px;display:flex;align-items:center;gap:7px}.nl-card h3{font-family:var(--font-display);font-weight:600;font-size:21px;letter-spacing:-.025em;line-height:1.15;color:var(--ink);margin:0 0 8px}.nl-card p{font-size:14px;line-height:1.5;color:var(--ink-soft);margin:0 0 16px}.nl-card input{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);font-family:var(--font-sans);font-size:14px;color:var(--ink);margin-bottom:10px}.nl-card input:focus{outline:none;border-color:var(--brand)}.nl-card input::-moz-placeholder{color:var(--muted)}.nl-card input::placeholder{color:var(--muted)}.nl-card button{width:100%;padding:12px 14px;border:1px solid var(--brand);border-radius:var(--r-md);background:var(--brand);color:#fff;font-family:var(--font-sans);font-weight:600;font-size:14.5px;cursor:pointer;transition:background .15s,border-color .15s}.nl-card button:hover{background:var(--brand-ink);border-color:var(--brand-ink)}.nl-fine{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:12px 0 0!important}.chart-fig{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);padding:24px 26px;margin:24px 0 28px;box-shadow:var(--shadow-sm)}.chart-fig .cf-cap{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:16px}.chart-fig .cf-src{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-top:14px}.chart-fig .cf-src a{color:var(--muted);text-decoration:underline}@media (max-width: 1080px){.art-grid{grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"body aside";gap:44px}.art-toc{display:none}}@media (max-width: 760px){.art-grid{grid-template-columns:1fr;grid-template-areas:"body" "aside"}.art-aside{position:static}}
