:root{--bg:#dfe4f3;--field:#eef1f9;--surface:#ffffff;--ink:#111218;--muted:#5f6475;--link:#3d5fb0;--accent:#7b5ce6;--accent-strong:#6a4bd6;--glow:#c9bdf7;--line:#e2e6f0;--risk:#b42318;--risk-bg:#fef3f2;--up:#067647;--tint:#e6e3fb;--wash:#f5f3ff;--ticker-bg:#f0eefc;--row-hover:#f7f6fe;--skel:#e6e9f3;--rank:#847bc2;--overlay:rgba(61,52,140,0.9);--on-overlay:#ffffff;--ff-display:var(--font-display),"Inter Tight",system-ui,sans-serif;--ff-body:var(--font-body),"Inter",system-ui,sans-serif;--ff-mono:var(--font-mono),"IBM Plex Mono",ui-monospace,monospace;--fs-hero:clamp(36px,3.6vw,52px);--fs-h1:clamp(32px,3.2vw,46px);--fs-section:28px;--fs-h2-article:26px;--fs-h3-article:21px;--fs-list:20px;--fs-lede:20px;--fs-strip:18px;--fs-article:18px;--fs-body:16px;--fs-small:14px;--fs-meta:13px;--fs-label:11px;--fs-rank:40px;--fs-score:64px;--lh-display:1.08;--lh-heading:1.15;--lh-list:1.25;--lh-body:1.5;--lh-article:1.65;--measure:68ch;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--r-sm:8px;--r-thumb:10px;--r-md:16px;--r-lg:24px;--r-xl:32px;--r-pill:999px;--sh-card:0 1px 2px rgba(17,18,24,0.04),0 8px 24px -12px rgba(61,52,140,0.18);--sh-card-hover:0 1px 2px rgba(17,18,24,0.04),0 16px 32px -16px rgba(61,52,140,0.28);--sh-frame:0 0 0 6px rgba(201,189,247,0.35),0 30px 60px -30px rgba(61,52,140,0.25);--ring:0 0 0 4px rgba(123,92,230,0.18);--ease:cubic-bezier(0.2,0.8,0.2,1);--dur-fast:180ms;--dur-img:400ms;--dur-enter:320ms;--dur-orb:14s;--dur-shimmer:1.4s;--stagger-step:40ms;--stagger:0;--outer:24px;--frame-max:1360px;--frame-pad:40px;--gap:24px;--rail-w:320px;--frame-radius:32px}html:has(.site){background:var(--bg)}.site{min-height:100vh;padding:var(--outer);background:var(--bg);color:var(--ink);font-family:var(--ff-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}.site [hidden]{display:none!important}:where(.site) a{color:inherit}.site :focus-visible{outline:2px solid var(--accent);outline-offset:2px}:where(.site) h1,:where(.site) h2,:where(.site) h3,:where(.site) h4{font-family:var(--ff-display);font-weight:500;line-height:var(--lh-heading);margin:0}:where(.site) p{margin:0}:where(.site) img{max-width:100%;height:auto}.site .mono{font-family:var(--ff-mono);font-weight:500}.skip-link:not(:focus),.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:var(--s-4);left:var(--s-4);z-index:100;padding:var(--s-3) var(--s-4);border-radius:var(--r-pill);background:var(--ink);color:var(--surface)!important;text-decoration:none}.frame{position:relative;max-width:var(--frame-max);margin:0 auto;grid-template-columns:[frame-start] var(--frame-pad) [main-start] minmax(0,1fr) [main-end] var(--gap) [rail-start] var(--rail-w) [rail-end] var(--frame-pad) [frame-end];padding:var(--s-5) 0 var(--frame-pad);border-radius:var(--frame-radius);background:var(--field);border:1px solid rgba(255,255,255,.7);box-shadow:var(--sh-frame);overflow:clip}.frame,.page{display:grid;align-content:start}.page{grid-column:frame-start/frame-end;grid-row:2;grid-template-columns:subgrid;min-width:0}.masthead{grid-column:main;grid-row:1}.rail-search{grid-column:rail;grid-row:1;align-self:center}.main{grid-column:main;grid-row:1;min-width:0}.main-bottom{grid-row:2}.main-full{grid-column:main-start/rail-end}.rail{grid-column:rail;grid-row:1;align-self:stretch;min-width:0;padding:var(--s-5);border-radius:var(--r-lg);background:var(--surface)}.rail-home{grid-row:1/3}.rail-inner{position:-webkit-sticky;position:sticky;top:var(--s-5);max-height:calc(100vh - var(--s-7));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;margin:calc(var(--s-1) * -1);padding:var(--s-1)}.masthead{position:relative;z-index:10;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3);min-height:64px;padding-bottom:var(--s-2)}.logo-chip{display:inline-flex;align-items:center;gap:var(--s-2);height:44px;padding:0 var(--s-4) 0 var(--s-2);border-radius:var(--r-pill);background:var(--surface);font-family:var(--ff-display);font-weight:600;font-size:19px;letter-spacing:-.02em;text-decoration:none;box-shadow:var(--sh-card);transition:box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.logo-chip img{width:28px;height:28px;border-radius:var(--r-sm)}.logo-chip:hover{box-shadow:var(--sh-card-hover)}.logo-chip:active{transform:scale(.98)}.logo-chip:focus-visible{outline-offset:3px;border-radius:var(--r-pill)}.chips{display:flex;gap:var(--s-2);flex-wrap:nowrap;margin-left:var(--s-2)}.chip,.chips{align-items:center}.chip{position:relative;display:inline-flex;gap:6px;height:36px;padding:0 14px;border:0;border-radius:var(--r-pill);background:var(--surface);color:var(--ink);font:500 var(--fs-small) /1 var(--ff-body);white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.chip:hover{background:var(--wash)}.chip:active{transform:scale(.97)}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip-glyph{transition:transform var(--dur-fast) var(--ease)}.chip:hover .chip-glyph,.chip[aria-expanded=true] .chip-glyph{transform:rotate(90deg)}.masthead .chip[aria-current=page]:after,.masthead .chip[data-active]:after{content:"";position:absolute;left:50%;bottom:5px;width:6px;height:2px;margin-left:-3px;border-radius:var(--r-pill);background:var(--accent)}.chip-menu{position:relative}.cat-panel{position:absolute;top:calc(100% + var(--s-2));left:0;z-index:30;width:520px;padding:var(--s-3);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--sh-card-hover),0 0 0 1px var(--line);animation:panel-in var(--dur-fast) var(--ease)}.cat-list,.cat-panel ul,.crows,.footer ul,.mast-menu ul,.pc ul,.tiles{list-style:none;margin:0;padding:0}.cat-panel ul{display:grid;grid-template-columns:1fr 1fr;grid-gap:2px var(--s-2);gap:2px var(--s-2)}.cat-list a,.cat-panel a,.mast-menu a{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);min-height:40px;padding:var(--s-2) var(--s-3);border-radius:var(--r-thumb);font-size:var(--fs-small);text-decoration:none;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.cat-list a:hover,.cat-panel a:hover,.mast-menu a:hover{background:var(--row-hover);color:var(--accent-strong)}.cat-list a:active,.cat-panel a:active,.mast-menu a:active{background:var(--tint)}.cat-list a[aria-current=page],.cat-panel a[aria-current=page],.mast-menu a[aria-current=page]{color:var(--accent-strong);font-weight:600}.count{flex:none;min-width:28px;padding:2px var(--s-2);border-radius:var(--r-pill);background:var(--ticker-bg);color:var(--ink);font:500 12px/1.3 var(--ff-mono);text-align:center}.mast-tools{display:none;margin-left:auto;gap:var(--s-2)}.icon-btn{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:var(--r-pill);background:var(--surface);color:var(--ink);cursor:pointer;transition:background-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.icon-btn:hover{background:var(--wash)}.icon-btn:active{transform:scale(.95)}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mast-menu,.mast-search{flex-basis:100%}.mast-menu{display:none;padding:var(--s-3);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--sh-card);animation:panel-in var(--dur-fast) var(--ease)}.mast-menu-label{margin:var(--s-3) var(--s-3) var(--s-1);color:var(--muted);font-size:var(--fs-meta);font-weight:500}.mast-menu-pages{display:grid;grid-template-columns:1fr 1fr;grid-gap:2px var(--s-2);gap:2px var(--s-2);padding-bottom:var(--s-2)!important;border-bottom:1px solid var(--line)!important}.mast-menu-cats{display:grid;grid-gap:2px;gap:2px}.search-field{position:relative;display:flex;align-items:center;height:48px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.search-field:hover{border-color:var(--glow)}.search-field:focus-within{border-color:var(--accent);box-shadow:var(--ring)}.search-field input{flex:1 1;min-width:0;height:100%;padding:0 var(--s-4);border:0;background:transparent;color:var(--ink);font:400 var(--fs-body) /1 var(--ff-body);outline:none}.search-field input::placeholder{color:var(--muted)}.search-field button{display:grid;place-items:center;width:44px;height:44px;margin-right:2px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink);cursor:pointer;transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.search-field button:hover{color:var(--accent-strong);background:var(--wash)}.search-field button:active{background:var(--tint)}.search-field-lg{max-width:560px;margin-top:var(--s-5)}.kicker{display:block;color:var(--muted);font-size:var(--fs-meta);font-weight:500;line-height:1.3}.kicker-cat{color:var(--link);text-decoration:none}a.kicker-cat:hover{text-decoration:underline;text-underline-offset:3px}.label-bar{display:inline-block;padding:7px 10px 7px 14px;background:linear-gradient(var(--accent),var(--glow)) 0 /4px 100% no-repeat,var(--tint);color:var(--ink);font-size:var(--fs-label);font-weight:600;line-height:1;letter-spacing:.06em;text-transform:uppercase}.text-link{display:inline-flex;align-items:center;gap:var(--s-1);color:var(--link)!important;font-size:var(--fs-small);font-weight:500;text-decoration:none;white-space:nowrap;transition:color var(--dur-fast) var(--ease)}.text-link svg{transition:transform var(--dur-fast) var(--ease)}.text-link:hover{text-decoration:underline;text-underline-offset:3px}.text-link:hover svg{transform:translateX(3px)}.text-link:active{color:var(--accent-strong)!important}.btn-pill{gap:2px;padding:0;border:0;background:none;color:var(--ink);text-decoration:none;cursor:pointer;transition:transform var(--dur-fast) var(--ease)}.btn-pill,.btn-pill-label{display:inline-flex;align-items:center;border-radius:var(--r-pill)}.btn-pill-label{height:44px;padding:0 18px;background:var(--surface);font:500 var(--fs-small) /1 var(--ff-body);white-space:nowrap;box-shadow:var(--sh-card)}.btn-pill-arrow{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--surface);box-shadow:var(--sh-card);transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn-pill-arrow svg{transition:transform var(--dur-fast) var(--ease)}.btn-pill:hover .btn-pill-arrow{background:var(--ink);color:var(--surface)}.btn-pill:hover .btn-pill-arrow svg{transform:translateX(3px)}.btn-pill:active{transform:scale(.98)}.btn-pill:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn-solid{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:44px;padding:0 20px;border:0;border-radius:var(--r-pill);background:var(--accent);color:#ffffff!important;font:500 var(--fs-small) /1 var(--ff-body);white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.btn-solid:hover{background:var(--accent-strong);box-shadow:var(--sh-card-hover)}.btn-solid:active{transform:scale(.98)}.btn-solid:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn-solid:disabled{opacity:.7;cursor:progress}.btn-block{width:100%}.chip-mono{display:inline-block;padding:3px var(--s-2);border-radius:var(--r-pill);background:var(--ticker-bg);color:var(--ink);font:500 var(--fs-meta) /1.2 var(--ff-mono);white-space:nowrap}.rating{display:inline-flex;align-items:center;gap:var(--s-2)}.rating-pills{display:inline-flex;gap:3px}.rating-pill{position:relative;width:10px;height:6px;overflow:hidden;border-radius:var(--r-pill);background:var(--line)}.rating-pill span{position:absolute;inset:0 auto 0 0;background:var(--accent)}.rating-num{color:var(--ink);font:500 var(--fs-meta) /1.2 var(--ff-mono);white-space:nowrap}.rating-num small{color:var(--muted);font-size:var(--fs-label)}.rating-lg .rating-pill{width:18px;height:8px}.rating-lg .rating-num{font-size:15px}.pic{position:relative;display:block;overflow:hidden;border-radius:var(--r-md);background:var(--field)}.pic:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(17,18,24,.08);pointer-events:none}.pic-card,.pic-feature,.pic-hero,.pic-thumb{flex:none}.pic-card img,.pic-feature img,.pic-hero img,.pic-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform var(--dur-img) var(--ease)}.pic-card,.pic-thumb{aspect-ratio:2/1}.pic-thumb{width:80px;border-radius:var(--r-thumb)}.pic-hero{aspect-ratio:2/1;border-radius:var(--r-lg)}.pic-feature{aspect-ratio:2/1;border-radius:0}.pic-fallback{position:absolute;inset:0;display:grid;place-items:center;padding:var(--s-3);background:radial-gradient(circle at 72% 28%,rgba(123,92,230,.35),transparent 58%),radial-gradient(circle at 20% 85%,rgba(201,189,247,.75),transparent 55%),var(--field);color:var(--ink);font:500 var(--fs-small) /1.2 var(--ff-display);text-align:center}.pic-thumb .pic-fallback span{display:none}.hero{display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);align-items:center;grid-gap:var(--s-6);gap:var(--s-6);min-height:460px;padding:var(--s-8) 0}.hero-text{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-4)}.hero h1{max-width:560px;font-size:var(--fs-hero);line-height:var(--lh-display);letter-spacing:-.025em;margin-top:var(--s-2)}.hero-sub{max-width:44ch;color:var(--ink);font-size:var(--fs-strip);line-height:var(--lh-body)}.hero-tags{color:var(--muted);font-size:var(--fs-small)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-5);margin-top:var(--s-3)}.hero-lead{position:relative;display:block;isolation:isolate;text-decoration:none;border-radius:var(--r-lg)}.hero-lead .pic-hero{z-index:1;box-shadow:var(--sh-card)}.orb{position:absolute;z-index:-1;top:-12%;right:-10%;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(123,92,230,.4),rgba(201,189,247,.4) 55%,transparent 72%);filter:blur(60px);animation:orb-drift var(--dur-orb) ease-in-out infinite alternate;pointer-events:none}.hero-plate{position:relative;z-index:2;display:flex;flex-direction:column;gap:var(--s-2);margin:calc(var(--s-8) * -1) var(--s-4) 0;padding:var(--s-4) 20px;border-radius:var(--r-md);background:var(--surface);box-shadow:var(--sh-card);transition:box-shadow var(--dur-fast) var(--ease)}.hero-plate-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font:500 var(--fs-strip) /var(--lh-list) var(--ff-display);letter-spacing:-.01em;color:var(--ink)}.hero-lead:hover .hero-plate{box-shadow:var(--sh-card-hover)}.hero-lead:hover .hero-plate-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.hero-lead:hover .pic img{transform:scale(1.03)}.hero-lead:active .hero-plate{transform:scale(.99)}.hero-lead:focus-visible{outline-offset:4px}.hero-lead-empty{display:grid;place-items:center;min-height:320px;padding:var(--s-6);border-radius:var(--r-lg);background:var(--surface);color:var(--muted);font-size:var(--fs-strip);text-align:center}.strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s-5);gap:var(--s-5);padding:var(--s-5) 0}.strip-item{position:relative;display:flex;flex-direction:column;gap:var(--s-2);padding-top:var(--s-4);color:var(--muted);text-decoration:none;border-radius:var(--r-sm);transition:color var(--dur-fast) var(--ease)}.strip-item:before{content:"";position:absolute;top:0;left:0;width:24px;height:2px;border-radius:var(--r-pill);background:var(--line);transition:width var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.strip-item:first-child{color:var(--ink)}.strip-item:first-child:before{background:var(--ink)}.strip-item:hover{color:var(--ink)}.strip-item:hover:before{width:48px;background:var(--accent)}.strip-item:active{color:var(--accent-strong)}.strip-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font:500 var(--fs-strip) /var(--lh-list) var(--ff-display);letter-spacing:-.01em}.section{padding-top:var(--s-7)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-2)}.section-title{font-size:var(--fs-section);line-height:var(--lh-heading);letter-spacing:-.015em}.rows{list-style:none;margin:0;padding:0}.row-link{display:grid;grid-template-columns:200px minmax(0,1fr) 140px;align-items:start;grid-gap:var(--s-5);gap:var(--s-5);padding:var(--s-5) 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;border-radius:var(--r-md);transition:background-color var(--dur-fast) var(--ease)}.row:last-child .row-link{border-bottom:0}.rows-dense .row-link{padding:var(--s-4) 0}.row-ranked .row-link{grid-template-columns:56px 200px minmax(0,1fr) 140px}.row-rank{color:var(--rank);font:500 var(--fs-rank) /1 var(--ff-display);letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.row-text{display:flex;flex-direction:column;gap:var(--s-2);min-width:0}.row-title{font:500 var(--fs-list) /var(--lh-list) var(--ff-display);letter-spacing:-.01em;text-decoration-thickness:1px;text-underline-offset:3px}.row-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--muted);font-size:var(--fs-body)}.row-ranked .row-excerpt{-webkit-line-clamp:3}.row-best{color:var(--ink);font-size:var(--fs-small)}.row-best b{font-weight:600}.row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--s-2);text-align:right}.row-meta .chip-mono{max-width:100%;white-space:normal;border-radius:var(--r-thumb);text-align:right}.row-min{color:var(--muted);font-size:var(--fs-meta)}.row-link:hover .row-title{-webkit-text-decoration-line:underline;text-decoration-line:underline}.crow-link:hover .pic img,.rail-feature:hover .pic img,.row-link:hover .pic img,.tile:hover .pic img{transform:scale(1.03)}.row-link:active .row-title{color:var(--accent-strong)}.row-link:focus-visible{outline-offset:4px}.crow+.crow{border-top:1px solid var(--line)}.crow-link{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;grid-gap:var(--s-3);gap:var(--s-3);padding:14px 0;color:var(--ink);text-decoration:none;border-radius:var(--r-thumb)}.crow-text{display:flex;flex-direction:column;gap:var(--s-1);min-width:0}.crow-score{color:var(--ink);font-family:var(--ff-mono)}.crow-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font:600 var(--fs-small) /1.3 var(--ff-body);letter-spacing:-.005em;text-decoration-thickness:1px;text-underline-offset:3px}.crow-link:hover .crow-title{-webkit-text-decoration-line:underline;text-decoration-line:underline}.crow-link:active .crow-title{color:var(--accent-strong)}.rail-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4)}.rail-title{font-size:var(--fs-list);letter-spacing:-.01em}.rail-feature{position:relative;display:block;overflow:hidden;border-radius:var(--r-md);color:var(--on-overlay);text-decoration:none;box-shadow:var(--sh-card);transition:box-shadow var(--dur-fast) var(--ease)}.rail-feature:hover{box-shadow:var(--sh-card-hover)}.rail-feature:active{transform:scale(.99)}.rail-feature-text{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-3) var(--s-4) var(--s-4);background:var(--overlay)}.rail-feature-kicker{font-size:var(--fs-meta);font-weight:500}.rail-feature-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font:500 var(--fs-strip) /var(--lh-list) var(--ff-display);letter-spacing:-.01em}.rail-feed .crows{margin-top:var(--s-2)}.rail-empty{padding:var(--s-5);border-radius:var(--r-md);background:var(--field);color:var(--muted)}.rail-more{margin-top:var(--s-4)}.cat-list li+li{border-top:1px solid var(--line)}.cat-list a{padding-inline:var(--s-1);border-radius:var(--r-sm);font-size:15px}.scale-note{display:flex;flex-direction:column;gap:var(--s-3);margin-top:var(--s-5);padding:var(--s-4);border-radius:var(--r-md);background:var(--field)}.scale-note h3{font:600 var(--fs-small) /1.3 var(--ff-body)}.scale-note dl{display:grid;grid-gap:6px;gap:6px;margin:0}.scale-note dl div{display:flex;justify-content:space-between;gap:var(--s-3);font-size:var(--fs-small)}.scale-note dt{font-family:var(--ff-mono);font-weight:500}.scale-note dd{margin:0;color:var(--muted)}.band{grid-column:main-start/rail-end;grid-row:3;margin-top:var(--s-8);padding:var(--s-6);border-radius:var(--r-lg);background:var(--surface)}.band-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:var(--s-3) var(--s-6)}.band-head p{max-width:52ch;color:var(--muted)}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--s-4);gap:var(--s-4);margin-top:var(--s-5)!important}.tile{display:flex;flex-direction:column;gap:var(--s-2);height:100%;padding:20px;border-radius:var(--r-md);background:var(--field);color:var(--ink);text-decoration:none;transition:background-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.tile-name{font:500 var(--fs-list) /var(--lh-list) var(--ff-display);letter-spacing:-.01em}.tile-desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;color:var(--muted);font-size:var(--fs-small)}.tile-foot{display:flex;justify-content:space-between;gap:var(--s-2);margin-top:auto;padding-top:var(--s-3);font-size:var(--fs-meta);font-weight:500}.tile-top{font-family:var(--ff-mono)}.tile:hover{background:var(--row-hover);box-shadow:var(--sh-card-hover)}.tile:hover .tile-name{color:var(--accent-strong)}.tile:active{background:var(--tint)}.tile:focus-visible{outline-offset:3px}.pair{grid-column:main-start/rail-end;grid-row:4;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--s-5) var(--s-7);gap:var(--s-5) var(--s-7);padding-top:var(--s-7)}.pair .crow-link{gap:var(--s-4);padding:var(--s-4) 0}.pair .pic-thumb{width:144px;border-radius:var(--r-md)}.pair .crow-title{font:500 var(--fs-strip) /var(--lh-list) var(--ff-display);letter-spacing:-.01em}.type-head{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-7) 0 var(--s-5)}.type-head h1{font-size:var(--fs-h1);font-weight:600;line-height:1.1;letter-spacing:-.02em}.type-head>p:not(.type-count){max-width:60ch;color:var(--muted);font-size:var(--fs-article);line-height:1.55}.type-count{gap:var(--s-2);color:var(--muted);font-size:var(--fs-small)}.filters,.type-count{display:flex;flex-wrap:wrap;align-items:center}.filters{gap:var(--s-3) var(--s-4);padding-bottom:var(--s-4);border-bottom:1px solid var(--line)}.seg{flex:none;padding:var(--s-1);background:var(--surface)}.seg,.seg-btn{display:inline-flex;border-radius:var(--r-pill)}.seg-btn{align-items:center;height:32px;padding:0 14px;font-size:var(--fs-small);font-weight:500;text-decoration:none;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.seg-btn:hover{background:var(--wash)}.seg-btn:active{background:var(--tint)}.chip-row .chip[aria-current=true],.pager-btn[aria-current=page],.seg-btn[aria-current=true]{background:var(--accent);color:#ffffff}.chip-row{display:flex;flex-wrap:wrap;gap:var(--s-2);min-width:0}.chip-sm{height:32px;padding:0 12px}.pager{display:flex;flex-wrap:wrap;gap:var(--s-2);padding-top:var(--s-6)}.pager-btn{display:grid;place-items:center;min-width:40px;height:40px;padding:0 var(--s-3);border-radius:var(--r-pill);background:var(--surface);font:500 var(--fs-small) /1 var(--ff-mono);text-decoration:none;transition:background-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.pager-btn:hover{background:var(--wash)}.pager-btn:active{transform:scale(.96)}.pager-btn[aria-current=page]:hover{background:var(--accent-strong)}.empty{display:flex;flex-direction:column;align-items:center;gap:var(--s-4);padding:var(--s-8) var(--s-5);text-align:center}.empty p{max-width:46ch;color:var(--muted);font-size:var(--fs-strip)}.sheet{display:grid;grid-template-columns:[sheet-start text-start] minmax(0,var(--measure)) [text-end] minmax(0,1fr) [sheet-end];padding:var(--s-7);border-radius:var(--r-lg);background:var(--surface);font-size:var(--fs-article);line-height:var(--lh-article);margin-top:var(--s-2)}.sheet>*{grid-column:text;min-width:0}.sheet>.fig,.sheet>.proscons,.sheet>.prose,.sheet>.specs,.sheet>.verdict{grid-column:sheet}.art-head{display:flex;flex-direction:column;gap:var(--s-4)}.art-head h1{font-size:var(--fs-h1);font-weight:600;line-height:1.1;letter-spacing:-.02em}.art-excerpt{color:var(--muted);font-size:var(--fs-lede);line-height:1.5}.art-meta{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-4);color:var(--muted);font-size:var(--fs-small);line-height:1.4}.art-meta b{color:var(--ink);font-weight:600}.verdict{display:grid;grid-template-columns:168px minmax(0,1fr);grid-gap:var(--s-6);gap:var(--s-6);margin-top:var(--s-6);padding:var(--s-6);border-radius:var(--r-md);background:var(--field)}.verdict-score{display:flex;flex-direction:column;gap:var(--s-3)}.verdict-num{font:500 var(--fs-score) /1 var(--ff-display);letter-spacing:-.03em}.verdict-num small{margin-left:2px;color:var(--muted);font:500 var(--fs-body) /1 var(--ff-mono);letter-spacing:0}.verdict .rating-num{display:none}.verdict-unrated{color:var(--muted);font-size:var(--fs-small)}.verdict-body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-3);min-width:0}.verdict-body h2{font-size:var(--fs-list)}.verdict-body p{max-width:var(--measure)}.verdict-best b{font-weight:600}.verdict-facts{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-6);margin:0;font-size:var(--fs-small)}.verdict-facts dt{color:var(--muted);font-size:var(--fs-meta)}.verdict-facts dd{margin:0;font-weight:500}.proscons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--s-6);gap:var(--s-6);margin-top:var(--s-7)}.pc{padding-top:var(--s-4);border-top:2px solid var(--up)}.pc-cons{border-top-color:var(--risk)}.pc h2{margin-bottom:var(--s-3);font-size:var(--fs-list)}.pc li{display:grid;grid-template-columns:18px minmax(0,1fr);grid-gap:var(--s-3);gap:var(--s-3);padding:6px 0;font-size:var(--fs-body);line-height:1.5}.pc li svg{margin-top:3px}.pc-pros svg{color:var(--up)}.pc-cons svg{color:var(--risk)}.prose{display:grid;grid-template-columns:subgrid;margin-top:var(--s-6)}.prose>*{grid-column:text;min-width:0}.prose>.fig-pair,.prose>.fig-wide{grid-column:sheet}.prose blockquote,.prose ol,.prose p,.prose ul{margin:0 0 1.1em}.prose h2{margin:1.6em 0 .45em;font-size:var(--fs-h2-article);line-height:1.2;letter-spacing:-.015em}.prose h3{margin:1.4em 0 .4em;font-size:var(--fs-h3-article);line-height:1.25}.prose h4{margin:1.3em 0 .35em;font:600 var(--fs-article) /1.3 var(--ff-body)}.prose>:first-child{margin-top:0}.prose ol,.prose ul{padding-left:1.3em}.prose li{margin:.35em 0;padding-left:.2em}.prose li::marker{color:var(--accent-strong)}.prose li p{margin:0}.prose blockquote{padding:var(--s-1) 0 var(--s-1) 20px;border-left:3px solid var(--accent);color:var(--ink);font-size:var(--fs-lede);line-height:1.5}.prose blockquote p:last-child{margin-bottom:0}.art-foot a:not(.btn-solid):not(.text-link),.prose a{color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--dur-fast) var(--ease)}.prose a:hover{color:var(--accent-strong);text-decoration-thickness:2px}.prose a:active{color:var(--ink)}.prose code,.prose pre{font-family:var(--ff-mono);font-size:.86em}.prose code{padding:1px 5px;border-radius:6px;background:var(--ticker-bg)}.prose pre{overflow-x:auto;padding:var(--s-4);border-radius:var(--r-sm);background:var(--field)}.prose pre code{padding:0;background:none}.prose hr{width:100%;margin:var(--s-6) 0;border:0;border-top:1px solid var(--line)}.fig{--fig-w:100%;margin:var(--s-5) auto var(--s-6);width:min(100%,var(--fig-w));justify-self:center}.fig .pic-figure{border-radius:var(--r-md)}.fig .pic-figure img{display:block;width:100%;height:auto}.fig-wide{justify-self:stretch;width:min(100%,var(--fig-w))}.fig-medium{width:min(520px,100%,var(--fig-w))}.fig-narrow{width:min(380px,100%,var(--fig-w))}.fig-tall{width:min(320px,100%,var(--fig-w))}.fig figcaption{max-width:var(--measure);margin-top:10px;color:var(--muted);font-size:var(--fs-meta);line-height:1.45}.fig-lede{margin-top:var(--s-6);margin-bottom:0}.fig-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;grid-gap:var(--s-5);gap:var(--s-5);margin:var(--s-5) auto var(--s-6);width:min(100%,800px)}.fig-pair .fig{margin:0 auto}.specs{margin-top:var(--s-6)}.specs h2{margin-bottom:var(--s-4);font-size:var(--fs-h2-article);letter-spacing:-.015em}.specs dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:var(--s-2);gap:var(--s-2);margin:0}.specs dl div{padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);background:var(--field)}.specs dt{color:var(--muted);font-size:var(--fs-meta);font-weight:500;line-height:1.3}.specs dd{margin:2px 0 0;font-weight:500;line-height:1.4}.correction,.specs dd{font-size:var(--fs-body)}.correction{margin-top:var(--s-6);padding:var(--s-4) 20px;border-left:3px solid var(--risk);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--risk-bg)}.correction b{color:var(--risk)}.art-foot{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-4);margin-top:var(--s-7);padding-top:var(--s-5);border-top:1px solid var(--line)}.art-foot p{max-width:62ch;color:var(--muted);font-size:var(--fs-body);line-height:1.6}.art-foot b{color:var(--ink);font-weight:600}.sheet-info .prose{margin-top:var(--s-6)}.scorecard{display:flex;flex-direction:column;gap:var(--s-3);margin-bottom:var(--s-6);padding:20px;border-radius:var(--r-md);background:var(--field)}.scorecard-cat{color:var(--link);font-size:var(--fs-meta);font-weight:500}.scorecard-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font:500 var(--fs-strip) /var(--lh-list) var(--ff-display)}.scorecard dl{display:grid;grid-gap:6px;gap:6px;margin:0}.scorecard dl div{display:flex;justify-content:space-between;gap:var(--s-3);font-size:var(--fs-small)}.scorecard dt{color:var(--muted)}.scorecard dd{margin:0;font-weight:500;text-align:right}.progress{display:none}@supports (animation-timeline:scroll()){.progress{display:block;position:fixed;inset:0 0 auto 0;z-index:50;height:3px;background:linear-gradient(90deg,var(--accent),var(--glow));transform-origin:0 50%;animation:progress-grow linear both;animation-timeline:scroll(root block)}}.notfound{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-4);max-width:720px;margin:0 auto;padding:var(--s-9) 0}.notfound .orb{top:0;right:0;width:60%}.notfound-code{color:var(--rank);font:500 96px/1 var(--ff-display);letter-spacing:-.04em}.notfound h1{font-size:var(--fs-hero);line-height:var(--lh-display);letter-spacing:-.025em}.notfound>p:not(.notfound-code){max-width:52ch;color:var(--muted);font-size:var(--fs-strip)}.notfound-cats{margin-top:var(--s-6)}.notfound-cats h2{margin-bottom:var(--s-3);font-size:var(--fs-list)}.notfound-cats ul{list-style:none;margin:0;padding:0}.error-sheet{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-4);max-width:720px;margin:var(--s-7) auto;padding:var(--s-6);border-left:3px solid var(--risk);border-radius:var(--r-lg);background:var(--surface)}.error-sheet h1{font-size:var(--fs-section)}.error-sheet p{color:var(--muted)}.skel{display:block;border-radius:var(--r-sm);background:linear-gradient(90deg,transparent 0,var(--surface) 50%,transparent 100%) 0 0 /200% 100% no-repeat,var(--skel);animation:shimmer var(--dur-shimmer) linear infinite}.skel-head{width:55%;height:46px;margin:var(--s-7) 0 var(--s-6)}.skel-row{display:grid;grid-template-columns:200px minmax(0,1fr);grid-gap:var(--s-5);gap:var(--s-5);padding:var(--s-5) 0;border-bottom:1px solid var(--line)}.skel-thumb{aspect-ratio:2/1;border-radius:var(--r-md)}.skel-lines{display:flex;flex-direction:column;gap:var(--s-3);padding-top:var(--s-2)}.skel-line{height:16px}.skel-line-short{width:60%}.skel-feature{aspect-ratio:2/1;margin-bottom:var(--s-4);border-radius:var(--r-md)}.rail .skel-line{margin-bottom:var(--s-3)}.skel-sheet{gap:var(--s-4)}.skel-sheet .skel-line-short{width:30%}.skel-title{height:88px;border-radius:var(--r-sm)}.skel-verdict{height:180px;margin-top:var(--s-4)}.skel-figure,.skel-verdict{grid-column:sheet;border-radius:var(--r-md)}.skel-figure{aspect-ratio:16/10}.footer{max-width:var(--frame-max);margin:0 auto;padding:var(--s-8) var(--frame-pad) var(--s-5)}.footer-cols{display:grid;grid-template-columns:1.3fr 1fr .8fr 1.4fr;grid-gap:var(--s-6);gap:var(--s-6)}.footer h2{margin-bottom:var(--s-3);font-size:var(--fs-body);font-weight:600}.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-4)}.footer-brand p{max-width:36ch;color:var(--muted);font-size:15px}.footer li a{display:inline-block;padding:6px 0;font-size:15px;line-height:20px;text-decoration:none;transition:color var(--dur-fast) var(--ease)}.footer li a:hover{color:var(--link);text-decoration:underline;text-underline-offset:3px}.footer li a:active{color:var(--accent-strong)}.newsletter{display:flex;flex-direction:column;gap:var(--s-3)}.newsletter label{color:var(--muted);font-size:15px}.field-row{display:flex;flex-wrap:wrap;gap:var(--s-2)}.field-row input{flex:1 1 180px;min-width:0;height:48px;padding:0 var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font:400 var(--fs-body) /1 var(--ff-body);outline:none;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.field-row input::placeholder{color:var(--muted)}.field-row input:hover{border-color:var(--glow)}.field-row input:focus,.field-row input:focus-visible{border-color:var(--accent);box-shadow:var(--ring)}.field-row.has-error input{border-color:var(--risk)}.field-row .btn-solid{height:48px}.form-msg{font-size:var(--fs-meta);color:var(--up)}.form-msg.is-error{color:var(--risk)}.footer-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-2) var(--s-6);margin-top:var(--s-7);padding-top:var(--s-5);border-top:1px solid rgba(17,18,24,.1);color:var(--muted);font-size:var(--fs-meta)}[data-reveal=pending]{opacity:0;transform:translateY(12px)}[data-reveal=in]{opacity:1;transform:none;transition:opacity var(--dur-enter) var(--ease),transform var(--dur-enter) var(--ease);transition-delay:calc(var(--stagger) * var(--stagger-step))}@keyframes orb-drift{0%{transform:translate(-12px,8px)}to{transform:translate(12px,-8px)}}@keyframes panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:150% 0,0 0}to{background-position:-50% 0,0 0}}@keyframes progress-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.site *,.site :after,.site :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}.site [data-reveal]{opacity:1!important;transform:none!important}.site .orb,.site .skel{animation:none!important}.site .progress{display:none!important}.site .btn-pill:hover .btn-pill-arrow svg,.site .crow-link:hover .pic img,.site .hero-lead:hover .pic img,.site .rail-feature:hover .pic img,.site .row-link:hover .pic img,.site .text-link:hover svg{transform:none}}@media print{[data-reveal]{opacity:1!important;transform:none!important}}@media (max-width:1199px){:root{--rail-w:280px;--frame-pad:24px}.row-link{grid-template-columns:168px minmax(0,1fr) 120px}.row-ranked .row-link{grid-template-columns:44px 168px minmax(0,1fr) 120px}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet{padding:var(--s-6)}.chips .chip{padding:0 12px}}@media (max-width:1023px){.frame{grid-template-columns:[frame-start] var(--frame-pad) [main-start rail-start] minmax(0,1fr) [main-end rail-end] var(--frame-pad) [frame-end]}.band,.main,.main-bottom,.masthead,.pair,.rail,.rail-home{grid-row:auto}.chips,.rail-search{display:none}.mast-tools{display:flex}.mast-menu{display:block}.masthead{padding-bottom:var(--s-4)}.rail{margin-top:var(--s-5);padding:var(--s-4);border-radius:20px}.rail-inner{position:static;max-height:none;overflow:visible;margin:0;padding:0}.rail-feed{display:flex;gap:var(--s-3);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding-bottom:var(--s-2);scrollbar-width:thin;scrollbar-color:var(--line) transparent}.rail-feed .crows{display:contents}.rail-feature,.rail-feed .crow{flex:0 0 260px;scroll-snap-align:start}.rail-feed .crow{border:0!important;border-radius:var(--r-md);background:var(--field)}.rail-feed .crow-link{display:flex;flex-direction:column-reverse;justify-content:flex-end;height:100%;padding:var(--s-2) var(--s-2) var(--s-3);border-radius:var(--r-md)}.rail-feed .crow-text{padding:0 var(--s-2)}.rail-feed .pic-thumb{width:100%;aspect-ratio:2/1;border-radius:var(--r-thumb)}.rail-feed .crow-title{-webkit-line-clamp:2}.rail-article .scorecard{display:none}.hero{grid-template-columns:minmax(0,1fr);min-height:0;gap:var(--s-5);padding:var(--s-4) 0 var(--s-5)}.hero-lead{order:-1}.hero-lead .pic-hero{border-radius:20px}.hero-plate{margin-top:calc(var(--s-7) * -1)}.sheet{margin-top:0}.band{margin-top:var(--s-7)}.footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){:root{--outer:8px;--frame-pad:16px;--frame-radius:20px;--sh-frame:0 0 0 3px rgba(201,189,247,0.35),0 20px 40px -24px rgba(61,52,140,0.25);--fs-article:17px;--fs-section:24px;--fs-h2-article:23px;--fs-h3-article:19px}.frame{padding-top:var(--s-4)}.logo-chip{font-size:17px}.hero h1{font-size:32px}.hero-sub{font-size:var(--fs-body)}.strip{grid-template-columns:minmax(0,1fr);gap:var(--s-4)}.row-link,.rows-dense .row-link{grid-template-columns:104px minmax(0,1fr);gap:var(--s-2) var(--s-4);padding:var(--s-4) 0}.row-link .pic-card{grid-row:1/span 2;aspect-ratio:2/1;border-radius:var(--r-thumb)}.row-ranked .row-link{grid-template-columns:28px 104px minmax(0,1fr)}.row-rank{grid-row:1/span 2;font-size:24px}.row-title{font-size:17px}.row-best,.row-excerpt{display:none}.row-meta{grid-column:-2/-1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-3);text-align:left}.band{padding:20px var(--s-4)}.pair,.tiles{grid-template-columns:minmax(0,1fr)}.pair .pic-thumb{width:104px}.pair .crow-title{font-size:16px}.type-head{padding-top:var(--s-5)}.filters{flex-direction:column;align-items:stretch}.seg{align-self:flex-start}.chip-row{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:var(--s-1);scrollbar-width:none}.sheet,.verdict{padding:20px}.verdict{grid-template-columns:minmax(0,1fr);gap:var(--s-4)}.verdict-score{flex-direction:row;align-items:center;gap:var(--s-4)}.verdict-num{font-size:48px}.proscons{gap:var(--s-5)}.fig-pair,.proscons{grid-template-columns:minmax(0,1fr)}.notfound{padding:var(--s-7) 0}.notfound-code{font-size:64px}.notfound h1{font-size:32px}.footer{padding:var(--s-7) var(--s-4) var(--s-5)}.footer-cols{grid-template-columns:minmax(0,1fr);gap:var(--s-5)}.footer-base{flex-direction:column}.cat-panel ul,.mast-menu-pages{grid-template-columns:minmax(0,1fr)}}