
:root{--ink:#0f172a;--muted:#475569;--line:#e2e8f0;--accent:#0ea5e9;--bg:#ffffff}
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}
header,section,footer{max-width:1120px;margin:0 auto;padding:32px 20px}
.hero{padding:72px 20px;background:radial-gradient(1200px 700px at 80% -10%,#e0f2fe 0,#fff 55%)}
.tag{display:inline-block;padding:6px 10px;border-radius:999px;background:#ecfeff;color:#155e75;font-weight:600;font-size:12px;letter-spacing:.02em}
h1{font-size:44px;line-height:1.1;margin:14px 0 12px}h2{font-size:28px;line-height:1.2;margin:0 0 6px}h3{font-size:20px;margin:8px 0}
p{font-size:18px;line-height:1.6;margin:10px 0 0}.muted{color:#475569}
.grid{display:grid;gap:18px}@media(min-width:900px){.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}}
.card{border:1px solid #e2e8f0;border-radius:14px;padding:18px;background:#fff}
.cta{display:inline-block;margin-top:18px;padding:12px 16px;border-radius:10px;background:#0ea5e9;color:white;text-decoration:none;font-weight:700}
.cta.ghost{background:transparent;border:1px solid #0ea5e9;color:#0ea5e9}
ul{margin:10px 0 0 20px}small{color:#64748b}footer{border-top:1px solid #e2e8f0}
.wrap{max-width:980px}.hero2{padding:54px 20px;background:linear-gradient(180deg,#f8fafc 0,#fff 50%)}
code,pre{background:#0f172a0d;padding:4px 8px;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
.nav{max-width:1120px;margin:0 auto;padding:10px 20px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:12px}
.nav a{color:#0f172a;text-decoration:none}.nav .spacer{flex:1}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#0f172a}.logo img{width:26px;height:26px}
.badge{display:inline-block;font-size:12px;border:1px solid #e2e8f0;padding:4px 8px;border-radius:8px;margin-right:6px}
.badge:hover{background:#f1f5f9;text-decoration:none}
.box{border:1px dashed #e2e8f0;border-radius:14px;padding:18px;background:#f8fafc}
.kv{display:grid;grid-template-columns:160px 1fr;gap:8px}
.kv div{padding:2px 0}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}
