:root{--bg:#f6f5fb;--fg:#17152e;--mut:#5d5a7a;--card:#fff;--line:#e2e0f0;--acc:#5b3df5;--acc2:#1c9a3a;--hero:#14122b;--herofg:#f4f2ff;--lime:#a3ff5c}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f0e1f;--fg:#ecebff;--mut:#a9a6c8;--card:#1a1836;--line:#2b2850;--acc:#9d8cff;--acc2:#7bdc8e;--hero:#0a0919}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
h1,h2,h3{line-height:1.2;overflow-wrap:anywhere;hyphens:auto}
h1{font-size:clamp(1.7rem,4.5vw,2.6rem);margin:.3em 0 .4em}h2{font-size:clamp(1.3rem,3vw,1.7rem);margin:1.8em 0 .6em}
a{color:var(--acc)}p{margin:0 0 1em}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}.narrow{max-width:760px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;color:#000;padding:8px;z-index:9}
header{background:var(--hero);color:var(--herofg);position:sticky;top:0;z-index:5}
.hd{display:flex;align-items:center;gap:18px;flex-wrap:wrap;min-height:58px;padding-top:6px;padding-bottom:6px}
.logo{font-weight:800;font-size:1.2rem;color:var(--herofg);text-decoration:none;margin-right:auto}.logo span{color:var(--lime)}
header nav{display:flex;gap:16px;flex-wrap:wrap}header nav a{color:var(--herofg);text-decoration:none;font-size:.95rem}header nav a:hover{text-decoration:underline}
.lang{display:flex;gap:4px}.lang a{color:var(--herofg);text-decoration:none;font-size:.78rem;border:1px solid #ffffff44;border-radius:6px;padding:2px 7px}
.lang a[aria-current]{background:var(--lime);color:#14122b;border-color:var(--lime);font-weight:700}
.hero{background:var(--hero);color:var(--herofg);padding:34px 0 40px}.hero .wrap{max-width:820px}.hero p{color:#d6d2f3}
.btn{display:inline-block;background:var(--lime);color:#14122b!important;font-weight:700;text-decoration:none;padding:11px 20px;border-radius:10px}
.btn:hover{filter:brightness(.95)}.note{color:var(--mut);margin-left:6px}
.crumbs{font-size:.85rem;color:var(--mut);padding-top:14px}.crumbs a{color:var(--mut)}
.lede{font-size:1.1rem;color:var(--mut);max-width:760px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin:18px 0}
.card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--fg);transition:transform .12s,box-shadow .12s}
.card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #0002}.card[hidden]{display:none}
.thumb{position:relative;display:flex;align-items:center;justify-content:center;height:110px;background:linear-gradient(135deg,hsl(var(--h) 70% 52%),hsl(calc(var(--h) + 50) 75% 30%));color:#fff}
.thumb b{font-size:2.2rem;letter-spacing:.04em;text-shadow:0 2px 8px #0005}.thumb i{position:absolute;right:10px;bottom:6px;font-style:normal;opacity:.55;font-size:1.3rem}

.cbody{display:flex;flex-direction:column;gap:6px;padding:12px 14px 14px}.cname{font-weight:700;overflow-wrap:anywhere}.ctag{font-size:.9rem;color:var(--mut)}
.cbadge{align-self:flex-start;font-size:.72rem;font-weight:700;padding:2px 9px;border-radius:99px;background:#e9e5ff;color:#3a24b8}
.cbadge.ai-native{background:#dcffd0;color:#1a6a16}
@media (prefers-color-scheme:dark){.cbadge{background:#2b2850;color:#c8beff}.cbadge.ai-native{background:#1f3a22;color:#a5f2a0}}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.tile{display:flex;flex-direction:column;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;text-decoration:none;color:var(--fg)}
.tile .ti{font-size:1.5rem;color:var(--acc)}.tile small{color:var(--mut)}.tile:hover{border-color:var(--acc)}
.more{text-align:right}
.tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:14px 0}
#q{flex:1 1 220px;max-width:340px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--fg);font:inherit}
.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:99px;padding:6px 13px;cursor:pointer;font:inherit;font-size:.88rem}
.chip.on{background:var(--acc);color:#fff;border-color:var(--acc)}
.gh{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:16px 0 8px}.gh h1{margin:.2em 0 .2em}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:30px;align-items:start}
@media (max-width:820px){.cols{grid-template-columns:1fr}}
.facts{width:100%;border-collapse:collapse;font-size:.92rem;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:18px}
.facts th,.facts td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}.facts th{width:40%;color:var(--mut);font-weight:600}
.prose{max-width:820px}.prose.narrow{margin-left:auto;margin-right:auto}
details{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:8px 0}summary{cursor:pointer;font-weight:600}details p{margin:.6em 0 0}
.small{font-size:.85rem;color:var(--mut)}
footer{background:var(--hero);color:#cfcbf0;margin-top:50px;padding:26px 0;font-size:.92rem}footer a{color:var(--lime)}footer .small{color:#a9a6c8}
.thumb.img{background:#000;height:auto;aspect-ratio:16/9;display:block}.thumb.img img{width:100%;height:100%;object-fit:cover;display:block}
.hero .hero2{max-width:1100px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;align-items:center}
.hero2 .mosaic{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.hero2 .mosaic a{display:block;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #0006;transform:rotate(var(--r,0deg))}
.hero2 .mosaic a:nth-child(odd){--r:-1.2deg}.hero2 .mosaic a:nth-child(even){--r:1.2deg;margin-top:14px}
@media (max-width:860px){.hero2{grid-template-columns:1fr}.hero2 .mosaic{grid-template-columns:repeat(3,1fr)}.hero2 .mosaic a:nth-child(even){margin-top:0}}
.shot{display:block;margin:10px 0 24px;border-radius:14px;overflow:hidden;border:1px solid var(--line);max-width:900px}
.hl{padding-left:1.2em}.hl li{margin:.35em 0}
