.sound-toggle{top:var(--ui-top-row);right:max(var(--ui-edge), env(safe-area-inset-right));z-index:20;width:var(--ui-top-row-height);height:var(--ui-top-row-height);background:var(--ui-glass);box-shadow:var(--ui-lift);color:var(--ui-ink);cursor:var(--ui-cursor-hand,pointer);-webkit-tap-highlight-color:transparent;transition:background-color .16s ease, transform .26s var(--ui-spring);border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed}.sound-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #06040e80);width:24px;height:24px;overflow:visible}.sound-toggle__speaker{fill:currentColor;stroke:none}.sound-toggle__wave,.sound-toggle__cross{transform-box:fill-box;transition:opacity .16s ease, transform .36s var(--ui-spring)}.sound-toggle__wave{transform-origin:0}.sound-toggle__wave+.sound-toggle__wave{transition-delay:50ms}.sound-toggle__cross{transform-origin:50%;opacity:0;transform:scale(.3)rotate(-90deg)}.sound-toggle[aria-pressed=true] .sound-toggle__wave{opacity:0;transition-delay:0s;transform:scale(.3)}.sound-toggle[aria-pressed=true] .sound-toggle__cross{opacity:1;transform:none}@media (hover:hover) and (pointer:fine){.sound-toggle:hover{background:var(--ui-glass-hover);transform:scale(1.08)}}.sound-toggle:active{transition-duration:.16s,90ms;transform:scale(.92)}.sound-toggle:focus-visible{outline:2px solid var(--ui-ink);outline-offset:3px}@media (prefers-reduced-motion:reduce){.sound-toggle,.sound-toggle:hover,.sound-toggle:active,.sound-toggle__wave,.sound-toggle__cross{transition:none;transform:none}}@media (forced-colors:active){.sound-toggle{border:1px solid buttontext}}.flat-host{box-sizing:border-box;background:radial-gradient(60% 50% at 50% 42%,#46346e8c,#0000 70%),radial-gradient(at 50% 120%,#2a1a12 0%,#0000 60%),#0c0a14;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:16px;display:flex}.tv{background:linear-gradient(#ffffff14,#0000 18%),linear-gradient(90deg,#22212a,#33323d 12%,#2b2a34 50%,#33323d 88%,#22212a);border-radius:26px 26px 22px 22px;padding:28px 28px 0;position:relative;box-shadow:inset 0 2px #ffffff1f,inset 0 -3px #00000073,0 30px 60px #0009,0 0 120px #7864dc1f}.tv__screen{width:var(--screen-width);height:var(--screen-height);cursor:var(--room-cursor-play,pointer);touch-action:none;-webkit-user-select:none;user-select:none;background:#000;border-radius:14px/12px;outline:none;position:relative;overflow:hidden;box-shadow:0 0 0 4px #0a0a0e,0 0 0 6px #45444f}.tv__screen:focus-visible{box-shadow:0 0 0 4px #0a0a0e,0 0 0 6px #a99cf0}.tv__canvas{width:var(--screen-width);height:var(--screen-height);image-rendering:pixelated;display:block}.tv__scanlines{pointer-events:none;background-image:linear-gradient(to bottom, transparent calc(var(--row) - var(--row-dark)), #00000047 calc(var(--row) - var(--row-dark)));background-size:100% var(--row);position:absolute;inset:0}.tv__glass{pointer-events:none;background:radial-gradient(120% 100%,#0000 62%,#00000080 100%),linear-gradient(160deg,#ffffff12 0%,#0000 28%);position:absolute;inset:0}.tv__panel{letter-spacing:.18em;color:#8d8b9c;align-items:center;gap:18px;height:64px;padding:0 6px;font:700 12px/1 ui-monospace,SF Mono,Menlo,monospace;display:flex}.tv__brand{color:#d9d6e6;letter-spacing:.32em;text-shadow:0 1px #0009;font-size:15px}.tv__model{color:#6d6b7c;font-size:10px}.tv__knobs{gap:10px;margin-left:auto;display:flex}.tv__knob{background:radial-gradient(circle at 35% 30%,#5d5c69,#1a1a20 70%);border-radius:50%;width:18px;height:18px;box-shadow:0 2px 3px #00000080}.tv__power{align-items:center;gap:8px;font-size:10px;display:flex}.tv__led{background:#1d3a26;border-radius:50%;width:8px;height:8px}.tv__led--on{background:#4dff7a;box-shadow:0 0 8px #4dff7a}.tv__tube{pointer-events:none;background:#000;place-items:center;display:grid;position:absolute;inset:0}.tv__tube--powering{animation:.76s step-end forwards tv-tube-clear}.tv__raster{opacity:0;background:radial-gradient(#fff 0%,#f2f0ff 55%,#c9c4f0 100%);width:100%;height:100%;transform:scale(0);box-shadow:0 0 24px 6px #dcd7ffb3}.tv__tube--powering .tv__raster{animation:.62s .14s both tv-raster-on}@keyframes tv-raster-on{0%{opacity:1;animation-timing-function:cubic-bezier(.16,1,.3,1);transform:scale(.01,.004)}28%{opacity:1;animation-timing-function:cubic-bezier(.34,1.56,.64,1);transform:scaleY(.006)}52%{opacity:1;animation-timing-function:ease-out;transform:scaleY(1.04)}60%{opacity:1;animation-timing-function:steps(5,end);transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes tv-tube-clear{0%{background:#000}to{background:0 0}}@media (prefers-reduced-motion:reduce){.tv__tube--powering{animation:.16s linear forwards tv-tube-fade}.tv__tube--powering .tv__raster{animation:none}}@keyframes tv-tube-fade{to{opacity:0}}.flat-host__hint{color:#8d8b9c;text-align:center;height:32px;margin:12px 0 0;font:12px/1.4 system-ui,sans-serif}@media (width<=420px){.tv{border-radius:14px;padding:10px 10px 0}.tv__model,.tv__knobs{display:none}}@media (pointer:coarse){.flat-host__hint{display:none}}.pc-unavailable{background:#245edb;place-items:center;font:12px Tahoma,Verdana,sans-serif;display:grid;position:absolute;inset:0}.pc-unavailable p{color:#000;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#ece9d8;border-top:22px solid #0058ee;border-radius:6px 6px 0 0;margin:0 15%;padding:14px 16px}.tv-still__failed{right:16px;bottom:max(24px, env(safe-area-inset-bottom));z-index:6;color:var(--ui-ink-soft);font:600 15px / 1.35 var(--ui-body);text-align:center;margin:0;position:fixed;left:16px}.tv-still__failed a{color:var(--ui-ink)}.still-picture{top:var(--picture-top);left:var(--picture-left);width:var(--picture-width);height:var(--picture-height);opacity:0;touch-action:none;pointer-events:auto;background:#000;border-radius:1.2%/1.6%;position:absolute;overflow:hidden}.still-picture[data-pass-through=true]{pointer-events:none}.still-picture[data-powered=true]{opacity:1;animation:.32s ease-out still-picture-on}@keyframes still-picture-on{0%{opacity:0;filter:brightness(2.4)}}.still-picture__canvas{width:100%;height:100%;image-rendering:pixelated;filter:brightness(1.12);display:block}.still-picture__scanlines{background:linear-gradient(transparent 62%, #00000029 62%) 0 0 / 100% calc(100% / var(--rows));pointer-events:none;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.still-picture[data-powered=true]{animation:none}}.room-host{background:#07080c;outline:none;position:fixed;inset:0}.room-host[data-focus-ring=true]:focus:after{content:"";pointer-events:none;border:2px solid #a99cf08c;position:absolute;inset:6px}.way-out{bottom:max(20px, env(safe-area-inset-bottom));z-index:16;width:1px;height:1px;color:var(--ui-ink);clip-path:inset(50%);background:0 0;border:0;padding:0;position:fixed;left:50%;translate:-50%}.way-out:focus-visible{background:var(--ui-glass);width:auto;height:auto;box-shadow:var(--ui-lift);font:400 20px / 1 var(--ui-display);clip-path:none;outline:2px solid var(--ui-ink);outline-offset:3px;border-radius:999px;padding:10px 22px}.room-host__screens{z-index:1;pointer-events:none;position:fixed;inset:0}@media print{.room-host__screens{display:none}}.touchpad{--px:4px;--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);z-index:12;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:opacity .24s steps(3,end);position:fixed;inset:0}.touchpad[data-visible=false]{opacity:0;visibility:hidden;transition:opacity .24s steps(3,end),visibility 0s .24s}.touchpad__cluster{pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;position:absolute}.touchpad__cluster--buttons{--cap:calc(15 * var(--px));--gap:10px;--row:calc(16 * var(--px) + 10px);--stagger:calc(7 * var(--px));width:calc(2 * var(--cap) + var(--gap) + var(--stagger));height:calc(2 * var(--row))}.touchpad__cluster--start{padding:6px 10px}.touchpad svg{display:block;overflow:visible}.touchpad--bottom:before{content:"";height:calc(250px + var(--safe-bottom));background:linear-gradient(#0000 0 8%,#07080c59 8% 20%,#07080c99 20% 34%,#07080cc7 34%);position:absolute;inset:auto 0 0}.touchpad--bottom .touchpad__cluster--dpad{left:calc(18px + var(--safe-left));bottom:calc(30px + var(--safe-bottom))}.touchpad--bottom .touchpad__cluster--buttons{right:calc(14px + var(--safe-right));bottom:calc(30px + var(--safe-bottom))}.touchpad--bottom .touchpad__cluster--start{right:0;bottom:calc(30px + 32 * var(--px) + 26px + var(--safe-bottom));width:fit-content;margin:0 auto;left:0}.touchpad--sides .touchpad__cluster--dpad{left:calc(22px + var(--safe-left));bottom:44px}.touchpad--sides .touchpad__cluster--buttons{right:calc(16px + var(--safe-right));bottom:22px}.touchpad--sides .touchpad__cluster--start{left:calc(22px + var(--safe-left) + 7 * var(--px) - 10px);bottom:calc(44px + 29 * var(--px) + 12px)}.touchpad__dpad{width:calc(29 * var(--px));height:calc(29 * var(--px))}.pad-shadow{fill:#00000073}.pad-outline{fill:#07060f}.dpad-body{fill:#2c2945}.dpad-arm--held{fill:#1a1830}.dpad-highlight{fill:#4f4a78}.dpad-shade{fill:#17152a}.dpad-dimple{fill:#221f38}.dpad-arrow{fill:#8f86c9}.dpad-arrow--held{fill:#ffc83d}.pad-button{justify-items:center;gap:4px;display:grid;position:absolute}.pad-button--skill1{left:var(--stagger);top:0}.pad-button--skill2{left:calc(var(--stagger) + var(--cap) + var(--gap));top:0}.pad-button--jump{left:0;top:var(--row)}.pad-button--attack{left:calc(var(--cap) + var(--gap));top:var(--row)}.pad-button__cap{width:calc(15 * var(--px));height:calc(16 * var(--px))}.tone--red{--face:#e2352d;--face-held:#a3201a;--shade:#9c1d17;--light:#ff8a6e}.tone--yellow{--face:#ffc83d;--face-held:#c48a12;--shade:#c47f0e;--light:#fff1a8}.tone--green{--face:#3ddc84;--face-held:#1f8f50;--shade:#1f9353;--light:#b6ffd2}.tone--blue{--face:#1f6fff;--face-held:#1442a8;--shade:#1340a6;--light:#8fc0ff}.cap-face{fill:var(--face)}.cap-face--held{fill:var(--face-held)}.cap-shade{fill:var(--shade)}.cap-highlight{fill:var(--light)}.cap-glint{fill:#fff}.cap-letter{fill:#07060fcc}.pad-start{width:calc(17 * var(--px));height:calc(8 * var(--px))}.start-body{fill:#2c2945}.pad-start[data-held=true] .start-body{fill:#1a1830}.start-highlight{fill:#4f4a78}@media (prefers-reduced-motion:reduce){.touchpad,.touchpad[data-visible=false]{transition:none}}.resume:not(:target,:focus-within){clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.resume:is(:target,:focus-within){--ink:#1b1830;--muted:#5d5874;--rule:#d9d0bd;--accent:#1f4fd6;--paper:#f7f3e6;z-index:40;background:linear-gradient(to bottom, #14123a 0 6px, #3d2f8f 6px 8px, #ffc83d 8px 10px, transparent 10px), var(--paper);color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased;outline:none;font:17px/1.65 ui-serif,Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;position:fixed;inset:0;overflow-y:auto}.resume__page{max-width:44rem;margin:0 auto;padding:clamp(28px,6vw,72px) clamp(20px,5vw,40px) 64px}.resume__kicker,.resume__back,.resume__metric,.resume__cta{-webkit-font-smoothing:none;font-family:Silkscreen,ui-monospace,monospace}.resume__nav{margin-bottom:40px}.resume__back{cursor:pointer;text-transform:uppercase;color:var(--paper);background:var(--ink);border:0;padding:6px 10px 5px;font-size:16px;line-height:1;text-decoration:none;display:inline-block;box-shadow:3px 3px #3d2f8f}.resume__back:hover{background:#2b2659}.resume__kicker{text-transform:uppercase;color:var(--accent);margin:0 0 6px;font-size:16px;line-height:1}.resume h1{letter-spacing:-.02em;margin:0;font:700 clamp(2.4rem,7vw,3.4rem)/1.05 system-ui,-apple-system,Segoe UI,sans-serif}.resume__headline{color:var(--muted);margin:10px 0 0;font:600 1.1rem/1.4 system-ui,sans-serif}.resume__summary{margin:20px 0 0;font-size:1.12rem}.resume__links{flex-wrap:wrap;gap:8px 22px;margin:20px 0 0;padding:0;font:500 .95rem/1.4 system-ui,sans-serif;list-style:none;display:flex}.resume a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}.resume a:focus-visible{outline-offset:2px;background:#fff3c4;outline:2px solid #ffc83d}.resume h2{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);background:linear-gradient(to right, var(--ink) 50%, transparent 50%) bottom / 4px 2px repeat-x;margin:56px 0 20px;padding-bottom:8px;font:700 .8rem/1 system-ui,sans-serif}.resume__job+.resume__job{margin-top:36px}.resume h3{margin:0;font:700 1.2rem/1.35 system-ui,sans-serif}.resume__meta{color:var(--muted);margin:4px 0 0;font:.92rem/1.5 system-ui,sans-serif}.resume__highlights{margin:14px 0 0;padding-left:1.1em}.resume__highlights li{margin-top:8px}.resume__highlights li::marker{content:"▸ ";color:#c87d0a;font-size:.85em}.resume__metric{letter-spacing:.04em;text-transform:uppercase;vertical-align:2px;color:var(--ink);background:#ffe9a8;margin-left:8px;padding:3px 6px 2px;font-size:8px;line-height:1.2;display:inline-block;box-shadow:inset 0 0 0 1px #e0b545}.resume__metric strong{color:#b43a10;font-weight:400}.resume__stack{letter-spacing:.04em;flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;font:600 .72rem/1 system-ui,sans-serif;list-style:none;display:flex}.resume__stack li{color:var(--paper);background:#3d3a57;padding:4px 7px}.resume__plain{margin:0;padding:0;list-style:none}.resume__plain li+li{margin-top:14px}.resume__detail{color:var(--muted);margin:2px 0 0}.resume__next{color:#e9e4ff;background:#14123a;margin-top:56px;padding:24px 24px 26px;box-shadow:inset 0 0 0 2px #3d2f8f,6px 6px #1b1830}.resume__next .resume__kicker{color:#ffc83d}.resume__next h2{letter-spacing:0;text-transform:none;color:#fff;background:0 0;margin:0 0 8px;padding:0;font-size:1.5rem}.resume__next p{margin:0}.resume a.resume__cta{color:var(--ink);background:#ffc83d;margin-top:18px;padding:8px 12px 7px;font-size:16px;line-height:1;text-decoration:none;display:inline-block;box-shadow:3px 3px #b43a10}.resume__footer{color:var(--muted);margin-top:48px;font:.85rem/1.4 system-ui,sans-serif}.resume__sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media print{.resume:not(:target,:focus-within),.resume:is(:target,:focus-within){clip-path:none;white-space:normal;background:#fff;width:auto;height:auto;margin:0;position:static;overflow:visible}.resume__nav{display:none}}@font-face{font-family:Silkscreen;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/silkscreen-latin-ext-400-normal-2T9bWrxp.woff2)format("woff2"),url(/assets/silkscreen-latin-ext-400-normal-Drdn_BEM.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Silkscreen;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/silkscreen-latin-400-normal-CtPo2yA5.woff2)format("woff2"),url(/assets/silkscreen-latin-400-normal-D0DfPJut.woff)format("woff");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:Chewy;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/chewy-latin-400-normal-BFhrjfYU.woff2)format("woff2"),url(/assets/chewy-latin-400-normal-Bytuav8a.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ui-display:Chewy, Nunito, system-ui, sans-serif;--ui-body:Nunito, system-ui, sans-serif;--ui-ink:#fff;--ui-ink-soft:#ffffffc2;--ui-glass:#0e0b1c94;--ui-glass-hover:#0e0b1cbd;--ui-text-shadow:0 1px 1px #06040e99, 0 2px 14px #06040e80;--ui-lift:0 8px 28px #04020c52;--ui-spring:cubic-bezier(.34, 1.56, .64, 1);--ui-out:cubic-bezier(.23, 1, .32, 1);--ui-edge:clamp(16px, 2.4vw, 32px);--ui-top-row:max(var(--ui-edge), env(safe-area-inset-top));--ui-top-row-height:44px;background:#0c0a14}html,body{margin:0}body{-webkit-font-smoothing:antialiased;font-family:system-ui,sans-serif}.skip-link{z-index:20;color:#1b1830;background:#f7f3e6;border-radius:4px;padding:8px 14px;font-weight:600;position:absolute;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:none}html[data-pointer=hidden],html[data-pointer=hidden] *{cursor:none!important}@media (hover:hover) and (pointer:fine){:root{--ui-cursor:image-set(url(/assets/arrow-D3v7w0Hd.png) 1x, url(/assets/arrow@2x-DtIkN_fu.png) 2x) 4 3, default;--ui-cursor-hand:image-set(url(/assets/hand-DTkkt3Cb.png) 1x, url(/assets/hand@2x-BS8AWf63.png) 2x) 9 2, pointer;--room-cursor-idle:var(--ui-cursor);--room-cursor-enter:var(--ui-cursor-hand);--room-cursor-press:var(--ui-cursor-hand);--room-cursor-leave:image-set(url(/assets/leave-Bhl0np3O.png) 1x, url(/assets/leave@2x-Bf0P_PWk.png) 2x) 4 3, zoom-out;--room-cursor-play:image-set(url(/assets/game-hand-M2qiaPp4.png) 1x, url(/assets/game-hand@2x-DsUIPLPu.png) 2x) 7 3, default;cursor:var(--ui-cursor)}:any-link{cursor:var(--ui-cursor-hand)}}
