@font-face{font-family:SG;src:url(/fonts/sg.woff2) format("woff2");font-weight:500 700;font-display:swap}
@font-face{font-family:IN;src:url(/fonts/in.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:JM;src:url(/fonts/jm.woff2) format("woff2");font-weight:400 500;font-display:swap}
:root{--bg:#fafaf9;--panel:#fff;--raise:#f4f4f5;--line:#e4e4e7;--text:#18181b;--muted:#52525b;--faint:#a1a1aa;--accent:#16a34a;--signal:#16a34a;--danger:#dc2626;--r:10px}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0d0f12;--panel:#14171c;--raise:#1b1f26;--line:#262b33;--text:#f4f4f5;--muted:#a1a1aa;--faint:#71717a;--accent:#22c55e;--signal:#22c55e}}
[data-theme=dark]{--bg:#0d0f12;--panel:#14171c;--raise:#1b1f26;--line:#262b33;--text:#f4f4f5;--muted:#a1a1aa;--faint:#71717a;--accent:#22c55e;--signal:#22c55e}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 IN,system-ui,sans-serif;padding-bottom:calc(64px + env(safe-area-inset-bottom))}
h1,h2,h3{font-family:SG,IN,sans-serif;line-height:1.2;letter-spacing:-.01em}h1{font-size:clamp(1.7rem,5vw,2.6rem);margin:.4em 0}h2{font-size:1.25rem}
a{color:inherit;text-decoration-color:var(--faint);text-underline-offset:3px}a:hover{color:var(--accent)}
.mono,kbd,.chip,.crumbs{font-family:JM,ui-monospace,monospace;font-size:.8rem}.faint{color:var(--faint)}.accent{color:var(--accent)}.unk{color:var(--faint);font-style:italic}
main{max-width:80rem;margin:0 auto;padding:0 1rem}
.hdr{position:sticky;top:0;z-index:20;display:flex;gap:.75rem;align-items:center;padding:.6rem 1rem;padding-top:max(.6rem,env(safe-area-inset-top));background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.logo{font-family:SG;font-weight:700;font-size:1.15rem;text-decoration:none}.logo b{color:var(--accent)}
.count{color:var(--faint);display:none}.nav{display:none;gap:1rem}.nav a{text-decoration:none;color:var(--muted)}
.srch{margin-left:auto;min-height:44px;border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:var(--r);padding:0 .8rem;font:inherit;cursor:pointer}
kbd{border:1px solid var(--line);border-radius:4px;padding:0 4px;margin-left:.4rem}
.icon{min-width:44px;min-height:44px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:var(--r);cursor:pointer;font-size:1.1rem}
.hero{padding:2rem 0 1rem;max-width:52rem}.hero.sm{padding-top:.5rem}.lede{color:var(--muted);font-size:1.08rem}
.news{display:grid;gap:.75rem;border:1px solid var(--line);background:var(--panel);border-radius:var(--r);padding:1rem;margin:1.25rem 0}.news h2{margin:0}.news p{margin:.2rem 0;color:var(--muted)}
.nl{display:flex;flex-wrap:wrap;gap:.5rem}.nl input[type=email]{flex:1 1 12rem;min-height:44px;border:1px solid var(--line);border-radius:var(--r);padding:0 .8rem;background:var(--bg);color:var(--text);font:inherit}
.nl button,.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 1rem;border-radius:var(--r);border:1px solid var(--text);background:var(--text);color:var(--bg);font:600 .95rem IN;text-decoration:none;cursor:pointer}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--line)}.btn.cta{background:var(--accent);border-color:var(--accent);color:#fff}
.nl-msg{width:100%;font-size:.85rem}.hp{position:absolute;left:-9999px}.subscribed .news{display:none}
.dir{display:grid;gap:1.5rem}.side{display:none}.side.open{display:block;position:fixed;inset:auto 0 0 0;z-index:40;background:var(--panel);border-top:1px solid var(--line);border-radius:16px 16px 0 0;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));max-height:80vh;overflow:auto}
.fc{display:flex;align-items:center;gap:.5rem;min-height:44px;cursor:pointer}.fc .n{margin-left:auto;color:var(--faint)}
.bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}.bar select{min-height:44px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:var(--r);font:inherit}
.grid{display:grid;gap:1rem;grid-template-columns:1fr}.grid .news{grid-column:1/-1}
.card{border:1px solid var(--line);background:var(--panel);border-radius:var(--r);padding:1rem;display:flex;flex-direction:column;gap:.5rem;text-decoration:none}.card p{margin:0}
.ct{display:flex;gap:.75rem;align-items:center}.ct h3{margin:0;font-size:1.1rem}.ct h3 a{text-decoration:none}.ct .save{margin-left:auto}.save.on{color:var(--accent)}
.mg{flex:none;width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:var(--raise);border:1px solid var(--line);font:700 .95rem SG}.mg.big{width:64px;height:64px;font-size:1.3rem}
.chips{display:flex;flex-wrap:wrap;gap:.35rem}.chip{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:.1rem .55rem;background:var(--raise);text-decoration:none;color:var(--muted)}
.acts{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:auto}
.feat{border:1px dashed var(--line);border-radius:var(--r);padding:.6rem 1rem;margin-bottom:1rem;color:var(--muted)}.feat p{margin:.2rem 0}
.cl{list-style:none;padding:0;margin:0}.cl li{padding:.7rem 0;border-bottom:1px solid var(--line)}.cl .mono{color:var(--accent)}.latest h2 a{float:right;font-weight:400}
.crumbs{margin:1rem 0 0;color:var(--faint)}.crumbs a{text-decoration:none}
.fhead{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin:1rem 0}.fhead h1{margin:0}.fhead>div{flex:1 1 16rem}
.cols{display:grid;gap:1.5rem}.box{border:1px solid var(--line);background:var(--panel);border-radius:var(--r);padding:1rem;margin-bottom:1rem}.box h2{margin-top:0}
.chal{border:1px solid var(--line);background:var(--panel);border-radius:var(--r);padding:1rem;margin-bottom:1rem}.chal h3{margin-top:0}
.facts{margin:0}.fr{display:grid;grid-template-columns:minmax(8rem,40%) 1fr;gap:.75rem;padding:.45rem 0;border-bottom:1px solid var(--line)}.fr dt{color:var(--muted)}.fr dd{margin:0;overflow-wrap:anywhere}
.cmp{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);margin:1rem 0}.cmp-r{display:grid;gap:.3rem;padding:.75rem 1rem;border-bottom:1px solid var(--line)}.cmp-k{font-weight:600}.cmp-r .mono{display:block}
.verdict{border-left:3px solid var(--accent);padding-left:1rem}
.faq details{border-bottom:1px solid var(--line);padding:.6rem 0}.faq summary{cursor:pointer;font-weight:600;min-height:32px}
.keep{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.keep h2{width:100%}.catc h3{margin:0}
.ftr{border-top:1px solid var(--line);margin-top:3rem;padding:1rem;max-width:80rem;margin-inline:auto}.fcols{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.fcols a{display:block;padding:.35rem 0;color:var(--muted);text-decoration:none}
.sbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;gap:.6rem;align-items:center;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line);font-size:.9rem}.sbar a{color:var(--accent);white-space:nowrap}.sbar button{margin-left:auto;background:none;border:0;color:var(--faint);font-size:1.3rem;min-width:44px;min-height:44px;cursor:pointer}
.sbar.demo{position:static;border:1px solid var(--line);border-radius:var(--r)}.sbar .mono{color:var(--faint)}#sbar-txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
dialog{border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);width:min(40rem,94vw);padding:0;margin-top:10vh}dialog::backdrop{background:rgb(0 0 0/.5)}
.sbox{padding:1rem}#sq{width:100%;min-height:48px;font:1.1rem IN;border:1px solid var(--line);border-radius:var(--r);padding:0 .8rem;background:var(--bg);color:var(--text)}#sr{list-style:none;padding:0;margin:.5rem 0;max-height:50vh;overflow:auto}#sr a{display:flex;justify-content:space-between;padding:.7rem;border-radius:8px;text-decoration:none;min-height:44px}#sr a.on,#sr a:hover{background:var(--raise)}
form label{display:block;margin-bottom:.8rem}form label input,form textarea{display:block;width:100%;min-height:44px;margin-top:.3rem;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);color:var(--text);font:inherit;padding:.5rem}
@media(min-width:40rem){.grid{grid-template-columns:repeat(2,1fr)}.cmp-r{grid-template-columns:12rem 1fr 1fr}.cmp-r .mono{display:none}.news{grid-template-columns:1fr 1fr;align-items:center}}
@media(min-width:48rem){.count{display:inline}}
@media(min-width:64rem){.nav{display:flex}.dir{grid-template-columns:15rem 1fr}.side{display:block;position:sticky;top:5rem;align-self:start}#fopen{display:none}.cols{grid-template-columns:1fr 20rem}.grid{grid-template-columns:repeat(3,1fr)}.dir .grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:80rem){.dir .grid{grid-template-columns:repeat(3,1fr)}}
@media(prefers-reduced-motion:no-preference){.card{transition:border-color .15s,transform .15s}.card:hover{border-color:var(--faint);transform:translateY(-1px)}}
@media(max-width:39.99rem){.srch kbd{display:none}}
.bh-embed{min-height:52px}
