@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_next/static/media/schibsted-grotesk-latin-ext-wght-normal.hsMS0n0O.woff2)format("woff2-variations");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:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_next/static/media/schibsted-grotesk-latin-wght-normal.Bb8VGrTG.woff2)format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");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}:root{--font-sans:"Schibsted Grotesk Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1.0625rem;--text-lg:clamp(1.125rem, 1.05rem + .35vw, 1.3125rem);--text-xl:clamp(1.375rem, 1.2rem + .8vw, 1.875rem);--text-2xl:clamp(2rem, 1.45rem + 2.4vw, 3.5rem);--text-display:clamp(2.6rem, 1rem + 7.6vw, 8.75rem);--leading-tight:.95;--leading-snug:1.2;--leading-body:1.6;--tracking-display:-.045em;--tracking-title:-.03em;--tracking-meta:.06em;--measure:62ch;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--section-pad:clamp(4.5rem, 3rem + 5vw, 7.5rem);--content-max:1280px;--gutter:clamp(1rem, .5rem + 3vw, 3rem);--header-h:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.16s;--dur-base:.28s;--dur-slow:.52s;--spring-out:cubic-bezier(.34, 1.32, .64, 1);--dur-press:90ms;--press-y:1px;--lift-y:-2px;--nudge-x:3px;--tilt-max:2.5deg;--focus-ring:2px solid var(--accent);--focus-gap:3px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f4ef;--bg-raised:#fbfaf6;--surface:#ecebe4;--fg:#141613;--fg-2:#464941;--fg-3:#686b62;--line:#1416131c;--line-strong:#14161338;--accent:#1c7341;--accent-ink:#f5f4ef;--accent-soft:#1c734117;--live:#1c7341;--open:#3c5a8a;--lab:#95580a;--shadow-pop:0 1px 2px #1416130f, 0 12px 32px -12px #14161338;--header-bg:#f5f4efd1;--plate:#e6e5dd}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0e0c;--bg-raised:#121512;--surface:#181b17;--fg:#e8ebe4;--fg-2:#b3b8ad;--fg-3:#8a9086;--line:#e8ebe417;--line-strong:#e8ebe430;--accent:#84d9a0;--accent-ink:#0c0e0c;--accent-soft:#84d9a01a;--live:#84d9a0;--open:#9db8e6;--lab:#e5b766;--shadow-pop:0 1px 2px #0006, 0 18px 40px -16px #000000b3;--header-bg:#0c0e0cc7;--plate:#151815}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0e0c;--bg-raised:#121512;--surface:#181b17;--fg:#e8ebe4;--fg-2:#b3b8ad;--fg-3:#8a9086;--line:#e8ebe417;--line-strong:#e8ebe430;--accent:#84d9a0;--accent-ink:#0c0e0c;--accent-soft:#84d9a01a;--live:#84d9a0;--open:#9db8e6;--lab:#e5b766;--shadow-pop:0 1px 2px #0006, 0 18px 40px -16px #000000b3;--header-bg:#0c0e0cc7;--plate:#151815}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--space-4));background:var(--bg)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);min-height:100dvh;color:var(--fg);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-body);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);margin:0;overflow-x:clip}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}ul[role=list],ol[role=list]{padding:0;list-style:none}h1,h2,h3{text-wrap:balance;font-weight:600}p{text-wrap:pretty}img,svg{max-width:100%;display:block}button,input{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-gap);border-radius:4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;top:var(--space-3);left:var(--space-3);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--fg);color:var(--bg);font-size:var(--text-sm);position:fixed;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.container{width:100%;max-width:var(--content-max);padding-inline:var(--gutter);margin-inline:auto}.mono{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-meta);text-transform:uppercase;font-weight:450}.text-link{transition:background-size var(--dur-base) var(--ease-out), color var(--dur-fast);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px}.text-link:hover{color:var(--accent);background-position:100% 100%;background-size:0% 1px}.arrow{transition:transform var(--dur-base) var(--ease-out);display:inline-block}.status{color:var(--fg-2);white-space:nowrap;align-items:center;gap:.5em;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.status[data-phase=live]:before{background:var(--live)}.status[data-phase=open]:before{background:var(--open)}.status[data-phase=lab]:before{box-shadow:inset 0 0 0 1.5px var(--lab);background:0 0}.status[data-phase=wip]:before{background:linear-gradient(90deg, var(--lab) 50%, transparent 50%);box-shadow:inset 0 0 0 1.5px var(--lab)}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--fg);font-size:var(--text-sm);white-space:nowrap;box-shadow:0 1px 0 var(--line);transition:background-color var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast), box-shadow var(--dur-fast), transform var(--dur-base) var(--spring-out);background:0 0;font-weight:550;display:inline-flex}.button:hover{border-color:var(--fg)}.button:active{transform:translateY(var(--press-y));box-shadow:none;transition-duration:var(--dur-press)}.button:hover .arrow{transform:translateX(var(--nudge-x))}.button-primary{border-color:var(--fg);background:var(--fg);color:var(--bg)}.button-primary:hover{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.chip-list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chip-list li{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--fg-2);font-family:var(--font-mono);letter-spacing:.02em;padding:.2rem .55rem;font-size:.7rem}.tech-list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tech-chip{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:32px;color:var(--fg-2);font-family:var(--font-mono);letter-spacing:.02em;align-items:center;gap:.45rem;padding:.25rem .6rem;font-size:.72rem;display:inline-flex}.tech-icon{fill:var(--brand,currentColor);flex:none}.tech-chip-link{color:var(--fg);transition:border-color var(--dur-fast), color var(--dur-fast)}.tech-chip-link .arrow{color:var(--fg-3)}.tech-chip-link:hover{border-color:var(--line-strong);color:var(--accent)}.tech-chip-link:hover .arrow{color:var(--accent);transform:translate(2px)}.section{padding-block:var(--section-pad);border-top:1px solid var(--line)}.section-head{gap:var(--space-4);grid-template-columns:1fr;margin-bottom:clamp(2.5rem,1.5rem + 3vw,4.5rem);display:grid}.section-label{gap:var(--space-3);color:var(--fg-3);display:flex}.section-label b{color:var(--accent);font-weight:500}.section-title{font-size:var(--text-2xl);letter-spacing:var(--tracking-title);line-height:1.02}.section-intro{max-width:46ch;color:var(--fg-2);font-size:var(--text-lg);line-height:1.5}@media (min-width:900px){.section-head{align-items:end;column-gap:var(--space-7);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.section-head .section-label{grid-column:1/-1}.section-intro{justify-self:end}}.site-header{z-index:50;height:var(--header-h);transition:background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);border-bottom:1px solid #0000;position:sticky;top:0}.site-header[data-scrolled=true]{border-bottom-color:var(--line);background:var(--header-bg);-webkit-backdrop-filter:saturate(1.4)blur(14px);backdrop-filter:saturate(1.4)blur(14px)}.header-inner{justify-content:space-between;align-items:center;gap:var(--space-4);height:100%;display:flex}.brand{align-items:center;gap:var(--space-3);letter-spacing:-.01em;min-height:44px;font-weight:600;display:inline-flex}.brand-mark{border-radius:var(--radius-sm);object-fit:cover;width:28px;height:28px;box-shadow:0 0 0 1px var(--line);transition:box-shadow var(--dur-fast);flex:none;display:block}.brand:hover .brand-mark{box-shadow:0 0 0 2px var(--accent)}.site-nav{display:none}.site-nav ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:flex}.site-nav a{min-height:36px;padding:0 var(--space-3);color:var(--fg-2);font-size:var(--text-sm);isolation:isolate;transition:color var(--dur-fast);align-items:center;display:inline-flex;position:relative}.site-nav a:hover,.site-nav a[aria-current]{color:var(--fg)}.nav-indicator{z-index:-1;border-radius:var(--radius-sm);background:var(--surface);position:absolute;inset:0}.header-actions{align-items:center;gap:var(--space-2);display:flex}.icon-button{border:1px solid var(--line);border-radius:var(--radius-sm);width:40px;height:40px;color:var(--fg-2);transition:color var(--dur-fast), border-color var(--dur-fast), background-color var(--dur-fast);background:0 0;place-items:center;display:inline-grid;overflow:hidden}.icon-button:hover{border-color:var(--line-strong);color:var(--fg)}.icon-button svg{width:18px;height:18px}.command-trigger{align-items:center;gap:var(--space-3);height:40px;padding:0 var(--space-2) 0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-xs);transition:color var(--dur-fast), border-color var(--dur-fast);background:0 0;display:none}.command-trigger:hover{border-color:var(--line-strong);color:var(--fg)}kbd{border:1px solid var(--line);background:var(--bg-raised);color:var(--fg-2);font-family:var(--font-mono);border-radius:4px;padding:.1rem .4rem;font-size:.68rem}.menu-button{display:inline-grid}@media (min-width:820px){.site-nav{display:block}.command-trigger{display:inline-flex}.menu-button{display:none}}.mobile-menu{z-index:60;padding:0 var(--gutter) max(var(--space-6), env(safe-area-inset-bottom));background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.mobile-menu-top{height:var(--header-h);justify-content:space-between;align-items:center;display:flex}.mobile-menu nav{padding-top:var(--space-6);flex:1}.mobile-menu ol{counter-reset:menu;margin:0;padding:0;list-style:none}.mobile-menu li{border-bottom:1px solid var(--line)}.mobile-menu nav a{align-items:baseline;gap:var(--space-4);padding:var(--space-4) 0;letter-spacing:var(--tracking-title);font-size:clamp(2rem,9vw,2.75rem);font-weight:600;line-height:1.1;display:flex}.mobile-menu nav a span{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:0;font-weight:400}.mobile-menu-foot{gap:var(--space-3);padding-top:var(--space-5);flex-wrap:wrap;display:flex}.palette-backdrop{z-index:70;background:#0a0c0a6b;position:fixed;inset:0}.palette{z-index:71;width:min(640px, calc(100vw - 2 * var(--gutter)));border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--bg-raised);box-shadow:var(--shadow-pop);position:fixed;top:min(16vh,140px);left:50%;overflow:hidden;translate:-50%}.palette-field{align-items:center;gap:var(--space-3);padding:0 var(--space-5);border-bottom:1px solid var(--line);display:flex}.palette-field span{color:var(--accent);font-family:var(--font-mono);font-size:var(--text-sm);white-space:nowrap}.palette-field input{min-width:0;height:56px;font-family:var(--font-mono);background:0 0;border:0;outline:0;flex:1;font-size:.95rem}.palette-field input::placeholder{color:var(--fg-3)}.palette-list{max-height:min(56vh,420px);padding:var(--space-2);overscroll-behavior:contain;margin:0;list-style:none;overflow-y:auto}.palette-group{padding:var(--space-3) var(--space-3) var(--space-1);color:var(--fg-3)}.palette-option{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--fg-2);cursor:pointer;isolation:isolate;display:flex;position:relative}.palette-option[aria-selected=true]{color:var(--fg)}.palette-option small{color:var(--fg-3);font-family:var(--font-mono);font-size:.7rem}.palette-highlight{z-index:-1;border-radius:var(--radius-sm);background:var(--surface);position:absolute;inset:0}.palette-empty{padding:var(--space-6) var(--space-4);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-sm)}.palette-foot{gap:var(--space-4);padding:var(--space-3) var(--space-5);border-top:1px solid var(--line);color:var(--fg-3);font-family:var(--font-mono);font-size:.7rem;display:flex}.hero{position:relative}.hero-scene{flex-direction:column;padding-top:clamp(2.5rem,1rem + 6vw,6.5rem);display:flex;position:relative}.hero-head{z-index:1;width:100%;position:relative}.hero-kicker{justify-content:space-between;align-items:flex-start;gap:var(--space-4) var(--space-6);color:var(--fg-3);flex-wrap:wrap;margin-bottom:clamp(1.75rem,1rem + 3vw,3.25rem);display:flex}.hero-id{gap:var(--space-1);display:grid}.hero-id b{color:var(--fg);letter-spacing:.14em;font-weight:600}.hero-kicker-side{align-items:center;gap:var(--space-2) var(--space-5);flex-wrap:wrap;display:flex}.hero-kicker time{font-variant-numeric:tabular-nums}.pulse-status{align-items:center;gap:var(--space-2);color:var(--fg-2);text-transform:none;letter-spacing:0;font-size:var(--text-sm);font-family:var(--font-sans);display:inline-flex}.pulse-dot{background:var(--live);border-radius:50%;width:8px;height:8px;position:relative}@media (prefers-reduced-motion:no-preference){.pulse-dot:after{content:"";background:var(--live);animation:pulse 2.6s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:0}}@keyframes pulse{0%{opacity:.55;transform:scale(1)}70%,to{opacity:0;transform:scale(2.8)}}.hero-title{font-size:var(--text-display);font-weight:650;line-height:var(--leading-tight);letter-spacing:var(--tracking-display)}.hero-line{display:block}.hero-title .word{vertical-align:top;margin:-.08em 0 -.24em;padding:.08em 0 .24em;display:inline-block}.hero-title .word-inner{display:inline-block}.hero-accent{color:var(--accent);display:inline-block;position:relative}.hero-underline{width:calc(100% - .22em);height:.22em;color:var(--accent);pointer-events:none;position:absolute;bottom:-.12em;left:-.02em;overflow:visible}.hero-underline path{fill:none;stroke:currentColor;stroke-width:.055em;stroke-linecap:round;vector-effect:non-scaling-stroke}.hero-copy{gap:var(--space-3);max-width:40rem;margin-top:clamp(1.5rem,1rem + 1.6vw,2.5rem);display:grid}.hero-lede{max-width:34ch}.hero-range{max-width:58ch}.hero-lede{color:var(--fg);font-size:var(--text-xl);letter-spacing:-.012em;line-height:1.32}.hero-range{color:var(--fg-3);font-size:var(--text-base);line-height:1.55}.hero-actions{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.hero-machine{width:min(100%,760px);margin:var(--space-6) auto 0;aspect-ratio:810/760;pointer-events:none;position:relative}.hero-rail-row{margin-top:var(--space-3)}.hero-rail{--progress:1;align-items:center;gap:var(--space-3);width:min(100%,24rem);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;letter-spacing:.04em;grid-template-columns:auto minmax(0,1fr) auto;margin-left:auto;display:grid}.rail-track{height:2.25rem;position:relative;container-type:inline-size}.rail-line,.rail-fill{height:1px;position:absolute;top:calc(50% + .4rem);left:0;right:0}.rail-line{background:var(--line-strong)}.rail-fill{background:var(--accent);transform-origin:0;transform:scaleX(var(--progress))}.rail-tick.ms{top:calc(50% + .4rem);left:calc(var(--at) * 100%);background-color:var(--bg);position:absolute;transform:translate(-50%,-50%)scale(.8)}.rail-dot{background:var(--accent);width:11px;height:11px;box-shadow:0 0 0 4px var(--accent-soft);transform:translate(calc(var(--progress) * 100cqw - 50%), -50%);border-radius:50%;position:absolute;top:calc(50% + .4rem);left:0}.rail-dot:after{content:attr(data-year);color:var(--accent);font-size:.68rem;position:absolute;bottom:calc(100% + .3rem);left:50%;transform:translate(-50%)}.hero-foot{gap:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--line);grid-template-columns:1fr;margin-top:clamp(2.5rem,2rem + 3vw,4.5rem);padding-bottom:clamp(3rem,2rem + 4vw,5rem);display:grid}.hero-foot h2{margin-bottom:var(--space-3);color:var(--fg-3)}.currently{gap:var(--space-2);display:grid}.currently div{gap:var(--space-3);font-size:var(--text-sm);grid-template-columns:9.5rem 1fr;display:grid}.currently dt{color:var(--fg-3)}.currently dd{color:var(--fg)}.latest-card{gap:var(--space-2);font-size:var(--text-sm);display:grid}[data-tilt]{transition:transform var(--dur-slow) var(--ease-out)}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){[data-tilt]:hover{transform:perspective(900px) rotateX(calc(var(--ty,0) * var(--tilt-max) * -2)) rotateY(calc(var(--tx,0) * var(--tilt-max) * 2)) translateY(var(--lift-y));transition-duration:var(--dur-fast)}}.latest-card strong{font-size:var(--text-lg);letter-spacing:-.01em;font-weight:600}.latest-card p{color:var(--fg-2)}.latest-card .meta-row{gap:var(--space-4);color:var(--fg-3);font-family:var(--font-mono);letter-spacing:var(--tracking-meta);text-transform:uppercase;flex-wrap:wrap;font-size:.7rem;display:flex}.latest-card:hover strong{color:var(--accent)}.latest-card:hover .arrow{transform:translate(4px)}.elsewhere{gap:var(--space-2);font-size:var(--text-sm);margin:0;padding:0;list-style:none;display:grid}.elsewhere a{gap:var(--space-2);color:var(--fg-2);display:inline-flex}.elsewhere a:hover{color:var(--fg)}@media (min-width:640px){.hero-foot{gap:var(--space-6);grid-template-columns:1fr 1fr}.hero-foot>:last-child{grid-column:1/-1}.hero-foot .elsewhere{gap:var(--space-5);flex-wrap:wrap;display:flex}}@media (min-width:1000px){.hero-foot{gap:var(--space-7);grid-template-columns:1.15fr 1.3fr .6fr}.hero-foot>:last-child{grid-column:auto}.hero-foot .elsewhere{gap:var(--space-2);display:grid}}@media (max-width:767px){.hero-machine{width:100%;margin-top:var(--space-5)}.hero-rail{width:100%}}@media (min-width:1000px) and (min-height:640px){.hero-scene{--hero-fs:clamp(2.6rem, min(1rem + 5vw, 10.5svh), 7.25rem);--hero-text:max(calc(var(--hero-fs) * 6.4), 30rem);min-height:calc(100svh - var(--header-h));grid-template-rows:minmax(0,1fr) auto;padding-top:clamp(1.5rem,.5rem + 3.5svh,4rem);display:grid;overflow:hidden}.motion-ok .hero-sequence{height:210svh}.motion-ok .hero-scene{top:var(--header-h);height:calc(100svh - var(--header-h));position:sticky}.hero-title{font-size:var(--hero-fs)}.hero-copy{max-width:30rem}.hero-machine{z-index:0;top:4%;bottom:4%;left:calc(max(0px, (100vw - var(--content-max)) / 2) + var(--gutter) + var(--hero-text));right:calc(var(--gutter) / 2);aspect-ratio:auto;width:auto;margin:0;position:absolute}.hero-rail-row{z-index:1;margin-top:0;padding-bottom:clamp(1rem,2.5svh,2rem);position:relative}.hero-rail{margin-left:0}}@media (min-width:1000px) and (max-width:1279px) and (min-height:640px){.hero-actions{flex-direction:column;align-items:flex-start}}.habit{border-top:1px solid var(--line)}.habit-inner{gap:var(--space-3);padding-block:clamp(2.5rem,1.5rem + 3vw,4rem);display:grid}.habit-line{max-width:34ch;font-size:var(--text-xl);letter-spacing:-.015em;font-weight:550;line-height:1.3}.habit-aside{max-width:60ch;color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6}@media (min-width:900px){.habit-inner{align-items:end;column-gap:var(--space-8);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.habit-aside{justify-self:end;max-width:46ch}}.motion-ok:not(.hero-ready) .hero-machine,.motion-ok:not(.hero-ready) [data-hero=rail],.motion-ok:not(.hero-ready) .hero-underline{opacity:0}.hero-rail{transition:opacity var(--dur-slow) var(--ease-out)}.eng{--eng-ink:color-mix(in srgb, var(--fg) 62%, transparent);--eng-soft:color-mix(in srgb, var(--fg) 32%, transparent);width:100%;max-width:none;height:100%;display:block;overflow:visible}.eng path,.eng circle{vector-effect:non-scaling-stroke}.eng-face{fill:var(--bg);stroke:none}.eng-face-open{fill:none}.eng-line{fill:none;stroke:var(--eng-ink);stroke-width:1.2px;stroke-linejoin:round;stroke-linecap:round}.eng-part .eng-line{stroke:color-mix(in srgb, var(--accent) calc(var(--flash,0) * 100%), var(--eng-ink))}.eng-rail{fill:none;stroke:var(--eng-ink);stroke-width:1px}.eng-mount{fill:var(--bg);stroke:var(--eng-ink);stroke-width:1px}.eng-bracket{stroke-width:1px}.eng-bolt path{fill:var(--bg);stroke:var(--eng-soft);stroke-width:1px}.eng-bolt circle{fill:var(--eng-soft)}.engine-alt .eng-bolt path{stroke:var(--accent)}.engine-alt .eng-bolt circle{fill:var(--accent)}.eng-scan{fill:none;stroke:var(--accent);stroke-width:1.4px;opacity:0}.eng-detail{fill:none;stroke:var(--eng-soft);stroke-width:1px;stroke-linejoin:round;stroke-linecap:round}.eng-dashed{stroke-dasharray:4 5}.eng-accent{stroke:var(--accent)}.eng-hot{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;opacity:0}.eng-hot-node{fill:var(--accent)}.eng-guide{fill:none;stroke:var(--eng-soft);stroke-width:1px}.eng-guide[data-dashed]{stroke-dasharray:2 7}.eng-axis{stroke-dasharray:16 6 2 6}.eng-guides{opacity:.3}.eng-leader{fill:none;stroke:var(--eng-soft);stroke-width:1px}.eng-pin{fill:var(--accent)}.eng-label{fill:var(--fg-2);font-family:var(--font-mono);letter-spacing:.08em;font-size:13px}.eng-index{fill:var(--accent)}.eng-note{fill:var(--fg-3);font-family:var(--font-sans);opacity:0;font-size:13px}.eng-projects{fill:var(--accent);font-family:var(--font-mono);letter-spacing:.06em;opacity:0;font-size:11.5px}.eng-short{display:none}@media (prefers-reduced-motion:no-preference){.eng[data-idle] .eng-scan{animation:eng-scan 6s var(--ease-in-out) infinite}.eng[data-idle] .eng-core .eng-accent{animation:3s steps(2,jump-none) infinite eng-blink}}@keyframes eng-scan{0%{opacity:0;transform:translate(0)}12%,80%{opacity:.7}to{opacity:0;transform:translate(-249px,144px)}}@keyframes eng-blink{50%{opacity:.2}}.eng-tag[data-p="2"] .eng-note,.eng-tag[data-p="3"] .eng-note{display:none}@media (max-width:1279px){.eng-full{display:none}.eng-short{display:inline}}@media (min-width:1280px){.eng-tag[data-p="2"] .eng-note{display:inline}}@media (min-width:1440px){.eng-tag[data-p="3"] .eng-note{display:inline}}@media (min-width:1000px) and (max-width:1279px){.eng-label{font-size:17px}.eng-projects{font-size:15px}.eng-note{display:none}}@media (min-width:768px) and (max-width:999px){.eng-label{font-size:15px}.eng-note{font-size:14px}.eng-projects{font-size:13px}}@media (max-width:767px){.eng-label{font-size:24px}.eng-projects{font-size:22px}.eng-index,.eng-note,.eng-fine,.eng-tag:not([data-p="1"]){display:none}}.work-layout{gap:var(--space-7);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:1000px){.work-layout{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,4vw,4.5rem)}}.work-list{border-top:1px solid var(--line-strong);margin:0;padding:0;list-style:none}.work-item{border-bottom:1px solid var(--line);position:relative}.work-link{gap:var(--space-2) var(--space-4);padding:var(--space-6) var(--space-2);isolation:isolate;outline-offset:2px;grid-template-columns:3.25rem minmax(0,1fr) auto;display:grid;position:relative}.work-highlight{z-index:-1;inset:0 calc(var(--space-3) * -1);border-radius:var(--radius-md);background:var(--surface);display:none;position:absolute}@media (min-width:1000px) and (hover:hover){.work-highlight{display:block}}.work-index{color:var(--fg-3);letter-spacing:-.04em;font-variant-numeric:tabular-nums;transition:color var(--dur-fast);font-size:clamp(1.5rem,1.1rem + 1vw,2.1rem);font-weight:300;line-height:1}.work-main{gap:var(--space-2);display:grid}.work-meta{align-items:center;gap:var(--space-1) var(--space-4);color:var(--fg-3);flex-wrap:wrap;display:flex}.work-meta .status{color:var(--fg-2)}.status-detail{color:var(--fg-3)}.work-name{margin-top:var(--space-1);font-size:var(--text-xl);letter-spacing:-.02em;transition:color var(--dur-fast);font-weight:600;line-height:1.15}.work-hook{max-width:52ch;color:var(--fg-2);font-size:var(--text-base);transition:color var(--dur-fast);line-height:1.5}.work-stack{color:var(--fg-3);letter-spacing:.02em;text-transform:none}.work-arrow{color:var(--fg-3);transition:transform var(--dur-base) var(--ease-out), color var(--dur-fast);align-self:start;padding-top:1.4rem;font-size:1.15rem}:is(.work-link:hover .work-arrow,.work-link:focus-visible .work-arrow){color:var(--accent);transform:translate(4px)}:is(.work-link:hover .work-index,.work-link:focus-visible .work-index){color:var(--accent)}.work-thumb{max-width:300px;margin-top:var(--space-3);grid-column:2/-1}@media (min-width:1000px){.work-thumb{display:none}.work-list[data-has-active=true] .work-link:not([data-active=true]) .work-name,.work-list[data-has-active=true] .work-link:not([data-active=true]) .work-hook{color:var(--fg-3)}}.work-preview{display:none}@media (min-width:1000px){.work-preview{top:calc(var(--header-h) + var(--space-6));align-self:start;display:block;position:sticky}}.preview-card{gap:var(--space-4);display:grid}.preview-coords{gap:var(--space-2);color:var(--fg-3);display:flex}.preview-coords span+span:before{content:"/";margin-right:var(--space-2);color:var(--line-strong)}.preview-art .media{aspect-ratio:1;max-height:420px}.preview-body{gap:var(--space-3);display:grid}.preview-body p{color:var(--fg-2);font-size:var(--text-sm)}.fact-row{gap:var(--space-6);margin:var(--space-2) 0 0;flex-wrap:wrap;display:flex}.fact-row div{gap:2px;display:grid}.fact-row dt{color:var(--fg-3);font-family:var(--font-mono);letter-spacing:var(--tracking-meta);text-transform:uppercase;order:2;font-size:.7rem}.fact-row dd{font-size:var(--text-xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;order:1;font-weight:600}.annotation{color:var(--fg-2);padding-left:1.4em;font-style:italic;position:relative}.annotation:before{content:"↳";color:var(--accent);font-style:normal;position:absolute;left:0}.media{aspect-ratio:16/10;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--media-bg,var(--plate));position:relative;overflow:hidden}.media img{object-fit:cover;width:100%;height:100%}.media[data-fit=contain] img{object-fit:contain;padding:12%}.media img.pixelated{image-rendering:pixelated}.media[data-surface=label]{background:var(--surface);place-items:center;display:grid}.media[data-surface=label] img{border-radius:var(--radius-sm);background:#fff;width:auto;max-width:78%;height:auto;max-height:70%;padding:4% 6%;box-shadow:0 0 0 1px #1416131f,0 6px 18px -10px #00000073}.more-art .media[data-surface=label] img{max-width:86%;max-height:64%;padding:4% 5%}.media-lg{border-radius:var(--radius-lg);aspect-ratio:16/9}.identity[data-fit=contain] img{padding:14%}.identity.media-lg[data-fit=contain] img{padding:6% 22%}.media img[data-theme-art=dark],:root[data-theme=dark] .media img[data-theme-art=light]{display:none}:root[data-theme=dark] .media img[data-theme-art=dark]{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .media img[data-theme-art=light]{display:none}:root:not([data-theme=light]) .media img[data-theme-art=dark]{display:block}}.identity-mark{color:#e8ebe4;background:#0d100d;border-color:#e8ebe41a;place-items:center;display:grid}.mark{justify-items:center;gap:var(--space-3);grid-template-columns:minmax(0,1fr);width:100%;padding:8%;display:grid}.mark-word{letter-spacing:.32em;margin-right:-.32em;font-size:clamp(2.2rem,1.6rem + 2.6vw,3.6rem);font-weight:700;line-height:1}.mark-rivet[data-size=lg] .mark-word{font-size:clamp(2.6rem,1.4rem + 5vw,6rem)}.mark svg{justify-self:stretch;width:100%;max-width:480px;height:auto;margin-inline:auto;overflow:visible}.work-thumb .mark{gap:var(--space-2);padding:5% 8%}.work-thumb .mark-word{font-size:1.5rem}.work-thumb .mark svg{max-width:220px}.work-thumb .mesh-link{stroke:#e8ebe42e;stroke-width:1.25px;stroke-dasharray:3 5}.mesh-route{stroke:#84d9a08c;stroke-width:1.5px}.mesh-node{fill:#121512;stroke:#e8ebe473;stroke-width:1.5px}.mesh-end{fill:#121512;stroke:#84d9a0;stroke-width:2px}.mesh-envelope{fill:#e5b766;stroke:#0d100d;stroke-width:1px}.mesh-envelope-flap{fill:none;stroke:#0d100d;stroke-width:1.4px;stroke-linejoin:round}.mesh-phone{transform-box:fill-box;transform-origin:50%}.mesh-received{fill:none;stroke:#84d9a0;stroke-width:1.5px;opacity:0}.mesh-label{fill:#b3b8ad;font-family:var(--font-mono);letter-spacing:.06em;font-size:10px}.mesh-label-quiet{fill:#6f756b}.mark-mx{gap:var(--space-5)}.mark-word-mx{letter-spacing:-.06em;margin-right:0;font-size:clamp(3.4rem,2rem + 5vw,6rem)}.mark-pipeline{justify-content:center;gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.mark-pipeline li{border-radius:var(--radius-sm);color:#b3b8ad;font-family:var(--font-mono);border:1px solid #e8ebe438;padding:.25rem .55rem;font-size:.68rem}.mark-pipeline li+li:before{content:"→";margin-right:var(--space-2);color:#84d9a0}.section-lab{background:linear-gradient(var(--line) 1px, transparent 1px) 0 -1px / 100% 48px, linear-gradient(90deg, var(--line) 1px, transparent 1px) -1px 0 / 48px 100%, var(--bg-raised)}.section-intro-aside{margin-top:var(--space-2);color:var(--fg-3);font-size:var(--text-base);display:block}.lab-grid{gap:var(--space-5);display:grid}@media (min-width:1000px){.lab-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start}}.lab-card article{gap:var(--space-5);padding:var(--space-5);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--bg);display:grid}.lab-art{border-radius:var(--radius-md);color:#e8ebe4;background:#0d100d;overflow:hidden}.lab-art .mark{padding:var(--space-6) var(--space-4)}.lab-body{gap:var(--space-3);display:grid}.lab-body>p{color:var(--fg-2)}.lab-status{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.lab-body .eyebrow{color:var(--fg-3)}.lab-body h3{font-size:var(--text-2xl);letter-spacing:var(--tracking-title);line-height:1}.lab-body .lab-hook{color:var(--fg);font-size:var(--text-lg);line-height:1.4}.lab-body .lab-note{padding-left:var(--space-4);border-left:2px solid var(--line-strong);color:var(--fg-2);font-size:var(--text-sm)}.lab-body .button{justify-self:start}.lab-body .lab-private{color:var(--fg-3)}.lab-open{gap:var(--space-1);padding:var(--space-4);border-left:2px solid var(--lab);background:var(--bg-raised);color:var(--fg-2);font-size:var(--text-sm);display:grid}.lab-open .mono{color:var(--lab)}.lab-card-side article{background:0 0;border-style:dashed}.lab-card-side .lab-body h3{font-size:var(--text-xl);letter-spacing:-.02em}.lab-card-side .lab-body .lab-hook{font-size:var(--text-base)}.lab-art-mx{border:1px dashed var(--line-strong);color:var(--fg);background:0 0}.lab-art-mx .mark-pipeline li{border-color:var(--line-strong);color:var(--fg-2)}.lab-art-mx .mark-pipeline li+li:before{color:var(--accent)}.more-list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.more-row article{gap:var(--space-4) var(--space-6);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);transition:border-color var(--dur-fast), background-color var(--dur-fast);grid-template-columns:minmax(0,1fr);display:grid}.more-row article:hover{border-color:var(--line-strong);background:var(--bg-raised)}@media (min-width:900px){.more-row article{grid-template-columns:9rem minmax(0,1fr) 14rem;align-items:start}}.more-art .media{aspect-ratio:1;max-width:9rem}.more-art .media[data-fit=contain] img{padding:10%}.more-initial{background:var(--surface);place-items:center;display:grid}.more-initial span{color:var(--fg-2);letter-spacing:-.06em;font-size:2.6rem;font-weight:700}.more-body{gap:var(--space-2);display:grid}.more-body h3{font-size:var(--text-xl);letter-spacing:-.02em}.more-body p{color:var(--fg-2);font-size:var(--text-sm)}.more-body .more-hook{color:var(--fg);font-size:var(--text-base)}.more-body .more-technical{color:var(--fg-3)}.more-side{gap:var(--space-4);align-content:start;display:grid}.small-links{gap:var(--space-4);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.small-links a{color:var(--fg-2)}.small-links a:hover{color:var(--accent)}.forks{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px dashed var(--line-strong)}.forks-head{gap:var(--space-2);margin-bottom:var(--space-5);display:grid}.forks-head h3{font-size:var(--text-lg);letter-spacing:-.01em}.forks-head p{max-width:60ch;color:var(--fg-3);font-size:var(--text-sm)}.forks-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.forks-list li{gap:var(--space-1) var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--line);color:var(--fg-3);font-size:var(--text-sm);grid-template-columns:auto minmax(0,1fr);align-items:baseline;display:grid}.fork-badge{border:1px solid color-mix(in srgb, var(--lab) 55%, transparent);background:color-mix(in srgb, var(--lab) 10%, transparent);width:28px;height:28px;color:var(--lab);border-radius:7px;place-items:center;display:inline-grid}.fork-badge svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.forks-list li:hover .fork-badge{background:color-mix(in srgb, var(--lab) 18%, transparent)}.fork-name{color:var(--fg-2);font-weight:500}.fork-about{color:var(--fg-3);grid-column:2}.fork-by{color:var(--fg-2)}.fork-links{gap:var(--space-4);text-transform:none;letter-spacing:.02em;grid-column:2;display:flex}.fork-links a{color:var(--fg-3)}.fork-links a:hover{color:var(--accent)}@media (min-width:900px){.forks-list li{grid-template-columns:4rem 10rem minmax(0,1fr) auto}.fork-about,.fork-links{grid-column:auto}}.ms{border-radius:50%;flex:none;width:11px;height:11px;display:inline-block;position:relative}.ms[data-kind=begins]{box-shadow:inset 0 0 0 1.5px var(--fg-2)}.ms[data-kind=early]{border:1.5px dashed var(--fg-3)}.ms[data-kind=prototype]{background:linear-gradient(90deg, var(--fg-2) 50%, transparent 50%);box-shadow:inset 0 0 0 1.5px var(--fg-2)}.ms[data-kind=rewrite]{box-shadow:inset 0 0 0 1.5px var(--fg-2);border-radius:1px;transform:rotate(45deg)scale(.82)}.ms[data-kind=hardening]{background:var(--fg-2);border-radius:2px;transform:scale(.86)}.ms[data-kind=released]{background:var(--accent)}.ms[data-kind=developing]{box-shadow:inset 0 0 0 2px var(--lab)}.ms[data-kind=prerelease]{background:linear-gradient(90deg, var(--lab) 50%, transparent 50%);box-shadow:inset 0 0 0 2px var(--lab)}.journey-note{margin-top:calc(var(--space-6) * -.5);color:var(--fg-3);text-transform:none;letter-spacing:.02em}.journey-legend{gap:var(--space-2) var(--space-5);margin:var(--space-5) 0 var(--space-8);padding:var(--space-4) 0 0;border-top:1px solid var(--line);color:var(--fg-3);text-transform:none;letter-spacing:.02em;flex-wrap:wrap;list-style:none;display:flex}.journey-legend li{align-items:center;gap:var(--space-2);display:inline-flex}.journey{--rail-x:.55rem;position:relative}.journey-years{gap:var(--space-8);margin:0;padding:0 0 0 2.25rem;list-style:none;display:grid;position:relative}.journey-rail{top:.9rem;bottom:0;left:var(--rail-x);background:var(--line-strong);width:1px;position:absolute}.journey-trace{background:var(--accent);transform-origin:50% 0;position:absolute;inset:0}.journey-year{gap:var(--space-5);align-content:start;display:grid;position:relative}.journey-head{gap:var(--space-2);align-content:start;display:grid;position:relative}.journey-node{top:.62rem;left:calc(-2.25rem + var(--rail-x) - 7px);background:var(--bg);width:15px;height:15px;box-shadow:inset 0 0 0 2px var(--fg-3);transition:box-shadow var(--dur-base) var(--ease-out), background-color var(--dur-base);border-radius:50%;position:absolute}.journey-year:last-child .journey-node{box-shadow:inset 0 0 0 2px var(--accent)}.journey-year[data-active] .journey-node{background:var(--accent);box-shadow:inset 0 0 0 2px var(--accent), 0 0 0 5px var(--accent-soft)}.journey-numeral{color:var(--fg-3);font-family:var(--font-mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums;transition:color var(--dur-base);font-size:clamp(2rem,1.4rem + 2.6vw,4rem);font-weight:350;line-height:1}.journey-year[data-active] .journey-numeral{color:var(--fg)}.journey-year:last-child .journey-numeral{color:var(--accent)}.journey-head h3{max-width:22ch;font-size:var(--text-xl);letter-spacing:-.02em;line-height:1.15}.journey-intro{max-width:40ch;color:var(--fg-2)}.milestones{border-top:1px solid var(--line);margin:0;padding:0;list-style:none;display:grid}.milestone{gap:var(--space-4);padding:var(--space-5) 0;border-bottom:1px solid var(--line);grid-template-columns:11px minmax(0,1fr);display:grid}.milestone>.ms{margin-top:.3rem}.milestone-body{gap:var(--space-2);display:grid}.milestone-meta{gap:var(--space-1) var(--space-3);color:var(--fg-3);flex-wrap:wrap;display:flex}.milestone-meta time{color:var(--accent);font-variant-numeric:tabular-nums}.milestone[data-recent] .milestone-label{color:var(--accent)}.milestone-name{font-size:var(--text-lg);letter-spacing:-.015em;font-weight:600;line-height:1.2}.milestone-name a{transition:color var(--dur-fast)}.milestone-name a:hover{color:var(--accent)}.milestone-copy{max-width:62ch;color:var(--fg-2);font-size:var(--text-sm);line-height:1.6}.milestone-points{gap:var(--space-1) var(--space-2);color:var(--fg-2);font-size:var(--text-sm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.milestone-points li:not(:last-child):after{content:" /";color:var(--fg-3)}.milestone[data-kind=hardening]{padding:var(--space-3) 0}.milestone[data-kind=hardening]>.ms{margin-top:.42rem}.milestone[data-kind=hardening] .milestone-meta{display:none}.milestone[data-kind=hardening] .milestone-name{font-size:var(--text-base)}.journey-notes{gap:var(--space-2);margin-top:var(--space-4);color:var(--fg-3);font-size:var(--text-sm);display:grid}.journey-notes ul{gap:var(--space-2);text-transform:none;letter-spacing:.02em;flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.journey-notes li{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);padding:.15rem .55rem}.journey-closing{max-width:48ch;margin-top:var(--space-5);padding-left:var(--space-4);border-left:2px solid var(--accent);color:var(--fg);font-size:var(--text-lg);letter-spacing:-.01em;line-height:1.4}@media (min-width:760px){.milestone[data-kind=hardening] .milestone-body{align-items:baseline;column-gap:var(--space-4);grid-template-columns:11rem minmax(0,1fr)}}@media (min-width:1000px){.journey{--rail-x:.55rem}.journey-years{gap:var(--space-9)}.journey-year{column-gap:var(--space-8);grid-template-columns:minmax(0,.85fr) minmax(0,2fr)}.journey-head{top:calc(var(--header-h) + var(--space-6));align-self:start;position:sticky}.journey-head h3{font-size:var(--text-xl)}.milestones{border-top-color:var(--line-strong)}}.about-grid{gap:var(--space-8);display:grid}@media (min-width:1000px){.about-grid{gap:var(--space-9);grid-template-columns:minmax(0,7fr) minmax(0,4fr)}}.about-copy{gap:var(--space-4);max-width:var(--measure);color:var(--fg-2);font-size:var(--text-lg);line-height:1.6;display:grid}.about-copy p:first-child{color:var(--fg)}.now-card{padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-raised);align-self:start}.now-card header{margin-bottom:var(--space-4);color:var(--fg-3);justify-content:space-between;align-items:baseline;display:flex}.now-card h3{color:var(--fg);font-size:var(--text-xl);letter-spacing:-.02em}.now-list{gap:var(--space-2);margin:0 0 var(--space-5);padding:0;list-style:none;display:grid}.now-list li{gap:var(--space-3);color:var(--fg-2);display:flex}.now-list li:before{content:"→";color:var(--accent)}.now-card footer{justify-content:space-between;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--line);color:var(--fg-3);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.themes{margin-top:var(--space-9)}.themes-title{margin-bottom:var(--space-6);font-size:var(--text-2xl);letter-spacing:var(--tracking-title);line-height:1.02}.themes-list{border-top:1px solid var(--line-strong);margin:0;padding:0;list-style:none;display:grid}.themes-list li{gap:var(--space-1) var(--space-4);padding:var(--space-5) 0;border-bottom:1px solid var(--line);grid-template-columns:2.5rem minmax(0,1fr);display:grid}.theme-index{color:var(--fg-3);padding-top:.55rem}.themes-list h4{letter-spacing:var(--tracking-title);font-size:clamp(1.6rem,1.2rem + 1.6vw,2.5rem);font-weight:600;line-height:1.05}.themes-list p{max-width:52ch;color:var(--fg-2);grid-column:2}@media (min-width:900px){.themes-list li{align-items:baseline;column-gap:var(--space-6);grid-template-columns:3rem minmax(0,.9fr) minmax(0,1.1fr)}.themes-list p{grid-column:3}}.stack{margin-top:var(--space-9)}.stack-head{gap:var(--space-2);margin-bottom:var(--space-6);display:grid}.stack-head h3{font-size:var(--text-xl);letter-spacing:-.02em}.stack-head p{max-width:56ch;color:var(--fg-2)}.stack-head .stack-since{color:var(--accent)}.stack-grid{gap:var(--space-6) var(--space-5);margin:0;display:grid}@media (min-width:640px){.stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1000px){.stack-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.stack-group{padding-top:var(--space-4);border-top:1px solid var(--line-strong)}.stack-group dt{margin-bottom:var(--space-1);font-weight:600}.stack-group .note{margin-bottom:var(--space-4);color:var(--fg-3);font-size:var(--text-sm)}.stack-group ul{color:var(--fg-2);gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.stack-group[data-interest]{border-top-style:dashed}.stack-group[data-interest] ul{color:var(--fg-3);font-style:italic}.stack-group ul.tech-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.stack-group[data-interest] .tech-chip{border-style:dashed}.stuff-grid{gap:var(--space-4);grid-auto-flow:dense;margin:0;padding:0;list-style:none;display:grid}@media (min-width:720px){.stuff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stuff-grid>.stuff-wide,.stuff-grid>.stuff-full{grid-column:1/-1}}@media (min-width:1040px){.stuff-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stuff-grid>.stuff-wide{grid-column:span 2}}.stuff-grid>li>.stuff-card{height:100%}.stuff-card{gap:var(--space-5);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-raised);grid-template-rows:auto 1fr;display:grid}.stuff-art{border-radius:var(--radius-sm);background:var(--surface);place-items:center;height:168px;display:grid;position:relative;overflow:hidden}.stuff-card h3{margin-bottom:var(--space-2);font-size:var(--text-lg);letter-spacing:-.01em}.stuff-card p{color:var(--fg-2);font-size:var(--text-sm)}.stuff-card p+p{margin-top:var(--space-2)}.stuff-card small{margin-top:var(--space-3);color:var(--fg-3);font-size:var(--text-sm);font-style:italic;display:block}.stuff-path{margin-bottom:var(--space-2);color:var(--fg-3);font-family:var(--font-mono);font-size:.7rem;display:block}@media (min-width:720px){.stuff-wide{grid-template-rows:none;grid-template-columns:1.1fr 1fr;align-items:center}.stuff-wide .stuff-art{height:100%;min-height:220px}.stuff-strip{grid-template-columns:minmax(0,20rem) minmax(0,1fr)}.stuff-strip .stuff-art{min-height:150px}}.pixel-scene{position:absolute;inset:0}.pixel-scene svg{width:100%;height:100%}.pixel-scene .sky{fill:var(--surface)}.pixel-scene .sun{fill:var(--lab)}.pixel-scene .soft{fill:var(--fg-3);opacity:.35}.pixel-scene .grass,.pixel-scene .leaves{fill:#4f9a55}.pixel-scene .leaves{opacity:.9}.pixel-scene .dirt{fill:#7a5a3c}.pixel-scene .trunk{fill:#5d4129}.pixel-scene .skin{fill:#c99a74}.pixel-scene .eye{fill:#2d2a5a}.pixel-scene .shirt{fill:#2f9c9c}.pixel-scene .pants{fill:#3b4fa0}[data-c=U]{--sticker:#f2f1ea}[data-c=D]{--sticker:#f2cf3b}[data-c=F]{--sticker:#3aa45b}[data-c=B]{--sticker:#3b6fd8}[data-c=R]{--sticker:#d8473c}[data-c=L]{--sticker:#f08a2e}.cube-net{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;width:min(100%,240px);display:grid}.cube-net-face{background:#121412;border-radius:4px;grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;display:grid}.cube-net-face i{aspect-ratio:1;background:var(--sticker);border-radius:2px}.scramble-card{justify-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);display:grid}.scramble-text{max-width:30ch;color:var(--fg-2);text-align:center;text-transform:none;letter-spacing:.04em;word-spacing:.15em;font-size:.72rem;line-height:1.6}.scramble-actions{gap:var(--space-2);display:flex}.stuff-cubing .stuff-art{height:auto}.stuff-link{align-items:center;gap:var(--space-2);min-height:44px;margin-top:var(--space-2);color:var(--fg);font-weight:550;display:inline-flex}.stuff-link:hover{color:var(--accent)}.stuff-link:hover .arrow{transform:translate(3px)}.stuff-facts{gap:var(--space-2) var(--space-5);margin:var(--space-3) 0 0;flex-wrap:wrap;display:flex}.stuff-facts dt{color:var(--fg-3);font-size:.66rem}.stuff-facts dd{color:var(--fg);font-size:var(--text-sm)}.stuff-facts dd span{display:block}.stuff-shot img{object-fit:cover;image-rendering:auto;width:100%;height:100%}.stuff-flex{gap:var(--space-1);margin:var(--space-2) 0 var(--space-3);display:grid}.stuff-flex b{color:var(--accent);letter-spacing:-.04em;text-transform:none;font-variant-numeric:tabular-nums;justify-self:start;padding-bottom:.18em;font-size:clamp(2.6rem,1.5rem + 3.6vw,4.5rem);font-weight:600;line-height:1;position:relative}.stuff-flex b:after{content:"";background:repeating-linear-gradient(90deg, var(--accent) 0 6px, transparent 6px 9px);opacity:.55;height:6px;position:absolute;bottom:0;left:.04em;right:.04em}.stuff-card .stuff-flex span{color:var(--fg);font-size:var(--text-base)}.stuff-meta{gap:var(--space-1) var(--space-4);margin-bottom:var(--space-3);text-transform:none;letter-spacing:.02em;flex-wrap:wrap;display:flex;color:var(--fg-3)!important;font-size:.72rem!important}.stuff-socials{align-items:baseline;gap:var(--space-3) var(--space-6);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.stuff-socials>.mono{color:var(--fg-3);text-transform:none;letter-spacing:.02em}.stuff-socials ul{gap:var(--space-2) var(--space-6);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.stuff-socials a{align-items:center;gap:var(--space-2);min-height:44px;color:var(--fg);display:inline-flex}.stuff-socials a .mono{color:var(--fg-3);text-transform:none;letter-spacing:.02em}.stuff-socials a:hover{color:var(--accent)}.copy-handle{align-items:center;gap:var(--space-2);min-height:44px;color:var(--fg);display:inline-flex}.copy-handle .mono{color:var(--fg-3);text-transform:none;letter-spacing:.02em}.copy-handle-button{min-height:28px;padding:0 var(--space-2);border:1px solid var(--line-strong);color:var(--fg-2);background:0 0;border-radius:5px;font-size:.66rem}.copy-handle-button:hover{color:var(--accent);border-color:var(--accent)}.cube-button{min-height:32px;padding:0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-raised);color:var(--fg-2);font-family:var(--font-mono);letter-spacing:var(--tracking-meta);text-transform:uppercase;font-size:.7rem}.cube-button:hover{color:var(--fg);border-color:var(--fg-3)}.map-art path{fill:none;stroke:var(--fg-3);stroke-width:1.5px}.map-art .route{stroke:var(--accent);stroke-width:2.5px;stroke-dasharray:2 7;stroke-linecap:round}.map-art circle{fill:var(--bg-raised);stroke:var(--fg);stroke-width:2px}.tab-strip{background:var(--bg-raised);border-radius:8px 8px 0 0;gap:2px;width:86%;padding:6px 6px 0;display:flex}.tab-strip i{background:var(--surface);text-align:center;min-width:0;height:18px;color:var(--fg-3);border-radius:4px 4px 0 0;flex:1;font-size:9px;font-style:normal;line-height:18px}.tab-strip i.on{background:var(--bg);color:var(--fg)}.tab-page{background:var(--bg);width:86%;color:var(--fg-3);font-family:var(--font-mono);border-radius:0 0 8px 8px;padding:10px;font-size:.68rem}.browser-art{align-content:center;justify-items:center;display:grid}.failed-window{border:1px solid var(--line-strong);background:var(--bg);border-radius:8px;width:78%;overflow:hidden}.failed-window div{border-bottom:1px solid var(--line);gap:5px;padding:7px 9px;display:flex}.failed-window div i{background:var(--line-strong);border-radius:50%;width:7px;height:7px}.failed-window code{color:var(--lab);font-family:var(--font-mono);padding:18px 12px;font-size:.72rem;display:block}.contact{padding-block:clamp(5rem,3rem + 9vw,11rem)}.contact-title{max-width:12ch;letter-spacing:var(--tracking-display);font-size:clamp(2.75rem,1rem + 7vw,7.5rem);font-weight:650;line-height:.98}.contact-copy{max-width:46ch;margin-top:var(--space-6);color:var(--fg-2);font-size:var(--text-xl);line-height:1.35}.contact-copy-quiet{margin-top:var(--space-2);color:var(--fg-3);font-size:var(--text-base)}.contact-sign{margin-top:var(--space-8);color:var(--fg-3);text-transform:none;letter-spacing:.02em}.contact-actions{gap:var(--space-3);margin-top:var(--space-7);flex-wrap:wrap;display:flex}.email-box{border:1px solid var(--fg);border-radius:var(--radius-sm);align-items:stretch;max-width:100%;display:inline-flex;overflow:hidden}.email-box a{min-width:0;min-height:52px;padding:0 var(--space-5);background:var(--fg);color:var(--bg);text-overflow:ellipsis;white-space:nowrap;transition:background-color var(--dur-fast), color var(--dur-fast);align-items:center;font-size:clamp(.95rem,.85rem + .4vw,1.125rem);font-weight:550;display:inline-flex;overflow:hidden}.email-box a:hover{background:var(--accent);color:var(--accent-ink)}.copy-button{min-width:96px;padding:0 var(--space-4);border:0;border-left:1px solid var(--fg);background:var(--bg);color:var(--fg);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-meta);text-transform:uppercase;place-items:center;display:inline-grid;position:relative}.copy-button:hover{background:var(--surface)}.copy-button span{grid-area:1/1;align-items:center;gap:6px;display:inline-flex}.copy-button svg{width:14px;height:14px}@media (max-width:400px){.email-box{width:100%}.email-box a{padding:0 var(--space-3);flex:1;font-size:.875rem}.copy-button{min-width:76px;padding:0 var(--space-3)}}.site-footer{padding-block:var(--space-8) max(var(--space-6), env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--fg-2);font-size:var(--text-sm)}.footer-grid{gap:var(--space-7);display:grid}@media (min-width:900px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}.footer-brand p{max-width:38ch;margin-top:var(--space-2)}.footer-brand .footer-since{margin-top:var(--space-4);color:var(--accent)}.footer-col h2{margin-bottom:var(--space-3);color:var(--fg-3)}.footer-col ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.footer-col a:hover{color:var(--fg)}.footer-base{justify-content:space-between;gap:var(--space-3);margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--line);color:var(--fg-3);flex-wrap:wrap;display:flex}.footer-base time{font-variant-numeric:tabular-nums}.to-top{align-items:center;gap:var(--space-2);min-height:32px;color:var(--fg-2);background:0 0;border:0;padding:0;display:inline-flex}.to-top:hover{color:var(--fg)}.to-top:hover .arrow{transform:translateY(-3px)}.case{padding-top:clamp(2rem,1rem + 4vw,4.5rem)}.case-back{align-items:center;gap:var(--space-2);min-height:44px;color:var(--fg-2);font-size:var(--text-sm);display:inline-flex}.case-back:hover{color:var(--fg)}.case-back:hover .arrow{transform:translate(-3px)}.case-head{gap:var(--space-5);padding-block:clamp(2rem,1rem + 4vw,4rem) clamp(2rem,1.5rem + 2vw,3.5rem);display:grid}.case-status{gap:var(--space-2) var(--space-4);color:var(--fg-3);flex-wrap:wrap;display:flex}.case-title{letter-spacing:var(--tracking-display);font-size:clamp(3rem,1.5rem + 6.5vw,7.5rem);font-weight:650;line-height:.95}.case-intro{gap:var(--space-3);max-width:42ch;font-size:var(--text-xl);letter-spacing:-.01em;line-height:1.35;display:grid}.case-intro p:first-child{color:var(--fg)}.case-intro p+p{color:var(--fg-2);font-size:var(--text-lg)}.case-aside{max-width:52ch}.case-story{align-items:center;gap:var(--space-3);min-height:44px;margin-top:var(--space-4);color:var(--fg);font-weight:550;display:inline-flex}.case-story .mono,.case-story:hover{color:var(--accent)}.case-story:hover .arrow{transform:translate(3px)}@media (prefers-reduced-motion:no-preference){.motion-ok .case-visual{animation:media-reveal .76s var(--ease-out) 80ms both}}@keyframes media-reveal{0%{opacity:0;clip-path:inset(6% 4% 10% 4% round var(--radius-lg));transform:translateY(10px)}to{opacity:1;clip-path:inset(0 0 0 0 round var(--radius-lg));transform:none}}.case-visual .identity.media-lg[data-fit=contain]{aspect-ratio:16/8}.case-visual .identity-mark{aspect-ratio:auto;min-height:clamp(260px,42vw,560px)}.case-meta{gap:var(--space-5);padding-block:var(--space-5);border-block:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin:clamp(2rem,1.5rem + 2vw,3.5rem) 0;display:grid}@media (min-width:900px){.case-meta{grid-template-columns:repeat(4,minmax(0,1fr))}}.case-meta div{align-content:start;gap:var(--space-2);display:grid}.case-meta dt{color:var(--fg-3)}.case-meta dd{justify-items:start;gap:var(--space-1);font-size:var(--text-sm);display:grid}.case-meta .links{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.case-meta-detail{color:var(--fg-3);font-family:var(--font-mono);letter-spacing:var(--tracking-meta);text-transform:uppercase;font-size:.7rem}.case-body{gap:var(--space-8);padding-bottom:var(--section-pad);display:grid}.case-label{margin-bottom:var(--space-3);color:var(--fg-3)}.case-summary{max-width:34ch;font-size:var(--text-2xl);letter-spacing:var(--tracking-title);font-weight:550;line-height:1.12}.case-release{max-width:80ch;margin-top:var(--space-5);color:var(--fg-3);text-transform:none;letter-spacing:.01em;line-height:1.6}.case-story{gap:var(--space-6);display:grid}@media (min-width:900px){.case-story{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}}.case-story article{align-content:start;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--line-strong);display:grid}.case-story h2{font-size:var(--text-lg);letter-spacing:-.01em}.case-story .mono{color:var(--fg-3)}.case-story p{color:var(--fg-2)}.case-callout{max-width:60rem;padding:var(--space-6);border-radius:var(--radius-lg);background:var(--surface)}.case-callout p:last-child{font-size:var(--text-xl);letter-spacing:-.01em;line-height:1.35}.case-split{gap:var(--space-6);display:grid}@media (min-width:900px){.case-split{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}}.case-split>h2{font-size:var(--text-xl);letter-spacing:-.02em}.case-split>h2 .mono{margin-bottom:var(--space-2);color:var(--fg-3);display:block}.highlight-list{border-top:1px solid var(--line);counter-reset:hl;margin:0;padding:0;list-style:none}.highlight-list li{padding:var(--space-4) 0;border-bottom:1px solid var(--line);color:var(--fg-2);counter-increment:hl;grid-template-columns:2.75rem 1fr;display:grid}.highlight-list li:before{content:counter(hl, decimal-leading-zero);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-xs);padding-top:.25rem}.case-facts{gap:var(--space-7);flex-wrap:wrap;margin:0;display:flex}.case-facts div{gap:var(--space-1);display:grid}.case-facts dt{color:var(--fg-3);order:2}.case-facts dd{letter-spacing:-.04em;font-variant-numeric:tabular-nums;order:1;font-size:clamp(2.5rem,1.5rem + 3vw,4rem);font-weight:650;line-height:1}.case-result{max-width:62ch;color:var(--fg-2);font-size:var(--text-lg)}.case-shot figure{gap:var(--space-3);display:grid}.case-shot figcaption{color:var(--fg-3)}.honest-stack{gap:var(--space-4);max-width:62ch;display:grid}.honest-note{gap:var(--space-2);padding:var(--space-5);border-left:2px solid var(--lab);background:var(--bg-raised);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--fg-2);display:grid}.honest-note .mono{color:var(--lab)}.limits-line{padding-left:var(--space-5);color:var(--fg-2)}.case-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.case-pager{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.case-pager a{gap:var(--space-1);padding:var(--space-6) 0;display:grid}.case-pager a+a{padding-left:var(--space-5);border-left:1px solid var(--line);text-align:right}.case-pager span{color:var(--fg-3)}.case-pager strong{font-size:var(--text-xl);letter-spacing:-.02em;transition:color var(--dur-fast)}.case-pager a:hover strong{color:var(--accent)}.not-found{padding-block:clamp(4rem,3rem + 8vw,10rem)}.not-found h1{max-width:14ch;font-size:var(--text-2xl);letter-spacing:var(--tracking-title);line-height:1.05}.not-found p{margin:var(--space-4) 0 var(--space-6);color:var(--fg-2)}@media (hover:none){.work-link:hover .work-arrow{transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.site-header,.site-footer,.hero-actions,.copy-button{display:none}body{color:#000;background:#fff}}.blog,.post{padding-block:clamp(2rem, 1rem + 4vw, 5rem) var(--section-pad)}.blog-head{gap:var(--space-3);max-width:46rem;margin-bottom:var(--space-8);display:grid}.blog-title{font-size:var(--text-display);font-weight:650;line-height:var(--leading-tight);letter-spacing:var(--tracking-display)}.blog-intro{max-width:44ch;color:var(--fg-2);font-size:var(--text-lg);line-height:1.5}.blog-foot{margin-top:var(--space-7);color:var(--fg-3);text-transform:none;letter-spacing:.02em}.post-index{border-top:1px solid var(--line-strong);margin:0;padding:0;list-style:none}.post-index li{border-bottom:1px solid var(--line)}.post-row{gap:var(--space-3) var(--space-6);padding:var(--space-6) 0;grid-template-columns:minmax(0,1fr) auto;display:grid}.post-row-meta{gap:var(--space-4);color:var(--fg-3);text-transform:none;letter-spacing:.02em;grid-column:1/-1;display:flex}.post-row-main{gap:var(--space-2);display:grid}.post-row-eyebrow{color:var(--accent)}.post-row-title{font-size:var(--text-2xl);letter-spacing:var(--tracking-title);transition:color var(--dur-fast);font-weight:650;line-height:1.02}.post-row-dek{max-width:50ch;color:var(--fg-2);font-size:var(--text-lg)}.post-row>.arrow{color:var(--fg-3);font-size:var(--text-xl);align-self:center}.post-row:hover .post-row-title{color:var(--accent)}.post-row:hover>.arrow{color:var(--accent);transform:translate(4px)}@media (min-width:900px){.post-row{grid-template-columns:12rem minmax(0,1fr) auto}.post-row-meta{gap:var(--space-1);flex-direction:column;grid-column:auto;padding-top:.4rem}}.post-tags{gap:var(--space-2);text-transform:none;letter-spacing:.02em;flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.post-tags>*{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--fg-3);padding:.1rem .5rem;font-size:.7rem}.post-head{gap:var(--space-4);max-width:52rem;margin:var(--space-6) 0 var(--space-8);display:grid}.post-eyebrow{color:var(--accent)}.post-title{font-size:clamp(2.6rem,1.2rem + 6vw,6.5rem);font-weight:650;line-height:var(--leading-tight);letter-spacing:var(--tracking-display)}.post-dek{max-width:34ch;color:var(--fg-2);font-size:var(--text-xl);letter-spacing:-.012em;line-height:1.3}.post-meta{gap:var(--space-2) var(--space-5);color:var(--fg-3);text-transform:none;letter-spacing:.02em;flex-wrap:wrap;display:flex}.post-body{--measure:40rem;gap:var(--space-5);font-size:clamp(1.0625rem,1rem + .25vw,1.1875rem);line-height:1.7;display:grid}.post-body>:where(p,ul,h2,aside){width:100%;max-width:var(--measure)}.post-body p{color:var(--fg-2)}.post-body code{background:var(--surface);color:var(--fg);font-family:var(--font-mono);border-radius:4px;padding:.05em .35em;font-size:.86em}.post-lede{font-size:var(--text-xl);letter-spacing:-.012em;line-height:1.4;color:var(--fg)!important}.post-lines{padding-left:var(--space-4);border-left:2px solid var(--line-strong);font-family:var(--font-mono);gap:.1rem;font-size:.92em;display:grid;color:var(--fg)!important}.post-h2{gap:var(--space-2);margin-top:var(--space-7);color:var(--fg);font-size:var(--text-2xl);letter-spacing:var(--tracking-title);scroll-margin-top:calc(var(--header-h) + var(--space-5));line-height:1.05;display:grid}.post-h2 .mono{color:var(--accent);font-size:var(--text-sm)}.post-list{gap:var(--space-2);color:var(--fg-2);margin:0;padding-left:1.25rem;display:grid}.post-list li::marker{color:var(--accent)}.post-aside{gap:var(--space-2);padding:var(--space-4) var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-raised);display:grid}.post-aside .mono{color:var(--accent)}.post-aside p{color:var(--fg)}.post-figure{gap:var(--space-3);margin:var(--space-5) 0;max-width:64rem;display:grid}.post-figure>figcaption{max-width:var(--measure);color:var(--fg-3);font-size:var(--text-sm);line-height:1.5}.post-figure>:first-child{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-raised);padding:clamp(1rem,.5rem + 2vw,2rem)}.post-foot{gap:var(--space-3);max-width:40rem;margin-top:var(--space-9);padding-top:var(--space-5);border-top:1px solid var(--line-strong);display:grid}.post-foot .mono{color:var(--fg-3)}.post-foot-link{gap:var(--space-2);display:grid}.post-foot-link strong{font-size:var(--text-xl);letter-spacing:-.02em}.post-foot-link span:not(.arrow){color:var(--fg-2)}.post-foot-link:hover strong{color:var(--accent)}:where(.route-roles,.envelope-parts,.threat-col) button{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:40px;color:var(--fg-2);font-size:var(--text-sm);text-align:left;transition:border-color var(--dur-fast), color var(--dur-fast), background-color var(--dur-fast);background:0 0;padding:.4rem .75rem}:where(.route-roles,.envelope-parts,.threat-col) button:hover{border-color:var(--line-strong);color:var(--fg)}:where(.route-roles,.envelope-parts,.threat-col) button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--fg)}.route-figure{gap:var(--space-4);display:grid}.route-svg{width:100%;height:auto;overflow:visible}.route-path{fill:none;stroke:var(--line-strong);stroke-width:2px;stroke-dasharray:6 7}.route-phone rect{fill:var(--bg);stroke:var(--fg-3);stroke-width:2px;transition:stroke var(--dur-base)}.route-phone .route-screen{fill:var(--surface);stroke:none;transition:fill var(--dur-base)}.route-phone circle{fill:var(--fg-3)}.route-phone[data-reached] rect:first-child{stroke:var(--fg-2)}.route-phone[data-active] rect:first-child{stroke:var(--accent)}.route-phone[data-active] .route-screen{fill:var(--accent-soft)}.route-label{fill:var(--fg-3);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:14px}.route-envelope{transition:transform .85s var(--ease-in-out)}.route-envelope rect{fill:var(--accent)}.route-envelope path{fill:none;stroke:var(--accent-ink);stroke-width:1.5px}.route-roles{gap:var(--space-2);flex-wrap:wrap;display:flex}.route-role-text,.envelope-text,.threat-text{min-height:3.2em;color:var(--fg-2);font-size:var(--text-sm);line-height:1.55}:where(.route-role-text,.envelope-text,.threat-text) strong{color:var(--fg)}.relay-play{gap:var(--space-4);display:grid}.relay-head{justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;display:flex}.relay-tag{color:var(--fg-3)}.relay-status{border:1px solid var(--line);color:var(--fg-2);text-transform:none;border-radius:999px;padding:.15rem .55rem}.relay-status[data-status=in\ mesh]{border-color:var(--lab);color:var(--lab)}.relay-status[data-status=delivered]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.relay-status[data-status=expired]{color:var(--fg-3);text-decoration:line-through}.relay-track{touch-action:none;height:128px;margin-inline:22px;position:relative}.relay-links{width:100%;height:10px;position:absolute;inset:40px 0 auto;overflow:visible}.relay-links line{stroke:var(--line-strong);stroke-width:2px;vector-effect:non-scaling-stroke}.relay-links line[data-carrying]{stroke:var(--accent)}.relay-node{width:64px;color:var(--fg-2);cursor:grab;touch-action:none;background:0 0;border:0;justify-items:center;gap:6px;margin-left:-32px;padding:0;display:grid;position:absolute;top:8px}.relay-node:active{cursor:grabbing}.relay-phone{border:2px solid var(--fg-3);background:var(--bg);width:30px;height:50px;transition:border-color var(--dur-base);border-radius:7px;display:block;position:relative}.relay-node[data-role=sender] .relay-phone,.relay-node[data-role=recipient] .relay-phone{border-color:var(--fg)}.relay-node[data-holding] .relay-phone{border-color:var(--accent)}.relay-env{background:var(--accent);border-radius:2px;width:18px;height:12px;position:absolute;top:14px;left:4px}.relay-name{text-transform:none;letter-spacing:.02em;white-space:nowrap;font-size:.66rem}.relay-controls{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.relay-rules{color:var(--fg-3);text-transform:none;letter-spacing:.02em}.relay-log{min-height:3em;color:var(--fg-2);font-size:var(--text-sm)}.envelope-x{gap:var(--space-4);display:grid}.envelope-stack{border:1px solid var(--line-strong);border-radius:var(--radius-md);gap:0;display:grid;overflow:hidden}.envelope-zone{gap:var(--space-2);padding:var(--space-3) var(--space-4);display:grid}.envelope-zone+.envelope-zone{border-top:1px dashed var(--line-strong)}.envelope-zone>.mono{color:var(--fg-3);text-transform:none;letter-spacing:.02em}.envelope-zone[data-zone=sealed]{background:var(--accent-soft)}.envelope-zone[data-zone=sealed]>.mono{color:var(--accent)}.envelope-parts{gap:var(--space-2);flex-wrap:wrap;display:flex}.envelope-parts button{gap:.1rem;display:grid}.envelope-parts button .mono{color:var(--fg-3);text-transform:none;font-size:.66rem}.threat{gap:var(--space-4);display:grid}.threat-cols{gap:var(--space-5);display:grid}@media (min-width:720px){.threat-cols{grid-template-columns:1fr 1fr}}.threat-col>.mono{margin-bottom:var(--space-3);color:var(--accent)}.threat-col[data-kind=no]>.mono{color:var(--lab)}.threat-col ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.threat-col button{width:100%}.threat-col[data-kind=no] button[aria-pressed=true]{border-color:var(--lab);background:0 0}.threat-text .mono{margin-right:var(--space-2);color:var(--accent)}.threat-text[data-kind=no] .mono{color:var(--lab)}.rivet-path{gap:0;margin:0;padding:0;list-style:none;display:grid}.rivet-path li{column-gap:var(--space-3);padding:var(--space-2) 0;grid-template-columns:3.5rem 14px minmax(0,1fr);align-items:baseline;display:grid;position:relative}.rivet-path-when{color:var(--fg-3);text-transform:none}.rivet-path-dot{background:var(--accent);border-radius:50%;width:11px;height:11px;transform:translateY(1px)}.rivet-path li[data-state=open] .rivet-path-dot{box-shadow:inset 0 0 0 2px var(--lab);background:0 0}.rivet-path strong{color:var(--fg);font-size:var(--text-base)}.rivet-path-detail{color:var(--fg-2);font-size:var(--text-sm);grid-column:3}.rivet-path li[data-state=open] strong{color:var(--lab)}.rivet-path li:not(:last-child):before{content:"";top:calc(var(--space-2) + .8rem);left:calc(3.5rem + var(--space-3) + 4.5px);background:var(--accent);transform-origin:top;border-radius:1px;width:2px;height:100%;position:absolute}.rivet-path li[data-state=open]:not(:last-child):before{background:repeating-linear-gradient(to bottom, var(--lab) 0 4px, transparent 4px 9px)}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.rivet-path li:not(:last-child):before{animation:linear both rivet-rail;animation-timeline:view();animation-range:entry 55% cover 60%;transform:scaleY(0)}.rivet-path-dot{animation:linear both rivet-dot;animation-timeline:view();animation-range:entry 35%}}}@keyframes rivet-rail{to{transform:scaleY(1)}}@keyframes rivet-dot{0%{opacity:.4;transform:translateY(1px)scale(.35)}to{opacity:1;transform:translateY(1px)scale(1)}}.post-figure:where([data-figure=rivet-route],[data-figure=relay-playground],[data-figure=envelope],[data-figure=courier])>:first-child{background-image:radial-gradient(color-mix(in srgb, var(--fg) 9%, transparent) 1px, transparent 1px);background-size:22px 22px}.post-figure:where([data-figure=rivet-route],[data-figure=relay-playground],[data-figure=envelope]){max-width:min(72rem,100%)}.post-figure[data-figure=courier]{scroll-margin-top:calc(var(--header-h) + var(--space-5))}.post-figure:where([data-figure=rivet-route],[data-figure=relay-playground],[data-figure=envelope],[data-figure=courier])>:first-child{min-width:0}@media (max-width:640px){.post-figure>:first-child{padding:var(--space-3)}}.threat-map{--hit:var(--accent);width:100%;height:auto}.threat-map[data-kind=no]{--hit:var(--lab)}.threat-map text{fill:var(--fg-3);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;transition:fill var(--dur-base);font-size:16px}.threat-map [data-place]{transition:opacity var(--dur-base)}.threat-map [data-place] :is(path,rect){transition:stroke var(--dur-base), fill var(--dur-base)}.threat-map [data-place=safety] path{fill:none;stroke:var(--line-strong);stroke-width:2px;stroke-dasharray:4 8;stroke-linecap:round}.threat-map [data-place=server] rect{fill:none;stroke:var(--line-strong);stroke-width:2px;stroke-dasharray:5 6}.threat-map [data-place=server] path{stroke:var(--line-strong);stroke-width:2px}.threat-map [data-place=links] path{fill:none;stroke:var(--line-strong);stroke-width:2px;stroke-linecap:round}.threat-map [data-place=radio] path{fill:none;stroke:var(--line);stroke-width:3px;stroke-linecap:round}.threat-map [data-place=envelope] rect{fill:var(--fg-3);stroke:none}.threat-map [data-place=envelope] path{fill:none;stroke:var(--bg-raised);stroke-width:2px}.threat-map .threat-map-slab{fill:var(--bg-raised);stroke:var(--fg-3);stroke-width:2px}.threat-map .threat-map-screen{fill:var(--surface);stroke:none}.threat-map [data-on] text{fill:var(--hit)}.threat-map [data-on] :is(path),.threat-map [data-place=server][data-on] rect{stroke:var(--hit)}.threat-map [data-place=radio][data-on] path{stroke-width:4px}.threat-map [data-place=envelope][data-on] rect{fill:var(--hit)}.threat-map [data-place=envelope][data-on] path{stroke:var(--bg-raised)}.threat-map [data-place=phone][data-on] .threat-map-slab{stroke:var(--hit)}.threat-map [data-place=phone][data-on] .threat-map-screen{fill:var(--accent-soft)}.threat-map[data-kind=no] [data-place=phone][data-on] .threat-map-screen{fill:color-mix(in srgb, var(--lab) 14%, transparent)}@media (prefers-reduced-motion:reduce){.route-envelope,.threat-map text,.threat-map [data-place],.threat-map [data-place] :is(path,rect){transition:none}}.lab-page{padding-block:clamp(2rem, 1rem + 4vw, 5rem) var(--section-pad)}.lab-page-head{gap:var(--space-3);max-width:46rem;margin:var(--space-5) 0 var(--space-7);display:grid}.lab-page-title{align-items:center;gap:var(--space-4);font-size:clamp(2.6rem,1.2rem + 5vw,5.5rem);font-weight:650;line-height:var(--leading-tight);letter-spacing:var(--tracking-display);flex-wrap:wrap;display:flex}.lab-page-intro{max-width:46ch;color:var(--fg-2);font-size:var(--text-lg);line-height:1.5}.skill-playgrounds{margin-bottom:var(--space-8)}.skill-playgrounds>h2,.skill-groups .mono{color:var(--fg-3)}.skill-playgrounds ul{gap:var(--space-3);margin:var(--space-3) 0 0;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));padding:0;list-style:none;display:grid}.skill-card{gap:var(--space-2);height:100%;padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-raised);transition:border-color var(--dur-fast);display:grid}.skill-card:hover{border-color:var(--line-strong)}.skill-card-name{align-items:center;gap:var(--space-3);font-size:var(--text-xl);letter-spacing:-.02em;font-weight:600;display:flex}.skill-card-line{color:var(--fg-2);font-size:var(--text-sm)}.skill-card-demo{color:var(--accent);text-transform:none;letter-spacing:.02em;align-self:end}.skill-card:hover .arrow{transform:translate(3px)}.skill-groups{border-top:1px solid var(--line-strong);gap:0;margin:0;display:grid}.skill-group{gap:var(--space-3);padding:var(--space-5) 0;border-bottom:1px solid var(--line);display:grid}@media (min-width:900px){.skill-group{grid-template-columns:16rem minmax(0,1fr)}}.skill-group dt{gap:var(--space-1);display:grid}.skill-group .note{color:var(--fg-3);font-size:var(--text-sm)}.skill-group[data-interest] .tech-chip{border-style:dashed}.skill-intro{max-width:60ch;color:var(--fg-2)}.skill-used{color:var(--fg-3);text-transform:none;letter-spacing:.02em;line-height:1.8}.lab-page-title .tech-icon{width:.7em;height:.7em}.skill-foot{justify-content:space-between;gap:var(--space-4);margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.skill-next{align-items:center;gap:var(--space-2);min-height:44px;font-weight:550;display:inline-flex}.skill-next .mono{color:var(--fg-3)}.skill-next:hover{color:var(--accent)}.code-panel{border:1px solid var(--line-strong);border-radius:var(--radius-lg);color:#d7dbd2;background:#0e100e;overflow:hidden}.code-bar{align-items:center;gap:var(--space-3);padding:0 var(--space-3);background:#141714;border-bottom:1px solid #222622;display:flex}.code-dots{gap:6px;display:flex}.code-dots i{background:#2d322c;border-radius:50%;width:10px;height:10px}.code-tabs{flex:1;min-width:0;display:flex;overflow-x:auto}.code-tabs button{min-height:40px;padding:0 var(--space-3);color:#8a9086;font-family:var(--font-mono);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;font-size:.78rem}.code-tabs button[aria-selected=true]{color:#e8ebe4;border-bottom-color:#84d9a0}.code-copy{min-height:30px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:#b3b8ad;background:0 0;border:1px solid #2d322c;font-size:.66rem}.code-copy:hover{color:#e8ebe4;border-color:#4a5148}.code-scroll{max-height:min(70svh,44rem);overflow:auto}.code-scroll:focus-visible{outline-offset:-2px;outline:2px solid #84d9a0}.code-panel pre{padding:var(--space-3) 0;font-family:var(--font-mono);tab-size:2;margin:0;font-size:.8rem;line-height:1.65}.code-line{grid-template-columns:3.2rem minmax(0,1fr);display:grid}.code-num{padding-right:var(--space-3);color:#4f564d;text-align:right;-webkit-user-select:none;user-select:none}.code-text{padding-right:var(--space-4);white-space:pre}.tk-comment{color:#7b8478;font-style:italic}.tk-string{color:#e5b766}.tk-number{color:#c79bf2}.tk-keyword{color:#84d9a0}.tk-type{color:#9db8e6}.tk-tag{color:#84d9a0}.tk-attr{color:#9db8e6}.demo-frame{width:var(--frame-w,100%);--spacing:1;--type-scale:1;--card-radius:14px;--card-border-w:1px;--card-border-style:solid;--card-tilt:0deg;--pad:1.25rem;--gap:.75rem;--align:start;--self:start;--justify:flex-start;--card-shadow:none;--card-bg:#fbfaf6;--card-fg:#141613;--card-muted:#5d6158;--card-line:#cfcdc3;--card-accent:#1c7341;max-width:100%;container:card/inline-size}.demo-frame[data-theme=dark]{--card-bg:#151815;--card-fg:#e8ebe4;--card-muted:#a3a99e;--card-line:#343a33;--card-accent:#84d9a0}.demo-frame[data-theme=paper]{--card-bg:#f1e6cd;--card-fg:#3a2a18;--card-muted:#6f5a40;--card-line:#cdb78f;--card-accent:#b0431c}.demo-frame[data-density=compact]{--pad:.75rem;--gap:.4rem}.demo-frame[data-density=roomy]{--pad:2rem;--gap:1.1rem}.demo-frame[data-align=center]{--align:center;--self:center;--justify:center}.demo-frame[data-align=end]{--align:end;--self:end;--justify:flex-end}.demo-frame[data-shadow=soft]{--card-shadow:0 1px 2px #0000001a, 0 8px 22px -10px #0000004d}.demo-frame[data-shadow=lifted]{--card-shadow:0 2px 4px #0000001a, 0 28px 48px -18px #00000073}.demo-frame[data-shadow=hard]{--card-shadow:6px 6px 0 var(--card-fg)}.demo-card{gap:calc(var(--gap) * var(--spacing));padding:calc(var(--pad) * var(--spacing));border:var(--card-border-w) var(--card-border-style) var(--card-line);border-radius:var(--card-radius);background:var(--card-bg);color:var(--card-fg);box-shadow:var(--card-shadow);text-align:var(--align);transform:rotate(var(--card-tilt));display:grid}.demo-card-art{aspect-ratio:16/9;border-radius:calc(var(--card-radius) * .7);background:repeating-linear-gradient(135deg, transparent 0 10px, color-mix(in srgb, var(--card-accent) 18%, transparent) 10px 11px), color-mix(in srgb, var(--card-accent) 10%, var(--card-bg))}.demo-card-body{gap:calc(var(--gap) * var(--spacing));align-content:start;display:grid}.demo-card-kicker{color:var(--card-accent);font-family:var(--font-mono,monospace);font-size:calc(.7rem * var(--type-scale));letter-spacing:.08em;text-transform:uppercase;margin:0}.demo-card h3{font-size:calc(clamp(1.1rem, 4cqi, 1.6rem) * var(--type-scale));margin:0;line-height:1.15}.demo-card p{color:var(--card-muted);font-size:calc(.9rem * var(--type-scale));margin:0;line-height:1.5}.demo-card-tags{justify-content:var(--justify);flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.demo-card-tags li{border:1px solid var(--card-line);font-size:calc(.72rem * var(--type-scale));border-radius:999px;padding:.15rem .5rem}.demo-card-link{justify-self:var(--self);color:var(--card-accent);font-size:calc(1rem * var(--type-scale));text-underline-offset:3px;font-weight:600}.demo-card-link:focus-visible{outline:2px solid var(--card-accent);outline-offset:3px}@container card (width>=28rem){.demo-card{grid-template-columns:.9fr 1.1fr;align-items:center}.demo-card-art{aspect-ratio:4/3}}@container card (width<=19rem){.demo-card-tags li:nth-child(n+3){display:none}}@media (prefers-reduced-motion:no-preference){.demo-card{transition:padding .2s,gap .2s,border-radius .2s,background-color .2s,color .2s,box-shadow .2s,transform .26s cubic-bezier(.34,1.32,.64,1)}.demo-frame{transition:width .16s ease-out}}.playground{gap:var(--space-5);grid-template-areas:"switch""demo""code";display:grid}@media (min-width:1100px){.playground{align-items:start;gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);grid-template-areas:"code demo"}.playground-demo{top:calc(var(--header-h) + var(--space-4));position:sticky}.playground-switch{display:none!important}}@media (max-width:1099px){.playground[data-view=demo] .playground-code,.playground[data-view=code] .playground-demo{display:none}}.playground-switch{border:1px solid var(--line);background:var(--bg-raised);border-radius:999px;grid-area:switch;justify-self:start;padding:3px;display:inline-flex}.playground-switch button{min-width:5.5rem;min-height:38px;padding:0 var(--space-4);color:var(--fg-3);letter-spacing:.08em;text-transform:uppercase;transition:background-color var(--dur-fast), color var(--dur-fast);background:0 0;border:0;border-radius:999px;font-size:.72rem}.playground-switch button[aria-selected=true]{background:var(--fg);color:var(--bg)}.playground-demo{gap:var(--space-4);min-width:0;padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-raised);grid-area:demo;display:grid}.playground-demo:-webkit-full-screen{background:var(--bg);border:0;border-radius:0;align-content:start;padding:clamp(1rem,3vw,3rem);overflow:auto}.playground-demo:fullscreen{background:var(--bg);border:0;border-radius:0;align-content:start;padding:clamp(1rem,3vw,3rem);overflow:auto}.playground-demo:-webkit-full-screen .playground-stage{justify-self:center;width:min(100%,72rem)}.playground-demo:fullscreen .playground-stage{justify-self:center;width:min(100%,72rem)}.playground-code{grid-area:code;min-width:0}@media (max-width:480px){.playground-demo{padding:var(--space-3)}}.playground-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.playground-head h2{font-size:var(--text-xl);letter-spacing:-.02em}.playground-kicker{margin-bottom:var(--space-1);color:var(--accent);font-size:.68rem}.playground-tools{gap:var(--space-2);display:flex}.tool-button{min-height:36px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--fg-2);letter-spacing:.06em;text-transform:uppercase;transition:border-color var(--dur-fast), color var(--dur-fast), transform var(--dur-base) var(--spring-out);align-items:center;gap:.4em;font-size:.68rem;display:inline-flex}.tool-button:hover{border-color:var(--line-strong);color:var(--fg)}.tool-button:active{transform:translateY(var(--press-y));transition-duration:var(--dur-press)}.tool-button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.playground-stage{min-width:0}.playground-foot{gap:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--line);display:grid}.playground-keys{gap:var(--space-2);color:var(--fg-3);text-transform:none;letter-spacing:.02em;flex-wrap:wrap;margin:0;font-size:.66rem;display:flex}.playground-keys span{border:1px solid var(--line);background:var(--bg);border-bottom-width:2px;border-radius:5px;padding:.2rem .5rem}@media (hover:none){.playground-keys{display:none}}.playground-info summary{min-height:32px;color:var(--fg-3);cursor:pointer;align-items:center;gap:.5em;font-size:.68rem;list-style:none;display:inline-flex}.playground-info summary::-webkit-details-marker{display:none}.playground-info summary:before{content:"+";width:1.2em;transition:transform var(--dur-base) var(--ease-out);place-items:center;display:inline-grid}.playground-info[open] summary:before{transform:rotate(45deg)}.playground-info p{max-width:62ch;margin-top:var(--space-2);color:var(--fg-3);font-size:var(--text-sm)}@keyframes arcade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.sg{--sg-board:var(--bg);--sg-grid:var(--line);--sg-ink:var(--fg);--sg-head:var(--accent);--sg-food:var(--lab);--sg-bonus:var(--open);--sg-accent:var(--accent);--sg-muted:var(--fg-3);gap:var(--space-3);min-width:0;display:grid}.sg[data-skin=python]{--sg-ink:var(--lightningcss-light,#3776ab)var(--lightningcss-dark,#5b93c7);--sg-head:var(--lightningcss-light,#c99a0b)var(--lightningcss-dark,#ffd43b);--sg-accent:var(--lightningcss-light,#c99a0b)var(--lightningcss-dark,#ffd43b)}.sg-hud{gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.sg-stat{align-content:start;gap:2px;min-width:0;display:grid}.sg-label{color:var(--fg-3);font-size:.6rem}.sg-stat b{font-family:var(--font-mono);font-size:var(--text-xl);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.1}.sg-stat small{color:var(--fg-3);letter-spacing:.02em;text-transform:none;font-size:.6rem}.sg-score{transform-origin:0 100%;animation:sg-pop .38s var(--spring-out);justify-self:start;display:inline-block}@keyframes sg-pop{0%{color:var(--accent);transform:scale(1.4)}to{transform:none}}.sg-meter{align-items:flex-end;gap:2px;height:1.6rem;display:flex}.sg-meter i{background:var(--line-strong);transform-origin:bottom;max-width:9px;height:100%;transition:background-color var(--dur-fast), transform var(--dur-base) var(--spring-out);border-radius:1px;flex:1;transform:scaleY(.4)}.sg-meter i[data-on]{background:var(--accent);transform:none}.sg-board{aspect-ratio:5/4;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--bg);touch-action:manipulation;-webkit-user-select:none;user-select:none;width:min(100%,125svh - 23.75rem);min-width:min(100%,18rem);margin-inline:auto;position:relative;overflow:hidden}.sg-board[data-status=playing]{touch-action:none}.sg-board:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-gap);border-radius:var(--radius-md)}.sg-board canvas{width:100%;height:100%;font-family:var(--font-mono);display:block;position:absolute;inset:0}.sg-flags{pointer-events:none;gap:6px;display:flex;position:absolute;top:12px;left:10px}.sg-flags span{opacity:0;transition:opacity var(--dur-fast), transform var(--dur-base) var(--spring-out);border-radius:999px;padding:2px 9px;font-size:.6rem;transform:translateY(-4px)}.sg-flags span[data-on]{opacity:1;transform:none}.sg-combo{background:var(--accent);color:var(--accent-ink)}.sg-bonus{background:var(--open);color:var(--bg)}.sg-screen{align-content:center;justify-items:center;gap:var(--space-3);padding:var(--space-4);background:color-mix(in srgb, var(--bg) 84%, transparent);text-align:center;animation:arcade-in var(--dur-base) var(--ease-out) both;display:grid;position:absolute;inset:0}.sg-title{font-size:var(--text-xl);letter-spacing:-.02em;font-weight:650;line-height:1.1}.sg-sub{max-width:30ch;color:var(--fg-2);font-size:var(--text-sm)}.sg-sub b{color:var(--fg);font-family:var(--font-mono)}.sg-hint{color:var(--fg-3);letter-spacing:.02em;text-transform:none;font-size:.62rem}.sg-hint-touch{display:none}@media (hover:none){.sg-hint-keys{display:none}.sg-hint-touch{display:inline}}.sg-bar{gap:var(--space-2);flex-wrap:wrap;display:flex}.sg-btn{min-height:44px;padding:0 var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--fg);font-family:var(--font-mono);letter-spacing:.03em;touch-action:manipulation;transition:background-color var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast), transform var(--dur-base) var(--spring-out);font-size:.74rem}.sg-btn:hover{border-color:var(--fg)}.sg-btn:active{transform:translateY(var(--press-y));transition-duration:var(--dur-press)}.sg-btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.sg-btn-primary{border-color:var(--fg);background:var(--fg);color:var(--bg)}.sg-btn-primary:hover{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.sg-pad{padding-block:var(--space-2);grid-template-columns:repeat(3,60px);grid-template-areas:".up.""left.right"".down.";justify-content:center;gap:8px;display:none}@media (hover:none),(pointer:coarse),(max-width:700px){.sg-pad{display:grid}}.sg-pad button{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--bg);width:60px;height:60px;color:var(--fg);touch-action:manipulation;transition:background-color var(--dur-fast), border-color var(--dur-fast), transform var(--dur-base) var(--spring-out);font-size:1.4rem}.sg-pad button:active{border-color:var(--accent);background:var(--accent-soft);transform:translateY(var(--press-y));transition-duration:var(--dur-press)}.sg-pad-up{grid-area:up}.sg-pad-left{grid-area:left}.sg-pad-right{grid-area:right}.sg-pad-down{grid-area:down}.sg-foot{color:var(--fg-3);letter-spacing:.02em;text-transform:none;font-size:.62rem}.sg-bug{border-top:1px dashed var(--line)}.sg-bug summary{min-height:44px;color:var(--fg-3);letter-spacing:.02em;text-transform:none;cursor:pointer;align-items:center;gap:.5em;font-size:.62rem;list-style:none;display:inline-flex}.sg-bug summary::-webkit-details-marker{display:none}.sg-bug summary:before{content:"›";transition:transform var(--dur-base) var(--ease-out);display:inline-block}.sg-bug[open] summary:before{transform:rotate(90deg)}.sg-bug-body{gap:var(--space-2);padding-bottom:var(--space-2);display:grid}.sg-bug-lede{color:var(--fg-2);font-size:var(--text-sm)}.sg-bug-code{gap:2px;margin:0;padding:0;list-style:none;display:grid}.sg-bug-line{gap:var(--space-3);background:var(--surface);width:100%;min-height:36px;color:var(--fg);font-family:var(--font-mono);text-align:left;touch-action:manipulation;border:0;border-radius:4px;padding:6px 10px;font-size:.72rem;display:flex}.sg-bug-line code{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.sg-bug-no{min-width:1ch;color:var(--fg-3);-webkit-user-select:none;user-select:none}.sg-bug-line:not(:disabled):hover{background:var(--accent-soft)}.sg-bug-line:disabled{color:var(--fg-2);cursor:default}.sg-bug-line[data-state=wrong]{box-shadow:inset 3px 0 0 var(--lab)}.sg-bug-line[data-state=fixed]{background:var(--accent-soft);color:var(--fg);box-shadow:inset 3px 0 0 var(--accent)}@media (pointer:coarse){.sg-bug-line{align-items:center;min-height:44px}}.sg-bug-note{min-height:1.5em;color:var(--fg-2);font-size:var(--text-sm)}.sg-bug-note[data-ok]{color:var(--accent)}.tf{--tf-err:var(--lightningcss-light,#b3402f)var(--lightningcss-dark,#ef9b8c);--tf-err-soft:color-mix(in srgb, var(--tf-err) 12%, transparent);gap:var(--space-3);min-width:0;display:grid;container-type:inline-size}.tf-tabs{border:1px solid var(--line-strong);border-radius:var(--radius-sm);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.tf-tabs button{min-height:44px;padding:0 var(--space-2);background:var(--bg);color:var(--fg-3);letter-spacing:.06em;text-transform:uppercase;transition:background-color var(--dur-fast), color var(--dur-fast);border:0;font-size:.62rem}.tf-tabs button+button{border-left:1px solid var(--line-strong)}.tf-tabs button[aria-selected=true]{background:var(--fg);color:var(--bg)}.tf-count{background:var(--accent-soft);color:var(--accent);border-radius:999px;margin-left:.4em;padding:1px 6px}.tf-tabs [aria-selected=true] .tf-count{background:var(--bg);color:var(--fg)}.tf-panel{gap:var(--space-3);min-width:0;animation:arcade-in var(--dur-base) var(--ease-out) both;display:grid}.tf-note{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);border:1px dashed var(--tf-err);border-radius:var(--radius-sm);background:var(--tf-err-soft);color:var(--fg-2);font-size:var(--text-sm);flex-wrap:wrap;margin:0;display:flex}.tf-linkish{min-height:44px;padding:0 var(--space-3);border:1px solid var(--tf-err);border-radius:var(--radius-sm);background:var(--bg);color:var(--fg);font-family:var(--font-mono);font-size:.7rem}.tf-board{padding:var(--space-4) var(--space-2);border-radius:var(--radius-md);background-color:var(--plate);background-image:repeating-linear-gradient(135deg, transparent 0 8px, color-mix(in srgb, var(--fg) 4%, transparent) 8px 9px);box-shadow:inset 0 0 0 1px var(--line-strong);grid-template-columns:minmax(0,1fr) clamp(1.75rem,12cqi,5rem) minmax(0,1fr);display:grid;position:relative}.tf-col{z-index:1;gap:var(--space-3);align-content:start;margin:0;padding:0;list-style:none;display:grid;position:relative}.tf-gap{min-height:1px}.tf-port{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-raised);width:100%;min-height:56px;color:var(--fg);text-align:left;touch-action:manipulation;transition:border-color var(--dur-fast), background-color var(--dur-fast), box-shadow var(--dur-fast), transform var(--dur-base) var(--spring-out);align-content:center;gap:1px;padding:6px 8px;display:grid;position:relative}.tf-port:hover{border-color:var(--fg)}.tf-port-name{font-family:var(--font-mono);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:650;overflow:hidden}.tf-port-type{color:var(--accent);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;overflow:hidden}.tf-port[data-kind=sink] .tf-port-type{color:var(--open)}.tf-port-sig{color:var(--open);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;display:none;overflow:hidden}@container (width>=30rem){.tf-port{padding:8px 14px}.tf-port-name{font-size:.8rem}.tf-port-type{font-size:.68rem}.tf-port[data-kind=sink] .tf-port-type{display:none}.tf-port-sig{display:block}}.tf-nub{border:2px solid var(--fg-3);background:var(--bg-raised);width:12px;height:12px;transition:background-color var(--dur-fast), border-color var(--dur-fast);margin-top:-6px;position:absolute;top:50%}.tf-port[data-kind=source] .tf-nub{border-radius:50%;right:-7px}.tf-port[data-kind=sink] .tf-nub{border-radius:3px;left:-7px}.tf-port[data-armed]{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft);transform:translate(3px)}.tf-port[data-armed] .tf-nub{border-color:var(--accent);background:var(--accent)}.tf-board[data-armed] .tf-port[data-kind=sink]{border-style:dashed;border-color:var(--fg-3)}.tf-board[data-armed] .tf-port[data-kind=sink]:hover{border-style:solid;border-color:var(--accent)}.tf-port[data-broken]{border-color:var(--tf-err);border-style:dashed}.tf-bug{background:var(--tf-err);color:var(--bg);font-family:var(--font-mono);border-radius:4px;padding:0 5px;font-size:.56rem;font-weight:700;line-height:1.5;position:absolute;top:-8px;right:8px}.tf-flash{border-radius:inherit;pointer-events:none;position:absolute;inset:-1px}.tf-flash[data-ok=true]{animation:tf-ring .7s var(--ease-out) both}.tf-flash[data-ok=false]{border:2px solid var(--tf-err);background:var(--tf-err-soft);animation:tf-shake .42s var(--ease-out), tf-away 1s ease-in both}@keyframes tf-ring{0%{box-shadow:0 0 0 0 var(--accent);opacity:1}to{opacity:0;box-shadow:0 0 0 12px #0000}}@keyframes tf-shake{20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@keyframes tf-away{0%,55%{opacity:1}to{opacity:0}}.tf-wires{z-index:0;pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.tf-wire{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round}.tf-wire[data-fresh]{stroke-dasharray:1 1;animation:tf-draw .48s var(--ease-out) both}@keyframes tf-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.tf-lock{fill:none;stroke:var(--accent);stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:tf-lock .7s .38s var(--ease-out) both}@keyframes tf-lock{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(2.2)}}.tf-wire-bad{fill:none;stroke:var(--tf-err);stroke-width:3px;stroke-linecap:round;stroke-dasharray:1 1;animation:tf-bad 1.2s var(--ease-out) both}@keyframes tf-bad{0%{stroke-dashoffset:1px;opacity:1}35%{stroke-dashoffset:.45px;opacity:1}75%{stroke-dashoffset:.45px;opacity:1}to{stroke-dashoffset:.45px;opacity:0}}.tf-cross{transform-box:fill-box;transform-origin:50%;animation:tf-cross 1.2s var(--ease-out) both}.tf-cross circle{fill:var(--tf-err)}.tf-cross path{fill:none;stroke:var(--bg);stroke-width:2px;stroke-linecap:round}@keyframes tf-cross{0%,25%{opacity:0;transform:scale(.4)}40%{opacity:1;transform:scale(1)}75%{opacity:1}to{opacity:0}}.tf-packet{z-index:2;background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 3px var(--accent-soft);offset-rotate:0deg;opacity:0;pointer-events:none;animation:tf-travel .7s var(--ease-in-out) both;border-radius:3px;position:absolute;top:0;left:0}.tf-packet[data-ok=false]{background:var(--tf-err);box-shadow:0 0 0 3px var(--tf-err-soft)}@keyframes tf-travel{0%{offset-distance:0%;opacity:0}12%{opacity:1}88%{opacity:1}to{offset-distance:100%;opacity:0}}.tf-look{min-height:2.6em;color:var(--fg-3);letter-spacing:.02em;text-transform:none;overflow-wrap:anywhere;margin:0;font-size:.64rem}.tf-diag{padding:var(--space-3);border-left:3px solid var(--line-strong);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--surface);font-family:var(--font-mono);font-size:.74rem}.tf-diag[data-ok=true]{border-color:var(--accent)}.tf-diag[data-ok=false]{border-color:var(--tf-err);background:var(--tf-err-soft)}.tf-diag-head{color:var(--accent);margin-bottom:2px;font-size:.6rem}.tf-diag[data-ok=false] .tf-diag-head{color:var(--tf-err)}.tf-diag-main{color:var(--fg);overflow-wrap:anywhere;font-weight:600}.tf-diag[data-ok=false] .tf-diag-main{-webkit-text-decoration:underline wavy var(--tf-err);text-decoration:underline wavy var(--tf-err);text-underline-offset:4px;text-decoration-thickness:1px}.tf-diag-detail{color:var(--fg-2);overflow-wrap:anywhere}.tf-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.tf-btn{min-height:44px;padding:0 var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--fg);font-family:var(--font-mono);touch-action:manipulation;transition:background-color var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast), transform var(--dur-base) var(--spring-out);font-size:.72rem}.tf-btn:not(:disabled):hover{border-color:var(--fg)}.tf-btn:not(:disabled):active{transform:translateY(var(--press-y));transition-duration:var(--dur-press)}.tf-btn:disabled{color:var(--fg-3);cursor:not-allowed;opacity:.55}.tf-btn-primary{border-color:var(--fg);background:var(--fg);color:var(--bg)}.tf-btn-primary:not(:disabled):hover{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.tf-progress{color:var(--fg-3);font-size:.62rem}.tf-wirelist{border-top:1px solid var(--line);margin:0;padding:0;list-style:none;display:grid}.tf-wirelist li{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px dashed var(--line);min-height:44px;display:flex}.tf-wirelist .mono{text-transform:none;letter-spacing:.02em;overflow-wrap:anywhere;font-size:.66rem}.tf-wirelist button{min-height:44px;padding:0 var(--space-3);color:var(--fg-3);font-family:var(--font-mono);background:0 0;border:0;font-size:.64rem}.tf-wirelist button:hover{color:var(--tf-err)}.tf-log{padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);letter-spacing:0;text-transform:none;gap:4px;margin:0;font-size:.7rem;list-style:none;display:grid}.tf-log li{overflow-wrap:anywhere;opacity:0;animation:arcade-in .3s var(--ease-out) both}.tf-log li:before{content:"> ";color:var(--fg-3)}.tf-log li[data-ok=false]{color:var(--tf-err)}.tf-log .tf-log-end{color:var(--fg-2);font-style:italic}.tf-parts{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tf-parts li{border:1px solid var(--tf-err);color:var(--fg-2);letter-spacing:.02em;text-transform:none;transition:border-color var(--dur-base), color var(--dur-base);border-radius:999px;align-items:center;gap:.5em;padding:6px 12px;font-size:.64rem;display:inline-flex}.tf-parts li[data-fixed]{border-color:var(--accent);color:var(--fg)}.tf-light{background:var(--tf-err);width:8px;height:8px;transition:background-color var(--dur-base), box-shadow var(--dur-base);border-radius:50%}.tf-parts li[data-fixed] .tf-light{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tf-part-state{color:var(--fg-3)}.tf-puzzle{gap:var(--space-3);display:grid}.tf-step{color:var(--fg-3);text-transform:none;letter-spacing:.04em;margin:0;font-size:.62rem}.tf-code{padding:var(--space-2) 0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);font-family:var(--font-mono);margin:0;font-size:.76rem;list-style:none;overflow:hidden}.tf-code li{gap:var(--space-3);padding:2px var(--space-3);display:flex}.tf-code code{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.tf-code-no{min-width:1.2ch;color:var(--fg-3);-webkit-user-select:none;user-select:none}.tf-code li[data-bad]{background:var(--tf-err-soft)}.tf-code li[data-bad] code{-webkit-text-decoration:underline wavy var(--tf-err);text-decoration:underline wavy var(--tf-err);text-underline-offset:4px;text-decoration-thickness:1px}.tf-code li[data-fixed]{background:var(--accent-soft);animation:arcade-in var(--dur-base) var(--ease-out) both}.tf-diag-line{color:var(--tf-err);letter-spacing:0;text-transform:none;overflow-wrap:anywhere;margin:0;font-size:.7rem}.tf-diag-line b{letter-spacing:.06em;text-transform:uppercase;margin-right:.5em;font-weight:700}.tf-fixes{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.tf-fix{align-items:center;gap:var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-raised);width:100%;min-height:48px;color:var(--fg);text-align:left;touch-action:manipulation;transition:background-color var(--dur-fast), border-color var(--dur-fast), transform var(--dur-base) var(--spring-out);padding:8px 12px;display:flex}.tf-fix code{font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.74rem}.tf-fix-key{border:1px solid var(--line-strong);width:22px;height:22px;color:var(--fg-3);text-transform:none;letter-spacing:0;border-radius:5px;flex:none;place-items:center;font-size:.6rem;display:grid}.tf-fix:not(:disabled):hover{border-color:var(--accent);background:var(--accent-soft)}.tf-fix:not(:disabled):active{transform:translateY(var(--press-y));transition-duration:var(--dur-press)}.tf-fix:disabled{cursor:default;color:var(--fg-3)}.tf-fix[data-state=wrong]{border-color:var(--tf-err);background:var(--tf-err-soft)}.tf-fix[data-state=wrong] code{text-decoration:line-through}.tf-fix[data-state=right]{border-color:var(--accent);background:var(--accent-soft);color:var(--fg)}.tf-feedback{align-content:start;justify-items:start;gap:4px;min-height:5.5rem;display:grid}.tf-feedback-head{color:var(--fg);font-weight:600;font-size:var(--text-sm)}.tf-feedback[data-verdict=wrong] .tf-feedback-head{color:var(--tf-err)}.tf-feedback[data-verdict=fixed] .tf-feedback-head{color:var(--accent)}.tf-feedback-why{color:var(--fg-2);font-size:var(--text-sm)}.tf-feedback .tf-btn{margin-top:var(--space-2)}.tf-done{gap:var(--space-3);padding:var(--space-5) var(--space-4);border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--accent-soft);justify-items:start;display:grid}.tf-done-word{color:var(--accent);font-family:var(--font-mono);letter-spacing:-.03em;animation:sg-pop .6s var(--spring-out) both;font-size:clamp(1.8rem,9cqi,3rem);font-weight:650;line-height:1}.tf-done-sub{max-width:44ch;color:var(--fg-2);font-size:var(--text-sm)}.cl{--cl-prop:var(--open);--cl-shared:var(--accent);--cl-derived:var(--lab);gap:var(--space-3);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.cl-palette{gap:var(--space-2);display:grid}.cl-palette-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.cl-adding{align-items:center;gap:0 var(--space-3);color:var(--fg-3);letter-spacing:.02em;text-transform:none;flex-wrap:wrap;margin:0;font-size:.62rem;display:flex}.cl-adding b{color:var(--fg);font-weight:600}.cl-linkish{min-height:32px;padding:0 var(--space-2);color:var(--accent);font-family:var(--font-mono);text-underline-offset:3px;background:0 0;border:0;font-size:.62rem;text-decoration:underline}.cl-xray{min-height:32px;padding:0 var(--space-3);border:1px solid var(--line-strong);color:var(--fg-3);text-transform:none;letter-spacing:.04em;background:0 0;border-radius:999px;font-size:.6rem}.cl-xray[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.cl-kinds{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.cl-add{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-raised);width:100%;min-height:56px;color:var(--fg);touch-action:manipulation;transition:border-color var(--dur-fast), background-color var(--dur-fast), transform var(--dur-base) var(--spring-out);align-content:center;justify-items:center;gap:2px;padding:6px;display:grid}.cl-add:not(:disabled):hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(var(--lift-y));border-style:solid}.cl-add:not(:disabled):active{transform:translateY(var(--press-y));transition-duration:var(--dur-press)}.cl-add:disabled{opacity:.4;cursor:not-allowed}.cl-add-glyph{font-family:var(--font-mono);font-size:1.05rem;line-height:1}.cl-add-name{color:var(--fg-3);text-transform:none;letter-spacing:.02em;font-size:.6rem}.cl-canvas{align-content:flex-start;gap:var(--space-3);min-height:13rem;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background-color:var(--bg);background-image:radial-gradient(var(--line-strong) 1px, transparent 1.3px);background-size:16px 16px;flex-wrap:wrap;display:flex;position:relative}.cl-empty{padding:var(--space-4) 0;color:var(--fg-3);font-size:var(--text-sm);text-align:center;flex:100%;margin:0}.cl-brick{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-raised);min-width:0;max-width:100%;box-shadow:0 1px 0 var(--line), 0 8px 16px -12px #0006;flex:8.5rem;grid-template-columns:minmax(0,1fr);align-content:start;display:grid}.cl-brick[data-kind=panel]{flex-basis:100%}.cl-brick[data-nested]{background:var(--bg);box-shadow:none}.cl[data-xray] .cl-brick[data-nested]{border-color:color-mix(in srgb, var(--cl-prop) 55%, var(--line-strong))}.cl-brick-head{justify-content:space-between;align-items:center;gap:2px var(--space-2);border-bottom:1px solid var(--line);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--surface);flex-wrap:wrap;padding:3px 4px 3px 8px;display:flex}.cl-tag{min-width:0;color:var(--fg-2);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;overflow:hidden}.cl-tools{flex:none;gap:2px;display:inline-flex}.cl-tool{min-width:32px;min-height:32px;color:var(--fg-2);touch-action:manipulation;background:0 0;border:0;border-radius:5px;padding:0 6px;font-size:.9rem;line-height:1}.cl-tool-text{text-transform:none;letter-spacing:.02em;padding:0 8px;font-size:.58rem}.cl-tool:not(:disabled):hover,.cl-tool[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.cl-tool:disabled{opacity:.3;cursor:default}.cl-tool-remove:not(:disabled):hover{background:color-mix(in srgb, var(--lab) 14%, transparent);color:var(--lab)}@media (pointer:coarse){.cl-tool{min-width:44px;min-height:44px}.cl-linkish,.cl-xray,.cl-mini,.cl-bind{min-height:44px}}.cl-brick-body{gap:var(--space-2);padding:var(--space-3);align-content:start;display:grid}.cl-kids{gap:var(--space-2);padding-left:var(--space-3);border-left:2px dashed var(--line-strong);flex-wrap:wrap;display:flex;position:relative}.cl[data-xray] .cl-kids{border-left-color:var(--cl-prop)}.cl-kids .cl-brick{flex-basis:7.5rem}@media (max-width:360px){.cl-kids .cl-brick{flex-basis:100%}}.cl-flag{border-top:1px dashed var(--line);color:var(--fg-3);letter-spacing:.02em;text-transform:none;overflow-wrap:anywhere;margin:0;padding:4px 8px;font-size:.58rem}.cl-flag-prop{color:var(--cl-prop)}.cl-flag-shared{color:var(--cl-shared)}.cl-flag-derived{color:var(--cl-derived)}.cl-brick-body>.cl-flag{border:0;padding:0}.cl-meta{color:var(--fg-3);letter-spacing:.02em;text-transform:none;margin:0;font-size:.6rem}.cl-ui-btn{min-height:44px;padding:0 var(--space-4);border:1px solid var(--fg);background:var(--fg);color:var(--bg);font-size:var(--text-sm);touch-action:manipulation;transition:transform var(--dur-base) var(--spring-out);border-radius:6px;justify-self:start;font-weight:550}.cl-ui-btn:active{transform:translateY(var(--press-y));transition-duration:var(--dur-press)}.cl-ui-card{padding:var(--space-3);border:1px solid var(--line);background:var(--bg-raised);border-radius:8px;gap:2px;display:grid}.cl-ui-card h4{font-size:var(--text-sm);letter-spacing:-.01em}.cl-ui-card p{color:var(--fg-2);margin:0;font-size:.8rem}.cl-ui-card .cl-flag{border:0;padding:0}.cl-ui-counter{align-items:center;gap:var(--space-2);display:flex}.cl-ui-counter button{border:1px solid var(--line-strong);background:var(--bg);width:44px;height:44px;color:var(--fg);touch-action:manipulation;transition:border-color var(--dur-fast), transform var(--dur-base) var(--spring-out);border-radius:6px;font-size:1.2rem}.cl-ui-counter button:hover{border-color:var(--fg)}.cl-ui-counter button:active{transform:translateY(var(--press-y));transition-duration:var(--dur-press)}.cl-ui-counter output{min-width:2.2ch;font-family:var(--font-mono);font-size:var(--text-xl);text-align:center;font-variant-numeric:tabular-nums;animation:cl-tick .32s var(--spring-out);font-weight:600}@keyframes cl-tick{0%{color:var(--accent);transform:translateY(-6px)scale(1.15)}to{transform:none}}.cl-bind{min-height:32px;padding:0 var(--space-3);border:1px solid var(--line-strong);color:var(--fg-2);text-transform:none;letter-spacing:.02em;background:0 0;border-radius:999px;justify-self:start;font-size:.58rem}.cl-bind[aria-pressed=true]{border-color:var(--cl-shared);background:var(--accent-soft);color:var(--cl-shared)}.cl-ui-switch{align-items:center;gap:var(--space-3);min-height:44px;color:var(--fg);font-size:var(--text-sm);text-align:left;touch-action:manipulation;background:0 0;border:0;padding:0;display:inline-flex}.cl-ui-knob{background:var(--line-strong);width:40px;height:24px;transition:background-color var(--dur-fast);border-radius:999px;flex:none;position:relative}.cl-ui-knob:after{content:"";background:var(--bg);width:18px;height:18px;transition:transform var(--dur-base) var(--spring-out);border-radius:50%;position:absolute;top:3px;left:3px}.cl-ui-switch[aria-checked=true] .cl-ui-knob{background:var(--accent)}.cl-ui-switch[aria-checked=true] .cl-ui-knob:after{transform:translate(16px)}.cl-ui-list{gap:4px;margin:0;padding:0;font-size:.8rem;list-style:none;display:grid}.cl-ui-list li{border-left:2px solid var(--accent);background:var(--bg);animation:arcade-in var(--dur-base) var(--ease-out) both;border-radius:0 4px 4px 0;padding:4px 8px}.cl-ui-list .cl-ui-empty{border-left-color:var(--line-strong);color:var(--fg-3)}.cl-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.cl-mini{min-height:32px;padding:0 var(--space-3);border:1px solid var(--line-strong);color:var(--fg-2);text-transform:none;letter-spacing:.02em;touch-action:manipulation;background:0 0;border-radius:5px;font-size:.6rem}.cl-mini:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.cl-mini:disabled{opacity:.4;cursor:default}.cl-label{color:var(--cl-prop);text-transform:none;letter-spacing:.04em;gap:2px;font-size:.58rem;display:grid}.cl-label input{border:1px solid var(--cl-prop);background:var(--bg);min-height:40px;color:var(--fg);font-family:var(--font-mono);border-radius:5px;padding:0 8px;font-size:1rem}.cl-derived{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.cl-derived>div{padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);align-content:start;gap:2px;display:grid}.cl-derived dt{color:var(--fg-3);text-transform:none;letter-spacing:.04em;font-size:.56rem}.cl-derived dd{font-family:var(--font-mono);font-size:var(--text-xl);font-variant-numeric:tabular-nums;margin:0;font-weight:600;line-height:1.1}.cl-derived dd small{color:var(--fg-3);text-transform:none;letter-spacing:0;font-size:.56rem;font-weight:400}.cl-derived code{color:var(--cl-derived);font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.56rem}.cl-foot{gap:var(--space-2);justify-items:start;display:grid}.cl-text-btn{min-height:44px;padding:0 var(--space-3);border:1px dashed var(--line-strong);border-radius:var(--radius-sm);color:var(--fg-2);text-transform:none;letter-spacing:.02em;touch-action:manipulation;background:0 0;font-size:.62rem}.cl-text-btn:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.cl-text-btn:disabled{opacity:.4;cursor:default}.cl-lesson{max-width:52ch;color:var(--fg-3);font-size:var(--text-sm);margin:0}.cl-tray{gap:var(--space-2);padding-top:var(--space-3);border-top:1px dashed var(--line);display:grid}.cl-tray-head{align-items:center;gap:0 var(--space-3);flex-wrap:wrap;display:flex}.cl-chips{gap:6px;margin:0;padding:0;list-style:none;display:grid}.cl-chip{border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;padding:6px 10px}.cl-chip code,.cl-reducer code{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.66rem}.cl-reducer{padding:var(--space-3);border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent-soft);gap:6px;display:grid}.cl-fields{padding-left:var(--space-4);flex-wrap:wrap;gap:4px;display:flex}.cl-field{border:1px solid var(--accent);background:var(--bg);font-family:var(--font-mono);border-radius:999px;padding:2px 9px;font-size:.62rem}.cl-tray-line{align-items:center;gap:var(--space-3);color:var(--fg-2);font-size:var(--text-sm);flex-wrap:wrap;margin:0;display:flex}.cl-tray-line p{margin:0}:root{--apps-bad:#b8392f;--sev-low:var(--open);--sev-med:var(--lab);--sev-high:#b8392f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--apps-bad:#ff8d80;--sev-high:#ff8d80}}:root[data-theme=dark]{--apps-bad:#ff8d80;--sev-high:#ff8d80}.seg{gap:var(--space-1);border:0;min-width:0;margin:0;padding:0;display:grid}.seg-legend{color:var(--fg-3);padding:0;font-size:.62rem}.seg-row{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);max-width:100%;padding:2px;display:inline-flex}.seg-opt{flex:auto;display:flex;position:relative}.seg-opt input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.seg-opt span{min-height:36px;padding:0 var(--space-3);color:var(--fg-2);font-size:var(--text-xs);white-space:nowrap;transition:background-color var(--dur-fast), color var(--dur-fast);border-radius:4px;flex:1;place-items:center;display:grid}.seg-opt:hover input:not(:checked)+span{background:var(--accent-soft);color:var(--fg)}.seg-opt input:checked+span{background:var(--fg);color:var(--bg)}.seg-opt input:focus-visible+span{outline:var(--focus-ring);outline-offset:1px}.seg-compact .seg-opt span{min-height:30px;padding:0 var(--space-2)}@media (max-width:768px),(pointer:coarse){.seg-opt span,.seg-compact .seg-opt span{min-height:44px}}.lobby{gap:var(--space-4);min-width:0;display:grid;container:lobby/inline-size}.lobby-stage{align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:linear-gradient(var(--line) 1px, transparent 1px) 0 0 / 16px 16px, linear-gradient(90deg, var(--line) 1px, transparent 1px) 0 0 / 16px 16px, var(--bg);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.lobby-seat{text-align:center;justify-items:center;gap:2px;width:5.75rem;display:grid}.lobby-face{width:56px;height:56px;color:var(--accent);image-rendering:pixelated;transition:opacity var(--dur-base), filter var(--dur-base)}.lobby-seat[data-role=player] .lobby-face{color:var(--open)}.lobby-seat:not([data-online]) .lobby-face{opacity:.45;filter:grayscale()}.lobby-px{fill:currentColor}.lobby-px-dark{fill:var(--bg)}.lobby-empty{border:2px dashed var(--line-strong);width:56px;height:56px;color:var(--fg-3);font-family:var(--font-mono);place-items:center;font-size:1.3rem;display:grid}.lobby-name{margin-top:var(--space-1);font-size:var(--text-sm);font-weight:600;line-height:1.2}.lobby-role{color:var(--fg-3);letter-spacing:0;text-transform:none;font-size:.58rem;line-height:1.3}.lobby-wire{min-width:2.5rem;height:3rem;position:relative}.lobby-line{border-top:2px dashed var(--line-strong);position:absolute;top:50%;left:0;right:0;transform:translateY(-1px)}.lobby-wire-label{color:var(--fg-3);letter-spacing:0;text-transform:none;white-space:nowrap;font-size:.58rem;position:absolute;top:calc(50% + 12px);left:50%;transform:translate(-50%)}.lobby-packet{border:2px solid var(--bg);background:var(--lab);width:18px;height:18px;box-shadow:0 0 0 2px var(--lab);position:absolute;top:calc(50% - 9px);left:2%}.lobby[data-state=JOINING] .lobby-packet{left:calc(98% - 18px)}.lobby[data-state=VALIDATING] .lobby-line{border-top:2px solid var(--open)}.lobby[data-state=AUTHENTICATING] .lobby-line{border-top:2px solid var(--accent)}.lobby[data-state=CONNECTED] .lobby-line{border-top:3px solid var(--accent)}.lobby[data-state=CONNECTED] .lobby-wire-label{color:var(--accent)}.lobby[data-state=REJECTED] .lobby-line{border-top:3px dotted var(--apps-bad)}.lobby[data-state=REJECTED] .lobby-wire-label{color:var(--apps-bad)}.lobby[data-state=CLOSED] .lobby-line{opacity:.4}.lobby[data-state=CONNECTED] .lobby-wire:after{content:"";background:var(--accent);opacity:0;width:8px;height:8px;position:absolute;top:calc(50% - 4px);left:0}@media (prefers-reduced-motion:no-preference){.lobby-packet{transition:left var(--dur-slow) var(--ease-out)}.lobby[data-state=CONNECTED] .lobby-wire:after{opacity:1;animation:lobby-pulse 1.8s var(--ease-out) infinite}@keyframes lobby-pulse{0%{left:0}to{left:calc(100% - 8px)}}}.lobby-says{min-height:3.1em;padding:var(--space-3) var(--space-4);border-left:3px solid var(--line-strong);background:var(--surface);color:var(--fg-2);font-size:var(--text-sm);margin:0}.lobby-says[data-tone=bad]{border-color:var(--apps-bad);color:var(--fg)}.lobby-says[data-tone=good]{border-color:var(--accent);color:var(--fg)}.lobby-says[data-tone=quiet]{border-style:dashed}.lobby-invite{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px dashed var(--line-strong);border-radius:var(--radius-sm);grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}.lobby-invite-label,.lobby-invite-tag{color:var(--fg-3);font-size:.62rem}.lobby-token{border:1px solid var(--lab);background:color-mix(in srgb, var(--lab) 12%, transparent);color:var(--fg);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.1em;justify-self:start;padding:.2rem .6rem}.lobby-invite[data-tag=none\ yet] .lobby-token{border-color:var(--line-strong);color:var(--fg-3);background:0 0}.lobby-invite[data-tag=spent] .lobby-token{border-color:var(--line-strong);color:var(--fg-3);background:0 0;text-decoration:line-through}.lobby-invite[data-tag=expired] .lobby-token{border-color:var(--apps-bad);color:var(--apps-bad);background:0 0;text-decoration:line-through}.lobby-invite[data-tag=expired] .lobby-invite-tag{color:var(--apps-bad)}.lobby-clock{align-items:center;gap:var(--space-2);min-width:3.6rem;color:var(--fg-2);letter-spacing:0;justify-content:flex-end;font-size:.7rem;display:inline-flex}.lobby-ring{width:22px;height:22px}.lobby-ring circle{fill:none;stroke-width:3px}.lobby-ring-track{stroke:var(--line-strong)}.lobby-ring-fill{stroke:var(--lab);transform-origin:50%;transform:rotate(-90deg)}@media (prefers-reduced-motion:no-preference){.lobby-ring-fill{transition:stroke-dashoffset 1s linear}}.lobby-track{gap:var(--space-2) .85rem;flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.lobby-track li{border:1px solid var(--line);color:var(--fg-3);transition:border-color var(--dur-base), background-color var(--dur-base), color var(--dur-base);border-radius:3px;padding:.4rem .55rem;position:relative}.lobby-track li:not(.lobby-side):not(:first-child):before{content:"";border-top:1px solid var(--line-strong);width:.85rem;position:absolute;top:50%;right:100%}.lobby-node-name{letter-spacing:0;font-size:.6rem}.lobby-track li[data-done]{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));color:var(--fg-2)}.lobby-track li[data-next]{border-style:dashed;border-color:var(--line-strong);color:var(--fg-2)}.lobby-track li[data-current]{border-style:solid;border-color:var(--accent);background:var(--accent-soft);color:var(--fg)}.lobby-side[data-kind=bad][data-next]{border-color:var(--apps-bad);color:var(--apps-bad)}.lobby-side[data-kind=bad][data-current]{border-color:var(--apps-bad);background:color-mix(in srgb, var(--apps-bad) 12%, transparent);color:var(--fg)}.lobby-side[data-kind=quiet][data-current]{border-color:var(--fg-3);background:var(--surface)}.lobby-actions{gap:var(--space-3);display:grid}.lobby-go{justify-content:flex-start;gap:var(--space-3);width:100%}.lobby-go .arrow{margin-left:auto}.lobby-step{opacity:.7;font-size:.62rem}.lobby-faults{gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-3);border:1px dashed var(--line-strong);border-radius:var(--radius-sm);grid-template-columns:repeat(auto-fit,minmax(9.25rem,1fr));margin:0;display:grid}.lobby-faults legend{padding:0 var(--space-2);color:var(--fg-3);font-size:.62rem}.lobby-fault{min-height:44px;padding:0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--fg-2);font-size:var(--text-xs);text-align:left;transition:border-color var(--dur-fast), color var(--dur-fast), transform var(--dur-base) var(--spring-out)}.lobby-fault:hover:not(:disabled){border-color:var(--apps-bad);color:var(--apps-bad)}.lobby-fault:active:not(:disabled){transform:translateY(var(--press-y));transition-duration:var(--dur-press)}.lobby-fault:disabled{opacity:.35;cursor:not-allowed}.lobby-log{min-height:8.5rem;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg-3);font-family:var(--font-mono);align-content:start;gap:.25rem;margin:0;font-size:.72rem;list-style:none;display:grid}.lobby-log li{overflow-wrap:anywhere}.lobby-log li:before{content:"> ";color:var(--accent)}.lobby-log li:first-child{color:var(--fg)}.lobby-foot{color:var(--fg-3);letter-spacing:0;text-transform:none;margin:0;font-size:.6rem}@container lobby (width<=440px){.lobby-stage{padding-inline:var(--space-2)}.lobby-seat{width:4.6rem}.lobby-face,.lobby-empty{width:44px;height:44px}.lobby-wire-label{display:none}.lobby-invite{grid-template-columns:auto minmax(0,1fr)}.lobby-invite-tag{justify-self:start}.lobby-clock{justify-content:flex-start}.lobby-track{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.lobby-track li:before{display:none!important}.lobby-faults{grid-template-columns:repeat(2,minmax(0,1fr))}}.desk-wrap{min-width:0;container:desk/inline-size}.desk{border:1px solid var(--line-strong);background:var(--bg-raised);box-shadow:var(--shadow-pop);font-size:var(--text-sm);border-radius:8px;display:grid;overflow:hidden}.desk-titlebar{align-items:center;gap:var(--space-2);height:32px;padding-left:var(--space-3);border-bottom:1px solid var(--line);background:var(--surface);display:flex}.desk-appicon{background:linear-gradient(135deg, var(--accent) 50%, var(--open) 50%);border-radius:3px;width:14px;height:14px}.desk-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.75rem;font-weight:600;overflow:hidden}.desk-title-sub{color:var(--fg-3);font-weight:400}.desk-title-sub:before{content:"- "}.desk-caption{align-self:stretch;display:flex}.desk-caption i{width:38px;color:var(--fg-3);place-items:center;font-size:.8rem;font-style:normal;display:grid}.desk-caption i:last-child:hover{background:var(--apps-bad);color:#fff}.desk-toolbar{align-items:flex-end;gap:var(--space-3) var(--space-4);padding:var(--space-3);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.desk-note{gap:var(--space-1);flex:11rem;min-width:0;display:grid}.desk-note .mono{color:var(--fg-3);font-size:.62rem}.desk-input{width:100%;min-width:0;min-height:34px;padding:0 var(--space-2);border:1px solid var(--line-strong);background:var(--bg);color:var(--fg);font-size:var(--text-sm);border-radius:4px}.desk-input:focus-visible{outline:var(--focus-ring);outline-offset:1px}.desk-btn{min-height:34px;padding:0 var(--space-4);border:1px solid var(--line-strong);background:var(--bg);color:var(--fg);font-size:var(--text-xs);white-space:nowrap;transition:background-color var(--dur-fast), border-color var(--dur-fast), transform var(--dur-base) var(--spring-out);border-radius:4px;font-weight:600}.desk-btn:hover:not(:disabled){border-color:var(--fg)}.desk-btn:active:not(:disabled){transform:translateY(var(--press-y));transition-duration:var(--dur-press)}.desk-btn-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.desk-btn-primary:hover:not(:disabled){border-color:var(--accent);filter:brightness(1.08)}.desk-btn:disabled{opacity:.4;cursor:not-allowed}.desk-tabs{display:none}.desk-panes{min-width:0;min-height:21rem;display:grid}.desk-pane{min-width:0;padding:var(--space-3)}.desk-pane+.desk-pane{border-left:1px solid var(--line)}.desk-pane-head{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:28px;margin:0 0 var(--space-2);color:var(--fg-3);font-family:var(--font-mono);letter-spacing:var(--tracking-meta);text-transform:uppercase;font-size:.62rem;font-weight:450;display:flex}.desk-pane-head span{text-transform:none;letter-spacing:0}.desk-docname{min-height:28px;padding:0 var(--space-2);color:var(--fg);font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:1px solid #0000;border-radius:3px}.desk-docname:hover{border-color:var(--line-strong)}.desk-panes{grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr) minmax(0,1fr)}@container desk (width>=600px) and (width<=899px){.desk-panes{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-areas:"doc list""doc inspect"}.desk-pane-doc{border-left:0;grid-area:doc}.desk-pane-findings{border-left:1px solid var(--line);grid-area:list}.desk-pane-inspector{border-top:1px solid var(--line);grid-area:inspect}}.desk-text{padding:var(--space-4);border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:4px;margin:0;font-family:Georgia,Iowan Old Style,Palatino Linotype,serif;font-size:1.02rem;line-height:2.1}.desk-chunk{cursor:pointer;transition:background-color var(--dur-fast), box-shadow var(--dur-fast);border-radius:3px}.desk-chunk:hover{background:var(--accent-soft)}.desk-chunk:focus-visible{outline:var(--focus-ring);outline-offset:1px}.desk-chunk[data-selected]{background:color-mix(in srgb, var(--accent) 22%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 22%, transparent)}.desk [data-sev=low]{--sev:var(--sev-low)}.desk [data-sev=medium]{--sev:var(--sev-med)}.desk [data-sev=high]{--sev:var(--sev-high)}.desk-seg[data-sev]{border-bottom:2px solid var(--sev);background:color-mix(in srgb, var(--sev) 13%, transparent)}.desk-seg[data-resolved]{opacity:.6;border-bottom-style:dotted}.desk-seg[data-active]{background:color-mix(in srgb, var(--sev) 32%, transparent);opacity:1}.desk-seg[data-ends]:after{content:attr(data-ends);color:var(--sev);font-family:var(--font-mono);vertical-align:super;margin-left:3px;font-size:.6rem}.desk-help{margin:var(--space-2) 0 0;color:var(--fg-3);font-size:var(--text-xs)}.desk-help-touch{display:none}@media (hover:none){.desk-help-kb{display:none}.desk-help-touch{display:inline}}.desk-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.desk-list>li{border:1px solid var(--line);border-left:3px solid var(--sev);background:var(--bg);transition:border-color var(--dur-fast), background-color var(--dur-fast);border-radius:4px;grid-template-columns:minmax(0,1fr) auto;display:grid}.desk-list>li[data-active]{border-color:var(--accent);border-left-color:var(--sev);background:var(--accent-soft)}.desk-list>li[data-status=resolved] .desk-find{opacity:.6}.desk-list>li[data-status=resolved] .desk-find q{text-decoration:line-through;-webkit-text-decoration-color:var(--fg-3);text-decoration-color:var(--fg-3)}.desk-empty{padding:var(--space-3);border:1px dashed var(--line-strong);color:var(--fg-3);font-size:var(--text-xs);border-radius:4px}.desk-find{min-width:0;padding:var(--space-2) var(--space-3);color:inherit;text-align:left;background:0 0;border:0;gap:2px;display:grid}.desk-find q{color:var(--fg);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-family:Georgia,Iowan Old Style,serif;font-size:.82rem;line-height:1.35;display:-webkit-box;overflow:hidden}.desk-find-meta{color:var(--fg-3);letter-spacing:0;text-transform:none;font-size:.6rem}.desk-find-meta b{color:var(--sev)}.desk-find-comment{color:var(--fg-2);font-size:var(--text-xs)}.desk-tick{min-height:30px;margin-right:var(--space-2);padding:0 var(--space-2);border:1px solid var(--line-strong);color:var(--fg-2);font-size:var(--text-xs);background:0 0;border-radius:4px;align-self:center}.desk-tick:hover{border-color:var(--fg);color:var(--fg)}.desk-props{gap:var(--space-2);margin:0;display:grid}.desk-props>div{gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--line);grid-template-columns:6rem minmax(0,1fr);align-items:start;display:grid}.desk-props>.desk-prop-wide{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.desk-props dt{color:var(--fg-3);font-family:var(--font-mono);font-size:.66rem}.desk-props dt label{cursor:pointer}.desk-props dd{overflow-wrap:anywhere;min-width:0;margin:0}.desk-props q{font-family:Georgia,Iowan Old Style,serif;font-size:.86rem;line-height:1.4}.desk-prop-sub{color:var(--fg-3);letter-spacing:0;text-transform:none;margin-top:2px;font-size:.64rem;display:block}.desk-props .seg-legend{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.desk-links{gap:var(--space-2);flex-wrap:wrap;display:flex}.desk-link{min-height:28px;padding:0 var(--space-2);border:1px solid var(--line-strong);color:var(--fg);font-family:var(--font-mono);background:0 0;border-radius:3px;font-size:.66rem}.desk-link:hover{border-color:var(--accent)}.desk-status{justify-content:space-between;gap:var(--space-1) var(--space-4);padding:var(--space-2) var(--space-3);border-top:1px solid var(--line);background:var(--surface);color:var(--fg-3);letter-spacing:0;text-transform:none;flex-wrap:wrap;margin:0;font-size:.64rem;display:flex}@container desk (width<=599px){.desk-tabs{border-bottom:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(3,1fr);display:grid}.desk-tabs button{min-height:44px;color:var(--fg-3);letter-spacing:var(--tracking-meta);text-transform:uppercase;background:0 0;border:0;border-bottom:2px solid #0000;font-size:.66rem}.desk-tabs button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--fg)}.desk-panes{grid-template-columns:minmax(0,1fr);min-height:19rem}.desk-pane+.desk-pane{border-left:0}.desk[data-tab=doc] .desk-pane:not(.desk-pane-doc),.desk[data-tab=findings] .desk-pane:not(.desk-pane-findings),.desk[data-tab=inspector] .desk-pane:not(.desk-pane-inspector),.desk-pane-head{display:none}.desk-pane-doc .desk-pane-head{display:flex}.desk-toolbar{gap:var(--space-3)}.desk-toolbar>.desk-btn{flex:100%}.desk-text{padding:var(--space-3);line-height:2.6}}@media (max-width:768px),(pointer:coarse){.desk-btn,.desk-input,.desk-tick,.desk-link,.desk-docname,.desk-find{min-height:44px}}.mlab{gap:var(--space-4);min-width:0;display:grid;container:mlab/inline-size}.mlab-stage{gap:var(--space-2);min-width:0;display:grid}.mlab-canvas{align-content:start;justify-items:center;gap:var(--space-2);min-height:17rem;padding:var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:conic-gradient(var(--line) 25%, transparent 0 50%, var(--line) 0 75%, transparent 0) 0 0 / 16px 16px, var(--bg);display:grid;overflow:hidden}.mlab-canvas .demo-frame{justify-self:center}.mlab-ruler{width:min(var(--frame-w,100%), 100%);border-inline:1px solid var(--fg-3);background:repeating-linear-gradient(90deg, var(--fg-3) 0 1px, transparent 1px 10px) bottom / 100% 5px no-repeat;height:20px;color:var(--fg-2);letter-spacing:0;place-items:center;font-size:.62rem;display:grid}.mlab-ruler span{padding:0 var(--space-2);background:var(--bg);line-height:1.2}.mlab-readout{color:var(--fg-3);letter-spacing:0;text-transform:none;margin:0;font-size:.64rem}.mlab-panel{gap:var(--space-3);display:grid}.mlab-group{gap:var(--space-3);min-width:0;padding:var(--space-3) var(--space-4) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);margin:0;display:grid}.mlab-group legend{padding:0 var(--space-2);color:var(--accent);font-size:.65rem}.mlab-slider{gap:2px var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.mlab-slider label{color:var(--fg-2);font-size:.66rem}.mlab-slider output{color:var(--fg);letter-spacing:0;font-size:.7rem}.mlab-slider input[type=range]{width:100%;height:28px;accent-color:var(--accent);grid-column:1/-1;margin:0}.mlab-presets{gap:var(--space-2);flex-wrap:wrap;display:flex}.mlab-chip{border:1px solid var(--line-strong);min-height:32px;color:var(--fg-2);letter-spacing:0;text-transform:none;background:0 0;border-radius:999px;padding:0 .7rem;font-size:.62rem}.mlab-chip:hover{border-color:var(--fg)}.mlab-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--fg)}.mlab-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.mlab-worse-btn{color:var(--fg-3);border-style:dashed;margin-left:auto}.mlab-worse-btn:hover{color:var(--apps-bad);border-color:var(--apps-bad)}.mlab-worse{gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--apps-bad);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--apps-bad) 8%, var(--bg));display:grid}.mlab-worse ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.mlab-worse li{color:var(--fg);letter-spacing:0;text-transform:none;font-size:.7rem}.mlab-undo{border-color:var(--apps-bad);color:var(--apps-bad);justify-self:start}.mlab-vars summary{min-height:32px;color:var(--fg-3);cursor:pointer;align-items:center;gap:.5em;font-size:.66rem;list-style:none;display:inline-flex}.mlab-vars summary::-webkit-details-marker{display:none}.mlab-vars summary:before{content:"+";place-items:center;width:1.2em;display:inline-grid}.mlab-vars[open] summary:before{content:"-"}.mlab-vars pre{max-width:100%;margin:var(--space-2) 0 0;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg-2);font-family:var(--font-mono);font-size:.68rem;line-height:1.6;overflow-x:auto}@container mlab (width>=560px){.mlab-panel{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"a b""a c";align-items:start}.mlab-group:first-child{grid-area:a}.mlab-group:nth-child(2){grid-area:b}.mlab-group:nth-child(3){grid-area:c}}@media (max-width:768px),(pointer:coarse){.mlab-slider input[type=range]{height:44px}.mlab-chip{min-height:44px}}.lab-page-aside{color:var(--fg-3);font-size:var(--text-sm)}.cube-lab{--cube-body:#1b1d1a;--cube-sky:#fff;--cube-ground:#8d9288;--cube-fill:1.75;--cube-key:1.7}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .cube-lab{--cube-body:#282c26;--cube-sky:#c9d3c6;--cube-ground:#343a30;--cube-fill:1.45;--cube-key:2.1}}:root[data-theme=dark] .cube-lab{--cube-body:#282c26;--cube-sky:#c9d3c6;--cube-ground:#343a30;--cube-fill:1.45;--cube-key:2.1}.cube-lab{gap:var(--space-5);grid-template-columns:minmax(0,1fr);display:grid}.cube-lab>*{min-width:0}@media (min-width:1000px){.cube-lab{align-items:start;column-gap:var(--space-6);grid-template:"scramble stage""timer stage""stats stage""history stage"1fr/minmax(0,.85fr) minmax(0,1.15fr)}.cube-lab-scramble{grid-area:scramble}.cube-lab-timer{grid-area:timer}.cube-lab-stats{grid-area:stats}.cube-lab-history{grid-area:history}.cube-lab-stage{grid-area:stage}}.cube-lab-scramble{gap:var(--space-3);display:grid}.cube-lab-kicker{color:var(--accent);text-transform:none;letter-spacing:.02em}.cube-moves{font-family:var(--font-mono);font-size:var(--text-base);flex-wrap:wrap;gap:.3rem .35rem;margin:0;padding:0;list-style:none;display:flex}.cube-moves li{min-width:2.6ch;color:var(--fg-3);text-align:center;transition:color var(--dur-fast), background-color var(--dur-fast);border-radius:5px;padding:.15rem .35rem}.cube-moves li[data-state=done]{color:var(--fg)}.cube-moves li[data-state=next]{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}@media (min-width:640px){.cube-moves{font-size:var(--text-lg)}}.cube-controls{gap:var(--space-2);flex-wrap:wrap;display:flex}.cube-controls .button{padding-inline:var(--space-4)}.cube-controls .button:disabled{opacity:.45;cursor:not-allowed}.cube-timer{gap:var(--space-3);display:grid}.timer-pad{min-height:clamp(200px,28svh,280px);padding:var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--bg-raised);color:var(--fg);text-align:center;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);grid-template-rows:auto 1fr auto;place-items:center;display:grid}.timer-pad:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-gap)}.timer-pad[data-phase=inspecting]{border-style:dashed;border-color:var(--fg-3)}.timer-pad[data-phase=holding]{border-color:var(--fg-3);background:var(--surface)}.timer-pad[data-phase=ready]{border-color:var(--accent);background:var(--accent-soft)}.timer-pad[data-phase=running]{border-color:var(--fg)}.timer-status{color:var(--fg-3);text-transform:none;letter-spacing:.02em}.timer-pad[data-phase=ready] .timer-status{color:var(--accent)}.timer-readout{place-items:center;width:100%;display:grid}.timer-digits{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:var(--fg);transition:color var(--dur-base) var(--ease-out);font-size:clamp(3rem,1rem + 11vw,7.5rem);font-weight:500;line-height:1}.timer-digits small{letter-spacing:0;color:var(--fg-3);vertical-align:.6em;margin-left:.4em;font-size:.28em}.timer-pad[data-phase=holding] .timer-digits{color:var(--fg-3)}.timer-pad[data-phase=ready] .timer-digits{color:var(--accent)}.timer-hint{color:var(--fg-3);font-size:var(--text-sm)}.when-touch{display:none}@media (hover:none) and (pointer:coarse){.when-keys{display:none}.when-touch{display:inline}}.timer-inspect{column-gap:var(--space-3);min-height:44px;padding-block:var(--space-2);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:start;row-gap:2px;display:grid}.timer-inspect input{width:20px;height:20px;accent-color:var(--accent);grid-row:1/span 2;margin:2px 0 0}.timer-inspect-name{font-size:var(--text-sm);font-weight:550}.timer-inspect small{color:var(--fg-3);font-size:var(--text-xs);grid-column:2;line-height:1.5}.session-stats{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}@media (min-width:560px) and (max-width:999px){.session-stats{grid-template-columns:repeat(6,minmax(0,1fr))}}.session-stats>div{padding:var(--space-3);background:var(--bg-raised)}.session-stats dt{color:var(--fg-3);text-transform:none;letter-spacing:.02em}.session-stats dd{margin:var(--space-1) 0 0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;overflow-wrap:anywhere;font-size:clamp(1.05rem,.85rem + 1vw,1.45rem)}.session-history{gap:var(--space-3);display:grid}.session-head{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-4);flex-wrap:wrap;display:flex}.session-head h3{color:var(--accent);text-transform:none;letter-spacing:.02em;margin:0}.session-where{color:var(--fg-3);font-size:var(--text-xs);margin:0}.session-empty{padding:var(--space-4);border:1px dashed var(--line-strong);border-radius:var(--radius-md);color:var(--fg-3);font-size:var(--text-sm);margin:0}.session-list{border:1px solid var(--line);border-radius:var(--radius-md);max-height:24rem;margin:0;padding:0;list-style:none;overflow-y:auto}.session-row{gap:var(--space-1) var(--space-3);padding:var(--space-3);border-top:1px solid var(--line);grid-template-columns:3ch minmax(0,1fr);grid-template-areas:"num time"".scramble"".actions";align-items:center;display:grid}.session-row:first-child{border-top:0}.session-num{color:var(--fg-3);text-transform:none;grid-area:num}.session-time{font-family:var(--font-mono);font-size:var(--text-lg);font-variant-numeric:tabular-nums;grid-area:time}.session-time small{color:var(--fg-3);font-size:var(--text-xs);margin-left:.6em}.session-row[data-penalty=DNF] .session-time{color:var(--fg-3)}.session-scramble{color:var(--fg-3);text-overflow:ellipsis;text-transform:none;letter-spacing:.02em;white-space:nowrap;grid-area:scramble;overflow:hidden}.session-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;grid-area:actions;display:flex}.session-pen{display:inline-flex}.session-pen button,.session-delete{min-width:44px;min-height:44px;padding:0 var(--space-3);border:1px solid var(--line-strong);color:var(--fg-2);font-family:var(--font-mono);font-size:var(--text-xs);transition:background-color var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast);background:0 0}.session-pen button+button{margin-left:-1px}.session-pen button:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.session-pen button:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.session-delete{border-radius:var(--radius-sm)}.session-pen button:hover,.session-delete:hover{border-color:var(--fg);color:var(--fg)}.session-pen button[aria-pressed=true]{border-color:var(--fg);background:var(--fg);color:var(--bg);position:relative}@media (pointer:fine){.session-pen button,.session-delete{min-width:40px;min-height:30px}}@media (min-width:720px){.session-row{grid-template-columns:3ch 8rem minmax(0,1fr) auto;grid-template-areas:"num time scramble actions"}}.session-clear{display:flex}.session-confirm{align-items:center;gap:var(--space-3);color:var(--fg-2);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.cube-lab-stage{justify-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-raised);display:grid}@media (min-width:640px){.cube-lab-stage{padding:var(--space-5)}}.cube-stage-view,.cube-stage-side,.cube-stage-bar{gap:var(--space-3);width:100%;min-width:0;display:grid}.cube-stage-view{justify-items:center}.cube-stage-side{align-content:start;justify-items:center}.cube-stage-bar{padding-top:var(--space-3);border-top:1px dashed var(--line);justify-items:center}@media (min-width:640px){.cube-lab-stage{align-items:center;column-gap:var(--space-5);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-areas:"view side""bar bar"}.cube-stage-view{grid-area:view}.cube-stage-side{grid-area:side}.cube-stage-bar{grid-area:bar}}.cube-lab-stage .cube-net{width:min(100%,230px)}.cube-lab-status{color:var(--fg-3);text-align:center;text-transform:none;letter-spacing:.02em}.cube-controls-compact{justify-content:center;gap:var(--space-2)}.cube-controls-compact .button{min-height:38px;padding-inline:var(--space-3);font-size:.8rem}@media (pointer:coarse){.cube-controls-compact .button{min-height:44px}}.cube-lab-foot{grid-column:1/-1}.cube-lab-note{max-width:70ch;color:var(--fg-3);font-size:var(--text-sm)}.cube-speed{justify-content:center;align-items:center;gap:var(--space-1) var(--space-3);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.cube-speed legend{float:left;margin-right:var(--space-3);color:var(--fg-3);text-transform:none;letter-spacing:.02em}.cube-speed label{align-items:center;gap:var(--space-2);min-height:38px;color:var(--fg-2);font-size:var(--text-sm);cursor:pointer;display:inline-flex}@media (pointer:coarse){.cube-speed label{min-height:44px}}.cube-speed input{width:18px;height:18px;accent-color:var(--accent)}.cube3d-wrap{justify-items:center;gap:var(--space-3);width:100%;display:grid}.cube3d{aspect-ratio:1;border-radius:var(--radius-md);background:radial-gradient(closest-side, var(--surface), transparent 94%);-webkit-user-select:none;user-select:none;width:min(100%,300px)}@media (min-width:640px){.cube3d{width:min(100%,340px)}}.cube3d-gl{position:relative}.cube3d-gl[data-mode=loading]{opacity:.6}.cube3d-canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.cube3d-canvas:active{cursor:grabbing}@media (pointer:coarse){.cube3d-canvas,.css-cube{touch-action:pan-y}}.cube3d-turn{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.cube3d-turn button{min-width:44px;min-height:44px;padding:0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--fg-2);font-size:var(--text-sm);transition:border-color var(--dur-fast), color var(--dur-fast), transform var(--dur-base) var(--spring-out)}.cube3d-turn button:hover{border-color:var(--fg);color:var(--fg)}.cube3d-turn button:active{transform:translateY(var(--press-y));transition-duration:var(--dur-press)}.cube3d-turn .cube3d-reset{font-family:var(--font-mono);font-size:var(--text-xs)}.css-cube{perspective:900px;cursor:grab;touch-action:none;place-items:center;display:grid}.css-cube:active{cursor:grabbing}.cube3d-view{width:0;height:0;transform-style:preserve-3d;transition:transform .12s linear;position:relative}.cube3d-core{width:136px;height:136px;transform-style:preserve-3d;position:absolute;top:-68px;left:-68px}.cube3d-core:before,.cube3d-core:after{content:"";background:#111311;position:absolute;inset:0}.cube3d-core:before{transform:rotateY(90deg)}.cube3d-core:after{transform:rotateX(90deg)}.cube3d-sticker{background:var(--sticker);-webkit-backface-visibility:hidden;backface-visibility:hidden;width:44px;height:44px;transition-property:transform;transition-timing-function:var(--ease-in-out);border:3px solid #111311;border-radius:7px;position:absolute;top:-22px;left:-22px}@media (max-width:420px){.css-cube .cube3d-view{transform-origin:0 0;scale:.82}}.cube-pad{gap:var(--space-2);display:grid}.cube-pad-title{color:var(--fg-3);text-align:center;text-transform:none;letter-spacing:.02em}.cube-pad{width:100%}.cube-pad-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.cube-pad-key{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);min-height:36px;color:var(--fg);font-size:var(--text-sm);text-transform:none;letter-spacing:0;transition:border-color var(--dur-fast), transform var(--dur-base) var(--spring-out)}.cube-pad-key:hover:not(:disabled){border-color:var(--fg)}.cube-pad-key:active:not(:disabled){transform:translateY(var(--press-y));transition-duration:var(--dur-press)}.cube-pad-key:disabled{opacity:.45;cursor:not-allowed}@media (pointer:coarse){.cube-pad-key{min-height:44px}}.cube-pad-log{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);color:var(--fg-3);flex-wrap:wrap;display:flex}.cube-pad-log .mono{text-transform:none;letter-spacing:.02em;word-spacing:.2em}.cube-pad-clear{min-height:44px;padding:0 var(--space-2);color:var(--fg-2);font-size:var(--text-sm);text-underline-offset:3px;text-decoration:underline}.cube-pad-clear:hover{color:var(--fg)}.cube-quiet{min-height:1.5em;color:var(--accent);font-size:var(--text-sm);text-align:center;margin:0}@media (prefers-reduced-motion:reduce){.timer-pad,.timer-digits,.cube-moves li,.cube3d-turn button,.cube-pad-key,.session-pen button,.session-delete{transition:none}.cube3d-view,.cube3d-sticker{transition:none!important}}.rv{gap:var(--space-3);min-width:0;display:grid}.rv-head{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.rv-tag{color:var(--fg-3);text-transform:none;letter-spacing:.02em}.rv-chip{border:1px solid var(--line);color:var(--fg-2);text-transform:none;letter-spacing:.02em;transition:border-color var(--dur-base), color var(--dur-base), background-color var(--dur-base);border-radius:999px;padding:.15rem .6rem}.rv-chip[data-state=delivered]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.rv-note{max-width:62ch;color:var(--fg-3);font-size:var(--text-xs);line-height:1.5}.rv-status{min-height:3em;color:var(--fg-2);font-size:var(--text-sm);line-height:1.55}:where(.rv-stage,.rv-route,.rv-envelope-stage){border-radius:var(--radius-md);contain:layout paint;width:100%;position:relative;overflow:hidden}.rv-stage{aspect-ratio:16/9;min-height:260px}.rv-route{aspect-ratio:2;min-height:220px}.rv-envelope-stage{aspect-ratio:16/9;min-height:240px}@media (max-width:640px){.rv-stage{aspect-ratio:5/7;max-height:82svh}.rv-route{aspect-ratio:4/5}.rv-envelope-stage{aspect-ratio:4/3}}.rv-host{position:absolute;inset:0}.rv-canvas{touch-action:pan-y;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.rv-poster{place-items:center;display:grid;position:absolute;inset:0}.rv-poster-svg,.rv-poster .route-svg{width:100%;height:100%}.rv-poster .route-svg[data-layout=tall],.rv-poster-tall{display:none}@media (max-width:640px){.rv-poster .route-svg[data-layout=wide],.rv-poster-wide{display:none}.rv-poster .route-svg[data-layout=tall],.rv-poster-tall{display:block}}.rv-poster-table{fill:var(--plate);stroke:var(--line-strong);stroke-width:1.5px}.rv-poster-phone rect:first-child{fill:var(--bg-raised);stroke:var(--fg-3);stroke-width:2px}.rv-poster-phone .rv-poster-screen{fill:var(--surface);stroke:none}.rv-poster-phone[data-holds] rect:first-child{stroke:var(--accent)}.rv-poster-phone[data-holds] .rv-poster-screen{fill:var(--accent-soft)}.rv-poster-phone text,.rv-poster-note{fill:var(--fg-3);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:13px}.rv-poster-range{fill:var(--accent-soft);stroke:var(--accent);stroke-opacity:.4;stroke-dasharray:3 8}.rv-poster-link{stroke:var(--fg-3);stroke-width:2px;stroke-linecap:round}.rv-poster-link[data-live]{stroke:var(--accent)}.rv-poster-env-small rect{fill:var(--accent)}.rv-poster-env-small path{fill:none;stroke:var(--accent-ink);stroke-width:1.5px}.rv-poster-env rect{fill:var(--surface);stroke:var(--fg-3);stroke-width:1.5px}.rv-poster-env rect[data-zone=sealed]{fill:var(--accent-soft);stroke:var(--accent)}.rv-poster-env text{fill:var(--fg-2);font-family:var(--font-mono);font-size:15px}.rv-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.rv-label{border:1px solid var(--line-strong);background:color-mix(in srgb, var(--bg-raised) 86%, transparent);min-width:44px;min-height:28px;color:var(--fg-2);font:inherit;white-space:nowrap;pointer-events:none;opacity:0;will-change:transform;transition:opacity var(--dur-base) var(--ease-out), border-color var(--dur-base), color var(--dur-base);border-radius:999px;justify-items:center;gap:1px;padding:.2rem .55rem;display:grid;position:absolute;top:0;left:0}.rv-label[data-placed]{opacity:1}.rv-label-name{color:inherit;text-transform:none;letter-spacing:.04em;font-size:.66rem}.rv-label-copy{color:var(--accent);text-transform:none;letter-spacing:.02em;font-size:.6rem}.rv-label[data-holds],.rv-label[data-active]{border-color:var(--accent);color:var(--fg)}.rv-label:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-gap)}.rv-hint{background:var(--accent);color:var(--accent-ink);text-transform:none;letter-spacing:.03em;white-space:nowrap;pointer-events:none;border-radius:999px;padding:.2rem .6rem;font-size:.64rem;position:absolute;top:0;left:0}@media (max-width:480px){.rv-label{padding-inline:.4rem}.rv-label-name{font-size:.6rem}.rv-label-copy{font-size:.54rem}}.rv-controls{gap:var(--space-4);display:grid}@media (min-width:720px){.rv-controls{grid-template-columns:1fr 1fr}}.rv-group{align-content:start;gap:var(--space-2);display:grid}.rv-group-title{color:var(--fg-3);text-transform:none;letter-spacing:.02em}.rv-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.rv-btn{border:1px solid var(--line);border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:var(--fg-2);font-size:var(--text-sm);transition:border-color var(--dur-fast), color var(--dur-fast), background-color var(--dur-fast), transform var(--dur-press);background:0 0;justify-content:center;align-items:center;gap:.5rem;padding:.4rem .85rem;line-height:1.2;display:inline-flex}.rv-btn:hover{border-color:var(--line-strong);color:var(--fg)}.rv-btn:active{transform:translateY(var(--press-y))}.rv-btn[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--fg)}.rv-btn[aria-disabled=true]{opacity:.45;cursor:default}.rv-btn[data-near]{border-color:var(--accent);color:var(--fg)}.rv-btn-square{width:44px;padding:0;font-size:1.1rem}.rv-btn-primary{border-color:var(--fg);background:var(--fg);color:var(--bg)}.rv-btn-primary:hover{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.rv-dpad{gap:var(--space-1)}.rv-xray{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--bg);display:grid}.rv-xray-title{color:var(--fg-3);text-transform:none;letter-spacing:.02em}.rv-xray-grid{gap:var(--space-3);display:grid}@media (min-width:720px){.rv-xray-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.rv-xray-zone{align-content:start;gap:var(--space-1);padding:var(--space-3);border:1px dashed var(--line-strong);border-radius:var(--radius-sm);display:grid}.rv-xray-zone[data-zone=sealed]{border-style:solid;border-color:var(--accent);background:var(--accent-soft)}.rv-xray-name{color:var(--fg);font-size:var(--text-sm);font-weight:600}.rv-xray-readers{color:var(--fg-3);text-transform:none;letter-spacing:.02em;font-size:.66rem}.rv-xray-zone ul{margin:var(--space-1) 0 0;color:var(--fg-2);font-size:var(--text-xs);gap:.15rem;padding:0;list-style:none;display:grid}.rv-xray-zone li .mono{color:var(--fg-3);text-transform:none;font-size:.62rem}.rv-xray-copy{color:var(--fg-2);font-size:var(--text-sm);line-height:1.5}.rv-xray-copy .mono{color:var(--fg-3);text-transform:none;letter-spacing:.02em}.rv-envelope{gap:var(--space-3);display:grid}.rv-envelope-controls{justify-content:flex-start}.case-rivet{gap:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-raised);margin-top:clamp(2rem,1.5rem + 2vw,3.5rem);padding:clamp(1rem,.5rem + 2vw,2rem);display:grid}.case-rivet-head{gap:var(--space-2);max-width:46rem;display:grid}.case-rivet-head .case-label{margin-bottom:0}.case-rivet-head h2{font-size:var(--text-xl);letter-spacing:-.02em}.case-rivet-head p:last-child{color:var(--fg-2);font-size:var(--text-sm);line-height:1.55}.cr{gap:var(--space-3);min-width:0;display:grid}.cr-track{padding:var(--space-4) 36px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);overflow:hidden}.cr-lanes{height:198px;position:relative}.cr-band{border-inline:1px dashed var(--accent);background:var(--accent-soft);pointer-events:none;transition:left 1.5s linear,width 1.5s linear;position:absolute;top:-8px;bottom:-8px}.cr-phone{border:1px solid var(--line-strong);background:var(--bg-raised);height:28px;color:var(--fg-3);white-space:nowrap;transition:left 1.5s linear, border-color var(--dur-base), color var(--dur-base), background-color var(--dur-base);border-radius:999px;align-items:center;gap:.4rem;padding:0 .6rem 0 .5rem;display:flex;position:absolute;transform:translate(-50%)}.cr-phone .mono{color:inherit;text-transform:none;letter-spacing:.03em;font-size:.64rem}.cr-phone-icon{border:1.5px solid;border-radius:2px;width:8px;height:14px;display:block}.cr-phone[data-near]{border-color:var(--accent);color:var(--fg);border-style:dashed}.cr-phone[data-holds]{border-style:solid;border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.cr-phone[data-end]:not([data-holds]){color:var(--fg)}.cr-clock{background:var(--surface);width:100%;height:6px;accent-color:var(--accent);-webkit-appearance:none;appearance:none;border:0;border-radius:3px;overflow:hidden}.cr-clock::-webkit-progress-bar{background:var(--surface)}.cr-clock::-webkit-progress-value{background:var(--accent);transition:width 1.5s linear}.cr-clock::-moz-progress-bar{background:var(--accent)}.cr-btn-state{color:var(--fg-3);text-transform:none;letter-spacing:.02em;font-size:.6rem}.cr-controls{gap:var(--space-3)}.cr-rules{color:var(--fg-3);text-transform:none;letter-spacing:.02em}@media (max-width:480px){.cr-track{padding-inline:30px}.cr-phone{padding:0 .45rem 0 .4rem}.cr-phone .mono{font-size:.58rem}}@media (prefers-reduced-motion:reduce){.rv-label,.rv-chip,.rv-btn,.cr-phone,.cr-band{transition:none}.cr-clock::-webkit-progress-value{transition:none}}.env{--z-header:var(--open);--z-outer:var(--lab);--z-sealed:var(--accent);gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 46%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 62%), var(--bg-raised);display:grid}.env-top{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.env-label{color:var(--fg-3);text-transform:none;letter-spacing:.04em;font-size:.64rem}.env-modes{border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:3px;display:inline-flex}.env-modes button{min-width:4.4rem;min-height:36px;padding:0 var(--space-3);color:var(--fg-3);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;transition:background-color var(--dur-fast), color var(--dur-fast);background:0 0;border:0;border-radius:999px;font-size:.7rem}.env-modes button[aria-checked=true]{background:var(--fg);color:var(--bg)}.env-stage{place-items:center;display:grid}.env-svg{cursor:crosshair;touch-action:manipulation;width:min(100%,560px);height:auto;overflow:visible}.env-guide{fill:none;stroke:var(--line-strong);stroke-width:1px}.env-guide-dash{stroke-dasharray:2 6}.env-arc{fill:none;stroke-width:5px;stroke-linecap:butt;opacity:.85;transition:stroke-width var(--dur-base) var(--ease-out), opacity var(--dur-base)}.env-arc[data-zone=header]{stroke:var(--z-header)}.env-arc[data-zone=outer]{stroke:var(--z-outer)}.env-arc[data-zone=sealed]{stroke:var(--z-sealed)}.env-arc[data-on]{stroke-width:11px;opacity:1}.env-tick{stroke-width:1.4px;stroke-linecap:round;transition:stroke-width var(--dur-fast)}.env-tick[data-zone=header]{stroke:var(--z-header)}.env-tick[data-zone=outer]{stroke:var(--z-outer)}.env-tick[data-zone=sealed]{stroke:var(--z-sealed)}.env-tick[data-on]{stroke-width:2.6px}.env-dot{fill:var(--fg-3);opacity:.5}.env-dot[data-done]{fill:var(--z-header);opacity:1}.env-station{fill:var(--bg-raised);stroke:var(--fg-3);stroke-width:1.4px;transform-box:fill-box;transform-origin:50%}.env-station[data-done]{stroke:var(--z-header);fill:color-mix(in srgb, var(--z-header) 25%, var(--bg-raised))}.env-packet rect{fill:var(--z-sealed);stroke:var(--bg);stroke-width:1px}.env-packet path{fill:none;stroke:var(--bg);stroke-width:1.3px;stroke-linejoin:round}.env[data-mode=relay] .env-packet rect{fill:var(--z-header)}.env-bar{fill:color-mix(in srgb, var(--z-sealed) 55%, var(--fg-3));transform-box:fill-box;transform-origin:50%}.env[data-mode=open] .env-bar{fill:var(--fg)}.env[data-mode=open] .env-bar[data-pad]{fill:var(--fg-3);opacity:.35!important}.env-hatch-line{stroke:var(--line-strong);stroke-width:1px}.env-meet-head{fill:var(--fg-3);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.env-chip{fill:var(--bg);stroke:var(--z-header);stroke-width:1px}.env-chip-empty{stroke:var(--line-strong);stroke-dasharray:3 3}.env-chip-id{fill:var(--fg-2);font-family:var(--font-mono);font-size:10px}.env-ghost{fill:var(--z-header);opacity:0}.env-check path{fill:none;stroke:var(--fg-3);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.env-check,.env-send{opacity:0}.env-send rect{fill:var(--z-sealed)}.env-send path{fill:none;stroke:var(--bg);stroke-width:1.2px}.env-focus{fill:var(--fg-2);font-family:var(--font-mono);letter-spacing:.06em;font-size:11px}.env-hop-count{fill:var(--fg-3);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.env-stats{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.env-stats div{padding:var(--space-3);background:var(--bg);gap:.2rem;display:grid}.env-stats dt{color:var(--fg-3);text-transform:none;letter-spacing:.04em;font-size:.6rem}.env-stats dd{color:var(--fg);font-family:var(--font-mono);font-size:var(--text-lg);letter-spacing:-.02em;margin:0;font-weight:600}@media (max-width:640px){.env-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.env-readout{min-height:3.4em;color:var(--fg-2);font-size:var(--text-sm);line-height:1.55}.env-note{color:var(--fg-3);text-transform:none;letter-spacing:.02em;font-size:.64rem}.rv-loop{aspect-ratio:2;border-radius:var(--radius-md);contain:layout paint;justify-self:stretch;width:100%;max-width:520px;margin-inline:auto;position:relative;overflow:hidden}.rv-loop .rv-host,.rv-loop .rv-canvas{pointer-events:none}.rv-loop-poster{place-items:center;display:grid;position:absolute;inset:0}.rv-loop-poster svg{width:100%;height:auto}.mark-rivet[data-size=lg] .rv-loop{max-width:760px}.stuff-games{grid-template-rows:none;align-items:start}@media (min-width:900px){.stuff-games{grid-template-columns:minmax(11rem,15rem) minmax(0,1fr)}}@media (min-width:720px) and (max-width:899px){.stuff-games{grid-template-columns:minmax(0,1fr)}}.game-filters{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.game-filters button{min-height:36px;padding:0 var(--space-4);border:1px solid var(--line);color:var(--fg-2);font-size:var(--text-sm);transition:border-color var(--dur-fast), color var(--dur-fast), background-color var(--dur-fast), transform var(--dur-base) var(--spring-out);background:0 0;border-radius:999px}.game-filters button:hover{border-color:var(--line-strong);color:var(--fg)}.game-filters button:active{transform:translateY(var(--press-y));transition-duration:var(--dur-press)}.game-filters button[aria-pressed=true]{border-color:var(--fg);background:var(--fg);color:var(--bg)}.game-total{color:var(--fg-3);text-transform:none;letter-spacing:.02em;margin-left:auto;font-size:.68rem}.game-list{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,9.25rem),1fr));margin:0;padding:0;list-style:none;display:grid}@media (max-width:559px){.game-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.game{--tile-bg:hsl(var(--hue) 22% 10%);--tile-ink:hsl(var(--hue) 40% 78%);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);min-width:0;transition:border-color var(--dur-fast), transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);grid-template-rows:auto 1fr;display:grid;position:relative;overflow:hidden}.game[data-tile=light]{--tile-bg:hsl(var(--hue) 18% 90%);--tile-ink:hsl(var(--hue) 40% 30%)}@media (hover:hover) and (pointer:fine){.game:hover{border-color:var(--line-strong);transform:translateY(var(--lift-y));box-shadow:var(--shadow-pop)}}.game-tile{aspect-ratio:16/9;background:radial-gradient(circle at calc(var(--mx,.5) * 100%) calc(var(--my,.3) * 100%), hsl(var(--hue) 50% 60% / .16), transparent 60%), var(--tile-bg);color:var(--tile-ink);place-items:center;padding:12% 10%;display:grid;position:relative;overflow:hidden}.game-tile .gm{fill:none;stroke:currentColor;stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round;opacity:.3;width:112%;height:112%;transform:translate(calc((var(--mx,.5) - .5) * -8px), calc((var(--my,.5) - .5) * -6px));transition:opacity var(--dur-base);position:absolute;inset:-6%}.game-tile .gm circle{fill:currentColor;stroke:none}.game-tile .gm circle[r="14"],.game-tile .gm circle[r="30"]{fill:none;stroke:currentColor}.game:hover .gm{opacity:.5}.game-logo{object-fit:contain;filter:drop-shadow(0 2px 6px #00000059);width:76%;height:68%;transition:transform var(--dur-slow) var(--ease-out);position:absolute;inset:16% 12%}.game:hover .game-logo{transform:translate(calc((var(--mx,.5) - .5) * 6px), calc((var(--my,.5) - .5) * 4px)) scale(1.03)}.game[data-tile=light] .game-logo{filter:none}.game-type{color:hsl(var(--hue) 30% 94%);text-align:center;text-wrap:balance;gap:.25em;font-weight:750;line-height:.95;display:grid;position:relative}.game-type small{color:var(--tile-ink);font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;font-size:.56rem;font-weight:500}.game-type[data-type=condensed]{letter-spacing:.04em;text-transform:uppercase;font-size:clamp(.95rem,.7rem + .7vw,1.25rem);font-stretch:75%}.game-type[data-type=rounded]{letter-spacing:-.03em;text-transform:lowercase;font-size:clamp(1.1rem,.8rem + .8vw,1.45rem)}.game-type[data-type=pixel]{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:clamp(.9rem,.7rem + .6vw,1.15rem)}.game-type[data-type=spectrum]{background:linear-gradient(90deg,#d986ea,#67e4e4,#a6e467,#efad6c,#d986ea) 0 0/200% 100%;color:#0000;letter-spacing:.02em;text-transform:uppercase;transition:background-position 1.2s var(--ease-out);-webkit-background-clip:text;background-clip:text;font-size:clamp(1rem,.75rem + .7vw,1.3rem)}.game:hover .game-type[data-type=spectrum]{background-position:100% 0}.game-rank{top:var(--space-2);left:var(--space-2);background:var(--accent);color:var(--accent-ink);border-radius:4px;padding:.1rem .4rem;font-size:.62rem;font-weight:600;position:absolute}.game-meta{align-content:start;align-items:baseline;gap:.15rem var(--space-2);padding:var(--space-2) var(--space-3) var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.game-title{color:var(--fg);font-size:var(--text-sm);overflow-wrap:break-word;line-height:1.25}.game-hours,.game-fav{color:var(--accent);font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0;font-size:.72rem}.game-bar{height:2px;margin-top:var(--space-1);background:var(--line);border-radius:2px;grid-column:1/-1;overflow:hidden}.game-bar i{width:calc(var(--share) * 100%);background:var(--accent);height:100%;display:block}.game-shelf[data-filter=most\ played] .game[data-rank] .game-hours{font-size:.95rem}@media (min-width:1040px){.game-shelf[data-filter=most\ played] .game[data-rank="1"]{grid-column:span 2}.game-shelf[data-filter=most\ played] .game[data-rank="1"] .game-tile{aspect-ratio:auto;height:100%;min-height:9rem}}@media (prefers-reduced-motion:no-preference) and (hover:hover){.gm-move{transition:transform .6s var(--spring-out);transform-box:fill-box;transform-origin:50%}.game:hover [data-motif=jump] .gm-move{transform:translateY(-14px)rotate(90deg)}.game:hover [data-motif=orbit] .gm-move{transition-duration:1.6s;transform:translate(-128px)}.game:hover [data-motif=crosshair] .gm-move{transform:scale(.72)}.game:hover [data-motif=soul] .gm-move{transform:scale(1.12)}.game:hover [data-motif=road] .gm-move,.game:hover [data-motif=snow] .gm-move{transform:translateY(6px)}.game:hover [data-motif=sand] .gm-move{transition-duration:1.2s;transform:translateY(40px)}.game:hover [data-motif=dig] .gm-move{transform:rotate(-18deg)}.game:hover [data-motif=props] .gm-move{transform:translate(6px,-10px)rotate(14deg)}.game:hover [data-motif=radio] .gm-move{transform:scale(1.1)}.game:hover [data-motif=shells] .gm-move{transform:translateY(-8px)}.game:hover [data-motif=crumple] .gm-move{transform:rotate(24deg)}.game:hover [data-motif=stars] .gm-move{transform:translateY(-6px)scale(1.06)}.game:hover [data-motif=contour] .gm-move{transform:translate(-30px,20px)}.game:hover [data-motif=shift] .gm-move{transition-duration:1s;transform:translate(40px)}}@media (max-width:480px){.game-meta{padding:var(--space-2)}.game-title{font-size:.8rem}.game-tile{padding:12% 8%}}.toasts{z-index:90;right:var(--space-4);bottom:var(--space-4);justify-items:end;gap:var(--space-2);pointer-events:none;display:grid;position:fixed}.toast{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-raised);max-width:min(22rem,100vw - 2rem);box-shadow:var(--shadow-pop);color:var(--fg-2);text-transform:none;letter-spacing:.02em;margin:0;padding:.55rem .8rem;font-size:.72rem}.toast[data-kind=achievement],.toast[data-kind=toybox]{border-color:var(--accent);color:var(--fg)}.toast[data-kind=bolt]{color:var(--accent)}.toy-layer{z-index:80;padding:var(--space-4);place-items:center;display:grid;position:fixed;inset:0}.toy-backdrop{background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:absolute;inset:0}.toy-dialog{gap:var(--space-4);width:min(44rem,100%);max-height:calc(100svh - 2rem);padding:var(--space-5);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--bg-raised);box-shadow:var(--shadow-pop);display:grid;position:relative;overflow:auto}.toy-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.toy-head h2{font-size:var(--text-xl);letter-spacing:-.02em}.toy-head p{margin-top:var(--space-1);color:var(--fg-3);text-transform:none;letter-spacing:.02em;font-size:.68rem}.toy-controls{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.toy-foot{color:var(--fg-3);text-transform:none;letter-spacing:.02em;font-size:.68rem}.toy-foot .text-link{color:inherit;font:inherit;background:0 0;border:0;padding:0}.toy-loading{color:var(--fg-3)}.reaction-pad{place-items:center;gap:var(--space-3);width:100%;min-height:14rem;padding:var(--space-5);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--bg);color:var(--fg);text-align:center;touch-action:manipulation;transition:background-color var(--dur-fast);display:grid}.reaction-signal{border:2px solid var(--line-strong);border-radius:50%;width:3.5rem;height:3.5rem;transition:background-color 60ms,border-color 60ms}.reaction-pad[data-phase=waiting] .reaction-signal{border-color:var(--fg-3)}.reaction-pad[data-phase=go]{background:var(--accent-soft)}.reaction-pad[data-phase=go] .reaction-signal{border-color:var(--accent);background:var(--accent)}.reaction-pad[data-phase=early] .reaction-signal{border-color:var(--lab)}.reaction-label{font-size:var(--text-lg)}.fidget-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));display:grid}.fidget-cell{justify-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);display:grid}.fidget-cell>.mono{color:var(--fg-3);font-size:.64rem}.fidget-wide{grid-column:span 2}.fidget-wide input{width:100%;accent-color:var(--accent)}.fidget-toggle{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;width:56px;height:32px;position:relative}.fidget-toggle span{background:var(--fg-2);width:24px;height:24px;transition:transform var(--dur-base) var(--spring-out), background-color var(--dur-fast);border-radius:50%;position:absolute;top:3px;left:3px}.fidget-toggle[aria-checked=true]{background:var(--accent-soft);border-color:var(--accent)}.fidget-toggle[aria-checked=true] span{background:var(--accent);transform:translate(24px)}.fidget-dial{border:1px solid var(--line-strong);background:radial-gradient(circle, var(--surface) 55%, var(--bg) 56%);cursor:grab;touch-action:none;border-radius:50%;width:64px;height:64px;position:relative}.fidget-dial span{transition:transform .12s var(--spring-out);position:absolute;inset:0}.fidget-dial span:after{content:"";background:var(--accent);border-radius:2px;width:4px;height:14px;position:absolute;top:6px;left:calc(50% - 2px)}.fidget-spring{border:1px solid var(--line-strong);background:var(--surface);width:64px;height:64px;color:var(--fg);font-family:var(--font-mono);transition:transform .4s var(--spring-out), border-bottom-width .4s var(--spring-out);border-bottom-width:4px;border-radius:50%;place-items:center;display:grid}.fidget-spring:active{transition-duration:var(--dur-press);border-bottom-width:1px;transform:translateY(3px)}.fidget-lever{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:repeat(3,28px);height:36px;display:grid;position:relative}.fidget-lever button{z-index:1;background:0 0;border:0}.fidget-lever i{background:var(--fg-2);width:20px;height:26px;transition:transform var(--dur-base) var(--spring-out);border-radius:4px;position:absolute;top:4px;left:4px}.fidget-lever[data-pos="1"] i{background:var(--accent);transform:translate(28px)}.fidget-lever[data-pos="2"] i{background:var(--accent);transform:translate(56px)}.physics-canvas{aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(var(--line) 1px, transparent 1px) 0 0 / 32px 32px, var(--bg);cursor:grab;touch-action:none;width:100%;display:block}.physics{gap:var(--space-3);display:grid}.grass-bars{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.grass-bars li{align-items:center;gap:var(--space-3);font-size:var(--text-sm);grid-template-columns:minmax(7rem,13rem) minmax(0,1fr) 4.5rem;display:grid}.grass-name{color:var(--fg-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.grass-bar{background:var(--line);border-radius:4px;height:8px;overflow:hidden}.grass-bar i{background:var(--accent);border-radius:4px;height:100%;display:block}.grass-hours{color:var(--accent);text-align:right;text-transform:none;font-size:.72rem}.grass-total,.grass-answer{color:var(--fg-3);text-transform:none;letter-spacing:.02em;font-size:.72rem}@media (max-width:560px){.grass-bars li{grid-template-columns:minmax(0,1fr) 4rem}.grass-bar{grid-area:2/1/auto/-1}}.pmap{gap:var(--space-3);display:grid;position:relative}.pmap-svg{width:100%;height:auto;overflow:visible}.pmap-link line{stroke:var(--line-strong);stroke-width:1px}.pmap-link text{fill:var(--fg-3);font-family:var(--font-mono);opacity:.5;font-size:10px}.pmap-link[data-lit] line{stroke:var(--accent);stroke-width:1.6px}.pmap-link[data-lit] text{fill:var(--accent);opacity:1}.pmap-dot{fill:var(--bg-raised);stroke:var(--fg-3);stroke-width:1.4px;transition:r var(--dur-base) var(--spring-out)}.pmap-dot[data-lit]{stroke:var(--accent);fill:var(--accent-soft)}.pmap-nodes{aspect-ratio:620/400;pointer-events:none;margin:0;padding:0;list-style:none;position:absolute;inset:0 0 auto}.pmap-nodes li{position:absolute;transform:translate(-50%,12px)}.pmap-node{background:var(--bg-raised);color:var(--fg-2);white-space:nowrap;text-transform:none;pointer-events:auto;border-radius:4px;padding:.15rem .4rem;font-size:.66rem;display:inline-block}.pmap-node[data-lit],.pmap-node:hover{color:var(--accent)}.dev-panel{z-index:85;right:var(--space-4);bottom:var(--space-4);gap:var(--space-3);width:min(18rem,100vw - 2rem);padding:var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--bg-raised);box-shadow:var(--shadow-pop);text-transform:none;font-size:.68rem;display:grid;position:fixed}.dev-panel header{color:var(--accent);justify-content:space-between;display:flex}.dev-panel header button{width:28px;height:28px;color:var(--fg-2);background:0 0;border:0}.dev-panel dl{gap:.2rem;margin:0;display:grid}.dev-panel dl div{justify-content:space-between;gap:var(--space-3);display:flex}.dev-panel dt{color:var(--fg-3)}.dev-panel dd{color:var(--fg);margin:0}.toybox{gap:var(--space-2);display:inline-flex;position:relative}.toybox-count,.toybox-toggle,.do-not-click{min-height:32px;padding:0 var(--space-3);border:1px solid var(--line);color:var(--fg-3);background:0 0;border-radius:999px;font-size:.66rem}.toybox-toggle{border-color:var(--accent);color:var(--accent)}.toybox-panel{z-index:20;bottom:calc(100% + var(--space-2));gap:var(--space-3);width:min(22rem,100vw - 2rem);padding:var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--bg-raised);box-shadow:var(--shadow-pop);text-transform:none;margin:0;list-style:none;display:grid;position:absolute;left:0}.toybox-list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.toybox-list button{width:100%;padding:var(--space-2);border-radius:var(--radius-sm);color:var(--fg);text-align:left;font-family:var(--font-sans);background:0 0;border:0;display:grid}.toybox-list button:hover{background:var(--accent-soft)}.toybox-list span,.toybox-achievements span{color:var(--fg-3);font-size:.75rem}.toybox-achievements{font-family:var(--font-sans);font-size:var(--text-sm)}.toybox-achievements li{display:grid}.toybox-foot{color:var(--fg-3);letter-spacing:.02em;font-size:.64rem}.toybox-foot .text-link{color:inherit;font:inherit;background:0 0;border:0;padding:0}.do-not-click{transition:transform .35s var(--spring-out), color var(--dur-fast), border-color var(--dur-fast)}.do-not-click:hover{color:var(--fg)}.do-not-click[data-won]{border-color:var(--accent);color:var(--accent)}.bolt{width:22px;height:22px;margin:-4px 0 -4px var(--space-2);color:var(--fg-3);vertical-align:middle;opacity:.55;transition:opacity var(--dur-fast), transform .5s var(--spring-out), color var(--dur-fast);background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.bolt svg{fill:none;stroke:currentColor;stroke-width:1.3px;width:14px;height:14px}:is(.bolt:hover,.bolt:focus-visible){color:var(--accent);opacity:1;transform:rotate(60deg)}.bolt-rail{right:var(--gutter);position:absolute;bottom:clamp(1rem,2.5svh,2rem)}.hero-rail-row{position:relative}@media (pointer:coarse){.bolt{width:32px;height:32px}}.mc-inv-wrap{display:inline}.mc-chest{width:24px;height:22px;margin-left:var(--space-1);vertical-align:middle;opacity:.6;background:0 0;border:0;place-items:center;padding:3px;display:inline-grid}.mc-chest:hover,.mc-chest[aria-expanded=true]{opacity:1}.mc-chest svg,.mc-slot svg{width:100%;height:100%;image-rendering:pixelated}.mc-inv{gap:var(--space-3);margin:var(--space-3) 0;padding:var(--space-3);color:#303030;text-transform:none;letter-spacing:0;background:#c6c6c6;border:2px solid #2a2a2a;border-radius:2px;display:grid;box-shadow:inset 2px 2px #fff,inset -2px -2px #555}.mc-craft{align-items:center;gap:var(--space-3);display:flex}.mc-grid,.mc-items{grid-template-columns:repeat(3,40px);gap:3px;display:grid}.mc-items{grid-template-columns:repeat(9,minmax(0,40px))}.mc-slot{aspect-ratio:1;background:#8b8b8b;border:0;place-items:center;width:100%;min-width:30px;padding:5px;display:grid;box-shadow:inset 2px 2px #373737,inset -2px -2px #fff}.mc-slot[aria-pressed=true]{background:#a9d6a0}.mc-empty{width:40px}.mc-arrow{color:#555;font-size:1.4rem}.mc-result{min-width:64px;min-height:40px;padding:0 var(--space-2);color:#1c5e33;background:#8b8b8b;place-items:center;font-weight:700;display:grid;box-shadow:inset 2px 2px #373737,inset -2px -2px #fff}.mc-hint{color:#404040;font-size:.66rem}.px-g{fill:#5d9c3a}.px-G{fill:#7cbf4e}.px-d{fill:#866043}.px-D{fill:#6b4a31}.px-s{fill:#e8e8e8}.px-w{fill:#f1e9d8}.px-b{fill:#6b4a31}.px-p{fill:#e9e2cf}.px-k{fill:#3a3a3a}.px-i{fill:#9fa4aa}.px-r{fill:#c8372d}.px-y{fill:#e8c53a}.px-o{fill:#e67a2b}.px-a{fill:#2e8b57}.mc-items .px-b{fill:#3d6fb8}@media (max-width:520px){.mc-items{grid-template-columns:repeat(5,40px)}}.palette-output{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);color:var(--accent);text-transform:none;letter-spacing:.02em;gap:.2rem;font-size:.75rem;display:grid}.palette-output .button{margin-top:var(--space-2);justify-self:start}.not-found-actions{align-items:center;gap:var(--space-4);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.not-found-actions .mono{color:var(--fg-3);text-transform:none;font-size:.7rem}.not-found-game{gap:var(--space-3);max-width:40rem;margin-top:var(--space-8);display:grid}.not-found-game h2{color:var(--fg-3);font-size:.7rem}.packet-board{aspect-ratio:2;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-raised);position:relative}.packet-board svg{width:100%;height:100%;position:absolute;inset:0}.packet-board line{stroke:var(--line-strong);stroke-width:1.5px}.packet-board line[data-down]{stroke-dasharray:3 6;opacity:.6}.packet-board line[data-path]{stroke:var(--accent);stroke-width:2.5px}.packet-node{min-width:44px;height:44px;padding:0 var(--space-2);border:1px solid var(--line-strong);background:var(--bg);color:var(--fg-2);transition:border-color var(--dur-fast), background-color var(--dur-fast);border-radius:999px;place-items:center;font-size:.66rem;display:grid;position:absolute;transform:translate(-50%,-50%)}.packet-node:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.packet-node:disabled{opacity:.5;cursor:default}.packet-node[data-here]{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);opacity:1}.packet-node[data-home]{opacity:1;border-style:dashed}.packet-status{color:var(--fg-3);text-transform:none;font-size:.72rem}.packet-status .text-link{color:inherit;font:inherit;background:0 0;border:0;padding:0}.bug{z-index:70;width:40px;height:40px;color:var(--fg-2);background:0 0;border:0;place-items:center;padding:8px;display:grid;position:fixed;left:-40px}.bug svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;width:100%;height:100%}.bug:hover{color:var(--accent)}@media (prefers-reduced-motion:no-preference){.bug:not([data-still]){animation:14s linear forwards bug-walk}.bug:not([data-still]) svg{animation:.3s steps(2,jump-none) infinite bug-legs}}.bug[data-still]{left:auto;right:var(--space-4)}@keyframes bug-walk{0%{transform:translate(0)rotate(90deg)}45%{transform:translate(48vw)translateY(-3vh)rotate(80deg)}55%{transform:translate(55vw)translateY(-3vh)rotate(100deg)}to{transform:translate(calc(100vw + 80px))rotate(90deg)}}@keyframes bug-legs{50%{transform:scaleX(-1)}}@media (prefers-reduced-motion:no-preference){.gravity-off :is(.eng,.pulse-dot,.tech-icon,.game-tile .gm,.ms,.rail-tick,.section-label b,.brand-mark,.bolt,.game-rank){animation:float 4.2s var(--ease-in-out) infinite alternate}.gravity-off :is(.tech-icon,.ms,.rail-tick):nth-of-type(2n){animation-duration:5.1s;animation-delay:-1.3s}.gravity-off :is(.tech-icon,.ms):nth-of-type(3n){animation-duration:3.7s;animation-delay:-2.2s}}@media (prefers-reduced-motion:reduce){.gravity-off :is(.eng,.tech-icon,.section-label b,.brand-mark){translate:0 -6px;rotate:-2deg}}@keyframes float{0%{translate:0;rotate:0deg}to{translate:0 -14px;rotate:4deg}}@media (prefers-reduced-motion:no-preference){.chaos :is(h1,h2){animation:chaos-tilt .9s var(--ease-in-out) infinite alternate}.chaos :is(.work-link,.game,.stuff-card,.skill-card){animation:chaos-wobble .7s var(--ease-in-out) infinite alternate}.chaos :is(.eng-part,.tech-icon){animation:.4s steps(3,jump-none) infinite chaos-jitter}}@keyframes chaos-tilt{0%{rotate:-1.5deg}to{rotate:1.5deg}}@keyframes chaos-wobble{0%{translate:0 -2px;rotate:-.8deg}to{translate:0 2px;rotate:.8deg}}@keyframes chaos-jitter{33%{translate:2px -1px}66%{translate:-2px 1px}}.chaos-still body:after{content:"chaos mode (the calm edition)";z-index:95;padding:var(--space-3) var(--space-5);border:3px double var(--accent);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-lg);text-transform:uppercase;pointer-events:none;position:fixed;top:40%;left:50%;transform:translate(-50%,-50%)rotate(-8deg)}@media (prefers-reduced-motion:no-preference){.tech-icon.logo-react{animation:logo-hop .6s var(--spring-out);transform-origin:50%;transform-box:fill-box}.tech-icon.logo-react[data-icon=react]{animation:logo-spin .9s var(--ease-out)}.tech-icon.logo-react[data-icon=python]{animation:logo-wiggle .6s var(--ease-in-out)}.tech-icon.logo-react[data-icon=html5],.tech-icon.logo-react[data-icon=css]{animation:logo-morph .7s var(--spring-out)}.tech-icon.logo-react[data-icon=git]{animation:logo-branch .7s var(--spring-out)}.tech-icon.logo-react[data-icon=bluetooth]{animation:logo-radio .9s var(--ease-out)}}@keyframes logo-hop{40%{translate:0 -8px}}@keyframes logo-spin{to{rotate:360deg}}@keyframes logo-wiggle{20%{rotate:-10deg}40%{rotate:8deg}60%{rotate:-5deg}80%{rotate:3deg}}@keyframes logo-morph{35%{scale:1.15 .85}65%{scale:.92 1.08}}@keyframes logo-branch{30%{rotate:45deg}60%{rotate:-10deg}}@keyframes logo-radio{0%{filter:drop-shadow(0 0 0 var(--accent))}50%{filter:drop-shadow(0 0 6px var(--accent))}to{filter:drop-shadow(0 0 #0000)}}
