:root{--bg:#f7f8fc;--fg:#141826;--mut:#5b6478;--card:#fff;--bd:#e5e8f0;--p:#6366f1;--p2:#06b6d4}
@media(prefers-color-scheme:dark){:root{--bg:#0b0d16;--fg:#e8eaf3;--mut:#9aa3b8;--card:#141826;--bd:#252a3a}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--fg);background:var(--bg)}
.wrap{max-width:1040px;margin:auto;padding:0 20px}a{color:var(--p)}.sr{position:absolute;left:-9999px}
.nav{position:sticky;top:0;z-index:5;backdrop-filter:blur(12px);background:color-mix(in srgb,var(--bg) 80%,transparent);border-bottom:1px solid var(--bd)}
.nav .wrap{display:flex;justify-content:space-between;align-items:center;height:64px}.logo{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--fg);font-size:19px;font-weight:600}.logo b{color:var(--p)}
.nav nav a{margin-left:20px;color:var(--mut);text-decoration:none;font-size:15px}@media(max-width:640px){.nav nav{display:none}}
.hero{text-align:center;padding:72px 0 56px;background:radial-gradient(900px 400px at 50% -10%,color-mix(in srgb,var(--p) 28%,transparent),transparent)}
.pill{display:inline-block;padding:6px 14px;border:1px solid var(--bd);border-radius:99px;background:var(--card);font-size:13px;color:var(--mut)}
h1{font-size:clamp(32px,6vw,58px);line-height:1.1;margin:18px 0 14px;letter-spacing:-.02em}.grad{background:linear-gradient(90deg,var(--p),var(--p2));-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{color:var(--mut);font-size:18px;max-width:620px;margin:auto}
.box{display:flex;gap:8px;max-width:680px;margin:32px auto 0;background:var(--card);padding:8px;border-radius:16px;border:1px solid var(--bd);box-shadow:0 20px 50px -20px rgba(99,102,241,.45)}
.box input{flex:1;min-width:0;border:0;background:transparent;color:var(--fg);font-size:16px;padding:12px}.box input:focus{outline:0}
button,.btn{border:0;padding:12px 22px;border-radius:12px;font-weight:600;font-size:15px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:.15s}
.primary{background:linear-gradient(135deg,var(--p),#4f46e5);color:#fff}.primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.ghost{background:color-mix(in srgb,var(--p) 12%,transparent);color:var(--p)}.sm{padding:10px 14px}
.loading span{visibility:hidden}.loading{position:relative}.loading:after{content:"";position:absolute;inset:0;margin:auto;width:18px;height:18px;border:2px solid #fff6;border-top-color:#fff;border-radius:50%;animation:s .7s linear infinite}@keyframes s{to{transform:rotate(1turn)}}
.err{max-width:680px;margin:18px auto;padding:12px 16px;border-radius:12px;background:#ef44441a;color:#ef4444;border:1px solid #ef444440}
.res{display:flex;gap:18px;max-width:680px;margin:18px auto;padding:16px;background:var(--card);border:1px solid var(--bd);border-radius:18px;text-align:left;animation:in .3s ease}@keyframes in{from{opacity:0;transform:translateY(8px)}}
.th{flex:0 0 150px;height:100px;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--p) 25%,var(--card)),color-mix(in srgb,var(--p2) 25%,var(--card)));display:grid;place-items:center;font-size:40px}.th img{width:100%;height:100%;object-fit:cover}
.meta{flex:1;min-width:0}.meta h3{margin:0 0 6px;font-size:17px;overflow-wrap:anywhere}.tags{display:flex;gap:6px;margin:0 0 10px}.tags span{font-size:12px;padding:3px 9px;border-radius:99px;background:var(--bg);border:1px solid var(--bd);color:var(--mut)}
.btns{display:flex;gap:8px;flex-wrap:wrap}.note{font-size:14px;color:var(--mut);background:#f59e0b14;border:1px solid #f59e0b40;padding:10px 12px;border-radius:10px;margin-bottom:10px}
.skel .th,.ln{background:linear-gradient(90deg,var(--bd),var(--bg),var(--bd));background-size:200%;animation:sh 1.2s infinite}.ln{height:12px;border-radius:6px;margin:10px 0}.w70{width:70%}.w30{width:30%}.w50{width:50%}@keyframes sh{to{background-position:-200% 0}}
section{padding:56px 0}h2{text-align:center;font-size:clamp(24px,4vw,34px);margin:0 0 8px}.lead{text-align:center;color:var(--mut);margin:0 0 28px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:0;list-style:none;margin-top:24px}.card{background:var(--card);border:1px solid var(--bd);padding:22px;border-radius:16px}.card h3{margin:8px 0 6px;font-size:18px}.card p{margin:0;color:var(--mut)}
.card i{font-style:normal;font-weight:700;background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;border-radius:10px;width:34px;height:34px;display:grid;place-items:center}
.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}.chips span{background:var(--card);padding:8px 14px;border-radius:99px;border:1px solid var(--bd);font-size:14px}
details{background:var(--card);border:1px solid var(--bd);margin:10px auto;max-width:760px;padding:16px 20px;border-radius:14px}summary{font-weight:600;cursor:pointer}details p{color:var(--mut);margin:10px 0 0}
.seo{max-width:760px;color:var(--mut)}footer{text-align:center;color:var(--mut);padding:30px 20px;border-top:1px solid var(--bd)}
dialog{border:0;border-radius:16px;padding:12px;width:min(920px,95vw);background:var(--card)}dialog::backdrop{background:#000a}dialog video{width:100%;border-radius:10px;display:block;margin-bottom:10px}
@media(max-width:560px){.box{flex-wrap:wrap}.box input{flex-basis:100%}.box button{flex:1;justify-content:center}.res{flex-direction:column}.th{flex-basis:auto;height:170px}.hero{padding-top:44px}}
.ad-slot:empty{display:none}.ad-slot{margin:24px auto;max-width:728px;min-height:90px;text-align:center}
.doc{max-width:760px;padding-top:32px;padding-bottom:48px}.doc h1{font-size:clamp(28px,5vw,42px)}.doc h2{margin-top:32px}.meta{color:var(--mut);font-size:14px}.crumbs{font-size:14px;color:var(--mut)}.crumbs a{text-decoration:none}
.doc code{background:var(--card);border:1px solid var(--bd);padding:1px 5px;border-radius:6px;font-size:.9em;word-break:break-all}
.cta{margin:32px 0;padding:20px;border:1px solid var(--bd);border-radius:16px;background:var(--card);display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.posts{display:grid;gap:16px}.post{display:block;text-decoration:none;color:var(--fg)}.post h2{font-size:20px;margin:0 0 6px}.post p{color:var(--mut);margin:0 0 8px}.post span{color:var(--p);font-weight:600}
.glist{padding-left:20px}.glist li{margin:6px 0}
.foot{border-top:1px solid var(--bd);margin-top:48px;padding:32px 0 16px;font-size:14px;color:var(--mut)}.fcols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}.fcols b{display:block;color:var(--fg);margin-bottom:8px}.fcols a{display:block;color:var(--mut);text-decoration:none;margin:4px 0}.fcols a:hover{color:var(--p)}.copy{margin-top:24px;text-align:center}
@media(max-width:640px){.fcols{grid-template-columns:1fr 1fr}.fcols>div:first-child{grid-column:1/-1}}
.cc{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;max-width:640px;margin:auto;background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:14px 16px;box-shadow:0 10px 40px rgba(0,0,0,.2);display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;font-size:14px}.cc[hidden]{display:none}.cc p{margin:0;flex:1 1 260px}.cc div{display:flex;gap:8px}
