html.story-theme{color:#292b26;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-behavior:auto;background:#f3efdf}html.story-theme body{color:#292b26;background:#f3efdf;overflow-x:clip}html.story-theme ::selection{color:#f3efdf;background:#ac3f27}html.story-theme :focus-visible{outline-offset:3px;border-radius:2px;outline:3px solid #ffbf47}.story{font-family:var(--f-text), "Inter", sans-serif;color:#292b26}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.story h1,.story h2{font-family:var(--f-display), Fraunces, "Iowan Old Style", Palatino, serif;font-optical-sizing:auto;letter-spacing:-.03em;text-wrap:balance;font-weight:650;line-height:.92}.story .mono{font-family:var(--f-mono), ui-monospace, monospace;letter-spacing:.06em;text-transform:uppercase;font-size:13px;line-height:1.6}.story-header{z-index:90;color:#292b26;background:#f3efdf;justify-content:space-between;align-items:center;gap:20px;min-height:74px;padding:0 5vw;display:flex;position:fixed;inset:0 0 auto}.story-header .brand{color:inherit;align-items:center;line-height:0;text-decoration:none;display:inline-flex}.story-header .brand-mark{width:auto;height:40px;display:block}.story-header .brand-on-dark{display:none}html[data-header=dark] .story-header{color:#f3efdf;background:#121418}html[data-header=dark] .story-header .brand-on-light{display:none}html[data-header=dark] .story-header .brand-on-dark{display:block}html[data-header=dark] .story-header :focus-visible{outline-color:#f3efdf}.story-header nav{align-items:center;gap:28px;font-size:16px;display:flex}.story-header nav a{color:inherit;padding:8px 0;text-decoration:none}.story-header nav a:hover,.story-header nav a[aria-current=page]{text-underline-offset:4px;text-decoration:underline}.story-header nav a[aria-current=page]{font-weight:700}.story-header .lets-talk{color:inherit;text-underline-offset:4px;white-space:nowrap;font-size:16px;text-decoration:underline}.story-header :focus-visible{outline-offset:3px;outline:3px solid #292b26}.hold{height:var(--hold,150vh);position:relative}.scene{height:100svh;min-height:640px;padding:108px 6vw 120px;position:sticky;top:0;overflow:hidden}.chapter-copy{z-index:3;max-width:640px;position:relative}.chapter-copy>p{margin:0;font-size:18px;line-height:1.5}.chapter-copy h2,.story h2.display{margin:18px 0 16px;font-size:clamp(56px,6.4vw,104px)}.narration{gap:12px;max-width:68ch;margin-top:20px;display:grid}.narration p{margin:0;font-size:22px;font-style:italic;line-height:1.6}@media (prefers-reduced-motion:no-preference){.narration p{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(8px)}.narration p.on{opacity:1;transform:none}}.bottom-note{z-index:4;max-width:46ch;position:absolute;bottom:132px;left:6vw}.place-label{z-index:4;text-align:right;position:absolute;top:128px;right:6vw}.hero-scene{background:#f3efdf}.hero-kicker{font-weight:700}.hero-title{align-items:center;gap:4vw;margin-top:28px;display:flex}.hero-title h1{letter-spacing:-.05em;margin:0;font-size:clamp(64px,8.2vw,132px);line-height:.92}.hero-title .period{color:#ac3f27}.hero-mascot{cursor:pointer;background-color:#0000;border:0;margin-top:12px;padding:0}.hero-bottom{z-index:5;grid-template-columns:minmax(220px,340px) minmax(280px,360px);justify-content:start;align-items:start;column-gap:28px;max-width:min(740px,62vw);margin-top:28px;display:grid;position:relative}.hero-scene{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start;column-gap:clamp(20px,3vw,56px);padding:88px clamp(28px,4vw,72px) 72px;display:grid}@media (min-width:761px){.hero-scene .scroll-cue{z-index:6;white-space:nowrap;bottom:18px;left:50%;right:auto;transform:translate(-50%)}}@media (min-width:1280px){.hero-slogan{font-size:clamp(22px,1.65vw,30px)}.hero-slogan-b{white-space:nowrap}}.hero-scene .folio{top:96px;bottom:auto;right:6vw}.hero-creds .story-links{flex-wrap:nowrap}.hero-scene .narration{z-index:5;max-width:min(420px,46vw);position:relative}.hero-bottom .role{max-width:360px;margin:0;font-size:22px;line-height:1.4}.study{margin:0 0 16px}.story-links{flex-wrap:wrap;gap:10px;display:flex}.story-links a,.story-links button,.solid-btn{color:inherit;cursor:pointer;background:0 0;border:1px solid;padding:12px 16px;font-size:15px;line-height:1;text-decoration:none}.solid-btn{color:#f3efdf;background:#292b26;border-color:#292b26}.story-links a:hover,.story-links button:hover,.solid-btn:hover{filter:brightness(1.08);text-decoration:none}.scroll-cue{color:inherit;background:0 0;border:0;align-items:center;gap:28px;padding:0;text-decoration:none;display:flex;position:absolute;bottom:132px;left:6vw}.scroll-cue span{font-family:var(--f-display), sans-serif;letter-spacing:0;text-transform:none;font-size:28px}.folio{position:absolute;bottom:140px;right:6vw}.mandalay-scene{color:#3d291f;background:linear-gradient(#f6e0b4 0%,#e7cc96 46%,#d9b07a 100%)}.mandalay-scene .bottom-note{color:#fff6df}.mandalay-scene .narration p{color:#24180f}.landscape,.flight-art{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.landscape svg,.flight-art svg{width:100%;height:100%;position:absolute;inset:0}.flight-scene{color:#1d3338;background:#f2d7a4}.flight-scene .sky-day,.flight-scene .dusk{z-index:0;pointer-events:none;position:absolute;inset:0}.flight-scene .sky-day{opacity:calc(1 - var(--flight,0));background:linear-gradient(#f8e7c0 0%,#f2d7a4 46%,#e8c48c 100%)}.flight-scene .dusk{opacity:var(--flight,0);background:linear-gradient(#d4896a 0%,#7f9aaf 46%,#35586c 100%)}.flight-route #plane{display:none}.flight-art{z-index:1}.chicago-scene{color:#f3edda;background:#3c5b6e}.chicago-scene .landscape{height:76%;top:30%}.chicago-scene .chapter-copy{max-width:540px}.chicago-scene .chapter-copy>p,.chicago-scene .narration p{text-shadow:0 1px #1c3342}.hobbies-scene{color:#f4ecdf;background:#243646;flex-direction:column;display:flex}.hobby-bubble{z-index:8;color:#2b2620;opacity:0;pointer-events:none;background:#fbf4e4;width:min(300px,32vw);padding:14px 16px;font-size:16px;font-style:italic;line-height:1.4;position:absolute;top:38%;left:max(24px,5vw);transform:translateY(6px)}.hobby-bubble.show{opacity:1;transform:none}.desk{z-index:2;flex-direction:column;flex:1;justify-content:flex-end;gap:16px;width:100%;margin-top:28px;display:flex;position:relative}.shelf{background:#6b4632;justify-content:space-around;align-items:flex-end;gap:8px;padding:14px 12px 8px;display:flex;box-shadow:inset 0 10px #8d5d40}.hobby{color:#f6ead4;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;width:auto;max-width:none;padding:0;display:flex}.hobby-label{font-family:var(--f-text), sans-serif;letter-spacing:0;text-transform:none;text-align:center;font-size:13px;line-height:1.2}.obj{justify-content:center;align-items:flex-end;gap:6px;width:100%;height:168px;display:flex;position:relative}.phone{background:#14181d;border:3px solid #2c3640;border-radius:10px;width:86px;height:156px;position:relative}.phone .dot{background:#f2b45a;border-radius:50%;width:10px;height:10px;position:absolute;bottom:12px;left:16px}.phone .score{text-align:center;font-family:var(--f-mono), monospace;color:#c8ff3d;font-size:12px;animation:.8s score-pop;position:absolute;top:8px;left:0;right:0}@keyframes score-pop{0%{opacity:0;transform:translateY(8px)}30%{opacity:1}to{opacity:0;transform:translateY(-12px)}}@media (prefers-reduced-motion:no-preference){.phone .dot{animation:1.2s ease-in-out infinite hop}@keyframes hop{50%{transform:translateY(-36px)}}}.ticket{width:196px;height:108px;transform-style:preserve-3d;transition:transform .5s;position:relative;transform:rotate(-8deg)}.ticket span{text-align:center;font-family:var(--f-mono), monospace;letter-spacing:.04em;backface-visibility:hidden;color:#fff6ea;background:#d6493a;place-items:center;font-size:11px;font-weight:700;display:grid;position:absolute;inset:0}.ticket .back{color:#3a2a1c;background:#f2d9a8;padding:6px;transform:rotateY(180deg)}.hobby[aria-pressed=true] .ticket{transform:rotate(-8deg)rotateY(180deg)}.vinyl{background:repeating-radial-gradient(#161616 0 2px,#2a2a2a 2px 4px);border-radius:50%;place-items:center;width:148px;height:148px;display:grid}.vinyl i{background:#f2b45a;border-radius:50%;width:22px;height:22px}.hobby[aria-pressed=true] .vinyl{animation:2s linear infinite spin}@keyframes spin{to{transform:rotate(1turn)}}.eq{align-items:flex-end;gap:3px;height:48px;display:flex}.eq b{background:#c8ff3d;width:5px;height:8px}.hobby[aria-pressed=true] .eq b{animation:.7s ease-in-out infinite alternate eq}.eq b:nth-child(2){animation-delay:-.2s}.eq b:nth-child(3){animation-delay:-.45s}.eq b:nth-child(4){animation-delay:-.1s}@keyframes eq{to{height:44px}}.eat-scene{transform-origin:bottom;width:64px;height:80px;position:relative;transform:scale(1.85)}.eat-scene .table{display:none}.eat{width:64px;height:80px;image-rendering:pixelated;background:url(/mascot/eating.png) 0 0/256px 80px no-repeat;position:absolute;bottom:0;left:0}.hobby[aria-pressed=true] .eat{animation:.9s steps(4,end) infinite eat}@keyframes eat{to{background-position:-256px 0}}.cup{clip-path:polygon(8% 0,92% 0,78% 100%,22% 100%);background:#f4efe4;width:92px;height:156px;position:relative}.cup .tea{background:#c49262;height:68%;position:absolute;bottom:0;left:0;right:0}.cup .straw{background:#d6493a;width:6px;height:108px;position:absolute;top:-16px;left:46%}.pearls{position:absolute;inset:0}.pearls i{background:#2a1a12;border-radius:50%;width:9px;height:9px;position:absolute;bottom:8px}@media (prefers-reduced-motion:no-preference){.pearls i{animation:.45s ease-in drop}@keyframes drop{0%{transform:translateY(-70px)}}}.puzzle{grid-template-columns:58px 58px;gap:6px;display:grid}.puzzle i{background:#3e5163;width:58px;height:58px}.puzzle .last{background:#c8ff3d;transition:transform .45s cubic-bezier(.2,1.4,.4,1);transform:translate(22px,-18px)rotate(16deg)}.hobby[aria-pressed=true] .puzzle .last{transform:none}.signal-scene{color:#f1f0df;--q:1;background:#171c1b}.signal-grid{z-index:1;pointer-events:none;grid-template-columns:repeat(14,1fr);gap:10px 8px;margin:0;padding:0;list-style:none;display:grid;position:absolute;inset:150px 8vw 120px 46%}.signal-grid li{--local:clamp(0, calc((var(--q,1) - var(--i,0)) / .55), 1);height:16px;font-family:var(--f-mono), monospace;letter-spacing:0;text-transform:none;text-align:center;color:rgba(200, 255, 61, var(--local));background:rgba(255, 196, 110, calc((1 - var(--local)) * .82));transform:scale(calc(1 - var(--local) * .18));font-size:13px;line-height:16px}.signal-grid li:nth-child(3n){background:rgba(255, 196, 110, calc(.28 * (1 - var(--q))))}.signal-grid li:nth-child(7n+2){background:0 0}.terminal{z-index:2;color:#dce7c9;background:#111512;border:1px solid #59604d;position:relative}.terminal-bar{color:#c8ff3d;text-transform:uppercase;border-bottom:1px solid #59604d;justify-content:space-between;gap:12px;padding:12px 16px;display:flex}.terminal pre{font-family:var(--f-mono), ui-monospace, monospace;letter-spacing:0;text-transform:none;white-space:pre-wrap;color:#c8ff3d;margin:0;padding:18px 18px 22px;font-size:14px;line-height:1.7}.signal-scene .chapter-copy{max-width:min(520px,42vw)}.signal-terminal{z-index:2;width:min(440px,36vw);min-height:0;position:absolute;top:140px;bottom:auto;right:5vw}.ai-scene{color:#f3f1e4;background:#1a1d18}.ai-layout{z-index:2;grid-template-columns:1fr 1fr;align-items:start;gap:6vw;display:grid;position:relative}.ai-scene h2{margin:12px 0 18px;font-size:clamp(64px,7vw,108px)}.ai-scene h2 em{color:#c8ff3d;font-style:normal}.ai-intro{max-width:28ch;margin:0;font-size:22px;line-height:1.4}.why-placeholder{border-left:3px solid #c8ff3d;margin-top:28px;padding-left:16px}.why-placeholder p{margin:8px 0 0;font-size:18px;line-height:1.45}.ai-right{padding-top:12px;position:relative}.model-diagram{font-family:var(--f-mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:#d5dcc8;align-items:center;gap:12px;margin:0 0 22px;font-size:13px;display:flex}.model-diagram b{color:#c8ff3d;border:1px solid #c8ff3d;border-radius:50%;padding:22px 14px;font-weight:600}.model-diagram i{background:#84916a;flex:1;height:1px}.ai-right{position:static}.typing-mascot{transform-origin:100% 100%;z-index:3;position:absolute;bottom:118px;right:5vw;transform:scale(.55)}.code-texture{color:#d2d8c473;font-family:var(--f-mono), monospace;letter-spacing:0;text-transform:none;margin:0;font-size:16px;position:absolute;bottom:128px;left:6vw}.projects-scene{color:#f6f1e4;background:#141814}.project-bg{z-index:0;position:absolute;inset:0 0 0 42%}.project-bg img,.showcase-figure img{object-fit:cover}.project-shade{z-index:1;background:#141814;width:48%;position:absolute;inset:0 auto 0 0}.projects-scene .chapter-copy,.showcase,.deck-bar,.deck{z-index:2;position:relative}.projects-scene .chapter-copy{max-width:none}.showcase{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:4vw;max-width:1180px;display:grid}.project-kind{color:#e9c58b;margin:0 0 8px}.showcase h2{margin:0 0 10px;font-size:clamp(34px,3.4vw,52px)}.showcase .pitch{max-width:62ch;margin:0;font-size:18px;line-height:1.6}.tag-row{flex-wrap:wrap;gap:8px;margin:16px 0;padding:0;list-style:none;display:flex}.tag-row li{font-family:var(--f-mono), monospace;letter-spacing:0;text-transform:none;color:#e4eadc;border:1px solid #8a917e;padding:4px 8px;font-size:13px}.showcase-figure{background:#0c0e0c;margin:0;position:relative}.showcase-figure img{object-fit:contain;background:#0c0e0c;width:100%;height:168px}.showcase-figure figcaption{color:#d5dcc8;text-transform:none;letter-spacing:0;margin-top:8px;font-size:13px;line-height:1.4}.ph-art{color:#f3f1e4;text-align:center;background:#24281f;align-content:center;place-items:center;gap:8px;min-height:168px;padding:24px;display:grid}.deck-bar{justify-content:space-between;align-items:flex-end;gap:16px;max-width:1180px;margin-top:22px;display:flex}.deck-bar p{text-transform:none;letter-spacing:0;margin:0;font-size:13px}.deck-nav{gap:8px;display:flex}.deck-nav button{color:#f3f1e4;cursor:pointer;background:0 0;border:1px solid #c5ccb8;width:44px;height:40px;font-size:18px}.deck{-webkit-user-select:none;user-select:none;touch-action:pan-y;scroll-snap-type:x mandatory;scrollbar-color:#c8ff3d #242a22;gap:12px;max-width:1180px;padding:14px 0 8px;display:flex;overflow-x:auto}.deck button{scroll-snap-align:start;color:#f3f1e4;text-align:left;cursor:pointer;background:#242b21;border:1px solid #6c7660;flex:0 0 200px;padding:0}.deck button[aria-pressed=true]{border:2px solid #c8ff3d}.deck img{object-fit:cover;width:100%;height:64px;display:block}.deck b,.deck small{padding:8px 10px 0;font-size:14px;line-height:1.3;display:block}.deck small{color:#c5d0b8;font-family:var(--f-mono), monospace;padding-bottom:10px;font-size:13px}.contact-scene{color:#292b26;background:#f3efdf}.contact-scene h2{letter-spacing:-.03em;margin-top:8px;font-size:clamp(40px,4.2vw,64px);line-height:.98}.contact-scene .narration{gap:12px;max-width:36em;margin-top:14px}.contact-scene .narration p{font-size:20px;font-style:normal;line-height:1.45}.contact-scene .chapter-close{letter-spacing:.08em;margin:16px 0 0;font-size:13px}.contact-scene .hero-building{margin-top:16px}.contact-scene .hero-icons{margin-top:2px;margin-bottom:4px}.contact-cta{font-family:var(--f-display), Fraunces, "Iowan Old Style", Palatino, serif;letter-spacing:-.03em;color:inherit;text-underline-offset:5px;margin-top:18px;font-size:clamp(26px,2.4vw,36px);font-weight:650;line-height:1.25;text-decoration:underline;display:inline-block}.story-rail{z-index:36;gap:7px;display:grid;position:fixed;top:50%;right:14px;transform:translateY(-50%)}.story-rail a{color:#2b2620;font-family:var(--f-mono), monospace;letter-spacing:.04em;opacity:.55;justify-content:flex-end;align-items:center;gap:8px;font-size:13px;text-decoration:none;display:flex;position:relative}.story-rail a span{white-space:nowrap;line-height:1;display:none;position:absolute;right:calc(100% + 12px)}.story-rail a.on,.story-rail a:hover{opacity:1}.story-rail a.on span,.story-rail a:hover span,.story-rail a:focus-visible span{display:block}.story-rail b{text-align:center;border:1px solid;min-width:1.8em;padding:3px 4px;font-weight:600}.story-rail a.on b{color:#c8ff3d;background:#171c1b;border-color:#171c1b}.story-rail.dark a{color:#f3f1e4}.story-rail.dark a.on b{color:#171c1b;background:#c8ff3d;border-color:#c8ff3d}.story-rail.hide{opacity:0;pointer-events:none}.companion-layer{z-index:80;pointer-events:none;height:0;position:fixed;bottom:0;left:0;right:0}.scene-mascot{display:none!important}.pet-btn{z-index:80;cursor:pointer;transform-origin:bottom;pointer-events:auto;background:0 0;border:0;padding:0;position:fixed;bottom:0;left:24px}html[data-pet-hidden] .pet-btn{display:none}html[data-chapter=hero]:not([data-pet-entered]) .pet-btn,html[data-pet-parked] .pet-btn,html[data-pet-parked] .hide-pet,html[data-pet-parked] .pet-menu{visibility:hidden;pointer-events:none}.hide-pet-mark{display:none}.hide-pet{z-index:82;pointer-events:auto;color:#292b26;cursor:pointer;background:#f3efdf;border:1px solid #5c6154;place-items:center;width:36px;height:36px;padding:0;display:grid;position:fixed;bottom:14px;left:12px;right:auto}.hide-pet .hide-pet-mark{display:block}.hide-pet .hide-pet-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html[data-pet-hidden] .hide-pet .when-shown,html:not([data-pet-hidden]) .hide-pet .when-hidden,html[data-pet-ledge="1"] .companion-layer:before{display:none}html[data-pet-ledge="1"] .hide-pet{inset:auto auto 20px 16px}html[data-pet-ledge="1"] .skills-page,html[data-pet-ledge="1"] .life{padding-bottom:128px}.pet-menu{z-index:95;color:#292b26;background:#f3efdf;border:2px solid #292b26;width:min(300px,100vw - 32px);padding:20px 20px 8px;position:fixed;box-shadow:8px 8px #292b2640}.pet-menu p{font-size:20px;font-family:var(--f-display), sans-serif;margin:8px 0 12px;font-weight:700}.pet-menu a,.pet-menu button{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;border-top:1px solid #c4c6b6;padding:12px 0;font-size:15px;text-decoration:none;display:block}.pet-menu .mono{font-size:13px}.pet-bubble{z-index:2;color:#292b26;max-width:140px;font-family:var(--f-mono), ui-monospace, monospace;letter-spacing:0;text-transform:none;white-space:nowrap;pointer-events:none;background:#f7f1e4;border:2px solid #292b26;padding:6px 8px;font-size:13px;line-height:1.3;position:absolute;top:18px;left:46%}.pet-bubble:after{content:"";background:#f7f1e4;border-bottom:2px solid #292b26;border-right:2px solid #292b26;width:8px;height:8px;position:absolute;bottom:-7px;left:14px}.pet-spark{pointer-events:none;width:0;height:0;position:absolute;top:28%;left:58%}.pet-spark i{background:#ac3f27;width:8px;height:8px;animation:.9s steps(5,end) forwards pet-spark;position:absolute}.pet-spark i:first-child{--sx:-28px;--sy:-36px}.pet-spark i:nth-child(2){--sx:22px;--sy:-30px;background:#e9c58b;animation-delay:40ms}.pet-spark i:nth-child(3){--sx:-18px;--sy:-14px;width:6px;height:6px;animation-delay:80ms}.pet-spark i:nth-child(4){--sx:16px;--sy:-18px;background:#e9c58b;width:6px;height:6px;animation-delay:20ms}@keyframes pet-spark{0%{opacity:1;transform:translate(0)}to{transform:translate(var(--sx), var(--sy));opacity:0}}@keyframes pet-jump{0%{translate:0}40%{translate:0 -52px}to{translate:0}}@keyframes pet-flip{to{rotate:1turn}}@keyframes pet-dance{0%,to{translate:0;rotate:0deg}25%{translate:-8px;rotate:-8deg}50%{translate:8px;rotate:8deg}75%{translate:-4px;rotate:-6deg}}@keyframes pet-sit{0%,to{translate:0}30%,75%{translate:0 16px}}@keyframes pet-bob{50%{translate:0 -6px}}.pet-btn.trick-jump{animation:.7s pet-jump}.pet-btn.trick-flip{animation:.8s linear pet-flip}.pet-btn.trick-dance{animation:1s steps(4,end) pet-dance}.pet-btn.trick-sit{animation:1s pet-sit}.pet-btn.trick-bob{animation:.4s pet-bob}.pet-btn.trick-dizzy{animation:.45s 2 pet-dizzy}.pet-btn.trick-cape:before{content:"";clip-path:polygon(30% 0,100% 18%,62% 100%,0 78%);pointer-events:none;background:#ac3f27;width:42px;height:56px;position:absolute;top:34%;left:22%}.pet-btn[data-asleep="1"]:after{content:"z";color:#292b26;font-family:var(--f-mono), ui-monospace, monospace;pointer-events:none;font-size:16px;line-height:1;animation:1.6s infinite pet-zzz;position:absolute;top:18%;left:64%}@keyframes pet-dizzy{0%,to{rotate:0deg}30%{rotate:-14deg}70%{rotate:14deg}}@keyframes pet-zzz{50%{opacity:.35;transform:translate(8px,-10px)}}@media (prefers-reduced-motion:reduce){.pet-btn.trick-jump,.pet-btn.trick-flip,.pet-btn.trick-dance,.pet-btn.trick-sit,.pet-btn.trick-dizzy,.pet-btn[data-asleep="1"]:after,.pet-spark i{animation:none}.pet-btn.trick-cape:before{display:none}}.sprite{width:192px;height:240px;image-rendering:pixelated;background-image:url(/mascot/spritesheet.png);background-repeat:no-repeat;background-size:1536px 2880px;flex:none;display:block}.sprite[data-pose=idle]{animation:1.5s steps(6,end) infinite pose-idle}.sprite[data-pose=wave]{animation:.857s steps(6,end) infinite pose-wave}.sprite[data-pose=walk_right]{animation:.889s steps(8,end) infinite pose-walk}.sprite[data-pose=thinking]{animation:1s steps(4,end) infinite pose-thinking}.sprite[data-pose=typing]{animation:.571s steps(4,end) infinite pose-typing}.sprite[data-pose=celebrating]{animation:.75s steps(5,end) forwards pose-celebrating}.sprite[data-pose=listening]{animation:1.333s steps(4,end) infinite pose-listening}.sprite[data-pose=talking]{animation:.5s steps(4,end) infinite pose-talking}.sprite[data-pose=explaining]{animation:.667s steps(4,end) infinite pose-explaining}.sprite[data-pose=surprised]{animation:.6s steps(2,end) forwards pose-surprised}.pet-btn[data-pose=surprised]{animation:.6s steps(2,end) forwards pose-surprised,.28s linear infinite pet-shake}@keyframes pet-shake{0%,to{translate:0}25%{translate:-3px}75%{translate:3px}}.sprite[data-pose=sleepy]{animation:2s steps(4,end) infinite pose-sleepy}.sprite[data-pose=look_direction]{background-position:0 -2640px;animation:none}@keyframes pose-idle{0%{background-position:0 0}to{background-position:-1152px 0}}@keyframes pose-wave{0%{background-position:0 -240px}to{background-position:-1152px -240px}}@keyframes pose-walk{0%{background-position:0 -480px}to{background-position:-1536px -480px}}@keyframes pose-thinking{0%{background-position:0 -720px}to{background-position:-768px -720px}}@keyframes pose-typing{0%{background-position:0 -960px}to{background-position:-768px -960px}}@keyframes pose-celebrating{0%{background-position:0 -1200px}to{background-position:-960px -1200px}}@keyframes pose-listening{0%{background-position:0 -1440px}to{background-position:-768px -1440px}}@keyframes pose-talking{0%{background-position:0 -1680px}to{background-position:-768px -1680px}}@keyframes pose-explaining{0%{background-position:0 -1920px}to{background-position:-768px -1920px}}@keyframes pose-surprised{0%{background-position:0 -2160px}to{background-position:-384px -2160px}}@keyframes pose-sleepy{0%{background-position:0 -2400px}to{background-position:-768px -2400px}}.talk-page{box-sizing:border-box;height:calc(100dvh - var(--kb,0px));color:#f4f1e4;background:#101410;flex-direction:column;padding:92px clamp(28px,4vw,72px) 28px;display:flex;overflow:hidden}.hud{z-index:2;color:#f4f1e4;letter-spacing:.08em;justify-content:space-between;gap:16px;margin-bottom:16px;font-size:14px;display:flex;position:relative}.hud-status{color:#c8ff3d}.hud-ok{align-items:center;gap:8px;display:flex}.hud-ok i{background:#e23d8c;width:8px;height:8px}.boot{z-index:3;color:#c8ff3d;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:8px;display:flex;position:relative}.boot pre{min-height:2.8em;font-family:var(--f-mono), ui-monospace, monospace;white-space:pre-wrap;margin:0;font-size:14px;line-height:1.4}.boot button{color:#f4f1e4;cursor:pointer;background:0 0;border:1px solid #c8ff3d;padding:8px 12px}.talk-grid{z-index:2;flex:1;grid-template-columns:minmax(260px,380px) minmax(0,1fr);align-items:center;gap:clamp(24px,3vw,56px);width:min(1440px,100%);height:100%;min-height:0;margin-inline:auto;display:grid;position:relative}.presence{flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex}.operator-slot{place-items:end center;width:384px;height:480px;display:grid}.operator{transform-origin:bottom;width:192px;height:240px;image-rendering:pixelated;transform:scale(2)}.wave{align-items:flex-end;gap:4px;height:22px;margin-top:18px;display:flex}.wave i{background:#c8ff3d;width:3px;height:4px}.wave.on i{animation:.7s ease-in-out infinite alternate wave-bar;animation-delay:calc(var(--d) * 60ms)}@keyframes wave-bar{to{height:20px}}.talk-status{color:#f4f1e4;margin:12px 0 0;font-size:17px;line-height:1.4}.talk-panel{color:#f4f1e4;background:#161b17;border:1px solid #3c4638;flex-direction:column;align-items:center;min-width:0;height:100%;min-height:0;padding:28px 32px 20px;display:flex;overflow:hidden}.offline-note{color:#f4f1e4;background:#1e261f;width:min(760px,100%);margin:0 0 12px;padding:12px 14px;font-size:16px;line-height:1.6}.thread{flex-direction:column;flex:auto;gap:16px;width:min(760px,100%);min-height:0;padding:4px 2px 12px;display:flex;overflow:auto}.talk-panel>.fine,.talk-panel>.ask{flex:none}.msg{color:#f4f1e4;background:#101410;border:1px solid #3c4638;max-width:min(92%,62ch);padding:10px 12px}.msg.user{border-color:#c8ff3d;align-self:flex-end}.msg .who{letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-family:var(--f-mono), monospace;color:#c8ff3d;margin:0 0 4px}.msg p{white-space:pre-wrap;color:#f4f1e4;margin:0;font-size:17px;line-height:1.6}.msg a.answer-link{color:#f7f1e4;text-underline-offset:3px;text-decoration:underline}.caret{vertical-align:text-bottom;background:#c8ff3d;width:8px;height:1em;margin-left:2px;display:inline-block}.project-card{color:#f4f1e4;background:#101410;border:1px solid #3c4638;max-width:none;margin-top:12px;padding:12px 14px}.project-card h2{letter-spacing:-.03em;margin:4px 0;font-size:28px}.project-card p{margin:0 0 8px;font-size:18px;line-height:1.45}.project-card a{color:inherit;font-weight:650}.ask{gap:10px;width:min(760px,100%);display:flex}.ask input{color:#f4f1e4;min-width:0;min-height:52px;font:inherit;background:#101410;border:1px solid #3c4638;flex:1;padding:14px 16px;font-size:17px;line-height:1.4}.ask button{color:#101410;font:inherit;cursor:pointer;background:#c8ff3d;border:0;min-height:52px;padding:0 20px;font-size:16px}.ask button:disabled{opacity:.45;cursor:default}.fine{width:min(760px,100%);max-width:68ch;margin:16px 0 0;font-size:13px;line-height:1.55}.fine a{color:inherit}@media (max-width:760px){.story-header{gap:10px;min-height:64px;padding:0 16px}.story-header .brand-mark{height:32px}.story-header{gap:6px;padding:0 10px}.story-header nav{scrollbar-width:none;gap:8px;font-size:16px;overflow-x:auto}.story-header nav::-webkit-scrollbar{display:none}.story-header nav a{white-space:nowrap}.story-header .lets-talk{font-size:16px}.scene{min-height:100svh;padding:96px 20px 120px}.chapter-copy h2,.story h2.display{font-size:52px}.narration p{font-size:18px}.hero-title{display:block;position:relative}.hero-title h1{max-width:74%;font-size:46px}.hero-mascot{transform-origin:100% 0;position:absolute;top:4px;right:0;transform:scale(.36)}.hero-bottom{max-width:100%;margin-top:8px;display:block}.hero-bottom .role{font-size:18px}.folio{display:none}.scroll-cue,.bottom-note{bottom:128px;left:20px}.place-label{text-align:left;margin-top:14px;position:static}.flight-art{top:46%;width:100%;height:46%;inset:auto 0 108px}.landscape{object-fit:cover}.desk{gap:8px;width:100%;margin-top:12px;position:relative;inset:auto}.shelf{padding:10px 6px 6px}.obj{height:112px}.phone{width:52px;height:96px}.ticket{width:112px;height:64px}.vinyl{width:88px;height:88px}.cup{width:54px;height:96px}.eat-scene{transform:scale(1.25)}.puzzle{grid-template-columns:36px 36px}.puzzle i{width:36px;height:36px}.signal-scene .chapter-copy{max-width:none}.hobby-bubble{width:auto;inset:auto 16px 58%}.signal-scene .chapter-copy{z-index:3;position:relative}.signal-grid{display:none}.signal-terminal{width:100%;min-height:0;max-height:none;margin-top:16px;position:relative;bottom:auto;left:auto;right:auto;overflow:visible}.chicago-scene .bottom-note{margin-top:14px;position:static}.ai-layout{display:block}.model-diagram{display:none}.typing-mascot{bottom:112px;right:8px;transform:scale(.4)}.code-texture{display:none}.ai-scene h2{font-size:48px}.ai-scene .terminal pre{padding:10px 12px;font-size:12px;line-height:1.45}.project-shade{background:#141814;width:100%}.project-bg{display:none}.projects-scene.scene{padding:76px 16px 118px}.showcase{grid-template-columns:1fr;gap:8px}.showcase h2{margin-bottom:6px;font-size:32px}.showcase .pitch{font-size:14px;line-height:1.35}.tag-row{margin:8px 0}.showcase-figure img{height:72px}.deck img{height:48px}.deck button{flex-basis:150px}.hobby-bubble.show{width:auto;margin-top:10px;position:relative;top:auto;left:auto}.talk-page{height:calc(100dvh - var(--kb,0px));padding:68px 12px max(10px, env(safe-area-inset-bottom));overflow:hidden}.talk-grid{flex-direction:column;align-items:stretch;gap:8px;width:100%;display:flex}.presence{flex:none}.operator-slot{width:192px;height:240px}.operator{transform:none}.wave{margin-top:12px}.talk-panel{flex:1;align-items:stretch;min-height:0;padding:10px}.talk-page:has(#ask:focus){padding-top:64px}:is(.talk-page:has(#ask:focus) .hud,.talk-page:has(#ask:focus) .presence){display:none}.ask input,.ask button{min-height:44px}.msg p{font-size:16px}.thread{min-height:0}.fine{margin-top:8px;font-size:13px}.story-rail{display:none}.hide-pet{font-size:10px}html[data-chapter=ai] .pet-btn{bottom:42vh}html[data-chapter=hobbies] .pet-btn{bottom:24vh}}html[data-chapter=ai][data-ai-band="1"] .pet-btn{bottom:calc(var(--ai-band,34svh) + 28px)}html[data-chapter=projects] .pet-btn{bottom:8px}.pet-btn{transition:bottom .35s linear}@media (max-width:900px){.story-header{gap:8px;max-width:100%;padding:0 10px}.story-header .brand-mark{height:32px}.story-header nav{scrollbar-width:none;flex:auto;gap:10px;min-width:0;font-size:16px;overflow-x:auto}.story-header nav::-webkit-scrollbar{display:none}.story-header nav a{white-space:nowrap}.story-header .lets-talk{flex:none;font-size:16px}}@media (min-width:761px) and (max-width:980px){.story-header nav{gap:16px;font-size:16px}.ai-layout,.showcase{grid-template-columns:1fr}.desk{width:100%;left:auto}}@media (max-width:760px){.chicago-scene .place-label{text-align:right;z-index:4;margin:0;position:absolute;top:70px;right:12px}}@media (prefers-reduced-motion:reduce){html.story-theme{scroll-behavior:auto}.hold{height:auto!important}.scene{height:auto;min-height:100svh;position:relative}.sprite{animation:none!important}.sprite[data-pose=idle]{background-position:0 0}.sprite[data-pose=wave]{background-position:0 -240px}.sprite[data-pose=walk_right]{background-position:0 -480px}.sprite[data-pose=thinking]{background-position:0 -720px}.sprite[data-pose=typing]{background-position:0 -960px}.sprite[data-pose=celebrating]{background-position:0 -1200px}.sprite[data-pose=listening]{background-position:0 -1440px}.sprite[data-pose=talking]{background-position:0 -1680px}.sprite[data-pose=explaining]{background-position:0 -1920px}.sprite[data-pose=surprised]{background-position:0 -2160px}.sprite[data-pose=sleepy]{background-position:0 -2400px}.sprite[data-pose=look_direction]{background-position:0 -2640px}.eat{animation:none!important}.hobby .vinyl,.hobby .eq b,.phone .dot,.hobby .ticket,.puzzle .last{transition:none!important;animation:none!important}.flight-scene .dusk{opacity:1!important}.flight-scene .sky-day{opacity:0!important}.flight-scene .flight-art,.flight-scene .chapter-copy,.flight-scene .bottom-note,.mandalay-scene .landscape,.mandalay-scene .chapter-copy,.mandalay-scene .place-label,.mandalay-scene .bottom-note{opacity:1!important;transform:none!important}.mandalay-scene .sig{opacity:1!important}.flight-route #plane{display:block}.glitch-veil{display:none!important}.journey-plane{opacity:1!important;margin:0!important;display:block!important;position:absolute!important;top:18%!important;left:10%!important;transform:none!important}.journey.hold{height:auto!important}.journey-scene{height:auto;min-height:0;position:relative;overflow:visible}.j-leg{min-height:100svh;opacity:1!important;position:relative!important;inset:auto!important;transform:none!important}.depart-door,.board-go,.porthole,.apt-door,.glitch-go,.signal-go,.boot-go,.letter-go{margin-top:16px;opacity:1!important;pointer-events:auto!important;width:max-content!important;position:relative!important;inset:auto!important;transform:none!important}.boarder,.boarder-slot,.porthole-ring,.door-frame,.deal,.envelope-flap,.envelope-pocket{display:none!important}.letter-card{position:relative!important;transform:none!important}.boot-go,.letter-go{margin-top:24px;position:relative!important;bottom:auto!important;left:auto!important;right:auto!important}.ai-layout,.projects-scene .showcase,.projects-scene .deck,.projects-scene .deck-bar,.scene-layer{opacity:1!important;transform:none!important}.signal-scene{--q:1}.layer-sun,.layer-hill-far,.layer-hill-near,.layer-palace,.layer-walls,.layer-moat,.cloud,.flight-sun,.layer-ridge,.layer-city,.doodles,.kb{transform:none!important}.dust i,.bird,.moat-glint:before,.river-sheen:before,.code-field pre,.doodle,.kb,.win,.is-typing .terminal pre:after,.wave i,.caret{animation:none!important}.year-mark{opacity:1!important;animation:none!important;transform:none!important}}@property --tw{syntax:"<number>";inherits:true;initial-value:1}.layer-sun{transform:translate3d(0, calc((1 - var(--m,var(--e,1))) * 78px), 0)}.layer-hill-far{transform:translate3d(0, calc((1 - var(--m,var(--e,1))) * 26px), 0)}.layer-hill-near{transform:translate3d(0, calc((1 - var(--m,var(--e,1))) * 44px), 0)}.layer-palace{transform:translate3d(0, calc((1 - var(--m,var(--e,1))) * 14px), 0)}.layer-walls{transform:translate3d(0, calc((1 - var(--m,var(--e,1))) * 8px), 0)}.layer-moat{transform:translate3d(0, calc((1 - var(--m,var(--e,1))) * 3px), 0)}.cloud-far{opacity:.4;transform:translate3d(calc((var(--flight,0) - .5) * 70px), 0, 0)}.cloud-mid{opacity:.62;transform:translate3d(calc((var(--flight,0) - .5) * 140px), calc((1 - var(--flight,0)) * 10px), 0)}.cloud-near{opacity:.78;transform:translate3d(calc((var(--flight,0) - .5) * 220px), 0, 0)}.flight-sun{transform:translate3d(calc(var(--flight,0) * 24px), calc(var(--flight,0) * 200px), 0);opacity:calc(1 - var(--flight,0) * .82)}.layer-ridge{transform:translate3d(calc((1 - var(--land,var(--e,1))) * -22px), calc((1 - var(--land,var(--e,1))) * 14px), 0)}.layer-city{transform:translate3d(calc((1 - var(--land,var(--e,1))) * -8px), calc((1 - var(--land,var(--e,1))) * 6px), 0)}.win{opacity:clamp(.05, calc((var(--land,var(--p,1)) - var(--d,0)) * 2.6 * var(--tw,1)), .95)}.awake .win:nth-child(6n){animation:3.6s ease-in-out infinite twinkle}@keyframes twinkle{50%{--tw:.28}}.mandalay-art:after{content:"";pointer-events:none;opacity:.28;mix-blend-mode:multiply;background-image:radial-gradient(#3d291f8c .6px,#0000 .7px),radial-gradient(#3d291f59 .6px,#0000 .7px);background-position:0 0,2px 3px;background-size:4px 4px,7px 7px;position:absolute;inset:0}.dust{z-index:2;pointer-events:none;position:absolute;inset:0}.dust i{opacity:.75;background:#f8edd4;border-radius:50%;width:3px;height:3px;animation:11s linear infinite paused mote;position:absolute}.dust i:first-child{top:30%;left:12%}.dust i:nth-child(2){animation-duration:14s;top:18%;left:28%}.dust i:nth-child(3){animation-duration:9s;top:26%;left:46%}.dust i:nth-child(4){top:14%;left:63%}.dust i:nth-child(5){animation-duration:13s;top:34%;left:74%}.dust i:nth-child(6){top:22%;left:86%}.dust i:nth-child(7){animation-duration:16s;top:40%;left:38%}.dust i:nth-child(8){animation-duration:12s;top:12%;left:58%}.awake .dust i{animation-play-state:running}@keyframes mote{0%{transform:translateY(8px)}to{transform:translate(18px,-36px)}}.birds{z-index:2;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.bird{fill:none;stroke:#3d291f;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.55}.bird-a,.bird-b{animation:18s linear infinite paused bird}.bird-b{animation-duration:24s;animation-delay:-8s}.awake .bird-a,.awake .bird-b{animation-play-state:running}@keyframes bird{to{transform:translate(280px,12px)}}.moat-glint{z-index:2;pointer-events:none;height:16%;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.moat-glint:before{content:"";background:linear-gradient(90deg,#0000,#fff8e68c,#0000);width:28%;animation:6.5s ease-in-out infinite paused glint-x;position:absolute;top:18%;bottom:18%}.awake .moat-glint:before{animation-play-state:running}@keyframes glint-x{0%{transform:translate(-30%)}to{transform:translate(380%)}}.river-sheen{z-index:2;pointer-events:none;height:13%;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.river-sheen:before{content:"";background:linear-gradient(90deg,#0000,#ecf0e461,#0000);width:34%;animation:8s ease-in-out infinite paused glint-x;position:absolute;top:0;bottom:0}.awake .river-sheen:before{animation-play-state:running}.signal-terminal{opacity:clamp(0, calc((var(--q,1) - .1) * 1.45), 1)}.is-typing .terminal pre:after{content:"";vertical-align:text-bottom;background:#c8ff3d;width:7px;height:.85em;margin-left:3px;animation:1s step-end infinite caret;display:inline-block}@keyframes caret{50%{opacity:0}}.ai-scene .model-diagram i{transform:scaleX(var(--q,0));transform-origin:0}.ai-scene:before{content:"";z-index:0;pointer-events:none;background-image:radial-gradient(#c8ff3d29 1px,#0000 1.2px);background-size:16px 16px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0 220px,#000 340px);mask-image:linear-gradient(#0000 0 220px,#000 340px)}.code-field{z-index:0;pointer-events:none;width:min(34vw,380px);height:28%;position:absolute;top:auto;bottom:0;right:4vw;overflow:hidden}.code-field pre{color:#c8ff3d1a;font-family:var(--f-mono), ui-monospace, monospace;letter-spacing:0;text-transform:none;white-space:pre;margin:0;padding:96px 8px 0;font-size:13px;line-height:1.65;animation:32s linear infinite paused code-drift}.awake .code-field pre{animation-play-state:running}@keyframes code-drift{to{transform:translateY(-42%)}}.project-bg .kb{animation:28s ease-in-out infinite alternate paused ken;position:absolute;inset:-8%}.awake .project-bg .kb{animation-play-state:running}.project-bg .kb img{object-fit:cover;filter:blur(14px)saturate(.72);width:100%;height:100%;transform:scale(1.08)}.project-bg:after{content:"";background:#14181473;position:absolute;inset:0}@keyframes ken{to{transform:translate(2.2%,1.4%)scale(1.05)}}html[data-paused] .dust i,html[data-paused] .bird-a,html[data-paused] .bird-b,html[data-paused] .moat-glint:before,html[data-paused] .river-sheen:before,html[data-paused] .code-field pre,html[data-paused] .doodle,html[data-paused] .kb,html[data-paused] .win{animation-play-state:paused!important}.paper-field{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.paper-grain,.paper-grid{position:absolute;inset:0}.paper-grain{opacity:.55;background-image:radial-gradient(#292b2638 .65px,#0000 .75px),radial-gradient(#292b2624 .65px,#0000 .75px);background-position:0 0,2px 3px;background-size:5px 5px,8px 8px}.paper-grid{background-image:linear-gradient(#292b260d 1px,#0000 1px),linear-gradient(90deg,#292b260d 1px,#0000 1px);background-size:36px 36px}.doodles{transform:translate3d(var(--mx,0px), var(--my,0px), 0);position:absolute;inset:0}.doodle{fill:none;stroke:#292b26;stroke-width:1.6px;opacity:.16;vector-effect:non-scaling-stroke;position:absolute}.doodle circle{fill:#292b26;stroke:none}.drift-a{width:132px;animation:24s ease-in-out infinite alternate doodle-a;top:108px;right:4vw}.drift-b{width:68px;animation:28s ease-in-out infinite alternate doodle-b;top:46%;right:7vw}.drift-c{width:56px;animation:32s ease-in-out infinite alternate doodle-a;bottom:18%;left:auto;right:18vw}.drift-d{width:96px;animation:20s ease-in-out infinite alternate doodle-b;top:34%;right:24%}@keyframes doodle-a{to{transform:translateY(8px)}}@keyframes doodle-b{to{transform:translate(-6px,4px)}}.talk-page,.life,.skills-page{position:relative}.talk-grid,.skills-wrap,.life-intro,.life-track{z-index:1;position:relative}.life{color:#292b26;min-height:100svh;font-family:var(--f-text), "Inter", sans-serif;background:#f3efdf;padding:128px 6vw 96px}.life-intro{max-width:36em}.life h1,.life h2,.skills-page h1,.skills-page h2{font-family:var(--f-display), Fraunces, "Iowan Old Style", Palatino, serif;letter-spacing:-.045em;font-weight:800;line-height:.92}.life h1,.skills-page h1{margin:20px 0 12px;font-size:clamp(64px,8vw,112px)}.life h1 span,.skills-page h1 span{color:#ac3f27}.life-intro>p:last-child{max-width:65ch;margin:0;font-size:18px;line-height:1.6}.life-track{margin-top:64px}.year-block{grid-template-columns:minmax(92px,150px) minmax(0,72ch);align-items:start;column-gap:32px;display:grid}.year-mark{margin:0;font-size:clamp(42px,5vw,72px);position:sticky;top:108px}html.js .year-mark{opacity:0;transform:translateY(16px)}html.js .year-mark.seen{opacity:1;transition:opacity .6s,transform .6s;transform:none}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){html.js .year-mark{animation:linear both year-reveal;animation-timeline:view();animation-range:entry entry 42%}}}@keyframes year-reveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.year-block ol{border-left:1px solid #292b26;margin:0 0 12px;padding:8px 0 28px 28px;list-style:none}.year-block li{padding:0 0 28px;position:relative}.year-block li:before{content:"";background:#f3efdf;border:1px solid #292b26;width:9px;height:9px;position:absolute;top:.45em;left:-33px}.year-block h3{letter-spacing:-.03em;margin:4px 0 10px;font-size:24px;line-height:1.2}.year-block li>p:last-of-type,.year-block li>p:nth-of-type(2){max-width:68ch;margin:0;font-size:17px;line-height:1.6}.year-block a{color:inherit;font-size:15px}.life .mono,.skills-page .mono{font-family:var(--f-mono), ui-monospace, monospace;letter-spacing:.06em;text-transform:uppercase;font-size:13px}.skills-page{color:#292b26;min-height:100svh;font-family:var(--f-text), "Inter", sans-serif;background:#f3efdf;padding:128px 6vw 96px}.skills-wrap{width:100%;max-width:1360px;margin-inline:auto}.skills-page section{margin-top:72px}.skills-page h2{margin:0 0 24px;font-size:clamp(28px,3vw,40px)}.skills-page ul{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.skills-page li{background:#fffaf0b8;border:1px solid #292b262e;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:16px;min-height:148px;padding:20px 18px;display:flex}.skills-page li span:last-child{font-size:16px;line-height:1.35}.skills-page section:not(.certs) li img,.skills-page section:not(.certs) li svg{object-fit:contain;width:44px;height:44px}.skills-page li>span:first-child{width:44px;height:44px;font-family:var(--f-mono), monospace;border:1px solid #292b26;place-items:center;font-size:14px;display:grid}.certs ul{grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}.certs li{min-height:0;padding:0;display:block}.certs a,.certs .cert-card{color:inherit;text-decoration:none;display:block}.cert-group{margin-top:22px}.cert-kicker{font-family:var(--f-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:13px}.cert-fig{aspect-ratio:4/3;background:#f7f1e4;position:relative;overflow:hidden}.certs .cert-fig img{object-fit:contain;object-position:center;background:#f7f1e4;width:100%;height:100%;display:block}.cert-missing{text-align:center;place-items:center;height:100%;padding:16px;display:grid}.sample{background:#f3efdf;padding:2px 6px;position:absolute;top:10px;left:10px}.cert-copy{text-align:left;flex-wrap:wrap;align-items:flex-end;gap:8px 12px;padding:14px;display:flex}.cert-copy h3{letter-spacing:0;text-align:left;flex:1 0 100%;margin:0;font-size:16px}.cert-copy p{text-align:left;flex:12rem;margin:0;font-size:14px}.cert-copy svg{flex:none;margin-left:auto}.cert-note{margin-top:18px}@media (min-width:761px){.life,.skills-page{padding-left:max(140px,50% - 680px);padding-right:max(48px,50% - 680px)}}@media (max-width:760px){.skills-page section{margin-top:40px}.skills-page h2{margin-bottom:16px}.skills-page li{gap:12px;min-height:120px;padding:14px}.code-field,.drift-d{display:none}.year-block{grid-template-columns:1fr}.year-mark{z-index:2;background:#f3efdf;width:max-content;padding:8px 0;font-size:40px;position:sticky;top:64px}.skills-page,.life{padding:96px 16px 72px}.skills-page ul,.certs ul{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-page h1,.life h1{font-size:52px}.skills-page li span:last-child,.cert-copy h3,.cert-copy p{overflow-wrap:anywhere}}@media (max-width:520px){.skills-page ul{grid-template-columns:repeat(2,minmax(0,1fr))}.certs ul{grid-template-columns:1fr}}.journey-pin{width:1px;height:1px;position:absolute}.journey-scene{background:#e7cc96}.j-leg{pointer-events:none;position:absolute;inset:0;overflow:hidden}.j-leg .chapter-copy{padding:108px 6vw 0}.mandalay-scene.j-leg{z-index:1}.mandalay-scene.j-leg .landscape{opacity:calc(1 - var(--lift,0));transform:translate3d(0, calc(var(--lift,0) * 18vh), 0) scale(calc(1 - var(--lift,0) * .18));transform-origin:50% 80%}.mandalay-scene.j-leg .chapter-copy,.mandalay-scene.j-leg .place-label,.mandalay-scene.j-leg .bottom-note,.mandalay-scene.j-leg .sig{opacity:calc(1 - min(1, max(0, var(--lift,0) - .55) * 3.4))}.sig{z-index:4;color:#3d291f;letter-spacing:.12em;margin:0;font-size:12px;position:absolute}.sig-palace{color:#fff6df;bottom:41%;left:50%;transform:translate(-50%)}.flight-scene.j-leg{z-index:2;background:0 0}.flight-scene .scene-layers{opacity:clamp(0, calc((var(--flight,0) - .02) * 3.2), 1)}.flight-scene.j-leg .sky-day{opacity:calc(clamp(0, (var(--flight,0) - .08) * 3, 1) * clamp(0, 1 - var(--land,0) * 1.6, 1))}.flight-scene.j-leg .dusk{opacity:clamp(0, calc(var(--land,0) * 1.35), 1)}.flight-scene.j-leg .flight-art{opacity:calc(clamp(0, (var(--flight,0) - .12) * 2.4, 1) * clamp(0, 1 - var(--land,0) * 3, 1))}.flight-scene.j-leg .chapter-copy{opacity:calc(clamp(0, (var(--flight,0) - .22) * 4, 1) * clamp(0, (.84 - var(--flight,0)) * 5, 1))}.chicago-scene.j-leg{z-index:3;opacity:var(--land,0)}.chicago-scene.j-leg .chapter-copy,.chicago-scene.j-leg .place-label,.chicago-scene.j-leg .bottom-note{opacity:clamp(0, calc((var(--land,0) - .5) * 2.4), 1)}.chicago-scene:has(.scene-layers[data-filled="1"]) .platform-walk{bottom:22%}.chicago-scene:has(.scene-layers[data-filled="1"]) .apt-door .door-frame{width:64px;height:92px}.chicago-scene:has(.scene-layers[data-filled="1"]) .place-label{color:#f4f1e4;background:#080e18b8;padding:6px 8px}.journey-plane{z-index:5;pointer-events:none;width:192px;height:78px;opacity:clamp(0, calc(var(--flight,0) * 6), 1);margin:-39px 0 0 -96px;position:absolute;top:0;left:0}.journey-plane img{width:100%;height:100%;image-rendering:pixelated;display:block}.mdl-ord{z-index:6;color:#1d3338;font-family:var(--f-mono), ui-monospace, monospace;letter-spacing:.08em;opacity:calc(var(--flight,0) * (1 - var(--land,0)));background:#f3efdfe6;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex;position:absolute;top:92px;left:50%;transform:translate(-50%)}.mdl-ord b{background:#1d333840;width:128px;height:3px;display:block}.mdl-ord i{height:100%;transform:scaleX(var(--flight,0));transform-origin:0;background:#1d3338;display:block}.platform-walk{z-index:6;transform:translate3d(calc(var(--land,0) * 34vw), 0, 0);align-items:flex-end;gap:12px;display:flex;position:absolute;bottom:18%;left:8vw}.walker-slot{width:78px;height:100px;position:relative}.platform-walker{transform-origin:0 100%;position:absolute;bottom:0;left:0;transform:scale(.4)}.step-inside{color:#f3edda;opacity:clamp(0, calc((var(--land,0) - .78) * 5), 1);background:#1424308c;border:1px solid #f3edda;margin-bottom:28px;padding:12px 14px;text-decoration:none}.signal-grid{opacity:.22;left:58%}.signal-terminal{background:#111512}.glitch-veil{z-index:6;pointer-events:none;align-items:flex-start;padding:120px 6vw 0;display:flex;position:absolute;inset:0}.glitch-veil:before{content:"";opacity:clamp(0, calc((var(--p,0) - .55) * 2.6), .94);background:#1a1d18;position:absolute;inset:0}.glitch-veil pre{max-height:min(34vh, calc((var(--p,0) - .55) * 160vh));z-index:1;max-width:min(560px,86vw);opacity:clamp(0, calc((var(--p,0) - .6) * 4), 1);color:#c8ff3d;font-family:var(--f-mono), ui-monospace, monospace;letter-spacing:0;text-transform:none;white-space:pre-wrap;background:#101410;margin:0;padding:16px 18px;font-size:clamp(16px,1.6vw,22px);line-height:1.65;position:relative;overflow:hidden}.scene-layers{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.scene-layer{width:106%;height:106%;display:block;position:absolute;inset:-3%}.scene-layer img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;display:block}.scene-layer-sky{transform:translate3d(0, calc(var(--m,var(--p,0)) * -10px), 0)}.scene-layer-mid{transform:translate3d(calc(var(--p,0) * -12px), calc(var(--p,0) * -6px), 0)}.scene-layer-foreground{transform:translate3d(calc(var(--p,0) * -20px), 0, 0)}:is(.j-leg:has(.scene-layers[data-filled="1"]) .landscape,.j-leg:has(.scene-layers[data-filled="1"]) .flight-art,.j-leg:has(.scene-layers[data-filled="1"]) .sky-day,.j-leg:has(.scene-layers[data-filled="1"]) .dusk,.j-leg:has(.scene-layers[data-filled="1"]) .river-sheen,.j-leg:has(.scene-layers[data-filled="1"]) .sig,.j-leg:has(.scene-layers[data-filled="1"]) .dust,.j-leg:has(.scene-layers[data-filled="1"]) .birds,.j-leg:has(.scene-layers[data-filled="1"]) .moat-glint){visibility:hidden}.ai-scene .ai-layout{transform:scale(calc(1 + var(--boot,0) * .045));opacity:calc(1 - var(--boot,0) * .7)}.boot-go,.letter-go{z-index:6;color:inherit;pointer-events:none;text-decoration:none;position:absolute}.booting .code-texture{opacity:0}.boot-go{color:#c8ff3d;width:min(420px,80vw);opacity:clamp(0, calc((var(--boot,0) - .24) * 4.2), 1);background:#111512;border:1px solid #59604d;gap:8px;padding:18px 20px;display:grid;bottom:20vh;left:6vw}.deal{z-index:5;pointer-events:none;width:250px;height:140px;opacity:clamp(0, calc((var(--boot,0) - .04) * 3), 1);position:absolute;bottom:14vh;right:7vw}.deal i{width:78px;height:108px;transform:translate3d(calc(var(--boot,0) * var(--dx)), calc(var(--boot,0) * -36px), 0) rotate(calc(var(--boot,0) * var(--rot)));background:#101410;border:1px solid #c8ff3d;position:absolute;bottom:0}.deal i:after{content:"";opacity:.75;border:1px solid #c8ff3d;position:absolute;inset:7px}.deal i:first-child{--dx:0px;--rot:-12deg;left:0}.deal i:nth-child(2){--dx:46px;--rot:2deg;left:22px}.deal i:nth-child(3){--dx:96px;--rot:14deg;left:44px}.boot-go small{color:#f3f1e4;font-size:14px}.booting .boot-go{pointer-events:auto}.projects-scene{perspective:1200px}.projects-scene .showcase{transform:perspective(1000px) rotateY(calc(var(--post,0) * 68deg));transform-origin:0;opacity:calc(1 - var(--post,0) * .4)}.projects-scene .deck,.projects-scene .deck-bar{opacity:calc(1 - min(1, var(--post,0) * 3.2))}.letter-go{z-index:10;width:min(280px,100vw - 96px);max-width:calc(100vw - 96px);opacity:clamp(0, calc((var(--push,0) - .68) * 3.4), 1);bottom:88px;right:48px}.posting .letter-go{pointer-events:auto}.letter-card{color:#24180f;background:#f3efdf;border:1px solid #24180f;gap:8px;width:min(300px,72vw);padding:22px 22px 26px;display:grid}.letter-card strong{font-size:18px;font-weight:600}.envelope{perspective:800px;width:100%;max-width:300px;height:200px;display:block;position:relative}.letter-go .letter-card{z-index:1;width:auto;transform:translate3d(0, calc(var(--post,0) * 72px), 0);position:absolute;top:0;left:16px;right:16px}.envelope-pocket{z-index:2;color:#24180f;background:#e4d3b0;border:1px solid #24180f;align-items:end;height:132px;padding:14px 16px;display:grid;position:absolute;bottom:0;left:0;right:0}.envelope-flap{z-index:3;transform-origin:top;height:96px;transform:rotateX(calc((1 - var(--post,0)) * -150deg));background:#cbb892;border:1px solid #24180f;position:absolute;top:86px;left:0;right:0}@media (max-width:980px){.signal-scene .chapter-copy{max-width:none}.signal-grid{display:none}.signal-terminal{width:100%;margin-top:18px;position:relative;top:auto;right:auto}}@media (max-width:760px){.j-leg .chapter-copy{padding:88px 20px 0}.mdl-ord{top:68px}.mdl-ord b{width:72px}.sig-palace{bottom:22%;left:20px}.platform-walk{transform:translate3d(calc(var(--land,0) * 28vw), 0, 0);bottom:12%;left:16px}.depart-door{top:auto;bottom:108px;right:16px}.depart-door .door-frame{width:88px;height:124px}.porthole{top:auto;bottom:108px;right:12px}.porthole-ring{width:112px;height:112px}.apt-door .door-frame{width:68px;height:100px}.glitch-go{bottom:96px;left:16px}.signal-go{bottom:96px;left:auto;right:16px}.hero-mascot{transform:scale(.36)}}.depart-door,.board-go,.porthole,.glitch-go,.signal-go{z-index:7;color:inherit;justify-items:center;gap:8px;text-decoration:none;display:grid;position:absolute}.depart-door{color:#24180f;top:22vh;right:5vw}.door-frame{perspective:700px;background:#f6e0b4;border:10px solid #24180f;width:150px;height:210px;display:block}.door-leaf{transform-origin:0;width:100%;height:100%;transform:rotateY(calc(var(--door,0) * -76deg));background:#efe6d2;display:block}.board-go{color:#24180f;pointer-events:none;opacity:calc(clamp(0, var(--board,0) * 8, 1) * clamp(0, (1.08 - var(--board,0)) * 4, 1));top:0;left:0}.boarding .board-go{pointer-events:auto}.boarder-slot{width:84px;height:104px;overflow:hidden}.boarder{transform-origin:0 0;transform:scale(.42)}.porthole{color:#1d3338;pointer-events:none;opacity:var(--look,0);top:22vh;right:6vw}.looking .porthole{pointer-events:auto}.porthole-ring{background:#c5d7e4;border:12px solid #243038;border-radius:50%;width:188px;height:188px;position:relative;overflow:hidden}.porthole-sky,.porthole-city{position:absolute;left:0;right:0}.porthole-sky{background:#d7e6f0;height:48%;top:0}.porthole-city{height:64%;transform:translate3d(0, calc((1 - var(--look,0)) * 80%), 0);background:#163044;bottom:0}.porthole-city i{background-color:#102636;background-image:radial-gradient(#f2e2b0 1.1px,#0000 1.3px);background-size:7px 9px;position:absolute;bottom:0}.porthole-city i:first-child{width:16px;height:34%;left:22px}.porthole-city i:nth-child(2){width:26px;height:78%;left:42px}.porthole-city i:nth-child(3){width:18px;height:48%;left:72px}.porthole-city i:nth-child(4){width:22px;height:88%;left:94px}.porthole-city i:nth-child(5){width:28px;height:40%;left:120px}.apt-door{color:#f3edda;pointer-events:none;opacity:clamp(0, calc((var(--land,0) - .62) * 4), 1);justify-items:center;gap:8px;margin-bottom:8px;text-decoration:none;display:grid}.entering .apt-door{pointer-events:auto}.apt-door .door-frame{background:#243646;border-color:#f3edda;width:108px;height:156px}.apt-door .door-leaf{transform:rotateY(calc(clamp(0, (var(--land,0) - .68) / .32, 1) * -74deg));background:#1b3040}.glitch-go,.signal-go{color:#c8ff3d;pointer-events:none;width:max-content;opacity:clamp(0, calc((var(--p,0) - .58) * 4), 1);background:#101410;border:1px solid #c8ff3d;padding:12px 14px;top:34vh;left:8vw}.signal-go{opacity:clamp(0, calc((var(--p,0) - .22) * 2.8), 1);inset:auto 6vw 12vh auto}.glitching .glitch-go,.glitching .signal-go{pointer-events:auto}.hobbies-scene .glitch-go{inset:18vh 4vw auto auto}.scene:has(.scene-layers[data-filled="1"]) .chapter-copy{background:#080c129e;max-width:min(460px,86vw);padding:14px 16px 16px}.mandalay-scene:has(.scene-layers[data-filled="1"]) .chapter-copy{color:#24180f}.contact-scene:has(.scene-layers[data-filled="1"]){color:#24180f}.mandalay-scene:has(.scene-layers[data-filled="1"]) .chapter-copy{background:#fff6e6e6}:is(.mandalay-scene:has(.scene-layers[data-filled="1"]) .place-label,.mandalay-scene:has(.scene-layers[data-filled="1"]) .bottom-note){color:#24180f;background:#fff6e6e6;padding:6px 8px}:is(.flight-scene:has(.scene-layers[data-filled="1"]) .chapter-copy,.flight-scene:has(.scene-layers[data-filled="1"]) .bottom-note,.chicago-scene:has(.scene-layers[data-filled="1"]) .chapter-copy){color:#f4f1e4}.contact-scene:has(.scene-layers[data-filled="1"]) .paper-field{display:none}.contact-scene .copy-panel{z-index:2;color:#24180f;background:#fff6e6e6;width:min(40rem,100% - 48px);max-height:calc(100svh - 132px);padding:22px 26px 24px;position:relative;overflow:auto}.scene.hobbies-scene{background:#10182a;padding:0}.hobbies-scene .room-stage{z-index:0;transform-origin:36% 72%;transform:scale(calc(1 + var(--push,0) * .12));position:absolute;inset:-4%}.hobbies-scene .scene-layer{width:100%;height:100%;inset:0;transform:none}.hobbies-scene:has(.scene-layers[data-filled="1"]) .chapter-copy{z-index:5;box-sizing:border-box;color:#f4f1e4;background:#080c12c7;width:min(32rem,36vw);max-width:min(32rem,36vw);margin:0;padding:20px 22px 22px;position:absolute;top:96px;left:max(24px,4vw)}.hobbies-scene:has(.scene-layers[data-filled="1"]) .chapter-copy h2{letter-spacing:-.03em;font-size:clamp(44px,4.2vw,68px);line-height:.98}.hobbies-scene .narration{gap:14px;max-width:36em;margin-top:16px}.hobbies-scene .narration p{text-shadow:none;color:#f4f1e4;font-size:20px;font-style:normal;line-height:1.5}.hobbies-scene .chapter-close{letter-spacing:.08em;margin:18px 0 0;font-size:13px}.hobbies-scene .desk{z-index:2;pointer-events:none;background:0 0;height:auto;margin:0;display:block;position:absolute;inset:0}.hobbies-scene .hobby{z-index:2;pointer-events:auto;flex:none;width:max-content;max-width:none;position:absolute}.hobbies-scene .hobby.front{z-index:3}.hobbies-scene .hobby.slot-phone{bottom:40%;left:58%;right:auto}.hobbies-scene .hobby.slot-music{bottom:40%;left:68%;right:auto}.hobbies-scene .hobby.slot-movie{bottom:40%;left:80%;right:auto}.hobbies-scene .hobby.slot-laptop{bottom:7%;left:5%;right:auto}.hobbies-scene .hobby.slot-food{bottom:8%;left:24%;right:auto}.hobbies-scene .hobby.slot-boba{z-index:3;bottom:8%;left:43%;right:auto}.hobbies-scene .hobby.back .hobby-sprite{height:22svh}.hobbies-scene .hobby.front .hobby-sprite{height:26svh}.hobby-sprite{width:auto;height:22svh;image-rendering:pixelated;filter:brightness(.9)saturate(.9);display:block}.hobbies-scene .obj{width:auto;height:auto;position:relative}.hobbies-scene .hobby{outline:none}.hobbies-scene .obj:after{content:"";filter:blur(3px);z-index:-1;background:#1008028c;border-radius:50%;height:10px;position:absolute;bottom:2%;left:16%;right:16%}.hobbies-scene .hobby-label{opacity:0;text-shadow:0 1px #1a120c;margin-top:2px}.hobbies-scene .hobby:hover .hobby-label,.hobbies-scene .hobby:focus-visible .hobby-label{opacity:1}.hobbies-scene .hobby:hover .hobby-sprite,.hobbies-scene .hobby:focus-visible .hobby-sprite,.hobbies-scene .hobby[aria-pressed=true] .hobby-sprite{transform:translateY(-3px)}.hobbies-scene .hobby:focus-visible{outline-offset:5px;outline:2px solid #f4e2c4}.obj .score{color:#101410;font-family:var(--f-mono), ui-monospace, monospace;background:#c8ff3d;padding:3px 5px;font-size:12px;line-height:1.2;position:absolute;top:0;right:0}:is(.ai-scene:has(.scene-layers[data-filled="1"]) .code-field,.ai-scene:has(.scene-layers[data-filled="1"]) .code-texture,.ai-scene:has(.scene-layers[data-filled="1"]) .model-diagram){display:none}.ai-scene:has(.scene-layers[data-filled="1"]) .ai-layout{background:#060a10d1;max-width:min(460px,46vw);padding:16px 18px 12px;display:block}.ai-scene:has(.scene-layers[data-filled="1"]) .typing-mascot{transform-origin:0 0;margin-top:8px;display:block;position:static;transform:scale(.42)}:is(.projects-scene:has(.scene-layers[data-filled="1"]) .project-bg,.projects-scene:has(.scene-layers[data-filled="1"]) .project-shade){display:none}.projects-scene:has(.scene-layers[data-filled="1"]) .chapter-copy{z-index:3;color:#f4f1e4;background:#06080cb8;max-width:280px;padding:10px 12px;position:absolute;top:16vh;left:4vw}.projects-scene:has(.scene-layers[data-filled="1"]) .showcase{z-index:3;background:#06080c6b;flex-direction:column;justify-content:flex-start;gap:8px;width:48%;max-width:none;height:auto;max-height:240px;margin:0;padding:14px 16px 10px;display:flex;position:absolute;top:15%;left:40%;overflow:hidden}.projects-scene:has(.scene-layers[data-filled="1"]) .showcase-figure{display:none}:is(.projects-scene:has(.scene-layers[data-filled="1"]) .deck-bar,.projects-scene:has(.scene-layers[data-filled="1"]) .deck){z-index:4;width:50%;max-width:none;position:absolute;left:40%}.projects-scene:has(.scene-layers[data-filled="1"]) .deck-bar{color:#f4f1e4;margin:0;top:43%}.projects-scene:has(.scene-layers[data-filled="1"]) .deck{background:0 0;top:47%}.projects-scene:has(.scene-layers[data-filled="1"]) .deck button{background:#080a0ee0;flex-basis:132px}.projects-scene:has(.scene-layers[data-filled="1"]) .deck img{height:56px}@media (max-width:760px){.hobbies-scene .room-stage{width:100%;height:100%;inset:0;transform:none}.hobbies-scene .scene-layer{width:100%;height:70%;inset:auto 0 0}.hobbies-scene .scene-layer img{object-position:38% 100%}.hobbies-scene:has(.scene-layers[data-filled="1"]) .chapter-copy{opacity:1;width:calc(100% - 32px);max-width:calc(100% - 32px);top:72px;left:16px}.hobbies-scene:has(.scene-layers[data-filled="1"]) .chapter-copy h2{font-size:36px}.hobbies-scene .narration p{font-size:18px}html[data-chapter=hobbies] .hide-pet{top:60px;bottom:auto}.hobbies-scene .desk{grid-template-rows:1fr 1fr;grid-template-columns:repeat(3,minmax(0,1fr));place-items:end center;gap:8px;width:auto;display:grid;inset:63% 8px 52px}.hobbies-scene .hobby,.hobbies-scene .hobby.slot-phone,.hobbies-scene .hobby.slot-movie,.hobbies-scene .hobby.slot-music,.hobbies-scene .hobby.slot-laptop,.hobbies-scene .hobby.slot-food,.hobbies-scene .hobby.slot-boba{width:100%;min-width:0;max-width:100%;position:relative;inset:auto}.hobbies-scene .hobby-label{opacity:1;padding:2px 5px;font-size:12px}.hobbies-scene .hobby .hobby-sprite{max-width:100%;height:auto;max-height:12svh}.journey-plane{width:144px;height:58px;margin:-29px 0 0 -72px}:is(.projects-scene:has(.scene-layers[data-filled="1"]) .chapter-copy,.projects-scene:has(.scene-layers[data-filled="1"]) .showcase,.projects-scene:has(.scene-layers[data-filled="1"]) .deck,.projects-scene:has(.scene-layers[data-filled="1"]) .deck-bar){width:auto;max-width:none;height:auto;position:relative;top:auto;left:auto}:is(.projects-scene:has(.scene-layers[data-filled="1"]) .showcase,.projects-scene:has(.scene-layers[data-filled="1"]) .deck){background:#06080cc7}.ai-scene:has(.scene-layers[data-filled="1"]) .ai-layout{max-width:none}.contact-scene .copy-panel{width:auto}}.j-leg.mandalay-scene:has(.scene-layers[data-filled="1"]) .chapter-copy{padding-top:96px}.hero-copy{z-index:5;max-width:none;padding-top:0;position:relative;container-type:inline-size}.hero-kicker{margin:0}.hero-name{font-family:var(--f-display), Fraunces, "Iowan Old Style", Palatino, serif;letter-spacing:-.04em;white-space:nowrap;margin:16px 0 0;font-size:clamp(40px,13.6cqi,120px);line-height:1;position:relative}.hero-name-sizer,.hero-name-live{white-space:nowrap;width:max-content;max-width:100%;display:block}.hero-name-sizer{visibility:hidden}.hero-name-live{width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.hero-name-live[lang=zh-Hans]{font-family:var(--f-zh), "Noto Sans SC", sans-serif;letter-spacing:.02em;font-weight:700}.hero-slogan{max-width:none;font-family:var(--f-display), Fraunces, "Iowan Old Style", Palatino, serif;letter-spacing:-.03em;text-wrap:balance;flex-direction:column;gap:8px;margin:24px 0 0;font-size:clamp(24px,2.1vw,40px);font-weight:600;line-height:1.3;display:flex}.hero-building{align-items:center;gap:14px;margin:32px 0 0;font-size:20px;line-height:1.4;display:flex}.hero-building a{line-height:0;display:inline-flex}.hero-building img{width:64px;height:64px}.hero-icons{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.hero-icons a{color:#292b26;place-items:center;width:44px;height:44px;display:grid}.hero-icons a:hover{color:#ac3f27}.hero-icons a:focus-visible{outline-offset:3px;outline:2px solid #292b26}.hero-stage{height:min(72vh,760px);min-height:460px;position:relative}.hero-scene .hero-mascot{z-index:10;transform-origin:20% 12%;--rest:min(2.55, calc((100svh - 250px) / 240px));transform:translate3d(calc(var(--door,0) * 14vw), calc(var(--door,0) * 18vh), 0) scale(calc(var(--rest) - var(--door,0) * (var(--rest) - .5)));opacity:calc(1 - max(0, var(--door,0) - .88) * 8);margin:0;position:absolute;inset:0 auto auto 0;display:block!important}.departing .hero-mascot{pointer-events:none}.depart-door{top:auto;bottom:78px;right:4vw}.pixel-door{height:240px;display:block;position:relative}.pixel-door:before{content:"";z-index:0;opacity:0;pointer-events:none;background:radial-gradient(at 58% 70%,#ffa8409e,#ffa84000 68%);width:340px;height:210px;position:absolute;bottom:10px;left:50%;transform:translate(-46%)}.depart-door:hover .pixel-door:before,.depart-door:focus-visible .pixel-door:before,.departing .pixel-door:before{opacity:1}.pixel-door:after{content:"";z-index:0;filter:blur(2px);pointer-events:none;background:#24180f61;border-radius:50%;height:16px;position:absolute;bottom:-6px;left:10%;right:8%}.pixel-door picture{z-index:1;line-height:0;display:block;position:relative}.pixel-door img{width:auto;height:240px;image-rendering:pixelated;display:block}.pixel-door .door-open{opacity:0;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hobbies-scene .hobby-label{color:#1c140e;background:#f6ead2;padding:3px 8px;font-size:15px;font-weight:650;line-height:1.25}.hobbies-scene .obj .score{top:2px;left:2px;right:auto}body>.hobby-bubble.show{z-index:30;opacity:1;width:min(280px,80vw);margin:0;position:fixed;bottom:auto;right:auto;transform:none}body>.hobby-bubble.above{transform:none}body>.hobby-bubble:after{content:"";top:-9px;left:var(--tip-x,24px);border:9px solid #0000;border-bottom-color:#fbf4e4;position:absolute;transform:translate(-50%)}body>.hobby-bubble.above:after{border:9px solid #0000;border-top-color:#fbf4e4;top:auto;bottom:-9px}body>.hobby-bubble.beside:after{display:none}.depart-door:hover .door-open,.depart-door:focus-visible .door-open,.departing .door-open{opacity:1}.depart-door:hover .door-ajar,.depart-door:focus-visible .door-ajar,.departing .door-ajar{opacity:0}.depart-door:focus-visible{outline-offset:6px;outline:2px solid #24180f}@media (max-width:760px){.journey-scene .j-leg .chapter-copy{padding-top:84px}.hero-title{position:static}.hero-scene .scroll-cue{white-space:normal;gap:8px;max-width:calc(100% - 168px);bottom:14px;left:56px;right:auto}.depart-door{top:auto;bottom:156px;right:12px}.depart-door .door-frame{width:72px;height:100px}.pixel-door,.pixel-door img{height:196px}.pixel-door:before{width:220px;height:150px}.story-rail{display:none}.porthole{top:auto;bottom:240px;right:12px}.porthole-ring{border-width:8px;width:92px;height:92px}.apt-door .door-frame{width:64px;height:96px}.hero-scene{padding:84px 20px 96px;display:block}.hero-copy{max-width:none;padding-top:8px}.hero-name{margin-top:12px;font-size:clamp(36px,11.4cqi,44px)}.hero-slogan{max-width:none;margin-top:16px;font-size:clamp(22px,6.4vw,30px)}.hero-building{margin-top:20px}.hero-icons{margin-top:12px}.hero-stage{height:250px;min-height:0;margin-top:8px}.hero-stage .pixel-door,.hero-stage .pixel-door img{height:168px}.hero-stage .depart-door{top:auto;bottom:56px;right:0}.hero-scene .hero-mascot{transform-origin:0 100%;transform:translate3d(calc(var(--door,0) * 64px), calc(var(--door,0) * 12px), 0) scale(calc(.62 - var(--door,0) * .22));inset:auto auto 16px 0}}@media (prefers-reduced-motion:reduce){.hero-scene .hero-mascot{top:136px;bottom:auto;right:6vw;opacity:1!important;transform:scale(1.2)!important}.door-open{opacity:1!important}.door-ajar{opacity:0!important}}#hero.hold,#journey.hold,#hobbies.hold,#signal.hold,#ai.hold,#projects.hold{margin-bottom:-100vh}.hold{opacity:var(--arrive,0);pointer-events:none}#hero.hold,.hold.arrived{opacity:1;pointer-events:auto}.door-light{z-index:7;pointer-events:none;width:160px;height:220px;transform:scale(calc(.35 + var(--enter,0) * 8));transform-origin:50% 55%;opacity:calc(clamp(0, var(--enter,0) * 2.4, 1) * (1 - clamp(0, (var(--enter,0) - .55) * 2.4, 1)));background:radial-gradient(at 50% 45%,#ffe0b0 0%,#e39a45 46%,#e39a4500 72%);position:absolute;bottom:120px;right:7vw}.hero-portal{z-index:8;pointer-events:none;opacity:clamp(0, calc((var(--enter,0) - .06) * 1.45), 1);transform:scale(calc(.2 + var(--enter,0) * .8));transform-origin:84% 72%;-webkit-mask-image:radial-gradient(ellipse at 84% 72%, #000 calc(18% + var(--enter,0) * 95%), transparent calc(34% + var(--enter,0) * 95%));-webkit-mask-image:radial-gradient(ellipse at 84% 72%, #000 calc(18% + var(--enter,0) * 95%), transparent calc(34% + var(--enter,0) * 95%));mask-image:radial-gradient(ellipse at 84% 72%, #000 calc(18% + var(--enter,0) * 95%), transparent calc(34% + var(--enter,0) * 95%));position:absolute;inset:-3%;overflow:hidden}.hero-portal img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;position:absolute;inset:0}.hero-portal .portal-land{opacity:clamp(0, calc((var(--enter,0) - .38) * 2.1), 1)}.depart-door{z-index:9;transform:translate3d(calc(var(--enter,0) * -16vw), calc(var(--enter,0) * -6vh), 0) scale(calc(1 + var(--enter,0) * 4.2));transform-origin:46% 38%;opacity:calc(1 - max(0, var(--enter,0) - .64) * 3.2)}.depart-door .mono{opacity:calc(1 - var(--enter,0) * 2)}.hero-scene .hero-mascot{opacity:calc((1 - max(0, var(--door,0) - .9) * 8) * (1 - max(0, var(--enter,0) - .42) * 2))}@media (min-width:761px){.hero-stage .depart-door{top:auto;bottom:0;right:0}.hero-stage .pixel-door,.hero-stage .pixel-door img{height:min(46vh,440px)}}@media (prefers-reduced-motion:reduce){.hero-name-sizer{visibility:visible}.hero-name-live{display:none}.hero-stage .hero-mascot{inset:6% auto auto 0;opacity:1!important;transform:scale(2.1)!important}}.j-leg.mandalay-scene:has(.scene-layers[data-filled="1"]) .chapter-copy{box-sizing:border-box;width:min(40rem,100% - 56px);max-width:min(40rem,100% - 56px);padding:22px 26px 24px;position:absolute;top:96px;left:max(28px,4vw);overflow:visible}.j-leg.mandalay-scene:has(.scene-layers[data-filled="1"]) .chapter-copy h2{letter-spacing:-.03em;font-size:clamp(48px,4.6vw,76px);line-height:.96}.mandalay-scene .narration{gap:14px;max-width:38em;margin-top:16px}.mandalay-scene .narration p{font-size:20px;font-style:normal;line-height:1.5}.mandalay-scene .chapter-close{letter-spacing:.08em;margin:18px 0 0;font-size:13px}.j-leg.flight-scene:has(.scene-layers[data-filled="1"]) .chapter-copy{box-sizing:border-box;background:#080c12c7;width:min(40rem,100% - 56px);max-width:min(40rem,100% - 56px);padding:22px 26px 24px;position:absolute;top:96px;left:max(28px,4vw)}.j-leg.flight-scene:has(.scene-layers[data-filled="1"]) .chapter-copy h2{letter-spacing:-.03em;font-size:clamp(44px,4.2vw,68px);line-height:.98}.flight-scene .narration{gap:14px;max-width:38em;margin-top:16px}.flight-scene .narration p{text-shadow:none;font-size:20px;font-style:normal;line-height:1.5}.flight-scene .route-label{letter-spacing:.08em;margin:18px 0 0;font-size:13px}.flight-scene .chapter-close{letter-spacing:.08em;margin:10px 0 0;font-size:13px}.j-leg.chicago-scene:has(.scene-layers[data-filled="1"]) .chapter-copy{box-sizing:border-box;background:#080c12c7;width:min(40rem,100% - 56px);max-width:min(40rem,100% - 56px);padding:22px 26px 24px;position:absolute;top:96px;left:max(28px,4vw)}.j-leg.chicago-scene:has(.scene-layers[data-filled="1"]) .chapter-copy h2{letter-spacing:-.03em;font-size:clamp(48px,4.6vw,76px);line-height:.96}.chicago-scene .narration{gap:14px;max-width:38em;margin-top:16px}.chicago-scene .narration p{text-shadow:none;font-size:20px;font-style:normal;line-height:1.5}.chicago-scene .chapter-close{letter-spacing:.08em;text-shadow:none;margin:18px 0 0;font-size:13px}.mdl-ord{font-size:13px;left:auto;right:max(28px,4vw);transform:none}.chicago-scene .scene-layers{transform:scale(calc(1 + var(--win,0) * 3.1));transform-origin:71% 32%}.window-portal{z-index:8;pointer-events:none;opacity:clamp(0, calc((var(--win,0) - .58) * 3), 1);position:absolute;inset:-4%;overflow:hidden}.window-portal img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;transform:scale(calc(1.2 - var(--win,0) * .2));transform-origin:28% 72%}.chicago-scene.j-leg .chapter-copy,.chicago-scene.j-leg .place-label,.chicago-scene.j-leg .bottom-note,.chicago-scene.j-leg .platform-walk{opacity:calc(clamp(0, (var(--land,0) - .5) * 2.4, 1) * (1 - min(1, var(--win,0) * 1.7)))}.chicago-scene .apt-door .door-frame,.chicago-scene .apt-door .door-leaf{display:none}.chicago-scene .apt-door{color:#f6ead2;text-underline-offset:4px;background:0 0;border:0;font-size:14px;text-decoration:underline}.hobbies-scene .room-stage{transform:scale(calc(1 + var(--push,0) * .06 + var(--cascade,0) * 2.1));transform-origin:14% 78%}.hobbies-scene .chapter-copy{opacity:calc((1 - clamp(0, (var(--p,0) - .72) * 5, 1)) * (1 - min(1, var(--cascade,0) * 2.4)))}.hobbies-scene.cascading .desk{pointer-events:none}.glitch-veil{padding:0}.glitch-veil:before,.glitch-veil pre{display:none}.error-cascade img,.error-cascade picture{image-rendering:pixelated}.pile-item,.err-stamp,.err-glitch,.err-black,.err-eyes{pointer-events:none;image-rendering:pixelated;position:absolute}.pile-item{left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);z-index:var(--i);opacity:clamp(0, calc((var(--cascade,0) - var(--at,1)) * 14), 1);transform:translate3d(0, calc((1 - clamp(0, (var(--cascade,0) - var(--at,1)) * 14, 1)) * 16px), 0);will-change:transform, opacity;background-repeat:no-repeat;background-size:100% 100%}.pile-item:after{content:"";opacity:var(--shade,0);pointer-events:none;background:#140c08;position:absolute;inset:0}.pile-item.dialog{width:calc(var(--w,260) * 1px);aspect-ratio:664/448;background-image:url(/story/errors/dialog-4x.png);height:auto;overflow:hidden}.pile-item.warn{background-image:url(/story/errors/warning-4x.png);width:108px;height:96px}.pile-item.sign{background-image:url(/story/errors/404-4x.png);width:196px;height:62px}.pile-item.dialog span{color:#1a120c;font-family:var(--f-text), "Inter", sans-serif;text-align:center;justify-content:center;align-items:center;font-size:17px;font-weight:700;line-height:1.15;display:flex;position:absolute;inset:32% 8% 10%;overflow:hidden}.err-stamp,.err-glitch,.err-black,.err-eyes{z-index:60}.err-stamp{z-index:70;width:min(320px,62vw);opacity:clamp(0, calc((var(--cascade,0) - .7) * 14), 1);transform:scale(calc(1.4 - min(1, max(0, var(--cascade,0) - .7) * 12) * .4));top:38%;left:46%}.err-stamp img,.err-eyes img{width:100%;height:auto;image-rendering:pixelated;display:block}.err-glitch{z-index:72;opacity:calc(clamp(0, (var(--cascade,0) - .78) * 14, 1) * (1 - clamp(0, (var(--cascade,0) - .88) * 12, 1)));background:repeating-linear-gradient(0deg,#0000 0 3px,#ff282859 3px 4px);inset:0}.err-black{z-index:74;opacity:clamp(0, calc((var(--cascade,0) - .84) * 8), 1);background:#05060a;inset:0}.err-eyes{z-index:76;width:min(168px,38vw);opacity:clamp(0, calc((var(--cascade,0) - .9) * 14), 1);filter:brightness(1.12);top:46%;left:50%;transform:translate(-50%,-50%);-webkit-mask-image:radial-gradient(circle at 50% 46%,#000 46%,#0000 70%);mask-image:radial-gradient(circle at 50% 46%,#000 46%,#0000 70%)}.hobbies-scene .glitch-go{opacity:calc(1 - min(1, var(--cascade,0) * 3))}.signal-scene{background:#05060a}.signal-scene .signal-terminal,.signal-scene .signal-grid{display:none}.signal-scene .chapter-copy,.signal-scene .signal-go{opacity:0}.ai-scene{background:#05060a}.projects-scene .scene-layers,.projects-scene .plate-fit{width:max(100%,177.778svh);height:max(100%,56.25vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ai-scene .scene-layers,.ai-scene .plate-fit{left:var(--plate-x,50%);top:var(--plate-y,50%);width:var(--plate-w,max(100%, calc(100svh * 16 / 9)));height:var(--plate-h,max(100%, calc(100vw * 9 / 16)));transform-origin:71.3542% 40.963%;transform:translate3d(var(--eye-dx,-50%), var(--eye-dy,-50%), 0) scale(var(--eye-zoom,1));position:absolute}.ai-scene .scene-layers,.projects-scene .scene-layers{z-index:0;overflow:hidden}.ai-scene .plate-fit,.projects-scene .plate-fit{z-index:2;pointer-events:none;overflow:visible}.ai-scene .scene-layer,.projects-scene .scene-layer{width:100%;height:100%;inset:0;transform:none}.ai-scene .scene-layer img,.projects-scene .scene-layer img{object-fit:fill}.ai-scene .scene-layers{opacity:clamp(0, calc((var(--p,0) - .04) * 3.2), 1)}:is(.ai-scene:has(.scene-layers[data-filled="1"]) .terminal,.ai-scene:has(.scene-layers[data-filled="1"]) .typing-mascot,.ai-scene:has(.scene-layers[data-filled="1"]) .deal){display:none}.ai-scene:has(.scene-layers[data-filled="1"])>p.mono{opacity:clamp(0, calc(1 - var(--boot,0) * 4.8), 1)}.ai-scene:has(.scene-layers[data-filled="1"]) .ai-layout{opacity:clamp(0, calc(1 - var(--boot,0) * 4.8), 1)}.ai-scene:has(.scene-layers[data-filled="1"]) .ai-layout{z-index:3;color:#f4efe4;width:min(40rem,100% - 56px);max-width:min(40rem,100% - 56px);transform:translate3d(0, calc(var(--boot,0) * 28px), 0);background:#0a1020c7;margin:0;padding:22px 26px 24px;position:absolute;top:96px;left:max(24px,4vw)}.ai-scene:has(.scene-layers[data-filled="1"]) .ai-layout h2{letter-spacing:-.03em;margin:8px 0 0;font-size:clamp(44px,4.2vw,68px);line-height:.98}.ai-scene .narration{gap:14px;max-width:40em;margin-top:16px}.ai-scene .narration p{text-shadow:none;font-size:20px;font-style:normal;line-height:1.5}.ai-scene .chapter-close{letter-spacing:.08em;margin:18px 0 0;font-size:13px}.ai-scene:has(.scene-layers[data-filled="1"]) .ai-layout h2{color:#f4efe4}.ai-scene:has(.scene-layers[data-filled="1"]) .ai-intro{color:#f4efe4}.ai-scene:has(.scene-layers[data-filled="1"]) .why-placeholder{color:#f4efe4}.ai-scene:has(.scene-layers[data-filled="1"]) .narration p{color:#f4efe4}.ai-scene:has(.scene-layers[data-filled="1"]) .boot-go{color:#f4efe4;background:0 0;border:0;width:auto;padding:0}.robot-eyes{filter:brightness(1.45)saturate(1.15);width:10.625%;height:14.8148%;opacity:clamp(0, calc((var(--p,0) - .08) * 6), 1);animation:4.6s steps(2,end) infinite eye-blink;position:absolute;top:34.4444%;left:66.0417%;-webkit-mask-image:radial-gradient(34% 18% at 50% 44%,#000 42%,#0000 74%);mask-image:radial-gradient(34% 18% at 50% 44%,#000 42%,#0000 74%)}.robot-eyes img{object-fit:fill;width:100%;height:100%;image-rendering:pixelated;display:block}@keyframes eye-blink{0%,88%,to{opacity:.9}92%,96%{opacity:.05}}.ceiling-arm{transform-origin:62% 0;width:14%;height:24%;animation:7.5s ease-in-out infinite arm-sway;position:absolute;top:0;left:76%;overflow:hidden}.ceiling-arm img{width:714%;max-width:none;height:416%;image-rendering:pixelated;position:absolute;top:0;left:-543%}@keyframes arm-sway{0%,to{transform:rotate(0)}50%{transform:rotate(1.1deg)}}.projector-beam{transform-origin:62% 32%;width:46%;height:78%;transform:scale(calc(.2 + var(--boot,0) * .8));opacity:0;clip-path:polygon(58% 18%,100% 0,86% 100%,8% 100%,28% 42%);mix-blend-mode:screen;background:linear-gradient(160deg,#aaf5e0bf,#ffd6a026 58%,#0000 76%);position:absolute;top:18%;left:48%}.eye-iris{z-index:6;left:var(--iris-x,50%);top:var(--iris-y,40%);width:var(--iris-w,0px);height:var(--iris-h,0px);pointer-events:none;border-radius:calc((1 - var(--boot,0)) * 36% + 3px);box-shadow:0 0 22px 4px rgba(143, 216, 255, calc((1 - var(--boot,0)) * .85)), inset 0 0 14px rgba(143, 216, 255, calc((1 - var(--boot,0)) * .55)), inset 0 0 0 2px rgba(190, 245, 255, calc((1 - var(--boot,0)) * .95)), inset 0 0 0 calc(var(--boot,0) * 8px) #24180f, inset 0 0 0 calc(2px + var(--boot,0) * 11px) #c4552a;opacity:clamp(0, calc((var(--boot,0) - .02) * 14), 1);background:#100c0a;position:absolute;overflow:hidden}.eye-iris:after{content:"";height:42%;opacity:var(--boot,0);background:linear-gradient(#0000,#080503e6 46%);position:absolute;bottom:0;left:0;right:0}.eye-iris img{width:100%;display:block}.eye-iris .poster-fill,.eye-iris .poster-fit{width:100%;height:calc(58% + (1 - var(--boot,0)) * 42%);object-fit:cover;object-position:center 42%;position:absolute;inset:0 auto auto 0}.eye-iris .poster-fill{filter:blur(14px)brightness(.45)saturate(.85);transform:scale(1.08)}.eye-iris .poster-fit{background:0 0}.projects-scene:before{content:"";z-index:1;pointer-events:none;opacity:calc((1 - var(--curtains,0)) * .85);background:radial-gradient(at 50% 38%,#ffd6a073,#0000 62%);position:absolute;inset:0}.projects-scene:has(.scene-layers[data-filled="1"]) .chapter-copy{display:none}.hobbies-scene .glitch-go{color:#f6ead2;text-underline-offset:4px;background:0 0;border:0;padding:0;text-decoration:underline}.cinema-stage{left:var(--card-x,27.5%);top:var(--card-y,16.67%);width:var(--card-w,44.7%);height:var(--card-h,46.1%);z-index:3;pointer-events:auto;color:#f6ead2;touch-action:pan-y;background:#100c0a;position:absolute;overflow:hidden}.cinema-stage:focus-visible{outline-offset:3px;outline:3px solid #f6ead2}.cinema-arrow:hover,.cinema-view:hover{filter:brightness(1.12)}.cinema-feature{flex-direction:column;margin:0;display:flex;position:absolute;inset:0}.cinema-stage.is-flick .cinema-feature{opacity:.62}.cinema-visual,.more-grid{flex:auto;min-height:30%;position:relative;inset:auto}.cinema-visual{background:#100c0a;overflow:hidden}.poster-fill,.poster-fit{display:block}.poster-fill{object-fit:cover;filter:blur(16px)brightness(.32)saturate(.75);width:116%;height:116%;position:absolute;inset:-8%}.poster-fit{z-index:1;object-fit:contain;object-position:center center;width:100%;height:100%;position:relative}.cinema-visual span{color:#f6ead2;place-items:center;font-weight:700;display:grid;position:absolute;inset:0}.more-grid{background:#1a100c;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:3px;display:grid}.more-grid img{object-fit:contain;background:#140e0c;width:100%;height:100%;display:block}.more-grid span{color:#f6ead2;text-align:center;background:#241610;place-items:center;padding:4px;font-size:11px;font-weight:700;display:grid}.cinema-wash{pointer-events:none;background:radial-gradient(at 50% 42%,#ffd6a029,#0000 62%);height:58%;position:absolute;inset:0 0 auto}.cinema-lower{z-index:2;color:#f6ead2;box-sizing:border-box;background:linear-gradient(#0000,#080503eb 28%);flex-direction:column;flex:none;justify-content:flex-end;align-items:flex-start;gap:4px;padding:8px 14px 10px;display:flex;position:relative;overflow:hidden}.cinema-feature h2{letter-spacing:-.03em;color:#f6ead2;margin:0;font-size:clamp(28px,2.6vw,44px);line-height:.95}.cinema-feature .pitch{color:#f3ead8;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:42em;margin:0;font-size:clamp(12px,1vw,15px);line-height:1.3;display:-webkit-box;overflow:hidden}.cinema-feature .tag-row{margin:0}.cinema-feature .tag-row li{color:#f6ead2;background:0 0;border-color:#f6ead2b3}.cinema-view{color:#1a100c;background:#f6ead2;padding:7px 12px;font-weight:700;text-decoration:none}.cinema-view:focus-visible{outline-offset:3px;outline:2px solid #f6ead2}.cinema-arrow{z-index:4;top:var(--arrow-y,40%);width:var(--arrow-s,40px);height:calc(var(--arrow-s,40px) * 1.3);color:#f6ead2;cursor:pointer;pointer-events:auto;background:#3a2418;border:3px solid #1a100c;font-size:28px;line-height:1;position:absolute;transform:translateY(-50%);box-shadow:3px 3px #1a100c}.cinema-arrow.prev{left:var(--arrow-prev,22%)}.cinema-arrow.next{left:var(--arrow-next,74%);right:auto}.cinema-arrow:focus-visible{outline-offset:2px;outline:2px solid #f6ead2}.cinema-dots{left:var(--card-x,27.5%);top:var(--dots-y,64%);width:var(--card-w,44.7%);z-index:4;pointer-events:auto;justify-content:center;gap:8px;display:flex;position:absolute}.cinema-dots button{cursor:pointer;background:0 0;border:2px solid #f6ead2;width:10px;height:10px;padding:0}.cinema-dots button[aria-selected=true]{background:#f6ead2}.cinema-dots button:focus-visible{outline-offset:2px;outline:2px solid #f6ead2}.drape{z-index:5;pointer-events:none;width:54%;height:76%;image-rendering:pixelated;will-change:transform;background-image:url(/story/projects/curtain-fold-4x.png);background-repeat:repeat-x;background-size:auto 100%;position:absolute;top:0}.drape-left{transform-origin:0 0;transform:translate3d(calc(var(--curtains,0) * -88%), 0, 0) rotate(calc(var(--sway,0) * -1deg));left:0}.drape-right{transform-origin:100% 0;transform:translate3d(calc(var(--curtains,0) * 88%), 0, 0) rotate(calc(var(--sway,0) * 1deg));right:0}.drape-valance{background:#1a0908;height:22px;position:absolute;top:0;left:0;right:0;box-shadow:0 10px #3d1612}.drape-edge{background:#0c04038c;width:16px;position:absolute;top:0;bottom:0}.drape-left .drape-edge{right:0}.drape-right .drape-edge{left:0}.seats-row{z-index:6;pointer-events:none;transform:translate3d(0, calc((1 - var(--p,0)) * 10px), 0);position:absolute;bottom:0;left:0;right:0}.seats-row img{width:100%;height:auto;image-rendering:pixelated;display:block}.house-dim{z-index:4;opacity:calc(min(1, var(--exit,0) * 2.8) * .72);pointer-events:none;background:#000;position:absolute;inset:0}.exit-spill{z-index:7;pointer-events:none;opacity:calc(var(--open,0) * (1 - min(1, var(--push,0) * 1.15)));mix-blend-mode:screen;background:radial-gradient(58% 72% at 90% 86%,#ffe8ba8c 0%,#ffd28c52 16%,#ffbe6e24 34%,#ffb05a0d 52%,#0000 68%);position:absolute;inset:0}.exit-rig{--door-left:calc(50% - max(50vw, 50svh * 16 / 9) + max(100vw, 100svh * 16 / 9) * .720833 + 78px);z-index:8;left:var(--door-left);width:min(136px, calc(100vw - 16px - var(--door-left)));aspect-ratio:784/1180;pointer-events:none;perspective:640px;transform-origin:70% 60%;opacity:calc(clamp(0, (var(--curtains,0) - .42) * 3, 1) * (1 - min(1, max(0, var(--push,0) - .5) * 2.4)));transform:translate3d(calc(var(--push,0) * -4vw), calc(var(--push,0) * -1vh), 0) scale(calc(1 + var(--push,0) * var(--push,0) * 3.2));position:absolute;bottom:12px;right:auto}.exit-glow,.exit-leaf,.exit-sign{image-rendering:pixelated;position:absolute}.exit-glow{width:calc(var(--open,0) * 78%);opacity:clamp(0, var(--open,0) * 1.15, 1);clip-path:polygon(47% 0,53% 0,100% 100%,0 100%);background:linear-gradient(90deg,#0000 0 12%,#ffaa4638 12% 28%,#ffce7866 28% 42%,#ffe8b49e 42% 58%,#ffce7866 58% 72%,#ffaa4638 72% 88%,#0000 88% 100%);top:20%;bottom:-6%;left:50%;transform:translate(-50%)}.exit-leaf{backface-visibility:hidden;background-image:url(/story/contact/exit-door-4x.png);background-repeat:no-repeat;width:50%;height:90%;top:10%}.exit-leaf.left{transform-origin:0;transform:rotateY(calc(var(--open,0) * 76deg));filter:brightness(calc(1 - var(--open,0) * .42));background-position:0 62%;background-size:310% 124%;left:0}.exit-leaf.right{transform-origin:100%;transform:rotateY(calc(var(--open,0) * -76deg));filter:brightness(calc(1 - var(--open,0) * .42));background-position:right 62%;background-size:310% 124%;right:0}.exit-sign{z-index:2;filter:saturate(.45);background:url(/story/contact/exit-door-4x.png) top/100% no-repeat;height:12%;top:0;left:0;right:0}.projects-scene .scene-layers{transform:translate(-50%, -50%) scale(calc(1 + var(--push,0) * .28));transform-origin:86% 64%}.projects-scene .cinema-fit{transform:translate(-50%, -50%) scale(calc(1 + var(--push,0) * .35));transform-origin:90% 40%;opacity:calc(1 - min(1, var(--push,0) * 1.7))}.projects-scene .drape,.projects-scene .seats-row{opacity:calc(1 - min(1, max(0, var(--push,0) - .2) * 1.6))}.contact-portal{z-index:9;pointer-events:none;opacity:clamp(0, calc((var(--push,0) - .48) * 2.3), 1);position:absolute;inset:0}.ai-scene[data-ai-band="1"] h2{margin:0 0 8px;font-size:42px}.ai-scene[data-ai-band="1"] .ai-intro{font-size:18px}.ai-scene[data-ai-band="1"] .why-placeholder{margin-top:12px}.ai-scene[data-ai-band="1"]>p.mono{z-index:4;left:28px;top:calc(100% - var(--ai-band,34svh) - 4px);color:#8fd8ff;width:max-content;max-width:calc(100% - 48px);opacity:clamp(0, calc(1 - var(--boot,0) * 4.8), 1);background:0 0;margin:0;padding:0;position:absolute;bottom:auto}.ai-scene[data-ai-band="1"]:has(.scene-layers[data-filled="1"]) .ai-layout{width:calc(100% - 24px);max-width:none;max-height:var(--ai-band,min(40svh, 380px));color:#f4efe4;background:#0a1020;padding-top:28px;inset:auto auto 12px 12px;overflow:auto}.contact-portal img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;display:block}@media (max-width:760px){.j-leg.mandalay-scene:has(.scene-layers[data-filled="1"]) .chapter-copy{width:calc(100% - 24px);max-width:calc(100% - 24px);padding:12px 14px;top:72px;left:12px}:is(.j-leg.flight-scene:has(.scene-layers[data-filled="1"]) .chapter-copy,.j-leg.chicago-scene:has(.scene-layers[data-filled="1"]) .chapter-copy){width:calc(100% - 24px);max-width:calc(100% - 24px);padding:12px 14px;top:72px;left:12px}.j-leg.chicago-scene:has(.scene-layers[data-filled="1"]) .chapter-copy{top:148px}:is(.j-leg.mandalay-scene:has(.scene-layers[data-filled="1"]) .chapter-copy h2,.j-leg.chicago-scene:has(.scene-layers[data-filled="1"]) .chapter-copy h2){margin:4px 0 8px;font-size:30px;line-height:1.05}.mandalay-scene .narration,.chicago-scene .narration{gap:8px;margin-top:8px}.mandalay-scene .chapter-close,.chicago-scene .chapter-close{margin-top:8px}.mandalay-scene .scene-layer img{object-fit:cover;object-position:78% 58%}.chicago-scene .scene-layer img{object-fit:cover;object-position:74% 46%}.chicago-scene .scene-layers{transform:scale(calc(1 + var(--win,0) * .12));transform-origin:74% 58%}.chicago-scene .place-label{width:max-content;max-width:calc(100% - 24px);top:74px;left:auto;right:12px}.mandalay-scene .narration p,.chicago-scene .narration p{font-size:15px;line-height:1.35}.flight-scene .narration p,.contact-scene .narration p{font-size:18px}.ai-scene[data-ai-band="1"]:has(.scene-layers[data-filled="1"]) .ai-layout{max-height:none;padding:12px 14px;top:auto;bottom:8px;overflow:visible}.ai-scene[data-ai-band="1"] h2{margin:0 0 6px;font-size:28px;line-height:1.05}.ai-scene .narration{gap:6px;margin-top:6px}.ai-scene .narration p{font-size:15px;line-height:1.35}.ai-scene .chapter-close{margin-top:8px;line-height:1.35}#ai[data-beat="1"] .narration p:nth-child(n+3),#ai[data-beat="1"] .chapter-close,#ai[data-beat="2"] .narration p:nth-child(-n+2){display:none}#ai[data-beat="2"] .narration p,#ai[data-beat="2"] .chapter-close{opacity:1;transform:none}.ai-scene:has(.scene-layers[data-filled="1"]) .ai-layout{opacity:clamp(0, calc(1 - max(0, var(--boot,0) - .62) * 8), 1)}html[data-chapter=ai] .pet-btn,html[data-chapter=ai][data-ai-band="1"] .pet-btn{top:72px;bottom:auto}html[data-chapter=ai] .hide-pet{inset:68px 12px auto auto}.contact-cta{font-size:24px}.mdl-ord{inset:auto auto 96px 16px}.pile-late{display:none}.pile-item{left:calc(var(--mx) * 1%);top:calc(var(--my) * 1%)}.pile-item.dialog{width:calc(var(--mw,180) * 1px);background-image:url(/story/errors/dialog-2x.png);height:auto}.pile-item.dialog span{font-size:14px}.pile-item.warn{background-image:url(/story/errors/warning-2x.png);width:96px;height:85px}.pile-item.sign{background-image:url(/story/errors/404-2x.png);width:190px;height:56px}.drape{background-image:url(/story/projects/curtain-fold-2x.png);width:62%;height:74%}.drape-left{transform:translate3d(calc(var(--curtains,0) * -84%), 0, 0) rotate(calc(var(--sway,0) * -1deg))}.drape-right{transform:translate3d(calc(var(--curtains,0) * 84%), 0, 0) rotate(calc(var(--sway,0) * 1deg))}.projects-scene:has(.scene-layers[data-filled="1"]) .chapter-copy{display:none}.projects-scene .plate-fit{width:100%;height:100%;transform:scale(calc(1 + var(--push,0) * .2));transform-origin:84% 46%;top:0;left:0}.cinema-stage{border:8px solid #3a2418;box-shadow:0 0 0 3px #1a100c}.cinema-feature h2{font-size:20px}.cinema-feature .pitch{font-size:12px}.cinema-lower{padding:8px 10px}.exit-rig{width:28vw;opacity:calc(clamp(0, var(--exit,0) * 3.2, 1) * (1 - min(1, max(0, var(--push,0) - .55) * 2.6)));transform:translate3d(calc((1 - min(1, var(--exit,0) * 2.4)) * 130%), 0, 0) scale(calc(1 + var(--push,0) * var(--push,0) * 2.6));bottom:8px;left:auto;right:8px}.letter-go{width:min(250px,100vw - 32px);bottom:72px;right:16px}}@media (prefers-reduced-motion:reduce){#hero.hold,#journey.hold,#hobbies.hold,#signal.hold,#ai.hold,#projects.hold{margin-bottom:0!important}.hold{opacity:1!important;pointer-events:auto!important}.hero-scene,.depart-door,.hero-portal,.door-light{opacity:1!important;transform:none!important}.hero-portal,.door-light,.window-portal,.error-cascade,.projector-beam,.eye-iris,.exit-spill,.contact-portal,.house-dim,.ceiling-arm{display:none!important}.chicago-scene.j-leg,.hobbies-scene .room-stage,.seats-row{transform:none!important}.drape-left{transform:translate(-88%)!important}.drape-right{transform:translate(88%)!important}.exit-rig{transform:none!important}.robot-eyes,.cinema-feature{opacity:1!important;animation:none!important}.signal-scene .chapter-copy,.ai-scene .scene-layers{opacity:1!important}}@media (prefers-reduced-motion:reduce) and (max-width:760px){.drape-left{transform:translate(-84%)!important}.drape-right{transform:translate(84%)!important}.ai-scene{height:auto;min-height:100svh;overflow:visible}}.reels,.reel,.lost{color:#292b26;min-height:100svh;font-family:var(--f-text), "Inter", sans-serif;background:#f3efdf;position:relative}.reels-wrap,.reel-article,.lost-copy{z-index:1;position:relative}.reels{padding:104px clamp(20px,3vw,56px) 140px}.reels-wrap{width:100%;max-width:1600px;margin:0 auto}.reels h1,.reel h1,.lost h1,.reels h2,.reel h2{font-family:var(--f-display), Fraunces, "Iowan Old Style", Palatino, serif;letter-spacing:-.045em;color:#292b26;font-weight:800;line-height:.92}.reels h1,.lost h1{margin:8px 0 12px;scroll-margin-top:96px;font-size:clamp(52px,6vw,80px)}.reels h2,.reel h1,.reel h2,.lost h1{scroll-margin-top:96px}.reels h1 span,.lost h1 span{color:#ac3f27}.reels header>p:last-child,.lost-copy>p:last-of-type{max-width:65ch;margin:0;font-size:18px;line-height:1.6}.reels .mono,.reel .mono,.lost .mono{font-family:var(--f-mono), ui-monospace, monospace;letter-spacing:.06em;text-transform:uppercase;color:#292b26;font-size:13px}html.story-theme .skills-page :focus-visible,html.story-theme .reels :focus-visible,html.story-theme .reel :focus-visible,html.story-theme .lost :focus-visible,html.story-theme .story-header :focus-visible,html[data-pet-ledge="1"] .hide-pet:focus-visible,html[data-pet-ledge="1"] .pet-btn:focus-visible{outline-offset:3px;outline:3px solid #292b26}.reel-tools{flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:24px;display:flex}.reel-search{color:#292b26;background:#fffaf0;border:1px solid #292b26;flex:280px;align-items:center;gap:10px;min-width:0;height:48px;padding:0 14px;display:flex}.reel-search input{color:#292b26;width:100%;min-width:0;height:100%;font:inherit;background:0 0;border:0;font-size:16px}.reel-search input::placeholder{color:#3a3c36}.reel-sort{background:#fffaf0;border:1px solid #292b26;display:flex}.reel-sort button,.reel-tags button{color:#292b26;font:inherit;cursor:pointer;background:0 0;border:0;padding:0 16px;font-size:15px}.reel-sort button:hover:not([aria-pressed=true]),.reel-tags button:hover:not([aria-pressed=true]){background:#292b2614}.reel-back:hover{text-underline-offset:3px;text-decoration:underline}.reel-sort button[aria-pressed=true],.reel-tags button[aria-pressed=true]{color:#f3efdf;background:#292b26}.reel-tags{gap:8px;margin-top:14px;padding-bottom:4px;display:flex;overflow-x:auto}.reel-tags button{background:#fffaf0;border:1px solid #292b26;flex:none;height:36px}.reel-row{margin-top:28px}.reel-row-head,.reel-library>h2,.reel-more h2{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;display:flex}.reels h2,.reel-more h2{margin:0;font-size:clamp(28px,3vw,40px)}.reel-row ul,.reel-more ul{scroll-snap-type:x mandatory;gap:20px;margin:18px 0 0;padding:0 0 8px;list-style:none;display:flex;overflow-x:auto}.reel-row li,.reel-more li{scroll-snap-align:start;flex:0 0 320px;width:320px;max-width:calc(100% - 36px)}@media (min-width:1100px){.reel-row li{flex-basis:380px;width:380px}}.reel-library{margin-top:48px}.reel-library ul{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:36px 24px;margin:22px 0 0;padding:0;list-style:none;display:grid}.reel-empty{margin-top:16px}.reel-card{color:inherit;text-decoration:none;display:block}.reel-frame{background:#292b26;grid-template-columns:14px minmax(0,1fr) 14px;gap:6px;padding:8px 6px;display:grid}.sprocket{background:repeating-linear-gradient(#292b26 0 8px,#f3efdf 8px 14px,#292b26 14px 22px)}.reel-still{background:#f7f1e4;position:relative}.reel-date,.reel-live{color:#292b26;background:#f3efdf;padding:2px 6px;position:absolute;top:8px}.reel-date{right:8px}.reel-live{color:#7d2e1c;left:8px}.reel-meta{padding-top:12px}.reel-meta h3{font-family:var(--f-display), Fraunces, "Iowan Old Style", Palatino, serif;letter-spacing:-.03em;margin:4px 0 6px;font-size:clamp(24px,1.8vw,32px);font-weight:700;line-height:1.15}.reel-meta>p:not(.mono){-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:17px;line-height:1.6;display:-webkit-box;overflow:hidden}.reel-meta .mono{color:#7d2e1c;margin:0 0 4px}.reel-meta ul,.reel-stack{flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.reel-meta li{color:#3a3c36;border:0;padding:0;font-size:13px;line-height:1.4}.reel-meta li:not(:last-child):after{content:" ·";margin-left:6px}@media (prefers-reduced-motion:no-preference){.reel-card{transition:transform .2s}.reel-card:hover{transform:translateY(-2px)}}.reel{background:color-mix(in srgb, var(--accent,#ac3f27) 7%, #f3efdf);box-shadow:inset 8px 0 0 var(--accent,#ac3f27);padding:118px 0 140px}.reel-article{max-width:1440px;margin:0 auto;padding:0 clamp(20px,4vw,64px)}.reel-back{color:#292b26;font-size:15px}.reel header h1{margin:12px 0 14px;font-size:clamp(48px,6vw,84px)}.pub-badge{border:1px solid #292b26;border-left:4px solid var(--accent,#3f4a32);color:#292b26;font-family:var(--f-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;background:#f7f1e4;margin:14px 0 0;padding:5px 10px 5px 12px;font-size:13px;display:inline-block}.explainer-slot{margin-top:28px}.explainer-slot h2{margin:0 0 10px;font-size:clamp(28px,3vw,36px)}.explainer,.explainer-frame{aspect-ratio:16/9;color:#292b26;background:#f7f1e4;border:1px solid #292b26;width:100%}.explainer{display:flex}.explainer-frame{display:block}.explainer-soon,.explainer-poster{text-align:left;box-shadow:inset 8px 0 0 var(--accent,#ac3f27);align-items:flex-end;gap:16px;padding:24px;position:relative}.explainer-soon{cursor:default}.explainer-poster{font:inherit;cursor:pointer}.explainer-soon p{margin:0}.explainer-soon p:last-child{font-family:var(--f-display), Fraunces, "Iowan Old Style", Palatino, serif;letter-spacing:-.03em;font-size:clamp(28px,4vw,44px);font-weight:700;line-height:1.05}.explainer-play{background:#fffaf0;border:1px solid #292b26;flex:none;place-items:center;width:72px;height:72px;display:grid}.explainer-play:before{content:"";border:10px solid #0000;border-left:16px solid #ac3f27;border-right-width:0;width:0;height:0;margin-left:4px}.explainer-caption{gap:4px;font-size:18px;display:grid}.gallery{min-width:0}.gallery-track{scroll-snap-type:x mandatory;scrollbar-width:none;background:#f7f1e4;display:flex;overflow-x:auto}.gallery-track::-webkit-scrollbar{display:none}.gallery-slide{scroll-snap-align:start;background:#f7f1e4;flex:0 0 100%;min-width:0}.gallery-media{background:#f7f1e4;width:100%;height:auto;display:block}.gallery-slide .explainer,.gallery-slide .explainer-frame{aspect-ratio:16/9;object-fit:contain;background:#f7f1e4;width:100%}.gallery-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.gallery-bar button,.gallery-dialog button{color:#292b26;min-width:44px;min-height:44px;font-family:var(--f-mono), ui-monospace, monospace;background:#fffaf0;border:1px solid #292b26;font-size:14px}.gallery-bar button:disabled{opacity:.35}.gallery-bar p{margin:0 8px 0 auto}.gallery-dots{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.gallery-dots button{background:0 0;border:1px solid #292b26;width:44px;height:12px;padding:0}.gallery-dots button[aria-selected=true]{background:var(--accent,#ac3f27)}.gallery-caption{margin:12px 0 0;font-size:16px;line-height:1.6}.gallery-dialog{color:#292b26;background:#f7f1e4;border:1px solid #292b26;width:min(1100px,94vw);max-height:90vh;padding:16px}.gallery-dialog img{width:100%;height:auto}.gallery-dialog form{margin-top:12px}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.gallery-track{scroll-behavior:auto}}.reel header ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.reel header li{border:1px solid #292b26;padding:3px 8px;font-size:14px}.project-layout{grid-template-columns:minmax(0,68ch) minmax(200px,260px);justify-content:center;align-items:start;gap:56px 64px;margin-top:56px;display:grid}.project-story{min-width:0;max-width:68ch}.project-story>section+section{margin-top:2.5em}.project-story h2{letter-spacing:-.03em;margin:0 0 .75em;font-size:26px;font-weight:700;line-height:1.2}.project-story p{margin:0 0 1.15em;font-size:18px;line-height:1.65}@media (min-width:1280px){.project-story p,.reel-highlights li,.reel-note,.reel-gallery figcaption{font-size:20px}}.project-story p:last-child{margin-bottom:0}.project-side{gap:22px;display:grid;position:sticky;top:96px}.project-side section{border-top:1px solid #292b2647;padding-top:12px}.project-side h2{margin:0 0 8px}.project-side p{margin:0;font-size:18px;line-height:1.45}@media (min-width:1280px){.project-side p{font-size:19px}}.project-side ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.project-side a,.project-side .soon{color:#292b26;text-underline-offset:3px;align-items:center;gap:8px;text-decoration:underline;display:inline-flex}.reel-hero{width:100%;max-width:none;margin:28px 0 0}.reel-summary{max-width:65ch;margin:0;font-size:20px;line-height:1.6}.reel-highlights li,.reel-note,.reel-gallery figcaption{font-size:18px;line-height:1.65}.reel-description h2,.reel-prose>section>h2{margin:28px 0 10px;font-size:clamp(28px,3vw,36px)}.reel-highlights{margin:0;padding:0;list-style:none}.reel-highlights li{margin:0 0 10px;padding-left:16px;position:relative}.reel-highlights li:before{content:"";background:var(--accent,#ac3f27);width:7px;height:7px;position:absolute;top:.55em;left:0}.reel-note{background:#fffaf0;border:1px solid #292b26;margin-top:12px;padding:14px 16px}.reel-gallery{grid-template-columns:1fr 1fr;gap:16px;display:grid}.reel-gallery figure{background:#fffaf0;border:1px solid #292b26;margin:0}.reel-gallery figcaption{padding:8px 12px}.reel aside{align-content:start;gap:22px;display:grid}.reel aside section{background:0 0;border:0;border-top:1px solid #292b2647;padding:14px 0 0}.reel aside h2{letter-spacing:.14em;text-transform:uppercase;font-size:13px;font-family:var(--f-mono), monospace;margin:0 0 8px}.reel aside ul{margin:0;padding:0;list-style:none}.reel aside a,.reel aside .soon{color:#292b26;text-underline-offset:3px;border:0;align-items:center;gap:8px;padding:0;text-decoration:underline;display:inline-flex}.reel aside a span{align-items:center;gap:8px;display:inline-flex}.reel-more{margin-top:64px}.reel-more h2{margin-top:8px}.lost{text-align:center;place-items:center;padding:128px 24px 150px;display:grid}.lost-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.ink-btn{color:#f3efdf;background:#292b26;align-items:center;min-height:46px;padding:0 18px;font-weight:650;text-decoration:none;display:inline-flex}.ink-btn-ghost{color:#292b26;background:0 0;border:1px solid #292b26}.ink-btn:hover{background:#11120f}.ink-btn-ghost:hover{color:#f3efdf;background:#292b26}html[data-pet-ledge="1"]{scroll-padding-top:88px;scroll-padding-bottom:120px}.hero-board{display:contents}.hero-kicker,.hero-scene .folio,.hero-scene .scroll-cue,.depart-door .mono{letter-spacing:.08em;font-size:14px}@media (min-width:761px){.hero-scene{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:stretch;height:100svh;padding:108px clamp(40px,6vw,140px) 84px;display:flex}.hero-board{grid-template-columns:minmax(0,1.25fr) minmax(320px,.9fr);align-items:end;column-gap:clamp(28px,3.5vw,64px);width:min(1360px,100%);margin-inline:auto;display:grid}.hero-stage{height:min(460px,100svh - 240px);min-height:380px;container-type:inline-size}.hero-scene .hero-mascot{--rest:1.65;transform-origin:12% 100%;transform:translate3d(calc(var(--door,0) * 18%), calc(var(--door,0) * 4%), 0) scale(calc(var(--rest) - var(--door,0) * (var(--rest) - .55)));inset:auto auto 0 0}.hero-stage .depart-door{bottom:0;right:0}.hero-stage .pixel-door,.hero-stage .pixel-door img{height:clamp(220px,52cqi,300px)}.hero-scene .folio{top:108px;right:max(48px,50% - 680px)}.hero-portal{transform-origin:76% 68%;-webkit-mask-image:radial-gradient(ellipse at 76% 68%, #000 calc(18% + var(--enter,0) * 95%), transparent calc(34% + var(--enter,0) * 95%));-webkit-mask-image:radial-gradient(ellipse at 76% 68%, #000 calc(18% + var(--enter,0) * 95%), transparent calc(34% + var(--enter,0) * 95%));mask-image:radial-gradient(ellipse at 76% 68%, #000 calc(18% + var(--enter,0) * 95%), transparent calc(34% + var(--enter,0) * 95%))}.hero-scene .door-light{bottom:16%;right:max(48px,50% - 656px)}.mandalay-scene .narration,.flight-scene .narration,.chicago-scene .narration,.hobbies-scene .narration,.ai-scene .narration,.contact-scene .narration{gap:16px;max-width:68ch;margin-top:20px}.mandalay-scene .narration p,.flight-scene .narration p,.chicago-scene .narration p,.hobbies-scene .narration p,.ai-scene .narration p,.contact-scene .narration p,.signal-scene .narration p{line-height:1.6}.chapter-close,.route-label,.place-label,.sig{letter-spacing:.08em;font-size:13px}.showcase,.deck,.deck-bar{max-width:1280px}}@media (min-width:1280px){.story .mono,.skills-page .mono,.life .mono,.reels .mono,.reel .mono,.lost .mono,.chapter-close,.route-label,.place-label{font-size:14px}.hero-kicker,.hero-scene .folio,.hero-scene .scroll-cue,.depart-door .mono{font-size:15px}.msg p,.year-block li>p:last-of-type,.year-block li>p:nth-of-type(2),.reel-meta>p:not(.mono){font-size:18px}.talk-page .hud{font-size:15px}}@media (min-width:761px) and (prefers-reduced-motion:reduce){.hero-stage .hero-mascot{opacity:1!important;inset:auto auto 0 0!important;transform:scale(1.65)!important}}@media (max-width:900px){.project-layout{grid-template-columns:1fr}.project-side{position:static}.reel-gallery{grid-template-columns:1fr}}@media (max-height:800px){.reels{padding-top:92px}.reel-row{margin-top:16px}}@media (max-width:760px){.reels,.life,.skills-page{padding:80px 16px 120px}.reel-row{margin-top:8px}.reels h1,.lost h1{font-size:52px}.reel{box-shadow:inset 0 6px 0 var(--accent,#ac3f27);padding:96px 0 128px}.reel header h1{font-size:44px}.reel-library ul{grid-template-columns:1fr}.reel-row li,.reel-more li{flex-basis:calc(100% - 18px);width:calc(100% - 18px)}.project-layout{grid-template-columns:1fr}.project-side{position:static}}
