/*
 * listme.name
 * Subject: ranked lists of software and books. The page's one job is "which one should I pick, and why".
 * Neutral: cool blue-gray (#F3F5F7), because the content is dense comparison data and a hue-neutral gray
 *   next to colored logos reads as muddy; a faint blue bias keeps tables and white cards crisp.
 * Ink (#10151C) is the action color. Gold (#F2B600) is spent on exactly one thing: the #1 rank mark.
 * Blue (#0A56C4) is for links only. No gradients, no glows, no status dots, no pills.
 * Type: Literata (headings and reading text, a face drawn for long reading), Schibsted Grotesk (interface and
 *   data, drawn for news layouts), Big Shoulders Display (rank numerals and scores, condensed like ledger figures).
 */

@font-face{font-family:Literata;src:url(/assets/fonts/literata-latin.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Literata;src:url(/assets/fonts/literata-latin-ext.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Literata;src:url(/assets/fonts/literata-italic-latin.woff2) format("woff2");font-weight:200 900;font-style:italic;font-display:swap}
@font-face{font-family:"Schibsted Grotesk";src:url(/assets/fonts/schibsted-latin.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Schibsted Grotesk";src:url(/assets/fonts/schibsted-latin-ext.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Big Shoulders Display";src:url(/assets/fonts/bigshoulders-latin.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  color-scheme:light dark;
  --bg:#F3F5F7;--surface:#FFFFFF;--surface-2:#E9EDF1;--ink:#10151C;--ink-2:#2A323D;--muted:#566170;
  --line:#D8DEE5;--line-2:#BCC5D0;--link:#0A56C4;--link-h:#063F95;
  --btn-bg:#10151C;--btn-ink:#FFFFFF;--gold:#F2B600;--gold-ink:#3F2F00;--ok:#13734A;--no:#7C8795;--danger:#B42318;--focus:#0A56C4;
  --f-serif:Literata,Georgia,"Times New Roman",serif;
  --f-sans:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-num:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --r:6px;--wrap:1180px;--narrow:760px;--gut:20px;
  --m0-bg:#E1ECF8;--m0:#174A8B;--m1-bg:#E1F0E8;--m1:#1B5E3C;--m2-bg:#F5E9D5;--m2:#7A4A0B;--m3-bg:#F4E1E1;--m3:#8C2F2F;
  --m4-bg:#E4EAEE;--m4:#34495A;--m5-bg:#ECEFD9;--m5:#5B6314;--m6-bg:#DEEEED;--m6:#0F5E5A;--m7-bg:#EEE4DE;--m7:#6A3F2A;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme=light]){
    --bg:#0D1218;--surface:#141A22;--surface-2:#1B232D;--ink:#E8EDF3;--ink-2:#C9D1DB;--muted:#98A4B3;
    --line:#26303C;--line-2:#3A4757;--link:#7DB2FF;--link-h:#A9CBFF;--btn-bg:#E8EDF3;--btn-ink:#0D1218;--ok:#4CC38A;--no:#6D7888;--danger:#FF8A7D;--focus:#7DB2FF;
    --m0-bg:#1A2A3F;--m0:#9CC4F5;--m1-bg:#173226;--m1:#8FD5AF;--m2-bg:#3A2E17;--m2:#EBC27E;--m3-bg:#3A2020;--m3:#F1A3A3;
    --m4-bg:#1F2A33;--m4:#A9BECE;--m5-bg:#2D3115;--m5:#CFD68A;--m6-bg:#14312F;--m6:#8ED3CE;--m7-bg:#33261F;--m7:#DDB49D;
  }
}
:root[data-theme=dark]{
  --bg:#0D1218;--surface:#141A22;--surface-2:#1B232D;--ink:#E8EDF3;--ink-2:#C9D1DB;--muted:#98A4B3;
  --line:#26303C;--line-2:#3A4757;--link:#7DB2FF;--link-h:#A9CBFF;--btn-bg:#E8EDF3;--btn-ink:#0D1218;--ok:#4CC38A;--no:#6D7888;--danger:#FF8A7D;--focus:#7DB2FF;
  --m0-bg:#1A2A3F;--m0:#9CC4F5;--m1-bg:#173226;--m1:#8FD5AF;--m2-bg:#3A2E17;--m2:#EBC27E;--m3-bg:#3A2020;--m3:#F1A3A3;
  --m4-bg:#1F2A33;--m4:#A9BECE;--m5-bg:#2D3115;--m5:#CFD68A;--m6-bg:#14312F;--m6:#8ED3CE;--m7-bg:#33261F;--m7:#DDB49D;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 var(--f-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:lining-nums}
img,svg{display:block;max-width:100%}
a{color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--link-h)}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:2px}
h1,h2,h3,h4{margin:0;font-family:var(--f-serif);font-weight:650;line-height:1.18;letter-spacing:-.005em;text-wrap:balance}
h1{font-size:clamp(1.85rem,1.25rem + 2.4vw,2.85rem);font-weight:700;letter-spacing:-.012em}
h2{font-size:clamp(1.3rem,1.1rem + .8vw,1.65rem)}
h3{font:650 1.05rem/1.3 var(--f-sans);letter-spacing:0}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0}
small{font-size:.8125rem}
.sr{position:absolute;left:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tablewrap,.plat-i{position:relative}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--btn-bg);color:var(--btn-ink);padding:10px 14px;border-radius:var(--r)}
.skip:focus{left:8px}
.wrap{width:100%;max-width:calc(var(--wrap) + var(--gut)*2);margin:0 auto;padding:0 var(--gut)}
.wrap.narrow{max-width:calc(var(--narrow) + var(--gut)*2)}
.small{font-size:.875rem;color:var(--muted)}
.ic{width:1.15em;height:1.15em;flex:none;display:inline-block;vertical-align:-.2em}
.ic-yes{color:var(--ok)}.ic-no{color:var(--no)}
.ic-cat{width:26px;height:26px;color:var(--ink)}

/* ---------- header ---------- */
.head{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--line)}
.head-bar{display:flex;align-items:center;gap:22px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex:none}
.brand-mark{width:30px;height:30px;border-radius:7px}
.brand-word{font:700 1.3rem/1 var(--f-serif);letter-spacing:-.01em}
.brand-word span{font-weight:400;color:var(--muted)}
.nav{display:flex;gap:4px;margin-left:6px}
.nav a{color:var(--ink-2);text-decoration:none;font-weight:550;font-size:.95rem;padding:8px 10px;border-radius:var(--r)}
.nav a:hover,.nav a[aria-current]{background:var(--surface-2);color:var(--ink)}
.hsearch{position:relative;flex:1;max-width:340px;margin-left:auto}
.hsearch input{width:100%;height:40px;padding:0 42px 0 14px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--bg);color:var(--ink);font:inherit;font-size:.93rem}
.hsearch input::placeholder{color:var(--muted)}
.hsearch button{position:absolute;right:0;top:0;width:42px;height:40px;border:0;background:none;color:var(--ink-2);cursor:pointer}
.head-end{display:flex;align-items:center;gap:6px}
.theme{width:40px;height:40px;border:0;border-radius:var(--r);background:none;color:var(--ink-2);cursor:pointer;display:grid;place-items:center}
.theme:hover{background:var(--surface-2)}
.theme .ic-moon{display:none}
:root[data-theme=dark] .theme .ic-sun{display:none}:root[data-theme=dark] .theme .ic-moon{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme .ic-sun{display:none}:root:not([data-theme=light]) .theme .ic-moon{display:block}}
.acct{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px;border:1px solid var(--line-2);border-radius:var(--r);color:var(--ink);text-decoration:none;font-weight:600;font-size:.93rem;white-space:nowrap}
.acct:hover{background:var(--surface-2);color:var(--ink)}
.menu{display:none;position:relative}
.menu summary{list-style:none;width:40px;height:40px;display:grid;place-items:center;cursor:pointer;border-radius:var(--r);color:var(--ink)}
.menu summary::-webkit-details-marker{display:none}
.menu summary:hover{background:var(--surface-2)}
.menu .ic-shut{display:none}.menu[open] .ic-shut{display:block}.menu[open] .ic-open{display:none}
.suggest{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r);box-shadow:0 10px 24px rgba(16,21,28,.14);z-index:60;max-height:70vh;overflow:auto}
.suggest[hidden]{display:none}
.suggest a{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 14px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.suggest a:last-child{border-bottom:0}
.suggest a:hover,.suggest a[aria-selected=true]{background:var(--surface-2)}
.suggest b{font-weight:600}.suggest span{color:var(--muted);font-size:.8rem}.suggest em{grid-column:1/-1;font-style:normal;color:var(--muted);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:980px){
  .nav{display:none}
  .menu{display:block}
  .menu-panel{position:fixed;left:0;right:0;top:64px;background:var(--surface);border-bottom:1px solid var(--line);padding:16px var(--gut) 22px;max-height:calc(100vh - 64px);overflow:auto}
  .menu-panel nav{display:grid;margin-top:12px}
  .menu-panel nav a{padding:14px 4px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:600;font-size:1.05rem}
  .msearch{position:relative}
  .msearch input{width:100%;height:46px;padding:0 46px 0 14px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--bg);color:var(--ink);font:inherit}
  .msearch button{position:absolute;right:0;top:0;width:46px;height:46px;border:0;background:none;color:var(--ink-2)}
  .hsearch{display:none}
  .head-end{margin-left:auto}
}
@media (min-width:981px){.menu-panel{display:none}}
.menu:not([open]) .menu-panel{display:none}
.menu-theme{display:flex;align-items:center;gap:10px;margin-top:6px;padding:14px 4px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font:600 1.05rem/1 var(--f-sans);cursor:pointer;text-align:left;width:100%}
@media (max-width:420px){.acct span{display:none}.acct{width:40px;padding:0;justify-content:center}}
@media (max-width:380px){.head-bar{gap:8px}.brand-word{font-size:1.15rem}.head-end .theme{display:none}}
@media (min-width:381px){.menu-theme{display:none}}

/* ---------- page head ---------- */
.phead{padding:28px 0 8px}
.phead .wrap>*:last-child{margin-bottom:0}
.crumbs{margin-bottom:16px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 0;font-size:.85rem;color:var(--muted)}
.crumbs li+li::before{content:"/";padding:0 8px;color:var(--line-2)}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--ink);text-decoration:underline}
.kicker{font:650 .8rem/1 var(--f-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px}
.lede{font:400 1.12rem/1.55 var(--f-serif);color:var(--ink-2);max-width:68ch;margin:12px 0 0}
.metaline{margin:14px 0 0;color:var(--muted);font-size:.9rem}
.metaline a{color:var(--muted)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border:1px solid transparent;border-radius:var(--r);font:650 .93rem/1 var(--f-sans);text-decoration:none;cursor:pointer;white-space:nowrap}
.btn-ink{background:var(--btn-bg);color:var(--btn-ink)}
.btn-ink:hover{background:var(--ink-2);color:var(--btn-ink)}
.btn-line{background:var(--surface);color:var(--ink);border-color:var(--line-2)}
.btn-line:hover{background:var(--surface-2);color:var(--ink)}
.btn-danger{background:var(--danger);color:#fff}
.btn-sm{height:34px;padding:0 12px;font-size:.85rem}
.btn-wide{width:100%}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.linkbtn{background:none;border:0;color:var(--link);font:inherit;text-decoration:underline;cursor:pointer;padding:0}
.more{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.92rem;text-decoration:none}
.more:hover{text-decoration:underline}

/* ---------- sections ---------- */
.sec{padding:34px 0}
.sec-first{padding-top:20px}
.sec-alt{background:var(--surface);border-block:1px solid var(--line)}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.sec-note{margin:0;color:var(--muted);font-size:.92rem}
.two{display:grid;gap:40px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.two-prod{grid-template-columns:minmax(0,1fr) 340px;gap:48px}
.two>*,.two-prod>*,.main-col,.side-col,.rk-body,.take-body,.pc-body,.cat-body,.prod-id{min-width:0}
@media (max-width:900px){.two,.two-prod{grid-template-columns:minmax(0,1fr);gap:28px}}
.main-col h2{margin:30px 0 12px}.main-col h2:first-child{margin-top:0}
.main-col h3{margin:26px 0 10px}

/* ---------- hero ---------- */
.hero{padding:44px 0 36px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:56px;align-items:start}
.hero h1{font-size:clamp(2.2rem,1.3rem + 3.6vw,3.9rem);line-height:1.06;max-width:15ch}
.hero .lede{max-width:52ch;font-size:1.18rem}
.hero-search{position:relative;display:flex;gap:8px;margin-top:26px;max-width:620px}
.hero-search input{flex:1;min-width:0;height:50px;padding:0 16px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);color:var(--ink);font:inherit}
.hero-search .btn{height:50px}
.hero-search .suggest{top:calc(100% + 6px)}
.hero-links{margin:16px 0 0;color:var(--muted);font-size:.95rem}
.ledger{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px 22px 18px}
.ledger h2{font:650 .8rem/1 var(--f-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}
.ledger ul{list-style:none}
.ledger li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"l s" "p s";gap:2px 14px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center}
.led-list{grid-area:l;color:var(--muted);font-size:.84rem;text-decoration:none}
.led-pick{grid-area:p;display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:650;text-decoration:none}
.led-score{grid-area:s;font:800 2rem/1 var(--f-num);color:var(--ink)}
.led-foot{margin:14px 0 0;font-size:.85rem;color:var(--muted)}
@media (max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr);gap:32px}.hero h1{max-width:18ch}}
@media (max-width:560px){.hero-search{flex-direction:column}.hero-search input{flex:none;width:100%}.hero-search .btn{width:100%}}

/* ---------- category grid, index, blocks ---------- */
.cats{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr));gap:12px}
.cat{display:flex;gap:14px;align-items:flex-start;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink);height:100%}
.cat:hover{border-color:var(--ink-2);color:var(--ink)}
.cat-body{display:grid;gap:3px}.cat-name{font:650 1.05rem/1.25 var(--f-serif)}.cat-sub{color:var(--muted);font-size:.88rem;line-height:1.4}
.ledger-index{columns:3 300px;column-gap:44px}
.lx{break-inside:avoid;margin:0 0 34px}
.lx h2{display:flex;align-items:center;gap:10px;font-size:1.25rem;margin-bottom:8px}
.lx h2 a{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
.lx h3{margin:14px 0 6px}
.lx>p{color:var(--muted);font-size:.92rem;margin-bottom:10px}
.lx ul{list-style:none}
.lx li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dotted var(--line-2)}
.lx li a{color:var(--ink);text-decoration:none}.lx li a:hover{text-decoration:underline;color:var(--link)}
.lx li span{font:700 1.1rem/1 var(--f-num);color:var(--muted)}
.lx .links li{display:list-item;border:0;padding:3px 0}
.lblocks{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:16px}
.lblock{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:10px}
.lblock h2{font-size:1.2rem}.lblock h2 a{color:var(--ink);text-decoration:none}.lblock h2 a:hover{color:var(--link)}
.lblock p{color:var(--muted);font-size:.93rem;margin:0}
.mini{list-style:none;margin:2px 0 0}
.mini li{display:grid;grid-template-columns:24px 28px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.mini-n{font:800 1.4rem/1 var(--f-num);color:var(--muted)}
.mini li:first-child .mini-n{color:var(--gold-ink);background:var(--gold);width:24px;height:24px;display:grid;place-items:center;border-radius:3px;font-size:1.1rem}
.mini a{color:var(--ink);font-weight:600;text-decoration:none}.mini a:hover{color:var(--link)}
.mini-s{font:800 1.3rem/1 var(--f-num);color:var(--ink-2)}
.lblock .more{margin-top:auto}

/* ---------- logos, platform icons ---------- */
.logo{--s:48px;width:var(--s);height:var(--s);flex:none;display:inline-grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:calc(var(--s)*.2);overflow:hidden}
.logo img{width:100%;height:100%;object-fit:contain;padding:calc(var(--s)*.12)}
.logo-sm{border-radius:6px}.logo-lg{border-radius:14px}
.mono{font:700 calc(var(--s)*.4)/1 var(--f-sans);letter-spacing:-.02em;border-color:transparent}
.mono-0{background:var(--m0-bg);color:var(--m0)}.mono-1{background:var(--m1-bg);color:var(--m1)}.mono-2{background:var(--m2-bg);color:var(--m2)}.mono-3{background:var(--m3-bg);color:var(--m3)}
.mono-4{background:var(--m4-bg);color:var(--m4)}.mono-5{background:var(--m5-bg);color:var(--m5)}.mono-6{background:var(--m6-bg);color:var(--m6)}.mono-7{background:var(--m7-bg);color:var(--m7)}
.plat{display:inline-flex;flex-wrap:wrap;gap:6px 7px;align-items:center;color:var(--muted);vertical-align:middle;max-width:100%}
.plat-i{display:inline-flex}.plat .ic{width:16px;height:16px;vertical-align:baseline}
.facts-line{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;margin:8px 0 0;font-size:.86rem;color:var(--muted)}
.dot{color:var(--line-2)}
.conn{color:var(--ink);text-decoration:none;font-weight:700;margin-left:2px;padding:0 2px}
.conn:hover{color:var(--link)}
.conn-wrap{padding:6px 0 36px}
.conn-note{margin:0;font-size:.84rem;color:var(--muted);max-width:76ch}
.conn-star{font-weight:700;color:var(--ink)}

/* ---------- quick picks, chips ---------- */
.picks{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);margin-bottom:22px}
.picks li{display:grid;grid-template-columns:1fr auto;grid-template-areas:"l l" "p s";gap:8px 10px;align-items:center;padding:14px 16px;border-right:1px solid var(--line)}
.picks li:last-child{border-right:0}
.pick-l{grid-area:l;font:650 .74rem/1 var(--f-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.pick-p{grid-area:p;display:flex;gap:10px;align-items:center;font-weight:650;color:var(--ink);text-decoration:none;min-width:0}
.pick-p span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pick-s{grid-area:s;font:800 1.6rem/1 var(--f-num)}
@media (max-width:700px){.picks li{border-right:0;border-bottom:1px solid var(--line)}.picks li:last-child{border-bottom:0}}
.chips{display:flex;flex-wrap:wrap;gap:6px 6px;align-items:center;margin-bottom:18px}
.chips-l{font-size:.85rem;color:var(--muted);margin-right:6px}
.chips a{display:inline-flex;gap:6px;align-items:center;height:34px;padding:0 12px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);color:var(--ink);text-decoration:none;font-weight:550;font-size:.88rem}
.chips a:hover{background:var(--surface-2)}
.chips a[aria-current=page]{background:var(--btn-bg);color:var(--btn-ink);border-color:var(--btn-bg)}
.chips small{color:var(--muted);font-weight:500}.chips a[aria-current=page] small{color:inherit;opacity:.75}

/* ---------- ranking list ---------- */
.rks{list-style:none;display:grid;gap:10px}
.rk{display:grid;grid-template-columns:48px 52px minmax(0,1fr) auto;grid-template-areas:"n logo name side" "n logo body side";gap:0 18px;align-items:start;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.rk-n{grid-area:n}.rk-n span{display:grid;place-items:center;width:44px;height:44px;border-radius:5px;font:800 2.5rem/1 var(--f-num);color:var(--ink);letter-spacing:-.01em}
.rk-top .rk-n span{background:var(--gold);color:var(--gold-ink);font-size:2.1rem}
.rk-logo{grid-area:logo;text-decoration:none}
.rk-name{grid-area:name;font:700 1.25rem/1.2 var(--f-serif);align-self:center;min-height:44px;display:flex;align-items:center;gap:2px;flex-wrap:wrap}
.rk-name a{color:var(--ink);text-decoration:none}.rk-name a:hover{color:var(--link);text-decoration:underline}
.rk-body{grid-area:body;min-width:0}
.rk-verdict{margin:2px 0 0;color:var(--ink-2);max-width:62ch}
.rk-best{margin:8px 0 0;font-size:.9rem;color:var(--ink)}.rk-best span{font-weight:650;color:var(--muted);margin-right:4px}
.rk-side{grid-area:side;grid-row:1/3;display:grid;justify-items:end;gap:10px;min-width:118px;align-content:start}
.score{display:grid;justify-items:end;line-height:1}
.score b{font:800 2.6rem/1 var(--f-num);letter-spacing:-.01em}
.score small{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:2px}
.rk-more{font-size:.85rem;color:var(--muted)}
.na{color:var(--muted)}
@media (max-width:700px){
  .rk{grid-template-columns:34px 44px minmax(0,1fr);grid-template-areas:"n logo name" "body body body" "side side side";gap:0 12px;padding:16px}
  .rk-n span{width:34px;height:34px;font-size:1.9rem}.rk-top .rk-n span{font-size:1.6rem}
  .rk-logo .logo{--s:44px!important}
  .rk-name{min-height:44px;font-size:1.15rem}
  .rk-body{margin-top:10px}
  .rk-side{grid-row:auto;display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);justify-items:initial}
  .score{display:flex;align-items:baseline;gap:6px}.score small{margin:0}
  .rk-more{display:none}
}

/* ---------- tables ---------- */
.tablewrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.tbl{border-collapse:separate;border-spacing:0;width:100%;min-width:640px;font-size:.92rem}
.tbl th,.tbl td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.tbl thead th{font:650 .78rem/1.2 var(--f-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--surface-2);white-space:nowrap;vertical-align:bottom}
.tbl tbody tr:last-child>*{border-bottom:0}
.tbl tbody th{position:sticky;left:0;background:var(--surface);font-weight:650;z-index:1;border-right:1px solid var(--line)}
.tbl .num{text-align:right;font:800 1.25rem/1.1 var(--f-num);white-space:nowrap}
.tbl thead th.num{font:650 .78rem/1.2 var(--f-sans)}
.tbl-name{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:650}
.tbl-name:hover{color:var(--link)}
.tbl-name-col{align-items:flex-start;flex-direction:column;gap:8px;font:700 1rem/1.2 var(--f-serif)}
.tbl-cmp{min-width:560px}
.tbl-cmp thead td{background:var(--surface-2)}
.tbl-cmp th[scope=col]{text-transform:none;letter-spacing:0;font-size:1rem;color:var(--ink);min-width:200px}
.tbl small{display:block;color:var(--muted);margin-top:4px;line-height:1.35}
.num-big{font:800 1.9rem/1 var(--f-num)}
.cell-list{margin:0;padding-left:1.1em;display:grid;gap:4px}
.tbl td .ic-yes+span,.tbl td .ic-no+span{margin-left:6px}

/* ---------- reading blocks ---------- */
.choose{display:grid;gap:16px}.choose dt{font-weight:650}.choose dd{margin:2px 0 0;color:var(--ink-2)}
.choose>div{padding-bottom:14px;border-bottom:1px solid var(--line)}
.criteria{margin:12px 0 18px 1.2em;display:grid;gap:6px}
.sec-alt h2{margin-bottom:14px}
.faq{display:grid;gap:0}
.faq-i{padding:18px 0;border-top:1px solid var(--line)}.faq-i:last-child{border-bottom:1px solid var(--line)}
.faq dt{font:650 1.05rem/1.35 var(--f-sans);margin-bottom:6px}.faq dd{margin:0;color:var(--ink-2);max-width:68ch}
.faq,.prose,.main-col p,.prose-block{max-width:68ch}
.prose-block p{font:400 1.04rem/1.7 var(--f-serif)}
.faq-i:first-child{margin-top:14px}
.main-col p{font:400 1.02rem/1.65 var(--f-serif)}
.links{list-style:none;display:grid;gap:8px}.links a{text-decoration:none;font-weight:550}.links a:hover{text-decoration:underline}
.links-wide{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr))}
.rel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:30px}.rel h3{margin-bottom:10px}
.feat{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:8px 28px;max-width:68ch}
.feat li{position:relative;padding-left:18px;font-size:.96rem}
.feat li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;background:var(--ink-2);border-radius:1px}
.pc2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:30px}
@media (max-width:640px){.pc2{grid-template-columns:minmax(0,1fr)}}
.pc2 h3{margin-bottom:10px}
.pros,.cons{list-style:none;display:grid;gap:10px}
.pros li,.cons li{display:grid;grid-template-columns:20px 1fr;gap:10px;font-size:.96rem}
.pros .ic,.cons .ic{margin-top:3px}

/* ---------- product page ---------- */
.phead-prod{padding-bottom:0}
.prod-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:center}
.prod-id h1{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.prod-id .lede{margin-top:6px}
.prod-act{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:820px){.prod-top{grid-template-columns:auto minmax(0,1fr)}.prod-act{grid-column:1/-1;justify-content:flex-start}}
.take{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);margin-bottom:26px}
.take-score{display:grid;justify-items:center;align-content:start}
.take-score b{font:800 3.4rem/1 var(--f-num)}.take-score small{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;color:var(--muted)}
.take-h{font-weight:650;margin-bottom:6px}.take-body p{margin:0 0 8px;font-family:var(--f-sans)!important;font-size:1rem!important;max-width:60ch}
.take-best{color:var(--ink);font-size:.92rem!important}.take-best span{color:var(--muted);font-weight:650;margin-right:4px}
.side-col{align-self:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.side-h{font:650 .8rem/1 var(--f-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:12px}
.facts{display:grid;gap:0;margin:0 0 12px}
.facts>div{display:grid;grid-template-columns:116px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.facts>div:last-child{border-bottom:0}
.facts dt{color:var(--muted);font-size:.88rem}.facts dd{margin:0;font-weight:550;min-width:0;overflow-wrap:anywhere}
.facts small{display:block;font-weight:400;color:var(--muted);margin-top:2px}
.facts .ic{margin-right:4px}
.pcs{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:12px}
.pcs-tight{grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr))}
.pc{display:flex;gap:12px;align-items:center;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink);height:100%}
.pc:hover{border-color:var(--ink-2);color:var(--ink)}
.pc-body{display:grid;gap:2px;min-width:0}.pc-name{font-weight:650}.pc-note{color:var(--muted);font-size:.85rem;line-height:1.35}
.agroups{display:grid;gap:28px}.agroup h3{margin-bottom:12px;font-size:1.1rem}
.save{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);color:var(--ink);font:650 .93rem/1 var(--f-sans);cursor:pointer}
.save:hover{background:var(--surface-2)}
.save[aria-pressed=true]{background:var(--surface-2);border-color:var(--ink-2)}
.save[aria-pressed=true] .ic{fill:currentColor}
.pcs-save li{display:grid;gap:8px}

/* ---------- comparison ---------- */
.vs-head{display:flex;align-items:center;gap:18px;margin:18px 0 6px;flex-wrap:wrap}
.vs-head i{font:800 1.8rem/1 var(--f-num);color:var(--muted);font-style:normal}
.vs-p{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font:700 1.35rem/1.15 var(--f-serif)}
.choosers{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:28px}
@media (max-width:700px){.choosers{grid-template-columns:minmax(0,1fr)}}
.chooser{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.chooser h3{font:700 1.1rem/1.25 var(--f-serif);margin-bottom:8px}.chooser p{margin:0 0 8px}.chooser-v{color:var(--ink-2);font-size:.95rem}
.diffs{margin:12px 0 0 1.2em;display:grid;gap:6px;max-width:68ch}
.vss{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:10px}
.vs{display:flex;align-items:center;gap:10px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink);font-weight:650}
.vs:hover{border-color:var(--ink-2);color:var(--ink)}
.vs i{font:800 1.2rem/1 var(--f-num);font-style:normal;color:var(--muted);padding:0 2px}
.picker{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px;max-width:760px}
.picker p{color:var(--ink-2)}
.picker-row{position:relative;margin:14px 0}
.picker input[type=search]{width:100%;height:46px;padding:0 14px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--bg);color:var(--ink);font:inherit}
.picked{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;min-height:8px}
.picked li{display:inline-flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--bg);font-weight:600;font-size:.92rem}
.picked button{border:0;background:none;color:var(--muted);cursor:pointer;display:grid;place-items:center;width:24px;height:24px}

/* ---------- posts, prose ---------- */
.posts{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:14px}
.post-card{display:grid;gap:8px;height:100%;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink)}
.post-card:hover{border-color:var(--ink-2);color:var(--ink)}
.post-sec{font:650 .75rem/1 var(--f-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.post-t{font:700 1.15rem/1.3 var(--f-serif)}.post-d{color:var(--muted);font-size:.92rem}
.prose{font:400 1.06rem/1.72 var(--f-serif);color:var(--ink)}
.prose>*{max-width:68ch}
.prose h2{margin:2.1em 0 .6em;font-size:1.6rem}.prose h3{font:700 1.2rem/1.3 var(--f-serif);margin:1.7em 0 .5em}
.prose p{margin:0 0 1.15em}
.prose ul,.prose ol{margin:0 0 1.2em 1.3em;display:grid;gap:.45em}
.prose li{padding-left:.2em}
.prose blockquote{margin:1.4em 0;padding:.2em 0 .2em 1.2em;border-left:3px solid var(--line-2);color:var(--ink-2)}
.prose table{border-collapse:collapse;width:100%;font:400 .94rem/1.45 var(--f-sans);margin:1.4em 0;display:block;overflow-x:auto;max-width:100%}
.prose th,.prose td{padding:10px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}
.prose th{background:var(--surface-2);font-weight:650}
.prose code{font:.9em/1 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--surface-2);padding:.15em .4em;border-radius:4px}
.prose pre{background:var(--surface-2);padding:14px;border-radius:var(--r);overflow:auto;font-size:.9rem}
.prose pre code{background:none;padding:0}
.prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.toc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px 22px;margin:8px 0 30px;max-width:68ch}
.toc h2{font:650 .8rem/1 var(--f-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}
.toc ol{margin:0 0 0 1.2em;display:grid;gap:6px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin:32px 0;max-width:68ch;font-family:var(--f-sans)}
.panel h2{font:700 1.15rem/1.3 var(--f-serif);margin-bottom:8px}
.results{list-style:none;display:grid;gap:10px}
.results a{display:grid;grid-template-columns:1fr auto;gap:2px 14px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink)}
.results a:hover{border-color:var(--ink-2)}
.res-t{font-weight:650}.res-k{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.res-d{grid-column:1/-1;color:var(--muted);font-size:.9rem}
.how{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.how h2{margin-bottom:12px}.how p{max-width:60ch}
.how-facts{display:grid;gap:0;margin:0}.how-facts>div{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.how-facts dt{color:var(--muted);font-size:.88rem}.how-facts dd{margin:0;font-weight:550}
@media (max-width:900px){.how{grid-template-columns:minmax(0,1fr);gap:24px}}

/* ---------- share + ask AI ---------- */
.share,.askai{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.share-h{font:650 .8rem/1 var(--f-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:12px}
.tools{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.tool{--b:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:42px;height:42px;padding:0 11px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);color:var(--ink);font:600 .9rem/1 var(--f-sans);text-decoration:none;cursor:pointer;transition:background-color .12s,color .12s,border-color .12s}
.tool .ic{width:20px;height:20px;color:var(--b)}
.tool:hover{background:var(--b);border-color:var(--b);color:#fff}
.tool:hover .ic{color:#fff}
.share .tool-l{display:none}
.tool-x,.tool-grok,.tool-copy,.tool-native,.tool-mail{--b:var(--ink)}
.tool-x:hover,.tool-grok:hover,.tool-copy:hover,.tool-native:hover,.tool-mail:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.tool-x:hover .ic,.tool-grok:hover .ic,.tool-copy:hover .ic,.tool-native:hover .ic,.tool-mail:hover .ic{color:var(--bg)}
.tool-facebook{--b:#0866FF}.tool-linkedin{--b:#0A66C2}.tool-reddit{--b:#FF4500}.tool-whatsapp{--b:#1FA855}.tool-telegram{--b:#229ED9}.tool-bluesky{--b:#1185FE}.tool-ycombinator{--b:#FF6600}
.tool-chatgpt{--b:#10A37F}.tool-claude{--b:#D97757}.tool-perplexity{--b:#1B7F8C}.tool-googlegemini{--b:#4285F4}.tool-deepseek{--b:#4D6BFE}.tool-mistralai{--b:#FA520F}
.tool.copied{background:var(--ok);border-color:var(--ok);color:#fff}
.askai-note{margin:10px 0 0;font-size:.88rem;color:var(--muted)}
.askai{border-top:0;padding-top:0;margin-top:22px}
.share[hidden],.share-native[hidden]{display:none}

/* ---------- forms, auth, account ---------- */
.auth{padding:36px 0 56px}
.auth-row{display:grid;grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:64px;align-items:start}
@media (max-width:900px){.auth-row{grid-template-columns:minmax(0,1fr);gap:32px}}
.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:30px}
.auth-card h1{font-size:1.9rem;margin-bottom:8px}
.auth-intro{color:var(--ink-2);margin-bottom:18px}
.auth-alt{margin:18px 0 0;font-size:.93rem;color:var(--muted)}
.auth-side h2{font-size:1.1rem;margin:0 0 10px}.auth-side h2:not(:first-child){margin-top:26px}
.auth-side p{color:var(--ink-2);max-width:48ch}
.ticks{list-style:none;display:grid;gap:10px;color:var(--ink-2)}
.ticks li{position:relative;padding-left:26px}
.ticks li::before{content:"";position:absolute;left:3px;top:.45em;width:11px;height:6px;border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(-45deg)}
.form{display:grid;gap:16px}
.form-inline{margin-top:8px}
.form-row{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));align-items:end}
.field{display:grid;gap:6px}
.field label,.label-row label{font-weight:650;font-size:.92rem}
.label-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.field input,.field select,.field textarea{width:100%;min-height:46px;padding:10px 14px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--bg);color:var(--ink);font:inherit}
.field textarea{resize:vertical;min-height:140px}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--focus);outline-offset:0;border-color:var(--focus)}
.help{margin:0;font-size:.85rem;color:var(--muted)}
.check{display:grid;grid-template-columns:20px 1fr;gap:10px;font-size:.92rem;color:var(--ink-2);align-items:start}
.check input{width:18px;height:18px;margin-top:2px}
.code-input{font:700 2rem/1 ui-monospace,SFMono-Regular,Menlo,monospace!important;letter-spacing:.35em;text-align:center}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.flash{padding:12px 14px;border-radius:var(--r);font-size:.93rem;border:1px solid}
.flash-err{background:color-mix(in srgb,var(--danger) 10%,var(--surface));border-color:var(--danger);color:var(--ink)}
.flash-ok{background:color-mix(in srgb,var(--ok) 12%,var(--surface));border-color:var(--ok);color:var(--ink)}
.acc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:8px}
@media (max-width:760px){.acc-grid{grid-template-columns:minmax(0,1fr)}}
.acc-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.acc-card h2{font-size:1.15rem;margin-bottom:12px}
.acc-wide{grid-column:1/-1}
.acc-danger{border-color:var(--danger)}
.acc-list{list-style:none;display:grid;gap:0;margin:0 0 14px}
.acc-list li{display:grid;grid-template-columns:1fr auto;gap:2px 14px;padding:11px 0;border-bottom:1px solid var(--line);align-items:center}
.acc-list li:last-child{border-bottom:0}
.acc-main{font-weight:600}.acc-sub{grid-column:1;color:var(--muted);font-size:.85rem}
.acc-act{grid-row:1/3;grid-column:2}
.acc-here{font-size:.78rem;color:var(--ok)}.acc-tag{font-size:.78rem;color:var(--muted);font-weight:500}
.logout{margin-top:22px}

/* ---------- footer ---------- */
.foot{margin-top:40px;background:var(--surface);border-top:1px solid var(--line);padding:44px 0 28px}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;gap:30px}.foot-about{grid-column:1/-1}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot-about p{margin:14px 0 0;color:var(--muted);font-size:.92rem;max-width:36ch}
.foot-h{font:650 .8rem/1 var(--f-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:14px}
.foot ul{list-style:none;display:grid;gap:8px}
.foot ul a{color:var(--ink-2);text-decoration:none;font-size:.93rem}.foot ul a:hover{color:var(--link);text-decoration:underline}
.foot-base{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:36px 0 0;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
.foot-base a{color:var(--ink);font-weight:600}

@media print{.head,.foot,.share,.askai,.save,.hero-search{display:none}body{background:#fff}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
