* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body { background: var(--bg); color: var(--muted); font: var(--fs-body)/1.65 var(--mono); }
.top { min-height: 44px; padding: 10px 14px; border-bottom: .5px solid var(--line); display: flex; align-items: center; }
.site-nav { display: flex; gap: 18px; align-items: baseline; flex-wrap: wrap; }
.site-nav a { color: var(--green); font-size: var(--fs-nav); }
.site-nav a:hover { color: var(--purple); }
main { width: min(900px, calc(100% - 32px)); margin: 0 auto; padding: 52px 0 80px; }
.intro { margin-bottom: 28px; }
h1 { margin: 0 0 8px; color: var(--gold); font-size: 24px; font-weight: 500; }
.lead { margin: 0; color: var(--green); font-size: var(--fs-lead); }
.demo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.demo { display: block; min-height: 180px; padding: 20px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); color: inherit; text-decoration: none; }
.demo:hover, .demo:focus-visible { border-color: var(--green); }
.demo h2 { margin: 0 0 12px; color: var(--purple); font-size: 17px; font-weight: 500; }
.demo:hover h2, .demo:focus-visible h2 { color: var(--green); }
.demo p { margin: 0 0 22px; }
.demo span { color: var(--gold); }
.demo:hover span { color: var(--green); }
.boundary { margin-top: 22px; color: var(--dim); }
.boundary a { color: var(--gold); }
.boundary a:hover { color: var(--green); }
.skip { position: fixed; left: 8px; top: -80px; z-index: 10000; padding: 8px; background: var(--panel); }
.skip:focus { top: 8px; }
@media (max-width: 620px) { main { padding-top: 38px; } .demo-grid { grid-template-columns: 1fr; } .site-nav { gap: 12px; } }
