/* Newsreader and JetBrains Mono (SIL Open Font License), served from zlio.com: no third party */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/JetBrainsMono-400-latin-ext.woff2) format('woff2');
  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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/JetBrainsMono-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/JetBrainsMono-600-latin-ext.woff2) format('woff2');
  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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/JetBrainsMono-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Newsreader-500-latin-ext.woff2) format('woff2');
  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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Newsreader-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Newsreader-700-latin-ext.woff2) format('woff2');
  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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Newsreader-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--bg:#f7f3ec;--card:#fffdf9;--fg:#141210;--muted:#6f6a62;--line:#e4ddd1;--accent:#d94a1e;--accent-soft:#fbe4d8;
--open:#0f766e;--open-soft:#d5efe9;--closed:#475569;--closed-soft:#e2e8f0;--new:#fff4c2;
--serif:"Newsreader",Georgia,serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,monospace;
--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#12100e;--card:#1a1714;--fg:#f1ece4;--muted:#a39b90;
--line:#2b2621;--accent:#ff6a3d;--accent-soft:#3a1f14;--open:#5eead4;--open-soft:#0f2e2a;--closed:#cbd5e1;--closed-soft:#272d36;--new:#3a3215}}
:root[data-theme=dark]{--bg:#12100e;--card:#1a1714;--fg:#f1ece4;--muted:#a39b90;
--line:#2b2621;--accent:#ff6a3d;--accent-soft:#3a1f14;--open:#5eead4;--open-soft:#0f2e2a;--closed:#cbd5e1;--closed-soft:#272d36;--new:#3a3215}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}
header.top{max-width:1280px;margin:0 auto;padding:14px 16px 8px;display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font:700 30px/1 var(--serif);letter-spacing:-.6px}
.logo{width:30px;height:30px;color:var(--accent)}
.tag{color:var(--muted);font-size:14px}
.by a:hover{color:var(--accent)}
.by{display:flex;flex-wrap:wrap;align-items:center;gap:0 5px;font-size:11.5px;color:var(--muted);margin-top:2px}
.hright{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.live{font:12px var(--mono);color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:0 7px}.live span{white-space:nowrap}
.quick{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.search input{font:13px var(--sans);width:170px;padding:4px 11px;border:1px solid var(--line);border-radius:999px;
background:var(--card);color:var(--fg)}.search input:focus{outline:none;border-color:var(--accent);width:220px}
.search-form{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.search-form input{flex:1 1 260px;font:17px var(--sans);
padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--fg)}
.search-form select{font:14px var(--sans);padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--fg)}
.quick a{font:600 12.5px var(--sans);padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--fg)}
.quick a:hover{border-color:var(--accent);color:var(--accent)}
.qlinks{display:contents}
@media (max-width:820px){.hright{margin-left:0;align-items:flex-start;width:100%}.quick{justify-content:flex-start;width:100%}.tag .tl{display:none}
.qlinks{display:flex;gap:8px;flex:1 1 0;min-width:0;overflow-x:auto;scrollbar-width:none;
-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
.qlinks::-webkit-scrollbar{display:none}.qlinks a{white-space:nowrap;flex:none}
.quick .search{flex:1}.quick .search input{width:100%}}
.live i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 var(--accent);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}
@media (prefers-reduced-motion:reduce){.live i{animation:none}}
.tabs{max-width:1280px;margin:0 auto;padding:0 16px 8px;display:flex;flex-wrap:wrap;gap:4px 0;font-size:12.5px;font-weight:600}
@media (max-width:820px){.tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}}
.tabs::-webkit-scrollbar{display:none}
.tabs a{white-space:nowrap;padding:5px 7px;border-radius:999px;color:var(--muted)}
.tabs a:hover{color:var(--fg);background:var(--line)}.tabs a[aria-current=page]{background:var(--fg);color:var(--bg)}
h2 a{color:inherit}
.bar{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);
border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bar{max-width:none;display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px max(16px,calc((100vw - 1248px)/2))}
.bar nav{display:none}
.bar .cos{flex:1 1 0;min-width:0;order:-1;padding-top:0;
-webkit-mask-image:linear-gradient(90deg,#000 93%,transparent);mask-image:linear-gradient(90deg,#000 93%,transparent)}
.ctl{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.ctl button,.view button,.since button{font:600 12px var(--sans);border:0;background:transparent;color:var(--muted);padding:6px 12px;cursor:pointer}
.ctl button[aria-pressed=true]{background:var(--fg);color:var(--bg)}
.view{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.view button[aria-pressed=true]{background:var(--fg);color:var(--bg)}
.bell{font:600 12.5px var(--sans);border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--fg);
padding:4px 10px;cursor:pointer}.bell:hover{border-color:var(--accent);color:var(--accent)}.bell[aria-pressed=true]{border-color:var(--accent)}
.theme{font:15px/1 var(--sans);border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--fg);
padding:4px 10px;cursor:pointer}.theme:hover{border-color:var(--accent);color:var(--accent)}
.co-hide{display:none!important}
.fbtn{display:none;font:600 12.5px var(--sans);border:1px solid var(--fg);border-radius:999px;background:var(--card);
color:var(--fg);padding:6px 14px;cursor:pointer}.fbtn span{color:var(--accent)}
.tagrow{flex-basis:100%;display:flex;flex-wrap:wrap;gap:5px;align-items:center;padding-top:6px}
.tagrow span{font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.6px;color:var(--accent);margin-right:4px}
.tagrow button{font:600 12px var(--sans);border:1px dashed var(--accent);border-radius:999px;background:none;color:var(--fg);
padding:3px 10px;cursor:pointer}.tagrow button[aria-pressed=true]{background:var(--accent);color:#fff;border-style:solid}
.b.topic{border:1px dashed var(--accent);color:var(--accent);background:none}
.cos{flex-basis:100%;display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;padding-top:2px}.cos::-webkit-scrollbar{display:none}
.cos button{font:600 12px var(--sans);white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:var(--card);
color:var(--muted);padding:4px 11px;cursor:pointer}.cos button:hover{color:var(--fg)}
.cos button[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.since{max-width:1248px;margin:10px auto 0;padding:8px 14px;background:var(--new);border-radius:10px;font-size:14px;display:flex;align-items:center;gap:10px}
.signup{max-width:1248px;margin:4px auto 12px;padding:10px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card);
display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;font-size:14px}
.signup{position:relative;padding-right:40px}
.signup .x{position:absolute;top:4px;right:6px;width:28px;height:28px;border:0;border-radius:6px;background:transparent;
color:var(--muted);font:20px/1 var(--sans);cursor:pointer}.signup .x:hover{background:var(--line);color:var(--fg)}
.signup>div{flex:1 1 420px;font-size:13.5px}.signup small{color:var(--muted);font-size:11.5px}
.signup input[type=email]{flex:0 1 240px;font:14px var(--sans);padding:7px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg)}
.signup button{font:600 13.5px var(--sans);padding:7px 14px;border:0;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer}
.signup .hp,.contact .hp{position:absolute;left:-9999px}
.optout{border:2px solid var(--accent);background:var(--accent-soft);border-radius:12px;padding:18px 20px;margin:18px 0 26px}
.optout h2{font:700 20px/1.25 var(--serif);text-transform:none;letter-spacing:0;color:var(--fg);border:0;margin:0 0 8px;padding:0}
.optout p{margin:0 0 14px;font-size:15px}
.optout-btn{display:inline-block;font:600 14px var(--sans);padding:9px 16px;border-radius:8px;background:var(--accent);color:#fff}
.optout-btn:hover{color:#fff;opacity:.9}.optout span{font-size:13.5px;color:var(--muted);margin-left:8px}
footer a.optout-link{color:var(--accent)}
.intro{max-width:1248px;margin:6px auto 0;padding:0 16px}.intro p{font:500 16px/1.5 var(--serif);margin:6px 0 4px}
.contact{display:grid;gap:14px;max-width:560px;margin-top:18px}
.contact label{display:grid;gap:5px;font-weight:600;font-size:14px}
.contact input,.contact textarea{font:15px var(--sans);padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--fg)}
.contact button{justify-self:start;font:600 14px var(--sans);padding:9px 18px;border:0;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer}
.contact small{color:var(--muted)}
@media (max-width:820px){.signup{margin:4px 16px 12px;padding:10px 40px 10px 12px;gap:8px}.signup>div{font-size:12.5px;line-height:1.4}
.signup small{display:none}.signup input[type=email]{flex:1 1 140px}}
.since[hidden]{display:none}.since button{margin-left:auto;color:var(--fg);text-decoration:underline}
h2{font:600 11.5px/1 var(--mono);text-transform:uppercase;letter-spacing:1.2px;color:var(--accent);margin:26px 0 4px;padding-bottom:8px;
border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline}
h2 .rss{font-size:10px;color:var(--muted);letter-spacing:.5px}
[id]{scroll-margin-top:96px}
.cat{font:600 10.5px var(--mono);color:var(--accent);text-transform:uppercase;letter-spacing:.6px}
main{max-width:1280px;margin:0 auto;padding:0 16px 24px;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:44px}
aside>section{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:2px 18px 14px;margin-top:22px}
aside>section>h2{margin-top:14px}
.rich{list-style:none;margin:2px 0 0;padding:0}ol.rich{list-style:decimal;padding-left:22px}
ol.rich li::marker{font:700 12px var(--mono);color:var(--accent)}
.rich li{padding:11px 0;border-bottom:1px solid var(--line)}.rich li:last-child{border-bottom:0;padding-bottom:4px}
.rich a.h{font:600 15.5px/1.35 var(--serif);color:var(--fg)}.rich a.h:hover{color:var(--accent)}
.rich .sub{margin-top:5px;font:13px/1.45 var(--sans);color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;
-webkit-box-orient:vertical;overflow:hidden}
.pill{display:inline-block;font:600 10.5px/1 var(--sans);padding:3px 8px;border-radius:999px;margin-right:7px;
letter-spacing:.2px;vertical-align:1px;white-space:nowrap}
.rich a.h+.pill{margin-left:6px}
.k-app{background:#dfeaff;color:#1d4ed8}.k-dev{background:#ece3ff;color:#6d28d9}.k-github{background:#e7e5e4;color:#1c1917}
.k-hf{background:#fff1bf;color:#8a4b0b}.k-fund{background:#d6f2e6;color:#0f6b4a}.k-launch{background:var(--accent-soft);color:var(--accent)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .k-app{background:#1d2b4a;color:#9dbcff}
:root:not([data-theme=light]) .k-dev{background:#2c2147;color:#c4b0ff}:root:not([data-theme=light]) .k-github{background:#2a2725;color:#e7e5e4}
:root:not([data-theme=light]) .k-hf{background:#3a2e10;color:#ffd77a}:root:not([data-theme=light]) .k-fund{background:#12352a;color:#7fe0b6}}
[data-theme=dark] .k-app{background:#1d2b4a;color:#9dbcff}[data-theme=dark] .k-dev{background:#2c2147;color:#c4b0ff}
[data-theme=dark] .k-github{background:#2a2725;color:#e7e5e4}[data-theme=dark] .k-hf{background:#3a2e10;color:#ffd77a}
[data-theme=dark] .k-fund{background:#12352a;color:#7fe0b6}
.co-rank{flex-wrap:wrap;overflow:visible;padding-top:8px}.co-rank button span{font:600 10.5px var(--mono);margin-left:6px;opacity:.7}
article{padding:16px 0;border-bottom:1px solid var(--line);position:relative}
article.new .meta::before,.covered li.new>a::before{content:"NEW";display:inline-block;margin-right:6px;padding:1px 6px;border-radius:4px;
background:var(--accent);color:#fff;font:700 9.5px/1.5 var(--mono);letter-spacing:.5px;vertical-align:1px}
body.only-new main article.story:not(.new){display:none}
article.cur{background:var(--accent-soft);box-shadow:-10px 0 0 var(--accent-soft),10px 0 0 var(--accent-soft)}
article h3{margin:3px 0;font-weight:650}
.big h3{font:700 22px/1.22 var(--serif);letter-spacing:-.2px}
.small h3{font-size:14.5px;line-height:1.35}
article p{margin:5px 0}.small p{font-size:13.5px;color:var(--muted)}
.why{font:italic 500 15px/1.4 var(--serif);color:var(--accent)}.why b{font:600 13px var(--sans);font-style:normal}
.full{font-weight:650;color:var(--accent);text-decoration:none!important;white-space:nowrap}
.meta,.more{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.more{display:block;margin-top:5px}.more a{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:2px}
.fav{width:14px;height:14px;border-radius:3px;vertical-align:-2px}
.src{font-weight:650;color:var(--fg)}
.star{border:0;background:none;padding:0 3px;margin-left:2px;font:15px/1 var(--sans);color:var(--muted);cursor:pointer}
.star:hover,.star[aria-pressed=true]{color:var(--accent)}
.saved-item{padding:12px 0;border-bottom:1px solid var(--line)}.saved-item .meta{font-size:12px;color:var(--muted)}
.saved-item .star,.clear-favs{font:600 12px var(--mono);color:var(--accent);margin:0;padding:0}
.clear-favs{border:0;background:none;cursor:pointer;margin-top:14px}
.perm{opacity:0;font:600 12px var(--mono);color:var(--muted);margin-left:2px}article:hover .perm,article.cur .perm{opacity:1}
.hn{white-space:nowrap}
.facts{font:11.5px/1.4 var(--mono);color:var(--muted);margin-top:4px}
.badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.b{font:600 10.5px/1 var(--mono);padding:4px 7px;border-radius:5px;background:var(--line);color:var(--fg);letter-spacing:.2px}
.b.org{background:transparent;border:1px solid var(--line)}
.b.open{background:var(--open-soft);color:var(--open)}.b.closed{background:var(--closed-soft);color:var(--closed)}
.b.official{background:var(--accent-soft);color:var(--accent)}
.older{display:inline-block;margin:12px 18px 4px 0;font-size:13px;font-weight:650;color:var(--accent)}
.dl{display:inline-block;font:600 12.5px var(--sans);padding:6px 12px;border-radius:7px;background:var(--accent);color:#fff;white-space:nowrap}
.dl:hover{color:#fff;opacity:.9}
article.wide{box-shadow:inset 3px 0 0 var(--accent);padding-left:14px}
.hot{font:600 10.5px/1 var(--mono);color:#fff;background:var(--accent);padding:3px 7px;border-radius:4px;margin-left:4px;white-space:nowrap}
.covered ol{margin:6px 0 0;padding-left:22px}
.covered li{padding:8px 0;border-bottom:1px solid var(--line);font:600 15px/1.35 var(--serif)}
.covered li::marker{font:700 12px var(--mono);color:var(--accent)}
.covered .n{font:600 11px var(--mono);color:var(--accent);white-space:nowrap}
.covered[data-p="24"]>div[data-p]:not([data-p="24"]),.covered[data-p="48"]>div[data-p]:not([data-p="48"]),.covered[data-p="168"]>div[data-p]:not([data-p="168"]),
.tabbed[data-p=soft]>div[data-p]:not([data-p=soft]),.tabbed[data-p=hard]>div[data-p]:not([data-p=hard]),
.tabbed[data-p=ready]>div[data-p]:not([data-p=ready]),
.tabbed[data-p=new]>div[data-p=upd],.tabbed[data-p=upd]>div[data-p=new],
.tabbed[data-p=text-to-video]>div[data-p=image-to-video],.tabbed[data-p=image-to-video]>div[data-p=text-to-video]{display:none}
#models .note a{text-decoration:underline}#models .note{margin-top:10px;font-size:12.5px}
.tabbed .per button{font-size:11px;padding:4px 11px}
.per{display:flex;gap:4px}.per button{font:600 10px var(--mono);letter-spacing:.5px;text-transform:uppercase;cursor:pointer;
border:1px solid var(--line);background:none;color:var(--muted);padding:3px 8px;border-radius:999px}
.per button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}
.covered .who{display:flex;align-items:center;flex-wrap:wrap;gap:3px 5px;margin-top:5px;font:600 11px var(--mono)}
.covered .who .fav{vertical-align:0}.covered .plus{color:var(--muted);margin-right:4px}
.covered .rise{color:var(--open);white-space:nowrap}
.covered:not(.open) li.x10,.more-btn .m,.more-btn.m-only,.covered.open .more-btn .more,.covered:not(.open) .more-btn .less{display:none}
.more-btn{border:0;background:none;padding:8px 0 0;font:600 11px var(--mono);color:var(--accent);cursor:pointer;text-transform:uppercase;letter-spacing:.5px}.covered .note{font-size:13.5px;color:var(--muted)}


.trackers a{display:block;padding:9px 0;border-bottom:1px solid var(--line);font-weight:600;font-size:14px}
.ship{background:var(--card);border-top:2px solid var(--fg);margin-top:16px}
.ship>*{max-width:1280px;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px}
.ship h2.band{font:700 26px/1.2 var(--serif);text-transform:none;letter-spacing:-.3px;color:var(--fg);border:0;margin:0;padding-top:26px}
.ship .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;padding-bottom:40px}
@media (max-width:1100px){.ship .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.ship .grid{grid-template-columns:1fr}}
.arch.models-page{max-width:1248px}.models-page h2{margin-top:16px}
.mhead{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 22px;margin:4px 0 8px}.mhead h1{font-size:28px;margin:0}
.mhead .mstats{margin:0}.mtabs{display:flex;align-items:center;justify-content:space-between;margin:2px 0 4px}
.mtabs .per button{font-size:12px;padding:6px 14px}.mtabs .rss{font:600 10.5px var(--mono);color:var(--muted);letter-spacing:.5px}.models-page h2{margin-top:10px}
.mstats{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0 0 4px}
.mstats div{display:flex;align-items:baseline;gap:6px}
.mstats b{font:700 19px/1.2 var(--serif)}.mstats span{font-size:13px;color:var(--muted)}
.mgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:12px}
.mcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:7px}
.mcard.feat{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}
.mtop{display:flex;justify-content:space-between;font:600 11px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.mtop .lab{color:var(--accent)}.mcard h3{margin:0;font:700 21px/1.2 var(--serif)}.mcard.feat h3{font-size:24px}
.mcard .b{align-self:flex-start}.specs{display:flex;flex-wrap:wrap;gap:5px}
.spec{font:12px var(--sans);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:3px 8px}
.spec i{font-style:normal;color:var(--muted);margin-right:5px}
.mcard p{margin:0;font-size:13.5px;line-height:1.45;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.msrc{margin-top:auto;font-size:12px;color:var(--muted)}.msrc a{font-weight:600;color:var(--accent)}
.mtools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.mfind{font:14px var(--sans);padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--fg);width:260px}
.q-hide{display:none!important}[data-sf=open] .mcard:not([data-ship=open]),[data-sf=closed] .mcard:not([data-ship=closed]),
[data-sf=desktop] .mcard:not([data-ship=desktop]),[data-sf=vscode] .mcard:not([data-ship=vscode]),[data-sf=cli] .mcard:not([data-ship=cli]),[data-sf=mobile] .mcard:not([data-ship=mobile]){display:none}
.mcard .pill{align-self:flex-start;font-size:12px}
.dlb{display:inline-block;font:600 13px var(--sans);background:var(--fg);color:var(--bg)!important;border-radius:999px;padding:7px 16px}
.dlb:hover{background:var(--accent)}
@media (max-width:1000px){.mgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.mgrid{grid-template-columns:minmax(0,1fr)}.mstats{gap:2px 14px}.mhead h1{font-size:24px}.mfind{width:100%;font-size:16px}}
.d-sec{font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.6px;color:var(--accent)}
body:not([data-kind=hard]) #covered-hard,body[data-kind=hard] #covered{display:none}
.lg{display:inline-flex;padding:2px;border-radius:4px}.lg:hover{background:var(--line)}
.srcl{display:inline-flex;align-items:center;gap:5px;color:inherit}.srcl:hover .src{color:var(--accent)}
.a2hs{display:flex;align-items:center;gap:12px;margin:4px 16px 12px;padding:10px 12px;border:1px solid var(--line);
border-radius:12px;background:var(--card)}.a2hs[hidden]{display:none}.a2hs img{border-radius:9px;flex:none}
.a2hs div{flex:1;font-size:13px;line-height:1.35}.a2hs span{display:block;color:var(--muted)}.a2hs-how{margin:6px 0 0;color:var(--fg)}
.a2hs-go{font:600 13.5px var(--sans);border:0;border-radius:999px;background:var(--accent);color:#fff;padding:9px 16px;cursor:pointer}
.a2hs-x{border:0;background:none;color:var(--muted);font:22px/1 var(--sans);width:36px;height:36px;cursor:pointer}
.shipf{display:flex;gap:5px;flex-wrap:wrap;padding:10px 0 4px}.shipf button{font:600 12px var(--sans);border:1px solid var(--line);
border-radius:999px;background:var(--card);color:var(--muted);padding:4px 11px;cursor:pointer}
.shipf button[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
[data-sf=launch] article:not([data-ship~=launch]){display:none}[data-sf=ai] article:not([data-ship~=ai]){display:none}
[data-sf=general] article:not([data-ship~=general]){display:none}
.listen{font-size:12.5px;color:var(--muted);margin-top:6px}.listen a{font-weight:600;color:var(--fg)}.listen a:hover{color:var(--accent)}
.ep p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted)}
.showf{font:600 12px var(--sans);border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--fg);padding:4px 10px}
.k-pod{background:#f3e8ff;color:#7e22ce}.secf{padding-top:0}
[data-secf=frontier] article:not([data-sec=frontier]){display:none}[data-secf=open-models] article:not([data-sec=open-models]){display:none}[data-secf=hardware] article:not([data-sec=hardware]){display:none}[data-secf=robotics] article:not([data-sec=robotics]){display:none}[data-secf=devices] article:not([data-sec=devices]){display:none}[data-secf=video] article:not([data-sec=video]){display:none}[data-secf=music] article:not([data-sec=music]){display:none}[data-secf=research] article:not([data-sec=research]){display:none}[data-secf=commerce-payments] article:not([data-sec=commerce-payments]){display:none}[data-secf=security] article:not([data-sec=security]){display:none}[data-secf=business] article:not([data-sec=business]){display:none}[data-secf=huggingface] article:not([data-sec=huggingface]){display:none}[data-secf=github] article:not([data-sec=github]){display:none}[data-secf=consumer] article:not([data-sec=consumer]){display:none}[data-secf=dev] article:not([data-sec=dev]){display:none}[data-sf=funding] article:not([data-ship~=funding]){display:none}
[data-sf=consumer] article:not([data-ship~=consumer]){display:none}[data-sf=dev] article:not([data-ship~=dev]){display:none}[data-sf=github] article:not([data-ship~=github]){display:none}[data-sf=huggingface] article:not([data-ship~=huggingface]){display:none}
body[data-filter=open] .story:not([data-open=open]),body[data-filter=closed] .story:not([data-open=closed]){display:none}
body.compact article p,body.compact .badges,body.compact .facts,body.compact .more{display:none}
body.compact article{padding:7px 0}body.compact .big h3{font-size:17px}
footer{max-width:1280px;margin:0 auto;padding:22px 16px 40px;font-size:13px;color:var(--muted);display:flex;gap:6px 10px;flex-wrap:wrap}
footer .count{font:11px var(--mono);color:var(--muted);opacity:.6;margin-left:12px}
footer a{font-weight:600;color:var(--fg)}footer .credit,footer .credit a{font-weight:400;color:var(--muted)}footer .nonprofit{flex-basis:100%;order:9;color:var(--muted);font-size:12px}.keys{margin-left:auto}
kbd{font:11px var(--mono);border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 4px}
.arch{max-width:880px;margin:0 auto;padding:8px 16px 40px}
.arch h1{font:700 38px/1.15 var(--serif);letter-spacing:-.5px;margin:18px 0 8px}
.kicker{font:600 11.5px var(--mono);text-transform:uppercase;letter-spacing:1px;color:var(--accent)}
.lede{font:500 19px/1.5 var(--serif)}
.prose p{font-size:16px;line-height:1.65}.prose h2{margin-top:30px}
.go{font-weight:700;color:var(--accent)}
.note{color:var(--muted);font-size:14px}
.editions{list-style:none;padding:0}.editions li{padding:10px 0;border-bottom:1px solid var(--line)}.editions small{color:var(--muted)}
.model{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;font:13px var(--mono);background:var(--card);
border:1px solid var(--line);border-radius:10px;padding:12px 16px}.model dt{color:var(--muted)}.model dd{margin:0}
.timeline{list-style:none;padding:0}.timeline li{padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.timeline time{font:12px var(--mono);color:var(--muted);margin-right:8px}
.pager{display:flex;justify-content:space-between;margin:24px 0;font-weight:650}
.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}
th{font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.8px;color:var(--muted);text-align:left;padding:8px;border-bottom:2px solid var(--fg)}
td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}td small{color:var(--muted)}
@media (max-width:820px){main{grid-template-columns:1fr;gap:0}
article{padding:20px 0}.big h3{font-size:21px;line-height:1.25;margin:6px 0}article p{font-size:15px;line-height:1.55}
.meta{font-size:12.5px}.badges{margin-top:9px}.more{font-size:12px;opacity:.85}
.fbtn{display:inline-block}.bar .ctl,.bar .view,.bar .cos{display:none}.bar .tagrow{padding:0 0 6px}
.bar.fopen .ctl,.bar.fopen .view{display:flex}.bar.fopen .cos,.bar.fopen .tagrow{display:flex;flex-wrap:wrap;overflow:visible}
.bar.fopen .cos{flex-basis:100%;order:0;-webkit-mask-image:none;mask-image:none}
.bar.fopen{max-height:75vh;overflow-y:auto;padding-bottom:12px}
main{display:flex;flex-direction:column}main>aside{display:contents}#covered,#covered-hard{order:-1}
.covered:not(.open) li.x5,.more-btn .d{display:none}.more-btn .m{display:inline}.more-btn.m-only{display:inline-block}
.keys{display:none}.arch h1{font-size:30px}}

.statsjb .note{margin:2px 0}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.tiles div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.tiles b{display:block;font:700 26px/1.1 var(--serif)}.tiles span{font-size:12.5px;color:var(--muted)}.tiles.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.sgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px}.sgrid section{min-width:0}
.chart{width:100%;height:auto;display:block}.chart rect{fill:var(--accent)}.chart rect:hover{fill:var(--fg)}
.chart line{stroke:var(--line)}.chart text{font:11px var(--mono);fill:var(--muted)}
.rank{width:100%;border-collapse:collapse;font-size:13.5px}.rank td{padding:6px 6px;border-bottom:1px solid var(--line)}
.rank td:first-child{max-width:0;width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank small{color:var(--muted)}
.rank .num{text-align:right;font:600 12.5px var(--mono);width:60px}.barc{width:30%}.barc span{display:block;height:8px;border-radius:4px;background:var(--accent-soft)}
.alerts{font-size:13.5px;padding-left:18px}
@media (max-width:820px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.sgrid{grid-template-columns:1fr}}
.sgrid section.wide{grid-column:1/-1}.rank th{font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.5px;color:var(--muted);text-align:left;padding:6px}.rank th.num{text-align:right}
.pfrow{margin:0 0 12px}[data-pf=mac] .mcard:not([data-plat~=mac]),[data-pf=windows] .mcard:not([data-plat~=windows]),[data-pf=ios] .mcard:not([data-plat~=ios]),[data-pf=android] .mcard:not([data-plat~=android]),[data-pf=linux] .mcard:not([data-plat~=linux]),[data-pf=web] .mcard:not([data-plat~=web]),[data-pf=other] .mcard:not([data-plat~=other]){display:none}
.legal{max-width:880px}.lglance{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 0}
.lglance div{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--card,transparent)}
.lglance b{display:block;font:700 22px var(--serif);color:var(--accent)}.lglance span{font-size:13px;color:var(--muted)}
.lgrid{display:grid;grid-template-columns:190px 1fr;gap:28px;align-items:start}
.ltoc{position:sticky;top:16px;display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--line);padding-left:12px}
.ltoc a{font:600 12.5px var(--sans);color:var(--muted);padding:4px 0}.ltoc a:hover{color:var(--accent)}
.lsec{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:16px 20px;margin:0 0 14px;scroll-margin-top:16px}
.lsec:target{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.lsec h2{margin:0 0 10px}.lsec p{font-size:15.5px;line-height:1.65;margin:0 0 10px}.lsec p:last-child{margin:0}
.ldl{display:grid;grid-template-columns:110px 1fr;gap:8px 14px;margin:0;font-size:15px}.ldl dt{font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding-top:3px}.ldl dd{margin:0}
.lchecks{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.lchecks li{font:600 13px var(--sans);padding:6px 12px;border-radius:999px;background:var(--accent-soft)}.lchecks li::before{content:"✓ ";color:var(--accent)}
.lwarn{font-size:14px!important;color:var(--muted);border-left:3px solid var(--accent);padding-left:10px}
@media(max-width:760px){.lgrid{grid-template-columns:1fr}.ltoc{display:none}.lglance{gap:6px}.lglance div{padding:9px 10px}.lglance b{font-size:17px}.lglance span{font-size:11.5px;line-height:1.3;display:block}.ldl{grid-template-columns:1fr;gap:2px}.ldl dd{margin-bottom:8px}}
/* Zlio Daily */
.dz{max-width:920px;margin:0 auto;padding:0 16px 30px}
.dz-mast{background:var(--fg);color:var(--bg);border-radius:18px;padding:22px 26px 20px;margin:14px 0 22px;position:relative;overflow:hidden}
.dz-mast::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:var(--accent);opacity:.9}
.dz-top{display:flex;gap:14px;flex-wrap:wrap;font:600 11px var(--mono);text-transform:uppercase;letter-spacing:1px;opacity:.75;position:relative;z-index:1}
.dz-logo{font:700 64px/1 var(--serif);letter-spacing:-1.5px;margin:14px 0 4px;position:relative;z-index:1}.dz-logo em{color:var(--accent);font-style:italic}
.dz-tag{margin:0 0 6px;font:500 17px var(--serif);opacity:.85;position:relative;z-index:1}
.dz-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border-top:1px solid color-mix(in srgb,var(--bg) 25%,transparent);padding-top:14px;position:relative;z-index:1}
.dz-stats div{font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.6px;opacity:.85}.dz-stats b{display:block;font:700 28px var(--serif);letter-spacing:0;text-transform:none;opacity:1}
.dz h2{font:700 11.5px var(--mono);text-transform:uppercase;letter-spacing:1.2px;color:var(--accent);margin:0 0 10px;border:0;padding:0}
.dz-num{font:700 15px var(--mono);color:#fff;background:var(--accent);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none}
.dz-hero{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:0 0 24px;margin:0 0 22px;border-bottom:2px solid var(--fg)}
.dz-hero .dz-num{width:40px;height:40px;font-size:19px}
.dz-hero h2{font:700 38px/1.1 var(--serif);text-transform:none;letter-spacing:-.5px;color:var(--fg);margin:6px 0 12px}
.dz-hero h2 a,.dz h3 a{color:var(--fg)}.dz-hero h2 a:hover,.dz h3 a:hover{color:var(--accent)}
.dz-blurb{font-size:17px;line-height:1.55;margin:0 0 12px}
.dz-why{margin:0 0 14px;padding:12px 14px;border-radius:10px;background:var(--accent-soft);font:italic 500 16.5px/1.45 var(--serif)}
.dz-why b{display:block;font:700 10.5px var(--mono);font-style:normal;text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:3px}
.dz-meter{height:6px;border-radius:3px;background:var(--line);margin:8px 0 8px;overflow:hidden}.dz-meter span{display:block;height:100%;border-radius:3px;background:var(--accent)}
.dz .who{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font:600 11.5px var(--mono);color:var(--accent)}
.dz-reads{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px}.dz-reads span{font:600 11px var(--mono);text-transform:uppercase;color:var(--muted);margin-right:4px}
.dz-reads a{font:600 13px var(--sans);padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card)}
.dz-duo{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 18px}
.dz-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--card)}.dz-card .dz-num{margin-bottom:10px}
.dz h3{font:700 21px/1.25 var(--serif);margin:4px 0 6px}.dz-card p,.dz-list p{font-size:14.5px;line-height:1.5;color:var(--muted);margin:0 0 4px}
.dz-list{list-style:none;padding:0;margin:0 0 26px}.dz-list li{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.dz-list .dz-num{background:transparent;color:var(--accent);border:2px solid var(--accent)}
.dz-sec{margin:0 0 26px}.dz-try{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.dz-try-card{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:12px;background:var(--card);border:1px solid var(--line);color:var(--fg)}
.dz-try-card:hover{border-color:var(--accent);color:var(--fg)}.dz-try-card b{font:700 16px/1.3 var(--serif)}.dz-org{margin-top:auto;font:600 12px var(--mono);color:var(--accent)}
.dz-two{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.dz-money{list-style:none;padding:0;margin:0}.dz-money li{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.dz-amt{font:700 22px var(--serif);color:var(--accent)}.dz-money a{font:700 16px var(--serif);color:var(--fg)}.dz-money p{margin:2px 0 0;font-size:13.5px;color:var(--muted)}
.dz-mix{list-style:none;padding:0;margin:0}.dz-mix li{display:grid;grid-template-columns:120px 1fr 30px;gap:10px;align-items:center;font-size:13.5px;padding:4px 0}
.dz-mix .dz-meter{margin:0;height:10px}.dz-mix b{font:700 13px var(--mono);text-align:right}
.dz-cta{text-align:center;padding:26px 20px;border-radius:18px;background:var(--accent-soft);margin:10px 0 26px}
.dz-cta h2{font:700 26px var(--serif);text-transform:none;letter-spacing:0;color:var(--fg)}.dz-cta p{margin:0 0 14px;color:var(--muted)}
.dz-note{text-align:center}
@media (max-width:760px){.dz-mast{padding:18px 18px 16px}.dz-top{max-width:62%;gap:4px 10px}.dz-mast::after{width:170px;height:170px;right:-55px;top:-55px}.dz-logo{font-size:46px}.dz-stats{grid-template-columns:repeat(2,1fr);gap:12px}
.dz-stats b{font-size:24px}.dz-hero h2{font-size:28px}.dz-hero,.dz-list li{grid-template-columns:34px 1fr;gap:10px}.dz-hero .dz-num{width:32px;height:32px;font-size:16px}
.dz-duo,.dz-two{grid-template-columns:1fr}.dz-mix li{grid-template-columns:100px 1fr 28px}}
.dz-by{margin:0 0 18px;font:600 11.5px var(--mono);text-transform:uppercase;letter-spacing:1px;opacity:.8;position:relative;z-index:1}.dz-by a{color:inherit;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}.dz-by a:hover{color:var(--accent)}
.dz-apps{list-style:none;padding:0;margin:0;columns:2;column-gap:24px}.dz-apps li{break-inside:avoid;padding:9px 0;border-bottom:1px solid var(--line)}.dz-apps a{font:700 15.5px/1.3 var(--serif);color:var(--fg)}.dz-apps a:hover{color:var(--accent)}.dz-apps .who{margin-top:4px;color:var(--muted);font-size:11px}@media (max-width:760px){.dz-apps{columns:1}}
.signup[hidden]{display:none}
.dz-inside{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:16px;position:relative;z-index:1}.dz-inside span{font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:1px;opacity:.7;margin-right:4px}.dz-inside a{font:600 12.5px var(--sans);color:var(--bg);padding:6px 11px;border-radius:999px;border:1px solid color-mix(in srgb,var(--bg) 35%,transparent)}.dz-inside a:hover{background:var(--accent);border-color:var(--accent);color:#fff}.dz [id]{scroll-margin-top:12px}
.dz-site{display:block;margin-top:14px;padding:11px 14px;border-radius:12px;background:var(--accent);color:#fff;font:600 14px var(--sans);position:relative;z-index:1}.dz-site:hover{color:#fff;opacity:.92}
.tabs .tabmore{position:relative}.tabs .tabmore{display:flex}.tabs .tabmore summary{display:block;font:inherit;line-height:inherit;list-style:none;cursor:pointer;white-space:nowrap;padding:5px 7px;border-radius:999px;color:var(--muted)}
.tabs .tabmore summary::-webkit-details-marker{display:none}.tabs .tabmore summary::after{content:"";display:inline-block;width:5px;height:5px;margin:0 0 3px 6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.tabs .tabmore summary:hover{color:var(--fg);background:var(--line)}.tabs .tabmore summary[aria-current=page]{background:var(--fg);color:var(--bg)}
.tabs .tabmore>div{position:absolute;right:0;top:calc(100% + 4px);z-index:40;display:flex;flex-direction:column;min-width:170px;padding:6px;
background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.tabs .tabmore>div a{border-radius:8px;padding:7px 10px;text-decoration:none}
@media (max-width:820px){.tabs .tabmore summary{padding:9px 11px}.tabs .tabmore>div{position:static;flex-direction:row;min-width:0;padding:0;border:0;background:none;box-shadow:none}
.tabs .tabmore>div a{padding:9px 11px}}
.ufrow{margin:0 0 10px;flex-wrap:wrap}.ufrow small{opacity:.6;font-weight:600}.use{display:inline-block;font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.4px;padding:3px 8px;border-radius:999px;margin:0 6px 4px 0;background:var(--line);color:var(--fg)}
[data-uf=general] .mcard:not([data-use=general]),[data-uf=health] .mcard:not([data-use=health]),[data-uf=finance] .mcard:not([data-use=finance]),[data-uf=legal] .mcard:not([data-use=legal]),[data-uf=science] .mcard:not([data-use=science]),[data-uf=education] .mcard:not([data-use=education]),[data-uf=software] .mcard:not([data-use=software]),[data-uf=creative] .mcard:not([data-use=creative]),[data-uf=commerce] .mcard:not([data-use=commerce]),[data-uf=security] .mcard:not([data-use=security]),[data-uf=industry] .mcard:not([data-use=industry]),[data-uf=public] .mcard:not([data-use=public]),[data-uf=other] .mcard:not([data-use=other]){display:none}
.u-general{background:color-mix(in srgb,#6b7280 14%,transparent);color:color-mix(in srgb,#6b7280 85%,var(--fg))}.u-health{background:color-mix(in srgb,#059669 14%,transparent);color:color-mix(in srgb,#059669 85%,var(--fg))}.u-finance{background:color-mix(in srgb,#2563eb 14%,transparent);color:color-mix(in srgb,#2563eb 85%,var(--fg))}.u-legal{background:color-mix(in srgb,#7c3aed 14%,transparent);color:color-mix(in srgb,#7c3aed 85%,var(--fg))}.u-science{background:color-mix(in srgb,#0891b2 14%,transparent);color:color-mix(in srgb,#0891b2 85%,var(--fg))}.u-education{background:color-mix(in srgb,#ca8a04 14%,transparent);color:color-mix(in srgb,#ca8a04 85%,var(--fg))}.u-software{background:color-mix(in srgb,#0f766e 14%,transparent);color:color-mix(in srgb,#0f766e 85%,var(--fg))}.u-creative{background:color-mix(in srgb,#db2777 14%,transparent);color:color-mix(in srgb,#db2777 85%,var(--fg))}.u-commerce{background:color-mix(in srgb,#c2410c 14%,transparent);color:color-mix(in srgb,#c2410c 85%,var(--fg))}.u-security{background:color-mix(in srgb,#dc2626 14%,transparent);color:color-mix(in srgb,#dc2626 85%,var(--fg))}.u-industry{background:color-mix(in srgb,#b45309 14%,transparent);color:color-mix(in srgb,#b45309 85%,var(--fg))}.u-public{background:color-mix(in srgb,#475569 14%,transparent);color:color-mix(in srgb,#475569 85%,var(--fg))}.u-other{background:color-mix(in srgb,#6b7280 14%,transparent);color:color-mix(in srgb,#6b7280 85%,var(--fg))}
.mcard{min-width:0;overflow-wrap:anywhere}.mcard .use{align-self:flex-start}
main h2 .tagper{display:inline-flex;vertical-align:middle;margin:0 8px}main h2 .tagper button{font-size:11px;padding:4px 11px}
.dz-edito{border:2px solid var(--fg);border-radius:14px;padding:18px 22px;margin:0 0 26px;background:var(--card)}
.dz-edito h3{font:700 28px/1.15 var(--serif);margin:2px 0 10px;letter-spacing:-.3px}.dz-edito p{font:400 16.5px/1.6 var(--serif);margin:0 0 12px}
.dz-edito .dz-lede{font-size:19px;font-weight:500}.dz-lab{font:700 12px var(--mono);text-transform:uppercase;letter-spacing:.8px;color:var(--accent)}
.dz-edito h4{font:700 11.5px var(--mono);text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin:16px 0 6px}
.dz-edito ul{margin:0 0 12px;padding-left:20px}.dz-edito li{font:400 15.5px/1.5 var(--serif);margin:0 0 4px}
.dz-watch{border-top:1px solid var(--line);padding-top:10px;margin:0!important}
@media (max-width:760px){.dz-edito{padding:14px 16px}.dz-edito h3{font-size:23px}.dz-edito .dz-lede{font-size:17px}}
.loadmore{display:block;width:100%;margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card);font:600 14px var(--sans);color:var(--fg);cursor:pointer}.loadmore:hover{border-color:var(--accent);color:var(--accent)}
.story .share{border:0;background:none;color:var(--muted);cursor:pointer;padding:2px 4px;margin-left:2px;display:inline-flex;align-items:center;font:600 11px var(--sans)}
.story .share:hover,.story .share.done{color:var(--accent)}
.sharebar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 22px}.sharebar span{font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-right:4px}
.sharebar a,.sharebar button{font:600 13px var(--sans);padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer}
.sharebar a:hover,.sharebar button:hover,.sharebar .done{border-color:var(--accent);color:var(--accent)}
.pushnudge{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:60;width:min(560px,calc(100% - 24px));display:grid;grid-template-columns:1fr auto auto;
align-items:center;gap:4px 10px;padding:12px 14px;border-radius:14px;background:var(--fg);color:var(--bg);box-shadow:0 10px 30px rgba(0,0,0,.25)}
.pushnudge b{grid-column:1;font:700 15px var(--serif)}.pushnudge span{grid-column:1;font-size:13px;opacity:.8}
.pushnudge .pn-on{grid-row:1/3;grid-column:2;border:0;border-radius:999px;padding:9px 16px;background:var(--accent);color:#fff;font:600 14px var(--sans);cursor:pointer}
.pushnudge .pn-x{grid-row:1/3;grid-column:3;border:0;background:none;color:var(--bg);font-size:20px;cursor:pointer;opacity:.7}
.alertcard{display:flex;align-items:center;gap:14px;margin:14px 0;padding:14px 16px;border:1px solid var(--accent);border-radius:14px;background:var(--card)}
.alertcard[hidden],.alertcta[hidden]{display:none}.alertcard div{flex:1;display:flex;flex-direction:column;gap:3px;font-size:13.5px;line-height:1.4}
.alertcard .ac-k{font:600 12px var(--sans);color:var(--accent)}.alertcard a,.alertcard b{font:700 16px/1.3 var(--serif);color:var(--fg)}
.alertcard div>span:last-child{color:var(--muted)}
.alerts-go{flex:none;border:0;border-radius:999px;padding:9px 16px;background:var(--accent);color:#fff;font:600 14px var(--sans);cursor:pointer}
.alertcta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;border-radius:12px;background:var(--card);border:1px solid var(--line);font-size:14px}
.alertcta span{flex:1;min-width:220px}
@media (max-width:600px){.alertcard{flex-direction:column;align-items:stretch}}
.srcs td{font-size:13px;vertical-align:top}.srcs .err{color:var(--muted);font-size:12px;max-width:340px;overflow-wrap:anywhere}
.st{font:600 11px var(--mono);padding:2px 8px;border-radius:999px;white-space:nowrap}.st.good{background:var(--open-soft);color:var(--open)}
.st.warn{background:var(--new);color:var(--fg)}.st.bad{background:var(--accent-soft);color:var(--accent)}
@media (max-width:820px){
.b,.cat,.hot,.pill,.covered .n,.who,.rss,.per button,.more-btn,.tagrow span{font-size:11.5px}
.quick{gap:8px}.quick a,.theme,.bell{padding:9px 13px;font-size:13.5px}
.quick .search input,.signup input[type=email],.contact input,.contact textarea,.search-form input,.search-form select{font-size:16px}
.quick .search input{padding:9px 14px}.signup input[type=email]{padding:9px 12px}.signup button{padding:10px 14px}
.tabs a{padding:9px 11px}.tabs{gap:2px}
.fbtn,.ctl button,.view button,.cos button,.tagrow button,.shipf button,.co-rank button{padding:9px 14px;font-size:13px}
.per button{padding:7px 11px}.per{gap:6px}
.older,.more-btn,a.rss{display:inline-block;padding:10px 4px 10px 0}
.star{padding:6px 8px;margin:-6px 0;font-size:17px}
footer a{display:inline-block;padding:6px 0}h2 .rss{font-size:11.5px;padding:8px 0 8px 10px}.signup .x{width:40px;height:40px}
.quick .search{flex:1 1 100%}
.signup .long{display:none}.signup>div{flex-basis:100%}.signup input[type=email]{flex:1 1 0;min-width:0}
body{padding-bottom:env(safe-area-inset-bottom)}
}
:root{--bg:#f3f7f4;--card:#fcfefd;--fg:#101a14;--muted:#5b6b61;--line:#d7e3da;--accent:#13804a;--accent-soft:#d8f0e1;--new:#e3f5e9}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0d130f;--card:#131c16;--fg:#e7f1ea;--muted:#94a89b;
--line:#22352a;--accent:#45cf86;--accent-soft:#14301f;--new:#173322}}
:root[data-theme=dark]{--bg:#0d130f;--card:#131c16;--fg:#e7f1ea;--muted:#94a89b;--line:#22352a;--accent:#45cf86;--accent-soft:#14301f;--new:#173322}
body[data-tag=home-assistant] .story:not([data-tag~=home-assistant]){display:none}body[data-tag=home-assistant] section:not(.keep):not(:has(.story[data-tag~=home-assistant])){display:none}body[data-tag=apple-home] .story:not([data-tag~=apple-home]){display:none}body[data-tag=apple-home] section:not(.keep):not(:has(.story[data-tag~=apple-home])){display:none}body[data-tag=google-home] .story:not([data-tag~=google-home]){display:none}body[data-tag=google-home] section:not(.keep):not(:has(.story[data-tag~=google-home])){display:none}body[data-tag=alexa] .story:not([data-tag~=alexa]){display:none}body[data-tag=alexa] section:not(.keep):not(:has(.story[data-tag~=alexa])){display:none}body[data-tag=smartthings] .story:not([data-tag~=smartthings]){display:none}body[data-tag=smartthings] section:not(.keep):not(:has(.story[data-tag~=smartthings])){display:none}body[data-tag=matter] .story:not([data-tag~=matter]){display:none}body[data-tag=matter] section:not(.keep):not(:has(.story[data-tag~=matter])){display:none}[data-secf=devices] article:not([data-sec=devices]){display:none}[data-secf=platforms] article:not([data-sec=platforms]){display:none}[data-secf=protocols] article:not([data-sec=protocols]){display:none}[data-secf=assistants] article:not([data-sec=assistants]){display:none}[data-secf=security] article:not([data-sec=security]){display:none}[data-secf=energy] article:not([data-sec=energy]){display:none}[data-secf=diy] article:not([data-sec=diy]){display:none}[data-secf=reviews] article:not([data-sec=reviews]){display:none}[data-secf=business] article:not([data-sec=business]){display:none}