
:root{--bg:#09090c;--panel:#111117;--line:rgba(255,255,255,.09);--text:#ecebf3;--muted:#a9a7b8;
--violet:#9d7bf2;--blue:#5b8def;--focus:#c7b5ff;color-scheme:dark}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 "Plus Jakarta Sans",system-ui,sans-serif;
background-image:radial-gradient(at 15% 0%,rgba(157,123,242,.16),transparent 45%),radial-gradient(at 90% 10%,rgba(91,141,239,.12),transparent 40%);
background-attachment:fixed;overflow-x:hidden}
a{color:var(--violet)}a:hover{color:var(--focus)}
a:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--text);color:var(--bg);padding:8px 14px;border-radius:8px;z-index:9}
.skip:focus{left:12px}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 20px}
.top{border-bottom:1px solid var(--line);background:rgba(9,9,12,.78);position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-weight:800;letter-spacing:.14em}
.brand img{width:30px;height:30px}
.nav{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:14px}
.nav a{color:var(--muted);text-decoration:none;padding:6px 0}.nav a:hover,.nav a[aria-current]{color:var(--text)}
.nav .cta{color:var(--bg);background:var(--text);padding:6px 16px;border-radius:999px;font-weight:600}
main{padding:56px 0 80px;min-height:60vh}
.eyebrow{font:500 12px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--violet)}
h1{font-size:clamp(2rem,6vw,3.6rem);line-height:1.08;letter-spacing:-.03em;margin:14px 0 16px;overflow-wrap:anywhere}
.lede{color:var(--muted);font-size:1.12rem;max-width:620px;margin:0}
.grid{list-style:none;padding:0;margin:48px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.card{border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.01));overflow:hidden;transition:border-color .2s,transform .2s}
.card:hover,.card:focus-within{border-color:rgba(157,123,242,.5);transform:translateY(-2px)}
.card a{display:block;color:inherit;text-decoration:none;height:100%}
.card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--panel)}
.card .body{padding:20px 22px 24px}
.card h2{font-size:1.2rem;line-height:1.3;margin:10px 0 8px;overflow-wrap:anywhere}
.card p{color:var(--muted);margin:0;font-size:.95rem}
.meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted);font:12px/1.4 "JetBrains Mono",ui-monospace,monospace}
.tag{border:1px solid var(--line);border-radius:999px;padding:2px 10px;color:#cfc6f5}
.notice{margin-top:48px;border:1px dashed var(--line);border-radius:18px;padding:40px 28px;max-width:640px}
.notice h2{margin:0 0 8px;font-size:1.3rem}.notice p{color:var(--muted);margin:0 0 20px}
.btn{display:inline-block;border-radius:999px;padding:10px 20px;background:var(--text);color:var(--bg);text-decoration:none;font-weight:600;font-size:14px}
.btn:hover{color:var(--bg);background:#d9d6e8}
.back{display:inline-block;margin-bottom:28px;color:var(--muted);text-decoration:none;font-size:14px}
article{max-width:720px;margin:0 auto}
.hero{width:100%;border-radius:18px;margin:28px 0 8px;border:1px solid var(--line);display:block;height:auto}
.prose{font-size:1.07rem;line-height:1.8;overflow-wrap:anywhere}
.prose h2{font-size:1.6rem;line-height:1.25;margin:2.2em 0 .6em;letter-spacing:-.01em}
.prose h3{font-size:1.25rem;margin:1.8em 0 .5em}.prose p,.prose ul,.prose ol{margin:0 0 1.2em}
.prose img,.prose video,.prose iframe{max-width:100%;height:auto;border-radius:12px}
.prose blockquote{margin:1.5em 0;padding:4px 20px;border-left:3px solid var(--violet);color:var(--muted)}
.prose pre{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;font-size:.9rem}
.prose code{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.9em}
.prose table{display:block;overflow-x:auto;border-collapse:collapse;max-width:100%}
.prose th,.prose td{border:1px solid var(--line);padding:8px 12px}
.foot{border-top:1px solid var(--line);padding:32px 0;color:var(--muted);font-size:13px}
.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
.foot nav{display:flex;flex-wrap:wrap;gap:16px}.foot a{color:var(--muted);text-decoration:none}.foot a:hover{color:var(--text)}
@media (max-width:640px){main{padding:36px 0 60px}.grid{grid-template-columns:1fr}.nav{gap:2px 14px;font-size:13px}}
@media (prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}
