@layer tokens{:root{--accent-l:.74;--accent-c:.16;--accent-center:38;--accent-drift:0;--accent-h:calc(var(--accent-center) + var(--accent-drift));--accent:oklch(var(--accent-l) var(--accent-c) var(--accent-h));--bg:var(--lightningcss-light,oklch(96.1% .008 91))var(--lightningcss-dark,oklch(15.5% .004 85));--fg:var(--lightningcss-light,oklch(20.9% .009 264))var(--lightningcss-dark,oklch(91.6% .013 87));--muted:var(--lightningcss-light,oklch(47.5% .018 270))var(--lightningcss-dark,oklch(70.8% .025 93));--faint:var(--lightningcss-light,oklch(50% .014 92))var(--lightningcss-dark,oklch(65.5% .025 87));--line:var(--lightningcss-light,oklch(88% .017 88))var(--lightningcss-dark,oklch(25.8% .007 68));--line-strong:var(--lightningcss-light,oklch(80.6% .02 88))var(--lightningcss-dark,oklch(33.2% .014 76));--rec:"Recursive", "Recursive Fallback", system-ui, sans-serif;--rec-mono:"Recursive", "Recursive Mono Fallback", ui-monospace, monospace;--polaroid-paper:oklch(92% .01 85);--polaroid-ink:oklch(28% .02 70);--board-back:var(--lightningcss-light,oklch(30% .001 85))var(--lightningcss-dark,oklch(16.9% .002 286));--board-plate:var(--lightningcss-light,oklch(27% .001 85))var(--lightningcss-dark,oklch(15.5% .002 286));--grid-cell:clamp(46px, 3.19vw, 90px);--grid-edge:1;--rail-cells:4;--portrait-cells:10;--grid-inset:calc(mod(100vw, var(--grid-cell)) / 2 + var(--grid-edge) * var(--grid-cell));--toolbar-block-size:calc(var(--grid-oy,0px) + var(--grid-cell));--footer-block-size:calc(mod(100dvh - var(--grid-oy,0px), var(--grid-cell)) + var(--grid-cell));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--z-backdrop:-1;--z-bg-dots:0;--z-fx-canvas:1;--z-content:2;--z-text-fx:3;--z-debug-canvas:5;--z-grain:6;--z-debug-info:7;--z-chrome:8;--z-debug-diag:9;--z-preloader:22;--z-sweep:29;--z-chaos-reset:30;--z-grid-overlay:40;--z-wipe:50;scroll-padding-block-start:var(--toolbar-block-size)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (900px<width<=1200px){:root{--side-pad-block:16px;--side-portrait-size:min(38vw, 100dvh - var(--toolbar-block-size) - var(--footer-block-size) - 2 * var(--side-pad-block) - var(--grid-cell))}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--accent-l:.5;--accent-c:.19;--accent-center:22}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}@layer base{*{box-sizing:border-box}html,body{height:100%}html{overflow-x:clip}.effect-filter-bank{pointer-events:none;position:absolute}body:before{content:"";z-index:var(--z-backdrop);pointer-events:none;background-image:radial-gradient(64% 52% at 68% 40%, oklch(.74 .16 var(--accent-h)/.1), transparent 70%);will-change:transform;position:fixed;inset:0}body{--ground:var(--bg);background-color:var(--ground);color:var(--fg);margin:0;transition:--ground .7s,color .7s}body.no-color-transition{transition:none}body{font-family:var(--rec);font-variation-settings:"MONO" 0, "CASL" 0, "wght" 420;font-synthesis-style:none;-webkit-font-smoothing:antialiased;min-height:100dvh;overflow-x:clip}h1{letter-spacing:-.03em;font-variation-settings:"wght" 620, "CASL" 0;margin:0 0 clamp(14px,2vh,22px);font-size:clamp(3.2rem,7.4vw,6.6rem);line-height:.92}:root{--vt-drift:8vw}:root.nav-back{--vt-drift:-8vw}::view-transition-old(root){animation:.85s both vt-cut-out,.85s both vt-drift-out}::view-transition-new(root){animation:.85s both vt-cut-in}@keyframes vt-drift-out{0%{animation-timing-function:ease-in;translate:0}40%,to{translate:var(--vt-drift)}}.wipe{background:linear-gradient(90deg, color-mix(in oklab, var(--accent) 60%, transparent) 0 4px, var(--accent) 4px 30px, var(--bg) 30px calc(100% - 30px), var(--accent) calc(100% - 30px) calc(100% - 4px), color-mix(in oklab, var(--accent) 60%, transparent) calc(100% - 4px));pointer-events:none;view-transition-name:vt-wipe;position:fixed;inset:0 -4px;transform:translate(100%)}::view-transition-group(vt-wipe){z-index:var(--z-wipe);animation:.85s both wipe}:root.nav-back::view-transition-group(vt-wipe){animation-name:wipe-back}@keyframes wipe{0%{animation-timing-function:cubic-bezier(.7,0,.4,1);transform:translate(100%)}40%{animation-timing-function:cubic-bezier(.2,.8,.2,1);transform:translate(0)}to{transform:translate(-100%)}}@keyframes wipe-back{0%{animation-timing-function:cubic-bezier(.7,0,.4,1);transform:translate(-100%)}40%{animation-timing-function:cubic-bezier(.2,.8,.2,1);transform:translate(0)}to{transform:translate(100%)}}@keyframes vt-cut-out{0%{opacity:1;filter:blur()saturate();animation-timing-function:cubic-bezier(.3,1,.5,1)}39.99%{opacity:1;filter:blur(20px)saturate(0)}40%,to{opacity:0;filter:blur(20px)saturate(0)}}@keyframes vt-cut-in{0%,39.99%{opacity:0;filter:blur(20px)saturate(0)}40%{opacity:1;filter:blur(20px)saturate(0);animation-timing-function:cubic-bezier(.3,1,.5,1)}to{opacity:1;filter:blur()saturate()}}.grain{z-index:var(--z-grain);pointer-events:none;opacity:.108;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' result='t'/%3E%3CfeColorMatrix in='t' type='matrix' values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  3 0 0 0 -1.6' result='light'/%3E%3CfeColorMatrix in='t' type='matrix' values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  -3 0 0 0 1.4' result='dark'/%3E%3CfeMerge%3E%3CfeMergeNode in='light'/%3E%3CfeMergeNode in='dark'/%3E%3C/feMerge%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:150px 150px;transition:opacity .45s;position:fixed;inset:0}:root[data-theme=light] .grain{opacity:.048}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){body{transition:none}}}@layer chrome{.contact-trigger{cursor:pointer;list-style:none}.contact-trigger::-webkit-details-marker{display:none}.footer-links .contact-menu[open]>.contact-trigger{color:var(--bg);background:var(--accent)}.contact-drawer{z-index:1;pointer-events:none;position:absolute;bottom:100%;right:0;overflow:clip}.contact-popup{--contact-code:88px;overscroll-behavior-y:contain;background:var(--ground);width:max-content;max-height:200px;color:var(--fg);border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong);font-family:var(--rec-mono);font-variation-settings:"MONO" 1, "CASL" 0;pointer-events:auto;padding:12px;position:relative;overflow-y:auto}.contact-popup [hidden]{display:none}.contact-popup a{color:var(--accent);text-underline-offset:4px}.contact-track{grid-template-columns:repeat(3, minmax(0, var(--contact-code)));justify-content:center;gap:12px;display:grid}.contact-slide{flex-direction:column;align-items:center;gap:4px;min-width:0;display:flex}.contact-slide img{aspect-ratio:1;background:#fff;width:100%;height:auto;display:block}.contact-slide h3{margin:0;font-size:11px;font-weight:500}.contact-slide a{align-items:center;min-height:24px;display:inline-flex}.contact-mail{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.contact-mail a{min-height:24px;color:var(--fg);align-items:center;gap:8px;font-size:12px;display:inline-flex}.contact-mail svg{width:16px;height:16px}.contact-close{min-width:24px;min-height:24px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0 4px;font-size:12px}.contact-close:hover{color:var(--accent)}@media (width<=600px){.contact-drawer{left:0}.contact-popup{border-left:0;width:auto}}.footer-links{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.footer-links>a,.footer-links .contact-trigger{min-width:36px;min-height:36px;color:var(--fx-color,var(--fg));flex-shrink:0;place-items:center;text-decoration:none;transition:color .2s,background-color .2s;display:grid}.footer-links>a:hover,.footer-links>a:focus-visible,.footer-links .contact-trigger:hover,.footer-links .contact-trigger:focus-visible{color:var(--bg);background:var(--accent)}.footer-icon{width:20px;height:20px}jrsm-footer,jrsm-toolbar{display:block}.footer{z-index:var(--z-chrome);padding:0 var(--grid-inset);height:var(--footer-block-size);border-top:1px solid var(--line);background-color:color-mix(in oklab, var(--ground) var(--bar-fill), transparent);justify-content:space-between;align-items:center;gap:16px;transition:--bar-fill .15s ease-in-out;display:flex;position:fixed;bottom:0;left:0;right:0}.footer:has(.contact-trigger[aria-expanded=true]){--bar-fill:100%}@media (prefers-reduced-motion:reduce){.footer{transition:none}}.footer-ctl{align-items:center;gap:14px;display:flex}.footer-right{align-items:center;gap:clamp(16px,3vw,40px);display:flex}.toolbar{z-index:var(--z-chrome);padding:0 var(--grid-inset);height:var(--toolbar-block-size);border-bottom:1px solid var(--line);--bar-fill:70%;background-color:color-mix(in oklab, var(--ground) var(--bar-fill), transparent);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);justify-content:space-between;align-items:center;gap:16px;display:flex;position:fixed;top:0;left:0;right:0}@media (prefers-reduced-transparency:reduce){.toolbar{--bar-fill:100%;-webkit-backdrop-filter:none;backdrop-filter:none}}@media (width>900px){:where(body:not(.subpage)) .footer{--bar-fill:70%;background-color:color-mix(in oklab, var(--ground) var(--bar-fill), transparent);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}}@media (width>900px) and (prefers-reduced-transparency:reduce){:where(body:not(.subpage)) .footer{--bar-fill:100%;-webkit-backdrop-filter:none;backdrop-filter:none}}@media (width<=900px){:where(body:not(.subpage)) .footer{height:auto;min-height:var(--grid-cell);flex-wrap:wrap;padding-block:12px;position:relative}}@media screen and (width<=600px){.toolbar,.footer{padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}.footer{height:calc(56px + env(safe-area-inset-bottom));padding-top:0;padding-bottom:env(safe-area-inset-bottom);--bar-fill:100%;flex-wrap:nowrap;gap:8px}}.crumb{font-family:var(--rec-mono);font-variation-settings:"MONO" 1, "CASL" 0, "wght" 500;letter-spacing:.16em;text-transform:uppercase;font-size:12px}.crumb ol{align-items:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.crumb li{color:var(--muted);align-items:center;gap:8px;display:flex}.crumb li+li:before{content:"/";color:var(--line-strong)}.crumb a{color:var(--muted);text-decoration:none;transition:color .2s}.crumb a:hover{color:var(--accent)}.crumb [aria-current=page]{color:var(--fg)}.switch{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;padding:4px;display:inline-flex}.switch-track{border:1px solid var(--fx-color,var(--line-strong));border-radius:999px;flex:none;width:40px;height:20px;transition:border-color .2s;position:relative}.switch-knob{background:var(--fx-color,var(--muted));border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;transition:transform .25s cubic-bezier(.4,1.4,.5,1),background .2s;display:flex;position:absolute;top:2px;left:2px}.switch-knob:after{content:"";box-sizing:border-box;border:1px solid var(--bg);border-radius:50%;width:8px;height:8px;transition:width .25s cubic-bezier(.4,1.4,.5,1),border-radius .25s}.switch[aria-checked=true] .switch-knob:after{border-radius:0;width:2px}.switch[aria-checked=true] .switch-knob{background:var(--accent);transform:translate(20px)}.switch[aria-checked=true] .switch-track{border-color:var(--accent)}.switch-label{font-family:var(--rec-mono);font-variation-settings:"MONO" 1, "CASL" 0, "wght" 500;letter-spacing:.12em;text-transform:uppercase;color:var(--fx-color,var(--muted));font-size:10px;transition:color .2s}.switch[aria-checked=true] .switch-label{color:var(--accent)}.switch[aria-checked=true]:not(.is-changing) .switch-track,.switch[aria-checked=true]:not(.is-changing) .switch-label,.switch[aria-checked=true]:not(.is-changing) .switch-icon,.themesw:not(.is-changing) .switch-track,.themesw:not(.is-changing) .switch-label,.themesw:not(.is-changing) .switch-icon{transition:none}.switch[aria-checked=true]:not(.is-changing) .switch-knob,.themesw:not(.is-changing) .switch-knob{transition:transform .25s cubic-bezier(.4,1.4,.5,1)}.switch-icon{width:14px;height:14px;transition:color .2s;display:inline-flex}.bulb-rays{opacity:0;transition:opacity .2s}.themesw .switch-icon{color:var(--accent)}.themesw .switch-knob{background:var(--accent)}.themesw .switch-track{border-color:var(--accent)}.themesw[aria-checked=true] .bulb-glass{fill:currentColor}.themesw[aria-checked=true] .bulb-rays{opacity:1}.roreset,.debug-sweep,.debug-select{appearance:none;cursor:pointer;border:1px solid var(--fx-color,var(--line-strong));font-family:var(--rec-mono);font-variation-settings:"MONO" 1, "CASL" 0, "wght" 500;letter-spacing:.12em;text-transform:uppercase;color:var(--fx-color,var(--muted));background:0 0;border-radius:999px;padding:3px 10px;font-size:10px;transition:color .2s,border-color .2s}.roreset:hover,.roreset:focus-visible,.debug-sweep:hover,.debug-sweep:focus-visible,.debug-select:hover,.debug-select:focus-visible{color:var(--accent);border-color:var(--accent)}}@layer portrait{.portrait-print{z-index:1;width:100%;height:100%;display:none;position:absolute;inset:0}@media (scripting:none){.portrait-print{display:block}}.portrait.is-static .portrait-print{display:block}.portrait.is-static canvas{visibility:hidden}.portrait{isolation:isolate;aspect-ratio:1;--pf:var(--grid-cell);justify-self:center;width:min(38vw,58dvh);display:block;position:relative}.pframe{inset:0 0 calc(-1 * var(--pf)) calc(-1 * var(--pf));pointer-events:none;border-left:1px solid var(--line);border-bottom:1px solid var(--line);position:absolute}.pframe i{background:var(--accent);position:absolute;bottom:-1px;left:-1px}.pframe i:first-child{width:1px;height:34px}.pframe i:nth-child(2){width:34px;height:1px}.pcap{font-family:var(--rec-mono);font-variation-settings:"MONO" 1, "CASL" 0, "wght" 500;letter-spacing:.14em;text-transform:uppercase;left:calc(-1 * var(--pf));top:calc(100% + var(--pf));height:var(--grid-cell);color:var(--fx-color,var(--faint));max-width:calc(100% + var(--pf));align-items:center;margin:0;font-size:11px;transition:color .3s;display:flex;position:absolute}@media screen and (width<=600px){.portrait{--pf:0px}.pframe{display:none}}.portrait-xray-mask{pointer-events:none;position:absolute;inset:0;overflow:hidden}.portrait-xray{object-fit:contain;opacity:0;--xray-warp:perspective(900px) rotateX(11deg) rotateY(4.4deg) rotate(.2deg) skew(.8deg, 2.6deg) scale(1.188) scaleX(.856) scaleY(1.037);width:100%;height:100%;transform:translate(-3.9%, 6%) var(--xray-warp);-webkit-user-select:none;user-select:none;transition:opacity .12s ease-out;display:block;position:absolute;inset:0}.portrait.is-xray-ripple-active .portrait-xray-source,.portrait.is-xray-blasting .portrait-xray-blast{opacity:1}.portrait.is-xray-blasting .portrait-xray-source{opacity:0}.portrait-xray-blast{width:300%;height:300%;transform:translate(-1.3%, 2%) var(--xray-warp);inset:-100% auto auto -100%}.portrait.is-xray-blasting .portrait-xray-mask{overflow:visible}:root[data-theme=dark] .portrait-xray{mix-blend-mode:soft-light}:root[data-theme=light] .portrait-xray{mix-blend-mode:color-dodge}.face,.refl,.lens-sheen{width:100%;height:100%;position:absolute;inset:0}:root[data-theme=dark] .face,:root[data-theme=dark] .refl{mix-blend-mode:var(--face-blend,luminosity)}.portrait .bfly-cv{pointer-events:none;position:absolute;inset:0}:root[data-theme=dark] .bfly-cv,:root[data-theme=dark] .bfly-gpu{mix-blend-mode:hard-light}.portrait .bfly-gpu{pointer-events:none;mix-blend-mode:normal;transform-origin:100%;width:40%;height:40%;position:absolute;top:28.3%;left:-7.3%;scale:.888}.portrait .bfly-handoff{pointer-events:none;mix-blend-mode:screen;width:100%;height:100%;position:absolute;inset:0}.portrait[data-butterfly-renderer=webgpu] .bfly-cv{visibility:hidden}.bfly-hit{cursor:pointer;background:0 0;border:0;width:21%;height:19%;padding:0;position:absolute;top:41%;left:2%}.bfly-charge{--over:0;--charge-shine-opacity:0;--charge-shine-duration:1.8s;--charge-shine-relay:.12s;pointer-events:none;z-index:10;flex-direction:column-reverse;align-items:center;gap:2px;display:none;position:absolute;top:30%;left:12%;transform:translate(calc(-50% - 10px),10px)}.bfly-charge.is-active{display:flex}.bfly-charge.is-held .bfly-charge__seg:after,.bfly-charge.is-held .bfly-charge__count{animation-play-state:paused}.bfly-charge__count{--shine-order:4;font-family:var(--rec-mono);font-variation-settings:"MONO" 1, "CASL" 0, "wght" 500;letter-spacing:.04em;color:var(--fx-color,var(--fg));animation:charge-meter-shine var(--charge-shine-duration) linear infinite;animation-delay:calc(var(--shine-order) * var(--charge-shine-relay) * -1);white-space:nowrap;background-color:#0000;background-image:linear-gradient(105deg,#0000 0 48%,#fff 49.5% 50.5%,#0000 52%),linear-gradient(#0000,#0000),linear-gradient(90deg,#0ff,#fff,#f0f,gold,#0ff);background-position:100% 0,0 0,100% 0;background-repeat:no-repeat,no-repeat,no-repeat;background-size:320% 100%,100% 100%,320% 100%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;-webkit-background-clip:text;background-clip:text;align-items:center;margin-left:5px;font-size:10px;display:flex;position:absolute;bottom:0;left:100%}.bfly-charge__count.is-shiny{color:#0000;-webkit-text-fill-color:transparent}.bfly-charge__count.is-infinite{font-size:15px;line-height:1;bottom:-2px}.bfly-charge__seg{--seg-fill:oklch(.5 .03 var(--seg-hue));width:calc(12px + var(--over,0) * var(--seg-w,0) * 26px);background:var(--seg-fill);opacity:.28;border-radius:2px;height:4px;transition:opacity .1s,background .1s;position:relative}.bfly-charge__seg.is-lit{--boost:calc(var(--over,0) * var(--seg-i,0));--seg-fill:oklch(calc(.72 + var(--boost) * .23) calc(.19 + var(--boost) * .13) var(--seg-hue));background:var(--seg-fill);box-shadow:0 0 calc(var(--boost) * 7px) oklch(.72 .2 var(--seg-hue));opacity:1}.bfly-charge__seg:after{content:"";border-radius:inherit;background:linear-gradient(105deg, transparent 0 48%, white 49.5% 50.5%, transparent 52%) 100% 0/320% 100% no-repeat padding-box, linear-gradient(var(--seg-fill), var(--seg-fill)) 0 0/100% 100% no-repeat padding-box, linear-gradient(90deg, cyan, white, magenta, gold, cyan) 100% 0/320% 100% no-repeat border-box;opacity:0;animation:charge-meter-shine var(--charge-shine-duration) linear infinite;animation-delay:calc(var(--shine-order) * var(--charge-shine-relay) * -1);border:1px solid #0000;transition:opacity .1s;position:absolute;inset:0}.bfly-charge__seg.is-shiny:after{opacity:var(--charge-shine-opacity)}@keyframes charge-meter-shine{0%,18%{background-position:100% 0,0 0,100% 0}62%,to{background-position:-100% 0,0 0,-100% 0}}:root[data-theme=dark] .bfly-charge__count{color:oklch(100% 0 0)}:root[data-theme=dark] .bfly-charge__count.is-shiny{color:#0000}:root[data-theme=dark] .bfly-charge__seg:not(.is-lit){--seg-fill:oklch(100% 0 0/.24);background:var(--seg-fill);opacity:1}@media (prefers-reduced-motion:reduce){.bfly-hit{display:none}.bfly-charge__seg:after,.bfly-charge__count{animation:none}}}@layer home{#bgCv{z-index:var(--z-bg-dots);pointer-events:none;position:fixed;inset:0}#fxCv{z-index:var(--z-fx-canvas);pointer-events:none;position:fixed;inset:0}.stage{z-index:var(--z-content);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(20px,4vw,64px);min-height:100dvh;padding:clamp(24px,4vw,72px);display:grid;position:relative}.stage-hero{display:contents}@media (900px<width<=1200px){.stage{--stage-pad-block:var(--side-pad-block);padding-block:calc(var(--toolbar-block-size) + var(--stage-pad-block)) calc(var(--footer-block-size) + var(--stage-pad-block));padding-inline:var(--grid-inset);align-content:safe center}.stage .content{flex-direction:column;align-self:stretch;display:flex}.stage .recently{margin-top:auto}.stage .portrait{margin-bottom:var(--pf);width:var(--side-portrait-size);top:calc(var(--toolbar-block-size) + var(--stage-pad-block));bottom:calc(var(--footer-block-size) + var(--stage-pad-block) + var(--pf));place-self:center end;position:sticky}}@media (width>1200px){.stage{grid-template-columns:repeat(auto-fill, var(--grid-cell));grid-auto-rows:var(--grid-cell);padding:var(--grid-oy,0px) 0 0;place-content:start center;gap:0}.stage-hero{grid-column:calc(var(--grid-edge) + 1)/calc(-1 * (var(--grid-edge) + 1));grid-row:var(--hero-row,1)/span 11;grid-template-columns:subgrid;align-self:start;align-items:start;display:grid}.stage .content{grid-column:1/calc(-3 - var(--portrait-cells));grid-template-rows:minmax(calc(2 * var(--grid-cell)), auto) minmax(var(--grid-cell), auto) 1fr auto;min-height:calc((var(--portrait-cells,10) + 1) * var(--grid-cell));display:grid}.stage .content>*{align-self:start;margin:0}.stage .content .eyebrow{grid-row:2;align-self:center}.stage .content #name{grid-row:1;font-size:clamp(3.2rem,7.4vw,207px);line-height:.84}.stage .content .bio-wrap{grid-row:3}.stage .content .recently{grid-row:4;min-height:0}.stage .content .eyebrow{font-size:clamp(11px,.77vw,21px)}.stage .content .bio{margin-bottom:0;font-size:clamp(1rem,1.28vw,36px)}.stage .portrait{grid-column:calc(-1 - var(--portrait-cells))/-1;width:100%}}.eyebrow{font-family:var(--rec-mono);font-variation-settings:"MONO" 1, "CASL" 0, "wght" 500;letter-spacing:.14em;text-transform:uppercase;color:var(--fx-color,var(--muted));margin-bottom:clamp(14px,2vh,22px);font-size:11px;transition:color .3s}.eyebrow .eyebrow-location-start{white-space:nowrap}.eyebrow .eyebrow-location-icon{vertical-align:-2px;width:14px;height:14px;color:var(--accent);display:inline-block}.eyebrow .eyebrow-location-icon svg{width:100%;height:100%}.bio{max-width:62ch;color:color-mix(in oklab, var(--fg) 82%, var(--bg));font-variation-settings:"wght" 400, "CASL" .18;margin-bottom:clamp(20px,3vh,34px);font-size:clamp(1rem,1.25vw,1.16rem);line-height:1.55}.bio-reserve{display:none}.bio .slot{border-bottom:1px dotted var(--muted);cursor:pointer;transition:color .12s,border-color .12s}.bio .slot:hover,.bio .slot:focus-visible{color:var(--accent);border-bottom-color:var(--accent)}.bio .slot.flutter{animation:.34s slot-flutter}@keyframes slot-flutter{0%{opacity:1;filter:contrast()saturate();text-shadow:0 0 #0000}45%{opacity:.15;filter:contrast(2.1)saturate(.35);text-shadow:-.07em 0 var(--accent), .07em 0 var(--fg)}to{opacity:1;filter:contrast()saturate();text-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.bio .slot.flutter{animation:none}}.recently{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px 24px;min-height:0;display:grid}.recently__group{flex-direction:column;gap:12px;min-width:0;display:flex}.recently__title{font-family:var(--rec-mono);font-variation-settings:"MONO" 1, "CASL" 0, "wght" 500;letter-spacing:.14em;text-transform:uppercase;color:var(--fx-color,var(--fg));margin:0;font-size:11px;line-height:1.5}.recently .stuff{min-width:0;color:var(--fx-color,var(--fg));flex-direction:column;gap:10px;transition:color .3s;display:flex}.recent-project{min-width:0;color:inherit;font-family:var(--rec-mono);font-variation-settings:"MONO" 1, "CASL" 0, "wght" 420;font-size:12px;line-height:1.55;text-decoration:none;display:block}.stuff[list=work] .recent-project{border-left:2px solid var(--accent);padding-left:12px;font-size:13px}.stuff[list=work] .recent-project__title{color:var(--accent);transition:none}.recent-project:is(:hover,:focus-visible) .recent-project__title{text-underline-offset:4px;text-decoration:underline}.recent-project__title{color:var(--fx-color,var(--fg));font-variation-settings:"MONO" 1, "CASL" 0, "wght" 600;transition:color .2s}.recent-project__separator,.recent-project__note{color:var(--fx-color,var(--muted));transition:color .2s}@media (width<=700px){.recently{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.stage{grid-template-columns:minmax(0,1fr);row-gap:0;padding-block:96px}.stage .content{display:contents}.stage .portrait{width:min(100%,460px);margin-bottom:calc(var(--pf) + clamp(24px, 4vh, 36px));order:1;justify-self:center}.stage :is(.bio-wrap,.recently){order:2}:is(.stage,#fxDom) .eyebrow-location-start:before{content:"\a ";white-space:pre}.stage .bio-wrap{max-width:62ch;margin-block:1rem clamp(20px,3vh,34px);display:grid}.stage .bio-wrap>*{grid-area:1/1;align-self:start;min-width:0;margin:0}.stage .bio{max-width:none}.bio-reserve{visibility:hidden;font-family:var(--rec-mono);font-variation-settings:"MONO" 1, "CASL" 0, "wght" 400;padding-bottom:1lh;font-size:clamp(1rem,1.25vw,1.16rem);line-height:1.55;display:block}}@media screen and (width<=600px){.stage{min-height:auto;padding-bottom:48px;overflow-x:clip}.stage .portrait{justify-self:center;width:100vw}}.fxback{opacity:0;pointer-events:none;background:radial-gradient(circle at 21.24% 50.56%, transparent calc(var(--ripple-r,0px) - 90px), oklch(.85 .2 var(--accent-h)/var(--ripple-a,0)) var(--ripple-r,0px), transparent calc(var(--ripple-r,0px) + 90px)), radial-gradient(120% 90% at 18% 22%, oklch(.62 .19 var(--accent-h)) 0%, transparent 55%), linear-gradient(150deg, oklch(.55 .16 calc(var(--accent-h) - 8)) 0%, oklch(.42 .14 calc(var(--accent-h) + 210)) 100%);position:absolute;inset:0}:root[data-theme=dark] .fxback{opacity:1}:root[data-theme=light] .fxback{opacity:.7;background:radial-gradient(circle at 21.24% 50.56%, transparent calc(var(--ripple-r,0px) - 90px), oklch(.5 .19 var(--accent-h)/var(--ripple-a,0)) var(--ripple-r,0px), transparent calc(var(--ripple-r,0px) + 90px)), radial-gradient(120% 90% at 18% 22%, var(--bg) 0%, transparent 55%), linear-gradient(150deg, var(--bg) 0%, oklch(.5 .16 var(--accent-h)) 100%)}}@layer subpage,blocks,work;@layer preloader{jrsm-preloader{--pre-slot-y:96px;--pre-slot-w:300px;z-index:var(--z-preloader);pointer-events:none;display:block;position:fixed;inset:0}#preBg{z-index:0;pointer-events:none;background:var(--bg);transition:opacity .45s;position:fixed;inset:0}.home-loading-status,.home-loading-caption{font-family:var(--rec-mono);font-variation-settings:"MONO" 1, "CASL" 0, "wght" 500;letter-spacing:.14em;text-transform:uppercase;font-size:11px}.home-loading-status{z-index:var(--z-preloader);background:var(--bg);color:var(--fg);place-items:center;display:grid;position:fixed;inset:0}.home-loading-caption{color:var(--muted);pointer-events:none;place-items:center;margin:0;display:grid;position:absolute;inset:0}.pre-flash{z-index:4;pointer-events:none;opacity:0;background:oklch(100% 0 0);position:fixed;inset:0}.pre-feed-mask{z-index:2;height:var(--pre-slot-y);background:var(--bg);transition:opacity .24s linear;position:fixed;inset:0 0 auto}.pre-slot{top:calc(var(--pre-slot-y) - 6px);z-index:3;width:var(--pre-slot-w);height:12px;transition:opacity .24s linear;position:fixed;left:50%;transform:translate(-50%)}.pre-slot__slit{background:color-mix(in oklab, var(--fg) 88%, var(--bg));border-block:1px solid var(--line-strong);position:absolute;inset:0}.pre-slot__light{background:var(--faint);width:6px;height:6px;transition:background .12s linear;position:absolute;top:3px;right:-18px}.pre-slot.is-busy .pre-slot__light{background:var(--accent)}.pre-slot.is-advancing{animation:80ms linear infinite preloader-hum}@keyframes preloader-hum{0%,to{transform:translate(-50%)translateY(0)}25%{transform:translate(calc(.5px - 50%))translateY(-.4px)}75%{transform:translate(calc(-50% - .5px))translateY(.3px)}}.pre-photo{--pre-paper-edge:24px;--pre-paper-bottom:96px;--pre-caption-size:22px;z-index:1;isolation:isolate;transform-origin:0 0;will-change:transform;position:fixed;top:0;left:0}.pre-photo__body{isolation:isolate;transform-origin:50% 82%;will-change:transform;position:absolute;inset:0}.pre-photo__body.is-shaking{animation:preloader-wrist-flick var(--pre-wiggle-duration,.9s) linear 1}@keyframes preloader-wrist-flick{0%{transform:translateY(0)rotate(0)rotateX(0)}11%{transform:translateY(-1.2px)rotate(-2.6deg)rotateX(1.5deg)}23%{transform:translateY(-.4px)rotate(1.7deg)rotateX(-1deg)}37%{transform:translateY(-1.6px)rotate(-1.1deg)rotateX(.5deg)}48%{transform:translateY(-.2px)rotate(3deg)rotateX(-1.8deg)}63%{transform:translateY(-1.1px)rotate(-1.9deg)rotateX(1deg)}76%{transform:translateY(-.6px)rotate(1.2deg)rotateX(-.6deg)}89%{transform:translateY(-1.3px)rotate(-.8deg)rotateX(.8deg)}to{transform:translateY(0)rotate(0)rotateX(0)}}.pre-photo__body:before{content:"";inset:calc(-1 * var(--pre-paper-edge)) calc(-1 * var(--pre-paper-edge)) calc(-1 * var(--pre-paper-bottom));z-index:-1;background:var(--polaroid-paper);outline:1px solid var(--line-strong);outline-offset:-1px;transform-origin:50% 100%;transition:opacity .3s .25s,transform .55s cubic-bezier(.5,0,.9,.42);position:absolute}.pre-photo__image{background:color-mix(in oklab, var(--fg) 8%, var(--bg));position:absolute;inset:0;overflow:hidden}.pre-photo__image>.portrait{width:100%;height:100%}.pre-photo .pframe,.pre-photo .pcap,.pre-photo .bfly-hit,.pre-photo .bfly-charge{display:none}.pre-chem{z-index:20;background:color-mix(in oklab, var(--fg) 38%, var(--bg));position:absolute;inset:0}.pre-caption{z-index:1;box-sizing:border-box;height:var(--pre-paper-bottom);color:var(--polaroid-ink);font-family:var(--rec-mono);font-variation-settings:"MONO" 1, "CASL" 0, "wght" 500;font-size:var(--pre-caption-size);letter-spacing:.08em;text-transform:uppercase;text-align:center;white-space:nowrap;transform-origin:50% 100%;justify-content:center;align-items:center;padding-inline:18px;line-height:1;transition:opacity .3s .25s,transform .55s cubic-bezier(.5,0,.9,.42);display:flex;position:absolute;top:100%;left:0;right:0}.pre-portrait-placeholder{visibility:hidden}jrsm-preloader.is-unframing .pre-feed-mask,jrsm-preloader.is-unframing .pre-slot,jrsm-preloader.is-handing-off .pre-feed-mask,jrsm-preloader.is-handing-off .pre-slot{opacity:0}jrsm-preloader:is(.is-unframing,.is-handing-off) .pre-photo__body:before,jrsm-preloader:is(.is-unframing,.is-handing-off) .pre-caption{opacity:0;transform:translate(var(--pre-recoil-x,0px), var(--pre-recoil-y,150px)) rotate(var(--pre-recoil-spin,-10deg)) perspective(700px) rotateX(9deg) scale(.97)}.pre-photo__body.is-unpapered:before{content:none}jrsm-preloader.is-handing-off .pre-photo__image{background:0 0;overflow:visible}jrsm-preloader.is-resolving #preBg{opacity:0}@media (width<=600px){.pre-caption{padding-inline:12px}}body.preloading .stage,body.preloading .page,body.preloading :is(.toolbar,.footer)>*,body.preloading .grain{opacity:0}.stage,.page,:is(.toolbar,.footer)>*,.grain{transition:opacity .45s}@media (prefers-reduced-motion:reduce){.pre-slot.is-advancing,.pre-photo__body.is-shaking{animation:none}}}@layer sweep{.snapshot-sweep-canvas{z-index:var(--z-sweep);pointer-events:none;width:100%;height:100%;position:fixed;inset:0}body.snapshot-sweep-terminal{background-color:var(--snapshot-sweep-bg);transition:none}body.snapshot-sweep-terminal:before{background-image:var(--snapshot-sweep-bg-image)}body.snapshot-sweep-terminal>:not(.snapshot-sweep-canvas):not(.chaos-reset){visibility:hidden!important}.chaos-reset{--chaos-reset-angle:0deg;appearance:none;z-index:var(--z-chaos-reset);isolation:isolate;background:linear-gradient(90deg, var(--bg) 0 42%, color-mix(in oklab, var(--bg) 88%, var(--accent)) 50%, var(--bg) 58% 100%) padding-box, conic-gradient(from var(--chaos-reset-angle), var(--line-strong) 0 38%, var(--accent) 48% 52%, var(--line-strong) 62% 100%) border-box;cursor:pointer;min-inline-size:9rem;color:var(--muted);font-family:var(--rec-mono);font-variation-settings:"MONO" 1, "CASL" 0, "wght" 560;letter-spacing:.12em;text-transform:uppercase;background-position:100% 0,0 0;background-size:250% 100%,100% 100%;border:1px solid #0000;border-radius:4px;padding:8px 14px 10px;font-size:10px;line-height:1.2;transition:--chaos-reset-angle .6s,background-position .45s,color .2s,font-variation-settings .3s;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.chaos-reset:after{content:"";background:repeating-linear-gradient(90deg, var(--accent) 0 2px, transparent 2px 5px);opacity:.55;height:1px;transition:transform .35s;position:absolute;bottom:5px;left:14px;right:14px;transform:scaleX(.24)}.chaos-reset:hover,.chaos-reset:focus-visible{--chaos-reset-angle:180deg;color:var(--accent);font-variation-settings:"MONO" 1, "CASL" 0, "wght" 680;background-position:0 0,0 0}.chaos-reset:hover:after,.chaos-reset:focus-visible:after{transform:scaleX(1)}.chaos-reset:active{color:var(--fg)}.chaos-reset.is-visible{animation:.55s cubic-bezier(.16,1,.3,1) chaos-reset-pop}@keyframes chaos-reset-pop{0%{opacity:0;transform:translate(-50%,calc(8px - 50%))scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.chaos-reset,.chaos-reset.is-visible,.chaos-reset:after{transition:none;animation:none}}}@layer debug{#dbg{z-index:var(--z-debug-canvas);pointer-events:none;display:none;position:fixed;inset:0}body.debug #dbg{display:block}@media (prefers-reduced-motion:no-preference){#dbg{opacity:0;transition:opacity .15s ease-in, display .15s allow-discrete}body.debug #dbg{opacity:1;transition:opacity .15s ease-out, display .15s allow-discrete}@starting-style{body.debug #dbg{opacity:0}}}.grid-overlay{z-index:var(--z-grid-overlay);pointer-events:none;background-image:repeating-linear-gradient(to right, color-mix(in oklab, var(--accent) 60%, transparent) 0 1px, transparent 1px var(--grid-cell)), repeating-linear-gradient(to bottom, color-mix(in oklab, var(--accent) 38%, transparent) 0 1px, transparent 1px var(--grid-cell));background-position:calc(mod(100vw, var(--grid-cell)) / 2) calc(mod(100dvh, var(--grid-cell)) / 2);display:none;position:fixed;inset:0}html.grid .grid-overlay{display:block}.debuginfo,.debugdiag{left:var(--grid-inset);right:var(--grid-inset);height:var(--debug-band-height,0px);font-family:var(--rec-mono);font-variation-settings:"MONO" 1, "CASL" 0, "wght" 400;color:var(--muted);pointer-events:none;display:none;position:fixed;overflow:clip;container:debug-band/size}.debuginfo{z-index:var(--z-debug-info);bottom:var(--debug-bottom,72px);align-content:end}.debugdiag{z-index:var(--z-debug-diag);top:var(--debug-top,80px);align-content:start}body.debug .debuginfo,body.debug .debugdiag{display:grid}.di-grid{background-color:color-mix(in oklab, var(--ground) 70%, transparent);grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:0 1.6em;font-size:min(10px,.833333cqi,6.47249cqb);line-height:1.45;display:grid}@media (prefers-reduced-motion:no-preference){.debuginfo,.debugdiag{transition:display .2s allow-discrete}.di-grid{transition:translate .28s cubic-bezier(.22,1,.36,1)}@starting-style{.debugdiag .di-grid{translate:0 -100%}.debuginfo .di-grid{translate:0 100%}}body:not(.debug) .debugdiag .di-grid,body:not(.debug) .debuginfo .di-grid{transition:translate .2s cubic-bezier(.55,0,1,.45)}body:not(.debug) .debugdiag .di-grid{translate:0 -100%}body:not(.debug) .debuginfo .di-grid{translate:0 100%}}@container debug-band (aspect-ratio>13.0485){.di-grid{font-size:min(10px,.496032cqi,9.00901cqb)}.di-dump{columns:2;column-gap:2ch}}jrsm-debug-toggle[unavailable]{display:none}:root:has(.stage):not([data-debug-available=true]) jrsm-debug-toggle{display:none}.di-group{min-width:0}.di-head{white-space:nowrap;align-items:baseline;gap:0 1ch;height:2.2em;margin:0;display:flex}.di-name{font-variation-settings:"MONO" 1, "CASL" 0, "wght" 500;color:var(--fg)}.di-status.is-warn{color:var(--accent)}.di-lead{text-overflow:ellipsis;min-width:0;margin-left:auto;overflow:hidden}.di-lead b{font-variation-settings:"MONO" 1, "CASL" 0, "wght" 500;color:var(--accent);font-size:2em;line-height:1}.di-lead i{font-style:normal}.di-rule{white-space:nowrap;height:1.45em;color:color-mix(in oklab, var(--accent) 60%, var(--muted));margin:0 0 .2em;display:flex}.di-track{flex:none;width:round(down,100% - 2ch,1ch);display:flex;overflow:hidden}.di-fill{width:round(down, var(--fill,0) * 100%, 1ch);flex:none;overflow:hidden}.di-empty{min-width:0;color:color-mix(in oklab, var(--muted) 50%, transparent);flex:1 1 0;overflow:hidden}.di-trace{white-space:nowrap;width:round(down,100%,1ch);height:1.45em;color:color-mix(in oklab, var(--accent) 70%, var(--muted));justify-content:flex-end;margin:0;display:flex;overflow:hidden}.di-trace em{font-variation-settings:"MONO" 1, "CASL" 0, "wght" 650;color:var(--accent);font-style:normal}.di-trace.is-idle{color:color-mix(in oklab, var(--muted) 50%, transparent)}.di-older{flex:none}.di-line{white-space:nowrap;break-inside:avoid;align-items:baseline;gap:1ch;height:1.45em;margin:0;display:flex}.di-line b{text-overflow:ellipsis;min-width:0;color:var(--accent);font-weight:550;overflow:hidden}.di-key{flex:none}.di-key i{color:color-mix(in oklab, var(--muted) 60%, transparent);font-style:normal}.di-leader{border-bottom:1px dotted var(--line);flex:2ch;min-width:2ch;transform:translateY(-.3em)}.di-line.is-changed b{font-variation-settings:"MONO" 1, "CASL" 0, "wght" 650;color:var(--fg)}.di-line.is-changed .di-key:after{content:"*";color:var(--accent)}.di-line.is-changed .di-leader{border-bottom-color:color-mix(in oklab, var(--accent) 60%, transparent)}.debugdiag[data-ripple-timing=idle] .di-loop [data-metric=gate] b{color:var(--fg)}.debugdiag[data-ripple-timing=ripple] .di-loop [data-metric=gate] b{color:var(--lightningcss-light,oklch(48% .1 75))var(--lightningcss-dark,oklch(88.3% .165 92))}.debugdiag[data-ripple-timing=combined] .di-loop [data-metric=gate] b{color:var(--lightningcss-light,oklch(48% .18 25))var(--lightningcss-dark,oklch(67.3% .215 25))}.debugdiag[data-ripple-timing=enabled] .di-loop [data-metric=gate] b{color:var(--lightningcss-light,oklch(48% .12 150))var(--lightningcss-dark,oklch(80% .182 151.7))}.debug-sweep,jrsm-debug-select{align-items:center;display:none}body.debug jrsm-debug-select{display:inline-flex}.debug-select-value{color:var(--fg);text-transform:none}.debug-select-menu{background:var(--bg);color:var(--muted);border:1px solid var(--line-strong);grid-template-columns:repeat(5,auto);gap:2px;margin:0;padding:6px;position:fixed;inset:auto}.debug-select-menu:popover-open{display:grid}.debug-select-menu [role=option]{appearance:none;cursor:pointer;font-family:var(--rec-mono);font-variation-settings:"MONO" 1, "CASL" 0, "wght" 500;letter-spacing:.12em;text-transform:uppercase;text-transform:none;color:inherit;background:0 0;border:1px solid #0000;border-radius:4px;padding:2px 6px;font-size:10px}.debug-select-menu [role=option]:hover,.debug-select-menu [role=option]:focus-visible{color:var(--accent);border-color:var(--accent)}.debug-select-menu [role=option][aria-selected=true]{color:var(--fg);border-color:var(--line-strong)}body:not(.debug) jrsm-webgpu-toggle,jrsm-webgpu-toggle[unavailable]{display:none}body.debug .debug-sweep{display:inline-flex}@media (width<=900px){jrsm-debug-toggle,body.debug .debuginfo,body.debug .debugdiag,body.debug #dbg,body.debug .debug-sweep,body.debug jrsm-debug-select{display:none}}}@layer sheet;@font-face{font-family:Recursive;font-style:normal;font-weight:300 1000;font-display:swap;src:url(/assets/recursive-latin-Cl7fPnAP.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Recursive;font-style:oblique 1deg 15deg;font-weight:300 1000;font-display:swap;src:url(/assets/recursive-oblique-NXV9Afjp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Recursive Fallback;src:local(Arial),local(ArialMT),local(Liberation Sans),local(Arimo);size-adjust:115.36%;ascent-override:82.35%;descent-override:21.67%;line-gap-override:0%}@font-face{font-family:Recursive Mono Fallback;src:local(Courier New),local(CourierNewPSMT),local(Liberation Mono),local(Cousine);size-adjust:99.98%;ascent-override:95.02%;descent-override:25%;line-gap-override:0%}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fraunces-Czx18-6q.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+2122,U+2190-27FF,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/source-sans-3-u2vDxG7h.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+2122,U+2190-27FF,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/bricolage-grotesque-DUv4EU2W.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+2122,U+2190-27FF,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/newsreader-DrDWVAK2.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+2122,U+2190-27FF,U+FEFF,U+FFFD}@font-face{font-family:Roboto Flex;font-style:oblique 0deg 10deg;font-weight:100 1000;font-display:swap;src:url(/assets/roboto-flex-B6A15fzC.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+2122,U+2190-27FF,U+FEFF,U+FFFD}@font-face{font-family:Roboto Serif;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/roboto-serif-BGN4p_o8.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+2122,U+2190-27FF,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-D_UfQQia.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+2122,U+2190-27FF,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/space-grotesk-BWZG0U-z.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+2122,U+2190-27FF,U+FEFF,U+FFFD}@font-face{font-family:Big Shoulders;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/big-shoulders-B0a7GuD-.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+2122,U+2190-27FF,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/geist-mono-BQYjtL9y.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+2122,U+2190-27FF,U+FEFF,U+FFFD}@view-transition{navigation:auto}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}@property --ground{syntax:"<color>";inherits:true;initial-value:#0000}@property --bar-fill{syntax:"<percentage>";inherits:false;initial-value:0%}@property --chaos-reset-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@property --r{syntax:"<length>";inherits:true;initial-value:-9999px}@property --bw{syntax:"<length>";inherits:true;initial-value:70px}:root{--r:-9999px;--bw:70px}#fxDom{z-index:var(--z-text-fx);pointer-events:none;position:fixed;inset:0}.fxwrap{-webkit-mask-image:radial-gradient(circle at var(--ox,50%) var(--oy,50%), #0000 max(0px, var(--r) - var(--bw)), #000 max(0px, var(--r)), #0000 max(0px, var(--r) + var(--bw)));mask-image:radial-gradient(circle at var(--ox,50%) var(--oy,50%), #0000 max(0px, var(--r) - var(--bw)), #000 max(0px, var(--r)), #0000 max(0px, var(--r) + var(--bw)));position:absolute}.fxclone{position:absolute;inset:0}.fxsrc{transition:color .5s ease-out,text-decoration-color .5s ease-out}.fxsrc.fx-rippling{-webkit-mask-image:radial-gradient(circle at var(--ox,50%) var(--oy,50%), #000 max(0px, var(--r) - var(--bw)), #0000 max(0px, var(--r)), #000 max(0px, var(--r) + var(--bw)));mask-image:radial-gradient(circle at var(--ox,50%) var(--oy,50%), #000 max(0px, var(--r) - var(--bw)), #0000 max(0px, var(--r)), #000 max(0px, var(--r) + var(--bw)))}.fx-residue-font-family{font-family:var(--residue-font-family)}.fx-residue-font-style{font-style:var(--residue-font-style)}.fx-residue-font-variation-settings{font-variation-settings:var(--residue-font-variation-settings)}.fx-residue-color{color:var(--residue-color)}.fx-residue-text-decoration-line{-webkit-text-decoration-line:var(--residue-text-decoration-line);text-decoration-line:var(--residue-text-decoration-line)}.fx-residue-text-decoration-color{-webkit-text-decoration-color:var(--residue-text-decoration-color);text-decoration-color:var(--residue-text-decoration-color)}.fx-residue-text-underline-offset{text-underline-offset:var(--residue-text-underline-offset)}.fx-font-modification{font-family:var(--modification-font);box-sizing:border-box;inline-size:var(--modification-inline-size);min-inline-size:var(--modification-inline-size);max-inline-size:var(--modification-inline-size);block-size:var(--modification-block-size);min-block-size:var(--modification-block-size);max-block-size:var(--modification-block-size)}.fx-font-unit.fx-font-modification{vertical-align:baseline;block-size:0;min-block-size:0;max-block-size:0;line-height:0;display:inline-block;overflow:visible}.bio .fx-font-unit.fx-font-modification{line-height:inherit;display:inline}.fx-paint-modification{-webkit-text-decoration-line:var(--modification-decoration-line);text-decoration-line:var(--modification-decoration-line);-webkit-text-decoration-style:var(--modification-decoration-style);text-decoration-style:var(--modification-decoration-style);filter:var(--modification-filter);text-decoration-color:currentColor}.fx-underline{border-bottom-color:#0000;text-decoration-line:none}@property --fx-underline-offset{syntax:"<length>";inherits:false;initial-value:3px}.fx-underline--dots{-webkit-text-decoration:underline dotted 2px var(--muted);text-decoration:underline dotted 2px var(--muted);text-underline-offset:5px}.fx-underline--dots:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.fx-underline--halftone{background:radial-gradient(circle, var(--accent) .07em, transparent .09em) 0 100%/.36em .3em repeat-x;padding-bottom:.3em}.fx-underline--fade{background:linear-gradient(90deg, transparent, var(--bg) 90%) 0 100%/100% .3em no-repeat, radial-gradient(circle, var(--accent) .07em, transparent .09em) 0 100%/.36em .3em repeat-x;padding-bottom:.3em}.fx-underline--cells{background:linear-gradient(90deg, var(--muted) 0 .42em, transparent 0) 0 100%/.6em 1px repeat-x;padding-bottom:.2em}.fx-underline--cells:hover{background-image:linear-gradient(90deg, var(--accent) 0 .42em, transparent 0)}.fx-underline--ledger{-webkit-text-decoration:underline double 1px var(--muted);text-decoration:underline double 1px var(--muted);text-underline-offset:4px}.fx-underline--ledger:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.fx-underline--rules{-webkit-text-decoration:underline overline 1px var(--line-strong);text-decoration:underline overline 1px var(--line-strong);text-underline-offset:4px}.fx-underline--rules:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.fx-underline--drop{-webkit-text-decoration:underline 1px var(--muted);text-decoration:underline 1px var(--muted);text-underline-offset:.45em}.fx-underline--drop:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.fx-underline--dither{background:conic-gradient(var(--accent) 25%, transparent 0 50%, var(--accent) 0 75%, transparent 0) 0 100%/4px 4px repeat-x;padding-bottom:.25em}.fx-underline--wipe{background:linear-gradient(var(--accent), var(--accent)) 0 100%/0 2px no-repeat, linear-gradient(var(--line-strong), var(--line-strong)) 0 100%/100% 1px no-repeat;padding-bottom:.2em;transition:background-size .4s cubic-bezier(.2,.8,.2,1)}.fx-underline--wipe:hover,.fx-underline--wipe:focus-visible{background-size:100% 2px,100% 1px}.fx-underline--breathe{-webkit-text-decoration:underline 1px var(--accent);text-decoration:underline 1px var(--accent);text-underline-offset:var(--fx-underline-offset);animation:2.4s ease-in-out infinite alternate fx-underline-breathe}@keyframes fx-underline-breathe{to{--fx-underline-offset:9px}}.fx-underline--wavy{-webkit-text-decoration:underline wavy 1.5px var(--accent);text-decoration:underline wavy 1.5px var(--accent);text-underline-offset:4px;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}.fx-underline--march{background:linear-gradient(90deg, var(--accent) 0 .42em, transparent 0) 0 100%/.6em 1px repeat-x;padding-bottom:.2em;animation:.8s linear infinite fx-underline-march}@keyframes fx-underline-march{to{background-position-x:.6em}}.fx-underline--misreg{background:linear-gradient(var(--accent), var(--accent)) 2px calc(100% - 2px)/100% 1.5px no-repeat, linear-gradient(currentColor, currentColor) 0 100%/100% 1px no-repeat;padding-bottom:.25em}.fx-underline--fall{-webkit-text-decoration:underline 1.5px var(--accent);text-decoration:underline 1.5px var(--accent);-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-underline-offset:var(--fx-underline-offset);animation:2.2s cubic-bezier(.55,0,.9,.5) infinite fx-underline-fall}@keyframes fx-underline-fall{0%,15%{--fx-underline-offset:-.42em}70%,to{--fx-underline-offset:5px}}.fx-underline--squiggle{--fx-underline-wave:.5em;--fx-underline-rise:.16em;background:radial-gradient(calc(var(--fx-underline-wave) / 4 + .75px) var(--fx-underline-rise) at 50% 0, transparent calc(100% - 1.5px), var(--accent) calc(100% - 1.5px) 100%, transparent 100%) 0 calc(100% - var(--fx-underline-rise))/var(--fx-underline-wave) var(--fx-underline-rise) repeat-x, radial-gradient(calc(var(--fx-underline-wave) / 4 + .75px) var(--fx-underline-rise) at 50% 100%, transparent calc(100% - 1.5px), var(--accent) calc(100% - 1.5px) 100%, transparent 100%) calc(var(--fx-underline-wave) / 2) calc(100% - var(--fx-underline-rise) * 2)/var(--fx-underline-wave) var(--fx-underline-rise) repeat-x;padding-bottom:.4em;animation:.9s linear infinite fx-underline-crawl}@keyframes fx-underline-crawl{to{background-position-x:var(--fx-underline-wave), calc(var(--fx-underline-wave) * 1.5)}}.fx-underline--bounce{--fx-underline-dot:radial-gradient(circle, var(--accent) .07em, transparent .09em);background:var(--fx-underline-dot) 0 100%/.72em .3em repeat-x, var(--fx-underline-dot) .36em calc(100% - .15em)/.72em .3em repeat-x;padding-bottom:.45em;animation:.6s ease-in-out infinite alternate fx-underline-bounce}@keyframes fx-underline-bounce{to{background-position:0 calc(100% - .15em),.36em 100%}}.fx-underline--jitter{-webkit-text-decoration:underline 1.5px var(--accent);text-decoration:underline 1.5px var(--accent);-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-underline-offset:var(--fx-underline-offset);animation:.9s step-end infinite fx-underline-jitter}@keyframes fx-underline-jitter{0%{--fx-underline-offset:3px}18%{--fx-underline-offset:8px;-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}36%{--fx-underline-offset:-.3em}48%{--fx-underline-offset:5px;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}70%{--fx-underline-offset:1px;text-decoration-style:dashed}84%{--fx-underline-offset:6px;text-decoration-style:solid}}.fx-underline--spot{--modification-underline-x:-50%;background:radial-gradient(circle at var(--modification-underline-x) 50%, var(--accent) 0 1.2em, var(--line-strong) 3em) 0 100%/100% 2px no-repeat;padding-bottom:.2em}@media (prefers-reduced-motion:reduce){.fx-underline{transition:none;animation:none}}.fx-modification-sweep-target{transition:opacity .7s,transform .9s cubic-bezier(.65,0,.35,1),--bar-fill .15s ease-in-out}@media (prefers-reduced-motion:reduce){.fx-modification-sweep-target{transition:opacity .7s,transform .9s cubic-bezier(.65,0,.35,1)}}.fxsrc.fx-modification-sweep-target{transition:color .5s ease-out,text-decoration-color .5s ease-out,opacity .7s,transform .9s cubic-bezier(.65,0,.35,1)}.fx-modification-sweep-target.fx-modification-sweep{--modification-sweep-entry-ease:cubic-bezier(.18, .66, .2, 1);--modification-sweep-release-ease:cubic-bezier(.12, .72, .16, 1);animation:modification-air-sheet 1.05s var(--modification-sweep-entry-ease) .2s forwards}@keyframes modification-air-sheet{0%{opacity:1;filter:url(#fx-channel-split)saturate(1.8)contrast(1.3);transform:translate(0,0)rotate(0)}18%{opacity:.94;transform:translate3d(var(--modification-sweep-sheet-x), var(--modification-sweep-sheet-y), 0) rotate(0);animation-timing-function:var(--modification-sweep-release-ease)}to{opacity:.13;transform:translate3d(var(--modification-sweep-x), var(--modification-sweep-y), 0) rotate(var(--modification-sweep-rotate));filter:url(#fx-channel-split)saturate(1.8)contrast(1.3)}}@media (prefers-reduced-motion:reduce){#fxDom{display:none}.fxsrc{-webkit-mask-image:none;mask-image:none}}@media (forced-colors:active){.grain,#bgCv,#fxCv,.fxback{display:none}.switch-knob{border:1px solid buttontext}.sf-chip[aria-pressed=true],.toc a[aria-current=true]{outline-offset:2px;outline:2px solid highlight}:focus-visible{outline:2px dashed highlight}.is-pick .contact-sheet__media{outline:2px solid highlight}.link-card,.viewer{border-color:canvastext}.carousel__progress span{background:highlight}.character-sheet__ring,.character-sheet__spoke{stroke:graytext}.character-sheet__shape{fill:none;stroke:highlight}.character-sheet__point{fill:highlight;stroke:canvas}.character-sheet__key,.character-sheet__score{fill:canvastext}.face,.refl,.bfly-cv{mix-blend-mode:normal!important}}@media print{html,body{height:auto;min-height:0;color:#000!important;background:#fff!important}body *{color:#000!important;filter:none!important;text-shadow:none!important;background:0 0!important;transition:none!important;animation:none!important;-webkit-mask-image:none!important;mask-image:none!important}.fx-paint-modification,.fx-residue-text-decoration-line{text-decoration-line:none}canvas,.grain,.wipe,.fxback,#fxDom,.portrait-xray-mask,.bio-reserve,.bfly-charge,.pinfo,jrsm-toolbar,jrsm-footer,jrsm-preloader,jrsm-stuff-filters{display:none!important}.stage,.stage-hero,.stage .content,.bio-wrap,.page,jrsm-page-hero,.work-grid{height:auto;min-height:0;margin:0;padding:0;display:block;opacity:1!important}.stage .content>*,.stuff-card{margin-block:1rem}.stage .content #name{font-size:2rem;line-height:1.2}.portrait,.stuff-card{break-inside:avoid}.portrait{max-width:18rem;margin-block:2rem;width:min(100%,18rem)!important;height:auto!important}.portrait-print{aspect-ratio:1;object-fit:cover;width:100%;height:auto;display:block}.fx-modification-sweep-target,.fxsrc{opacity:1!important;transform:none!important}jrsm-article>:is(.is-wide,.is-bleed),.with-sidenote{margin-right:0!important}.with-sidenote{display:block}.carousel__track{flex-wrap:wrap;overflow:visible}.carousel__item,.lockup,.link-card,.ranked__item,.character-sheet{break-inside:avoid}.carousel__bar,.reel__frame,.reel__mark,.viewer,.link-preview,.ranked__tabs{display:none!important}.reel__thumb{aspect-ratio:1;width:56px;display:block}.ranked__list{display:block!important}.ranked__details::details-content{content-visibility:visible}}
