@font-face{font-family:Recursive;font-style:oblique 0deg 15deg;font-weight:300 1000;font-display:swap;src:url(/fonts/recursive-latin.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/fraunces.woff2)format("woff2")}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-sans-3.woff2)format("woff2")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/bricolage-grotesque.woff2)format("woff2")}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/newsreader.woff2)format("woff2")}@font-face{font-family:Roboto Flex;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/fonts/roboto-flex.woff2)format("woff2")}@font-face{font-family:Roboto Serif;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/roboto-serif.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/space-grotesk.woff2)format("woff2")}@font-face{font-family:Big Shoulders;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/big-shoulders.woff2)format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono.woff2)format("woff2")}:root{--accent-h:38;--accent:oklch(.74 .16 var(--accent-h));--bg:var(--lightningcss-light,#f4f2ec)var(--lightningcss-dark,#0d0c0a);--fg:var(--lightningcss-light,#16181c)var(--lightningcss-dark,#e7e3da);--muted:var(--lightningcss-light,#585c67)var(--lightningcss-dark,#a6a190);--faint:var(--lightningcss-light,#66635a)var(--lightningcss-dark,#979080);--line:var(--lightningcss-light,#dcd7cb)var(--lightningcss-dark,#262320);--line-strong:var(--lightningcss-light,#c5bfb1)var(--lightningcss-dark,#3a352e);--rec:"Recursive", system-ui, sans-serif;--polaroid-paper:oklch(92% .01 85);--polaroid-ink:oklch(28% .02 70);--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));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--accent:oklch(.5 .19 calc(var(--accent-h) - 16))}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}.effect-filter-bank{pointer-events:none;position:absolute}body{background-color:var(--bg);background-image:radial-gradient(64% 52% at 68% 40%, oklch(.74 .16 var(--accent-h)/.1), transparent 70%);color:var(--fg);margin:0;transition:background-color .7s,color .7s}body.no-color-transition{transition:none}body{font-family:var(--rec);font-variation-settings:"MONO" 0, "CASL" 0, "wght" 420, "slnt" 0;-webkit-font-smoothing:antialiased;height:100dvh;overflow:hidden}@view-transition{navigation:auto}::view-transition-old(root){animation:.85s both vt-cut-out}::view-transition-new(root){animation:.85s both vt-cut-in}.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:2147483647;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%)}}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}@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:6;pointer-events:none;opacity:.34;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:150px 150px;position:fixed;inset:0}:root[data-theme=light] .grain{opacity:.24;mix-blend-mode:soft-light}.mono{font-variation-settings:"MONO" 1, "CASL" 0, "wght" 500;letter-spacing:.14em;text-transform:uppercase;font-size:11px}#bgCv{z-index:0;pointer-events:none;position:fixed;inset:0}#fxCv{z-index:1;pointer-events:none;position:fixed;inset:0}jrsm-preloader{--pre-slot-y:96px;--pre-slot-w:300px;z-index:22;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}.pre-status{color:var(--fg);place-items:center;font-size:14px;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%;transition:opacity .24s,transform .24s cubic-bezier(.4,0,.2,1);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-size:var(--pre-caption-size);letter-spacing:.08em;text-align:center;white-space:nowrap;justify-content:center;align-items:center;padding-inline:18px;line-height:1;transition:opacity .24s,transform .24s cubic-bezier(.4,0,.2,1);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-unframing .pre-photo__body:before,jrsm-preloader.is-handing-off .pre-photo__body:before{opacity:0;transform:scale(.96)}jrsm-preloader.is-unframing .pre-caption,jrsm-preloader.is-handing-off .pre-caption{opacity:0;transform:translateY(-6px)}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 jrsm-toolbar,body.preloading jrsm-footer{opacity:0}body.preloading .grain{z-index:23}.stage,.page,jrsm-toolbar,jrsm-footer,.grain{transition:opacity .45s}@media (prefers-reduced-motion:reduce){.pre-slot.is-advancing,.pre-photo__body.is-shaking{animation:none}}#dbg{z-index:5;pointer-events:none;display:none;position:fixed;inset:0}body.debug #dbg{display:block}.stage{z-index:2;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(20px,4vw,64px);height:100dvh;padding:clamp(24px,4vw,72px);display:grid;position:relative}.stage-hero{display:contents}@media (width>=1201px){.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:calc(2 * var(--grid-cell)) var(--grid-cell) 1fr auto;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{color:var(--fx-color,var(--muted));align-items:center;gap:10px;margin-bottom:clamp(14px,2vh,22px);transition:color .3s;display:flex}.eyebrow .eyebrow-location-icon{width:14px;height:14px;color:var(--accent);flex:none;display:inline-flex}.eyebrow .eyebrow-location-icon svg{width:100%;height:100%}h1{letter-spacing:-.03em;font-variation-settings:"wght" 620, "CASL" 0, "slnt" 0;margin:0 0 clamp(14px,2vh,22px);font-size:clamp(3.2rem,7.4vw,6.6rem);line-height:.92}.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 .slot{border:0;border-bottom:1px dotted var(--muted);font:inherit;color:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;margin:0;padding:0;transition:color .12s,border-color .12s;display:inline}.bio .slot:hover,.bio .slot:focus-visible{color:var(--accent);border-bottom-color:var(--accent)}.bio .slot:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.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}}jrsm-page-hero .fpo{position:relative}:root[data-debug=true] jrsm-page-hero .fpo{outline:1px dashed color-mix(in oklab, var(--accent) 45%, transparent);outline-offset:8px}jrsm-page-hero .fpo:after{content:"FPO · placeholder copy";writing-mode:vertical-rl;font-family:var(--rec);font-variation-settings:"MONO" 1, "wght" 500;letter-spacing:.16em;text-transform:uppercase;color:var(--fx-color,color-mix(in oklab, var(--accent) 80%, var(--fg)));white-space:nowrap;pointer-events:none;font-size:9px;transition:color .3s;display:none;position:absolute;top:0;left:-8px;transform:translate(-100%)rotate(180deg)}:root[data-debug=true] jrsm-page-hero .fpo:after{display:block}.recently{flex-direction:column;gap:6px;min-height:0;display:flex}.recently__title{font-variation-settings:"MONO" 1, "wght" 560;letter-spacing:.16em;text-transform:uppercase;color:var(--fx-color,var(--fg));margin:0 0 2px;font-size:12px}.recently .stuff{border-top:1px solid var(--line);min-width:0;color:var(--fx-color,var(--fg));grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding-top:9px;transition:color .3s;display:grid}.recent-project{min-width:0;min-height:50px;color:inherit;background-color:var(--bg);border:1px solid var(--line);border-radius:4px;grid-template-columns:minmax(0,1fr);align-items:center;gap:9px;padding:6px;text-decoration:none;transition:background-color .2s,border-color .2s,color .3s;display:grid}.recent-project:is(:hover,:focus-visible){background-color:var(--accent);border-color:var(--accent);color:#fff}.recent-project:is(:hover,:focus-visible) .recent-project__title,.recent-project:is(:hover,:focus-visible) .recent-project__note{color:#fff}.recent-project:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.recent-project__copy{gap:2px;min-width:0;display:grid}.recent-project__title,.recent-project__note{min-width:0;overflow:hidden}.recent-project__title{color:var(--accent);font-variation-settings:"MONO" 1, "wght" 650;letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.15;transition:color .2s}.recent-project__note{color:var(--fx-color,var(--muted));white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:9.5px;line-height:1.25;transition:color .2s;display:-webkit-box}@media (width<=700px){.recently .stuff{grid-template-columns:1fr}}.stuff-card{border:1px solid var(--line);color:inherit;border-radius:4px;flex-direction:column;gap:6px;min-width:0;padding:9px 11px;text-decoration:none;transition:border-color .2s;display:flex}a.stuff-card:hover{border-color:var(--accent)}.stuff-card__head{font-variation-settings:"MONO" 1;letter-spacing:.1em;justify-content:space-between;align-items:center;gap:8px;font-size:9.5px;display:flex}.stuff-card__kind{color:var(--accent)}.stuff-card__date{color:var(--fx-color,var(--faint))}.stuff-card__thumb{border-radius:3px;flex:none;height:52px;overflow:hidden}.stuff-card__thumb img{object-fit:cover;width:100%;height:100%;display:block}.stuff-card__thumb--fpo{border:1px solid var(--line);background:repeating-linear-gradient(-45deg, oklch(.7 .14 var(--accent-h)/.18) 0 1px, transparent 1px 8px)}.stuff-card__title{font-variation-settings:"wght" 640;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.9rem;line-height:1.2;overflow:hidden}.stuff-card__meta{color:var(--fx-color,var(--muted));text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;line-height:1.3;overflow:hidden}.work-grid{grid-template-columns:repeat(auto-fill,minmax(clamp(240px,24vw,300px),1fr));grid-auto-rows:8px;align-items:start;gap:16px;display:grid}.work-grid>.stuff-card{flex:initial;scroll-snap-align:none;width:auto}.page>.stuff-page{width:100%;max-width:94rem;margin-inline:auto;padding:clamp(20px,4vh,44px) clamp(20px,4vw,48px) clamp(80px,12vh,140px);display:block}jrsm-stuff-filters{display:block}.stuff-filters{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px 28px;margin-bottom:clamp(28px,5vh,52px);padding-bottom:18px;display:flex}.sf-field{align-items:center;gap:10px;display:flex}.sf-label{font-variation-settings:"MONO" 1;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-size:10px}.sf-chips{flex-wrap:wrap;gap:6px;display:flex}.sf-chip{font:inherit;letter-spacing:.04em;color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:4px;padding:4px 11px;font-size:11px;transition:color .2s,border-color .2s,background .2s}.sf-chip:hover{border-color:var(--accent)}.sf-chip.is-active{color:var(--bg);background:var(--accent);border-color:var(--accent)}.footer-links{align-items:center;gap:8px;display:flex}.footer-links a{width:36px;height:36px;color:var(--fx-color,var(--fg));background:0 0;place-items:center;text-decoration:none;transition:color .2s,background-color .2s;display:grid}.footer-links a:hover,.footer-links a:focus-visible{color:var(--bg);background:var(--accent)}.footer-links a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.footer-icon{width:20px;height:20px}.portrait{aspect-ratio:1;--pf:var(--grid-cell);justify-self:center;width:min(38vw,58dvh);margin:0;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{left:calc(-1 * var(--pf));top:calc(100% + var(--pf));height:var(--grid-cell);color:var(--fx-color,var(--faint));white-space:nowrap;align-items:center;transition:color .3s;display:flex;position:absolute}.grid-overlay{z-index:2147483646;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}.page{z-index:2;grid-template-columns:repeat(auto-fill, var(--grid-cell));place-content:start center;display:grid;position:relative}.page>*{grid-column:calc(var(--grid-edge) + 1)/calc(-1 * (var(--grid-edge) + 1));grid-template-columns:subgrid;display:grid}jrsm-page-hero{min-height:100dvh;padding-top:calc(var(--grid-oy) + (var(--hero-row) - 1) * var(--grid-cell));align-content:start;align-items:center}.hero{display:contents}.hero-copy{grid-column:1/calc(-2 - var(--portrait-cells))}.hero-media{grid-column:calc(-1 - var(--portrait-cells))/-1;position:relative}.hero-media .portrait{width:100%}.hero-lead{max-width:40ch;color:color-mix(in oklab, var(--fg) 82%, var(--bg));font-variation-settings:"wght" 400, "CASL" .18;margin:0;font-size:clamp(1rem,1.25vw,1.16rem);line-height:1.55}.hero-img{object-fit:cover;object-position:center 28%;width:100%;height:100%;position:absolute;inset:0}.article-shell{align-items:start;margin-top:-13dvh;padding-top:clamp(22px,3vh,30px);padding-bottom:clamp(64px,10vh,120px)}.article-shell>.rail{grid-column:1/calc(var(--rail-cells) + 1)}.article-shell>jrsm-article{grid-column:calc(var(--rail-cells) + 2)/calc(-1 * (var(--rail-cells) + 2))}.rail{flex-direction:column;align-self:start;gap:12px;display:flex;position:sticky;top:clamp(84px,13vh,132px)}.rail .meta{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;align-items:flex-start;gap:9px;margin:0;font-size:11px;display:flex}.rail .meta time{color:var(--muted)}jrsm-article{color:color-mix(in oklab, var(--fg) 74%, var(--bg));font-size:clamp(1rem,1.05vw,1.06rem);line-height:1.62;display:block}jrsm-article p{margin:0 0 1em}jrsm-article p:last-child{margin-bottom:0}jrsm-article>p:first-child{max-width:34ch;color:color-mix(in oklab, var(--fg) 92%, var(--bg));font-variation-settings:"wght" 370, "CASL" .32;margin-bottom:.95em;font-size:clamp(1.4rem,2.1vw,1.7rem);line-height:1.38}jrsm-article h2{color:color-mix(in oklab, var(--fg) 94%, var(--bg));font-variation-settings:"wght" 600, "CASL" 0;letter-spacing:-.005em;margin:1.9em 0 .6em;font-size:clamp(1.08rem,1.3vw,1.22rem)}jrsm-article blockquote{border-left:2px solid var(--accent);color:color-mix(in oklab, var(--fg) 88%, var(--bg));font-variation-settings:"wght" 380, "CASL" .4;margin:1.5em 0;padding-left:clamp(16px,1.4vw,22px);font-size:1.12em;line-height:1.5}.kicker{color:var(--accent);font-variation-settings:"MONO" 1, "wght" 600;letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:12px}@media (width<=900px){.hero-copy,.hero-media,.article-shell>.rail,.article-shell>jrsm-article{grid-column:1/-1}jrsm-page-hero{align-content:start;min-height:auto;padding-block:clamp(96px,16vh,160px) clamp(24px,6vh,48px)}.hero-media{margin-top:clamp(24px,4vh,40px)}.article-shell{margin-top:clamp(32px,6vh,56px)}.rail{margin-bottom:18px;position:static}.rail .meta{flex-flow:wrap;gap:6px 0}.rail .meta>*+:before{content:"·";color:var(--line-strong);padding:0 12px}}body.subpage{height:auto;min-height:100dvh;transition:background-color .2s,color .2s;overflow:visible}body.subpage .toolbar{background:var(--bg);transition:background-color .2s}body.subpage .footer{margin-top:clamp(48px,8vh,96px);position:static}.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%)}.portrait-xray-mask{pointer-events:none;position:absolute;inset:0;overflow:hidden}.portrait-xray{object-fit:contain;opacity:0;transform-origin:50%;-webkit-user-select:none;user-select:none;width:100%;height:100%;transition:opacity .12s ease-out;display:block;position:absolute;inset:0;transform:translate(-3.9%,6%)perspective(900px)rotateX(11deg)rotateY(4.4deg)rotate(.2deg)skew(.8deg,2.6deg)scale(1.188)scaleX(.856)scaleY(1.037)}.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%;inset:-100% auto auto -100%;transform:translate(-1.3%,2%)perspective(900px)rotateX(11deg)rotateY(4.4deg)rotate(.2deg)skew(.8deg,2.6deg)scale(1.188)scaleX(.856)scaleY(1.037)}.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{position:absolute}.face,.refl,.portrait .bfly-cv{clip-path:inset(2.94118%)}: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}:root[data-theme=dark] .bfly-cv,:root[data-theme=dark] .bfly-gpu{mix-blend-mode:hard-light}.portrait .bfly-gpu{left:calc(-4.5% + var(--monarch-offset-x,0%));top:calc(30.5% + var(--monarch-offset-y,0%));pointer-events:none;mix-blend-mode:normal;transform-origin:100%;width:40%;height:40%;scale:var(--monarch-scale,1);position:absolute}.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__count{--shine-order:4;letter-spacing:.04em;text-transform:none;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}body,body.subpage,body.subpage .toolbar{transition:none}.bfly-charge__seg:after,.bfly-charge__count{animation:none}}.debuginfo,.debugdiag{left:var(--grid-inset);right:var(--grid-inset);gap:var(--debug-gap,16px);font-family:var(--rec);font-variation-settings:"MONO" 1;font-size:var(--debug-font-size,10px);line-height:var(--debug-line-height,1.45);letter-spacing:normal;text-transform:none;color:var(--muted);pointer-events:none;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;display:none;position:fixed}.debuginfo{z-index:7;bottom:var(--debug-bottom,72px);--debug-space:var(--debug-bottom-space,0px)}.debugdiag{z-index:9;top:var(--debug-top,80px);--debug-space:var(--debug-top-space,0px)}body.debug .debuginfo,body.debug .debugdiag{display:grid}jrsm-debug-toggle[unavailable]{display:none}:root:has(.stage):not([data-debug-available=true]) jrsm-debug-toggle{display:none}@media (width<=960px){jrsm-debug-toggle,body.debug .debuginfo,body.debug .debugdiag,body.debug #dbg{display:none}:root[data-debug=true] jrsm-page-hero .fpo{outline:none}:root[data-debug=true] jrsm-page-hero .fpo:after,:root[data-debug=true] .stuff-head__fpo,:root[data-debug=true] .stuff-post__fpo{display:none}}.di-group{min-width:0;max-block-size:var(--debug-space);scrollbar-width:thin;overscroll-behavior:contain;pointer-events:auto;overflow:auto}.di-group:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.di-head{border-bottom:1px solid var(--line);font-size:inherit;letter-spacing:.1em;text-transform:uppercase;margin:0 0 4px;padding-bottom:3px;font-weight:500}.di-row{flex-wrap:wrap;gap:0 10px;margin:0;display:flex}.di-metric{overflow-wrap:anywhere;min-width:0}.di-metric i{font-style:normal;font-weight:400}.di-metric b{color:var(--accent);font-weight:550}.debuginfo[data-ripple-timing=idle] .di-effect [data-metric=timing] b{color:var(--fg)}.debuginfo[data-ripple-timing=ripple] .di-effect [data-metric=timing] b{color:#ffd43b}.debuginfo[data-ripple-timing=combined] .di-effect [data-metric=timing] b{color:#ff4d4d}.debuginfo[data-ripple-timing=enabled] .di-effect [data-metric=timing] b{color:#4ade80}jrsm-footer{display:block}.footer{z-index:8;padding:0 var(--grid-inset);height:calc(mod(100dvh - var(--grid-oy,0px), var(--grid-cell)) + var(--grid-cell));border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;display:flex;position:fixed;bottom:0;left:0;right:0}.footer-ctl{pointer-events:auto;align-items:center;gap:14px;display:flex}.footer-right{pointer-events:auto;align-items:center;gap:clamp(16px,3vw,40px);display:flex}jrsm-reset[hidden]{display:none}jrsm-toolbar{display:block}.toolbar{z-index:8;padding:0 var(--grid-inset);height:calc(var(--grid-oy,0px) + var(--grid-cell));border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;display:flex;position:fixed;top:0;left:0;right:0}.crumb{letter-spacing:.08em;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:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.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-variation-settings:"MONO" 1;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-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{appearance:none;cursor:pointer;border:1px solid var(--fx-color,var(--line-strong));font-family:var(--rec);font-variation-settings:"MONO" 1;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{color:var(--accent);border-color:var(--accent)}.debug-sweep{align-items:center;display:none}body.debug .debug-sweep{display:inline-flex}@media (width<=960px){body.debug .debug-sweep{display:none}}.snapshot-sweep-canvas{z-index:29;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.snapshot-sweep-canvas[hidden]{display:none}body.snapshot-sweep-terminal{background-color:var(--snapshot-sweep-bg);background-image:var(--snapshot-sweep-bg-image);transition:none}body.snapshot-sweep-terminal>:not(.snapshot-sweep-canvas):not(.chaos-reset){visibility:hidden!important}@property --chaos-reset-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.chaos-reset{--chaos-reset-angle:0deg;appearance:none;z-index:30;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);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;transform-origin:50%;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:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.chaos-reset:active{color:var(--fg)}.chaos-reset[hidden]{display:none}.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{transition:none;animation:none}}@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:3;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)));-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)));margin:0;position:absolute;overflow:visible}.fxclone{transform-origin:50%;margin:0;position:absolute;inset:0}.fxsrc{-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)));-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)));transition:color .5s ease-out,font-variation-settings .5s ease-out,letter-spacing .5s ease-out,text-decoration-color .5s ease-out,text-underline-offset .5s ease-out}.fx-font-modification{font-family:var(--modification-font)!important;box-sizing:border-box!important;inline-size:var(--modification-inline-size)!important;min-inline-size:var(--modification-inline-size)!important;max-inline-size:var(--modification-inline-size)!important;block-size:var(--modification-block-size)!important;min-block-size:var(--modification-block-size)!important;max-block-size:var(--modification-block-size)!important}.fx-font-unit.fx-font-modification{vertical-align:baseline;display:inline-block;overflow:visible}.fx-paint-modification{-webkit-text-decoration-line:var(--modification-decoration-line)!important;text-decoration-line:var(--modification-decoration-line)!important;-webkit-text-decoration-style:var(--modification-decoration-style)!important;text-decoration-style:var(--modification-decoration-style)!important;filter:var(--modification-filter)!important;mix-blend-mode:var(--modification-blend)!important;text-decoration-color:currentColor!important}.fx-modification-sweep-target{transition:filter .9s,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;filter:url(#fx-channel-split)saturate(1.8)contrast(1.3);transition-delay:.2s}@keyframes modification-air-sheet{0%{opacity:1;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))}}@media (prefers-reduced-motion:reduce){#fxDom{display:none}.fxsrc{-webkit-mask-image:none;mask-image:none}}
