:root{--bg:#0b0b14;--fg:#eceef7;--mut:#9aa0b8;--card:#14141f;--bd:#262638;--a:#7c5cff;--b:#00d4ff}
@media(prefers-color-scheme:light){:root{--bg:#f6f7fb;--fg:#12131f;--mut:#5b617a;--card:#fff;--bd:#e0e3ef}}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
body:before{content:"";position:fixed;inset:0;background:radial-gradient(60% 40% at 50% -10%,rgba(124,92,255,.28),transparent),radial-gradient(40% 30% at 90% 10%,rgba(0,212,255,.15),transparent);pointer-events:none;z-index:-1}
[hidden]{display:none!important}a{color:inherit}.wrap{max-width:960px;margin:0 auto;padding:0 16px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.2rem;text-decoration:none;letter-spacing:-.02em}.mark svg{width:32px;height:32px;display:block}
nav{display:flex;gap:4px;flex-wrap:wrap}nav a{padding:6px 12px;border-radius:99px;text-decoration:none;color:var(--mut);font-size:.9rem}nav a:hover,nav a[aria-current]{color:var(--fg);background:var(--card)}
.hero{text-align:center;padding-top:clamp(28px,6vw,72px);padding-bottom:32px}
h1{font-size:clamp(2rem,6vw,3.4rem);line-height:1.1;letter-spacing:-.03em;margin:0 0 14px;background:linear-gradient(90deg,var(--fg),var(--a) 60%,var(--b));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:var(--mut);max-width:620px;margin:0 auto 28px;font-size:1.1rem}
.box{display:flex;gap:8px;padding:8px;background:var(--card);border:1px solid var(--bd);border-radius:18px;box-shadow:0 20px 60px -20px rgba(124,92,255,.45);max-width:720px;margin:0 auto}
.box:focus-within{border-color:var(--a)}
input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--fg);font:inherit;padding:12px 14px}
button{font:inherit;font-weight:700;border:0;border-radius:12px;padding:12px 24px;color:#fff;background:linear-gradient(135deg,var(--a),#5b8cff);cursor:pointer;transition:transform .1s,opacity .2s}
button:hover{transform:translateY(-1px)}button:disabled{opacity:.6;cursor:wait}
.err{color:#ff6b81;margin:14px 0 0}.chips{list-style:none;display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:0;margin:22px 0 0}
.chips li{font-size:.8rem;color:var(--mut);border:1px solid var(--bd);padding:3px 12px;border-radius:99px}
.res{display:flex;gap:16px;text-align:left;background:var(--card);border:1px solid var(--bd);border-radius:18px;padding:14px;max-width:720px;margin:18px auto 0}
.res img{width:200px;max-width:38%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;background:var(--bd)}
.res h2{font-size:1rem;margin:0 0 4px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.res small{color:var(--mut)}
.dl{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.dl a{padding:8px 14px;border-radius:10px;text-decoration:none;font-weight:700;font-size:.9rem;border:1px solid var(--bd);background:var(--bg)}
.dl a:hover{border-color:var(--a)}.dl a.hd{background:linear-gradient(135deg,var(--a),#5b8cff);color:#fff;border:0}.dl a.au{border-color:var(--b);color:var(--b)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;padding-top:24px;padding-bottom:24px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:16px;padding:18px}.card h3{margin:0 0 6px}.card p{margin:0;color:var(--mut);font-size:.95rem}
.prose{padding-top:24px;padding-bottom:40px;max-width:760px}.prose h2{margin:32px 0 10px;letter-spacing:-.02em}.prose p,.prose li{color:var(--mut)}.prose strong{color:var(--fg)}
table{width:100%;border-collapse:collapse;font-size:.92rem;color:var(--mut)}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--bd)}th{color:var(--fg)}
details{border:1px solid var(--bd);background:var(--card);border-radius:12px;padding:12px 16px;margin:8px 0}summary{cursor:pointer;font-weight:600;color:var(--fg)}details p{margin:8px 0 0}
.foot{border-top:1px solid var(--bd);padding-top:20px;padding-bottom:30px;color:var(--mut);font-size:.85rem;text-align:center}
@media(max-width:560px){.box{flex-direction:column}.res{flex-direction:column}.res img{max-width:100%;width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}