:root{--night:#181a45;--night-2:#23265c;--night-line:#ffffff24;--paper:#f3f4f9;--surface:#fff;--ink:#181a45;--muted:#5b5f82;--soft:#8a8eab;--line:#dfe1ec;--line-strong:#c6c9dc;--cobalt:#3346d3;--cobalt-dark:#2432a8;--cobalt-pale:#eceffd;--r1:#e2533b;--r2:#f0993a;--r3:#c3c1cf;--r4:#7f9cf5;--r5:#3346d3;--sans:"Avenir Next","Avenir","Segoe UI Variable Text","Segoe UI",system-ui,sans-serif;--display:"Avenir Next","Avenir","Segoe UI Variable Display","Segoe UI",system-ui,sans-serif;--ease:cubic-bezier(.2,.8,.2,1);--radius:14px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--cobalt);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--cobalt-dark)}:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px;border-radius:4px}[hidden]{display:none!important}h1,h2,h3,p,dl,dd,figure{margin:0}.container{width:min(100% - 64px,1240px);margin-inline:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.brand{color:inherit;font:700 19px/1 var(--display);letter-spacing:-.02em;align-items:center;gap:11px;text-decoration:none;display:inline-flex}.brand:hover{color:inherit}.brand-mark{align-items:flex-end;gap:2px;height:20px;display:inline-flex}.brand-mark i{border-radius:2px;width:4px;display:block}.brand-mark i:first-child{background:var(--r1);height:30%}.brand-mark i:nth-child(2){background:var(--r2);height:50%}.brand-mark i:nth-child(3){background:var(--r3);height:70%}.brand-mark i:nth-child(4){background:var(--r4);height:85%}.brand-mark i:nth-child(5){background:#9aa8ff;height:100%}.button{height:48px;transition:background-color .2s,border-color .2s,transform .2s var(--ease);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:0 22px;font-size:15px;font-weight:650;text-decoration:none;display:inline-flex}.button:active{transform:scale(.97)}.button-light{color:var(--night);background:#fff}.button-light:hover{color:var(--night);background:#dfe4ff}.button-ghost{color:#fff;border-color:#ffffff4d}.button-ghost:hover{color:#fff;border-color:#fff}.button-primary{background:var(--cobalt);color:#fff;border:0;width:100%}.button-primary:hover{background:var(--cobalt-dark)}.button-primary:disabled{opacity:.6;cursor:wait}.hero{background:var(--night);color:#fff;padding-bottom:88px;position:relative;overflow:hidden}.topbar{justify-content:space-between;align-items:center;gap:24px;min-height:84px;display:flex}.topbar-links{align-items:center;gap:30px;display:flex}.topbar-links a{color:#ffffffc7;font-size:14px;font-weight:600;text-decoration:none}.topbar-links a:hover{color:#fff}.topbar-links .topbar-cta{color:#fff;border:1px solid #ffffff4d;border-radius:999px;padding:8px 16px}.topbar-links .topbar-cta:hover{border-color:#fff}.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:end;gap:72px;padding-top:56px;display:grid}.hero h1{font:800 clamp(42px,5.6vw,76px)/.98 var(--display);letter-spacing:-.035em;text-wrap:balance;max-width:11ch}.hero-copy>p{color:#ffffffc7;max-width:44ch;margin-top:26px;font-size:19px;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.tally{background:var(--night-2);border:1px solid var(--night-line);border-radius:22px;padding:28px 28px 22px}.tally-bars{grid-template-columns:repeat(5,1fr);align-items:end;gap:14px;height:260px;display:grid}.tally-col{flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;height:100%;display:flex}.tally-count{color:#ffffffd9;font-size:14px;font-weight:650}.tally-bar{width:100%;height:calc(var(--h,0) * 1%);transform-origin:bottom;min-height:6px;transition:height .9s var(--ease);border-radius:10px 10px 4px 4px}.tally-col[data-rating="1"] .tally-bar{background:var(--r1)}.tally-col[data-rating="2"] .tally-bar{background:var(--r2)}.tally-col[data-rating="3"] .tally-bar{background:var(--r3)}.tally-col[data-rating="4"] .tally-bar{background:var(--r4)}.tally-col[data-rating="5"] .tally-bar{background:#6f82ff}.tally-label{font:800 22px/1 var(--display);color:#fff;border-top:1px solid var(--night-line);text-align:center;width:100%;padding-top:6px}.tally.is-empty .tally-bar{opacity:.35}.tally figcaption{color:#ffffffbf;margin-top:18px;font-size:15px;line-height:1.5}.tally figcaption strong{color:#fff}.tally.is-ready .tally-bar{animation:rise 1s var(--ease) both}.tally.is-ready .tally-col:nth-child(2) .tally-bar{animation-delay:70ms}.tally.is-ready .tally-col:nth-child(3) .tally-bar{animation-delay:.14s}.tally.is-ready .tally-col:nth-child(4) .tally-bar{animation-delay:.21s}.tally.is-ready .tally-col:nth-child(5) .tally-bar{animation-delay:.28s}@keyframes rise{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.board{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:32px;margin-top:-40px;display:grid;position:relative}.results{background:var(--surface);border-radius:22px;min-width:0;padding:32px 32px 24px;box-shadow:0 1px 2px #181a450f,0 18px 40px -24px #181a4540}.results-head h2,.vote h2,.method h2{font:800 32px/1.1 var(--display);letter-spacing:-.025em}.results-head p{max-width:68ch;color:var(--muted);margin-top:10px;font-size:15px}.controls{gap:12px;margin:26px 0 18px;display:grid}.controls-row{flex-wrap:wrap;gap:12px;display:flex}fieldset{border:0;min-width:0;margin:0;padding:0}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips label,.toggle label{cursor:pointer;position:relative}.chips input,.toggle input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.chips span{border:1px solid var(--line-strong);height:38px;color:var(--muted);border-radius:999px;align-items:center;padding:0 16px;font-size:14px;font-weight:600;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.chips label:hover span{border-color:var(--ink);color:var(--ink)}.chips input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}.chips input:focus-visible+span,.toggle input:focus-visible+span{outline:2px solid var(--cobalt);outline-offset:2px}.toggle{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:4px;display:inline-flex}.toggle span{height:34px;color:var(--muted);border-radius:999px;align-items:center;padding:0 16px;font-size:14px;font-weight:600;transition:background-color .2s,color .2s,box-shadow .2s;display:inline-flex}.toggle input:checked+span{color:var(--ink);background:#fff;box-shadow:0 1px 3px #181a4529}.search{flex:220px}.search input{border:1px solid var(--line-strong);background:#fff;border-radius:999px;width:100%;height:44px;padding:0 18px;font-size:15px}.search input:hover{border-color:var(--soft)}.search input::placeholder{color:var(--soft)}.notice{background:var(--cobalt-pale);color:var(--cobalt-dark);border-radius:12px;margin-bottom:14px;padding:12px 16px;font-size:14px}.table-wrap{margin:0 -12px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:680px}th{color:var(--soft);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px;font-size:13px;font-weight:600}th.score-col,th.count-col{text-align:right}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:14px 12px}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background-color .2s}tbody tr:hover{background:#f8f9fd}tbody tr.selected{background:var(--cobalt-pale)}.num-col{width:44px}.num-cell{color:var(--soft);font-size:14px;font-weight:650}.name-cell strong{font-size:16px;font-weight:650;line-height:1.3;display:block}.name-cell .provider{color:var(--muted);margin-top:2px;font-size:13px;display:block}.name-cell .provider a{color:inherit}.name-cell .provider a:hover{color:var(--cobalt)}.mine{background:var(--cobalt-pale);color:var(--cobalt-dark);vertical-align:2px;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:12px;font-weight:650;display:inline-block}.score-cell{text-align:right;white-space:nowrap}.score-cell strong{font:800 22px/1 var(--display);letter-spacing:-.02em}.score-cell small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.score-cell .none{color:var(--soft);font-size:14px}.count-cell{text-align:right;color:var(--muted);font-size:15px}.dist-col{width:190px}.dist{background:var(--paper);border-radius:6px;gap:2px;height:12px;display:flex;overflow:hidden}.dist span{height:100%;transition:width .6s var(--ease);flex:none;display:block}.dist .r1{background:var(--r1)}.dist .r2{background:var(--r2)}.dist .r3{background:var(--r3)}.dist .r4{background:var(--r4)}.dist .r5{background:var(--r5)}.dist-empty{border:1px dashed var(--line-strong);border-radius:6px;height:12px}.action-cell{text-align:right;width:1%}.action-cell button{border:1px solid var(--line-strong);height:34px;color:var(--ink);background:#fff;border-radius:999px;padding:0 16px;font-size:14px;font-weight:650;transition:background-color .2s,border-color .2s,color .2s}.action-cell button:hover{background:var(--ink);border-color:var(--ink);color:#fff}.empty-search{text-align:center;color:var(--muted);padding:32px}.table-foot{color:var(--muted);margin-top:16px;font-size:13px}.vote{background:var(--surface);border-radius:22px;padding:28px;scroll-margin-top:20px;position:sticky;top:20px;box-shadow:0 1px 2px #181a450f,0 18px 40px -24px #181a4540}.vote h2{font-size:26px}.vote-intro{color:var(--muted);margin-top:6px;font-size:15px}.vote form{gap:18px;margin-top:22px;display:grid}.field{gap:6px;display:grid}.field span,.scale legend{font-size:14px;font-weight:650}.field select{border:1px solid var(--line-strong);background:#fff;border-radius:12px;width:100%;height:46px;padding:0 12px;font-size:15px}.field select:hover{border-color:var(--soft)}.scale legend{margin-bottom:8px;padding:0}.scale-options{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.scale-options label{cursor:pointer;--c:var(--r3);position:relative}.scale-options label[data-rating="1"]{--c:var(--r1)}.scale-options label[data-rating="2"]{--c:var(--r2)}.scale-options label[data-rating="3"]{--c:#a9a7bb}.scale-options label[data-rating="4"]{--c:var(--r4)}.scale-options label[data-rating="5"]{--c:var(--r5)}.scale-options input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.scale-options span{border:1px solid var(--line-strong);border-bottom:4px solid var(--c);height:54px;transition:background-color .2s,color .2s,transform .25s var(--ease);background:#fff;border-radius:12px;justify-content:center;align-items:center;display:flex}.scale-options b{font:800 20px/1 var(--display)}.scale-ends{color:var(--muted);justify-content:space-between;margin-top:8px;font-size:13px;display:flex}.scale-options label:hover span{border-color:var(--c)}.scale-options input:checked+span{background:var(--c);border-color:var(--c);color:#fff;transform:translateY(-3px)}.scale-options label[data-rating="3"] input:checked+span,.scale-options label[data-rating="2"] input:checked+span{color:var(--ink)}.scale-options input:focus-visible+span{outline:2px solid var(--cobalt);outline-offset:2px}.confirm{color:var(--muted);cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;display:flex}.turnstile:empty{display:none}.confirm input{width:17px;height:17px;accent-color:var(--cobalt);flex:none;margin:3px 0 0}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.vote-status{min-height:22px;color:var(--cobalt);margin-top:-8px;font-size:14px;font-weight:600}.vote-status.is-error{color:#b93a25}.vote-status.is-saved{animation:pop .5s var(--ease)}@keyframes pop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.my-rating{color:var(--muted);border-top:1px solid var(--line);padding-top:16px;font-size:14px}.model-detail{margin-top:18px}.model-detail h3{font:700 18px/1.25 var(--display)}.model-detail>p{color:var(--muted);margin-top:4px;font-size:14px}.detail-bars{gap:6px;margin:14px 0 12px;display:grid}.detail-row{color:var(--muted);grid-template-columns:14px 1fr 28px;align-items:center;gap:10px;font-size:13px;display:grid}.detail-row b{color:var(--ink)}.detail-row span:last-child{text-align:right}.detail-track{background:var(--paper);border-radius:5px;height:10px;overflow:hidden}.detail-track div{height:100%;transition:width .6s var(--ease);border-radius:5px}.detail-row:first-child .detail-track div{background:var(--r5)}.detail-row:nth-child(2) .detail-track div{background:var(--r4)}.detail-row:nth-child(3) .detail-track div{background:var(--r3)}.detail-row:nth-child(4) .detail-track div{background:var(--r2)}.detail-row:nth-child(5) .detail-track div{background:var(--r1)}.model-detail small{color:var(--muted);font-size:13px;display:block}.compare{--higher:var(--cobalt);--lower:var(--r1);--similar:#9a9db5;padding-top:112px;scroll-margin-top:20px}.compare-head h2{font:800 32px/1.1 var(--display);letter-spacing:-.025em}.compare-head p{max-width:64ch;color:var(--muted);margin-top:10px}.compare>.chips{margin:26px 0 18px}.compare-card{background:var(--surface);border-radius:22px;padding:28px 32px 32px;position:relative;box-shadow:0 1px 2px #181a450f,0 18px 40px -24px #181a4540}.compare-card .toggle{margin-bottom:24px}.verdict-line{font:800 clamp(24px,2.6vw,32px)/1.2 var(--display);letter-spacing:-.02em;text-wrap:balance;max-width:30ch}.verdict-sub{color:var(--muted);max-width:70ch;margin-top:8px}.verdict-sub strong{color:var(--ink)}.compare-chart{margin-top:28px}.compare-chart svg{width:100%;height:auto;display:block;overflow:visible}.slope-head{font:700 13px var(--sans);fill:var(--muted)}.slope-name{font:600 14px var(--sans);fill:var(--ink)}.slope-value{font:500 13px var(--sans);fill:var(--muted)}.slope-row{cursor:default;transition:opacity .2s}.slope-row line{stroke-linecap:round}.slope-row.higher line{stroke:var(--higher);stroke-width:3px}.slope-row.lower line{stroke:var(--lower);stroke-width:3px}.slope-row.similar line{stroke:var(--similar);stroke-width:1.5px}.slope-row.higher circle{fill:var(--higher)}.slope-row.lower circle{fill:var(--lower)}.slope-row.similar circle{fill:var(--similar)}.slope-row circle{stroke:#fff;stroke-width:2px}.slope-row:focus{outline:none}.slope-row:focus-visible .slope-name{text-decoration:underline}svg:hover .slope-row:not(:hover),svg:focus-within .slope-row:not(:focus){opacity:.25}.slope-hit{fill:#0000}.legend{color:var(--muted);flex-wrap:wrap;gap:8px 22px;margin-top:20px;font-size:14px;display:flex}.legend span{align-items:center;gap:8px;display:inline-flex}.legend i{background:var(--c);border-radius:2px;width:22px;height:3px;display:inline-block}.chart-tooltip{z-index:2;pointer-events:none;background:var(--night);color:#fff;border-radius:12px;max-width:260px;padding:10px 14px;font-size:13px;line-height:1.5;position:absolute;box-shadow:0 12px 30px -12px #181a4580}.chart-tooltip strong{font-size:14px;display:block}.progress-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.progress-list li{border-bottom:1px solid var(--line);grid-template-columns:28px minmax(0,1.3fr) 90px minmax(120px,1fr) auto;align-items:center;gap:16px;padding:12px 0;display:grid}.progress-list li:last-child{border-bottom:0}.progress-list .pos{color:var(--soft);font-size:14px;font-weight:650}.progress-list .who strong{font-weight:650;display:block}.progress-list .who small{color:var(--muted);font-size:13px;display:block}.progress-list .bench{font:800 20px/1 var(--display);text-align:right}.progress-list .bench small{font:500 12px var(--sans);color:var(--muted);margin-top:4px;display:block}.progress-track{background:var(--paper);border-radius:4px;height:8px;overflow:hidden}.progress-track div{background:var(--cobalt);height:100%;transition:width .6s var(--ease);border-radius:4px}.progress-meta{color:var(--muted);margin-top:6px;font-size:12px}.progress-list button{border:1px solid var(--line-strong);background:#fff;border-radius:999px;height:34px;padding:0 16px;font-size:14px;font-weight:650;transition:background-color .2s,border-color .2s,color .2s}.progress-list button:hover{background:var(--ink);border-color:var(--ink);color:#fff}.progress-caption{color:var(--muted);margin-bottom:6px;font-size:13px}.compare-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px;display:grid}.compare-panel{background:var(--surface);border-radius:18px;padding:24px 26px}.compare-panel h3{font:700 18px/1.3 var(--display);margin-bottom:8px}.compare-panel p{color:var(--muted);font-size:15px}.compare-panel p+p{margin-top:8px}.rho-scale{height:40px;margin:22px 0 6px;position:relative}.rho-scale .track{background:linear-gradient(90deg,#fbe1dc,var(--paper) 50%,var(--cobalt-pale));border-radius:4px;height:8px;position:absolute;top:16px;left:0;right:0}.rho-scale .band{background:#3346d340;border-radius:8px;height:16px;position:absolute;top:12px}.rho-scale .point{background:var(--cobalt);border-radius:2px;width:4px;height:24px;margin-left:-2px;position:absolute;top:8px}.rho-scale .zero{background:var(--line-strong);width:1px;height:28px;position:absolute;top:6px;left:50%}.rho-ticks{color:var(--soft);justify-content:space-between;font-size:12px;display:flex}.source-list{gap:14px;margin:10px 0 0;padding:0;list-style:none;display:grid}.source-list li{grid-template-columns:auto 1fr;align-items:baseline;gap:4px 12px;display:grid}.source-list b{font-weight:650}.source-list p{grid-column:2;font-size:14px}.badge{white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:650;display:inline-block}.badge.supported{background:var(--cobalt-pale);color:var(--cobalt-dark)}.badge.planned{background:var(--paper);color:var(--muted)}.badge.excluded{color:#a83a27;background:#fdecea}.compare-details{background:var(--surface);border-radius:18px;margin-top:24px;padding:18px 26px}.compare-details summary{cursor:pointer;font-size:16px;font-weight:700}.compare-details[open] summary{margin-bottom:12px}.compare-details .table-wrap{margin:0}.compare-details td small{color:var(--muted);font-size:12px;display:block}.compare-details td.num{text-align:right;white-space:nowrap}.compare-details th.num{text-align:right}.compare-details td.none{color:var(--soft);text-align:right}.method{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:64px;padding:104px 0;scroll-margin-top:20px;display:grid}.method-lead p{color:var(--muted);max-width:34ch;margin-top:14px}.method-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 40px;display:grid}.method-list dt{margin-bottom:6px;font-size:17px;font-weight:700}.method-list dd{color:var(--muted);font-size:15px;line-height:1.65}.footer{background:var(--night);color:#ffffffbf;font-size:14px}.footer-inner{flex-wrap:wrap;align-items:center;gap:24px;min-height:96px;display:flex}.footer .brand{color:#fff}.footer p{flex:1}.footer a:not(.brand){color:#fff}@media (max-width:1080px){.board{grid-template-columns:1fr}.vote{max-width:640px;position:static}.hero-grid{gap:48px}}@media (max-width:860px){.compare-grid{grid-template-columns:1fr}.progress-list li{grid-template-columns:24px minmax(0,1fr) auto;gap:6px 12px}.progress-list .progress{grid-area:2/2}.progress-list .act{grid-area:2/3}.hero-grid{grid-template-columns:1fr;padding-top:32px}.tally-bars{height:180px}.method{grid-template-columns:1fr;gap:32px;padding:80px 0}}@media (max-width:640px){.container{width:min(100% - 32px,1240px)}.topbar-links a:not(.topbar-cta){display:none}.hero{padding-bottom:72px}.hero-copy>p{font-size:17px}.tally{padding:20px 18px 16px}.tally-bars{gap:8px}.results{border-radius:18px;padding:24px 16px 16px}.results-head h2,.vote h2,.method h2{font-size:28px}.vote{border-radius:18px;padding:22px 18px}.chips{scrollbar-width:none;flex-wrap:nowrap;margin:0 -16px;padding:2px 16px;overflow-x:auto}.chips span{white-space:nowrap}.toggle{width:100%}.toggle label{flex:1}.toggle span{justify-content:center;width:100%}.table-wrap{margin:0 -4px}table{min-width:0}.dist-col,.dist-cell,.count-col,.count-cell{display:none}td,th{padding-inline:6px}.num-col{width:30px}.name-cell strong{font-size:15px}.mine{width:max-content;margin:4px 0 0;display:block}.method-list{grid-template-columns:1fr}.compare{padding-top:80px}.compare-card{border-radius:18px;padding:22px 16px 24px}.compare-head h2{font-size:28px}.compare-card .toggle{width:100%;overflow-x:auto}.compare-card .toggle span{white-space:nowrap;padding:0 12px}.compare-panel,.compare-details{padding:20px 18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
