:root{color-scheme:dark;--bg:#0e1320;--panel:#171f30;--text:#f1f5ff;--muted:#aab6cc;--line:#303e57;--accent:#9ae8ca}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:1rem/1.6 system-ui,sans-serif}
a{color:var(--accent);text-underline-offset:.18em}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{width:min(100% - 2rem,68rem);margin-inline:auto}
.site-header{border-bottom:1px solid var(--line);background:#121929}
.brand,.back{display:inline-flex;align-items:center;min-height:48px;font-weight:750;text-decoration:none}
.hero{padding:clamp(2rem,6vw,4.5rem) 0 1.5rem}
h1,h2,h3{line-height:1.18;overflow-wrap:anywhere}
.hero h1{font-size:clamp(2rem,7vw,4.5rem);margin:0;letter-spacing:-.055em}
.hero p{margin:.75rem 0 0;color:var(--muted)}
.search{max-width:32rem;margin:0 0 1.5rem}
.search label{display:block;font-weight:650;margin-bottom:.4rem}
input{width:100%;min-height:48px;padding:.65rem .85rem;border:1px solid var(--line);border-radius:.65rem;background:var(--panel);color:var(--text);font:inherit}
input::placeholder{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:.65rem;list-style:none;margin:0 0 3rem;padding:0}
.card{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:100%;min-height:64px;padding:.85rem 1rem;border:1px solid var(--line);border-radius:.7rem;background:var(--panel);color:var(--text);text-decoration:none;font-weight:650;overflow-wrap:anywhere}
.card:hover{border-color:var(--accent)}
.card span{color:var(--accent)}
.article{width:min(100% - 2rem,48rem);margin:0 auto;padding:clamp(1.5rem,5vw,3rem) 0 4rem;overflow-wrap:anywhere}
.article h1{font-size:clamp(1.8rem,5vw,3rem);margin:.25rem 0 1rem}
.byline{color:var(--muted);margin-bottom:1.5rem}
.byline time{margin-inline-start:.75rem}
.article figure{margin:1.25rem 0}
.article img{display:block;max-width:100%;height:auto;border-radius:.4rem}
.article table,.article pre{display:block;max-width:100%;overflow-x:auto}
.article blockquote{margin-inline:0;border-inline-start:3px solid var(--accent);padding-inline-start:1rem}
.doc{background:#fff;color:#111;padding:clamp(.75rem,3vw,2rem);border-radius:.7rem}
.doc a{color:#1457a5}
.doc span:has(>img){display:block!important;max-width:100%!important;height:auto!important}
.doc img{width:auto!important;height:auto!important;margin:0!important}
[hidden]{display:none!important}
.brand{gap:.6rem}.brand img{display:block;border-radius:.35rem;flex:none}
