:root{--bg:#0d0f14;--bg-2:#141821;--glass:#0a0c11;--ink:#e7e2d4;--ink-2:#a9a497;--ink-3:#6b675e;--accent:#f2b544;--neon:#ff5a5f;--screen:#8fe3c0;--font-display:"Instrument Serif", Georgia, "Times New Roman", serif;--font-body:"Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-hand:"Caveat", "Segoe Print", "Bradley Hand", cursive;--z-canvas:0;--z-labels:10;--z-pins:12;--z-bubbles:20;--z-flashlight:30;--z-grain:40;--z-vignette:41;--z-fade:45;--z-chrome:50;--z-hotspot-nav:55;--z-overlay:60;--z-palette:70;--z-toast:80;--z-skip:100;--ease-out:cubic-bezier(.2, .7, .2, 1);--gutter:clamp(14px, 2.4vw, 28px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg)}body{background:var(--bg);min-height:100%;color:var(--ink);font:400 16px/1.6 var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}img,svg,canvas{display:block}button{font:inherit;color:inherit}a{color:inherit}::selection{color:var(--ink);background:#f2b54459}:focus{outline:none}:focus-visible{outline:1.5px dashed var(--accent);outline-offset:3px}.skip-link{z-index:var(--z-skip);border:1px dashed var(--accent);background:var(--bg);color:var(--accent);font:500 12px/1 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;transition:transform .18s var(--ease-out);border-radius:3px;padding:8px 14px;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}.skip-link:focus-visible{transform:none}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}#hotspot-nav{z-index:var(--z-hotspot-nav);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:fixed;top:0;left:0;overflow:hidden}#hotspot-nav button{display:block}html.reduced-motion *,html.reduced-motion :before,html.reduced-motion :after{scroll-behavior:auto!important;transition-duration:80ms!important;animation:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:80ms!important;animation:none!important}}.mode-3d body{overscroll-behavior:none;overflow:hidden}#stage-wrap{z-index:var(--z-canvas);position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}#stage{cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}#stage:focus-visible{outline:none}html.is-dragging #stage{cursor:grabbing}html.hs-hover #stage{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cg fill='none' stroke='%23f2b544' stroke-width='1.5' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M2 26 L5 18 L21 2 L26 7 L10 23 Z' fill='%230d0f14'/%3E%3Cpath d='M5 18 L10 23'/%3E%3Cpath d='M2 26 L3.6 21.5 L6.5 24.4 Z' fill='%23f2b544'/%3E%3C/g%3E%3C/svg%3E") 2 26,pointer}#labels{z-index:var(--z-labels);pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.hs-label{will-change:transform;pointer-events:none;position:absolute;top:0;left:0}.hs-label-in{opacity:0;font:500 12px/1 var(--font-mono);letter-spacing:.28em;text-transform:uppercase;white-space:nowrap;color:var(--accent);text-shadow:0 0 6px var(--bg), 0 0 2px var(--bg), 0 0 12px var(--bg);transition:opacity .18s var(--ease-out), transform .18s var(--ease-out), border-color .18s, background-color .18s;border:1px dashed #0000;border-radius:2px;padding:4px 8px 4px calc(8px + .28em);display:block;position:absolute;top:0;left:0;transform:translate(-50%,calc(6px - 100%))}.hs-label.is-on .hs-label-in{opacity:1;transform:translate(-50%,-100%)}.hs-label.is-focus .hs-label-in{border-color:var(--accent);background:#0d0f14b8}.hs-pin{z-index:var(--z-pins);opacity:0;pointer-events:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;width:44px;height:44px;margin:-22px 0 0 -22px;padding:0;transition:opacity .25s;position:absolute;top:0;left:0}.hs-pin span{background:var(--accent);border-radius:50%;width:8px;height:8px;margin:-4px 0 0 -4px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 3px #f2b5442e,0 0 10px #f2b5448c}.hs-pin span:after{content:"";animation:hs-ping 1.6s var(--ease-out) infinite;border:1px solid #f2b54480;border-radius:50%;position:absolute;top:-8px;bottom:-8px;left:-8px;right:-8px}@keyframes hs-ping{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(1.4)}}#labels.pins-on .hs-pin.is-on{opacity:1;pointer-events:auto}#bubbles{z-index:var(--z-bubbles);pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.bubble{opacity:0;transform-origin:50% 100%;max-width:min(280px,100vw - 32px);transition:opacity .16s var(--ease-out), scale .16s var(--ease-out);will-change:transform;padding:9px 15px 10px;position:absolute;top:0;left:0;scale:.9}.bubble.is-on{opacity:1;scale:1}.bubble.is-measuring{transition:none}.bubble-border{pointer-events:none;position:absolute;left:-2px;overflow:visible}.bubble-border .b1{fill:var(--bg-2);stroke:var(--ink);stroke-width:1.4px;stroke-linejoin:round;stroke-linecap:round}.bubble-border .b2{fill:none;stroke:var(--ink);stroke-opacity:.35;stroke-width:1px}.bubble-text{font:500 20px/1.15 var(--font-hand);color:var(--ink);letter-spacing:.01em;overflow-wrap:anywhere;margin:0;position:relative}#flashlight{z-index:var(--z-flashlight);pointer-events:none;-webkit-mask-composite:source-in;opacity:0;background:#050608e0;transition:opacity .45s;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:source-in;mask-composite:intersect}#flashlight.is-on{opacity:1}html.reduced-motion #flashlight{transition-duration:80ms}#grain{z-index:var(--z-grain);pointer-events:none;opacity:.07;mix-blend-mode:soft-light;background-repeat:repeat;background-size:192px 192px;position:absolute;top:0;bottom:0;left:0;right:0;width:100%!important;height:100%!important}#vignette{z-index:var(--z-vignette);pointer-events:none;background:radial-gradient(#0000 55%,#00000080 100%);position:absolute;top:0;bottom:0;left:0;right:0}#fade{width:0;height:0;z-index:var(--z-fade);pointer-events:none;border-radius:6px;transition:box-shadow .35s;position:fixed;top:50%;left:50%;box-shadow:0 0 0 200vmax #0d0f1400}#fade.is-rect{box-shadow:0 0 0 200vmax #0d0f14c7}#intro-caption{z-index:var(--z-labels);font:400 12px/1 var(--font-mono);letter-spacing:.3em;text-transform:lowercase;color:var(--ink-2);opacity:0;pointer-events:none;white-space:nowrap;margin:0;transition:opacity .25s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#intro-caption.is-on{opacity:1}#intro-caption.is-on:after{content:"";background:var(--ink-2);width:.6em;height:1px;margin-left:.4em;animation:1s steps(2,end) infinite ns-blink;display:inline-block}@keyframes ns-blink{50%{opacity:0}}#pencil{z-index:var(--z-labels);pointer-events:none;opacity:0;will-change:transform;filter:drop-shadow(0 2px 6px #0009);transition:opacity .2s;position:absolute;top:0;left:0}#pencil.is-on{opacity:1}#intro-cover{z-index:var(--z-fade);pointer-events:none;background:var(--bg);opacity:0;visibility:hidden;position:absolute;top:0;bottom:0;left:0;right:0}#intro-cover.is-on{opacity:1;visibility:visible}#intro-cover.is-on.is-fading{opacity:0;transition:opacity .5s}#chrome{z-index:var(--z-chrome);pointer-events:none;opacity:0;transition:opacity .5s;position:fixed;top:0;bottom:0;left:0;right:0}#chrome.is-on{opacity:1}#chrome a,#chrome button{pointer-events:auto}.chrome-top,.chrome-bottom{padding:calc(var(--gutter) * .8) var(--gutter);align-items:center;gap:16px;display:flex;position:absolute;left:0;right:0}.chrome-top{padding-top:max(calc(var(--gutter) * .8), env(safe-area-inset-top));justify-content:space-between;top:0}.chrome-bottom{padding-bottom:max(calc(var(--gutter) * .8), env(safe-area-inset-bottom));justify-content:space-between;align-items:flex-end;bottom:0}#chrome .wordmark{font:500 13px/1 var(--font-mono);letter-spacing:.32em;color:var(--ink);flex-direction:column;gap:5px;text-decoration:none;display:flex}#chrome .wordmark-sub{font:400 10.5px/1.2 var(--font-mono);letter-spacing:.16em;color:var(--ink-2);text-transform:uppercase}#chrome .wordmark:hover{color:var(--accent)}.chrome-actions{align-items:center;gap:8px;display:flex}#chrome .chip{-webkit-appearance:none;appearance:none;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);min-height:32px;font:500 11px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);background:#0d0f148c;border:1px solid #a9a49761;border-radius:999px;justify-content:center;align-items:center;padding:7px 12px;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}#chrome .chip:hover{color:var(--ink);border-color:var(--ink-2)}#chrome .chip[aria-pressed=true]{color:var(--accent);border-color:#f2b54499}#chrome .only-touch{display:none}html.is-touch #chrome .only-touch{display:inline-flex}#chrome .hint,#chrome .clocks-inline{font:400 10.5px/1.4 var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin:0}#chrome .hint{white-space:nowrap;flex:0 auto;max-width:none}#chrome .hint.is-new{color:var(--accent);animation:7s forwards chrome-hint}@keyframes chrome-hint{0%{opacity:0}6%{opacity:1}85%{color:var(--accent)}to{color:var(--ink-3)}}#chrome .clocks-inline{color:var(--ink-2);text-align:center}#chrome .clocks-inline b{color:var(--ink);font-weight:500}.chrome-links{gap:18px;display:flex}#chrome .chrome-links a{font:500 10.5px/1 var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding:6px 0;text-decoration:none;transition:background-size .2s,color .15s}#chrome .chrome-links a:hover{color:var(--ink);background-size:100% 1px}html.has-overlay #chrome .chrome-bottom{opacity:0;transition:opacity .2s}html.has-overlay #chrome .chrome-bottom a{pointer-events:none}html.lights-off #chrome .hint{color:var(--ink-2)}@media (max-width:1100px){#chrome .hint{white-space:normal;max-width:34ch}}@media (max-width:900px){#chrome .wordmark-sub{display:none}#chrome .hint{max-width:30ch}}@media (max-width:760px){.chrome-top{gap:8px}#chrome .wordmark{letter-spacing:.26em;font-size:11.5px}.chrome-actions{gap:6px}#chrome .chip{letter-spacing:.1em;min-height:32px;padding:7px 10px;font-size:10px}#chrome #btn-palette{display:none}.chrome-bottom{flex-direction:column;align-items:center;gap:6px}#chrome .clocks-inline{order:-1;font-size:10px}#chrome .hint{text-align:center;white-space:nowrap;max-width:none;font-size:10px}.chrome-links{display:none}}#chrome .chip{white-space:nowrap}#chrome .chip-lg{white-space:pre}#chrome .wordmark{white-space:nowrap}@media (max-width:520px){#chrome .chip-lg{display:none}#chrome #btn-sound:before{content:"♪ "}#chrome .wordmark{letter-spacing:.22em;font-size:11px}}.chrome-toast{left:50%;bottom:calc(64px + env(safe-area-inset-bottom));z-index:var(--z-toast);opacity:0;pointer-events:none;border:1px dashed var(--accent);background:var(--bg-2);font:500 11px/1 var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);transition:opacity .18s ease, transform .18s var(--ease-out);border-radius:3px;padding:9px 16px;position:fixed;transform:translate(-50%,8px)}.chrome-toast.is-on{opacity:1;transform:translate(-50%)}.mode-page .chrome-toast{display:none}html:has(#overlay-root[data-open=os]) #bubbles{opacity:0;transition:opacity .12s}@media (max-width:760px){.chrome-top,#bubbles{transition:opacity .18s}html:has(#overlay-root.is-active) .chrome-top{opacity:0;pointer-events:none}html:has(#overlay-root.is-active) #bubbles{opacity:0}}#overlay-root,#palette-root,#page,.page-toast{--d-bg:var(--bg,#0d0f14);--d-bg2:var(--bg-2,#141821);--d-glass:var(--glass,#0a0c11);--d-ink:var(--ink,#e7e2d4);--d-ink2:var(--ink-2,#a9a497);--d-ink3:var(--ink-3,#6b675e);--d-accent:var(--accent,#f2b544);--d-screen:var(--screen,#8fe3c0);--d-line:#6b675e8c;--d-line-soft:#6b675e47;--d-amber-wash:#f2b54414;--d-display:"Instrument Serif", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--d-body:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--d-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--d-hand:"Caveat", "Bradley Hand", "Segoe Print", cursive;--d-grain: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='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--d-hand-r:14px 3px 12px 4px / 4px 12px 3px 14px;--d-hand-r2:3px 13px 4px 12px / 12px 4px 13px 3px;--d-ease:cubic-bezier(.2, .7, .2, 1)}html:not(.js) .js-only{display:none!important}.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}#overlay-root{z-index:60;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}#overlay-root>*{pointer-events:auto}#overlay-root [hidden]{display:none!important}.sheet-catch{cursor:default;background:0 0;position:fixed;top:0;bottom:0;left:0;right:min(560px,44vw)}.sheet{width:min(560px,44vw);min-width:360px;color:var(--d-ink);background-color:var(--d-bg2);background-image:linear-gradient(90deg, #00000038, transparent 38px), var(--d-grain);background-blend-mode:normal, soft-light;opacity:0;transition:opacity .24s var(--d-ease), transform .24s var(--d-ease);font-family:var(--d-body);background-size:auto,180px 180px;outline:none;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(40px);box-shadow:-40px 0 80px -20px #0000008c}.sheet.is-open{opacity:1;transform:none}.sheet-edge{pointer-events:none;width:8px;position:absolute;top:0;bottom:0;left:-4px}.sheet-edge svg{width:100%;height:100%;display:block}.sheet-edge path,.sheet-top path{fill:none;stroke:var(--d-ink2);stroke-width:1.1px;vector-effect:non-scaling-stroke;stroke-linecap:round}.sheet-edge path.p2,.sheet-top path.p2{stroke:var(--d-ink3);opacity:.7}.sheet-top,.sheet-grip{display:none}.sheet-head{transition:opacity .16s ease, transform .2s var(--d-ease);padding:30px 84px 16px 44px;position:relative}.sheet-kicker{font:500 11px/1 var(--d-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--d-accent);margin:0 0 10px}.sheet-title{font:400 40px/1.02 var(--d-display);letter-spacing:-.01em;color:var(--d-ink);text-wrap:balance;outline:none;margin:0}.sheet-title:focus{outline:none}.sheet-title:focus-visible{outline:none}.sheet-close{border:1px solid var(--d-line);border-radius:var(--d-hand-r);width:44px;height:44px;color:var(--d-ink2);cursor:pointer;transition:color .12s, border-color .12s, transform .16s var(--d-ease);background:0 0;place-items:center;display:grid;position:absolute;top:22px;right:22px}.sheet-close .ic{width:18px;height:18px}.sheet-close:hover{color:var(--d-accent);border-color:var(--d-accent);transform:rotate(90deg)}.sheet-close:focus-visible{outline:1.5px dashed var(--d-accent);outline-offset:3px}.sheet-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--d-ink3) transparent;min-height:0;transition:opacity .16s ease, transform .2s var(--d-ease);flex:1;padding:8px 44px 48px;overflow-y:auto}.sheet-scroll::-webkit-scrollbar{width:8px}.sheet-scroll::-webkit-scrollbar-thumb{background:var(--d-line-soft);border-radius:8px}.sheet.is-swap .sheet-scroll,.sheet.is-swap .sheet-head{opacity:0;transition:none;transform:translateY(8px)}.sheet-foot{padding:8px 20px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--d-line-soft);background:#0d0f1459;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid;position:relative}.sheet-foot.is-bare{text-align:center;grid-template-columns:1fr}.sheet-esc{font:400 10px/1 var(--d-mono);letter-spacing:.26em;color:var(--d-ink3);white-space:nowrap;margin:0}.sheet-nav{max-width:100%;min-height:44px;color:var(--d-ink2);cursor:pointer;font:500 11px/1.2 var(--d-mono);letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:8px;padding:0 10px;display:inline-flex;overflow:hidden}.sheet-nav span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sheet-nav .ic{width:16px;height:16px;transition:transform .16s var(--d-ease);flex:none}.sheet-prev{justify-self:start}.sheet-next{justify-self:end}.sheet-nav:hover{color:var(--d-accent)}.sheet-prev:hover .ic{transform:translate(-3px)}.sheet-next:hover .ic{transform:translate(3px)}.sheet-nav:focus-visible{outline:1.5px dashed var(--d-accent);outline-offset:-2px}@media (max-width:760px){.sheet-catch{top:0;bottom:62dvh;left:0;right:0;top:0;bottom:62vh;left:0;right:0}@supports (height:1dvh){.sheet-catch{top:0;bottom:62dvh;left:0;right:0}}.sheet{width:auto;min-width:0;height:62vh;opacity:1;height:62dvh;transition:transform .28s var(--d-ease);background-image:linear-gradient(180deg, #0000002e, transparent 30px), var(--d-grain);top:auto;left:0;right:0;transform:translateY(100%);box-shadow:0 -30px 60px -10px #0009}.sheet.is-open{transform:none}.sheet.is-dragging{transition:none}.sheet-edge{display:none}.sheet-top{pointer-events:none;height:8px;display:block;position:absolute;top:-4px;left:0;right:0}.sheet-top svg{width:100%;height:100%;display:block}.sheet-grip{touch-action:none;cursor:grab;justify-content:center;align-items:center;height:22px;display:flex}.sheet-grip span{background:var(--d-ink3);opacity:.8;border-radius:4px;width:44px;height:4px}.sheet-head{touch-action:none;padding:2px 72px 12px 20px}.sheet-title{font-size:32px}.sheet-close{top:0;right:12px}.sheet-scroll{padding:4px 20px 32px}.sheet-foot{padding-left:8px;padding-right:8px}.sheet-esc{display:none}.sheet-foot{grid-template-columns:1fr 1fr}}.section-body{font:400 16px/1.65 var(--d-body);color:var(--d-ink)}.section-body>:first-child{margin-top:0}.section-body p{margin:0 0 1em}.section-body a{color:var(--d-ink);text-decoration:underline;-webkit-text-decoration-color:var(--d-ink3);text-decoration-color:var(--d-ink3);text-underline-offset:3px;text-decoration-thickness:1px;transition:color .12s,text-decoration-color .12s}.section-body a:hover{color:var(--d-accent);-webkit-text-decoration-color:var(--d-accent);text-decoration-color:var(--d-accent)}.section-body a:focus-visible{outline:1.5px dashed var(--d-accent);outline-offset:3px}.section-body button:focus-visible{outline:1.5px dashed var(--d-accent);outline-offset:3px}.section-body .ext-arrow{color:var(--d-ink2);transition:transform .14s var(--d-ease);margin-left:.18em;font-size:.85em;text-decoration:none;display:inline-block}.section-body a:hover .ext-arrow{color:var(--d-accent);transform:translate(2px,-2px)}.section-body .muted{color:var(--d-ink2)}.section-body .lede{font:400 23px/1.36 var(--d-display);color:var(--d-ink);text-wrap:pretty;margin-bottom:1.1em}.section-body .lede--sm{font-size:20px}.section-body kbd{text-align:center;min-width:1.6em;font:500 11.5px/1.4 var(--d-mono);color:var(--d-ink);background:var(--d-bg);border:1px solid var(--d-line);border-bottom-width:2px;border-radius:5px;padding:2px 7px;display:inline-block}.sb-h{font:500 11px/1 var(--d-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--d-ink2);align-items:center;gap:10px;margin:2.2em 0 .9em;display:flex}.sb-h:before{content:"";background:var(--d-accent);width:18px;height:1px;transform:rotate(-4deg)}.sb-actions{flex-wrap:wrap;gap:10px;margin:1.6em 0 1.2em;display:flex}.section-body .sb-btn{min-height:44px;font:500 11.5px/1 var(--d-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--d-ink);border:1px solid var(--d-line);border-radius:var(--d-hand-r);cursor:pointer;transition:color .12s, border-color .12s, background .12s, transform .16s var(--d-ease);background:0 0;align-items:center;gap:9px;padding:0 16px;text-decoration:none;display:inline-flex;position:relative}.section-body .sb-btn:after{content:"";border:1px solid var(--d-ink3);border-radius:var(--d-hand-r2);opacity:.3;pointer-events:none;position:absolute;top:-3px;bottom:-1px;left:-3px;right:-1px;transform:rotate(-.4deg)}.section-body .sb-btn .ic{width:16px;height:16px}.section-body .sb-btn:hover{color:var(--d-accent);border-color:var(--d-accent);transform:translateY(-1px)}.section-body .sb-btn--primary{color:var(--d-accent);background:var(--d-amber-wash);border-color:#f2b54499}.section-body .sb-btn--primary:hover{background:#f2b54424}.section-body .sb-btn--sm{min-height:36px;padding:0 12px;font-size:10.5px}.section-body .sb-btn.is-done{color:var(--d-screen);border-color:var(--d-screen)}.section-body .sb-link{color:var(--d-accent);font:500 11px/1 var(--d-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin-left:8px;padding:6px 2px;display:inline-flex}.section-body .sb-link .ic{width:15px;height:15px}.section-body .sb-link:hover{text-underline-offset:3px;text-decoration:underline}.section-body .chips{flex-wrap:wrap;gap:8px;margin:0 0 1.2em;padding:0;list-style:none;display:flex}.section-body .chip{font:400 11.5px/1.2 var(--d-mono);color:var(--d-ink2);border:1px solid var(--d-line);letter-spacing:.02em;border-radius:999px;align-items:center;padding:5px 11px;text-decoration:none;display:inline-flex}.section-body a.chip:hover{color:var(--d-accent);border-color:var(--d-accent)}.section-body .chip--sm{padding:2px 8px;font-size:10.5px}.section-body .also{flex-wrap:wrap;align-items:center;gap:8px;margin:1.4em 0;display:flex}.section-body .also-k{font:500 10.5px/1 var(--d-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--d-ink2);margin-right:4px}.section-body .sb-foot{font:400 12px/1.6 var(--d-mono);color:var(--d-ink2);margin-top:1.4em}.section-body .role-line{border-top:1px dashed var(--d-line);font:500 11px/1.4 var(--d-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--d-ink2);margin:1.8em 0 0;padding-top:14px}.pencil-rule{width:100%;height:8px;display:block;overflow:visible}.pencil-rule path{fill:none;stroke:var(--d-ink3);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-linecap:round}.pencil-rule path.p2{opacity:.55}.pencil-underline{width:calc(100% + 6px);height:10px;position:absolute;bottom:-7px;left:-2px;right:-4px;overflow:visible}.pencil-underline path{fill:none;stroke:var(--d-accent);stroke-width:1.3px;vector-effect:non-scaling-stroke;stroke-linecap:round;opacity:.85}.pencil-underline path.p2{opacity:.4}.pencil-tick{flex:none;width:18px;height:16px;overflow:visible}.pencil-tick path{fill:none;stroke:var(--d-accent);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.pencil-tick path.p2{stroke-width:1px;opacity:.45}.section-body .taglines{flex-direction:column;align-items:flex-start;gap:14px;margin:.4em 0 2em;padding:0;list-style:none;display:flex}.section-body .taglines li{font:italic 400 21px/1.2 var(--d-display);color:var(--d-ink);position:relative}.section-body .facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:1.8em 0 0;display:grid}.section-body .facts>div{border-top:1px dashed var(--d-line-soft);padding:12px 0}.section-body .facts dt{font:500 10.5px/1 var(--d-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--d-ink2);margin-bottom:7px}.section-body .facts dd{margin:0;font-size:15px;line-height:1.45}.section-body .now-live{font:400 25px/1.3 var(--d-display);margin-bottom:.5em}.section-body .now-sky{color:var(--d-ink2);font-size:15px}.section-body .now-sky:empty{display:none}.section-body .now-list{margin:1.6em 0 0}.section-body .now-list>div{border-top:1px dashed var(--d-line-soft);grid-template-columns:130px 1fr;gap:16px;padding:14px 0;display:grid}.section-body .now-list dt{font:500 10.5px/1.9 var(--d-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--d-accent)}.section-body .now-list dd{margin:0}.section-body .stat-hero{margin:.2em 0 1.2em}.section-body .stat-hero .big{font:400 104px/.9 var(--d-display);letter-spacing:-.03em;color:var(--d-ink);margin:0}.section-body .stat-hero .slash{color:var(--d-accent);margin:0 .06em;font-style:italic}.section-body .stat-copy{color:var(--d-ink2);margin:.5em 0 0;font-size:17px}.section-body .stat-hero--row{align-items:flex-end;gap:18px;display:flex}.section-body .stat-hero--row .stat-copy{font:500 11px/1.6 var(--d-mono);letter-spacing:.18em;text-transform:uppercase;margin:0 0 12px}.section-body .dotgrid-fig{border:1px solid var(--d-line-soft);border-radius:var(--d-hand-r);background:#0d0f1459;margin:0 0 1.8em;padding:16px}.section-body .dotgrid{width:100%;height:auto;display:block}.section-body .dg-off{fill:none;stroke:var(--d-ink3);stroke-width:.9px;stroke-linecap:round}.section-body .dg-on circle{fill:var(--d-accent)}.section-body .dg-on circle:nth-child(7n+3){animation:3.2s ease-in-out infinite d-pulse}.section-body .dg-on circle:nth-child(5n+1){animation:4.1s ease-in-out 1.3s infinite d-pulse}@keyframes d-pulse{0%,to{opacity:1}50%{opacity:.45}}.section-body .dotgrid-fig figcaption{font:400 12px/1.5 var(--d-mono);color:var(--d-ink2);margin-top:12px}.section-body .tools{grid-template-columns:minmax(0,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}.section-body .tool{border:1px solid var(--d-line);border-radius:var(--d-hand-r);padding:16px 18px;position:relative}.section-body .tool h4{font:500 14px/1.3 var(--d-mono);margin:0 0 6px}.section-body .tool p{color:var(--d-ink2);margin:0;font-size:15px}.section-body .tool .stack{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.section-body .tool .stack span{font:400 10.5px/1 var(--d-mono);color:var(--d-ink2);background:#0d0f1480;border-radius:4px;padding:4px 8px}.section-body .bars{gap:9px;margin:1.2em 0 1.4em;padding:0;list-style:none;display:grid}.section-body .bars li{grid-template-columns:92px 1fr 34px;align-items:center;gap:12px;display:grid}.section-body .bar-name{font:400 12px/1 var(--d-mono);color:var(--d-ink2)}.section-body .bar-n{font:500 12.5px/1 var(--d-mono);color:var(--d-ink);text-align:right}.section-body .bar{height:14px;position:relative}.section-body .bar i{width:calc(var(--v) * 1%);border:1px solid var(--d-ink2);transform-origin:0;background:repeating-linear-gradient(-55deg,#a9a4978c 0 1px,#0000 1px 5px);border-radius:1px 3px 2px 1px;position:absolute;top:0;bottom:0;left:0}.section-body .bars li.top i{border-color:var(--d-accent);background:repeating-linear-gradient(-55deg,#f2b544bf 0 1px,#0000 1px 4px)}.section-body .bars li.top .bar-name,.section-body .bars li.top .bar-n{color:var(--d-accent)}.sheet.is-open .section-body .bar i{animation:d-grow .7s var(--d-ease) both}.sheet.is-open .section-body .bars li:nth-child(n) i{animation-delay:calc(var(--v) * 2ms + 80ms)}@keyframes d-grow{0%{transform:scaleX(0)}to{transform:none}}.section-body .cols{grid-template-columns:1fr 1fr;gap:0 28px;display:grid}.section-body .cols .sb-h{margin-top:1.6em}.section-body .ticks{gap:10px;margin:0 0 1em;padding:0;list-style:none;display:grid}.section-body .ticks li{align-items:flex-start;gap:10px;display:flex}.section-body .ticks .pencil-tick{margin-top:3px}.section-body .nums{counter-reset:n;gap:10px;margin:0 0 1em;padding:0;list-style:none;display:grid}.section-body .nums li{counter-increment:n;gap:12px;display:flex}.section-body .nums li:before{content:counter(n, decimal-leading-zero);font:500 11px/2.1 var(--d-mono);color:var(--d-accent)}.section-body .motto{font:italic 400 28px/1.2 var(--d-display);color:var(--d-ink);margin:1.4em 0 .6em}.section-body .motto:before{content:"“";color:var(--d-accent);margin-right:.04em}.section-body .motto:after{content:"”";color:var(--d-accent);margin-left:.02em}.section-body .callout{border-left:2px solid var(--d-accent);background:linear-gradient(90deg, var(--d-amber-wash), transparent);margin:1.4em 0;padding:12px 18px}.section-body .callout p{font:400 21px/1.3 var(--d-display);margin:0}.section-body .callout .callout-k{font:500 10.5px/1.6 var(--d-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--d-accent);margin-bottom:4px}.section-body .repo-card{border:1px solid var(--d-line);border-radius:var(--d-hand-r);align-items:center;gap:14px;padding:14px 16px;display:flex}.section-body .repo-card>.ic{width:26px;height:26px;color:var(--d-ink2);flex:none}.section-body .repo-card p{margin:0}.section-body .repo-name{font:500 14px/1.4 var(--d-mono)}.section-body .lang{font:400 11.5px/1 var(--d-mono);color:var(--d-ink2);align-items:center;gap:6px;display:inline-flex}.section-body .lang:before{content:"";border:1px solid var(--d-ink2);border-radius:50%;width:8px;height:8px}.section-body .lang-javascript:before{background:var(--d-accent);border-color:var(--d-accent)}.section-body .lang-typescript:before{background:linear-gradient(90deg, var(--d-ink) 50%, transparent 50%);border-color:var(--d-ink)}.section-body .lang-python:before{border-color:var(--d-ink)}.section-body .projs{grid-template-columns:minmax(0,1fr);gap:14px;margin:0 0 1em;padding:0;list-style:none;display:grid}.section-body .projs>li,.section-body .tools>li,.section-body .notebooks>li{min-width:0}.section-body .proj{border:1px solid var(--d-line);border-radius:var(--d-hand-r);padding:18px 20px 14px;transition:border-color .16s,background .16s;position:relative}.section-body .proj:after{content:"";border:1px solid var(--d-ink3);border-radius:var(--d-hand-r2);opacity:.22;pointer-events:none;position:absolute;top:-3px;bottom:-1px;left:-3px;right:-2px;transform:rotate(-.25deg)}.section-body .proj:hover{border-color:var(--d-ink2);background:#0d0f144d}.section-body .proj.is-flash{animation:d-flash 1.6s var(--d-ease)}@keyframes d-flash{0%,40%{border-color:var(--d-accent);background:var(--d-amber-wash)}to{}}.section-body .proj-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.section-body .proj-name{font:500 15.5px/1.3 var(--d-mono);letter-spacing:-.01em;margin:0}.section-body .proj-name a{text-decoration:none}.section-body .proj-meta{gap:12px;margin:0;display:flex}.section-body .stars{font:400 11.5px/1 var(--d-mono);color:var(--d-accent)}.section-body .proj-blurb{color:var(--d-ink2);margin:8px 0 10px;font-size:15px;line-height:1.55}.section-body .proj--featured .proj-blurb{color:var(--d-ink)}.section-body .proj-links{font:500 11px/1 var(--d-mono);letter-spacing:.14em;text-transform:uppercase;gap:16px;margin:0;display:flex}.section-body .proj-links a{color:var(--d-ink2);padding:6px 0;text-decoration:none}.section-body .proj-links a:hover{color:var(--d-accent)}.section-body .install{border:1px solid var(--d-line-soft);background:var(--d-glass);border-radius:6px;align-items:stretch;margin:0 0 12px;display:flex;overflow:hidden}.section-body .install code{min-width:0;font:400 12px/1.5 var(--d-mono);color:var(--d-screen);white-space:nowrap;scrollbar-width:none;flex:1;padding:10px 12px;overflow-x:auto}.section-body .install code:before{content:"PS> ";color:var(--d-ink3)}.section-body .install-copy{border:0;border-left:1px solid var(--d-line-soft);min-width:44px;color:var(--d-ink2);cursor:pointer;font:500 10.5px/1 var(--d-mono);letter-spacing:.12em;text-transform:uppercase;background:0 0;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.section-body .install-copy .ic{width:15px;height:15px}.section-body .install-copy:hover{color:var(--d-accent)}.section-body .install-copy.is-done{color:var(--d-screen)}.section-body .timeline{margin:.4em 0 0;padding:0;list-style:none;position:relative}.section-body .timeline:before{content:"";background:repeating-linear-gradient(180deg, var(--d-ink3) 0 7px, transparent 7px 11px);width:1px;position:absolute;top:10px;bottom:16px;left:5px}.section-body .tl{padding:0 0 30px 34px;position:relative}.section-body .tl:before{content:"";border:1.3px solid var(--d-ink2);background:var(--d-bg2);border-radius:50% 45% 50% 48%;width:9px;height:9px;position:absolute;top:5px;left:0}.section-body .tl--now:before{border-color:var(--d-accent);background:var(--d-accent);box-shadow:0 0 0 4px #f2b54424}.section-body .tl-when{font:500 11px/1.4 var(--d-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--d-ink2);margin:0 0 6px}.section-body .tl--now .tl-when{color:var(--d-accent)}.section-body .tl-role{font:400 24px/1.15 var(--d-display);text-wrap:balance;margin:0 0 4px}.section-body .tl-org{margin:0 0 8px;font-size:15px;font-weight:500}.section-body .tl-sum{color:var(--d-ink2);margin:0 0 8px;font-size:15px}.section-body .tl-bullets{gap:5px;margin:0;padding:0;list-style:none;display:grid}.section-body .tl-bullets li{color:var(--d-ink2);padding-left:18px;font-size:14.5px;line-height:1.5;position:relative}.section-body .tl-bullets li:before{content:"–";color:var(--d-ink3);position:absolute;left:0}.section-body .diplomas{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:.4em 0 0;display:grid}.section-body .diploma{border:1px solid var(--d-line);outline:1px solid var(--d-line-soft);outline-offset:4px;text-align:center;background:radial-gradient(120% 90% at 50% 0,#f2b5440d,#0000 60%);border-radius:2px;padding:22px 22px 18px;position:relative}.section-body .dip-pennant{font:500 10px/1 var(--d-mono);letter-spacing:.4em;color:var(--d-accent);margin:0 0 12px}.section-body .dip-degree{font:400 27px/1.1 var(--d-display);margin:0 0 6px}.section-body .dip-school{margin:0 0 2px;font-size:15px;font-weight:500}.section-body .dip-place{margin:0 0 12px;font-size:13.5px}.section-body .dip-gpa{border-top:1px dashed var(--d-line-soft);font:400 34px/1 var(--d-display);color:var(--d-ink);margin:0;padding-top:10px}.section-body .dip-gpa span{font:500 10px/1 var(--d-mono);letter-spacing:.24em;color:var(--d-ink2);vertical-align:middle;margin-right:6px}.section-body .oss{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 20px;margin:0 0 1.2em;padding:0;list-style:none;display:grid}.section-body .oss li{align-items:center;gap:10px;min-width:0;display:flex}.section-body .oss-name{font:400 13.5px/1.3 var(--d-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.section-body .notebooks{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 1.2em;padding:0;list-style:none;display:grid}.section-body .nb a{height:100%;color:var(--d-ink);border:1px solid var(--d-line);transition:transform .16s var(--d-ease), border-color .16s;background:linear-gradient(90deg,#0d0f148c 0 10px,#0000 10px);border-radius:2px 8px 8px 2px;flex-direction:column;gap:6px;padding:16px 16px 16px 24px;text-decoration:none;display:flex;position:relative}.section-body .nb a:before{content:"";background:var(--d-line);width:1px;position:absolute;top:0;bottom:0;left:10px}.section-body .nb a:hover{border-color:var(--d-accent);color:var(--d-ink);transform:translateY(-2px)rotate(-.3deg)}.section-body .nb-no{font:400 10px/1 var(--d-mono);color:var(--d-ink3);letter-spacing:.14em}.section-body .nb-topic{font:500 10px/1.3 var(--d-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--d-accent)}.section-body .nb-title{font:400 21px/1.15 var(--d-display);text-wrap:balance}.section-body .nb-detail{color:var(--d-ink2);font-size:13.5px;line-height:1.45}.section-body .email-big{flex-wrap:wrap;align-items:center;gap:12px 16px;margin:.2em 0 .6em;display:flex}.section-body .email-big a{font:400 clamp(26px, 4.6vw, 36px)/1.1 var(--d-display);-webkit-text-decoration-color:var(--d-accent);text-decoration-color:var(--d-accent);text-underline-offset:6px;word-break:break-all}.section-body .clocks-pair{grid-template-columns:1fr 1fr;gap:16px;margin:1.8em 0 1.2em;display:grid}.section-body .clk{border:1px solid var(--d-line-soft);border-radius:var(--d-hand-r);padding:14px 16px}.section-body .clk p{margin:0}.section-body .clk-k{font:500 10.5px/1 var(--d-mono);letter-spacing:.26em;color:var(--d-accent)}.section-body .clk-t{font:400 30px/1.25 var(--d-display);font-variant-numeric:tabular-nums;margin:8px 0 2px!important}.section-body .clk-n{font:400 19px/1.1 var(--d-hand);color:var(--d-ink2)}.section-body .hint-line{color:var(--d-ink2);font-size:15px}.section-body .keys{border-collapse:collapse;width:100%;margin-bottom:1em}.section-body .keys td{border-top:1px dashed var(--d-line-soft);vertical-align:middle;padding:10px 0}.section-body .keys td:first-child{white-space:nowrap;width:46%}.section-body .keys kbd+kbd{margin-left:4px}.section-body .index-list{margin:0;padding:0;list-style:none}.section-body .index-item{border:0;border-top:1px dashed var(--d-line-soft);width:100%;min-height:48px;color:var(--d-ink);cursor:pointer;text-align:left;background:0 0;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:0 4px;display:grid}.section-body .index-n{font:400 11px/1 var(--d-mono);color:var(--d-ink3)}.section-body .index-label{font:500 12.5px/1.2 var(--d-mono);letter-spacing:.2em}.section-body .index-kind{font:400 10px/1 var(--d-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--d-ink2)}.section-body .index-item:hover .index-label{color:var(--d-accent)}@media (max-width:560px){.section-body .facts,.section-body .cols,.section-body .notebooks,.section-body .clocks-pair{grid-template-columns:1fr}.section-body .oss{grid-template-columns:1fr 1fr;gap:10px 12px}.section-body .oss-name{font-size:12.5px}.section-body .stat-hero .big{font-size:84px}.section-body .now-list>div{grid-template-columns:1fr;gap:4px}.section-body .bars li{grid-template-columns:84px 1fr 30px;gap:10px}}.reduced-motion .sheet,.reduced-motion .sheet-scroll,.reduced-motion .sheet-head{transition:opacity 80ms linear!important;transform:none!important}.reduced-motion .section-body *,.reduced-motion .sheet-close{transition-duration:80ms!important;animation:none!important}@media (prefers-reduced-motion:reduce){.section-body *,.sheet{animation:none!important}}.reduced-motion .sheet:not(.is-open){opacity:0!important}.os-wrap{position:fixed;top:0;bottom:0;left:0;right:0;pointer-events:none!important}.os-wrap.os-wrap--float{background:radial-gradient(80% 80%,#0506088c,#050608db);pointer-events:auto!important}@supports ((-webkit-backdrop-filter:blur(3px)) or (backdrop-filter:blur(3px))){.os-wrap.os-wrap--float{-webkit-backdrop-filter:blur(3px)saturate(.8);backdrop-filter:blur(3px)saturate(.8)}}.os-wrap--float .os-screen{border-radius:10px;box-shadow:0 0 0 1px #a9a49759,0 0 0 10px #0b0d12,0 0 0 11px #6b675e73,0 50px 120px #000000b3}.os{transform-origin:0 0;pointer-events:auto;width:960px;height:620px;color:var(--d-ink);font-family:var(--d-body);opacity:0;contain:layout;transition:opacity .22s;position:absolute;top:0;left:0}.os.is-in{opacity:1}.os-screen{background:repeating-linear-gradient(180deg, #ffffff04 0 1px, transparent 1px 3px), radial-gradient(120% 100% at 50% 40%, #0f1219 0%, var(--d-glass) 70%);border-radius:4px;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;box-shadow:inset 0 0 0 1px #6b675e59,inset 0 0 60px #0009}.os-top{height:30px;font:500 11px/1 var(--d-mono);color:var(--d-ink2);letter-spacing:.06em;border-bottom:1px solid #6b675e66;flex:none;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 14px;display:grid}.os-brand{color:var(--d-ink);align-items:center;gap:8px;display:inline-flex}.os-brand-ic{width:14px;height:14px;color:var(--d-accent)}.os-url{color:var(--d-ink2);letter-spacing:.12em}.os-clock{font-variant-numeric:tabular-nums;color:var(--d-ink);justify-self:end;gap:10px;display:inline-flex}.os-clock-z{color:var(--d-ink2);text-transform:uppercase;letter-spacing:.2em;font-size:10px}.os-body{flex:1;min-height:0;display:flex;position:relative}.os-dock{border-right:1px solid #6b675e4d;flex-direction:column;flex:none;align-items:center;gap:6px;width:60px;padding:12px 0;display:flex}.os-dock-btn{width:42px;height:42px;color:var(--d-ink2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;transition:color .12s,border-color .12s,background .12s;display:grid;position:relative}.os-dock-btn .ic{width:21px;height:21px}.os-dock-btn:hover{color:var(--d-ink);border-color:#6b675e80}.os-dock-btn.is-open:after{content:"";background:var(--d-ink2);border-radius:50%;width:3px;height:3px;margin-top:-1.5px;position:absolute;top:50%;left:-9px}.os-dock-btn.is-active{color:var(--d-accent);background:var(--d-amber-wash);border-color:#f2b54459}.os-dock-btn.is-active:after{background:var(--d-accent);border-radius:2px;height:12px;margin-top:-6px}.os-dock-btn:focus-visible{outline:1.5px dashed var(--d-accent);outline-offset:2px}.os-back:focus-visible{outline:1.5px dashed var(--d-accent);outline-offset:2px}.os-win-x:focus-visible{outline:1.5px dashed var(--d-accent);outline-offset:2px}.os-tip{background:var(--d-bg2);font:500 10.5px/1 var(--d-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--d-ink);white-space:nowrap;opacity:0;pointer-events:none;z-index:900;border:1px solid #6b675e99;border-radius:4px;padding:5px 8px;transition:opacity .12s,transform .12s;position:absolute;top:50%;left:calc(100% + 10px);transform:translate(-4px,-50%)}.os-dock-btn:hover .os-tip{opacity:1;transform:translateY(-50%)}.os-dock-btn:focus-visible .os-tip{opacity:1;transform:translateY(-50%)}.os-dock-sep{background:#6b675e66;width:22px;height:1px;margin:6px 0}.os-dock-room{margin-top:auto}.os-desk{background-image:radial-gradient(#6b675e38 1px,#0000 1.2px);background-position:12px 12px;background-size:24px 24px;flex:1;min-width:0;position:relative}.os-win{background:var(--d-bg2);border:1px solid #6b675e8c;border-radius:6px;flex-direction:column;min-width:240px;min-height:160px;display:flex;position:absolute;overflow:hidden;box-shadow:0 20px 44px -12px #000000a6}.os-win.is-front{border-color:#a9a497b3;box-shadow:0 24px 60px -12px #000c}.os-win-bar{cursor:default;-webkit-user-select:none;user-select:none;background:#0a0c118c;border-bottom:1px solid #6b675e66;flex:none;align-items:center;gap:10px;height:30px;padding:0 6px 0 12px;display:flex;position:relative}@media (pointer:fine){.os:not(.os--full) .os-win-bar{cursor:grab}.os-win.is-drag .os-win-bar{cursor:grabbing}}.os-win-dots{gap:5px;display:inline-flex}.os-win-dots i{border:1px solid var(--d-ink3);border-radius:50%;width:8px;height:8px}.os-win.is-front .os-win-dots i:first-child{border-color:var(--d-accent);background:var(--d-accent)}.os-win-title{font:500 11px/1 var(--d-mono);letter-spacing:.08em;color:var(--d-ink2);text-align:center;white-space:nowrap;text-overflow:ellipsis;outline:none;flex:1;margin:0;overflow:hidden}.os-win.is-front .os-win-title{color:var(--d-ink)}.os-win-x{width:26px;height:26px;color:var(--d-ink3);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;display:grid}.os-win-x .ic{width:14px;height:14px}.os-win-x:hover{color:var(--d-accent);background:#f2b54414}.os-win-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--d-ink3) transparent;flex:1;min-height:0;overflow:auto}.os-win--terminal .os-win-body{background:var(--d-glass);overflow:hidden}.os .os-doc{padding:16px 18px 20px;font-size:14px;line-height:1.6}.os .os-doc .lede{font-size:19px}.os .os-doc .lede--sm{font-size:17px}.os .os-doc .proj{padding:14px 16px 12px}.os .os-doc .proj-blurb{font-size:13.5px}.os .os-doc .proj-name{font-size:14px}.os .os-doc .projs{gap:12px}.os .os-doc .taglines li{font-size:18px}.os .os-doc .facts dd{font-size:13.5px}.os .os-md-h{font:500 13px/1 var(--d-mono);color:var(--d-accent);margin:0 0 12px}.os-resume{font:400 11.5px/1.6 var(--d-mono);color:var(--d-ink);white-space:pre;margin:0;padding:16px 20px 24px}.os-links{margin:0;padding:8px;list-style:none}.os-links a{color:var(--d-ink);border-radius:6px;grid-template-rows:auto auto;grid-template-columns:22px 1fr;align-items:center;column-gap:12px;padding:10px 12px;text-decoration:none;display:grid}.os-links a:hover{background:var(--d-amber-wash);outline:none}.os-links a:focus-visible{background:var(--d-amber-wash);outline:none}.os-links a:hover .ic{color:var(--d-accent)}.os-links .ic{width:20px;height:20px;color:var(--d-ink2);grid-row:span 2}.os-link-l{font:500 13px/1.3 var(--d-body)}.os-link-h{font:400 11px/1.3 var(--d-mono);color:var(--d-ink2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.os-foot{height:28px;font:500 10px/1 var(--d-mono);letter-spacing:.22em;color:var(--d-ink3);border-top:1px solid #6b675e59;flex:none;justify-content:space-between;align-items:center;padding:0 14px;display:flex}.os-back{color:var(--d-ink2);font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;padding:6px 0}.os-back:hover{color:var(--d-accent)}.os-status{text-transform:uppercase;align-items:center;gap:8px;display:inline-flex}.os-dot{background:var(--d-accent);border-radius:50%;width:6px;height:6px;animation:2.4s ease-in-out infinite os-blink}@keyframes os-blink{50%{opacity:.3}}.os.os--full{position:fixed;top:0;bottom:0;left:0;right:0;width:100%!important;height:100%!important;transform:none!important}.os--full .os-screen{box-shadow:none;border-radius:0}.os--full .os-top{height:40px;padding-top:env(safe-area-inset-top)}.os--full .os-win{box-shadow:none;border:0;border-radius:0;z-index:auto!important;width:100%!important;height:100%!important;top:0!important;left:0!important}.os--full .os-win:not(.is-front),.os--full .os-win-x{display:none}.os--full .os-desk{background:0 0}@media (max-width:760px),(max-aspect-ratio:9/10){.os--full .os-body{flex-direction:column-reverse}.os--full .os-dock{border-top:1px solid #6b675e59;border-right:0;flex-direction:row;justify-content:space-around;width:auto;height:56px;padding:0 6px}.os--full .os-dock-btn{width:44px;height:44px}.os--full .os-dock-sep{display:none}.os--full .os-dock-room{margin-top:0}.os--full .os-dock-btn.is-open:after{margin:0 0 0 -1.5px;top:auto;bottom:-5px;left:50%}.os--full .os-dock-btn.is-active:after{width:12px;height:2px;margin-left:-6px}.os--full .os-tip,.os--full .os-url{display:none}.os--full .os-top{grid-template-columns:1fr auto}.os--full .os-foot{height:calc(34px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.os--full .os-status{display:none}.os--full .os-resume{white-space:pre-wrap;font-size:10.5px}}.term{background:var(--d-glass);height:100%;color:var(--d-screen);font:400 12.5px/1.55 var(--d-mono);cursor:text;flex-direction:column;display:flex;position:relative}.term:after{content:"";pointer-events:none;background:radial-gradient(120% 80% at 50% 0,#8fe3c00a,#0000 60%);position:absolute;top:0;bottom:0;left:0;right:0}.term-out{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8fe3c040 transparent;flex:1;min-height:0;padding:12px 14px 2px;overflow-y:auto}.t-row{white-space:pre-wrap;word-break:break-word;min-height:1.55em}.t-row+.t-echo{margin-top:8px}.t-pre{white-space:pre-wrap}.t-echo{color:var(--d-ink)}.t-prompt,.term-prompt{color:var(--d-screen)}.t-dim{color:var(--d-ink2)}.t-err{color:var(--d-accent)}.t-ok{color:var(--d-screen)}.t-hi{color:var(--d-ink);font-weight:500}.t-key{color:var(--d-accent)}.t-cmd{color:var(--d-screen)}.t-indent{color:var(--d-ink2);padding-left:2ch;display:inline-block}.t-dir{color:var(--d-accent)}.t-file{color:var(--d-screen)}.term a{color:var(--d-screen);text-underline-offset:2px;-webkit-text-decoration:underline #8fe3c066;text-decoration:underline #8fe3c066}.term a:hover,.term a.t-hi{color:var(--d-ink)}.t-cols{grid-template-columns:repeat(auto-fill,minmax(18ch,1fr));gap:0 2ch;display:grid}.term-help p{grid-template-columns:minmax(15ch,17ch) 1fr;gap:2ch;margin:0;display:grid}.term-help p.t-group{color:var(--d-ink2);text-transform:uppercase;letter-spacing:.16em;margin-top:8px;font-size:10.5px;display:block}.term-help p.t-group:first-child{margin-top:0}.term-help .t-desc{color:var(--d-ink2)}.term-fetch{flex-wrap:wrap;align-items:flex-start;gap:4px 22px;padding:4px 0;display:flex}.t-art{color:var(--d-accent);font:inherit;margin:0;line-height:1.3}.t-info p{white-space:pre-wrap;margin:0}.t-swatches{gap:0;margin-top:4px;display:inline-flex}.sw{width:18px;height:12px;display:inline-block}.sw-bg2{background:var(--d-bg2);outline-offset:-1px;outline:1px solid #6b675e66}.sw-ink3{background:var(--d-ink3)}.sw-ink2{background:var(--d-ink2)}.sw-ink{background:var(--d-ink)}.sw-accent{background:var(--d-accent)}.sw-neon{background:var(--neon,#ff5a5f)}.sw-screen{background:var(--d-screen)}.sw-sky{background:#1a2438}.t-try{color:var(--d-screen);font:inherit;cursor:pointer;background:0 0;border:1px dashed #8fe3c066;border-radius:3px;margin:0 4px 4px 0;padding:1px 7px}.t-try:hover{background:#8fe3c014;border-style:solid;outline:none}.t-try:focus-visible{background:#8fe3c014;border-style:solid;outline:none}.term-line{align-items:baseline;gap:1ch;margin:0;padding:4px 14px 12px;display:flex;position:relative}.term-prompt{white-space:nowrap;flex:none}.term-field{flex:1;min-width:0;min-height:1.55em;position:relative}.term-mirror{white-space:pre-wrap;word-break:break-all;color:var(--d-ink);pointer-events:none;display:block}.term-in{color:#0000;caret-color:#0000;width:100%;height:100%;font:inherit;opacity:0;background:0 0;border:0;outline:none;margin:0;padding:0;position:absolute;top:0;bottom:0;left:0;right:0}.term-cursor{min-width:1ch;color:var(--d-glass);background:var(--d-screen);display:inline-block;box-shadow:0 0 10px #8fe3c073}.term:not(.is-focused) .term-cursor{color:var(--d-ink);box-shadow:inset 0 0 0 1px var(--d-screen);background:0 0}.term.is-focused .term-cursor{animation:1.06s step-end infinite term-blink}@keyframes term-blink{50%{color:var(--d-ink);box-shadow:none;background:0 0}}.term.is-bell{animation:.18s linear term-bell}@keyframes term-bell{50%{background:#10161a}}.os--full .term{font-size:13px}.reduced-motion .os,.reduced-motion .os *{transition-duration:80ms!important}.reduced-motion .term-cursor,.reduced-motion .os-dot{animation:none!important}#palette-root{z-index:70;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}#palette-root.is-active{pointer-events:auto}#palette-root [hidden]{display:none!important}.pal-scrim{opacity:0;background:#05060894;transition:opacity .16s;position:fixed;top:0;bottom:0;left:0;right:0}@supports ((-webkit-backdrop-filter:blur(2px)) or (backdrop-filter:blur(2px))){.pal-scrim{-webkit-backdrop-filter:blur(2px)saturate(.8);backdrop-filter:blur(2px)saturate(.8)}}.pal-scrim.is-open{opacity:1}.pal{width:min(620px,100vw - 32px);max-height:72vh;color:var(--d-ink);font-family:var(--d-body);background-color:var(--d-bg2);background-image:var(--d-grain);background-blend-mode:soft-light;border:1px solid var(--d-line);border-radius:var(--d-hand-r);opacity:0;transition:transform .18s var(--d-ease), opacity .14s ease;background-size:180px 180px;flex-direction:column;display:flex;position:fixed;top:13vh;left:50%;overflow:hidden;transform:translate(-50%,-8px)scale(.985);box-shadow:0 40px 100px -20px #000c,0 0 0 1px #0006}.pal:after{content:"";border:1px solid var(--d-ink3);border-radius:var(--d-hand-r2);opacity:.3;pointer-events:none;position:absolute;top:-3px;bottom:-1px;left:-3px;right:-2px;transform:rotate(-.2deg)}.pal.is-open{opacity:1;transform:translate(-50%)}.pal-field{border-bottom:1px solid var(--d-line-soft);flex:none;align-items:center;gap:12px;padding:0 16px;display:flex;position:relative}.pal-search-ic{width:18px;height:18px;color:var(--d-accent);flex:none}.pal-input{min-width:0;height:58px;color:var(--d-ink);font:400 18px/1 var(--d-body);caret-color:var(--d-accent);background:0 0;border:0;outline:none;flex:1}.pal-input::placeholder{color:var(--d-ink2);opacity:.8}.pal kbd{font:500 10.5px/1.3 var(--d-mono);color:var(--d-ink2);border:1px solid var(--d-line);background:var(--d-bg);border-bottom-width:2px;border-radius:4px;padding:2px 6px;display:inline-block}.pal-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--d-ink3) transparent;margin:0;padding:6px 8px 10px;list-style:none;overflow-y:auto}.pal-group{font:500 10px/1 var(--d-mono);letter-spacing:.26em;text-transform:uppercase;color:var(--d-ink2);padding:14px 10px 6px}.pal-item{cursor:pointer;min-height:44px;color:var(--d-ink);border-radius:6px;grid-template-columns:20px 1fr auto 16px;align-items:center;gap:12px;padding:0 12px;display:grid;position:relative}.pal-item .ic{width:18px;height:18px;color:var(--d-ink2)}.pal-label{text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.3;overflow:hidden}.pal-label mark{color:var(--d-accent);text-underline-offset:3px;background:0 0;text-decoration:underline;text-decoration-thickness:1px}.pal-hint{font:400 11.5px/1 var(--d-mono);color:var(--d-ink2);white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}.pal-enter{font:400 12px/1 var(--d-mono);color:var(--d-accent);opacity:0}.pal-item.is-sel{background:var(--d-amber-wash)}.pal-item.is-sel:before{content:"";background:var(--d-accent);border-radius:2px;width:2px;position:absolute;top:10px;bottom:10px;left:0}.pal-item.is-sel .ic{color:var(--d-accent)}.pal-item.is-sel .pal-enter{opacity:1}.pal-empty{text-align:center;font:400 22px/1.2 var(--d-hand);color:var(--d-ink2);padding:28px 12px}.pal-foot{border-top:1px solid var(--d-line-soft);font:400 10.5px/1 var(--d-mono);letter-spacing:.06em;color:var(--d-ink2);flex:none;align-items:center;gap:18px;margin:0;padding:10px 16px;display:flex}.pal-foot kbd{margin-right:4px}.pal-foot .pal-k{letter-spacing:.14em;text-transform:uppercase;color:var(--d-ink3);margin-left:auto}@media (max-width:560px){.pal{max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);top:10px}.pal-foot{display:none}.pal-hint{max-width:120px}}.reduced-motion .pal,.reduced-motion .pal-scrim{transition:opacity 80ms linear!important;transform:translate(-50%)!important}html:not(.mode-3d) #page{min-height:100vh;color:var(--d-ink);background:var(--d-bg);font-family:var(--d-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;outline:none;display:block;position:relative}html:not(.mode-3d) #page:before{content:"";z-index:0;pointer-events:none;background-image:var(--d-grain);opacity:.07;mix-blend-mode:soft-light;background-size:180px 180px;position:fixed;top:0;bottom:0;left:0;right:0}html:not(.mode-3d) #page:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(90% 70% at 50% 0,#f2b5440b,#0000 60%),radial-gradient(#0000 60%,#00000059 100%);position:fixed;top:0;bottom:0;left:0;right:0}#page>*{z-index:1;position:relative}#page ::selection{color:var(--d-ink);background:#f2b5444d}#page a:focus-visible{outline:1.5px dashed var(--d-accent);outline-offset:3px}#page button:focus-visible{outline:1.5px dashed var(--d-accent);outline-offset:3px}#page h2:focus-visible{outline:1.5px dashed var(--d-accent);outline-offset:3px}#page h2:focus:not(:focus-visible){outline:none}.page-bar{border-bottom:1px solid var(--d-line-soft);background:#0d0f14db;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;height:58px;padding:0 max(20px,50vw - 560px);display:grid;top:0;z-index:5!important;position:sticky!important}@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){.page-bar{-webkit-backdrop-filter:blur(10px)saturate(1.1);backdrop-filter:blur(10px)saturate(1.1);background:#0d0f14b8}}.page-name{font:400 22px/1 var(--d-display);color:var(--d-ink);white-space:nowrap;text-decoration:none}.page-name:hover{color:var(--d-accent)}.page-nav{scrollbar-width:none;justify-content:center;gap:4px;padding:0 8px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 12px calc(100% - 12px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 12px calc(100% - 12px),#0000 100%)}.page-nav::-webkit-scrollbar{display:none}.page-nav a{font:500 10.5px/1 var(--d-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--d-ink2);border-radius:4px;flex:none;padding:10px 9px;text-decoration:none;position:relative}.page-nav a:hover{color:var(--d-ink)}.page-nav a[aria-current]{color:var(--d-accent)}.page-nav a[aria-current]:after{content:"";background:var(--d-accent);height:1px;position:absolute;bottom:3px;left:9px;right:9px;transform:rotate(-1deg)}.page-bar-actions{gap:8px;display:flex}.page-chip{height:36px;font:500 10.5px/1 var(--d-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--d-ink);border:1px solid var(--d-line);border-radius:var(--d-hand-r);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:8px;padding:0 12px;transition:color .12s,border-color .12s;display:inline-flex}.page-chip .ic{width:15px;height:15px}.page-chip:hover{color:var(--d-accent);border-color:var(--d-accent)}.page-room{color:var(--d-accent);background:var(--d-amber-wash);border-color:#f2b5448c}.no-webgl .page-room{display:none!important}.page-hero{grid-template-columns:minmax(0,1fr) 240px;align-items:end;gap:40px;max-width:1000px;margin:0 auto;padding:clamp(64px,14vh,150px) 24px 24px;display:grid}.page-hero .kicker{font:500 11px/1 var(--d-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--d-accent);margin:0 0 18px}.page-hero h1{font:400 clamp(64px, 11vw, 132px)/.88 var(--d-display);letter-spacing:-.035em;color:var(--d-ink);margin:0}.hero-role{font:500 12px/1.4 var(--d-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--d-ink2);margin:22px 0 0}.hero-lede{max-width:20em;font:400 clamp(28px, 3.4vw, 40px)/1.14 var(--d-display);color:var(--d-ink);text-wrap:balance;margin:30px 0 0}.hero-sub{max-width:34em;color:var(--d-ink2);margin:16px 0 0;font-size:17px;line-height:1.6}.hero-links{font:500 11.5px/1 var(--d-mono);letter-spacing:.1em;flex-wrap:wrap;gap:8px 22px;margin:28px 0 0;display:flex}.hero-links a{color:var(--d-ink);border-bottom:1px solid var(--d-line);padding:8px 0;text-decoration:none}.hero-links a:hover{color:var(--d-accent);border-color:var(--d-accent)}.hero-links .ext-arrow{color:var(--d-ink2);margin-left:.3em}.hero-robot{text-align:center;margin:0}.robot-sketch{width:190px;height:auto;overflow:visible}.robot-sketch .rb-ink{fill:none;stroke:var(--d-ink);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.robot-sketch .rb-ink.p2{stroke:var(--d-ink2);stroke-width:.9px;opacity:.6}.robot-sketch .rb-bulb{fill:var(--d-accent);filter:drop-shadow(0 0 6px #f2b544cc)}.robot-sketch .rb-eye{fill:var(--d-accent)}.robot-sketch .rb-07{font:500 15px/1 var(--d-mono);fill:var(--d-ink2);letter-spacing:.08em}.hero-robot figcaption{font:500 21px/1.1 var(--d-hand);color:var(--d-ink2);margin-top:4px;transform:rotate(-3deg)}.js .hero-robot .rb-eye{transform-box:fill-box;transform-origin:50%;animation:5s infinite pg-blink}@keyframes pg-blink{0%,94%,to{transform:none}96%{transform:scaleY(.1)}}.page-sec{max-width:760px;margin:0 auto;padding:104px 24px 0;scroll-margin-top:48px}.page-sec>.kicker{font:500 11px/1 var(--d-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--d-accent);margin:0 0 14px}.page-sec>h2{font:400 clamp(42px, 6.4vw, 60px)/1 var(--d-display);letter-spacing:-.02em;color:var(--d-ink);margin:0 0 16px}.page-sec>.pencil-rule{height:8px;margin:0 0 30px}.page-sec .section-body{font-size:17px}.page-sec .section-body .lede{font-size:24px}.page-sec .section-body .lede--sm{font-size:21px}.page-sec .section-body--projects .projs{grid-template-columns:repeat(2,minmax(0,1fr))}.page-sec .section-body--projects .proj--featured:first-child{grid-column:1/-1}.page-sec .section-body--sts .dotgrid-fig{padding:22px}.page-sec .section-body--opensource .oss,.page-sec .section-body--writing .notebooks{grid-template-columns:repeat(3,minmax(0,1fr))}.page-sec .section-body--sts .tools{grid-template-columns:repeat(2,minmax(0,1fr))}.page-foot{max-width:760px;color:var(--d-ink2);margin:128px auto 0;padding:0 24px 72px;font-size:14px}.page-foot .pencil-rule{margin-bottom:28px}.page-foot p{margin:0 0 10px}.page-foot p:first-of-type{font:400 22px/1.3 var(--d-display);color:var(--d-ink)}.page-foot a{color:var(--d-ink);text-decoration:underline;-webkit-text-decoration-color:var(--d-ink3);text-decoration-color:var(--d-ink3);text-underline-offset:3px}.page-foot a:hover{color:var(--d-accent)}.page-foot .muted{font:400 11.5px/1.6 var(--d-mono);color:var(--d-ink2);margin-top:18px}.page-foot .ext-arrow{margin-left:.15em;font-size:.85em}.page-toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:80;max-width:calc(100vw - 32px);font:500 11.5px/1.3 var(--d-mono);letter-spacing:.1em;color:var(--d-ink);background:var(--d-bg2);border:1px solid var(--d-line);border-radius:var(--d-hand-r);opacity:0;pointer-events:none;transition:opacity .16s, transform .2s var(--d-ease);padding:11px 16px;position:fixed;transform:translate(-50%,12px);box-shadow:0 16px 40px #00000080}.page-toast.is-on{opacity:1;transform:translate(-50%)}@media (max-width:900px){.page-bar{grid-template-rows:52px 40px;grid-template-columns:1fr auto;gap:0 12px;height:auto}.page-nav{border-top:1px solid var(--d-line-soft);grid-area:2/1/auto/-1;justify-content:flex-start;margin:0 -8px}.page-sec{scroll-margin-top:96px}}@media (max-width:640px){.page-bar{padding:0 16px}.page-room span{display:none}.page-room{padding:0 10px}.page-hero{grid-template-columns:1fr;gap:12px;padding:56px 16px 8px}.page-hero h1{font-size:clamp(56px,17vw,84px)}.hero-robot{text-align:left;order:-1;align-items:center;gap:10px;display:flex}.robot-sketch{width:86px}.hero-robot figcaption{font-size:19px}.page-sec{padding:80px 16px 0}.page-sec .section-body{font-size:16px}.page-sec .section-body--projects .projs,.page-sec .section-body--sts .tools,.page-sec .section-body--writing .notebooks{grid-template-columns:minmax(0,1fr)}.page-hero .kicker{letter-spacing:.22em;font-size:10px;line-height:1.6}.page-sec .section-body--opensource .oss{grid-template-columns:1fr 1fr}.page-foot{margin-top:96px;padding:0 16px 56px}}@media (min-width:641px) and (max-width:900px){.page-sec .section-body--writing .notebooks{grid-template-columns:repeat(2,minmax(0,1fr))}}html:not(.js) #page{display:block}html:not(.js) #stage-wrap,html:not(.js) #chrome,html:not(.js) #hotspot-nav,html:not(.js) #overlay-root,html:not(.js) #palette-root{display:none!important}@media print{@page{margin:16mm 15mm}.section-body .proj-links,.section-body .sb-actions,.section-body .hint-line{display:none!important}.section-body .proj-name a:after{font-weight:400}html,body,.mode-3d,.mode-3d body{background:#fff!important;height:auto!important;overflow:visible!important}#stage-wrap,#chrome,#hotspot-nav,#overlay-root,#palette-root,.page-bar,.page-toast,.hero-robot,.js-only,.skip-link,#grain,#vignette{display:none!important}#page,.mode-3d #page,.mode-page #page{--d-bg:#fff;--d-bg2:#fff;--d-glass:#f4f4f2;--d-ink:#111;--d-ink2:#444;--d-ink3:#999;--d-accent:#000;--d-screen:#111;--d-line:#bbb;--d-line-soft:#ddd;--d-amber-wash:transparent;font-size:11pt;clip:auto!important;clip-path:none!important;white-space:normal!important;color:#111!important;background:#fff!important;width:auto!important;height:auto!important;position:static!important;overflow:visible!important}#page:before,#page:after{display:none!important}.page-hero{padding:0 0 12pt;display:block}.page-hero h1{font-size:44pt}.page-sec{break-inside:auto;max-width:none;padding:20pt 0 0}.page-sec>h2{break-after:avoid;font-size:26pt}.page-sec .section-body{font-size:10.5pt}.page-sec .section-body .lede{font-size:13pt}.section-body .proj,.section-body .tool,.section-body .tl,.section-body .diploma,.section-body .nb a,.section-body .clk{break-inside:avoid}.section-body .dg-on circle{fill:#000;animation:none!important}.section-body .bar i{animation:none!important}.section-body a[href^=http]:not(.chip):not(.sb-btn):after{content:" (" attr(href) ")";color:#555;word-break:break-all;font-size:8.5pt}.section-body .ext-arrow,.section-body .proj:after,.section-body .sb-btn:after{display:none}.page-sec .section-body--projects .projs,.page-sec .section-body--writing .notebooks,.page-sec .section-body--sts .tools{grid-template-columns:1fr 1fr}.page-foot{margin-top:24pt;padding:0}}
