:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:oklch(96.5% .005 80);--ink-2:oklch(86% .006 80);--ink-3:oklch(66% .008 80);--ink-4:oklch(46% .008 80);--ink-5:oklch(34% .008 80);--bg:oklch(15.5% .004 80);--bg-2:oklch(18.5% .004 80);--stage:oklch(13% .004 80);--hairline:oklch(28% .005 80);--hairline-2:oklch(36% .006 80);--accent:oklch(92% .16 100);--accent-ink:oklch(22% .04 100);--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:24px;--space-7:32px;--space-8:48px;--space-9:72px;--space-10:112px;--display:"Schibsted Grotesk", ui-sans-serif, system-ui, sans-serif;--mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--ease:cubic-bezier(.2, .8, .2, 1);--ease-out-quart:cubic-bezier(.25, 1, .5, 1)}*,:before,:after{box-sizing:border-box}html{background:var(--bg)}body{background:radial-gradient(1100px 540px at 80% -10%, oklch(22% .01 80/.5), transparent 60%), radial-gradient(900px 700px at 0% 30%, oklch(20% .01 80/.4), transparent 60%), var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--display);font-feature-settings:"ss01", "ss02", "cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.5}::selection{background:var(--accent);color:var(--accent-ink)}a{color:inherit}.shell{max-width:1240px;margin:0 auto;padding:clamp(20px,4vw,56px) clamp(16px,4vw,48px) 96px;overflow-x:clip}.topbar{justify-content:space-between;align-items:center;gap:var(--space-5);padding-bottom:var(--space-7);border-bottom:1px solid var(--hairline);flex-wrap:wrap;display:flex}.wordmark{font-family:var(--mono);letter-spacing:0;color:var(--ink);align-items:baseline;gap:2px;font-size:14px;text-decoration:none;display:inline-flex}.wordmark .slash{color:var(--ink-4);margin:0 2px}.wordmark .v{color:var(--ink-4);margin-left:10px;font-size:12px}.topbar .meta{gap:var(--space-5);font-family:var(--mono);color:var(--ink-3);flex-wrap:wrap;align-items:center;font-size:12px;display:inline-flex}@media (width<=560px){.topbar .meta{gap:var(--space-4);width:100%;font-size:11.5px}.topbar .meta .meta-stat:nth-of-type(3){display:none}}.topbar .meta span b{color:var(--ink);font-weight:500}.topbar .meta a.gh{color:var(--ink-2);border-bottom:1px solid var(--hairline);transition:color .2s var(--ease), border-color .2s var(--ease);align-items:center;gap:4px;padding-bottom:1px;text-decoration:none;display:inline-flex}.topbar .meta a.gh:hover,.topbar .meta a.gh:focus-visible{color:var(--accent);border-color:var(--accent);outline:none}.topbar .meta a.gh:after{content:"↗";color:var(--ink-4);transition:color .2s var(--ease);font-size:10px}.topbar .meta a.gh:hover:after,.topbar .meta a.gh:focus-visible:after{color:var(--accent)}.hero{gap:var(--space-7);border-bottom:1px solid var(--hairline);grid-template-columns:minmax(0,1fr);padding:clamp(48px,9vw,112px) 0 clamp(40px,7vw,96px);display:grid}@media (width>=880px){.hero{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:end}}.hero h1{font-family:var(--display);letter-spacing:-.035em;color:var(--ink);margin:0;font-size:clamp(2.6rem,7vw,5.4rem);font-weight:500;line-height:.96}.hero h1 em{font-family:var(--display);color:var(--ink-2);font-style:italic;font-weight:400}.hero h1 .punct{color:var(--ink-4);font-style:normal}.hero .lede{max-width:46ch;color:var(--ink-3);margin:0;font-size:clamp(.98rem,1.1vw,1.05rem);line-height:1.55}.hero .lede strong{color:var(--ink);font-weight:500}.section-head{justify-content:space-between;align-items:baseline;gap:var(--space-5);padding:var(--space-9) 0 var(--space-6);flex-wrap:wrap;display:flex}@media (width<=640px){.section-head{padding:var(--space-8) 0 var(--space-5)}.section-head .legend{display:none}}.section-head h2{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:12px;font-weight:400}.section-head h2:before{content:"§ ";color:var(--ink-5)}.section-head .legend{align-items:center;gap:var(--space-5);font-family:var(--mono);color:var(--ink-4);font-size:11px;display:inline-flex}.legend kbd{background:var(--bg-2);border:1px solid var(--hairline);font-family:var(--mono);color:var(--ink-2);border-radius:4px;align-items:center;padding:2px 6px;font-size:11px;display:inline-flex}.toolbar{gap:var(--space-4);padding:0 0 var(--space-5);border-bottom:1px solid var(--hairline);margin-bottom:var(--space-4);display:grid}.toolbar-row{gap:var(--space-4);grid-template-columns:minmax(0,1fr);align-items:center;display:grid}@media (width>=760px){.toolbar-row{grid-template-columns:minmax(0,1fr) auto}}.toolbar-controls{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}@media (width<=760px){.toolbar-controls{justify-content:flex-start}}.search{align-items:center;gap:var(--space-3);background:var(--bg-2);border:1px solid var(--hairline);min-width:0;height:36px;color:var(--ink-2);transition:border-color .2s var(--ease), background .2s var(--ease);border-radius:6px;padding:0 12px;display:flex;position:relative}.search:focus-within{border-color:var(--accent);background:var(--bg)}.search-icon{font-family:var(--mono);color:var(--ink-4);font-size:14px}.search input{min-width:0;color:var(--ink);font-family:var(--display);background:0 0;border:none;outline:none;flex:1;font-size:14px;line-height:1}.search input::placeholder{color:var(--ink-4)}.search input::-webkit-search-cancel-button{filter:invert(.7);cursor:pointer}.search kbd{background:var(--bg);border:1px solid var(--hairline);font-family:var(--mono);color:var(--ink-3);border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:11px}@media (width<=560px){.search kbd{display:none}}.density-toggle,.pause-toggle{border:1px solid var(--hairline);background:var(--bg-2);height:36px;font-family:var(--mono);letter-spacing:.04em;color:var(--ink-3);border-radius:6px;align-items:center;font-size:11.5px;display:inline-flex;overflow:hidden}.density-toggle button,.pause-toggle{cursor:pointer;color:inherit;font:inherit;height:100%;transition:background .2s var(--ease), color .2s var(--ease);background:0 0;border:none;padding:0 12px}.density-toggle button+button{border-left:1px solid var(--hairline)}.density-toggle button:hover{color:var(--ink-2)}.density-toggle button.is-active{background:var(--bg);color:var(--ink)}.pause-toggle{gap:8px;padding:0 14px}.pause-toggle:hover{color:var(--ink-2)}.pause-toggle.is-paused{color:var(--accent);border-color:var(--accent)}.pause-glyph{font-family:var(--mono);letter-spacing:-.05em;font-size:11px}.filter-row{justify-content:space-between;align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.pills{flex-wrap:wrap;gap:6px;display:inline-flex}.pill{border:1px solid var(--hairline);height:26px;color:var(--ink-3);font-family:var(--mono);letter-spacing:.06em;text-transform:lowercase;cursor:pointer;transition:color .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease);background:0 0;border-radius:999px;padding:0 10px;font-size:11px}.pill:hover{color:var(--ink-2);border-color:var(--hairline-2)}.pill.is-active{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.result-count{font-family:var(--mono);color:var(--ink-4);letter-spacing:.04em;font-size:11px}.tune-row{align-items:center;gap:var(--space-5);padding-top:var(--space-3);flex-wrap:wrap;display:flex}.tune-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-5);font-size:10.5px}.color-picker,.speed-scrubber{align-items:center;gap:var(--space-3);font-family:var(--mono);color:var(--ink-3);font-size:11px;display:inline-flex}.color-picker input[type=color]{opacity:0;border:none;width:0;height:0;padding:0;position:absolute}.color-swatch{border:1px solid var(--hairline-2);cursor:pointer;width:18px;height:18px;transition:transform .2s var(--ease);border-radius:50%}.color-picker:hover .color-swatch{transform:scale(1.06)}.reset-link{cursor:pointer;font:inherit;color:var(--ink-4);text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.reset-link:hover{color:var(--accent)}.speed-scrubber input[type=range]{appearance:none;cursor:pointer;background:0 0;width:clamp(120px,30vw,180px);height:18px}.speed-scrubber input[type=range]::-webkit-slider-runnable-track{background:var(--hairline);border-radius:2px;height:2px}.speed-scrubber input[type=range]::-moz-range-track{background:var(--hairline);border:none;border-radius:2px;height:2px}.speed-scrubber input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--ink);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px;margin-top:-6px}.speed-scrubber input[type=range]::-moz-range-thumb{background:var(--ink);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}.speed-value{text-align:right;min-width:3.5ch;color:var(--ink-2)}.grid{grid-template-columns:repeat(auto-fill, minmax(var(--card-min,220px), 1fr));background:var(--hairline);border:1px solid var(--hairline);gap:1px;display:grid}.grid.is-comfortable{--card-min:220px}.grid.is-compact{--card-min:152px}@media (width<=480px){.grid.is-comfortable{--card-min:160px}.grid.is-compact{--card-min:108px}}.grid-empty{padding:var(--space-9) var(--space-6);border:1px dashed var(--hairline);text-align:center;color:var(--ink-3);font-family:var(--mono);letter-spacing:.02em;border-radius:8px;font-size:12px}.grid-empty kbd{background:var(--bg-2);border:1px solid var(--hairline);font-family:var(--mono);color:var(--ink-2);border-radius:4px;padding:2px 6px;font-size:11px}.card{background:var(--bg);cursor:pointer;transition:background .24s var(--ease);outline:none;grid-template-rows:1fr auto;display:grid;position:relative}.card:hover,.card:focus-visible{background:var(--bg-2)}.card:focus-visible{box-shadow:inset 0 0 0 1px var(--accent)}.card .stage{aspect-ratio:1;background:var(--stage);border-bottom:1px solid var(--hairline);place-items:center;display:grid;position:relative;overflow:hidden}.card .stage:after{content:"";opacity:.55;pointer-events:none;background-image:linear-gradient(90deg,#0000 calc(50% - .5px),oklch(22% .004 80) 50%,#0000 calc(50% + .5px)),linear-gradient(#0000 calc(50% - .5px),oklch(22% .004 80) 50%,#0000 calc(50% + .5px));position:absolute;inset:12px;-webkit-mask-image:radial-gradient(circle,#0000 18px,#000 19px calc(100% - 24px),#0000 calc(100% - 8px));mask-image:radial-gradient(circle,#0000 18px,#000 19px calc(100% - 24px),#0000 calc(100% - 8px))}.card .stage svg{width:64%;height:64%;position:relative}.card .info{flex-direction:column;gap:6px;padding:14px 16px 12px;display:flex}.card .info-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.card .name{font-family:var(--display);color:var(--ink);letter-spacing:-.005em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14.5px;font-weight:500;line-height:1.2;overflow:hidden}.card .slug{font-family:var(--mono);color:var(--ink-4);letter-spacing:.01em;white-space:nowrap;flex-shrink:0;font-size:11px}.card .blurb{font-family:var(--display);color:var(--ink-3);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.card .info-foot{justify-content:space-between;align-items:center;gap:var(--space-4);border-top:1px solid var(--hairline);min-height:22px;margin-top:4px;padding-top:10px;display:flex}.card .index{font-family:var(--mono);color:var(--ink-5);letter-spacing:.04em;z-index:2;font-size:10.5px;position:absolute;top:10px;left:12px}.card .category-tag{font-family:var(--mono);color:var(--ink-4);letter-spacing:.08em;text-transform:uppercase;font-size:9.5px}.card .details-link{font-family:var(--mono);color:var(--ink-3);letter-spacing:.04em;opacity:.6;transition:opacity .2s var(--ease), transform .2s var(--ease), color .2s var(--ease);font-size:10.5px;text-decoration:none;transform:translate(-2px)}.card:hover .details-link,.card:focus-visible .details-link,.card .details-link:focus-visible{opacity:1;transform:translate(0)}.card .details-link:hover,.card .details-link:focus-visible{color:var(--accent);outline:none}@media (hover:none){.card .details-link{opacity:1;transform:translate(0)}}.grid.is-compact .card .info .blurb,.grid.is-compact .card .info-foot{display:none}.grid.is-compact .card .info{gap:2px;padding:10px 12px 12px}.grid.is-compact .card .name{font-size:13px}.grid.is-compact .card .slug{font-size:10px}.grid.is-compact .card .stage svg{width:56%;height:56%}@media (width<=480px){.grid.is-compact .card .index{letter-spacing:.03em;font-size:9.5px;top:6px;left:8px}.grid.is-compact .card .stage:after{inset:8px;-webkit-mask-image:radial-gradient(circle,#0000 12px,#000 13px calc(100% - 16px),#0000 calc(100% - 6px));mask-image:radial-gradient(circle,#0000 12px,#000 13px calc(100% - 16px),#0000 calc(100% - 6px))}.grid.is-compact .card .stage svg{width:60%;height:60%}.grid.is-compact .card .info{gap:0;padding:8px 10px 9px}.grid.is-compact .card .info-head{justify-content:center}.grid.is-compact .card .name{text-align:center;font-size:11.5px}.grid.is-compact .card .slug{display:none}}.card .copy{height:22px;font-family:var(--mono);color:var(--ink-3);letter-spacing:.04em;opacity:0;transition:opacity .2s var(--ease), transform .2s var(--ease), color .2s var(--ease), background .2s var(--ease);z-index:2;pointer-events:none;background:0 0;border-radius:4px;align-items:center;gap:6px;padding:0 8px;font-size:10.5px;display:inline-flex;position:absolute;top:10px;right:12px;transform:translateY(-2px)}.card:hover .copy,.card:focus-visible .copy{opacity:1;transform:translateY(0)}.card.is-copied .copy{opacity:1;color:var(--accent-ink);background:var(--accent);transform:translateY(0)}.card.is-copied .stage{background:oklch(18% .06 100)}.card .copy:before{content:"↗";font-size:11px}.card.is-copied .copy:before{content:"✓"}.card.is-copied .copy:after{content:"copied"}.card.is-error .copy{opacity:1;color:oklch(96% .02 30);background:oklch(42% .16 30);transform:translateY(0)}.card.is-error .copy:before{content:"!"}.card.is-error .copy:after{content:"copy failed"}.card:not(.is-copied):not(.is-error) .copy:after{content:"copy svg"}.footer{margin-top:var(--space-9);padding-top:var(--space-7);border-top:1px solid var(--hairline);gap:var(--space-5);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=720px){.footer{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start}}.footer p{max-width:56ch;color:var(--ink-3);margin:0;font-size:13.5px;line-height:1.6}.footer code{font-family:var(--mono);background:var(--bg-2);border:1px solid var(--hairline);color:var(--ink-2);border-radius:4px;padding:2px 6px;font-size:12.5px}.colophon{font-family:var(--mono);color:var(--ink-4);font-size:11.5px;line-height:1.7}.colophon .row{gap:var(--space-5);grid-template-columns:84px minmax(0,1fr);display:grid}.colophon .row span:first-child{color:var(--ink-5);text-transform:uppercase;letter-spacing:.08em}.colophon .row span:last-child{color:var(--ink-2);overflow-wrap:anywhere;word-break:break-word}@media (width<=480px){.colophon .row{gap:var(--space-4);grid-template-columns:64px minmax(0,1fr);font-size:11px}}.detail-shell .topbar{border-bottom:1px solid var(--hairline)}.back-link{font-family:var(--mono);color:var(--ink-3);border-bottom:1px solid var(--hairline);transition:color .2s var(--ease), border-color .2s var(--ease);padding-bottom:1px;font-size:12px;text-decoration:none}.back-link:hover,.back-link:focus-visible{color:var(--accent);border-color:var(--accent);outline:none}.detail-hero{gap:var(--space-8);padding:clamp(40px, 7vw, 96px) 0 var(--space-7);border-bottom:1px solid var(--hairline);align-items:start;display:grid}@media (width>=880px){.detail-hero{grid-template-columns:minmax(0,360px) minmax(0,1fr)}}.detail-stage{aspect-ratio:1;background:var(--stage);border:1px solid var(--hairline);color:var(--ink);border-radius:12px;place-items:center;display:grid;position:relative;overflow:hidden}.detail-meta h1{margin:var(--space-4) 0 var(--space-3);font-family:var(--display);letter-spacing:-.025em;font-size:clamp(2rem,4.5vw,3.4rem);font-weight:500;line-height:1.05}.detail-eyebrow{gap:var(--space-4);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);font-size:11px;display:inline-flex}.eyebrow-cat{color:var(--ink-2)}.detail-blurb{margin:0 0 var(--space-6);max-width:56ch;color:var(--ink-3);font-size:1.05rem;line-height:1.55}.detail-stats{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin:0;display:grid}.detail-stats .stat{border-top:1px solid var(--hairline);padding-top:var(--space-3);gap:2px;display:grid}.detail-stats dt{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-5);margin:0;font-size:10.5px}.detail-stats dd{color:var(--ink);margin:0;font-size:14px}.detail-stats dd.is-mono{font-family:var(--mono);color:var(--ink-2);font-size:12.5px}.detail-section{padding:var(--space-8) 0 var(--space-3)}.detail-section h2{margin:0 0 var(--space-5);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-size:12px;font-weight:400}.detail-section h2:before{content:"§ ";color:var(--ink-5)}.size-strip{align-items:flex-end;gap:var(--space-7);padding:var(--space-6) var(--space-5);border:1px solid var(--hairline);background:var(--stage);color:var(--ink);border-radius:8px;flex-wrap:wrap;display:flex}.size-strip figure{justify-items:center;gap:8px;margin:0;display:grid}.size-strip figcaption{font-family:var(--mono);color:var(--ink-4);letter-spacing:.04em;font-size:11px}.code-block{border:1px solid var(--hairline);background:var(--bg-2);border-radius:8px;overflow:hidden}.code-meta{border-bottom:1px solid var(--hairline);background:var(--bg);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);justify-content:space-between;align-items:center;padding:8px 12px;font-size:10.5px;display:flex}.code-copy{border:1px solid var(--hairline);color:var(--ink-3);font:inherit;cursor:pointer;transition:color .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease);background:0 0;border-radius:4px;padding:2px 8px}.code-copy:hover{color:var(--ink);border-color:var(--ink-3)}.code-copy.is-copied{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.code-block pre{font-family:var(--mono);color:var(--ink-2);background:0 0;margin:0;padding:14px 16px;font-size:12.5px;line-height:1.55;overflow-x:auto}.code-block pre.is-wrap{white-space:pre-wrap;word-break:break-all;max-height:360px;overflow-y:auto}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
