@font-face{font-family:Funnel Display;font-style:normal;font-weight:300 800;font-display:swap;src:url(../media/FunnelDisplay-latin.0xa2imhn0fp5k.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Funnel Display;font-style:normal;font-weight:300 800;font-display:swap;src:url(../media/FunnelDisplay-latin-ext.0r8bupko5j52m.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Funnel Sans;font-style:normal;font-weight:300 800;font-display:swap;src:url(../media/FunnelSans-latin.31rnap-za66mk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Funnel Sans;font-style:normal;font-weight:300 800;font-display:swap;src:url(../media/FunnelSans-latin-ext.08z9zpoycruvm.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Funnel Sans;font-style:italic;font-weight:300 800;font-display:swap;src:url(../media/FunnelSans-Italic-latin.0rl_k5eb6sa92.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Funnel Sans;font-style:italic;font-weight:300 800;font-display:swap;src:url(../media/FunnelSans-Italic-latin-ext.2xlf9cclqnlrm.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fragment Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/FragmentMono-latin.09kihw1cxxru6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fragment Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/FragmentMono-latin-ext.1i-4lpdmefbdo.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--bg:#0a0f0c;--panel:#131a16;--text:#eaefe9;--muted:#a7b0a9;--label:#86908a;--accent:#b4f03c;--accent-ink:#0a0f0c;--live:var(--accent);--line:color-mix(in srgb, var(--text) 8%, transparent);--line-strong:color-mix(in srgb, var(--text) 16%, transparent);--surface:color-mix(in srgb, var(--text) 3%, transparent);--surface-high:color-mix(in srgb, var(--text) 5.5%, transparent);--ai:var(--accent);--ai-strong:var(--text);--ai-soft:color-mix(in srgb, var(--ai) 12%, transparent);--ai-line:color-mix(in srgb, var(--ai) 45%, transparent);--focus:var(--accent)}.ground-paper{--bg:var(--paper);--panel:var(--paper-panel);--text:var(--ink);--muted:var(--paper-muted);--label:var(--paper-label);--accent:var(--ink);--line:color-mix(in srgb, var(--text) 10%, transparent);--line-strong:color-mix(in srgb, var(--text) 18%, transparent);--surface:color-mix(in srgb, var(--text) 3%, transparent);--surface-high:color-mix(in srgb, var(--text) 5.5%, transparent);--ai:var(--ink);--ai-strong:var(--text);--ai-soft:color-mix(in srgb, var(--ai) 8%, transparent);--ai-line:color-mix(in srgb, var(--ai) 45%, transparent);--focus:var(--ink);--code-ground:#f1f1f0;--code-keyword:#b02a24;--code-call:#1d6556;--code-string:var(--paper-muted);background:var(--bg);color:var(--text)}.ground-paper ::selection{background:var(--ink);color:var(--paper)}:root{--ink:#0f1511;--paper:#e5e5e5;--paper-label:#5c5c5c;--paper-muted:#3f4742;--paper-panel:#d9dad8;--pro:#ff8f73;--pro-line:color-mix(in srgb, var(--pro) 45%, transparent);--code-ground:#0c120e;--code-keyword:#ef6f6c;--code-call:#8fd3c1;--code-string:#c5cdc6;--font-display:"Funnel Display", "Funnel Sans", system-ui, sans-serif;--font-sans:"Funnel Sans", system-ui, sans-serif;--font-mono:"Fragment Mono", ui-monospace, monospace;--gut:clamp(16px, 1.6vw, 32px);--radius:14px;--ease-out:cubic-bezier(.16, 1, .3, 1);--dur:.5s;--dur-fast:.18s;--glide:4px;--press:.97;--shadow-sheet:0 -24px 60px -12px #00000080;--shadow-stage:0 28px 70px #0000006b;--shadow-dock:0 -2px 0 #0003, 0 22px 60px -6px #000000bf;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}body{font:430 16px / 1.5 var(--font-sans);letter-spacing:-.012em;background:var(--bg);overflow-x:clip}::selection{background:var(--text);color:var(--bg)}a,button,input{color:inherit;font:inherit;letter-spacing:inherit;background:0 0;border:0;text-decoration:none}a,button{cursor:pointer}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}:where(a:not(.btn)):focus-visible{border-radius:4px}img,video,iframe{max-width:100%;display:block}[id]{scroll-margin-top:96px}.mono{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:400;line-height:1.6}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}a.sr:focus-visible{z-index:100;clip:auto;background:var(--text);width:auto;height:auto;color:var(--bg);padding:10px 16px;position:fixed;top:12px;left:12px;overflow:visible}.grain{z-index:60;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.nav{z-index:40;padding:14px var(--gut);transition:background-color .5s, border-color .5s, transform .7s var(--ease-out);border-bottom:1px solid #0000;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:fixed;top:0;left:0;right:0}.nav.is-solid{background:color-mix(in srgb, var(--bg) 74%, transparent);-webkit-backdrop-filter:blur(16px);border-color:var(--line-strong)}.nav.is-away{transform:translateY(-110%)}.brand{letter-spacing:-.02em;align-items:center;gap:9px;width:fit-content;margin-block:-12px;padding-block:12px;font-size:17px;font-weight:400;display:flex}.brand svg{flex:none;width:26px;height:26px}.links{color:var(--muted);gap:4px;display:flex}.links a{transition:color var(--dur-fast);padding:6px 10px;position:relative}.links a[aria-current=page]{color:var(--text)}.links a[aria-current=page]:before{content:"";background:var(--live);vertical-align:2px;width:4px;height:4px;margin-right:8px;display:inline-block}@keyframes live{0%,to{opacity:1}50%{opacity:.25}}.links b{color:var(--text);margin-left:4px;font-weight:400}.nav-end{justify-self:end;align-items:center;gap:8px;display:flex}.nav-end .menu-btn{display:none}.btn{height:42px;font:400 12px / 1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:background-color var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast), filter var(--dur-fast), transform var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;gap:10px;padding:0 18px;display:inline-flex;position:relative;overflow:hidden}.btn-solid{background:var(--accent);color:var(--accent-ink)}.btn-line{border:1px solid var(--line-strong)}.btn-roll{vertical-align:top;line-height:1.3;display:inline-block;position:relative;overflow:hidden}.btn-roll>span{transition:transform var(--dur) var(--ease-out);display:block}.btn-roll>span+span{position:absolute;top:100%;left:0}.btn:active{transform:scale(var(--press))}@media (hover:hover){.btn-solid:hover{filter:brightness(1.08)}.btn-line:hover{background:var(--surface-high)}.btn:hover .btn-roll>span{transform:translateY(-100%)}.links a:hover{color:var(--text)}}.menu{z-index:39;background:var(--bg);padding:84px var(--gut) 28px;visibility:hidden;opacity:0;flex-direction:column;transition:opacity .4s,visibility 0s .4s;display:flex;position:fixed;inset:0}html.menu-open{overflow:clip}html.menu-open .menu{visibility:visible;opacity:1;transition:opacity .4s}@media (max-height:740px){.menu{overscroll-behavior:contain;overflow:hidden auto}}.menu nav{display:grid}.menu nav a{font-family:var(--font-display);border-bottom:1px solid var(--line);letter-spacing:-.05em;opacity:0;transition:transform .6s var(--ease-out), opacity .6s var(--ease-out);justify-content:space-between;align-items:baseline;padding:10px 0;font-size:clamp(34px,11vw,56px);line-height:1.05;display:flex;transform:translateY(14px)}html.menu-open .menu nav a{opacity:1;transform:none}html.menu-open .menu nav a:nth-child(2){transition-delay:40ms}html.menu-open .menu nav a:nth-child(3){transition-delay:80ms}html.menu-open .menu nav a:nth-child(4){transition-delay:.12s}html.menu-open .menu nav a:nth-child(5){transition-delay:.16s}.menu nav a[aria-current=page]{color:var(--muted)}.menu-foot{gap:8px;margin-top:auto;display:grid}.menu-foot .btn{width:100%;height:50px}.menu-btn{flex-direction:column;gap:5px;width:42px;padding:0}.menu-btn i{width:16px;height:1.5px;transition:transform .4s var(--ease-out);background:currentColor;display:block}html.menu-open .menu-btn i:first-child{transform:translateY(3.25px)rotate(45deg)}html.menu-open .menu-btn i:last-child{transform:translateY(-3.25px)rotate(-45deg)}@media (max-width:860px){.nav{grid-template-columns:1fr auto}.links{display:none}.nav-end .menu-btn{display:inline-flex}}.page{top:min(0px, calc(100dvh - var(--page-h,100dvh)));background:var(--bg);position:sticky}.lib-head{padding:clamp(96px, 15vh, 160px) var(--gut) 0}.lib-meta{border-bottom:1px solid var(--line-strong);color:var(--label);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;gap:16px;padding-bottom:12px;display:flex}.lib-meta .num{color:var(--accent)}.lib-head h1{font-family:var(--font-display);letter-spacing:-.045em;margin:clamp(28px,6vh,64px) 0 clamp(32px,7vh,72px);font-size:clamp(52px,8.4vw,136px);font-weight:560;line-height:.92}.lib-head h1 .line{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}.lib-head h1 .line>span{white-space:nowrap;display:inline-block}.lib-head h1.fam-h1{max-width:18ch;font-size:clamp(44px,6.2vw,104px)}.lib-head h1.fam-h1 .line>span{white-space:normal}.lib-meta-link{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px}@media (hover:hover){.lib-meta-link:hover{color:var(--text)}}.lib-head h1 .muted{color:var(--muted)}.lib-cells{border-top:1px solid var(--line-strong);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,.55fr);display:grid}.lib-cells>*{min-width:0;padding:clamp(16px,2.2vh,22px) clamp(16px,1.6vw,24px)}.lib-cells>:first-child{padding-left:0}.lib-cells>:last-child{padding-right:0}.lib-cells>*+*{border-left:1px solid var(--line-strong)}.sub{max-width:44ch;color:var(--muted);font-size:clamp(15.5px,1.15vw,18px);line-height:1.45}.lib-search{align-self:center}.info-line{color:var(--label);text-transform:uppercase;letter-spacing:.08em;align-content:center;gap:6px;display:grid}.info-line b{font-weight:inherit;color:var(--text)}@media (max-width:860px){.lib-cells{grid-template-columns:minmax(0,1fr)}.lib-cells>*{padding-left:0;padding-right:0}.lib-cells>*+*{border-left:0;border-top:1px solid var(--line-strong)}.info-line{gap:16px;display:flex}}@media (prefers-reduced-motion:no-preference){.lib-head h1 .line>span{animation:rise 1.1s var(--ease-out) both}.lib-head h1 .line+.line>span{animation-delay:80ms}.lib-cells>*{animation:settle .9s var(--ease-out) .25s both}.lib-cells>*+*{animation-delay:.32s}}@keyframes rise{0%{transform:translateY(105%)}}@keyframes settle{0%{opacity:0;transform:translateY(12px)}}.search{background:var(--surface);border:1px solid var(--line-strong);align-items:center;gap:12px;height:48px;padding:0 14px;transition:border-color .25s,background-color .25s;display:flex}.search:focus-within{border-color:var(--accent);background:var(--surface-high)}.search svg{color:var(--label);transition:color .25s ease, transform var(--dur) var(--ease-out);flex:none}.search input{min-width:0;color:var(--text);outline:0;flex:1;font-size:15px;font-weight:430}.search input::placeholder{color:var(--label);transition:color .25s}.search input::-webkit-search-cancel-button{appearance:none}.shortcut{border:1px solid var(--line-strong);color:var(--label);flex:none;padding:2px 7px;transition:color .25s,border-color .25s}@media (hover:hover){.search:hover:not(:focus-within){border-color:var(--muted);background:var(--surface-high)}.search:hover svg{color:var(--text);transform:scale(1.08)rotate(-8deg)}.search:hover input::placeholder{color:var(--muted)}.search:hover .shortcut{color:var(--text)}}@media (hover:none){.shortcut{display:none}}.nav-search{color:var(--muted);gap:10px;padding:0 8px 0 14px}.nav-search svg{flex:none}.nav-search .shortcut{padding:1px 6px}@media (hover:hover){.nav-search:hover{color:var(--text)}}@media (max-width:860px){.nav-search{width:42px;padding:0}.nav-search-label,.nav-search .shortcut{display:none}}.cmdk{width:min(640px,100% - 32px);max-width:none;max-height:none;color:var(--text);background:0 0;border:0;margin:12vh auto auto;padding:0;overflow:visible}.cmdk::backdrop{background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(6px)}.cmdk-panel{background:var(--panel);border:1px solid var(--line-strong);max-height:min(560px,76vh);box-shadow:var(--shadow-stage);flex-direction:column;display:flex}.cmdk-field{background:0 0;border-width:0 0 1px;flex:none;height:56px}.cmdk-field:focus-within{border-color:var(--line-strong);background:0 0}.cmdk-list{overscroll-behavior:contain;flex:1;min-height:0;margin:0;padding:6px;list-style:none;overflow-y:auto}.cmdk-item{color:var(--muted);align-items:center;gap:12px;padding:10px 12px;font-size:15px;display:flex}.cmdk-item[aria-selected=true]{background:var(--surface-high);color:var(--text)}.cmdk-item[aria-selected=true] .cmdk-title:before{content:"";vertical-align:3px;background:var(--live);width:4px;height:4px;margin-right:10px;display:inline-block}.cmdk-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cmdk-kind{color:var(--label);flex:none}.cmdk-empty{color:var(--muted);padding:28px 18px}.cmdk-foot{border-top:1px solid var(--line);color:var(--label);flex:none;gap:16px;padding:10px 14px;display:flex}.cmdk-foot kbd{border:1px solid var(--line-strong);text-align:center;min-width:18px;font:inherit;margin-right:4px;padding:0 4px;display:inline-block}.cmdk-count{margin-left:auto}@media (hover:none){.cmdk-foot span:not(.cmdk-count){display:none}}@media (prefers-reduced-motion:no-preference){.cmdk[open] .cmdk-panel{animation:cmdk-in .28s var(--ease-out)}}@keyframes cmdk-in{0%{opacity:0;transform:translateY(-8px)scale(.985)}}.lib{padding:clamp(40px, 7vh, 80px) var(--gut) clamp(56px, 9vh, 110px)}.cats{border:0;flex-wrap:wrap;min-inline-size:0;display:flex}.cat{border-right:1px solid var(--line);color:var(--muted);white-space:nowrap;align-items:baseline;gap:8px;padding:clamp(11px,1.4vh,14px) clamp(12px,1.2vw,18px);font-size:clamp(13px,.95vw,15px);font-weight:460;line-height:1.25;transition:color .2s,background-color .2s;display:inline-flex}.cat[aria-current=page]{color:var(--bg);background:var(--text)}.cat-count{font-family:var(--font-mono);color:var(--label);font-variant-numeric:tabular-nums;font-size:.78em;font-weight:400}.cat[aria-current=page] .cat-count{color:color-mix(in srgb, var(--bg) 65%, transparent)}@media (hover:hover){.cat:hover:not([aria-current=page]){color:var(--text);background:var(--surface-high)}}.dock{z-index:35;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));width:min(960px, calc(100% - 2 * var(--gut)));background:var(--panel);box-shadow:var(--shadow-dock);visibility:hidden;transition:transform .6s var(--ease-out), visibility 0s .6s;flex-direction:column;display:flex;position:fixed;transform:translate(-50%,calc(100% + 40px))}.dock.is-up{visibility:visible;transition:transform .6s var(--ease-out);transform:translate(-50%)}.dock-progress{background:color-mix(in srgb, var(--text) 9%, transparent);pointer-events:none;height:2px;position:absolute;inset:0 0 auto}.dock-progress:after{content:"";background:var(--accent);transform-origin:0;transform:scaleX(var(--dock-progress,0));position:absolute;inset:0}.dock-drawer{transition:grid-template-rows .55s var(--ease-out);grid-template-rows:0fr;display:grid}.dock-drawer>div{min-height:0;overflow:hidden}.dock-drawer.is-open{grid-template-rows:1fr}.dock-cols{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:28px 40px;max-height:calc(100dvh - 180px);padding:28px 26px 10px;display:grid;overflow-y:auto}.dock-col{min-width:0;border:0;align-content:start;justify-items:start;gap:2px;min-inline-size:0;margin:0;padding:0;display:grid}.dock-col-head{color:var(--label);justify-content:space-between;justify-self:stretch;gap:8px;margin-bottom:12px;display:flex}.dock-col-any{color:color-mix(in srgb, var(--label) 65%, transparent)}.dock-line{color:var(--label);transition:color var(--dur-fast) ease, opacity .3s ease;align-items:baseline;padding-block:3px;display:inline-flex}.dock-line:before{content:attr(data-count);min-width:2.4em;font-family:var(--font-mono);letter-spacing:0;font-variant-numeric:tabular-nums;color:color-mix(in srgb, var(--label) 70%, transparent);transition:color var(--dur-fast) ease;font-size:11px}.dock-line-big{font-family:var(--font-display);letter-spacing:-.03em;font-size:24px;font-weight:440;line-height:1.12}.dock-line-big:before{font-size:12px}.dock-line-small{padding-block:4px;font-size:16.5px;line-height:1.3}.dock-line:is([aria-current=page],[aria-pressed=true]){color:var(--text)}.dock-line:is([aria-current=page],[aria-pressed=true]):before{color:var(--accent)}.dock-line:disabled{color:color-mix(in srgb, var(--label) 42%, transparent);cursor:default}.dock-drawer-foot{justify-content:flex-end;padding:0 26px 14px;display:flex}.dock-clear{color:var(--muted);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:4px;padding:6px 0;font-size:14px}.dock-clear:disabled{visibility:hidden}.dock-bar{align-items:center;gap:18px;min-height:62px;padding:8px 12px 8px 22px;display:flex}.dock-family{font-family:var(--font-display);letter-spacing:-.025em;flex:none;align-items:baseline;gap:9px;padding-block:10px;font-size:22px;font-weight:520;display:flex}.dock-family-count{color:var(--accent);letter-spacing:0}.dock-chevron{color:var(--label);transition:transform .4s var(--ease-out), color var(--dur-fast) ease;align-self:center}.dock-family[aria-expanded=true] .dock-chevron{transform:rotate(180deg)}.dock-tags{scrollbar-width:none;flex:1;align-items:center;gap:4px 18px;min-width:0;display:flex;overflow-x:auto}.dock-tags::-webkit-scrollbar{display:none}.dock-tag{letter-spacing:.08em;color:var(--text);flex:none;align-items:center;gap:6px;font-size:12px;-webkit-text-decoration:line-through #0000;text-decoration:line-through #0000;text-decoration-thickness:1.5px;transition:text-decoration-color .2s;display:inline-flex}.dock-tag svg{width:12px;height:12px;color:var(--label);transition:color var(--dur-fast) ease}.dock-summary{display:none}.dock-count{flex:none;align-items:baseline;gap:7px;margin-left:auto;display:flex}.dock-count-number{color:var(--muted);font-variant-numeric:tabular-nums;font-size:15px;font-weight:460;line-height:1.2;transition:color .25s}.dock-count-label{color:var(--label)}.dock-count.is-preview .dock-count-number{color:var(--text)}.dock-top{width:40px;height:40px;color:var(--muted);transition:color var(--dur-fast) ease;flex:none;place-items:center;display:grid}.dock-top svg{transition:transform .45s var(--ease-out)}@media (hover:hover){.dock-line:hover:not(:disabled),.dock-top:hover{color:var(--text)}.dock-cols:has(.dock-line:hover:not(:disabled)) .dock-line:not(:hover){opacity:.34}.dock-family:hover .dock-chevron,.dock-tag:hover svg{color:var(--text)}.dock-tag:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.dock-top:hover svg{transform:translateY(-3px)}}@media (max-width:700px){.dock{width:calc(100% - 20px);bottom:calc(10px + env(safe-area-inset-bottom,0px))}.dock-bar{gap:12px;padding:6px 6px 6px 16px}.dock-family{font-size:20px}.dock-tags,.dock-count-label{display:none}.dock-summary{min-width:0;color:var(--muted);flex:1;align-items:center;padding-block:12px;font-size:15px;display:flex}.dock-summary-on{text-overflow:ellipsis;white-space:nowrap;color:var(--text);overflow:hidden}.dock-summary-on:before{content:"";vertical-align:2px;background:var(--accent);width:4px;height:4px;margin-right:8px;display:inline-block}.dock-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 18px;padding:22px 16px 6px}.dock-cols>:first-child{grid-row:span 3}.dock-line-big{font-size:22px}.dock-line-small{padding-block:6px}.dock-drawer-foot{padding:0 16px 12px}}.dock.dock-inline{z-index:auto;visibility:visible;width:auto;box-shadow:none;transition:none;position:relative;bottom:auto;left:auto;transform:none}.dock-inline .dock-bar{order:-1}.dock-inline .dock-drawer.is-open>div{border-top:1px solid var(--line)}.dock-inline .dock-cols{grid-template-columns:minmax(0,2.2fr) repeat(3,minmax(0,1fr));max-height:none;padding-bottom:22px;overflow:visible}.dock-inline .dock-cols>nav.dock-col{columns:2;column-gap:32px;display:block}.dock-inline nav.dock-col>.dock-col-head{column-span:all}.dock-inline nav.dock-col>.dock-line{break-inside:avoid;display:flex}@media (max-width:700px){.dock-inline .dock-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dock-inline .dock-cols>nav.dock-col{columns:1}}.grid{border-left:1px solid var(--line-strong);grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:clamp(40px,7vh,70px);display:grid}@media (max-width:1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.grid{grid-template-columns:minmax(0,1fr)}}.empty{text-align:center;color:var(--muted);padding:clamp(48px,10vh,120px) 0}.empty p{letter-spacing:-.03em;color:var(--text);margin-bottom:18px;font-size:clamp(20px,2vw,28px)}.card{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);flex-direction:column;transition:background-color .3s;display:flex;position:relative}.card[hidden]{display:none}.grid[data-arriving] .card{opacity:0}@media (hover:hover){.card:hover{background:var(--surface-high)}}.card-link{z-index:3;position:absolute;inset:0}.card-link:focus-visible{outline-offset:-2px}.frame{aspect-ratio:16/10;background:var(--bg);border-bottom:1px solid var(--line);isolation:isolate;position:relative;overflow:hidden}.frame iframe{transform-origin:0 0;pointer-events:none;opacity:0;border:0;max-width:none;transition:opacity .5s;position:absolute;top:0;left:0}.frame.is-loaded iframe{opacity:1}.frame .loading{color:var(--label);place-items:center;transition:opacity .4s;display:grid;position:absolute;inset:0}.frame.is-loaded .loading{opacity:0}.frame .cursor{pointer-events:none;opacity:0;transform-origin:0 0;transition:opacity .2s,scale .12s;position:absolute;top:0;left:0}.frame .cursor svg{width:100%;height:100%;display:block}.frame .cursor.is-on{opacity:1}.frame .cursor.is-pressed{scale:.85}.frame video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.frame .pending{color:var(--label);text-transform:uppercase;letter-spacing:.06em;place-items:center;display:grid;position:absolute;inset:0}.card-body{padding:15px clamp(14px,1.2vw,18px) 16px}.card-head{align-items:baseline;gap:12px;display:flex}.card-number{color:var(--label);font-variant-numeric:tabular-nums;flex:none}.card-head :is(h2,h3,h4){letter-spacing:-.015em;font-size:18px;font-weight:500;line-height:1.25}.badge{text-transform:uppercase;letter-spacing:.06em;color:var(--text);border:1px solid var(--line-strong);flex:none;align-self:center;padding:1px 7px;line-height:1.6}.badge-pro{color:var(--pro);border-color:var(--pro-line);align-items:center;gap:6px;display:inline-flex}.badge-pro:before{content:"";background:currentColor;width:4px;height:4px}.category{text-align:right;color:var(--label);white-space:nowrap;text-transform:uppercase;letter-spacing:.06em;margin-left:auto;display:inline-grid;overflow:hidden}.category>span{transition:transform .55s var(--ease-out), opacity .3s ease;grid-area:1/1;justify-self:end}.category-live{color:var(--text);opacity:0;align-items:center;gap:7px;display:inline-flex;transform:translateY(110%)}.category-live i{background:var(--live);width:4px;height:4px}.card.is-playing .card-number{color:var(--accent)}.card.is-playing .category-name{opacity:0;transform:translateY(-110%)}.card.is-playing .category-live{opacity:1;transform:none}.card.is-playing .category-live i{animation:live 1.6s var(--ease-out) infinite}.card-tags{flex-wrap:wrap;gap:6px;margin-top:12px;list-style:none;display:flex}.tag{z-index:4;border:1px solid var(--line);color:var(--label);transition:color var(--dur-fast) ease, border-color var(--dur-fast) ease;padding:0 7px;display:inline-block;position:relative}.tag-tech{color:var(--muted);border-color:var(--line-strong)}a.tag:focus-visible{outline-offset:2px;border-radius:0}@media (hover:hover){a.tag:hover{color:var(--text);border-color:var(--text)}}.foot{z-index:1;padding:0 var(--gut);border-radius:var(--radius) var(--radius) 0 0;background:var(--paper);color:var(--ink);box-shadow:var(--shadow-sheet);--focus:var(--ink);--foot-line:color-mix(in srgb, var(--ink) 14%, transparent);position:relative}.foot ::selection{background:var(--ink);color:var(--paper)}.foot a{text-underline-offset:4px;text-decoration-thickness:1px}.foot-top,.foot-lead,.foot-cols,.foot-end{border-bottom:1px solid var(--foot-line)}.foot-top{justify-content:space-between;align-items:center;padding:18px 0;display:flex}.foot-brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:17px;font-weight:500;display:inline-flex}.foot-brand svg{width:22px;height:22px}.foot-up{align-items:center;min-height:44px;display:inline-flex}.foot-up,.foot-end{color:var(--paper-label);text-transform:uppercase;letter-spacing:.08em}.foot-lead{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:40px clamp(32px,5vw,96px);padding:clamp(40px,8vh,96px) 0 clamp(32px,5vh,56px);display:grid}.foot-say{max-width:21ch;font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;font-size:clamp(30px,3.3vw,52px);font-weight:500;line-height:1.04}.foot-mcp-say{letter-spacing:-.02em;font-size:clamp(17px,1.3vw,20px)}.foot-line{border:1px solid var(--ink);background:color-mix(in srgb, var(--ink) 4%, transparent);align-items:stretch;margin-top:16px;display:flex}.foot-line-text{min-width:0;font:400 13px / 1.4 var(--font-mono);white-space:nowrap;scrollbar-width:none;flex:1;padding:14px 16px;overflow-x:auto}.foot-line-text span{color:var(--paper-label)}.foot-line-copy{background:var(--ink);color:var(--paper);font:400 12px / 1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;transition:background-color var(--dur-fast);flex:none;padding:0 20px}.foot-line-copy:focus-visible{outline-offset:-5px;outline-color:var(--paper)}.foot-line-copy[data-state=done]{background:color-mix(in srgb, var(--ink) 80%, var(--accent))}.foot-mcp-more{min-height:44px;color:var(--paper-label);transition:color var(--dur-fast);align-items:center;gap:6px;margin-top:14px;font-size:14px;display:inline-flex}.foot-mcp-more svg{transition:transform var(--dur) var(--ease-out)}.foot-cols{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.foot-cols nav{flex-direction:column;align-items:flex-start;gap:0;padding:20px 0 32px;display:flex}.foot-cols nav+nav{border-left:1px solid var(--foot-line);padding-left:20px}.foot-cols h2{color:var(--paper-label);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.foot-cols a{align-items:center;min-height:44px;font-size:15px;font-weight:500;display:flex}.foot-end{border-bottom:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:16px 0;display:flex}.foot-counts{border:1px solid var(--foot-line);display:inline-flex}.foot-counts a{color:var(--ink);transition:background-color var(--dur-fast);padding:12px 14px}.foot-counts a+a{border-left:1px solid var(--foot-line)}@media (hover:hover){.foot-cols a:hover,.foot-brand:hover{text-decoration-line:underline}.foot-up:hover,.foot-mcp-more:hover{color:var(--ink)}.foot-mcp-more:hover svg{transform:translateX(var(--glide))}.foot-line-copy:hover{background:color-mix(in srgb, var(--ink) 86%, var(--paper))}.foot-counts a:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}}@media (max-width:860px){.foot-lead{grid-template-columns:minmax(0,1fr)}.foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-cols nav:nth-child(3){border-left:0;padding-left:0}.foot-cols nav:nth-child(n+3){border-top:1px solid var(--foot-line)}}.foot-top,.foot-lead,.foot-cols,.foot-end{z-index:1;position:relative}.foot-ascii{z-index:0;border-radius:inherit;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){body{timeline-scope:--foot}.foot{view-timeline:--foot block}.page{transform-origin:50% 100%;animation:linear forwards page-sink;animation-timeline:--foot;animation-range:entry}}}@keyframes page-sink{0%{filter:brightness();transform:scale(1)}to{filter:brightness(.45);transform:scale(.94)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.card:hover{transform:none}}.tabs{--tabs-pad:4px;padding:var(--tabs-pad);border:1px solid var(--line);background:var(--bg);gap:2px;display:inline-flex;position:relative}.tab-pill{top:var(--tabs-pad);bottom:var(--tabs-pad);background:var(--surface-high);pointer-events:none;width:0;position:absolute;left:0}.tabs[data-pill=ready] .tab-pill{transition:transform .28s cubic-bezier(.22,.8,.28,1),width .28s cubic-bezier(.22,.8,.28,1),background-color .2s}.tabs[data-on=ai] .tab-pill{background:var(--ai-soft)}.tab{z-index:1;color:var(--label);font:400 11.5px / 1 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:8px;padding:11px 17px;transition:color .16s;display:inline-flex;position:relative}.tab svg{flex:none;width:14px;height:14px}.tab:hover{color:var(--muted)}.tab[aria-selected=true]{color:var(--text)}.tab[aria-selected=true] svg{color:var(--accent)}.tab[data-panel=ai][aria-selected=true] svg{color:var(--ai)}.tab:focus-visible{outline-offset:-2px}@media (prefers-reduced-motion:reduce){.tabs[data-pill=ready] .tab-pill{transition:none}}
