:root{--bg:#f8f9fb;--paper:#fff;--paper-2:#f1f3f6;--line:#e2e5eb;--line-2:#cdd2db;--line-strong:#858d9b;--ink:#0e1116;--ink-2:#434a57;--muted:#5f6776;--accent:#3a55d9;--accent-soft:#eceffd;--accent-line:#b9c4f5;--on-accent:#fff;--good:#13774a;--good-soft:#e7f4ec;--warn:#8f5600;--warn-soft:#fbf1df;--bad:#c42530;--bad-soft:#fbe9ea;--shadow-pop:0 1px 2px #0e11160f, 0 16px 40px -16px #0e111638;--dot:#e2e5eb;--f-display:"Geist","IBM Plex Sans Arabic",system-ui,-apple-system,"Segoe UI",sans-serif;--f-body:"Geist","IBM Plex Sans Arabic",system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:"Geist Mono",ui-monospace,"Cascadia Code",Consolas,monospace;--t-hero:clamp(2.5rem, 1.6rem + 3.6vw, 4.5rem);--t-h1:clamp(2.125rem, 1.5rem + 2.6vw, 3.5rem);--t-h2:clamp(1.625rem, 1.3rem + 1.4vw, 2.25rem);--t-h3:1.25rem;--t-lead:clamp(1.125rem, 1rem + .5vw, 1.3125rem);--t-body:17px;--t-small:14px;--t-ui:15px;--t-label:12px;--t-code:14px;--r-lg:12px;--r-md:8px;--r-sm:6px;--r-full:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--w-page:1120px;--w-text:64ch;--gutter:clamp(16px, 4vw, 32px);--ease:cubic-bezier(.2,.8,.2,1);--d-1:.12s;--d-2:.2s;--d-3:.32s}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg:#0b0d12;--paper:#11141b;--paper-2:#171b24;--line:#252a35;--line-2:#363c4a;--line-strong:#626a7c;--ink:#e8eaf0;--ink-2:#aeb4c2;--muted:#8a91a1;--accent:#8da2ff;--accent-soft:#182040;--accent-line:#34417a;--on-accent:#0b0d12;--good:#4cc98a;--good-soft:#10261c;--warn:#e9b04a;--warn-soft:#2a2111;--bad:#ff7a7f;--bad-soft:#2d1418;--shadow-pop:0 16px 48px -16px #000000b3;--dot:#1d212b}}:root[data-theme=dark]{color-scheme:dark;--bg:#0b0d12;--paper:#11141b;--paper-2:#171b24;--line:#252a35;--line-2:#363c4a;--line-strong:#626a7c;--ink:#e8eaf0;--ink-2:#aeb4c2;--muted:#8a91a1;--accent:#8da2ff;--accent-soft:#182040;--accent-line:#34417a;--on-accent:#0b0d12;--good:#4cc98a;--good-soft:#10261c;--warn:#e9b04a;--warn-soft:#2a2111;--bad:#ff7a7f;--bad-soft:#2d1418;--shadow-pop:0 16px 48px -16px #000000b3;--dot:#1d212b}:root[data-theme=contrast]{color-scheme:dark;--bg:#000;--paper:#000;--paper-2:#121212;--line:#8c8c8c;--line-2:#8c8c8c;--line-strong:#8c8c8c;--ink:#fff;--ink-2:#f2f2f2;--muted:#d0d0d0;--accent:#b388ff;--accent-soft:#1e1433;--accent-line:#6e52a8;--on-accent:#000;--good:#00e676;--good-soft:#002b14;--warn:#ffb000;--warn-soft:#2e2200;--bad:#ff5c5c;--bad-soft:#330b0b;--shadow-pop:0 16px 48px -16px #000000b3;--dot:#1a1a1a}:root[data-theme=sand]{color-scheme:light;--bg:#f5f1e8;--paper:#fffdf8;--paper-2:#eee7da;--line:#e2dacb;--line-2:#cdc3b1;--line-strong:#857b69;--ink:#1e1a14;--ink-2:#4a4237;--muted:#665d4f;--accent:#0d6b66;--accent-soft:#e1efec;--accent-line:#a7cfc9;--on-accent:#fff;--good:#3d7317;--good-soft:#eaf2df;--warn:#8a5400;--warn-soft:#f8ebd3;--bad:#b3261e;--bad-soft:#f8e4e1;--shadow-pop:0 1px 2px #0e11160f, 0 16px 40px -16px #0e111638;--dot:#e2dacb}:root[data-theme=mist]{color-scheme:light;--bg:#f2f4f8;--paper:#fff;--paper-2:#e8ecf2;--line:#dce1ea;--line-2:#c5ccd8;--line-strong:#7d8697;--ink:#101828;--ink-2:#3d485c;--muted:#596477;--accent:#6234c9;--accent-soft:#efe9fc;--accent-line:#cbbcf2;--on-accent:#fff;--good:#13774a;--good-soft:#e5f3eb;--warn:#8a5400;--warn-soft:#f9efdb;--bad:#c42530;--bad-soft:#fbe7e8;--shadow-pop:0 1px 2px #0e11160f, 0 16px 40px -16px #0e111638;--dot:#dce1ea}:root[data-theme=mono]{color-scheme:light;--bg:#fafafa;--paper:#fff;--paper-2:#f0f0f0;--line:#e3e3e3;--line-2:#ccc;--line-strong:#8a8a8a;--ink:#0a0a0a;--ink-2:#3f3f3f;--muted:#5f5f5f;--accent:#111;--accent-soft:#ebebeb;--accent-line:#bdbdbd;--on-accent:#fff;--good:#1d7440;--good-soft:#e7f2ea;--warn:#875400;--warn-soft:#f6eddd;--bad:#b3261e;--bad-soft:#f8e5e3;--shadow-pop:0 1px 2px #0e11160f, 0 16px 40px -16px #0e111638;--dot:#e3e3e3}:root[data-theme=slate]{color-scheme:dark;--bg:#0f141a;--paper:#151c24;--paper-2:#1b2430;--line:#26313e;--line-2:#354353;--line-strong:#66788d;--ink:#e5ebf2;--ink-2:#a9b6c5;--muted:#8797a9;--accent:#5cc8e8;--accent-soft:#10303b;--accent-line:#245566;--on-accent:#0f141a;--good:#62d394;--good-soft:#11281d;--warn:#e8b454;--warn-soft:#2a2212;--bad:#ff8088;--bad-soft:#2e1619;--shadow-pop:0 16px 48px -16px #000000b3;--dot:#1e2732}:root[data-theme=plum]{color-scheme:dark;--bg:#120f19;--paper:#1a1624;--paper-2:#221d2f;--line:#2e2840;--line-2:#3e3656;--line-strong:#756b8f;--ink:#ece8f4;--ink-2:#b8afcb;--muted:#978dac;--accent:#b69cff;--accent-soft:#2a2145;--accent-line:#4c3d7a;--on-accent:#120f19;--good:#5ecd90;--good-soft:#11261d;--warn:#e9b250;--warn-soft:#2a2112;--bad:#ff7e96;--bad-soft:#2e1520;--shadow-pop:0 16px 48px -16px #000000b3;--dot:#231e30}:root[data-theme=ocean]{color-scheme:dark;--bg:#0a1220;--paper:#0f1a2b;--paper-2:#152237;--line:#1f2e46;--line-2:#2c3e5b;--line-strong:#5f7596;--ink:#e6edf7;--ink-2:#a8b6cd;--muted:#8495b1;--accent:#3fd0c8;--accent-soft:#0e3135;--accent-line:#1e5a5d;--on-accent:#0a1220;--good:#a0d96a;--good-soft:#1a2a12;--warn:#f0b650;--warn-soft:#2b2210;--bad:#ff8080;--bad-soft:#2f1519;--shadow-pop:0 16px 48px -16px #000000b3;--dot:#16233a}:root[data-theme=terminal]{color-scheme:dark;--f-display:var(--f-mono);--f-body:var(--f-mono);--bg:#050805;--paper:#0a0f0a;--paper-2:#101a10;--line:#1c331c;--line-2:#2a4a2a;--line-strong:#4f8a4f;--ink:#b6f5a8;--ink-2:#94d987;--muted:#76b86c;--accent:#5cf08a;--accent-soft:#0e2a16;--accent-line:#22553a;--on-accent:#050805;--good:#5cf08a;--good-soft:#0e2a16;--warn:#f5c26b;--warn-soft:#2a210e;--bad:#ff6b5e;--bad-soft:#2e120f;--shadow-pop:0 16px 48px -16px #000000b3;--dot:#132413}:root[data-theme=amber]{color-scheme:dark;--f-display:var(--f-mono);--f-body:var(--f-mono);--bg:#0e0a02;--paper:#141004;--paper-2:#1b1607;--line:#33270c;--line-2:#473713;--line-strong:#8a6a2c;--ink:#ffcb6b;--ink-2:#ebae4f;--muted:#c9913f;--accent:#ffb000;--accent-soft:#2b2005;--accent-line:#5a4310;--on-accent:#0e0a02;--good:#b5e06a;--good-soft:#1c2610;--warn:#ffb000;--warn-soft:#2b2005;--bad:#ff6e5e;--bad-soft:#2e130f;--shadow-pop:0 16px 48px -16px #000000b3;--dot:#1e180a}:root[data-theme=dracula]{color-scheme:dark;--f-display:var(--f-mono);--f-body:var(--f-mono);--bg:#21222c;--paper:#282a36;--paper-2:#2f3241;--line:#3b3e50;--line-2:#4d5168;--line-strong:#7d82a3;--ink:#f8f8f2;--ink-2:#d6d6e4;--muted:#a8acc8;--accent:#bd93f9;--accent-soft:#352e52;--accent-line:#5e4e8c;--on-accent:#21222c;--good:#50fa7b;--good-soft:#1f3a2a;--warn:#f1fa8c;--warn-soft:#3a3b24;--bad:#ff6e6e;--bad-soft:#3d2430;--shadow-pop:0 16px 48px -16px #000000b3;--dot:#2d2f3d}:root[data-theme=nord]{color-scheme:dark;--f-display:var(--f-mono);--f-body:var(--f-mono);--bg:#2e3440;--paper:#343b48;--paper-2:#3b4252;--line:#4c566a;--line-2:#5a657d;--line-strong:#8892a8;--ink:#eceff4;--ink-2:#d8dee9;--muted:#b4bccc;--accent:#88c0d0;--accent-soft:#384b57;--accent-line:#5b7d8c;--on-accent:#2e3440;--good:#a3be8c;--good-soft:#3a4740;--warn:#ebcb8b;--warn-soft:#4a4536;--bad:#f29ba1;--bad-soft:#3f3036;--shadow-pop:0 16px 48px -16px #000000b3;--dot:#3a414f}:root[data-theme=solarized]{color-scheme:dark;--f-display:var(--f-mono);--f-body:var(--f-mono);--bg:#002b36;--paper:#073642;--paper-2:#0b3d4a;--line:#174b58;--line-2:#245a69;--line-strong:#6a96a1;--ink:#eee8d5;--ink-2:#c9cdbf;--muted:#a3b1b1;--accent:#6bb4ec;--accent-soft:#0a3447;--accent-line:#2c6a8a;--on-accent:#002b36;--good:#a9be2f;--good-soft:#13402f;--warn:#d8a932;--warn-soft:#2e3a26;--bad:#ff8580;--bad-soft:#3a2a2e;--shadow-pop:0 16px 48px -16px #000000b3;--dot:#0a3a46}:root[data-theme=gruvbox]{color-scheme:dark;--f-display:var(--f-mono);--f-body:var(--f-mono);--bg:#282828;--paper:#2f2d2c;--paper-2:#373432;--line:#4a4542;--line-2:#5e5651;--line-strong:#928374;--ink:#ebdbb2;--ink-2:#d5c4a1;--muted:#bdae93;--accent:#93b5a8;--accent-soft:#2a3330;--accent-line:#55706a;--on-accent:#282828;--good:#b8bb26;--good-soft:#34361c;--warn:#fabd2f;--warn-soft:#3d3420;--bad:#fd8570;--bad-soft:#3d2723;--shadow-pop:0 16px 48px -16px #000000b3;--dot:#353230}@media (width<=599px){:root{--t-body:16px}}*{box-sizing:border-box}html{scrollbar-gutter:stable;font-synthesis-weight:none;scroll-padding-top:72px;overflow-x:clip}b,strong{font-weight:600}.skip{z-index:100;border-radius:var(--r-md);background:var(--ink);min-height:44px;color:var(--bg);font:500 15px/1.2 var(--f-body);transition:top var(--d-1) var(--ease);align-items:center;padding:0 16px;text-decoration:none;display:inline-flex;position:absolute;top:-64px;left:16px}.skip:focus{top:6px}@media (prefers-reduced-motion:reduce){.skip{transition:none}}#top:focus,#content:focus{outline:none}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:var(--t-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6;overflow-x:clip}[hidden]{display:none!important}img{max-width:100%}.page{max-width:var(--w-page);padding-inline:var(--gutter);margin-inline:auto;padding-block:24px 110px;position:relative}section{margin-top:var(--s-10)}@media (width<=599px){section{margin-top:80px}}h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;font-weight:600}h1{font-size:var(--t-h1);letter-spacing:-.03em;overflow-wrap:break-word;line-height:1.05}h2{font-size:var(--t-h2);letter-spacing:-.022em;line-height:1.1}h3{font-size:var(--t-h3);letter-spacing:-.012em;line-height:1.25}.eyebrow,.sec-n,.player-k{font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0}.eyebrow{flex-wrap:wrap;align-items:center;gap:4px 10px;margin-bottom:16px;display:flex}.eyebrow>span+span:before{content:"";border-radius:var(--r-full);vertical-align:middle;background:currentColor;width:3px;height:3px;margin-right:10px;display:inline-block}.lede{font-size:var(--t-lead);letter-spacing:-.005em;color:var(--ink-2);line-height:1.45}.sec-h{border-top:1px solid var(--line);padding-top:var(--s-5);margin-bottom:var(--s-6);gap:8px;display:grid}.sec-h h2{margin-top:4px}.sec-sub{max-width:var(--w-text);color:var(--ink-2);margin:0}.go{min-height:44px;font-weight:500;font-size:var(--t-ui);color:var(--accent);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.go:hover{text-underline-offset:4px;text-decoration-line:underline;text-decoration-thickness:2px}.go svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.tl{flex-wrap:wrap;gap:0 24px;margin:0;padding:0;list-style:none;display:flex}.tl a{min-height:44px;color:var(--ink);text-decoration-line:underline;text-decoration-color:var(--line-strong);text-underline-offset:4px;align-items:center;font-weight:500;text-decoration-thickness:1px;display:inline-flex}.tl a:hover{text-decoration-color:currentColor;text-decoration-thickness:2px}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h2[tabindex="-1"]:focus{outline:none}.btn,#say-hi .lk-linkedin{border-radius:var(--r-md);border:1px solid var(--line-2);background:var(--paper);min-height:44px;color:var(--ink);font:500 15px/1.2 var(--f-body);cursor:pointer;transition:background-color var(--d-1) var(--ease), border-color var(--d-1) var(--ease), color var(--d-1) var(--ease);justify-content:center;align-items:center;gap:8px;padding:0 16px;text-decoration:none;display:inline-flex}.btn:hover,#say-hi .lk-linkedin:hover{border-color:var(--line-strong);background:var(--paper-2);color:var(--ink)}.btn.primary,.play{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover,.play:hover{background:color-mix(in oklab, var(--accent) 88%, var(--ink));border-color:color-mix(in oklab, var(--accent) 88%, var(--ink));color:var(--on-accent)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--paper-2)}.btn.small{padding:0 14px;font-size:14px}.btn:disabled{opacity:.45;cursor:default;pointer-events:none}.icon-btn{border-radius:var(--r-md);width:44px;height:44px;color:var(--ink-2);cursor:pointer;transition:background-color var(--d-1) var(--ease), color var(--d-1) var(--ease);background:0 0;border:1px solid #0000;flex:none;place-items:center;padding:0;display:grid}.icon-btn:hover{background:var(--paper-2);color:var(--ink)}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.thm{position:relative}.thm-btn svg .fill{fill:currentColor;stroke:none}.thm-btn[aria-expanded=true]{background:var(--paper-2);color:var(--ink)}.thm-pop{z-index:60;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);width:min(100vw - 32px,360px);box-shadow:var(--shadow-pop);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.thm-pop[hidden]{display:none}.thm-g{font:500 12px/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);grid-column:1/-1;margin:8px 8px 2px}@media (width<=600px){.thm-pop{left:var(--gutter);right:var(--gutter);width:auto;position:fixed;top:60px}}.thm-o{border-radius:var(--r-sm);min-width:0;min-height:44px;color:var(--ink);font:500 var(--t-ui)/1.2 var(--f-body);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:7px 8px;display:flex}.thm-o:hover{background:var(--paper-2)}.thm-o[aria-checked=true]{border-color:var(--accent);background:var(--paper-2)}.thm-sw{background:var(--a);border-radius:5px;flex:none;width:30px;height:22px;position:relative;box-shadow:inset 0 0 0 1px #80808059}.thm-sw:before{content:"";background:linear-gradient(var(--b) 0 3px, transparent 3px 6px, var(--b) 6px);width:12px;height:9px;position:absolute;top:6px;left:6px}.thm-sw:after{content:"";background:var(--c);border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:5px}.thm-sw[data-t=auto]{--a:linear-gradient(135deg,#f8f9fb 50%,#0b0d12 50%);--b:#0e1116;--c:#3a55d9}.thm-sw[data-t=paper]{--a:#f8f9fb;--b:#0e1116;--c:#3a55d9}.thm-sw[data-t=night]{--a:#0b0d12;--b:#e8eaf0;--c:#8da2ff}.thm-sw[data-t=contrast]{--a:#000;--b:#fff;--c:#00e5ff}.thm-sw[data-t=sand]{--a:#f5f1e8;--b:#1e1a14;--c:#0d6b66}.thm-sw[data-t=mist]{--a:#f2f4f8;--b:#101828;--c:#6234c9}.thm-sw[data-t=mono]{--a:#fafafa;--b:#0a0a0a;--c:#111}.thm-sw[data-t=slate]{--a:#0f141a;--b:#e5ebf2;--c:#5cc8e8}.thm-sw[data-t=plum]{--a:#120f19;--b:#ece8f4;--c:#b69cff}.thm-sw[data-t=ocean]{--a:#0a1220;--b:#e6edf7;--c:#3fd0c8}.thm-sw[data-t=terminal]{--a:#050805;--b:#b6f5a8;--c:#5cf08a}.thm-sw[data-t=amber]{--a:#0e0a02;--b:#ffcb6b;--c:#ffb000}.thm-sw[data-t=dracula]{--a:#21222c;--b:#f8f8f2;--c:#bd93f9}.thm-sw[data-t=nord]{--a:#2e3440;--b:#eceff4;--c:#88c0d0}.thm-sw[data-t=solarized]{--a:#002b36;--b:#eee8d5;--c:#6bb4ec}.thm-sw[data-t=gruvbox]{--a:#282828;--b:#ebdbb2;--c:#93b5a8}.bar{z-index:30;transition:background-color var(--d-2) var(--ease), box-shadow var(--d-2) var(--ease);position:sticky;top:0}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}.bar{view-transition-name:site-bar}::view-transition-old(root),::view-transition-new(root){animation-duration:.2s}}.bar.scrolled{background:color-mix(in oklab, var(--bg) 86%, transparent);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}.bar-in,.menu-top{max-width:var(--w-page);height:56px;padding-inline:var(--gutter);align-items:center;gap:4px;margin-inline:auto;display:flex}.bar-me{min-height:44px;font-family:var(--f-display);letter-spacing:-.01em;color:var(--ink);flex:none;align-items:center;margin-right:auto;font-size:17px;font-weight:600;text-decoration:none;display:inline-flex}.bar-nav ul{gap:4px;margin:0 8px 0 0;padding:0;list-style:none;display:flex}.bar-nav a{border-radius:var(--r-md);min-height:44px;font:500 var(--t-ui)/1.2 var(--f-body);color:var(--ink-2);transition:color var(--d-1) var(--ease);align-items:center;padding:0 12px;text-decoration:none;display:inline-flex}.bar-nav a:hover{color:var(--ink)}.bar-nav a[aria-current=page]{color:var(--ink);text-decoration-line:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent);text-underline-offset:8px}@media (width<=859px){.bar-nav{display:none}}@media (width>=860px){.menu-btn{display:none}}.pal{z-index:70;background:color-mix(in oklab, var(--bg) 70%, transparent);backdrop-filter:blur(6px);align-content:start;justify-items:center;padding:clamp(56px,12vh,120px) 16px 16px;display:grid;position:fixed;inset:0}.pal-box{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);width:min(100%,640px);box-shadow:var(--shadow-pop);display:grid;overflow:hidden}.pal-box input{min-width:0;min-height:48px;font:400 17px/1.3 var(--f-body);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--paper);color:var(--ink);margin:12px;padding:0 14px}.pal-box input::placeholder{color:var(--muted);opacity:1}.pal-list{gap:4px;max-height:min(56vh,460px);padding:0 8px 8px;display:grid;overflow:hidden auto}.pal-g{gap:2px;display:grid}.pal-g[hidden]{display:none}.pal-g p{font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:10px 12px 4px}.pal-i{border-radius:var(--r-md);width:100%;min-width:0;min-height:44px;color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:8px 12px;font-size:15px;text-decoration:none;display:flex}.pal-i[hidden]{display:none}.pal-i b{white-space:nowrap;font-weight:500}.pal-i span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);flex:auto;font-size:14px;overflow:hidden}.pal-i:hover{background:var(--paper-2)}.pal-i.on{background:var(--accent-soft)}.pal-i.on b{color:var(--accent)}.pal-none{color:var(--muted);margin:10px 12px}.pal-hint{border-top:1px solid var(--line);font:400 12px/1.3 var(--f-mono);color:var(--muted);margin:0;padding:10px 16px}@media (hover:none){.pal-hint{display:none}}html.menu-open{overflow:hidden}.menu{z-index:60;background:color-mix(in oklab, var(--bg) 70%, transparent);opacity:0;transition:opacity var(--d-3) var(--ease);flex-direction:column;display:flex;position:fixed;inset:0}.menu.in{opacity:1}.menu-sheet{overscroll-behavior:contain;background:var(--paper);border-bottom:1px solid var(--line);max-height:100%;box-shadow:var(--shadow-pop);transition:transform var(--d-3) var(--ease);flex:none;overflow-y:auto;transform:translateY(-100%)}.menu.in .menu-sheet{transform:none}.menu-body{max-width:var(--w-page);padding:4px var(--gutter) 24px;gap:16px;margin-inline:auto;display:grid}.menu-nav ul,.menu-also ul{margin:0;padding:0;list-style:none;display:grid}.menu-nav a{min-height:48px;font-family:var(--f-display);letter-spacing:-.01em;color:var(--ink);align-items:center;font-size:20px;font-weight:500;line-height:1.2;text-decoration:none;display:flex}.menu-nav a:hover{text-underline-offset:6px;text-decoration-line:underline;text-decoration-thickness:2px}.menu-nav a[aria-current=page]{text-decoration-line:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent);text-underline-offset:6px}.menu-also{border-top:1px solid var(--line);padding-top:16px}.menu-k{font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.menu-also a{min-height:48px;color:var(--ink);align-content:center;gap:2px;padding:6px 0;text-decoration:none;display:grid}.menu-also b{font-size:16px;font-weight:500}.menu-also span{font-size:var(--t-small);color:var(--ink-2);line-height:1.45}.menu-also a:hover b{text-underline-offset:3px;text-decoration:underline}.menu-links{border-top:1px solid var(--line);padding-top:12px}@media (prefers-reduced-motion:reduce){.menu,.menu-sheet{transition:none}.menu-sheet{transform:none}}.hero{column-gap:24px;row-gap:var(--s-6);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;padding-top:clamp(32px,8vw,96px);display:grid}.hero>*{grid-column:1/-1;min-width:0}.hero h1{font-size:var(--t-hero);letter-spacing:-.035em;line-height:1.02}.hero-line{max-width:34ch;margin:20px 0 0}.cta{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}@media (width>=1024px){.hero-text{grid-column:1/span 6}.hero .tr-frame{grid-column:7/span 6}}@media (width<=599px){.hero{gap:24px 16px}.hero-line{margin-top:16px}.cta{margin-top:24px}}.tr-frame{background:var(--paper) radial-gradient(var(--dot) 1px, transparent 1px) 0 0/16px 16px;border:1px solid var(--line);border-radius:var(--r-lg);padding:8px 8px 4px;display:grid;overflow:hidden}.tr{width:100%;height:auto;display:block}@media (width<=1023px){.tr{max-height:260px}}@media (width<=599px){.tr{max-height:220px}}.tr-track{fill:none;stroke:var(--line-2);stroke-width:1.5px}.tr-dash{stroke:var(--line-strong);stroke-dasharray:4 5}.tr-edge{fill:none;stroke:var(--accent);stroke-width:1.75px;stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:0}.tr-node{fill:var(--paper);stroke:var(--line-2);stroke-width:1.5px}.tr-l{font:500 16px var(--f-mono);fill:var(--ink);text-anchor:middle;dominant-baseline:central}.tr-hub .tr-node{fill:var(--accent-soft);stroke:var(--accent)}.tr-ring{fill:none;stroke:var(--accent-line);stroke-width:1.5px}.tr-spec .tr-node{stroke:var(--accent-line)}.tr-stub .tr-node{fill:none;stroke:var(--line-strong);stroke-dasharray:4 5}.tr-stub .tr-l{fill:var(--muted)}.tr-check .tr-node{stroke:var(--accent)}.tr-done .tr-node{fill:var(--good-soft);stroke:var(--good)}.tr-done .tr-l{fill:var(--good);text-anchor:start}.tr-ck{fill:none;stroke:var(--good);stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round}@media (prefers-reduced-motion:no-preference){.tr.run .tr-edge{animation:tr-draw var(--dur) var(--ease) var(--at) both}.tr.run .tr-ring{animation:tr-on var(--dur) var(--ease) var(--at) both}.tr.run .tr-spec .tr-node{animation:tr-spec var(--dur) var(--ease) var(--at) both}.tr.run .tr-spec .tr-l{animation:tr-label var(--dur) var(--ease) var(--at) both}.tr.run .tr-check .tr-node{animation:tr-gate var(--dur) var(--ease) var(--at) both}.tr.run .tr-done .tr-node{animation:tr-done-n var(--dur) linear var(--at) both}.tr.run .tr-done .tr-l{animation:tr-done-l var(--dur) linear var(--at) both}.tr.run .tr-ck{animation:tr-on var(--dur) linear var(--at) both}}@keyframes tr-draw{0%{stroke-dashoffset:1px}}@keyframes tr-on{0%{opacity:0}}@keyframes tr-spec{0%{stroke:var(--line-2)}}@keyframes tr-label{0%{fill:var(--ink-2)}}@keyframes tr-gate{0%{stroke:var(--line-2)}}@keyframes tr-done-n{0%{fill:var(--paper);stroke:var(--line-2)}}@keyframes tr-done-l{0%{fill:var(--ink-2)}}.tr-foot{justify-content:space-between;align-items:center;gap:12px;padding-left:8px;display:flex}.tr-cap{font:400 var(--t-label)/1.45 var(--f-mono);color:var(--muted);margin:0}.focus{margin-top:var(--s-8);border-top:1px solid var(--line);padding-top:var(--s-5)}.focus-list{gap:var(--s-5);margin:0;padding:0;list-style:none;display:grid}.focus-list li{align-content:start;gap:6px;display:grid}.focus-list p{color:var(--ink-2);margin:0}.focus-list .go{justify-self:start;margin-top:2px}@media (width>=860px){.focus-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=599px){.focus{margin-top:var(--s-7)}.focus-list{gap:var(--s-4)}}.links{gap:4px;display:grid}.lk-row{flex-wrap:wrap;align-items:center;gap:4px 16px;min-width:0;display:flex}.lk{min-width:0;max-width:100%;min-height:44px;color:var(--ink-2);font:500 15px/1.3 var(--f-body);cursor:pointer;transition:color var(--d-1) var(--ease), background-color var(--d-1) var(--ease);background:0 0;border:0;align-items:center;gap:8px;padding:0;text-decoration:none;display:inline-flex}.lk:hover{color:var(--ink)}.lk svg{flex:none;width:18px;height:18px}.lk .gl{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round}.lk-email span{overflow-wrap:anywhere;min-width:0}.lk-row:has(.lk-copy){column-gap:8px}.lk-copy{border-radius:var(--r-md);flex:none;justify-content:center;width:44px;height:44px}.lk-copy:hover{background:var(--paper-2)}.lk-copy svg{width:20px;height:20px}.lk-copy.done{color:var(--accent)}.lk-copy .i-ok,.lk-copy.done .i-copy{display:none}.lk-copy.done .i-ok{display:block}.vh{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#say-hi .links{gap:12px}#say-hi .lk-email{letter-spacing:-.01em;color:var(--accent);font-size:24px;font-weight:500}#say-hi .lk-email svg{display:none}#say-hi .lk-email:hover{text-underline-offset:5px;text-decoration-line:underline;text-decoration-thickness:2px}#say-hi .lk-github{color:var(--ink-2)}#say-hi .lk-github:hover{color:var(--ink)}@media (width<=599px){#say-hi .lk-email{font-size:20px}#say-hi .lk-linkedin{flex:100%}}.player{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.stage-wrap{position:relative}.stage svg{width:100%;height:auto;display:block}.pbar{border-top:1px solid var(--line);background:var(--paper);align-items:center;gap:12px;padding:10px 14px;display:flex}.pb-btn,.arrow{border-radius:var(--r-full);cursor:pointer;width:44px;height:44px;transition:background-color var(--d-1) var(--ease), border-color var(--d-1) var(--ease), opacity var(--d-2) var(--ease);flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.pb-btn{border:1px solid var(--ink);background:var(--ink);color:var(--paper)}.pb-btn:hover{border-color:var(--ink-2);background:var(--ink-2)}.pb-btn svg{width:16px;height:16px}.pb-btn .ico{fill:currentColor}.pb-btn .i-pause{display:none}.pb-btn.playing .i-pause{display:block}.pb-btn.playing .i-play{display:none}.pb-steps{flex:auto;gap:6px;min-width:0;display:flex}.pb-seg{border-radius:var(--r-sm);cursor:pointer;background:0 0;border:0;flex:1 1 0;align-items:center;min-width:0;height:44px;padding:0;display:flex}.pb-track{background:var(--line-strong);border-radius:2px;width:100%;height:4px;display:block;overflow:hidden}.pb-fill{background:var(--accent);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.pb-seg:hover .pb-track{background:var(--ink-2)}.pb-seg:focus-visible{outline-offset:0}.pb-speed{border-radius:var(--r-md);border:1px solid var(--line-2);background:var(--paper);min-width:7.6em;min-height:44px;color:var(--ink);font:500 14px/1.2 var(--f-body);white-space:nowrap;cursor:pointer;transition:background-color var(--d-1) var(--ease), border-color var(--d-1) var(--ease);flex:none;justify-content:center;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.pb-speed:before{content:attr(data-label);color:var(--muted)}.pb-speed:hover{border-color:var(--line-strong);background:var(--paper-2)}.pb-count{text-align:right;min-width:44px;font:500 13px/1.2 var(--f-mono);color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.pb-score{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:15px;font-weight:500}.pb-score b{font-family:var(--f-display);color:var(--ink);margin-left:6px;font-size:1.3rem;font-weight:600}.pbar .grow{flex:auto}@media (width<=420px){.pbar{gap:8px;padding-inline:10px}.pb-speed{min-width:0;padding-inline:10px}}.player-h{border-bottom:1px solid var(--line);gap:4px;padding:14px 16px;display:grid}.band{z-index:2;pointer-events:none;gap:4px;max-width:78%;padding:clamp(12px,2.2vw,20px) clamp(14px,2.6vw,24px);display:grid;position:absolute;top:0;left:0}.band-step{font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums}.band-name{font-family:var(--f-display);letter-spacing:-.015em;font-size:clamp(1.125rem,2.2vw,1.5rem);font-weight:600;line-height:1.15}.band-name:empty{display:none}.band-line{color:var(--ink-2);font-size:clamp(.95rem,1.6vw,1.0625rem);line-height:1.4}.band-line.fresh{animation:fresh var(--d-2) var(--ease)}.band-see{pointer-events:auto;font-weight:500;font-size:var(--t-small);color:var(--accent);text-underline-offset:3px;justify-self:start;margin-top:4px;line-height:1.45;text-decoration-line:underline;text-decoration-thickness:1px;position:relative}.band-see:after{content:"";position:absolute;inset:-12px -4px}.band-see:hover{text-decoration-thickness:2px}@keyframes fresh{0%{opacity:.25}}@media (prefers-reduced-motion:reduce){.band-line.fresh{animation:none}}.ov{z-index:1;pointer-events:none;place-content:center;justify-items:center;gap:12px;padding-top:clamp(44px,9vw,80px);display:grid;position:absolute;inset:0}#story-ov{background:color-mix(in oklab, var(--paper) 60%, transparent)}.ov>*{pointer-events:auto}.ov.plain{padding-top:0}.play{border:1px solid var(--accent);border-radius:var(--r-md);min-height:44px;font:500 15px/1.2 var(--f-body);cursor:pointer;transition:background-color var(--d-1) var(--ease), border-color var(--d-1) var(--ease);justify-content:center;align-items:center;gap:10px;padding:0 18px 0 16px;display:inline-flex}.play svg{flex:none;width:12px;height:12px}.play .tri{fill:currentColor}.play-l{border-radius:var(--r-sm);background:var(--paper);color:var(--ink-2);font:500 14px/1.3 var(--f-body);margin:0;padding:4px 10px}.ov-t{font-family:var(--f-display);text-align:center;background:var(--paper);border-radius:var(--r-md);max-width:92%;margin:0;padding:4px 14px;font-size:clamp(1.15rem,3vw,1.7rem);font-weight:600;line-height:1.15}.ground{stroke:var(--line-2);stroke-width:1.5px;stroke-linecap:round}.c-body{stroke-width:1.75px;stroke-linejoin:round}.k-blue{fill:var(--accent-soft);stroke:var(--accent)}.k-garnet,.k-gold{fill:var(--paper-2);stroke:var(--ink-2)}.k-muted{fill:none;stroke:var(--line-strong);opacity:.55}.c-spark{stroke:none}.c-spark.k-blue{fill:var(--accent)}.c-spark.k-garnet,.c-spark.k-gold{fill:var(--ink-2)}.c-spark.k-muted{fill:var(--line-strong)}.c-ring{fill:none;stroke:var(--accent);stroke-width:1.5px}.bdg{stroke-width:1.5px}.bdg.good{fill:var(--good-soft);stroke:var(--good)}.bdg.bad{fill:var(--bad-soft);stroke:var(--bad)}.bdg.wait{fill:var(--paper);stroke:var(--line-strong)}.bdg-k{fill:none;stroke-linecap:round;stroke-linejoin:round}.bdg-k.good{stroke:var(--good)}.bdg-k.bad{stroke:var(--bad)}.bdg-d{stroke:none}.bdg-d.bad{fill:var(--bad)}.bdg-d.wait{fill:var(--muted)}.bub-bg{fill:var(--paper);stroke:var(--line-2);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.bub-t{font:500 18px var(--f-body);fill:var(--ink)}.p-line{fill:none;stroke:var(--ink-2);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.p-line.thin,.p-line.hair,.p-line.hair2{stroke-width:1.25px}.p-line.thick{stroke-width:2.5px}.p-fill{fill:var(--paper);stroke:var(--line-strong);stroke-width:1.5px;stroke-linejoin:round}.p-fill.thin{stroke-width:1.25px}.p-soft2{fill:var(--paper-2);stroke:none}.p-sad{fill:var(--bad-soft);stroke:none}.p-code{stroke:var(--accent);stroke-width:2px;stroke-linecap:round}.p-track{stroke:var(--line-2);stroke-width:2px;stroke-linecap:round}.p-ok{fill:none;stroke:var(--good);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.p-blue{fill:var(--accent)}.p-blue-st{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.5px;stroke-linejoin:round}.p-garnet-st,.p-gold-st{fill:var(--paper);stroke:var(--ink-2);stroke-width:1.5px;stroke-linejoin:round}.p-sketch{fill:none;stroke:var(--ink-2);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.p-sketch.thin{stroke-width:1.25px}.p-btn{fill:var(--line-2)}.p-btn.fixed{fill:var(--good)}.p-note{fill:var(--paper);stroke:var(--line-strong);stroke-width:1.5px}.p-note.bad{fill:var(--bad-soft);stroke:var(--bad)}.p-x{fill:none;stroke:var(--bad);stroke-width:1.75px;stroke-linecap:round}.p-scribble{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.p-text{font-family:var(--f-mono);fill:var(--ink-2);font-weight:500}.p-mark{font:600 36px var(--f-body);fill:var(--bad)}.p-lens{fill:var(--paper-2);fill-opacity:.6;stroke:var(--ink-2);stroke-width:1.5px}.p-notch{fill:var(--paper)}.p-loop{fill:none;stroke:var(--accent);stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round}.p-ring{fill:none;stroke:var(--accent);stroke-width:1.5px}.p-dot{fill:var(--accent)}.p-drop{fill:var(--paper);stroke:var(--ink-2);stroke-width:1.25px}.p-ball{fill:var(--accent)}.p-key{fill:none;stroke:var(--ink-2);stroke-width:1.5px;stroke-linecap:round}.p-key-gold{fill:none;stroke:var(--accent);stroke-width:1.75px;stroke-linecap:round}.p-doorway{fill:var(--paper-2);stroke:var(--line-strong);stroke-width:1.5px}.danger .p-doorway{fill:var(--bad-soft);stroke:var(--bad)}.p-knob{fill:var(--ink-2)}.p-lock{fill:var(--bad-soft);stroke:var(--bad);stroke-width:1.5px}.p-lock-l{fill:none;stroke:var(--bad);stroke-width:1.75px;stroke-linecap:round}.p-coin{fill:var(--paper);stroke:var(--ink-2);stroke-width:1.25px}.p-shield{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.5px;stroke-linejoin:round}.p-shield-t{font:600 16px var(--f-body);fill:var(--accent)}.p-hour{fill:var(--warn-soft);stroke:var(--warn);stroke-width:1.5px}.p-steam{fill:none;stroke:var(--muted);stroke-width:1.25px;stroke-linecap:round}.how-grid{gap:16px;display:grid}.how-main{min-width:0}.qs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.q{text-align:left;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);min-width:0;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;transition:border-color var(--d-1) var(--ease), background-color var(--d-1) var(--ease);align-content:start;gap:4px;padding:12px 14px;display:grid;position:relative}.q:hover{border-color:var(--line-2)}.q[aria-selected=true]{border-color:var(--accent-line);background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.q-t{font:500 var(--t-ui)/1.2 var(--f-body);color:var(--ink)}.q-m{font:400 var(--t-label)/1.3 var(--f-mono);color:var(--muted);font-variant-numeric:tabular-nums}.q-q{font-size:var(--t-small);color:var(--ink-2);line-height:1.45;display:none}@media (width>=1024px){.how-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;column-gap:24px}.qs{grid-column:1/span 4;grid-template-columns:minmax(0,1fr)}.how-main{grid-column:5/span 8}.q{padding:14px 16px}.q-q{margin-top:4px;display:block}#brain .pbar{align-items:flex-start}#ex-steps .pb-seg{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:8px;height:auto;min-height:44px;padding-top:20px}#ex-steps .pb-seg:after{content:attr(title);-webkit-line-clamp:2;font:400 var(--t-small)/1.35 var(--f-body);color:var(--ink-2);text-align:left;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}#ex-steps .pb-seg.on:after{color:var(--ink)}#brain .pb-count{line-height:44px}}@media (prefers-reduced-motion:reduce){.q{transition:none}}#ex-stage{touch-action:pan-y;outline:none}#ex-stage:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}#story-stage:focus{outline:none}#story-stage:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.arrow{border:1px solid var(--line-2);background:var(--paper);color:var(--ink)}.arrow:hover{border-color:var(--line-strong);background:var(--paper-2)}.arrow svg{width:20px;height:20px}.arrow path{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.arrow:disabled{opacity:.35;cursor:default;pointer-events:none}.arrow.next{flex-direction:row-reverse;gap:4px}.arrow.next.nudge{border-color:var(--accent);color:var(--accent)}.arrow.next:has(.arrow-l:not([hidden])){border-radius:var(--r-md);width:auto;padding:0 10px 0 14px}.arrow-l{font:500 14px/1.2 var(--f-body);color:var(--ink);white-space:nowrap}.arrow-l[hidden]{display:none}#stack{touch-action:manipulation;cursor:pointer;outline:none;width:100%;display:block}.stage-wrap:has(#stack:focus-visible){outline:2px solid var(--accent);outline-offset:-2px}.read{margin-top:10px}.read>summary{cursor:pointer;color:var(--ink-2);align-items:center;gap:8px;padding:8px 0;font-size:15px;font-weight:600;list-style:none;display:inline-flex}.read>summary::-webkit-details-marker{display:none}.read>summary:before{content:"";border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;transition:transform .2s;transform:rotate(-45deg)}.read[open]>summary:before{transform:rotate(45deg)}.read>summary:hover{color:var(--ink)}.read ol{max-width:68ch;color:var(--ink-2);gap:6px;margin:4px 0 8px;padding-left:22px;font-size:15.5px;line-height:1.5;display:grid}.read b{color:var(--ink)}.read-q p{margin:12px 0 4px}@media (prefers-reduced-motion:reduce){.read>summary:before{transition:none}}.w-cards{gap:var(--s-4);margin:0;padding:0;list-style:none;display:grid}@media (width>=860px){.w-cards{gap:var(--s-5);grid-template-columns:repeat(3,minmax(0,1fr))}}.w-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);height:100%;color:var(--ink);transition:border-color var(--d-1) var(--ease);align-content:start;gap:8px;padding:20px;text-decoration:none;display:grid}.w-card:hover{border-color:var(--line-2)}.w-card h3{margin-top:4px}.w-g,.w-k{font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.w-b{color:var(--ink-2);line-height:1.5}.w-c{font-size:var(--t-small);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin-top:4px;line-height:1.45;display:flex}.w-more{margin-top:var(--s-5);justify-content:space-between;align-items:flex-start;gap:var(--s-4) var(--s-6);flex-wrap:wrap;display:flex}.w-links{gap:var(--s-4) var(--s-6);margin:0;padding:0;list-style:none;display:grid}@media (width>=860px){.w-links{grid-template-columns:repeat(3,minmax(0,auto))}}@media (width<=859px){.w-more{flex-direction:column}}.w-links li{gap:2px;max-width:32ch;display:grid}.w-links a{color:var(--ink);text-decoration-line:underline;text-decoration-color:var(--line-strong);text-underline-offset:4px;justify-self:start;font-weight:500;text-decoration-thickness:1px;position:relative}.w-links a:after{content:"";position:absolute;inset:-10px -4px}.w-links a:hover{text-decoration-color:currentColor;text-decoration-thickness:2px}.w-links span{font-size:var(--t-small);color:var(--ink-2);line-height:1.45}@media (prefers-reduced-motion:reduce){.w-card{transition:none}}.hi{gap:var(--s-6);display:grid}@media (width>=860px){.hi{column-gap:var(--s-9);grid-template-columns:repeat(2,minmax(0,max-content));align-items:start}}.facts{align-content:start;gap:12px;margin:0;display:grid}.facts div{gap:2px;display:grid}.facts dt{font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.facts dd{color:var(--ink);margin:0}.langs{flex-wrap:wrap;gap:0 6px;margin:0;padding:0;list-style:none;display:flex}.langs li:not(:last-child):after{content:","}.native{font-size:var(--t-small);color:var(--muted);margin-left:6px}.sf{border-top:1px solid var(--line);background:var(--paper);color:var(--ink-2)}.sf-in,.sf-big,.sf-base{max-width:var(--w-page);padding-inline:var(--gutter);margin-inline:auto}.sf-in{padding-block:var(--s-8) var(--s-7);gap:var(--s-6) var(--s-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sf-me{grid-column:1/-1;align-content:start;gap:4px;display:grid}@media (width>=860px){.sf-in{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr))}.sf-me{grid-column:auto}}.sf-mark{width:40px;height:40px;margin-bottom:12px}.sf-mark rect{fill:var(--accent)}.sf-mark path{fill:none;stroke:var(--on-accent);stroke-width:6px;stroke-linecap:round;stroke-linejoin:round}.sf-name{font:600 var(--t-h3)/1.25 var(--f-display);letter-spacing:-.01em;color:var(--ink);margin:0}.sf-role{font-size:var(--t-ui);color:var(--ink-2);margin:0}.sf-time{font:500 var(--t-small)/1.3 var(--f-mono);color:var(--ink-2);flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:12px 0 0;display:flex}.sf-time[hidden]{display:none}.sf-k{font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0}.sf-col ul{margin:10px 0 0;padding:0;list-style:none;display:grid}.sf a{min-height:40px;color:var(--ink-2);font-size:var(--t-ui);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.sf a:hover{color:var(--ink);text-underline-offset:3px;text-decoration-line:underline}.sf a svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:14px;height:14px}.sf-word{width:100%;height:auto;display:block}.sf-word text{font:600 140px var(--f-display);letter-spacing:-.04em;fill:var(--line-2)}.sf-base>div{margin-top:var(--s-4);border-top:1px solid var(--line);font-size:var(--t-small);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 24px;display:flex}.sf-base p{margin:0;padding-block:12px}.sf-base a{font-size:var(--t-small)}.nf-hero{max-width:var(--w-text);padding-top:clamp(32px,8vw,96px)}.nf-hero .lede{margin:16px 0 0}.places{margin-top:var(--s-7)}.places-list{margin-top:4px}.nf-game{margin-top:var(--s-9)}.nf-game .player{max-width:760px}@media (width<=599px){.nf-game{margin-top:var(--s-8)}}.page-h{padding-top:clamp(32px,8vw,96px)}.page-h .lede{max-width:var(--w-text);margin:16px 0 0}.lab-toc{margin-top:var(--s-6)}.lab-toc ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}@media (width>=860px){.lab-toc ol{grid-template-columns:repeat(4,minmax(0,1fr))}}.lab-toc a{border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);height:100%;min-height:44px;color:var(--ink);font:500 var(--t-ui)/1.25 var(--f-body);transition:border-color var(--d-1) var(--ease), background-color var(--d-1) var(--ease);align-content:start;gap:4px;padding:12px 14px;text-decoration:none;display:grid}.lab-toc a:hover{border-color:var(--line-2);background:var(--paper-2)}.lab-toc b{font-weight:500}.lab-toc span{font:400 var(--t-small)/1.35 var(--f-body);color:var(--muted)}.toy-line{margin:0 0 var(--s-4);max-width:var(--w-text);color:var(--ink-2)}.demo .player{max-width:880px}.toy{display:grid}.fine{max-width:var(--w-text);font-size:var(--t-small);color:var(--muted);margin:12px 0 0;line-height:1.45}.demo .go{margin-top:4px}.lab-next{margin-top:var(--s-10);border-top:1px solid var(--line);padding-top:var(--s-5)}.lab-next .menu-k{margin-bottom:var(--s-4)}.lab-foot{margin:var(--s-6) 0 0}.go.back{color:var(--ink-2)}.go.back:hover{color:var(--ink)}@media (width<=599px){.lab-next{margin-top:80px}}.ij-views,.lk-qs{flex-wrap:wrap;gap:8px;padding:16px 16px 0;display:flex}.ij-views button,.lk-qs button,.ty-msgs button,.ij-prot{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--paper);min-height:44px;color:var(--ink);font:500 15px/1.25 var(--f-body);text-align:left;cursor:pointer;transition:background-color var(--d-1) var(--ease), border-color var(--d-1) var(--ease);padding:8px 14px}.ij-views button:hover,.lk-qs button:hover,.ty-msgs button:hover,.ij-prot:hover{background:var(--paper-2)}.ij-views button[aria-pressed=true],.lk-qs button[aria-pressed=true],.ty-msgs button[aria-pressed=true],.ij-prot[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent);color:var(--ink)}@keyframes tk-in{0%{opacity:0;transform:translateY(4px)}}.tok-in{gap:8px;padding:16px 16px 4px;display:grid}.tok-in span{font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.tok-in textarea{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--paper);width:100%;min-height:64px;color:var(--ink);font:400 17px/1.45 var(--f-body);resize:vertical;padding:12px 14px}.tok-out{flex-wrap:wrap;align-content:flex-start;gap:6px;min-height:70px;padding:12px 16px 16px;display:flex}.tk{border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--ink);font:400 15px/1.35 var(--f-mono);white-space:pre;align-items:center;gap:2px;padding:3px 8px;display:inline-flex}.tk i{color:var(--muted);font-style:normal}.tk.k0{background:var(--accent-soft)}.tk.k1{background:var(--paper-2)}.tp-sent{font:600 clamp(1.4rem,3.4vw,2rem)/1.15 var(--f-display);letter-spacing:-.02em;margin:0;padding:20px 16px 4px}.tp-slot{border-radius:var(--r-md);background:var(--accent-soft);min-width:3ch;color:var(--accent);padding:0 10px;display:inline-block}.tp-slot.pop{animation:tk-in var(--d-2) var(--ease)}.tp-bars{gap:4px;margin:0;padding:12px 16px 16px;list-style:none;display:grid}.tp-bars li{border-radius:var(--r-sm);transition:background-color var(--d-1) var(--ease);grid-template-columns:minmax(0,110px) minmax(0,1fr) 52px;align-items:center;gap:12px;padding:4px 8px;display:grid}.tp-bars li.on{background:var(--accent-soft)}.tp-w{text-overflow:ellipsis;font-weight:500;overflow:hidden}.tp-track{background:var(--paper-2);border-radius:4px;height:8px;overflow:hidden}.tp-track i{background:var(--line-strong);height:100%;transition:width var(--d-3) var(--ease);border-radius:4px;display:block}.tp-bars li.on .tp-track i{background:var(--accent)}.tp-bars b{text-align:right;font:500 14px/1.3 var(--f-mono);font-variant-numeric:tabular-nums}.tp-ctrl{flex-wrap:wrap}.tp-dial{color:var(--ink-2);flex:300px;align-items:center;gap:10px;font-size:15px;font-weight:500;display:flex}.tp-dial input{min-width:80px;height:44px;accent-color:var(--accent);flex:auto;margin:0}.tp-ends{color:var(--muted);font-size:13px}.tp-dial b{min-width:2.6em;font:500 15px/1.2 var(--f-mono);color:var(--ink);font-variant-numeric:tabular-nums}.tp-hist{color:var(--ink-2);border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;padding:10px 16px 14px;font-size:15px;display:flex}.tp-hist span:first-child{font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.cx-gone{gap:6px;padding:14px 16px 0;display:grid}.cx-gone:empty{display:none}.cx-tag{font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--bad);justify-self:start}.cx-win{border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--paper-2);align-content:end;gap:8px;min-height:220px;margin:12px 16px;padding:12px;display:grid}.cx-msg{border:1px solid var(--line-2);border-radius:var(--r-md);align-items:flex-end;gap:8px;max-width:88%;margin:0;padding:8px 12px;font-size:15.5px;line-height:1.35;display:flex}.cx-msg b{font:500 11.5px/1.35 var(--f-mono);color:var(--muted);flex:none}.cx-msg.you{background:var(--accent-soft);border-color:var(--accent-line);color:var(--ink);justify-self:end}.cx-msg.ai{background:var(--paper);color:var(--ink);justify-self:start}.cx-msg.new{animation:tk-in var(--d-2) var(--ease)}.cx-msg.old{background:var(--paper);color:var(--muted);text-decoration:line-through;text-decoration-color:var(--bad);border-style:dashed}.cx-end{border-radius:var(--r-md);background:var(--bad-soft);color:var(--bad);margin:0 16px 12px;padding:10px 14px;font-weight:500}.cx-ctrl{flex-wrap:wrap}.cx-meter{color:var(--ink-2);flex:240px;align-items:center;gap:10px;font-size:14px;display:flex}.cx-track{background:var(--paper-2);border-radius:4px;flex:auto;height:8px;overflow:hidden}.cx-track i{background:var(--accent);width:0;height:100%;transition:width var(--d-3) var(--ease), background-color var(--d-2) var(--ease);border-radius:4px;display:block}.cx-track i.full{background:var(--bad)}.cx-meter b{font:500 14px/1.3 var(--f-mono);font-variant-numeric:tabular-nums;flex:none}.ij-mail{border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);gap:10px;margin:14px 16px;padding:16px;font-size:16px;line-height:1.5;display:grid}.ij-mail p{margin:0}.ij-subj{font:600 1.25rem/1.25 var(--f-display);letter-spacing:-.01em}.ij-from{flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:14.5px;display:flex}.ij-from i{color:var(--muted);overflow-wrap:anywhere;font-style:normal}.ij-av{border-radius:var(--r-full);border:1px solid var(--line-2);background:var(--paper-2);width:30px;height:30px;color:var(--ink-2);place-items:center;font-weight:500;display:grid}.ij-hidden{color:var(--ink);border-radius:var(--r-sm);background:var(--bad-soft);outline:1.5px dashed var(--bad);outline-offset:2px;padding:10px 12px;font-size:15px;line-height:1.4}.ij-hidden[hidden]{display:none}.ij-tag{border-radius:var(--r-sm);background:var(--bad);width:max-content;max-width:100%;color:var(--paper);font:500 12px/1.4 var(--f-mono);letter-spacing:.04em;margin-bottom:6px;padding:2px 8px;display:block}.ij-ctrl{gap:10px}.ij-pl{color:var(--ink-2);font-size:15px;font-weight:500}.ij-prot{text-align:center;min-width:64px}.ij-sum{border-radius:var(--r-md);transition:background-color var(--d-2) var(--ease);gap:4px;margin:0 16px 16px;padding:12px 14px;font-size:15.5px;display:grid}.ij-sum b{font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase}.ij-sum.bad{background:var(--bad-soft);color:var(--ink)}.ij-sum.bad b{color:var(--bad)}.ij-sum.ok{background:var(--good-soft);color:var(--ink)}.ij-sum.ok b{color:var(--good)}@media (prefers-reduced-motion:reduce){.ij-sum{transition:none}}.lk-chat{border-radius:var(--r-md);background:var(--paper-2);align-content:start;gap:10px;min-height:190px;margin:14px 16px;padding:14px;display:grid}.lk-ai{justify-items:start;gap:8px;display:grid}.lk-ai.new{animation:tk-in var(--d-2) var(--ease)}.lk-meta{flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:13.5px;font-weight:500;display:flex}.lk-src{border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--paper);color:var(--ink-2);align-items:center;gap:5px;padding:3px 8px;display:inline-flex}.lk-src svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:14px;height:14px}.lk-src.none{border-color:var(--bad);color:var(--bad)}.lk-is{border-radius:var(--r-sm);padding:3px 8px}.lk-is.right{background:var(--good-soft);color:var(--good)}.lk-is.made{background:var(--bad-soft);color:var(--bad)}.lk-is.unsure{background:var(--warn-soft);color:var(--warn)}.lk-sure{color:var(--muted);align-items:center;gap:8px;font-weight:500;display:inline-flex}.lk-track{background:var(--paper);border:1px solid var(--line-2);border-radius:4px;width:84px;height:8px;overflow:hidden}.lk-track i{background:var(--ink-2);height:100%;animation:.6s ease-out lk-grow;display:block}@keyframes lk-grow{0%{width:0}}.lk-dots{align-items:center;gap:5px}.lk-dots span{color:var(--ink-2);margin-right:4px}.lk-dots i{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite lk-dot}.lk-dots i:nth-of-type(2){animation-delay:.15s}.lk-dots i:nth-of-type(3){animation-delay:.3s}@keyframes lk-dot{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.lk-ai.new,.lk-track i,.lk-dots i{animation:none}}.ty-in{border-radius:var(--r-md);background:var(--paper-2);gap:8px;margin:14px 16px 0;padding:12px 14px;font-size:15.5px;line-height:1.45;display:grid}.ty-in p{margin:0}.ty-msgs{flex-wrap:wrap;gap:6px;display:flex}.ty-k{font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.ty-out{margin:12px 16px 16px;display:grid}.ty-bubble{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--paper);max-width:56ch;color:var(--ink);justify-self:start;margin:0;padding:12px 16px;font-size:15.5px;line-height:1.45}.ty-form{gap:8px;display:grid}.ty-form[hidden],.ty-bubble[hidden],.ty-flag[hidden],.ty-dial[hidden]{display:none}.ty-f{border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);transition:border-color var(--d-2) var(--ease), background-color var(--d-2) var(--ease);grid-template-columns:84px minmax(0,1fr) minmax(110px,150px);align-items:center;gap:6px 14px;padding:10px 14px;display:grid}.ty-f b{font-size:15px}.ty-opts{flex-wrap:wrap;gap:6px;display:flex}.ty-opts i{border:1px dashed var(--line-2);border-radius:var(--r-sm);color:var(--muted);padding:3px 8px;font-size:13.5px;font-style:normal;font-weight:500}.ty-opts i.on{border-style:solid;border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.ty-p{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.ty-bar{background:var(--paper-2);border-radius:4px;height:8px;overflow:hidden}.ty-bar span{background:var(--accent);transform-origin:0;height:100%;transition:transform .7s var(--ease);display:block;transform:scaleX(0)}.ty-p em{min-width:3.4ch;font:500 14px/1.3 var(--f-mono);font-variant-numeric:tabular-nums;text-align:right;font-style:normal}.ty-flag{color:var(--warn);grid-column:1/-1;justify-self:start;font-size:13px;font-weight:500}.ty-f.low{border-color:var(--warn);background:var(--warn-soft)}.ty-f.low .ty-bar span{background:var(--warn)}.ty-f.low .ty-bar{background:var(--paper)}.ty-res{font-size:15px;font-weight:500}.ty-res.bad{color:var(--bad)}.ty-res.ok{color:var(--good)}.ty-res.warn{color:var(--warn)}.ty-ctrl{flex-wrap:wrap}.ty-dial{flex:0 340px}.ty-dial>span{white-space:nowrap}@media (width<=560px){.ty-f{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.ty-bar span,.ty-f{transition:none}}.rv-prod{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin:0;padding:16px 16px 0;font-size:15px;display:flex}.rv-prod span{color:var(--muted);font-size:14px}.rv-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:8px;margin:12px 16px;padding:0;list-style:none;display:grid}.rv-card{text-align:left;width:100%;height:100%;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line-2);border-radius:var(--r-md);cursor:pointer;transition:border-color var(--d-1) var(--ease), background-color var(--d-1) var(--ease);align-content:start;gap:6px;padding:12px 14px;font-size:15px;line-height:1.4;display:grid}.rv-card:hover:not(:disabled){border-color:var(--line-strong)}.rv-card[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.rv-card:disabled{cursor:default}.rv-stars{color:var(--ink-2);letter-spacing:2px;font-size:14px}.rv-stars i{color:var(--line-2);font-style:normal}.rv-tag{min-height:1.2em;color:var(--accent);justify-self:start;font-size:12.5px;font-weight:500}.rv-card.ok{border-color:var(--good);background:var(--good-soft);box-shadow:none}.rv-card.ok .rv-tag{color:var(--good)}.rv-card.bad{border-color:var(--bad);background:var(--bad-soft);box-shadow:none}.rv-card.bad .rv-tag{color:var(--bad)}.rv-card.proof{background:var(--paper)}.rv-card.proof.is-real{border-color:var(--good)}.rv-card.proof.is-real .rv-tag{color:var(--good)}.rv-card.proof.is-ai{border-style:dashed;border-color:var(--line-strong)}.rv-card.proof.is-ai .rv-tag{color:var(--muted)}.ty-res.ok,.rv-card.ok{--mk:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.4 6.3l2.5 2.5 4.7-5.1' fill='none' stroke='currentColor' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.ty-res.bad,.rv-card.bad{--mk:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.3 3.3l5.4 5.4M8.7 3.3l-5.4 5.4' fill='none' stroke='currentColor' stroke-width='1.75' stroke-linecap='round'/%3E%3C/svg%3E")}.ty-res.ok:before,.ty-res.bad:before,.rv-card.ok:not(.proof) .rv-tag:before,.rv-card.bad:not(.proof) .rv-tag:before{content:"";vertical-align:-1px;width:12px;height:12px;-webkit-mask:var(--mk) center/contain no-repeat;mask:var(--mk) center/contain no-repeat;background:currentColor;margin-right:5px;display:inline-block}.rv-say{margin:0 16px 14px;font-size:15.5px;font-weight:500}.rv .pbar{flex-wrap:wrap}@media (prefers-reduced-motion:reduce){.rv-card{transition:none}}.ev-list{gap:8px;margin:14px 16px;padding:0;list-style:none;display:grid}.ev-row{border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);transition:border-color var(--d-2) var(--ease), background-color var(--d-2) var(--ease);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 14px;padding:12px 14px;display:grid}.ev-q{font-size:16px}.ev-a,.ev-w{color:var(--ink-2);grid-column:1;font-size:15px}.ev-w{color:var(--muted);font-size:14px}.ev-k{min-width:84px;font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:8px;display:inline-block}.ev-chip{border-radius:var(--r-sm);font:500 13px/1.3 var(--f-mono);color:var(--muted);background:var(--paper-2);grid-area:1/2/span 3;align-self:center;padding:4px 10px}.ev-row.pass{border-color:var(--good)}.ev-row.pass .ev-chip{background:var(--good-soft);color:var(--good)}.ev-row.fail{border-color:var(--bad);background:var(--bad-soft)}.ev-row.fail .ev-chip{background:var(--bad);color:var(--paper)}.ev-row.pass .ev-chip,.ev-row.fail .ev-chip{animation:tk-in var(--d-2) var(--ease)}.ev-end{margin:0 16px 14px;font-size:15.5px;font-weight:500}@media (width<=480px){.ev-k{min-width:0}}@media (prefers-reduced-motion:reduce){.ev-row{transition:none}.ev-row .ev-chip{animation:none}}@media (width<=480px){.tp-bars li{grid-template-columns:minmax(0,84px) minmax(0,1fr) 44px;gap:8px}.tp-dial{flex-wrap:wrap;row-gap:0}.tp-dial>span:first-child{flex-basis:100%}}@media (prefers-reduced-motion:reduce){.tp-slot.pop,.cx-msg.new{animation:none}.tp-track i,.tp-bars li,.cx-track i,.lab-toc a,.ij-views button,.lk-qs button,.ty-msgs button,.ij-prot{transition:none}}
