@font-face{font-family:Geist;src:url('assets/geist.woff2') format('woff2');font-weight:100 900;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:#28242e;background:#f6f4ed;font-family:Geist,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}h1,h2,h3,h4,p{margin:0}a:focus-visible,button:focus-visible{outline:3px solid #6557d7;outline-offset:5px}::selection{background:#c6ed70;color:#292230}.skip{position:fixed;z-index:100;left:20px;top:-60px;padding:12px;background:#28242e;color:white}.skip:focus{top:10px}.header{height:95px;display:flex;align-items:center;gap:26px;width:calc(100% - 100px);max-width:1450px;margin:auto;position:relative;z-index:10}.wordmark{font-size:39px;font-weight:800;letter-spacing:-2.7px;display:flex;align-items:center;gap:5px}.wordmark span{color:#9075e4;font-size:29px;font-weight:400}.header nav{margin-left:auto;display:flex;align-items:center;gap:35px;font-size:12px;font-weight:550}.header nav>a:not(.hello):hover{text-decoration:underline;text-underline-offset:5px}.hello{border:1px solid #2c2735;padding:13px 22px;border-radius:30px;display:flex;gap:25px}.hello:hover{background:#d6f28e}.motion{border:1px solid #d1cdd5;width:34px;height:34px;border-radius:50%;background:transparent;font-size:14px;flex-shrink:0}.hero{height:min(820px,calc(100svh - 95px));min-height:630px;position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center}.hero-canvas{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.hero-canvas canvas{width:100%;height:100%;display:block}.hero-canvas.ready .fallback-ring,.hero-canvas.ready .fallback-orb{display:none}.fallback-ring{position:absolute;left:5%;top:8%;width:150px;height:150px;border:45px solid #b5a1ee;border-radius:50%;box-shadow:inset 6px 6px 14px #7c65bb,10px 12px 10px #c4bdd8;transform:rotateX(32deg) rotateY(-24deg);animation:float 7s ease-in-out infinite}.fallback-orb{position:absolute;right:6%;bottom:21%;width:120px;height:120px;border-radius:50%;background:#eeb1ca;box-shadow:inset -20px -20px 35px #ac6683,inset 15px 15px 25px #ffe4eb}.hero-center{text-align:center;position:relative;z-index:1;padding-bottom:24px;pointer-events:none}.hero-center a{pointer-events:auto}.hello-tag{font-size:9px;letter-spacing:1.7px;display:flex;align-items:center;justify-content:center;gap:9px;font-weight:600;margin-bottom:27px}h1{font-weight:650;font-size:clamp(90px,10.5vw,154px);line-height:.92;letter-spacing:-10px}h1>span{display:block}.good-line{display:flex!important;justify-content:center;align-items:center}.good-line em{font-family:Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-10px;margin-left:25px}h1 .letter-donut{height:.64em;width:.64em;margin:14px 4px 0 6px;display:inline-block;border-radius:50%;border:.19em solid #eab0d3;background:transparent;box-shadow:inset 2px 4px 7px #94637a,3px 6px 0 #a67694,10px 18px 15px #4e345619;position:relative;transform:rotate(-20deg);animation:donut-wobble 8s ease-in-out infinite;flex-shrink:0}.letter-donut:before,.letter-donut:after,.letter-donut b{content:'';position:absolute;width:11px;height:4px;background:#fff4b0;border-radius:10px;top:-16px;left:0;transform:rotate(38deg);box-shadow:20px 39px 0 #b9e782,-24px 30px 0 #fff4b0,28px 8px 0 #f8f4ed}.letter-donut:after{background:#6a58b3;top:18px;left:-18px;transform:rotate(-30deg);box-shadow:37px 13px 0 #6a58b3}.hero-center p{font-size:16px;line-height:1.6;margin-top:32px;color:#66616d}.round-button{display:inline-flex;align-items:center;gap:25px;margin-top:25px;padding:8px 9px 8px 22px;border-radius:50px;background:#28242e;color:#fff;font-size:12px;font-weight:550;transition:transform .25s}.round-button span{background:#d5f28f;color:#28242e;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:19px}.round-button:hover{transform:translateY(-4px)}.hero-note{position:absolute;font-size:16px;font-family:Georgia,serif;font-style:italic;color:#82758b;line-height:1.15;pointer-events:none}.note-left{top:40%;left:6%;transform:rotate(-10deg)}.note-left span{display:block;font-size:54px;margin-left:20px;line-height:1}.note-right{right:5%;top:18%;transform:rotate(12deg);font-size:14px}.hero-foot{position:absolute;bottom:27px;width:calc(100% - 100px);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:1px}.tiny-star{font-size:15px;margin:0 10px;color:#8664bc}.shuffle{background:transparent;border-bottom:1px solid #c1b9c8;padding:6px 0;display:flex;gap:12px;align-items:center;font-size:11px;letter-spacing:0}.shuffle span{font-size:22px}.shuffle:hover{color:#7956bd}.ticker{background:#d1ee8b;padding:17px 0;overflow:hidden;transform:rotate(-1.5deg) scale(1.02);position:relative;z-index:3;border-top:1px solid #28242e;border-bottom:1px solid #28242e}.ticker-track{display:flex;width:max-content;animation:marquee 70s linear infinite}.ticker-track span{white-space:nowrap;font-size:13px;letter-spacing:2px;font-weight:600;padding-right:12px}.work{background:#dcd5f3;position:relative;padding:100px 0 90px;isolation:isolate}.work-background{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.outline-star{position:absolute;top:100px;right:-85px;font-size:430px;line-height:1;color:#c2b3e8;animation:spin 60s linear infinite}.orbit{position:absolute;width:700px;height:700px;border:2px solid #c8bbe9;border-radius:50%;left:-440px;top:850px}.orbit-two{top:1750px;left:auto;right:-350px;width:900px;height:900px}.bg-word{position:absolute;top:1550px;left:10px;writing-mode:vertical-rl;font-size:160px;font-weight:700;letter-spacing:-10px;color:#c7b9e7;transform:rotate(180deg)}.doodle-wave{position:absolute;top:2450px;left:-90px;transform:rotate(-25deg);font-size:420px;color:#bda8e2}.work-heading{width:min(1100px,calc(100% - 100px));margin:auto auto 60px;position:relative}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.5px}.work-heading h2{font-size:clamp(50px,5.5vw,76px);font-weight:550;line-height:1.02;letter-spacing:-4px;margin-top:23px;position:relative;max-width:760px}.work-heading h2 em,.about h2 em{font-family:Georgia,serif;font-weight:400}.heading-spark{font-size:88px;position:absolute;right:30px;top:12px;color:#7960a8;transform:rotate(12deg)}.work-heading p{font-size:14px;line-height:1.65;margin-top:25px;color:#635772}.stack-note{position:absolute;right:10px;bottom:0;font-family:Georgia,serif;font-style:italic;font-size:23px;transform:rotate(-9deg)}.project-stack{max-width:1200px;width:calc(100% - 100px);margin:auto;padding-bottom:50px}.project-card{position:sticky;top:calc(28px + var(--i)*17px);min-height:580px;margin-bottom:38px;border:1.5px solid #39313d;border-radius:25px;padding:28px 36px 0;box-shadow:0 7px 0 #39313d12;transform-origin:50% 0%;will-change:transform;overflow:hidden}.illustra-card{background:#f7f4cc}.chess-card{background:#f3b9a5}.hacked-card{background:#afd0f1}.wallet-card{background:#c0dcaa}.card-top{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:9px;letter-spacing:.7px;font-weight:600}.status{display:flex;align-items:center;gap:6px;font-size:8px;border:1px solid #43394950;border-radius:30px;padding:7px 10px}.status i{height:5px;width:5px;border-radius:50%;background:#51734c}.card-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:35px;align-items:center;min-height:435px;padding:25px 0 28px}.card-copy h3{font-size:57px;line-height:1.02;font-weight:550;letter-spacing:-3px;position:relative}.hand-star{display:inline-block;margin-left:20px;font-size:51px;color:#8872be;transform:rotate(-10deg)}.project-hook{font-size:19px;line-height:1.3;font-weight:500;letter-spacing:-.5px;margin-top:18px;max-width:330px}.project-description{font-size:13px;line-height:1.7;max-width:355px;margin-top:15px;color:#57515d}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:21px 0 24px}.chips span{border:1px solid #40344340;padding:6px 10px;font-size:9px;border-radius:30px}.solid-button{display:inline-flex;gap:24px;align-items:center;background:#2c2533;color:#fff;border:1px solid #2c2533;border-radius:30px;padding:13px 20px;font-size:11px;transition:background .2s,transform .2s}.solid-button:hover{background:#53415d;transform:translateY(-3px)}.card-actions{display:flex;gap:19px;align-items:center;flex-wrap:wrap}.story-button{background:transparent;border-bottom:1px solid #807789;padding:8px 0;font-size:11px;display:flex;gap:13px}.story-button:hover{color:#6e4c9d}.card-bottom{border-top:1px solid #4034433b;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:8px;letter-spacing:.5px;padding:20px 0}.card-bottom a:hover{text-decoration:underline;text-underline-offset:4px}.illustra-stage{position:relative;perspective:900px;padding:45px 0 20px}.screen-frame{background:#ab95d2;padding:12px;border:1.5px solid #44334f;border-radius:14px;box-shadow:8px 12px 0 #a58bc35c;transform:rotate(-4deg);transition:transform .4s}.screen-frame:hover{transform:rotate(-1deg) translateY(-5px)}.screen-bar{font-size:7px;display:flex;justify-content:space-between;padding:0 2px 10px;color:#31283f;letter-spacing:.3px}.screen-frame img{display:block;width:100%;height:auto;border-radius:5px;border:1px solid #504261}.sticker{position:absolute;z-index:2}.shipped{right:-12px;top:-4px;background:#db79a2;color:#35243b;padding:18px 23px;transform:rotate(13deg);font-size:15px;line-height:1.05;box-shadow:3px 4px 0 #2d2533;border:1px solid #35243b;clip-path:polygon(5% 0,95% 3%,100% 90%,2% 100%)}.shipped strong{font-size:21px;font-weight:800}.screenshot-note{display:block;text-align:right;font-size:14px;font-style:italic;font-family:Georgia,serif;margin-top:23px;transform:rotate(-4deg);color:#71617d}.little-spark{position:absolute;bottom:-15px;left:-10px;font-size:70px;color:#856bb3}.chess-stage{position:relative;height:360px;perspective:900px;display:flex;align-items:center;justify-content:center}.chess-board{position:relative;width:300px;height:300px;background:repeating-conic-gradient(#f6e9d7 0% 25%,#73607d 0% 50%) 0 0/75px 75px;border:8px solid #443347;border-radius:8px;transform:rotateX(43deg) rotateZ(-24deg);box-shadow:0 9px 0 #38283c,0 15px 0 #aa8b9d,18px 26px 24px #44334733}.piece{position:absolute;font-size:115px;line-height:1;filter:drop-shadow(6px 9px 2px #20152470);transform:rotateZ(24deg) rotateX(-25deg);color:#36303f}.p1{left:37px;top:27px;color:#f4dce8;text-shadow:2px 2px #aa809b,-1px -1px #fff}.p2{right:5px;top:30px;font-size:83px}.p3{left:50px;bottom:5px}.p4{right:15px;bottom:0;font-size:90px;color:#e4cce5;text-shadow:2px 3px #aa809b}.result-sticker{position:absolute;right:0;top:-5px;background:#d4ef89;border:1px solid #34283c;border-radius:50%;height:135px;width:135px;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(13deg);box-shadow:4px 4px 0 #38283c}.result-sticker strong{font-size:55px;letter-spacing:-4px;line-height:1}.result-sticker span{font-size:7px;font-weight:650;letter-spacing:.8px;margin-top:8px}.chess-caption{position:absolute;bottom:0;font-family:Georgia,serif;font-style:italic;font-size:16px;transform:rotate(-5deg)}.learning-stage{position:relative;height:360px;display:flex;align-items:center;justify-content:center}.learning-note{background:#f9f5df;width:330px;padding:28px;border:1px solid #423b4e;transform:rotate(5deg);border-radius:4px;box-shadow:5px 8px 0 #6487b0;position:relative}.paper-back{position:absolute;width:320px;height:270px;background:#d9bbdc;border:1px solid #423b4e;transform:rotate(-10deg)}.note-label{font-size:8px;letter-spacing:1px}.learning-note h4{font-family:Georgia,serif;font-size:30px;font-weight:400;font-style:italic;margin-top:20px;letter-spacing:-1px}.fake-text{margin-top:15px;display:grid;gap:9px}.fake-text i{height:4px;background:#ddd8c9;width:100%}.fake-text i:nth-child(2){width:86%}.fake-text i:nth-child(3){width:65%}.learning-pills{display:flex;gap:6px;margin-top:22px;flex-wrap:wrap}.learning-pills span{padding:8px;font-size:9px;border:1px solid #56505d;border-radius:20px;background:#ddedbc}.learning-pills span:nth-child(2){background:#dcc1ed}.learning-pills span:nth-child(3){background:#f3c3b6}.learning-flow{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ccc8be;margin-top:25px;padding-top:14px;font-size:8px;letter-spacing:1px}.learning-flow b{font-size:25px}.won-sticker{position:absolute;top:-2px;right:0;background:#e99cbc;font-size:28px;font-weight:750;line-height:.9;transform:rotate(15deg);padding:18px 22px;border:1px solid #423b4e;box-shadow:4px 4px 0 #423b4e}.won-sticker span{position:absolute;left:-26px;bottom:-12px;color:#615297;font-size:45px}.visual-caption{position:absolute;bottom:-5px;text-align:center;font-size:9px;letter-spacing:.5px;color:#534e5e}.wallet-stage{height:350px;position:relative;display:flex;align-items:center;justify-content:center}.credit-card{width:340px;height:220px;border-radius:16px;border:1px solid #342b3c;position:absolute}.credit-back{background:#efb39c;transform:rotate(13deg) translate(13px,-10px);box-shadow:4px 5px 0 #4a3a4f}.credit-front{background:#625081;color:#f2edff;padding:24px;transform:rotate(-9deg);box-shadow:5px 8px 0 #473751;overflow:hidden}.wallet-logo{font-size:17px;letter-spacing:-1px;font-weight:650}.wallet-logo span{float:right;font-size:29px;line-height:1;color:#d8efab}.chip-icon{position:absolute;right:30px;top:74px;font-size:42px;color:#d6c9a8;line-height:1}.credit-front strong{font-size:25px;font-weight:500;letter-spacing:-.7px;line-height:1.12;display:block;margin-top:22px}.credit-footer{display:flex;justify-content:space-between;margin-top:27px;font-size:8px;letter-spacing:1.5px}.limit-sticker{position:absolute;right:-7px;top:-5px;background:#e5ee87;border-radius:50%;width:112px;height:112px;border:1px solid #342b3c;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(14deg);font-size:14px;font-weight:600;line-height:1.1}.limit-sticker em{font-family:Georgia,serif;font-size:23px}.side-quests{width:min(1200px,calc(100% - 100px));margin:25px auto 0;display:grid;grid-template-columns:.9fr 1.15fr 1.15fr;gap:24px;align-items:center}.side-title h3{font-size:31px;font-weight:550;letter-spacing:-1.5px;margin-top:15px;line-height:1.1}.side-title .eyebrow{font-size:7px}.mini-card{background:#f3ebd9;border:1px solid #4f3d5d;border-radius:15px;padding:24px 20px;display:flex;align-items:center;gap:15px;transform:rotate(-3deg);text-align:left;box-shadow:4px 5px 0 #a38ec4;transition:transform .3s}.mini-card:hover{transform:rotate(0deg) translateY(-8px)}.platformer{background:#d4edbc;transform:rotate(3deg)}.mini-card div>span{font-size:7px;letter-spacing:.7px}.mini-card h4{font-size:16px;font-weight:600;letter-spacing:-.4px;margin-top:7px}.mini-card p{font-size:10px;margin-top:9px;line-height:1.5;color:#64596c}.mini-icon{font-size:44px;color:#ba8fc8}.pixel-character{font-size:44px;color:#6c5787;line-height:1}.mini-arrow{font-size:24px;align-self:flex-start;margin-left:auto}.about{position:relative;display:grid;grid-template-columns:.7fr 1.3fr .5fr;gap:70px;align-items:center;max-width:1300px;margin:auto;padding:115px 70px}.about-sticker{width:185px;height:215px;background:#edb5cc;border-radius:48% 48% 7px 7px;border:1px solid #493c51;box-shadow:8px 8px 0 #ccc1df;transform:rotate(-12deg);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px}.smiley{font-size:100px;letter-spacing:-9px;line-height:1;transform:rotate(90deg);font-weight:400;margin-left:-10px}.about-sticker>span:last-child{font-size:8px;letter-spacing:1.4px;font-weight:600}.about h2{font-size:68px;letter-spacing:-4px;font-weight:550;line-height:1.02;margin:22px 0}.wave{font-size:50px;color:#9b81c6;display:inline-block;transform:rotate(20deg);margin-left:24px}.about p{font-size:14px;line-height:1.8;color:#675f6d;margin-top:17px}.text-link{display:inline-block;font-size:12px;border-bottom:1px solid #86758e;padding-bottom:6px;margin-top:25px}.about-doodles{align-self:center;transform:rotate(9deg)}.about-doodles>span:first-child{font-size:65px;color:#ad95d0;white-space:nowrap}.about-doodles>span:nth-child(2){display:block;font-family:Georgia,serif;font-size:20px;font-style:italic;margin-top:45px;line-height:1.2;color:#92819e}.about-doodles svg{width:115px;fill:none;stroke:#92819e;stroke-width:2}.contact{background:#30243e;color:#f6f0e4;padding:50px max(50px,calc((100% - 1200px)/2)) 24px;position:relative;overflow:hidden}.contact-top{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#c6b8d2;gap:20px}.contact h2{font-size:clamp(65px,8.1vw,115px);font-weight:500;letter-spacing:-6px;line-height:1;margin:60px 0}.contact h2 em{font-family:Georgia,serif;font-weight:400;color:#d3ed8c}.contact-circle{display:inline-grid;place-items:center;background:#d4a8d7;color:#33223d;border-radius:50%;font-size:70px;width:105px;height:105px;margin-left:40px;vertical-align:middle;transition:transform .3s}.contact-circle:hover{transform:rotate(45deg)}.contact-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:60px}.email{font-size:21px;letter-spacing:-.5px}.contact-bottom>div{display:flex;gap:25px;font-size:12px;align-items:center}.contact-bottom a:hover{text-decoration:underline;text-underline-offset:6px}#copy-email{background:transparent;border:1px solid #7c688b;color:#f6f0e4;border-radius:30px;padding:10px 15px;font-size:10px}.footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #5b4869;padding-top:25px;font-size:7px;letter-spacing:.6px;color:#c4b4cd}#copy-status{position:absolute;right:50px;bottom:90px;font-size:10px;color:#d3ed8c}dialog{border:1px solid #382b42;border-radius:22px;background:#f6f1e6;color:#30263a;width:min(620px,calc(100% - 32px));max-height:85svh;padding:45px;box-shadow:10px 15px 0 #1a132b33}dialog::backdrop{background:#25182dc4;backdrop-filter:blur(8px)}dialog h2{font-size:42px;font-weight:550;letter-spacing:-2px;line-height:1.1;margin:20px 0 24px}dialog p{font-size:14px;line-height:1.8;margin-bottom:20px;color:#65596e}dialog h3{font-size:17px;margin:24px 0 10px;font-weight:600}dialog ul{padding-left:20px;font-size:14px;line-height:1.8;color:#65596e}dialog .solid-button{margin-top:10px}#close-story{position:absolute;right:20px;top:16px;font-size:28px;width:35px;height:35px;background:#e2d6f1;border-radius:50%;line-height:1}dialog a:not(.solid-button){text-decoration:underline;text-underline-offset:4px}.paused *, .paused *:before,.paused *:after{animation-play-state:paused!important}.paused{scroll-behavior:auto}
@keyframes float{50%{transform:translateY(-25px) rotateX(15deg) rotateY(15deg)}}@keyframes donut-wobble{50%{transform:rotate(15deg) translateY(-5px)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1500px){.hero-center{padding-bottom:50px}}@media(max-width:1100px){.header{width:calc(100% - 60px)}.hero-foot{width:calc(100% - 60px)}.note-left{left:3%;font-size:14px}.note-right{right:3%;top:9%}.work-heading,.project-stack,.side-quests{width:calc(100% - 60px)}.project-card{padding:24px 26px 0;min-height:560px}.card-grid{grid-template-columns:1fr 1.1fr;gap:20px}.card-copy h3{font-size:49px}.project-hook{font-size:17px}.project-description{font-size:12px}.card-grid{min-height:415px}.screen-bar{font-size:6px}.result-sticker{width:110px;height:110px}.result-sticker strong{font-size:46px}.chess-board{width:265px;height:265px;background-size:65px 65px}.learning-note{width:280px;padding:23px}.learning-note h4{font-size:25px}.paper-back{width:280px;height:260px}.credit-card{width:290px;height:205px}.credit-front{padding:20px}.credit-front strong{font-size:22px}.credit-footer{margin-top:22px}.side-quests{gap:18px;grid-template-columns:1fr 1fr}.side-title{grid-column:1/-1;margin-bottom:10px}.side-title h3{font-size:35px}.about{padding:90px 40px;gap:40px;grid-template-columns:.65fr 1.4fr}.about-doodles{display:none}.about-sticker{width:165px;height:200px}.contact{padding-left:30px;padding-right:30px}.contact h2{font-size:85px}.contact-circle{width:80px;height:80px;font-size:53px}.heading-spark{right:80px}.hero-center p{font-size:15px}}
@media(max-width:760px){html{scroll-padding-top:25px}.header{height:80px;width:calc(100% - 36px);gap:14px}.wordmark{font-size:33px}.wordmark span{font-size:24px}.header nav{gap:16px;font-size:10px}.header nav>a:first-child{display:none}.hello{padding:10px 13px;gap:15px}.motion{width:30px;height:30px;font-size:12px}.hero{height:690px;min-height:calc(100svh - 80px);max-height:850px}.hero-center{padding-bottom:12px}.hello-tag{font-size:7px;letter-spacing:.7px;margin-bottom:26px}h1{font-size:clamp(75px,14vw,108px);letter-spacing:-5px;line-height:1}.good-line em{letter-spacing:-5px;margin-left:13px}h1 .letter-donut{margin:7px 2px 0 4px;box-shadow:inset 1px 2px 4px #94637a,2px 4px 0 #a67694,5px 9px 10px #4e345619}.letter-donut:before,.letter-donut:after,.letter-donut b{width:7px;height:3px;top:-9px;left:0;box-shadow:11px 22px 0 #b9e782,-12px 15px 0 #fff4b0,17px 5px 0 #f8f4ed}.letter-donut:after{top:9px;left:-10px;box-shadow:23px 7px 0 #6a58b3}.hero-center p{font-size:13px;line-height:1.6;margin-top:25px}.round-button{margin-top:24px;font-size:11px;padding-left:18px}.round-button span{width:30px;height:30px}.hero-foot{width:calc(100% - 40px);bottom:24px;gap:10px;font-size:6px;letter-spacing:.5px}.tiny-star{margin:0 4px;font-size:11px}.shuffle{font-size:9px;gap:5px}.scroll-note{display:none}.note-left{top:17%;left:7%;font-size:13px}.note-left span{font-size:35px;transform:rotate(35deg)}.note-right{top:auto;bottom:15%;right:6%;font-size:12px}.ticker{padding:14px 0}.ticker-track span{font-size:10px}.work{padding:65px 0 60px}.work-heading,.project-stack,.side-quests{width:calc(100% - 32px)}.work-heading{padding:0 6px;margin-bottom:35px}.eyebrow{font-size:7px;letter-spacing:1px}.work-heading h2{font-size:50px;letter-spacing:-2.8px;margin-top:20px}.heading-spark{right:10px;top:40px;font-size:44px}.work-heading p{font-size:12px;margin-top:20px}.stack-note{font-size:15px;right:8px;bottom:-8px}.outline-star{font-size:240px;top:190px;right:-120px}.project-stack{padding-bottom:0}.project-card{position:relative;top:0!important;margin-bottom:25px;padding:20px 22px 0;border-radius:20px;min-height:0;transform:none!important;will-change:auto}.card-top{font-size:7px;letter-spacing:.2px;gap:10px}.status{font-size:6px;padding:6px 7px;letter-spacing:.2px}.card-grid{display:flex;flex-direction:column;gap:0;padding:26px 0 20px;min-height:0;align-items:stretch}.card-copy h3{font-size:49px;letter-spacing:-2.5px;line-height:1}.hand-star{font-size:40px;margin-left:15px}.project-hook{font-size:19px;margin-top:17px;max-width:300px}.project-description{font-size:12px;line-height:1.75;max-width:100%;margin-top:13px}.chips{margin:18px 0 22px;gap:5px}.chips span{font-size:8px;padding:5px 8px}.solid-button{font-size:10px;padding:12px 16px;gap:15px}.card-actions{gap:15px}.story-button{font-size:10px;gap:8px}.illustra-stage{margin-top:22px;padding:35px 0 18px}.shipped{right:-3px;top:0;font-size:11px;padding:12px 15px}.shipped strong{font-size:15px}.screen-frame{padding:8px;border-radius:10px;box-shadow:5px 7px 0 #a58bc35c}.screen-bar{font-size:5px;padding-bottom:7px}.screenshot-note{font-size:12px;margin-top:17px}.little-spark{font-size:47px;bottom:0;left:5px}.card-bottom{font-size:6px;padding:15px 0;letter-spacing:.2px;gap:12px;line-height:1.5}.card-bottom>span:last-child{max-width:45%;text-align:right}.chess-stage,.learning-stage,.wallet-stage{margin-top:22px;height:310px}.chess-board{width:235px;height:235px;background-size:58px 58px;border-width:6px}.piece{font-size:92px}.p1{left:23px;top:10px}.p2{font-size:70px;top:15px}.p3{left:30px}.p4{font-size:75px}.result-sticker{width:100px;height:100px;right:-5px;top:8px}.result-sticker strong{font-size:43px}.result-sticker span{font-size:5px;margin-top:6px}.chess-caption{font-size:13px;bottom:9px}.learning-note{width:250px;padding:21px}.learning-note h4{font-size:24px}.paper-back{width:245px;height:240px}.learning-pills{gap:4px}.learning-pills span{font-size:7px;padding:6px}.learning-flow{font-size:7px;margin-top:20px}.won-sticker{font-size:23px;padding:13px 17px;right:-5px;top:8px}.won-sticker span{font-size:32px;left:-18px}.visual-caption{font-size:7px;bottom:0}.credit-card{width:270px;height:180px;border-radius:13px}.credit-front{padding:18px}.wallet-logo{font-size:15px}.wallet-logo span{font-size:24px}.credit-front strong{font-size:20px;margin-top:18px}.chip-icon{font-size:33px;top:65px;right:20px}.credit-footer{font-size:6px;margin-top:20px}.limit-sticker{width:88px;height:88px;font-size:11px;right:-7px;top:0}.limit-sticker em{font-size:18px}.side-quests{grid-template-columns:1fr;gap:22px;margin-top:45px;padding:0 7px}.side-title h3{font-size:34px;margin-top:12px}.mini-card{padding:22px;transform:rotate(-2deg)}.platformer{transform:rotate(2deg)}.mini-card h4{font-size:20px}.mini-card p{font-size:11px}.mini-card div>span{font-size:7px}.mini-icon,.pixel-character{font-size:48px}.about{padding:65px 25px;display:block}.about-sticker{width:100px;height:120px;float:right;margin:5px 0 20px 15px;box-shadow:5px 5px 0 #ccc1df;gap:12px}.smiley{font-size:60px;letter-spacing:-6px;margin-left:-5px}.about-sticker>span:last-child{font-size:5px;letter-spacing:.7px}.about .eyebrow{font-size:6px;max-width:180px;display:block;line-height:1.7}.about h2{font-size:55px;letter-spacing:-3px;margin-top:20px}.wave{font-size:33px;margin-left:15px}.about p{font-size:13px;line-height:1.8}.text-link{font-size:11px}.contact{padding:35px 24px 24px}.contact-top{font-size:6px;line-height:1.7;gap:22px}.contact-top>span:last-child{white-space:nowrap}.contact h2{font-size:54px;letter-spacing:-3px;line-height:1.08;margin:36px 0}.contact-circle{height:45px;width:45px;font-size:31px;margin-left:9px}.contact-bottom{flex-direction:column;align-items:flex-start;gap:25px;margin-bottom:35px}.email{font-size:17px}.contact-bottom>div{gap:25px;font-size:11px}#copy-email{font-size:9px;padding:8px 12px}.footer{font-size:6px;letter-spacing:.2px;gap:15px;padding-top:20px}.footer>span:nth-child(2){display:none}#copy-status{bottom:75px;right:24px;font-size:9px}dialog{padding:35px 25px}dialog h2{font-size:34px}dialog p,dialog ul{font-size:13px}.fallback-ring{width:100px;height:100px;border-width:30px;top:1%;left:8%}.fallback-orb{width:70px;height:70px;right:8%;bottom:13%}}
@media(max-width:380px){h1{font-size:70px}.hero-center p{font-size:12px}.card-top{font-size:6px}.status{font-size:5px}.credit-card{width:240px}.contact h2{font-size:47px}.heading-spark{right:0;font-size:35px}.work-heading h2{font-size:45px}.learning-note{width:230px;padding:18px}.paper-back{width:230px}.header nav{gap:12px}.hero .hello-tag{font-size:6px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.project-card{transform:none!important}.hero-canvas canvas{opacity:1}}

.ticker-shell{overflow:hidden;padding:18px 0;margin:-18px 0;position:relative;z-index:3;pointer-events:none}
@media(prefers-reduced-motion:no-preference){.js-reveal .project-card .card-grid{opacity:.25;translate:0 28px;transition:opacity .6s ease,translate .7s cubic-bezier(.2,.65,.3,1)}.js-reveal .project-card.in-view .card-grid{opacity:1;translate:0 0}}

.hero-center p{max-width:min(650px,calc(100vw - 44px));margin-left:auto;margin-right:auto}

.chess-actions{gap:12px 18px}.chess-actions .story-button:last-child{flex-basis:auto}
#story-dialog.results-dialog{width:min(1080px,calc(100% - 32px));padding:38px}.results-gallery{display:grid;gap:28px}.results-gallery figure{margin:0}.results-gallery figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:12px}.results-gallery figcaption strong{font-size:18px;font-weight:550}.result-image-link{display:block;border:1px solid #766a82;border-radius:12px;overflow:hidden;background:#08090c}.result-image-link img{display:block;width:100%;height:auto}.results-source{font-size:11px!important;margin:24px 0 0!important}
@media(max-width:760px){#story-dialog.results-dialog{padding:32px 18px 22px}.results-dialog h2{font-size:34px}.results-gallery figcaption{align-items:flex-start;flex-direction:column;gap:7px}.results-gallery figcaption strong{font-size:16px}}

.results-gallery figcaption small{font-size:10px;opacity:.7;margin-right:auto}

#chess-title .competition-title{display:block;font-size:32px;line-height:1.12;letter-spacing:-1.3px;margin-top:10px;max-width:330px}

#hacked-title .achievement-line,#wallet-title .achievement-line{display:block;font-size:30px;line-height:1.15;letter-spacing:-1px;margin-top:12px}

.hero-name{font-size:clamp(54px,9.5vw,136px);line-height:.98;letter-spacing:-.065em;max-width:calc(100vw - 44px);margin-inline:auto}.hero .hello-tag{max-width:calc(100vw - 44px);margin-inline:auto;font-size:11px;line-height:1.5;letter-spacing:1px}.hero-name>span+span{margin-top:.04em}
@media(max-width:760px){.hero-name{font-size:clamp(48px,12.5vw,88px)}.hero .hello-tag{font-size:9px;letter-spacing:.5px;max-width:310px;padding-inline:10px}}

.about-sticker.about-photo{height:auto;display:block;padding:8px;border-radius:12px;transform:rotate(-6deg);background:#faf8f2}.about-photo img{display:block;width:100%;height:auto;border-radius:6px}@media(max-width:760px){.about-sticker.about-photo{width:110px;padding:5px;border-radius:9px}}
