:root{--bg:#0b0d0c;--bg-elev:#101413;--panel:#121615;--panel-2:#171c1a;--line:#232927;--line-strong:#313936;--text:#f2f5f3;--text-2:#b3bdb8;--text-3:#7f8a85;--accent:#35d98b;--accent-ink:#06231a;--accent-soft:#35d98b1f;--accent-line:#35d98b66;--warn:#d9b25c;--t-1:12px;--t-2:14px;--t-3:16px;--t-4:18px;--t-5:20px;--t-6:24px;--t-7:30px;--t-8:clamp(32px, 4.2vw, 46px);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:40px;--s-9:48px;--s-10:64px;--s-11:80px;--r-1:4px;--r-2:10px;--nav-w:248px;--container:1160px;--mono:"JetBrains Mono", "SFMono-Regular", "Cascadia Mono", Consolas, "Liberation Mono", monospace;--sans:"Inter", "Segoe UI", system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:var(--t-3);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.65}#root{min-height:100vh}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.25}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}img,svg,canvas{max-width:100%;display:block}table{border-collapse:collapse;width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-1)}::selection{background:var(--accent);color:var(--accent-ink)}.skip-link{z-index:200;background:var(--accent);color:var(--accent-ink);border-radius:var(--r-1);font-size:var(--t-2);padding:10px 16px;font-weight:600;position:fixed;top:-100px;left:12px}.skip-link:focus{top:12px}.kicker{align-items:center;gap:var(--s-2);font-family:var(--mono);font-size:var(--t-1);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:inline-flex}.kicker:before{content:"";background:var(--accent);width:18px;height:1px}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.muted{color:var(--text-2)}.dim{color:var(--text-3)}.small{font-size:var(--t-2)}.tiny{font-size:var(--t-1)}.accent{color:var(--accent)}.lead{font-size:var(--t-4);color:var(--text-2);max-width:62ch;line-height:1.7}.stack{gap:var(--s-4);flex-direction:column;display:flex}.row{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.shell{grid-template-columns:var(--nav-w) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--bg-elev);height:100vh;padding:var(--s-6) var(--s-5) var(--s-5);z-index:40;flex-direction:column;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--s-3);padding:0 var(--s-2) var(--s-6);border-bottom:1px solid var(--line);display:flex}.brand-mark{border:1px solid var(--accent-line);border-radius:var(--r-1);background:var(--accent-soft);width:30px;height:30px;color:var(--accent);flex:none;place-items:center;display:grid}.brand-name{font-size:var(--t-2);letter-spacing:.01em;font-weight:600;display:block}.brand-sub{font-family:var(--mono);color:var(--text-3);letter-spacing:.08em;font-size:11px;display:block}.nav{padding-top:var(--s-5);flex-direction:column;flex:1;gap:2px;display:flex}.nav-label{font-family:var(--mono);letter-spacing:.16em;color:var(--text-3);padding:0 var(--s-2) var(--s-3);font-size:11px}.nav-link{align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-2);border-radius:var(--r-1);color:var(--text-2);font-size:var(--t-2);border-left:2px solid #0000;grid-template-columns:24px 1fr;transition:background .15s,color .15s;display:grid}.nav-link:hover{background:var(--panel);color:var(--text)}.nav-link[aria-current=page]{color:var(--text);background:var(--panel);border-left-color:var(--accent)}.nav-link .idx{font-family:var(--mono);color:var(--text-3);font-size:11px}.nav-link[aria-current=page] .idx{color:var(--accent)}.sidebar-foot{border-top:1px solid var(--line);padding-top:var(--s-4);gap:var(--s-2);color:var(--text-3);font-size:11px;font-family:var(--mono);flex-direction:column;line-height:1.6;display:flex}.main{min-width:0;padding:var(--s-8) var(--s-9) var(--s-11)}.container{max-width:var(--container);margin:0 auto}.topbar,.scrim{display:none}.page-head{gap:var(--s-4);padding-bottom:var(--s-7);margin-bottom:var(--s-7);border-bottom:1px solid var(--line);flex-direction:column;display:flex}.page-head h1{font-size:var(--t-8);letter-spacing:-.025em}.page-head .lead{font-size:var(--t-3);color:var(--text-2)}.breadcrumb{align-items:center;gap:var(--s-2);font-family:var(--mono);font-size:var(--t-1);color:var(--text-3);letter-spacing:.04em;display:flex}.breadcrumb a:hover{color:var(--accent)}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-5);border-radius:var(--r-1);border:1px solid var(--line-strong);background:var(--panel);color:var(--text);font-size:var(--t-2);font-weight:500;transition:border-color .15s,background .15s,transform .15s;display:inline-flex}.btn:hover{border-color:var(--accent-line);background:var(--panel-2)}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn--primary:hover{background:#4ae59a;border-color:#4ae59a}.btn--ghost{background:0 0}.btn--sm{min-height:36px;padding:0 var(--s-3);font-size:var(--t-1)}.tag{border:1px solid var(--line-strong);border-radius:var(--r-1);font-family:var(--mono);letter-spacing:.04em;color:var(--text-2);white-space:nowrap;align-items:center;gap:6px;padding:3px 8px;font-size:11px;display:inline-flex}.tag--accent{border-color:var(--accent-line);color:var(--accent);background:var(--accent-soft)}.tag--warn{color:var(--warn);border-color:#d9b25c59}.missing{color:var(--text-3);font-size:var(--t-1);font-family:var(--mono);border-bottom:1px dashed var(--line-strong);cursor:help;align-items:center;gap:6px;display:inline-flex}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-2);padding:var(--s-5)}.card--flush{padding:0;overflow:hidden}.card--link{text-align:left;gap:var(--s-3);flex-direction:column;transition:border-color .15s,background .15s,transform .15s;display:flex}.card--link:hover{border-color:var(--line-strong);background:var(--panel-2);transform:translateY(-2px)}.card--link:hover .card-arrow{color:var(--accent);transform:translate(3px)}.card-arrow{color:var(--text-3);margin-left:auto;transition:color .15s,transform .15s}.grid{gap:var(--s-4);display:grid}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{padding:var(--s-4) var(--s-5);border-left:2px solid var(--line-strong);background:linear-gradient(90deg,#ffffff05,#0000);flex-direction:column;gap:2px;display:flex}.stat--accent{border-left-color:var(--accent)}.stat dt{font-family:var(--mono);letter-spacing:.1em;color:var(--text-3);text-transform:uppercase;font-size:11px}.stat dd{font-family:var(--mono);font-size:var(--t-6);font-variant-numeric:tabular-nums;color:var(--text);margin:0}.stat dd small{font-size:var(--t-1);color:var(--text-3);margin-left:4px}.table-wrap{border:1px solid var(--line);border-radius:var(--r-2);background:var(--panel);overflow-x:auto}table.data{width:100%;min-width:640px;font-size:var(--t-2)}table.data th,table.data td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--line);padding:12px 16px}table.data th:first-child,table.data td:first-child{text-align:left;background:var(--panel);z-index:1;white-space:normal;min-width:160px;position:sticky;left:0}table.data thead th{font-family:var(--mono);letter-spacing:.08em;color:var(--text-3);text-transform:uppercase;background:var(--panel-2);border-bottom-color:var(--line-strong);font-size:11px;font-weight:500}table.data tbody tr:last-child td{border-bottom:0}table.data tbody tr:hover td{background:#ffffff05}table.data td .num{color:var(--text)}table.data .cell-bad{color:var(--text-3)}table.data .best{color:var(--accent)}.chart{border:1px solid var(--line);border-radius:var(--r-2);background:var(--panel);width:100%;padding:var(--s-3)}.chart-canvas{width:100%}.chart-fallback{color:var(--text-3);font-family:var(--mono);font-size:var(--t-1);place-items:center;min-height:240px;display:grid}.chart-caption{justify-content:space-between;gap:var(--s-4);padding:var(--s-2) var(--s-3) 0;color:var(--text-3);font-size:var(--t-1);flex-wrap:wrap;display:flex}.rank-list{flex-direction:column;display:flex}.rank-row{align-items:center;gap:var(--s-3);padding:13px var(--s-4);border-bottom:1px solid var(--line);text-align:left;grid-template-columns:150px minmax(0,1fr) 92px;transition:background .15s;display:grid}.rank-row:last-child{border-bottom:0}.rank-row:hover{background:var(--panel-2)}.rank-name{font-size:var(--t-2);align-items:baseline;gap:var(--s-2);display:flex}.rank-name em{font-family:var(--mono);color:var(--text-3);font-size:11px;font-style:normal}.rank-track{background:#1b211f;border-radius:2px;height:8px;display:block;overflow:hidden}.rank-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .5s cubic-bezier(.2,.8,.2,1);display:block}.rank-fill--muted{background:#3a4641}.rank-value{text-align:right;font-family:var(--mono);font-size:var(--t-2);color:var(--text)}.rank-value span{color:var(--text-3);white-space:nowrap;margin-left:4px;font-size:11px}.tabs{border:1px solid var(--line);border-radius:var(--r-1);background:var(--panel);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.tab{min-height:34px;padding:0 var(--s-3);font-size:var(--t-1);font-family:var(--mono);letter-spacing:.04em;color:var(--text-2);border-radius:2px;transition:background .15s,color .15s}.tab:hover{color:var(--text)}.tab[aria-selected=true],.tab[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);font-weight:600}.tab:disabled{color:var(--text-3);cursor:not-allowed;opacity:.5}.filters{gap:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.note{border-left:2px solid var(--accent-line);padding:var(--s-3) var(--s-5);background:var(--accent-soft);color:var(--text-2);font-size:var(--t-2);border-radius:0 var(--r-1) var(--r-1) 0}.note strong{color:var(--text)}.note--plain{border-left-color:var(--line-strong);background:var(--panel)}.spec-list{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.spec-list>div{justify-content:space-between;gap:var(--s-4);border-bottom:1px solid var(--line);font-size:var(--t-2);padding:11px 0;display:flex}.spec-list>div:nth-child(odd){padding-right:var(--s-6)}.spec-list>div:nth-child(2n){padding-left:var(--s-6);border-left:1px solid var(--line)}.spec-list dt{color:var(--text-3)}.spec-list dd{font-family:var(--mono);text-align:right;margin:0}.hero{gap:var(--s-9);padding:var(--s-4) 0 var(--s-9);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;display:grid}.hero-copy{gap:var(--s-5);flex-direction:column;display:flex}.hero h1{font-size:var(--t-8);letter-spacing:-.03em;line-height:1.12}.hero h1 em{color:var(--accent);font-style:normal}.hero-meta{gap:var(--s-2) var(--s-5);font-family:var(--mono);font-size:var(--t-1);color:var(--text-3);letter-spacing:.03em;flex-wrap:wrap;display:flex}.hero-actions{gap:var(--s-3);padding-top:var(--s-2);flex-wrap:wrap;display:flex}.stage{border:1px solid var(--line);border-radius:var(--r-2);background:radial-gradient(120% 90% at 50% 8%,#35d98b14,#0000 62%),linear-gradient(#141918 0%,#0d1110 100%);min-height:380px;position:relative;overflow:hidden}.stage:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70% at 50% 40%,#000 30%,#0000 100%);mask-image:radial-gradient(80% 70% at 50% 40%,#000 30%,#0000 100%)}.stage-inner{height:380px;position:relative}.stage-inner canvas{touch-action:pan-y;cursor:grab;width:100%!important;height:100%!important}.stage-inner canvas:active{cursor:grabbing}.stage-poster{padding:var(--s-6);place-items:center;display:grid;position:absolute;inset:0}.stage-poster svg{width:100%;height:auto;max-height:300px}.stage-hint{left:var(--s-4);bottom:var(--s-4);align-items:center;gap:var(--s-2);font-family:var(--mono);color:var(--text-3);letter-spacing:.04em;font-size:11px;display:flex;position:absolute}.stage-actions{right:var(--s-3);bottom:var(--s-3);gap:var(--s-2);display:flex;position:absolute}.stage-btn{border:1px solid var(--line-strong);border-radius:var(--r-1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-height:32px;color:var(--text-2);font-family:var(--mono);letter-spacing:.04em;background:#0b0d0cb8;padding:0 10px;font-size:11px;transition:color .15s,border-color .15s}.stage-btn:hover{color:var(--text);border-color:var(--accent-line)}.stage-btn[aria-pressed=true]{color:var(--accent);border-color:var(--accent-line)}.stage-btn:disabled{opacity:.45;cursor:not-allowed}.section{padding:var(--s-8) 0;border-top:1px solid var(--line)}.section-head{justify-content:space-between;align-items:flex-end;gap:var(--s-5);margin-bottom:var(--s-6);flex-wrap:wrap;display:flex}.section-head h2{font-size:var(--t-6);letter-spacing:-.02em}.section-head p{color:var(--text-3);font-size:var(--t-2);max-width:56ch;margin-top:var(--s-2)}.detail-hero{gap:var(--s-8);padding-bottom:var(--s-7);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;display:grid}.detail-hero h1{letter-spacing:-.03em;font-size:clamp(28px,4vw,40px)}.detail-hero .lead{font-size:var(--t-3)}.detail-side{border:1px solid var(--line);border-radius:var(--r-2);background:var(--panel);overflow:hidden}.detail-side .side-row{justify-content:space-between;gap:var(--s-4);padding:12px var(--s-5);border-bottom:1px solid var(--line);font-size:var(--t-2);display:flex}.detail-side .side-row:last-child{border-bottom:0}.detail-side .side-row span:first-child{color:var(--text-3)}.detail-side .side-row span:last-child{font-family:var(--mono);text-align:right}.block{padding:var(--s-7) 0;border-bottom:1px solid var(--line)}.block:last-child{border-bottom:0}.block-title{align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.block-title h2{font-size:var(--t-5)}.block-title .idx{font-family:var(--mono);font-size:var(--t-1);color:var(--accent);letter-spacing:.1em}.block-title p{color:var(--text-3);font-size:var(--t-2);flex-basis:100%}.pros{gap:var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pros-col{border:1px solid var(--line);border-radius:var(--r-2);padding:var(--s-5);background:var(--panel)}.pros-col h3{font-size:var(--t-2);align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);color:var(--text);display:flex}.pros-col ul{gap:var(--s-3);font-size:var(--t-2);color:var(--text-2);flex-direction:column;display:flex}.pros-col li{padding-left:var(--s-4);position:relative}.pros-col li:before{content:"";background:var(--text-3);width:6px;height:1px;position:absolute;top:9px;left:0}.pros-col--fit li:before{background:var(--accent)}.task-grid{gap:var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.task{border:1px solid var(--line);border-radius:var(--r-2);padding:var(--s-5);background:var(--panel);gap:var(--s-3);flex-direction:column;display:flex}.task-head{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.task-head h3{font-size:var(--t-3)}.task dl{gap:6px var(--s-3);font-size:var(--t-2);grid-template-columns:92px 1fr;margin:0;display:grid}.task dt{color:var(--text-3)}.task dd{color:var(--text-2);margin:0}.task .missing{border:0}.compare-groups{gap:var(--s-2);display:flex}.pick-list{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.pick{align-items:center;gap:var(--s-3);padding:10px var(--s-3);border:1px solid var(--line);border-radius:var(--r-1);background:var(--panel);text-align:left;min-height:52px;transition:border-color .15s,background .15s;display:flex}.pick:hover{border-color:var(--line-strong)}.pick[aria-pressed=true]{border-color:var(--accent-line);background:var(--accent-soft)}.pick[disabled]{opacity:.4;cursor:not-allowed}.pick .badge{border:1px solid var(--line-strong);width:22px;height:22px;font-family:var(--mono);color:var(--text-3);border-radius:50%;flex:none;place-items:center;font-size:11px;display:grid}.pick[aria-pressed=true] .badge{border-color:var(--accent);color:var(--accent)}.pick span{font-size:var(--t-2);line-height:1.35;display:block}.pick>span:first-child{white-space:nowrap;flex:none}.pick>span:last-child{min-width:0}.pick small{color:var(--text-3);font-family:var(--mono);font-size:11px}.compare-summary{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.compare-summary .card h3{font-size:var(--t-3);margin-bottom:var(--s-2)}.model-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.model-card{gap:var(--s-3);padding:var(--s-5);text-align:left;flex-direction:column;display:flex}.model-card .brand{justify-content:space-between;align-items:center;gap:var(--s-3);border:0;padding:0;display:flex}.model-card h3{font-size:var(--t-3);min-height:2.8em;line-height:1.4}.model-price{font-family:var(--mono);font-size:var(--t-5);color:var(--text)}.model-price small{color:var(--text-3);margin-left:4px;font-size:11px}.chip-group{margin-bottom:var(--s-8)}.chip-group-head{align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-4);padding-bottom:var(--s-3);border-bottom:1px solid var(--line);display:flex}.chip-group-head h2{font-size:var(--t-4)}.source-list{flex-direction:column;display:flex}.source{gap:var(--s-5);padding:var(--s-5) 0;border-bottom:1px solid var(--line);grid-template-columns:200px minmax(0,1fr);display:grid}.source:last-child{border-bottom:0}.source-name{font-size:var(--t-3);font-weight:600}.source-meta{font-family:var(--mono);color:var(--text-3);letter-spacing:.03em;margin-top:4px;font-size:11px;line-height:1.7}.source-body{font-size:var(--t-2);color:var(--text-2)}.source-body a{color:var(--accent);border-bottom:1px solid var(--accent-line);overflow-wrap:anywhere}.source-body a:hover{border-bottom-color:var(--accent)}.morph-veil{z-index:60;pointer-events:none;background:var(--panel);border:1px solid var(--accent-line);will-change:transform, border-radius, opacity;position:fixed;box-shadow:0 30px 90px #0009}.page-enter{animation:.32s cubic-bezier(.2,.8,.2,1) both page-in}@keyframes page-in{0%{transform:translateY(8px)}to{transform:none}}.fade-in{animation:.4s both fade-in}@keyframes fade-in{0%{opacity:.55}to{opacity:1}}.footer{border-top:1px solid var(--line);margin-top:var(--s-9);padding-top:var(--s-5);justify-content:space-between;gap:var(--s-5);color:var(--text-3);font-size:11px;font-family:var(--mono);flex-wrap:wrap;line-height:1.8;display:flex}@media (width<=1080px){.main{padding:var(--s-7) var(--s-6) var(--s-10)}.hero{gap:var(--s-7);grid-template-columns:1fr}.detail-hero{gap:var(--s-5);grid-template-columns:1fr}.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{width:min(86vw,320px);height:100dvh;transition:transform .26s cubic-bezier(.2,.8,.2,1);position:fixed;inset:0 auto 0 0;transform:translate(-102%);box-shadow:0 0 60px #0000008c}.sidebar[data-open=true]{transform:none}.topbar{justify-content:space-between;align-items:center;gap:var(--s-3);z-index:50;padding:10px var(--s-4);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#0b0d0ceb;display:flex;position:sticky;top:0}.topbar .brand{gap:var(--s-2);border:0;padding:0}.topbar .brand-mark{width:26px;height:26px}.menu-btn{border:1px solid var(--line-strong);border-radius:var(--r-1);min-height:40px;font-size:var(--t-1);font-family:var(--mono);letter-spacing:.06em;align-items:center;gap:8px;padding:0 10px;display:inline-flex}.scrim{z-index:39;opacity:0;pointer-events:none;background:#0000008c;transition:opacity .2s;display:block;position:fixed;inset:0}.scrim[data-open=true]{opacity:1;pointer-events:auto}.main{padding:var(--s-6) var(--s-4) var(--s-10)}.grid--2,.grid--3,.grid--4,.pros,.task-grid,.spec-list{grid-template-columns:1fr}.spec-list>div:nth-child(odd){padding-right:0}.spec-list>div:nth-child(2n){border-left:0;padding-left:0}.rank-row{gap:var(--s-2);padding:12px var(--s-3);grid-template-columns:96px minmax(0,1fr) 88px}.source{gap:var(--s-2);grid-template-columns:1fr}.stage-inner{height:300px}.section{padding:var(--s-7) 0}.page-head h1{font-size:clamp(28px,8vw,36px)}.tab{min-height:44px}.stage-btn{min-height:40px;padding:0 12px}}@media (width<=560px){.hero-actions .btn{flex:100%}.stat dd{font-size:var(--t-5)}.brand-sub{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
