*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;line-height:1.7;color:#1a1a2e;background:#f5f5f7}
header{background:#0f0f23;color:#fff;padding:3rem 2rem 2rem}
header h1{font-size:2.2rem;margin-bottom:.4rem}
header p{opacity:.7;font-size:1.05rem}
nav{max-width:900px;margin:2rem auto 0;display:flex;flex-wrap:wrap;gap:.6rem}
nav a{color:#fff;background:rgba(255,255,255,.08);padding:.5rem 1rem;border-radius:8px;text-decoration:none;font-size:.9rem;transition:background .2s}
nav a:hover,nav a.active{background:rgba(255,255,255,.18)}
main{max-width:900px;margin:2rem auto;padding:0 1.5rem}
article{background:#fff;border-radius:12px;padding:2.5rem 2.5rem 3rem;box-shadow:0 1px 4px rgba(0,0,0,.06)}
article h1{font-size:2rem;margin-bottom:1rem;line-height:1.3}
article h2{font-size:1.4rem;margin:2rem 0 .8rem;padding-bottom:.3rem;border-bottom:2px solid #e8e8ed}
article h3{font-size:1.15rem;margin:1.5rem 0 .6rem;color:#333}
article p{margin-bottom:1rem}
article ul,article ol{margin:0 0 1rem 1.4rem}
article li{margin-bottom:.25rem}
article table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.92rem}
article th,article td{border:1px solid #ddd;padding:.6rem .9rem;text-align:left}
article th{background:#f0f0f5;font-weight:600}
article code{background:#f0f0f5;padding:.15em .4em;border-radius:5px;font-size:.9em;font-family:'JetBrains Mono',Consolas,monospace}
article pre{background:#0f0f23;color:#e0e0e0;padding:1.2rem 1.5rem;border-radius:10px;overflow-x:auto;margin:1.2rem 0;font-size:.88rem;line-height:1.5}
article pre code{background:none;padding:0;font-size:inherit}
article blockquote{background:#f0f8ff;border-left:4px solid #3b82f6;margin:1.2rem 0;padding:.8rem 1.2rem;border-radius:0 8px 8px 0;color:#1e3a5f}
article blockquote p{margin:0}
article a{color:#3b82f6;text-decoration:underline}
article hr{border:none;border-top:1px solid #e8e8ed;margin:2rem 0}
article strong{color:#111}
.hero{max-width:900px;margin:0 auto;padding:0 1.5rem}
.hero h1{margin:0}
.hero h1 a{color:inherit;text-decoration:none}
.hero h1 a:hover{opacity:.85}
.hero .tagline{font-size:1.1rem}
.intro{max-width:900px;margin:0 auto 1.5rem;padding:0 1.5rem}
.intro p{font-size:1.05rem;color:#555;margin-bottom:1rem}
footer{text-align:center;padding:2rem;color:#999;font-size:.85rem}
img{max-width:100%}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem;margin-top:1.5rem}
.card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 4px rgba(0,0,0,.06);text-decoration:none;color:inherit;transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:0 4px 16px rgba(0,0,0,.1);transform:translateY(-2px)}
.card h3{font-size:1.15rem;margin-bottom:.5rem;color:#0f0f23}
.card p{font-size:.9rem;color:#666;margin:0}
.card .tag{display:inline-block;background:#e8f0fe;color:#3b82f6;padding:.2rem .7rem;border-radius:6px;font-size:.78rem;margin-bottom:.6rem}
.site-section{margin-top:2.5rem}
.site-section h2{font-size:1.4rem;margin-bottom:1rem;color:#0f0f23;padding-bottom:.3rem;border-bottom:2px solid #e8e8ed}
.demo-card h3 .icon,.dev-card h3 .icon{font-size:1.25rem;margin-right:.45rem;vertical-align:-2px}
a:focus-visible,button:focus-visible{outline:3px solid #3b82f6;outline-offset:2px;border-radius:4px}
.skip-link{position:absolute;left:-9999px;top:0;background:#3b82f6;color:#fff;padding:.6rem 1rem;border-radius:0 0 8px 0;text-decoration:none;z-index:100}
.skip-link:focus{left:0}
@media(max-width:640px){
    header{padding:2rem 1rem 1.5rem}
    header h1{font-size:1.5rem}
    article{padding:1.5rem}
    nav{flex-direction:column}
}
/* Documentation sidebar + pager */
main.doc-main{max-width:1200px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:2rem;align-items:start}
.doc-nav{position:sticky;top:1rem;background:#fff;border-radius:12px;padding:.7rem;box-shadow:0 1px 4px rgba(0,0,0,.06);font-size:.82rem;max-height:calc(100vh - 2rem);overflow-y:auto}
.doc-nav .doc-group{margin-bottom:.35rem}
.doc-nav .doc-section{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#999;margin:0;padding:.35rem .5rem;font-weight:600;user-select:none}
.doc-nav .doc-section::-webkit-details-marker{display:none}
.doc-nav .doc-section::after{content:'▾';font-size:.75rem;transition:transform .15s ease}
.doc-nav .doc-group:not([open]) .doc-section::after{transform:rotate(-90deg)}
.doc-nav .doc-group:hover .doc-section{color:#555}
.doc-nav .doc-link{display:block;padding:.2rem .5rem;border-radius:6px;color:#444;text-decoration:none;margin-bottom:.05rem}
.doc-nav .doc-link:hover{background:#f0f0f5}
.doc-nav .doc-link.active{background:#e8f0fe;color:#3b82f6;font-weight:600}
.doc-pager{display:flex;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid #e8e8ed}
.doc-pager a{color:#3b82f6;text-decoration:none}
.doc-pager .next{margin-left:auto;text-align:right}
@media(max-width:900px){
    main.doc-main{grid-template-columns:minmax(0,1fr);max-width:900px}
    .doc-nav{position:static;max-height:none}
}
