:root{color-scheme:dark;--bg:#111a20;--panel:#1b282e;--line:#3a5157;--text:#e1e8df;--muted:#a5b8b6;--accent:#ecc47a;font:16px/1.55 system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent)}header,main,footer{max-width:1440px;margin:auto;padding:1.2rem 2rem}header{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line)}header a{text-decoration:none}header strong{font-size:1.3rem}nav{display:flex;gap:1rem;flex-wrap:wrap}h1{font-size:2rem;line-height:1.2;margin:.4rem 0 1rem}h2{font-size:1.25rem}p{max-width:80ch}label{display:inline-flex;align-items:center;gap:.5rem}button,input,select{font:inherit;background:var(--panel);border:1px solid var(--line);color:var(--text);padding:.4rem .6rem;border-radius:.25rem}button{cursor:pointer}button:hover,a:hover{color:#fff;border-color:var(--accent)}input[type=checkbox]{accent-color:var(--accent)}input[type=range]{padding:0;width:8rem}.muted,small{color:var(--muted)}.toolbar{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin:1rem 0}.panel{background:var(--panel);border:1px solid var(--line);padding:1rem;border-radius:.4rem}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.cards a{display:block;text-decoration:none}.cards p{color:var(--muted);margin-bottom:0}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.5rem}code{font-size:.9em}footer{border-top:1px solid var(--line);color:var(--muted);margin-top:2rem}.viewer-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1rem}.viewer-wrap{position:relative;border:1px solid var(--line);border-radius:.4rem;background:#0e171d;overflow:hidden}canvas{display:block;width:100%;height:65vh;min-height:380px;touch-action:none}.catalogue{max-height:65vh;overflow:auto}.catalogue button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0}.catalogue button.selected{background:#355057}.catalogue small{display:block}.tag{display:inline-block;font-size:.8rem;color:var(--accent);padding-left:.5rem}.details{font-size:.9rem}.details ul{padding-left:1.3rem}.error{color:#ffb5a6}img{max-width:100%}@media(max-width:850px){header,main,footer{padding:1rem}.viewer-grid{grid-template-columns:1fr}.catalogue{max-height:250px}canvas{height:55vh}header{align-items:flex-start;gap:1rem}}

.local-preview-notice{border-color:var(--accent);margin-bottom:1.5rem}.local-preview-notice h2{margin-top:0}.local-preview-notice pre{overflow-x:auto}

.overview-link{display:grid;grid-template-columns:minmax(240px,.85fr) 1.15fr;gap:2rem;align-items:center;margin:2rem 0 3rem;border:1px solid var(--line);border-radius:.4rem;overflow:hidden;background:var(--panel);color:var(--text);text-decoration:none}.overview-link img{width:100%;height:100%;max-height:340px;object-fit:cover;image-rendering:pixelated}.overview-link>div{padding:1.2rem 2rem 1.2rem 0}.overview-link h2{font-size:2rem;margin:.3rem 0}.overview-link p{color:var(--muted)}.overview-link .eyebrow{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent)}.overview-link span{color:var(--accent);text-decoration:underline;text-underline-offset:.3em}.overview-link:hover{border-color:var(--accent)}
@media(max-width:700px){.overview-link{grid-template-columns:1fr;gap:0}.overview-link img{height:auto;max-height:none;aspect-ratio:1.8;object-fit:cover}.overview-link>div{padding:1.2rem}.overview-link h2{font-size:1.7rem}}
