@font-face{font-family:Fraunces;src:url(/fonts/fraunces.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Fraunces Fallback;src:local(Georgia),local(Noto Serif),local(DejaVu Serif);size-adjust:103.6%;ascent-override:94.6%;descent-override:25.1%;line-gap-override:0%}@font-face{font-family:Fraunces Display Fallback;src:local(Georgia),local(Noto Serif),local(DejaVu Serif);size-adjust:89.7%;ascent-override:109.3%;descent-override:29%;line-gap-override:0%}@font-face{font-family:Inter;src:url(/fonts/inter.woff2)format("woff2");font-weight:400 600;font-style:normal;font-display:swap}@font-face{font-family:Inter Fallback;src:local(Arial),local(Helvetica Neue),local(Helvetica),local(Roboto);size-adjust:107.1%;ascent-override:90.4%;descent-override:22.5%;line-gap-override:0%}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-600.woff2)format("woff2");font-weight:600;font-display:swap}:root,[data-theme=paper]{--paper:#f3eee4;--paper-2:#ebe4d6;--paper-3:#e2d9c7;--sheet:#fbf8f2;--ink:#15130f;--ink-soft:#4a453c;--ink-mute:#625c51;--ember:#e4572e;--ember-deep:#b8401d;--ember-soft:#e4572e1f;--rule:#15130f24;--rule-strong:#15130f52;--tape:#decda0a8;--sea:#2f6f73;--ochre:#e0a43a;--moss:#6f8a4c;--plum:#6e4a6b;--sky:#86b3d1;--rose:#e7a3a0;--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;--r-1:4px;--r-2:8px;--r-3:14px;--r-pill:999px;--lift-1:0 1px 0 #15130f0d, 0 2px 6px -2px #3c280a29;--lift-2:0 1px 0 #15130f0d, 0 4px 10px -4px #3c280a2e, 0 18px 34px -18px #3c280a52;--lift-3:0 1px 0 #15130f0f, 0 6px 14px -6px #3c280a33, 0 22px 44px -18px #3c280a57, 0 44px 70px -40px #3c280a4d;--font-display:"Fraunces", "Fraunces Fallback", Georgia, serif;--font-headline:"Fraunces", "Fraunces Display Fallback", Georgia, serif;--font-ui:"Inter", "Inter Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--t-1:.875rem;--t-2:1rem;--t-3:clamp(1.0625rem, 1rem + .2vw, 1.125rem);--t-4:clamp(1.25rem, 1.1rem + .5vw, 1.5rem);--t-5:clamp(1.5rem, 1.2rem + 1.1vw, 2rem);--t-6:clamp(2rem, 1.4rem + 2.2vw, 3rem);--t-7:clamp(2.5rem, 1.5rem + 3.6vw, 4rem);--t-8:clamp(3rem, 1.4rem + 5.6vw, 5.5rem);--wrap:1240px;--gutter:24px;--ease-ink:cubic-bezier(.2, .8, .2, 1);--ease-settle:cubic-bezier(.3, 1.4, .5, 1);--d-1:.12s;--d-2:.2s;--d-3:.32s;--d-4:.6s;--stagger:50ms;--grain-opacity:.55;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root,[data-theme]{--ink-2:var(--ink-soft);--ink-3:var(--ink-mute);--shadow:var(--lift-2);--serif:var(--font-display);--mono:var(--font-mono);--radius:var(--r-2)}@media (min-width:900px){:root{--gutter:32px}}[data-theme=night]{--paper:#15130f;--paper-2:#1d1a15;--paper-3:#26221c;--sheet:#1f1c17;--ink:#ece4d4;--ink-soft:#c4bba9;--ink-mute:#9a9180;--ember:#ec6a43;--ember-deep:#f08a68;--ember-soft:#ec6a4329;--rule:#ece4d424;--rule-strong:#ece4d457;--tape:#7868468c;--sea:#5fa3a6;--ochre:#ebb85a;--moss:#9cbf5c;--plum:#b48aae;--sky:#9cc3dd;--rose:#eab0ad;--lift-1:0 1px 0 #0000004d, 0 2px 6px -2px #00000080;--lift-2:0 1px 0 #0000004d, 0 4px 10px -4px #00000080, 0 18px 34px -18px #000000b3;--lift-3:0 1px 0 #00000059, 0 6px 14px -6px #0000008c, 0 22px 44px -18px #000000bf, 0 44px 70px -40px #0009;--grain-opacity:.35;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{font-family:var(--font-ui);font-size:var(--t-3);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.6}h1,h2,h3,.display{font-family:var(--font-display);letter-spacing:-.018em;font-variation-settings:"opsz" 144, "SOFT" 100, "WONK" 1;text-wrap:balance;margin:0 0 .4em;font-weight:560;line-height:1.04}h1,h2,.display,.t-8,.t-7,.t-6{font-family:var(--font-headline)}h1,.t-8{font-size:var(--t-8);letter-spacing:-.03em;line-height:.98}h2,.t-6{font-size:var(--t-6)}h3,.t-4{font-size:var(--t-4);font-variation-settings:"opsz" 72, "SOFT" 100, "WONK" 0;line-height:1.15}.t-7{font-size:var(--t-7)}.t-5{font-size:var(--t-5)}p{text-wrap:pretty;margin:0 0 1em}.lede{font-size:var(--t-4);color:var(--ink-soft);max-width:62ch;line-height:1.5}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);font-size:12px;font-weight:400}.muted{color:var(--ink-soft)}code,kbd,pre,.mono{font-family:var(--font-mono);font-size:.86em}.mono,.num,.tabular,output,time{font-variant-numeric:tabular-nums}kbd{border:1px solid var(--rule-strong);border-radius:var(--r-1);background:var(--sheet);text-align:center;min-width:1.6em;color:var(--ink-soft);border-bottom-width:2px;padding:1px 6px;font-size:.78em;line-height:1.5;display:inline-block}pre{white-space:pre;margin:0;overflow-x:auto}:not(pre)>code{background:var(--paper-2);border-radius:var(--r-1);padding:.1em .35em}.wrap{max-width:calc(var(--wrap) + 2 * var(--gutter));padding:0 var(--gutter);margin:0 auto}.grid{gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.span-3{grid-column:span 3}@media (max-width:900px){.grid>[class*=span-]{grid-column:span 12}}.section{margin-block:var(--s-9)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--s-4);margin-bottom:var(--s-6);display:flex}.section-head h2{margin:0}.stack>*+*{margin-top:var(--s-4)}.row{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}@media (max-width:640px){.section{margin-block:var(--s-8)}}.btn{appearance:none;justify-content:center;align-items:center;gap:var(--s-2);font:inherit;font-family:var(--font-ui);font-size:var(--t-2);letter-spacing:-.005em;border-radius:var(--r-pill);border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;white-space:nowrap;transition:background var(--d-2) var(--ease-ink), color var(--d-2) var(--ease-ink), border-color var(--d-2) var(--ease-ink), transform var(--d-1) var(--ease-ink), box-shadow var(--d-2) var(--ease-ink);padding:13px 20px;font-weight:560;line-height:1;text-decoration:none;display:inline-flex;position:relative}.btn:hover{background:var(--ember);border-color:var(--ember);color:#fff;box-shadow:var(--lift-1);transform:translateY(-1px)}.btn:active{box-shadow:none;transform:translateY(1px)}.btn.secondary,.btn.ghost{color:var(--ink);background:0 0}.btn.secondary:hover,.btn.ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn.bare{color:var(--ink);background:0 0;border-color:#0000}.btn.bare:hover{background:var(--paper-2);color:var(--ink);box-shadow:none;border-color:#0000}.btn.small{font-size:var(--t-1);padding:8px 13px}.btn.large{font-size:var(--t-3);padding:16px 26px}.btn[disabled],.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn .icon{width:18px;height:18px}.btn.glow{box-shadow:0 0 0 4px var(--ember-soft), 0 0 26px #e4572e73;border-color:var(--ember)}.icon{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex:none;width:20px;height:20px}.icon-btn{appearance:none;border:1px solid var(--rule-strong);background:var(--sheet);color:var(--ink);border-radius:var(--r-pill);cursor:pointer;width:40px;height:40px;transition:border-color var(--d-2) var(--ease-ink), transform var(--d-1) var(--ease-ink), background var(--d-2) var(--ease-ink);flex:none;place-items:center;display:inline-grid;position:relative}.icon-btn:hover{border-color:var(--ink);transform:translateY(-1px)}.icon-btn:active{transform:translateY(1px)}.icon-btn[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.sound-btn.nudge{color:var(--ember);border-color:var(--ember);animation:speaker-nudge 1.4s var(--ease-settle) .6s 2}@keyframes speaker-nudge{0%,60%,to{transform:none}10%{transform:rotate(-9deg)}25%{transform:rotate(8deg)}40%{transform:rotate(-4deg)}}@media (prefers-reduced-motion:reduce){.sound-btn.nudge{animation:none}}.icon-btn .icon{width:19px;height:19px}.icon-btn.small{width:32px;height:32px}.icon-btn.small .icon{width:16px;height:16px}.chip{font-family:var(--font-mono);border-radius:var(--r-pill);border:1px solid var(--rule-strong);color:var(--ink-soft);transition:border-color var(--d-2), color var(--d-2), background var(--d-2);background:0 0;align-items:center;gap:6px;padding:5px 11px;font-size:12.5px;display:inline-flex}button.chip{cursor:pointer}a.chip{text-decoration:none}a.chip:hover,button.chip:hover:not([disabled]){border-color:var(--ink);color:var(--ink)}.chip[aria-pressed=true],.chip.on,button.chip.on:hover:not([disabled]),button.chip[aria-pressed=true]:hover:not([disabled]){background:var(--ink);border-color:var(--ink);color:var(--paper)}button.chip[disabled]{cursor:default;opacity:.7}.chip .icon{width:14px;height:14px}.tabs{gap:var(--s-1);border-bottom:1px solid var(--rule);scrollbar-width:none;display:flex;position:relative;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs>a,.tabs>button,.tab{appearance:none;font:inherit;font-size:var(--t-2);color:var(--ink-soft);cursor:pointer;white-space:nowrap;transition:color var(--d-2) var(--ease-ink);background:0 0;border:none;padding:12px 14px;text-decoration:none}.tabs>a:hover,.tabs>button:hover,.tabs>[aria-current=page],.tabs>[aria-selected=true]{color:var(--ink)}.tabs-ink{transform-origin:0;pointer-events:none;width:100px;height:6px;transition:transform var(--d-3) var(--ease-ink);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 6' preserveAspectRatio='none'%3E%3Cpath d='M1 3.6C14 2 22 4.6 35 3.2s24-.9 34 .4S90 3 99 2.8' fill='none' stroke='%23e4572e' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;position:absolute;bottom:-1px;left:0}.toggle{appearance:none;border-radius:var(--r-pill);border:1.5px solid var(--ink);background:var(--sheet);cursor:pointer;width:46px;height:26px;transition:background var(--d-2) var(--ease-ink);flex:none;position:relative}.toggle:after{content:"";background:var(--ink);width:17px;height:17px;transition:transform var(--d-3) var(--ease-settle), background var(--d-2);border-radius:50%;position:absolute;top:3px;left:3px}.toggle[aria-checked=true]{background:var(--ink)}.toggle[aria-checked=true]:after{background:var(--ember);transform:translate(20px)}[data-tip]{position:relative}[data-tip]:hover:after,[data-tip]:focus-visible:after{content:attr(data-tip);background:var(--ink);color:var(--paper);font-family:var(--font-ui);border-radius:var(--r-1);white-space:nowrap;pointer-events:none;z-index:40;animation:tip-in var(--d-2) var(--ease-ink) .25s both;padding:6px 9px;font-size:12.5px;font-weight:500;line-height:1.3;position:absolute;bottom:calc(100% + 8px);left:50%}@keyframes tip-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}[data-tip-pos=below]:hover:after,[data-tip-pos=below]:focus-visible:after{top:calc(100% + 8px);bottom:auto}[data-tip-pos=below-end]:hover:after,[data-tip-pos=below-end]:focus-visible:after{animation-name:tip-in-end;inset:calc(100% + 8px) 0 auto auto}@keyframes tip-in-end{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.toasts{right:var(--s-5);bottom:var(--s-5);z-index:60;align-items:flex-end;gap:var(--s-2);pointer-events:none;perspective:600px;flex-direction:column;display:flex;position:fixed}.note{background:var(--sheet);max-width:min(340px,100vw - 48px);color:var(--ink);font-size:var(--t-1);box-shadow:var(--lift-2);transform-origin:50% 0;animation:note-in var(--d-3) var(--ease-settle) both;border-radius:3px;padding:12px 16px 11px;line-height:1.4;position:relative}.note:before{content:"";background:var(--tape);width:54px;height:16px;position:absolute;top:-8px;left:50%;transform:translate(-50%)rotate(-3deg)}.note.out{animation:note-out var(--d-3) var(--ease-ink) both}@keyframes note-in{0%{opacity:0;transform:translate(24px,12px)rotate(4deg)}to{opacity:1;transform:none}}@keyframes note-out{to{opacity:0;transform:rotateX(85deg)scaleY(.6)}}dialog.modal,.pin-dialog{border-radius:var(--r-3);background:var(--sheet);color:var(--ink);box-shadow:var(--lift-3);padding:var(--s-6);border:none;width:min(480px,100vw - 32px);max-height:calc(100vh - 48px);overflow:auto}dialog.modal[open],.pin-dialog[open]{animation:modal-in var(--d-3) var(--ease-ink) both}dialog.modal::backdrop{animation:fade-in var(--d-2) var(--ease-ink) both;background:#15130f6b}.pin-dialog::backdrop{animation:fade-in var(--d-2) var(--ease-ink) both;background:#15130f6b}@keyframes modal-in{0%{opacity:0;transform:translateY(14px)scale(.98)}}@keyframes fade-in{0%{opacity:0}}@media (max-width:640px){dialog.modal.sheet-modal{border-radius:var(--r-3) var(--r-3) 0 0;width:100vw;max-width:none;margin:auto 0 0}}.pin-dialog h2,dialog.modal h2{font-size:var(--t-5)}.pin-dialog .muted{font-size:var(--t-1)}.pin-dialog label,dialog.modal label{font-size:var(--t-1);margin:14px 0;display:block}.field,.pin-dialog input:not([type=checkbox]):not([type=radio]),dialog.modal input:not([type=checkbox]):not([type=radio]){width:100%;font:inherit;font-size:var(--t-2);border-radius:var(--r-2);border:1.5px solid var(--rule-strong);background:var(--paper);color:var(--ink);transition:border-color var(--d-2) var(--ease-ink);margin-top:6px;padding:11px 13px;display:block}.pin-dialog input:focus,dialog.modal input:focus,.field:focus{border-color:var(--ink)}.pin-dialog .check{align-items:flex-start;gap:10px;display:flex}.pin-dialog .check input{accent-color:var(--ember);width:17px;height:17px;margin-top:5px}.pin-done h2{margin-top:14px}.pin-error{color:var(--ember-deep);font-size:var(--t-1);white-space:pre-wrap}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.code-block{font-family:var(--font-mono);background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r-2);white-space:pre;tab-size:2;padding:14px 16px;font-size:13.5px;line-height:1.65;position:relative;overflow-x:auto}.copy-btn{position:absolute;top:8px;right:8px}.stat{gap:var(--s-1);flex-direction:column;display:flex}.stat-num{font-family:var(--font-display);font-size:var(--t-7);font-variation-settings:"opsz" 144, "SOFT" 100;font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:560;line-height:1}.stat-label{font-family:var(--font-mono);color:var(--ink-mute);font-size:12.5px}.odo{font-variant-numeric:proportional-nums;height:1em;line-height:1;display:inline-flex;overflow:hidden}.odo-d{height:1em;transition:width var(--d-4) var(--ease-ink);justify-content:center;display:inline-flex;overflow:hidden}.odo-col{transition:transform var(--d-4) var(--ease-ink);flex-direction:column;flex:none;align-items:center;display:flex}.odo-col span{height:1em;display:block}.empty-state{text-align:center;justify-items:center;gap:var(--s-3);padding:var(--s-8) var(--s-4);color:var(--ink-soft);display:grid}.empty-state p{max-width:44ch;margin:0}.skeleton{background:var(--paper-2);border-radius:var(--r-1);animation:1.4s ease-in-out infinite skeleton}@keyframes skeleton{50%{opacity:.55}}.sheet{background:var(--sheet);box-shadow:var(--lift-2);border-radius:3px;padding:14px;position:relative}.sheet .tape,.tape{background:var(--tape);width:92px;height:24px;transition:transform var(--d-3) var(--ease-settle);position:absolute;top:-11px;left:50%;transform:translate(-50%)rotate(-3deg);box-shadow:0 1px 2px #0000000f}.tape.tl,.tape.tr,.tape.bl,.tape.br{width:64px;height:20px;left:auto}.tape.tl{top:-8px;left:-18px;transform:rotate(-38deg)}.tape.tr{top:-8px;right:-18px;transform:rotate(38deg)}.tape.bl{top:auto;bottom:-8px;left:-18px;transform:rotate(36deg)}.tape.br{top:auto;bottom:-8px;right:-18px;transform:rotate(-36deg)}canvas.stage{aspect-ratio:1;background:var(--paper);touch-action:manipulation;border-radius:2px;width:100%;height:auto;display:block}.stamp{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ember-deep);white-space:nowrap;border:2px solid;border-radius:5px;align-items:center;gap:6px;padding:5px 8px 4px;font-size:11px;font-weight:600;display:inline-flex;transform:rotate(-5deg);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60'%3E%3Cfilter id='r'%3E%3CfeTurbulence baseFrequency='.7' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.4 1.9'/%3E%3C/filter%3E%3Crect width='120' height='60' filter='url(%23r)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60'%3E%3Cfilter id='r'%3E%3CfeTurbulence baseFrequency='.7' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.4 1.9'/%3E%3C/filter%3E%3Crect width='120' height='60' filter='url(%23r)'/%3E%3C/svg%3E")}.stamp.ink{color:var(--ink)}.stamp.gold{color:#b9861f}.stamp.slam{animation:slam var(--d-3) var(--ease-settle) both}@keyframes slam{0%{opacity:0;transform:rotate(-14deg)scale(1.9)}to{opacity:1;transform:rotate(-5deg)scale(1)}}.paper-card{background:var(--sheet);box-shadow:var(--lift-1);padding:var(--s-3);border-radius:3px;position:relative}.burst{pointer-events:none;z-index:5;width:0;height:0;position:absolute;top:50%;left:50%}.burst svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;width:22px;height:10px;animation:burst-out 1s var(--ease-ink) var(--d,0s) both;position:absolute;top:-5px;left:-11px}@keyframes burst-out{0%{opacity:1;transform:translate(0)rotate(0)scale(.4)}70%{opacity:1}to{opacity:0;transform:translate(var(--x), var(--y)) rotate(var(--rot)) scale(1)}}.tier-stamp{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sea);white-space:nowrap;border:1.5px solid;border-radius:4px;padding:1px 7px;font-size:11px;display:inline-block;transform:rotate(-3deg)}.tier-stamp.small{padding:0 5px;font-size:10px}.tier-stamp.tier-inker{color:var(--plum)}.tier-stamp.tier-master{color:var(--ember-deep);border-style:double;border-width:3px}.pass-btn{appearance:none;border:1px dashed var(--rule-strong);color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:4px 12px;font-size:14px}.pass-btn:hover{border-color:var(--ink);color:var(--ink)}.pass-btn .tier-stamp{transform:rotate(-3deg)translateY(-1px)}.reveal{opacity:0;transition:opacity var(--d-4) var(--ease-ink), transform var(--d-4) var(--ease-ink);transition-delay:calc(var(--i,0) * var(--stagger));transform:translateY(18px)}.reveal.in{opacity:1;transform:none}.ink-link{color:inherit;text-decoration:none;position:relative}.ink-link:after{content:"";background:var(--pen-line) center / 100% 100% no-repeat;clip-path:inset(0 100% 0 0);height:6px;transition:clip-path var(--d-3) var(--ease-ink);position:absolute;bottom:-4px;left:0;right:0}.ink-link:hover:after,.ink-link:focus-visible:after,.ink-link[aria-current=page]:after{clip-path:inset(0)}:root{--pen-line:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 6' preserveAspectRatio='none'%3E%3Cpath d='M1 3.4C12 1.6 20 4.8 33 3s25-1.4 36 .6S89 3.4 99 2.4' fill='none' stroke='%23e4572e' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E")}.divider{width:100%;height:14px;color:var(--rule-strong);display:block;overflow:visible}.divider path{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.2s var(--ease-ink)}.divider.in path{stroke-dashoffset:0}.focus-ring{pointer-events:none;z-index:70;color:var(--ink);opacity:0;position:fixed;top:0;left:0;overflow:visible}.focus-ring.on{opacity:1}.focus-ring path{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px}.focus-ring.on path{animation:ring-draw var(--d-3) var(--ease-ink) forwards}@keyframes ring-draw{to{stroke-dashoffset:0}}:focus-visible{outline:2.5px solid var(--ink);outline-offset:3px;border-radius:6px}html.pen-focus :focus-visible{outline-color:#0000}html.pen-focus dialog :focus-visible{outline-color:var(--ink)}.cm-editor :focus-visible{outline:none}.lift{transition:transform var(--d-3) var(--ease-settle), box-shadow var(--d-3) var(--ease-ink)}.lift:hover{transform:translateY(-5px) rotate(var(--tilt,0deg));box-shadow:var(--lift-3)}.lift:hover .tape{transform:translateX(-50%) rotate(calc(-3deg - var(--tilt,0deg))) skewX(-6deg)}@view-transition{navigation:auto}.vt-pen{pointer-events:none;visibility:hidden;view-transition-name:pen;width:100%;height:100%;position:fixed;top:0;left:0}::view-transition-old(root){animation:.28s var(--ease-ink) both pen-wipe}::view-transition-new(root){animation:.32s var(--ease-ink) 80ms both fade-up}::view-transition-old(pen){display:none}::view-transition-new(pen){display:none}::view-transition-group(pen){width:48px;height:100vh;animation:.28s var(--ease-ink) both pen-sweep;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 400' preserveAspectRatio='none'%3E%3Cpath d='M24 -4C10 40 38 70 22 112S12 190 28 236 12 320 26 404' fill='none' stroke='%23e4572e' stroke-width='9' stroke-linecap='round'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;top:0;left:0}@keyframes pen-sweep{0%{transform:translate(-48px)}to{transform:translate(100vw)}}@keyframes pen-wipe{0%{clip-path:inset(0)}to{clip-path:inset(0 0 0 100%)}}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important}.reveal,.lift:hover{transform:none}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}::view-transition-group(pen){animation:none}::view-transition-group(pen){display:none}}:root[data-season=halloween]{--ember:#f2731d;--ember-deep:#b8460e;--ember-soft:#f2731d24;--spook:#7c3aed;--spook-soft:#7c3aed1a;--tape:#f2a05a80}:root[data-season=halloween][data-theme=night]{--paper:#120e18;--paper-2:#1a1422;--paper-3:#231b2e;--sheet:#1c1626;--ink:#efe6f5;--ink-soft:#c9bcd6;--ink-mute:#a497b3;--rule:#efe6f521;--rule-strong:#efe6f552;--ember:#ff8a3d;--ember-deep:#ffa463;--ember-soft:#ff8a3d29;--spook:#a78bfa;--spook-soft:#a78bfa24;--tape:#a78bfa4d}:root[data-season=halloween] body{background-image:radial-gradient(ellipse 90% 520px at 50% -120px, var(--spook-soft), transparent 70%);background-repeat:no-repeat}:root[data-season=halloween] .nav a[aria-current=page],:root[data-season=halloween] .eyebrow{color:var(--spook)}.season-toggle{appearance:none;border:1px solid var(--rule-strong);color:var(--ink-soft);border-radius:var(--r-pill);cursor:pointer;width:36px;height:36px;margin-left:var(--s-2);transition:color var(--d-2), border-color var(--d-2), background var(--d-2);background:0 0;place-items:center;display:none}:root[data-halloween] .season-toggle{display:grid}.season-toggle .icon{width:19px;height:19px}.season-toggle[aria-pressed=true]{color:#fff;background:var(--ember);border-color:var(--ember)}.season-toggle:hover{border-color:var(--ink)}@media (max-width:640px){.season-toggle{width:32px;height:32px;margin-left:2px}}@media (max-width:440px){:root[data-halloween] .theme-toggle{display:none}}.bats,.cobweb{display:none}:root[data-season=halloween] .bats{pointer-events:none;z-index:2;height:340px;display:block;position:absolute;inset:0 0 auto;overflow:hidden}.bat{width:46px;color:var(--ink);animation:bat-fly var(--dur,16s) linear var(--delay,0s) infinite;position:absolute;left:0}.bat svg{fill:currentColor;opacity:.85;transform-origin:50% 40%;width:100%;height:auto;animation:.32s ease-in-out infinite alternate bat-flap;display:block}@keyframes bat-fly{0%{transform:translate(-80px, var(--y0,60px)) rotate(-4deg)}50%{transform:translate(50vw, var(--y1,20px)) rotate(3deg)}to{transform:translate(calc(100vw + 80px), var(--y0,60px)) rotate(-4deg)}}@keyframes bat-flap{to{transform:scaleY(.35)}}:root[data-season=halloween] .hero{position:relative}:root[data-season=halloween] .cobweb{z-index:2;width:clamp(90px,13vw,180px);color:var(--ink-soft);pointer-events:none;display:block;position:absolute;top:0;right:0}.cobweb path{fill:none;stroke:currentColor;stroke-width:1.3px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:web-draw 1.6s var(--ease-ink) .4s forwards}.cobweb path:nth-child(n+6){animation-delay:1s}@keyframes web-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){:root[data-season=halloween] .bats{display:none}.cobweb path{stroke-dashoffset:0}}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--paper);min-height:100vh;color:var(--ink);margin:0;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;opacity:var(--grain-opacity);mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .32 0 0 0 0 .26 0 0 0 0 .16 0 0 0 .11 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}:root[data-theme=night] body:before{mix-blend-mode:screen}body>*{z-index:1;position:relative}a{color:inherit;-webkit-text-decoration-color:var(--ember);text-decoration-color:var(--ember);text-underline-offset:3px;text-decoration-thickness:1.5px}a:hover{color:var(--ember-deep)}.skip{position:absolute;left:-999px}.skip:focus{background:var(--ink);color:var(--paper);z-index:10;padding:8px 12px;top:12px;left:12px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-head{border-bottom:1px solid var(--rule)}.site-head .wrap{align-items:center;gap:var(--s-5);min-height:64px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand:hover{color:var(--ink)}.brand .squig-mark{width:auto;height:38px;margin:-4px 0}.brand .wordmark{fill:currentColor;width:85.0057px;height:24px;margin-top:2px;display:block}.squig-mark .sq-trace{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}.squig-mark.drawing .sq-trace{animation:.6s cubic-bezier(.55,.05,.3,1) both redraw}.squig-mark.drawing .sq-trace-2{animation-duration:.52s;animation-delay:.3s}.squig-mark.drawing .sq-face{animation:.86s both sq-face}.squig-mark .sq-dot{transform-box:fill-box;transform-origin:50%}.squig-mark.drawing .sq-dot{animation:sq-pop 1.1s var(--ease-settle) both}@keyframes redraw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes sq-face{0%,72%{opacity:0}to{opacity:1}}@keyframes sq-pop{0%,80%{transform:scale(0)}to{transform:scale(1)}}.nav{align-items:center;gap:2px;margin-left:auto;display:flex}.nav a{color:var(--ink-soft);transition:color var(--d-2) var(--ease-ink);padding:8px 11px;font-size:15px;font-weight:500;text-decoration:none;position:relative}.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}.nav a:after{content:"";background:var(--pen-line) center / 100% 100% no-repeat;clip-path:inset(0 100% 0 0);height:6px;transition:clip-path var(--d-3) var(--ease-ink);position:absolute;bottom:1px;left:9px;right:9px}.nav a:hover:after,.nav a[aria-current=page]:after{clip-path:inset(0)}.theme-toggle{appearance:none;border:1px solid var(--rule-strong);color:var(--ink-soft);border-radius:var(--r-pill);cursor:pointer;width:36px;height:36px;margin-left:var(--s-2);transition:color var(--d-2) var(--ease-ink), border-color var(--d-2) var(--ease-ink);background:0 0;place-items:center;display:grid}.theme-toggle:hover{color:var(--ink);border-color:var(--ink)}.theme-toggle .icon{width:18px;height:18px}.theme-toggle.flip .icon{animation:flip .3s var(--ease-ink)}@keyframes flip{50%{transform:rotateY(90deg)scale(.8)}}::view-transition-old(theme){animation-duration:.3s}::view-transition-new(theme){animation-duration:.3s}@media (max-width:720px){.site-head .wrap{gap:var(--s-2);min-height:56px}.brand .wordmark{width:70.8381px;height:20px}.brand .squig-mark{height:34px}.nav a{padding:8px 6px;font-size:14.5px}.nav a:after{left:4px;right:4px}.pass-btn{padding:3px 9px;font-size:13.5px}.theme-toggle{width:32px;height:32px;margin-left:2px}}@media (max-width:440px){.site-head .brand .wordmark{display:none}.nav{gap:0}.nav a{padding:8px 5px}.pass-btn{margin-left:2px;padding:2px 7px}}.btn svg:not(.icon),.icon-btn svg:not(.icon){flex:none;width:16px;height:16px}.prompt-banner{flex-wrap:wrap;align-items:baseline;gap:10px;font-size:18px;display:inline-flex}.prompt-banner .theme{font-family:var(--font-display);color:var(--ember-deep);font-variation-settings:"opsz" 72, "SOFT" 100, "WONK" 1;font-size:1.25em;font-weight:600}:root,[data-theme=paper]{--sq-keyword:#8a3a1c;--sq-command:#b8401d;--sq-builtin:#2b6266;--sq-palette:#5b4a7a;--sq-number:#6e4a6b;--sq-string:#4f6a33;--sq-color:#5b4a7a;--sq-comment:#7c766a;--sq-op:#6f695e}[data-theme=night]{--sq-keyword:#f0a37f;--sq-command:#ff8a5c;--sq-builtin:#8cc6c6;--sq-palette:#c8b6e8;--sq-number:#e7a3d8;--sq-string:#b8d68a;--sq-color:#c8b6e8;--sq-comment:#8c8475;--sq-op:#b0a796}.sq-keyword{color:var(--sq-keyword);font-weight:600}.sq-command{color:var(--sq-command);font-weight:600}.sq-builtin{color:var(--sq-builtin)}.sq-palette{color:var(--sq-palette)}.sq-number{color:var(--sq-number)}.sq-string{color:var(--sq-string)}.sq-color{color:var(--sq-color)}.sq-comment{color:var(--sq-comment)}.sq-op{color:var(--sq-op)}.site-foot{margin-top:var(--s-9);padding:0 0 var(--s-7);color:var(--ink-soft);font-size:15px}.site-foot .foot-line{margin-bottom:var(--s-6);align-items:flex-end;gap:0;display:flex}.site-foot .foot-squig{color:var(--ink);flex:none;width:92px;height:auto;margin-bottom:-6px}.site-foot .foot-line .divider{flex:1;width:auto;min-width:0;margin-left:-6px}.site-foot .foot-grid{gap:var(--s-6) var(--gutter);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.site-foot .foot-brand p{margin-top:var(--s-3);max-width:34ch}.site-foot .links{flex-direction:column;gap:6px;display:flex}.site-foot .links h2{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);margin:0 0 var(--s-2);font-size:12px;font-weight:400}.site-foot .links a{width:-moz-fit-content;width:fit-content;text-decoration:none}.site-foot .fine{gap:var(--s-3) var(--s-5);padding-top:var(--s-5);border-top:1px solid var(--rule);color:var(--ink-mute);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;font-size:13.5px;display:flex}.site-foot .fine p{max-width:70ch;margin:0}.site-foot .brand .wordmark{width:77.9219px;height:22px}.site-foot .brand .squig-mark{height:30px}.ca-chip .val{text-overflow:ellipsis;max-width:160px;overflow:hidden}@media (max-width:760px){.site-foot .foot-grid{grid-template-columns:1fr 1fr}.site-foot .foot-brand{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.squig-mark.drawing .sq-trace,.squig-mark.drawing .sq-face,.squig-mark.drawing .sq-dot{animation:none}}.foot-squig:not(.drawing) .sq-trace{stroke-dashoffset:1px}.foot-squig:not(.drawing) .sq-face,.foot-squig:not(.drawing) .sq-dot{opacity:0}@media (max-width:900px){.nav .nav-holders{display:none}}
