@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./assets/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./assets/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./assets/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./assets/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./assets/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./assets/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./assets/font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./assets/font-7.ttf) format('truetype');
}
:root{--ink:#151711;--cream:#fff5d9;--red:#f42127;--grass:#b2c68a}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--ink);color:var(--cream);font-family:'DM Sans',Arial,sans-serif;overflow-x:hidden}h1,h2,h3,p{margin:0}img{display:block;max-width:100%}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--red)}::selection{background:var(--red);color:var(--cream)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.identity{position:fixed;top:30px;left:4vw;right:4vw;display:flex;align-items:center;justify-content:space-between;z-index:50;pointer-events:none;color:var(--cream);transition:color .25s}.identity>span{font-size:14px;font-weight:500}.identity .logo{width:98px;height:53px;overflow:hidden;transform:rotate(-4deg)}.logo img{width:98px;max-width:none;height:98px;transform:translateY(-22px)}body.in-world .identity{color:var(--ink)}
.noise{height:290vh;margin-bottom:-100svh;position:relative;z-index:1}.noise-stage{position:sticky;top:0;height:100svh;min-height:600px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 50%,#202b30 0,#131816 35%,#111311 75%);perspective:1000px}.noise h1{position:absolute;left:5%;right:5%;top:50%;transform:translateY(-54%);text-align:center;font-size:clamp(68px,9.5vw,156px);line-height:1;letter-spacing:-.075em;font-weight:600;z-index:5;will-change:opacity,transform}.opening-line{display:inline-block}.revealing-word{display:inline-block;opacity:.09;transform:translateY(22px);will-change:opacity,transform}.noise h1 em{letter-spacing:-.08em}.noise-canvas{position:absolute;inset:0;perspective:1000px;pointer-events:none;transform-style:preserve-3d}.noise-item{position:absolute;left:50%;top:50%;opacity:0;will-change:transform,opacity;transform:translate(-50%,-50%) scale(.1);box-shadow:0 25px 80px #0008;backface-visibility:hidden}.phone{width:clamp(140px,17vw,245px);aspect-ratio:1/1.95;background:#000;border:7px solid #5c615b;border-radius:38px;overflow:hidden}.phone video,.phone>img{height:100%;width:100%;object-fit:cover}.island{position:absolute;left:30%;right:30%;top:10px;height:18px;border-radius:20px;background:#111;z-index:2}.phone>span{position:absolute;left:10%;right:10%;bottom:13%;color:white;text-align:center;text-shadow:0 2px 4px black;font-size:22px;font-weight:700;letter-spacing:-.04em}.rng{width:clamp(195px,24vw,350px);background:#a1ff20;border:3px solid #a1ff20;overflow:hidden;transform-origin:center}.rng img{width:100%;aspect-ratio:1.55;object-fit:cover}.rng b{display:block;padding:12px 10px;text-align:center;color:#2a1635;font-size:clamp(16px,2vw,28px);font-weight:700;letter-spacing:-.06em}.jackpot{padding:20px 24px;background:#aaff1c;color:#2c1645;text-align:center;border-radius:10px;min-width:220px}.jackpot>span{display:block;font-size:11px;font-weight:700;letter-spacing:.12em}.jackpot strong{display:block;font-size:62px;line-height:1.15;letter-spacing:-.07em;font-weight:700;font-style:italic}.repeat{font-size:clamp(32px,4.7vw,72px);line-height:.84;font-weight:700;letter-spacing:-.075em;padding:24px 30px;background:#ef5bd1;color:#451742}.dopamine{font-size:90px;line-height:1;font-weight:700;letter-spacing:-.08em;padding:20px 30px;border-radius:20px;background:#7764f6;color:white}.dopamine small{display:block;font-size:12px;letter-spacing:.08em}.echo{filter:saturate(1.1)}.scroll-hint{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.18em;display:flex;align-items:center;gap:17px;z-index:9}.scroll-hint i{font-size:23px;font-style:normal;animation:hint 2.2s ease-in-out infinite}
.world-runway{position:relative;z-index:10;background:var(--cream)}.world-stage{position:sticky;top:0;height:100svh;overflow:hidden}.world-canvas{position:relative;will-change:transform;isolation:isolate;background:var(--cream)}.meadow{position:relative;height:100svh;min-height:600px;overflow:hidden;background:var(--cream)}.meadow-art{position:absolute;inset:0;background:url('./assets/meadow-simple.webp') 50% 50%/cover no-repeat;z-index:-1}.meadow::after{content:'';position:absolute;bottom:0;left:0;right:0;height:90px;background:linear-gradient(transparent,var(--grass));pointer-events:none}.meadow h2{position:absolute;top:22%;left:3%;right:3%;text-align:center;font-size:clamp(64px,8.6vw,136px);line-height:.96;font-weight:500;letter-spacing:-.07em;z-index:3;color:#283e2b}.meadow h2 em{color:#ed3328;letter-spacing:-.07em}.ribbon{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2}.ribbon path{fill:none;stroke-linecap:round;stroke-linejoin:round}.ribbon-shadow{stroke:#34512620;transform:translate(0,14px)}.ribbon-outer{stroke:#c94a2d}.ribbon-rim{stroke:#f66a3e}.ribbon-bed{stroke:url('#slide-light')}.drop-zone{position:absolute;width:68px;height:68px;border:2px dashed #fff5d9;border-radius:50%;z-index:4;transform:translate(-50%,-50%);transition:background .15s,scale .15s;display:grid;place-items:center;color:#a3462d;font-size:25px}.drop-zone.near{background:#fff5d960;scale:1.16}.peg{position:absolute;width:108px;height:108px;transform:translate(-50%,-50%);z-index:5;cursor:grab;touch-action:none;user-select:none;outline-offset:2px;border-radius:50%;will-change:transform}.peg-sprite{display:block;width:100%;height:100%;background:url('./assets/pegman-white-sprites.webp') 0 50%/300% 100% no-repeat;transform-origin:50% 25%;filter:drop-shadow(0 4px 2px #26392725)}.peg.held{cursor:grabbing}.peg.held .peg-sprite{background-position:50% 50%;animation:pickup .34s ease-out}.peg.riding .peg-sprite{background-position:100% 50%}.peg:focus-visible{outline:2px dashed #3d5941}.ground-shadow{position:absolute;z-index:2;width:28px;height:7px;border-radius:50%;background:#354a3040;filter:blur(2px);transform:translate(-50%,-50%)}.peg-hint{position:absolute;z-index:4;font-family:Georgia,serif;font-style:italic;font-size:21px;color:#30442d;transform:rotate(-8deg);pointer-events:none;white-space:nowrap}.peg-hint i{font-style:normal;font-size:30px;margin-left:7px}
.games{position:relative;min-height:100svh;background:linear-gradient(var(--grass),#e0e9bd 340px,var(--cream) 720px);padding:125px 7vw 34px;color:var(--ink);z-index:1}.games>h2{font-size:clamp(66px,8.5vw,136px);font-weight:500;letter-spacing:-.075em;line-height:1;text-align:center;position:relative;z-index:4;margin-bottom:55px}.game-grid{display:grid;grid-template-columns:1fr 1fr;gap:3vw;position:relative;z-index:6;max-width:1180px;margin:0 auto}.game-card{min-width:0;will-change:transform,opacity}.game-card:nth-child(2){padding-top:48px}.game-image{aspect-ratio:1.5;overflow:hidden;border-radius:16px;transform:rotate(-2deg);box-shadow:0 17px 30px #26441b18}.game-card:nth-child(2) .game-image{transform:rotate(2deg)}.game-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.game-card:hover .game-image img{transform:scale(1.04)}.game-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:25px}.game-caption h3{font-weight:500;font-size:clamp(28px,3.4vw,54px);line-height:1.1;letter-spacing:-.06em}.game-caption span{font-size:10px;letter-spacing:.08em}.games footer{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;max-width:1180px;margin:90px auto 0;position:relative;z-index:4}.footer-motion{font-size:58px;font-weight:700;letter-spacing:-.09em;color:var(--red);line-height:1}.games footer>span:nth-child(2){font-family:Georgia,serif;font-style:italic;font-size:21px}.games footer small{font-size:10px;color:#65705b}
@keyframes hint{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes pickup{0%{transform:scale(1.14,.86) rotate(-3deg)}40%{transform:scale(.91,1.13) rotate(6deg)}70%{transform:scale(1.04,.97) rotate(-4deg)}100%{transform:scale(1)}}
@media(max-width:900px){.noise h1{font-size:10vw}.noise-item.phone{width:180px}.noise-item.rng{width:230px}.meadow h2{font-size:10vw}.games{padding-inline:6vw}.game-caption{display:block}.game-caption span{display:block;margin-top:9px}.games footer{margin-top:65px}}
@media(max-width:600px){.identity{top:22px;left:6vw;right:6vw}.identity>span{font-size:12px}.identity .logo{width:78px;height:43px}.logo img{width:78px;height:78px;transform:translateY(-17px)}.noise{height:270vh}.noise-stage{min-height:560px}.noise h1{font-size:15.2vw;left:4%;right:4%;line-height:1.02;transform:translateY(-60%)}.noise-item.phone{width:142px;border-width:5px;border-radius:27px}.island{height:12px;top:7px}.phone>span{font-size:15px}.noise-item.rng{width:190px}.rng b{font-size:16px;padding:8px}.jackpot{min-width:165px;padding:14px 18px}.jackpot strong{font-size:44px}.jackpot>span{font-size:8px}.repeat{font-size:38px;padding:17px 21px}.dopamine{font-size:68px;padding:17px}.dopamine small{font-size:10px}.scroll-hint{bottom:27px;font-size:9px}.meadow{min-height:560px}.meadow-art{background-position:50% 50%;background-size:auto 100%}.meadow h2{top:24%;font-size:13.5vw;line-height:1.02;left:4%;right:4%}.meadow::after{height:60px}.peg{width:94px;height:94px}.peg-hint{font-size:17px}.peg-hint i{font-size:23px}.drop-zone{width:52px;height:52px;font-size:21px}.games{padding:125px 9vw 26px;background:linear-gradient(var(--grass),#e0e9bd 250px,var(--cream) 700px)}.games>h2{font-size:15vw;margin-bottom:45px}.game-grid{grid-template-columns:1fr;gap:52px}.game-card:nth-child(2){padding-top:0}.game-image{aspect-ratio:1.2;border-radius:12px}.game-caption{display:flex;margin-top:20px}.game-caption h3{font-size:9vw}.game-caption span{font-size:8px;margin-top:0}.games footer{margin-top:65px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:22px 10px}.footer-motion{font-size:38px}.games footer>span:nth-child(2){font-size:16px;text-align:right}.games footer small{font-size:9px;grid-column:1/-1;text-align:center}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.noise{height:180vh}.noise-canvas{perspective:none}.phone video{visibility:hidden}.phone{background:#93d7e2 url('./assets/subway-surfers-screenshot-2.jpg') center/cover}.world-canvas,.noise-item,.peg,.game-card{will-change:auto}}

.meadow{isolation:isolate}
.notification{width:350px;display:flex;align-items:center;gap:12px;padding:16px;border-radius:23px;background:#f9faffed;color:#15151b;backdrop-filter:blur(18px);border:1px solid #ffffff80;box-shadow:0 20px 65px #0007;font-family:Arial,sans-serif}.notification>div{flex:1;min-width:0}.notification small{display:block;font-size:9px;letter-spacing:.055em;color:#626471;margin-bottom:5px}.notification time{float:right;letter-spacing:0}.notification b{font-size:14px;display:block;line-height:1.2;margin-bottom:3px}.notification p{font-size:12px;line-height:1.25}.app-icon{width:39px;height:39px;border-radius:11px;flex:none;display:grid;place-items:center;font-size:25px}.messages-icon{background:linear-gradient(#6feb6e,#20c342);color:white;position:relative}.messages-icon::after{content:'';position:absolute;left:10px;bottom:8px;width:8px;height:7px;background:white;clip-path:polygon(0 0,100% 0,0 100%)}.snap-icon{background:#fffc00;font-size:0}.snap-icon::after{content:'';display:block;background:white;width:24px;height:27px;border:2px solid #171717;border-radius:45% 45% 35% 35%;clip-path:polygon(16% 0,84% 0,91% 50%,100% 65%,86% 76%,79% 92%,62% 87%,50% 100%,38% 87%,21% 92%,14% 76%,0 65%,9% 50%)}.badge{position:absolute;top:-10px;right:-6px;min-width:24px;padding:4px 6px;background:#ff3b30;color:white;border:2px solid #fff;border-radius:24px;font-size:11px;font-weight:700;text-align:center}.typing{display:inline-flex;gap:3px;align-items:center;padding:5px 8px;background:#e1e2e7;border-radius:12px;vertical-align:middle}.typing i{width:4px;height:4px;border-radius:50%;background:#81848a}.arrived .typing i{animation:typing .65s ease-in-out infinite alternate}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}.arrived .badge{animation:notification-bounce .95s ease-in-out infinite}.clip-window{width:300px!important;aspect-ratio:1.15!important;border-radius:20px;border:4px solid #efefff}.live-tag{position:absolute;top:14px;left:14px;padding:5px 7px;border-radius:5px;background:#ff254c;color:white;font-size:10px;font-style:normal;font-weight:700}.reaction{width:170px;height:170px;background:#9263fd;border:4px solid white;border-radius:26px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:white;text-align:center}.reaction>span{font-size:88px;line-height:1}.reaction>b{font-size:22px;line-height:1;font-weight:700;letter-spacing:-.06em}.reaction>small{position:absolute;bottom:7px;right:9px;font-size:9px;opacity:.6}.arrived.reaction>span{animation:reaction-jiggle .55s ease-in-out infinite alternate}.heart-reaction{background:#ff417e}.slide-valley{position:relative;height:80svh;background:var(--grass);overflow:hidden}.slide-valley::before,.slide-valley::after{content:'';position:absolute;width:130%;height:80%;border-radius:50%;background:#a1ba7b;transform:rotate(-9deg);left:-45%;bottom:-28%;opacity:.45}.slide-valley::after{background:#d3dbaa;left:40%;bottom:-25%;transform:rotate(15deg)}.valley-flower{position:absolute;color:#f7edca;font-size:65px;transform:rotate(17deg);text-shadow:0 2px #81966b;z-index:1}.flower-one{left:20%;top:25%}.flower-two{right:8%;bottom:12%;font-size:90px}.flower-three{left:53%;top:3%;font-size:35px}.peg.riding .peg-sprite{animation:ride-wiggle .42s ease-in-out infinite alternate}.game-stats{display:flex;gap:28px;border-top:1px solid #36502b30;margin-top:24px;padding-top:17px}.game-stat{display:flex;flex-direction:column;gap:5px}.game-stat strong{font-family:'Space Grotesk',sans-serif;font-size:28px;letter-spacing:-.06em;font-weight:500;font-variant-numeric:tabular-nums}.game-stat>span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#65705b}.game-stat.active>span::before{content:'';display:inline-block;width:5px;height:5px;background:#61a042;border-radius:50%;margin-right:6px;vertical-align:2px}.stats-status{font-size:9px;color:#78836d;margin-top:10px;min-height:12px}.games{background:var(--cream)}.games::before{display:none!important}@keyframes typing{to{transform:translateY(-3px);opacity:.4}}@keyframes notification-bounce{0%,80%,100%{transform:scale(1)}90%{transform:scale(1.18)}}@keyframes reaction-jiggle{from{transform:rotate(-12deg) scale(.9)}to{transform:rotate(12deg) scale(1.08)}}@keyframes ride-wiggle{from{transform:rotate(-5deg) translateY(-2px)}to{transform:rotate(5deg) translateY(2px)}}@media(max-width:600px){.notification{width:255px;padding:11px;gap:9px;border-radius:17px}.notification b{font-size:12px}.notification p{font-size:10px}.notification small{font-size:8px}.app-icon{width:31px;height:31px;border-radius:9px}.clip-window{width:220px!important}.reaction{width:130px;height:130px}.reaction>span{font-size:67px}.reaction>b{font-size:17px}.game-stats{gap:32px;margin-top:20px}.game-stat strong{font-size:27px}.peg-hint{font-size:15px}.valley-flower{font-size:45px}}
/* The digital space opens directly into the painted world. */
#depth-scene{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.noise-stage{background:#111718}.noise-canvas{transform-style:preserve-3d}.world-stage{position:fixed;top:0;left:0;width:100%;visibility:hidden;clip-path:ellipse(0% 0% at 50% 100%)}.meadow-art{will-change:transform}.games::before{content:'';position:absolute;inset:0;background:url('./assets/meadow-simple.webp') center/cover;opacity:.045;pointer-events:none}.sound-switch{position:fixed;bottom:28px;right:4vw;z-index:60;display:flex;align-items:center;gap:10px;padding:10px 0 10px 10px;color:var(--cream);font-size:10px;letter-spacing:.05em;cursor:pointer;user-select:none;opacity:.68;transition:opacity .2s,color .2s}.sound-switch:hover,.sound-switch:focus-within{opacity:1}.sound-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.sound-switch:has(input:focus-visible){outline:2px solid currentColor;outline-offset:6px;border-radius:3px}.in-world .sound-switch{color:#344b34}.sound-meter{height:15px;display:flex;gap:3px;align-items:center}.sound-meter i{display:block;width:2px;height:3px;background:currentColor;transform-origin:50% 50%}body[data-sound='on'] .sound-meter i{height:10px;animation:meter 1.1s ease-in-out infinite alternate}body[data-sound='on'] .sound-meter i:nth-child(2){animation-delay:-.35s;height:15px}body[data-sound='on'] .sound-meter i:nth-child(3){animation-delay:-.7s;height:8px}@keyframes meter{from{transform:scaleY(.35)}to{transform:scaleY(1)}}@media(max-width:600px){.sound-switch{bottom:19px;right:6vw;font-size:9px}.scroll-hint{left:6vw;transform:none}.games footer{padding-bottom:40px}}@media(prefers-reduced-motion:reduce){.meadow-art{will-change:auto}.world-stage{clip-path:none!important}}
/* Character acting: six original white poses on a transparent sheet. */
.peg-sprite{background-image:url('./assets/pegman-white-sprites.webp');background-size:300% 200%;background-position:0 0;filter:drop-shadow(0 3px 2px #33452c30);transform-origin:50% 85%}.peg:not(.held):not(.riding) .peg-sprite,.footer-companion .peg-sprite{animation:idle-breathe 5.8s ease-in-out infinite}.peg.held .peg-sprite{background-position:100% 0;transform-origin:50% 20%;animation:pickup .34s ease-out}.peg.riding .peg-sprite{background-position:0 100%;transform-origin:50% 50%;animation:ride-wiggle .48s ease-in-out infinite alternate}.peg.riding[data-turn='left'] .peg-sprite{background-position:50% 100%}.peg.riding[data-turn='right'] .peg-sprite{background-position:100% 100%}.game-grid{row-gap:72px}.game-card:nth-child(even){padding-top:48px}.game-card:nth-child(2n) .game-image{transform:rotate(2deg)}.game-stats{margin:24px 0 0}.game-stat dd{margin:0;font-family:'Space Grotesk',sans-serif;font-size:30px;line-height:1.1;letter-spacing:-.055em;font-weight:500;font-variant-numeric:tabular-nums}.game-stat dt{font-size:10px;letter-spacing:.065em;text-transform:uppercase;color:#66705a}.game-stat.active dt::before{content:'';display:inline-block;width:5px;height:5px;background:#61a042;border-radius:50%;margin-right:6px;vertical-align:2px}.games{padding-bottom:100px}.portfolio-more{display:flex;align-items:center;gap:30px;max-width:1180px;margin:80px auto 0;padding:30px 36px;border:1px solid #cdd0b6;border-radius:18px;background:#f1efd9}.portfolio-more[hidden]{display:none}.portfolio-more>p{display:flex;align-items:baseline;gap:10px;white-space:nowrap;flex:1}.portfolio-more>p strong{font-family:'Space Grotesk',sans-serif;font-size:42px;font-weight:500;letter-spacing:-.06em}.portfolio-more>p span{font-size:18px;letter-spacing:-.035em}.portfolio-more .game-stats{border:0;padding:0;margin:0;gap:40px}.hidden-art{position:relative;width:92px;height:62px;flex:none}.hidden-art i,.hidden-art>span{position:absolute;inset:0;background:#b6c899;border:2px solid var(--cream);border-radius:9px;transform:rotate(-12deg);box-shadow:0 3px 8px #33452918}.hidden-art i:nth-child(2){transform:rotate(7deg);background:#dde2c4}.hidden-art>span{display:grid;place-items:center;transform:rotate(-2deg);background:#d3d8bb;color:#65805a;font-size:34px;letter-spacing:5px;padding-bottom:16px}.stats-status{max-width:1180px;margin:16px auto 0;text-align:right;letter-spacing:.025em}.stats-status[data-live='true']::before{content:'';display:inline-block;width:4px;height:4px;background:#638e49;border-radius:50%;margin-right:6px;vertical-align:2px}.meadow-footer{height:85svh;min-height:620px;position:relative;isolation:isolate;overflow:hidden;background:#f7efd8;color:#273e2b;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 5vw 32px}.footer-landscape{position:absolute;inset:0;z-index:-2;background:url('./assets/meadow-simple.webp') 50% 67%/cover;transform:scale(1.025);animation:footer-breeze 18s ease-in-out infinite alternate}.footer-landscape::after{content:'';position:absolute;inset:0;background:linear-gradient(var(--cream),transparent 35%,#d4db9930)}.meadow-footer>p{font-family:Georgia,serif;font-style:italic;font-size:clamp(26px,3vw,42px);margin-bottom:28px}.footer-wordmark{font-size:20.4vw;line-height:.85;font-weight:700;letter-spacing:-.10em;color:var(--red);padding-right:.1em;z-index:1}.footer-bottom{width:100%;display:flex;justify-content:space-between;border-top:1px solid #40533840;padding-top:23px;margin-top:32px;font-size:11px;font-weight:500}.footer-bottom small{font-size:10px}.footer-companion{position:absolute;top:24%;left:calc(50% - 36px);width:72px;height:72px}.footer-grass{position:absolute;inset:0;z-index:-1;pointer-events:none}.footer-grass i{position:absolute;bottom:30%;left:12%;width:18px;height:75px;border-left:3px solid #779857;border-radius:100% 0 0 0;transform-origin:50% 100%;animation:grass-sway 6s ease-in-out infinite alternate;opacity:.65}.footer-grass i::after{content:'';position:absolute;bottom:0;left:-9px;width:12px;height:45px;border-right:3px solid #64854d;border-radius:0 100% 0 0;transform:rotate(-10deg)}.footer-grass i:nth-child(2){left:16%;bottom:33%;height:50px;animation-delay:-2s}.footer-grass i:nth-child(3){left:86%;bottom:35%;animation-delay:-3s}.footer-grass i:nth-child(4){left:88%;bottom:36%;height:48px;animation-delay:-1s}.footer-grass i:nth-child(5){left:37%;bottom:42%;height:30px;animation-delay:-4s}.footer-grass i:nth-child(6){left:62%;bottom:46%;height:35px;animation-delay:-2.6s}@keyframes idle-breathe{0%,35%,100%{background-position:0 0;transform:rotate(-1deg) scale(1)}42%,63%{background-position:50% 0;transform:rotate(2deg) scale(1.015,.99)}70%,90%{background-position:0 0;transform:rotate(0deg) scale(.99,1.015)}}@keyframes grass-sway{from{transform:rotate(-7deg)}to{transform:rotate(9deg)}}@keyframes footer-breeze{from{transform:scale(1.025) translateX(-.25%)}to{transform:scale(1.025) translateX(.25%)}}@media(max-width:600px){.game-grid{row-gap:52px}.game-card:nth-child(even){padding-top:0}.game-stats{margin-top:20px}.game-stat dd{font-size:27px}.game-stat dt{font-size:9px}.portfolio-more{margin-top:55px;padding:22px;gap:19px;flex-wrap:wrap;border-radius:14px}.hidden-art{width:64px;height:47px}.portfolio-more>p{gap:8px}.portfolio-more>p strong{font-size:35px}.portfolio-more>p span{font-size:16px}.portfolio-more .game-stats{width:100%;border-top:1px solid #cdd0b6;padding-top:20px;margin-top:3px;gap:35px}.stats-status{margin-top:14px;font-size:8px}.games{padding-bottom:70px}.meadow-footer{height:72svh;min-height:480px;padding:0 7vw 60px}.meadow-footer>p{font-size:25px;margin-bottom:25px}.footer-wordmark{font-size:20vw}.footer-bottom{margin-top:27px;font-size:10px;gap:12px}.footer-bottom small{font-size:8px}.footer-companion{top:22%;width:62px;height:62px;left:calc(50% - 31px)}.footer-landscape{background-position:50% 50%}}
.world-runway{background:transparent}.messages-icon{font-size:0}.messages-icon::before{content:'';width:24px;height:18px;border-radius:50%;background:white}.messages-icon::after{left:9px;bottom:9px;width:8px;height:7px}.notification{box-shadow:0 16px 48px #0006,0 1px 0 #ffffffa0 inset}.noise-item.phone{box-shadow:0 30px 65px #0009,0 0 0 1px #ffffff45 inset}.noise-item .island{box-shadow:0 0 0 1px #1b1b1b}.game-image{aspect-ratio:16/10}.game-card:nth-child(3) .game-image{transform:rotate(-1deg)}.game-card:nth-child(4) .game-image{transform:rotate(1.5deg)}@media(max-width:600px){.messages-icon::before{width:19px;height:15px}.messages-icon::after{left:6px;bottom:7px;width:7px;height:5px}.game-image{aspect-ratio:1.35}.meadow h2{font-size:13.5vw}.peg-hint{left:6vw!important;top:72svh!important;font-size:15px}}
.peg:not(.held):not(.riding) .peg-sprite,.footer-companion .peg-sprite{animation:idle-breathing 5.8s ease-in-out infinite,idle-poses 5.8s steps(1,end) infinite}@keyframes idle-breathing{0%,35%,100%{transform:rotate(-1deg) scale(1)}42%,63%{transform:rotate(2deg) scale(1.015,.99)}70%,90%{transform:rotate(0deg) scale(.99,1.015)}}@keyframes idle-poses{0%,65%,100%{background-position:0 0}40%{background-position:50% 0}}
.world-stage{overflow:clip}.meadow-footer{height:100svh}.footer-companion{top:auto;bottom:calc(17.34vw + 101px);left:calc(47% - 36px)}@media(max-width:600px){.meadow-footer{height:90svh;min-height:580px}.footer-companion{top:auto;bottom:calc(17vw + 122px);left:calc(47% - 31px)}}

.footer-companion{left:calc(81% - 36px)}.footer-grass i{bottom:12%}.footer-grass i:nth-child(2){bottom:15%}.footer-grass i:nth-child(3){bottom:11%}.footer-grass i:nth-child(4){bottom:14%}.footer-grass i:nth-child(5){bottom:9%}.footer-grass i:nth-child(6){bottom:17%}@media(max-width:600px){.footer-landscape{background-position:8% 50%}.footer-companion{left:calc(81% - 31px)}}
/* A small seated companion belongs to the second O, so the bench stays aligned at every size. */
.noise-stage{background:#080a09}
.footer-seated{top:.43em!important}@media(max-width:600px){.footer-seated{top:.387em!important}}
.mission-window::before{content:'move';visibility:hidden}.mission-window{margin:0!important;vertical-align:baseline!important}
.meadow-life{position:absolute;inset:0;z-index:1;pointer-events:none}.creature{display:block;background-image:url('./assets/woodland-creatures.webp');background-size:300% 200%;width:70px;height:70px;background-repeat:no-repeat;animation-play-state:paused!important}.meadow-bird{position:absolute;left:3%;top:14%;animation:bird-flight 34s linear infinite;animation-play-state:paused}.meadow-bird .creature{width:54px;height:54px;animation:bird-wings .9s steps(1,end) infinite;background-position:0 0}.meadow-rabbit{position:absolute;left:24%;bottom:17%;animation:rabbit-ears 11s steps(1,end) infinite;background-position:0 100%;width:66px;height:66px}.is-alive .meadow-bird,.is-alive .creature{animation-play-state:running!important}@keyframes bird-wings{0%,100%{background-position:0 0}25%,75%{background-position:50% 0}50%{background-position:100% 0}}@keyframes bird-flight{0%,12%{transform:translate3d(-12vw,4vh,0);opacity:0}14%{opacity:1}35%{transform:translate3d(38vw,-3vh,0)}58%{transform:translate3d(90vw,2vh,0);opacity:1}65%,100%{transform:translate3d(105vw,4vh,0);opacity:0}}@keyframes rabbit-ears{0%,42%,100%{background-position:0 100%}46%,54%{background-position:50% 100%}66%,88%{background-position:100% 100%}}@media(max-width:600px){.meadow-rabbit{left:20%;bottom:17%;width:48px;height:48px}.meadow-bird .creature{width:38px;height:38px}}@media(prefers-reduced-motion:reduce){.meadow-bird{left:80%;top:16%}}
.mission-line{white-space:nowrap;display:inline-flex;align-items:baseline;gap:.18em}.mission-line em{display:inline-flex;align-items:baseline;gap:.14em}.mission-window{position:relative;display:inline-block;height:1.14em;overflow:clip;vertical-align:bottom;line-height:1.14;letter-spacing:-.07em;margin-top:-.08em;margin-bottom:-.18em;padding-right:.10em;box-sizing:content-box}.mission-reel{position:absolute;top:0;left:0;display:flex;flex-direction:column;align-items:flex-start;line-height:1.14;transform:translate3d(0,-2.28em,0);will-change:transform}.mission-reel>span{display:block;flex:none;height:1.14em;white-space:nowrap;padding-right:.08em}.meadow h2{font-size:clamp(60px,8.6vw,136px)}
.game-image{display:block;color:inherit}.game-image:focus-visible{outline:3px solid var(--red);outline-offset:8px}
.momentum{position:relative;padding:70px 7vw 35px;background:var(--cream);color:#283e2b;z-index:3}.momentum-inner{max-width:1180px;margin:auto}.momentum h2{font-size:clamp(42px,5.6vw,84px);font-weight:500;line-height:.99;letter-spacing:-.06em;margin:0 0 50px}.momentum h2 em{color:var(--red)}.studio-totals{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:28px;margin:0}.studio-totals dd{margin:0 0 9px;font:500 clamp(40px,5.5vw,80px)/1 'Space Grotesk',sans-serif;letter-spacing:-.07em;font-variant-numeric:tabular-nums}.studio-totals dt{font-size:12px;letter-spacing:.065em;text-transform:uppercase}.momentum-freshness{margin:20px 0 0;font-size:12px;color:#737a61}.motion-chart{margin:50px 0 0}.chart-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:12px;letter-spacing:.06em}.chart-heading>span:last-child{letter-spacing:0;font-variant-numeric:tabular-nums;color:#617056}.chart-surface{height:230px;position:relative;margin-top:12px;outline-offset:5px;cursor:crosshair}.activity-chart{width:100%;height:100%;overflow:visible}.chart-drawing{clip-path:inset(0 calc((1 - var(--chart-reveal,0))*100%) 0 0)}.activity-line{fill:none;stroke:var(--red);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.activity-area{fill:url('#activity-wash')}.chart-ceiling,.chart-zero{position:absolute;left:0;font-size:11px;color:#81856c;pointer-events:none}.chart-ceiling{top:3px}.chart-zero{bottom:12px}.chart-dates{display:flex;justify-content:space-between;padding-left:4%;padding-right:3%;font-size:12px;color:#697258}.motion-chart figcaption{font-size:12px;color:#737a61;margin-top:17px}.momentum a{color:inherit;text-underline-offset:3px}.share-source{margin-top:12px;font-size:11px;color:#737a61}.momentum a:focus-visible,.chart-surface:focus-visible{outline:2px solid #6a8650;outline-offset:4px}
.footer-foreground{position:absolute;inset:0;z-index:2;pointer-events:none;background:url('./assets/meadow-simple.webp') 50% 67%/cover;transform:scale(1.025);animation:footer-breeze 18s ease-in-out infinite alternate;clip-path:polygon(0 calc(var(--letter-bottom) - 90px),10% calc(var(--letter-bottom) - 75px),18% calc(var(--letter-bottom) - 65px),26% calc(var(--letter-bottom) - 42px),34% calc(var(--letter-bottom) - 17px),43% calc(var(--letter-bottom) - 12px),51% calc(var(--letter-bottom) + 14px),61% calc(var(--letter-bottom) + 20px),69% calc(var(--letter-bottom) + 8px),78% calc(var(--letter-bottom) - 13px),86% calc(var(--letter-bottom) - 36px),94% calc(var(--letter-bottom) - 60px),100% calc(var(--letter-bottom) - 75px),100% 100%,0 100%)}.footer-foreground::after{content:'';position:absolute;inset:0;background:linear-gradient(var(--cream),transparent 35%,#d4db9930)}.footer-bottom{position:relative;z-index:4}.footer-grass{z-index:3}.footer-wordmark{position:relative}
.slide-gateway{position:absolute;z-index:3;width:clamp(112px,11vw,164px);height:auto;transform:translate(-63%,-71%);pointer-events:none;filter:drop-shadow(0 7px 0 #32482b16)}
@media(max-width:600px){.meadow h2{font-size:12.3vw}.mission-line{gap:.15em}.momentum{padding:45px 9vw 25px}.momentum h2{font-size:12vw;margin-bottom:34px}.studio-totals{grid-template-columns:1fr 1fr;gap:28px 15px}.studio-totals dd{font-size:11.5vw}.studio-totals dt{font-size:10px;letter-spacing:.02em}.studio-totals>div:last-child{grid-column:1/-1;display:flex;align-items:baseline;gap:15px}.studio-totals>div:last-child dd{font-size:9vw;margin:0}.momentum-freshness{font-size:11px}.motion-chart{margin-top:32px}.chart-heading{align-items:flex-start;flex-direction:column;gap:7px;font-size:10px}.chart-surface{height:185px}.chart-dates,.motion-chart figcaption,.share-source{font-size:10px}.footer-foreground{background-position:8% 50%;clip-path:polygon(0 calc(var(--letter-bottom) - 22px),15% calc(var(--letter-bottom) - 18px),29% calc(var(--letter-bottom) - 7px),45% var(--letter-bottom),61% calc(var(--letter-bottom) + 8px),78% calc(var(--letter-bottom) - 2px),100% calc(var(--letter-bottom) - 20px),100% 100%,0 100%)}.slide-gateway{width:112px}}
@media(prefers-reduced-motion:reduce){.mission-reel{will-change:auto}.chart-drawing{clip-path:none}}
.footer-o{position:relative;display:inline-block}.footer-wordmark{white-space:nowrap}.footer-seated{position:absolute;width:.23em;height:.307em;left:51%;top:.49em;transform:translateX(-50%);overflow:visible;filter:drop-shadow(0 1px 1px #22332215)}.seated-leg{transform-box:view-box;animation:feet-dangle 3.4s ease-in-out infinite alternate}.seated-leg-left{transform-origin:39px 77px}.seated-leg-right{transform-origin:51px 78px;animation-delay:-1.8s}.seated-body{animation:seated-breathe 5s ease-in-out infinite;transform-origin:45px 77px}@keyframes feet-dangle{from{transform:rotate(-9deg)}to{transform:rotate(10deg)}}@keyframes seated-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-.9px)}}
/* Painted scenery travels at three depths while the slide remains on its own plane. */
.slide-valley{isolation:isolate;overflow:clip}.slide-valley::before,.slide-valley::after{display:none}.valley-layer{position:absolute;pointer-events:none;will-change:transform}.valley-far{inset:-25% -20% -10%;background:url('./assets/meadow-simple.webp') 50% 87%/cover;opacity:.42;mask-image:linear-gradient(transparent 8%,#000 40%,#000 80%,transparent);transform:translate3d(0,var(--far-drift,0px),0)}.valley-middle{left:-30%;top:36%;width:140%;height:90%;background:#9eb87c;border-radius:65% 90% 0 0;transform:translate3d(0,var(--mid-drift,0px),0) rotate(-8deg)}.valley-near{left:38%;top:68%;width:100%;height:95%;background:#849f65;border-radius:100% 65% 0 0;transform:translate3d(0,var(--near-drift,0px),0) rotate(12deg);opacity:.68}.valley-flower{will-change:transform}.flower-one{transform:translate3d(0,var(--mid-drift,0px),0) rotate(17deg)}.flower-two{transform:translate3d(0,var(--near-drift,0px),0) rotate(-10deg);font-size:100px}.flower-three{transform:translate3d(0,var(--far-drift,0px),0) rotate(8deg)}.valley-sprig{position:absolute;width:40px;height:145px;border-left:4px solid #648448;border-radius:100% 0 0;transform:translate3d(0,var(--near-drift,0px),0) rotate(-18deg);z-index:1}.valley-sprig::before,.valley-sprig::after{content:'';position:absolute;width:27px;height:13px;background:#769758;border-radius:0 90% 0 90%;left:-20px;top:42%;transform:rotate(25deg)}.valley-sprig::after{left:-3px;top:64%;transform:rotate(100deg)}.sprig-one{left:7%;top:69%}.sprig-two{right:7%;top:20%;height:100px;transform:translate3d(0,var(--mid-drift,0px),0) rotate(19deg)}@media(max-width:600px){.flower-two{font-size:70px}.valley-sprig{height:100px;width:25px}.footer-seated{width:.28em;height:.373em;top:.447em}}@media(prefers-reduced-motion:reduce){.valley-layer,.valley-flower{will-change:auto}.seated-leg,.seated-body{animation:none!important}}

/* The studio's momentum is a red interlude between the portfolio and the meadow. */
.momentum{margin:35px 22px 0;padding:76px max(5vw,24px) 42px;border-radius:48px;background:var(--red);color:var(--cream);overflow:hidden;isolation:isolate}.momentum-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:55px}.momentum .momentum-heading h2{margin:0;font-size:clamp(44px,5.5vw,86px);line-height:1;letter-spacing:-.07em;color:var(--cream)}.momentum .momentum-heading h2 em{color:var(--cream)}.market-orbit{flex:none;width:158px;height:158px;border:1px solid #fff6dc60;outline:1px solid #fff6dc20;outline-offset:9px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;transform:rotate(7deg)}.market-orbit strong{font:500 43px/1 'Space Grotesk',sans-serif;letter-spacing:-.065em}.market-orbit span{text-align:center;font-size:11px;line-height:1.3}.momentum .studio-totals{grid-template-columns:1fr 1fr 1fr;align-items:center;gap:22px;padding:10px 2px 15px}.momentum .studio-totals>div{height:205px;display:flex;flex-direction:column;justify-content:center;padding:28px;background:var(--cream);color:#243c2b;border-radius:24px;position:relative}.momentum .studio-totals>div:first-child{transform:rotate(-3deg);border-radius:24px 24px 60px 24px}.momentum .studio-totals>div:nth-child(2){transform:translateY(20px) rotate(2deg);border-radius:60px 24px 24px 24px}.momentum .studio-totals>div:last-child{transform:rotate(-2deg);border-radius:24px 60px 24px 24px}.momentum .studio-totals dd{font-size:clamp(42px,4.9vw,76px);letter-spacing:-.075em}.momentum .studio-totals dt{font-size:12px;letter-spacing:.04em}.momentum .studio-totals small{font-size:10px;margin-top:8px;opacity:.65}.momentum .momentum-freshness{color:#fff6dcba;margin-top:30px}.momentum .motion-chart{margin-top:35px}.momentum .chart-heading>span:last-child,.momentum .chart-ceiling,.momentum .chart-zero,.momentum .chart-dates,.momentum .motion-chart figcaption,.momentum .share-source{color:#fff6dcbb}.momentum .activity-line{stroke:var(--cream);stroke-width:3}.momentum .chart-surface{height:205px}.momentum a:focus-visible,.momentum .chart-surface:focus-visible{outline-color:var(--cream)}
@media(max-width:800px){.momentum{margin:25px 12px 0;padding:50px 6vw 35px;border-radius:32px}.momentum-heading{gap:18px;margin-bottom:30px}.momentum .momentum-heading h2{font-size:6.2vw}.market-orbit{width:110px;height:110px;outline-offset:6px}.market-orbit strong{font-size:32px}.market-orbit span{font-size:9px}.momentum .studio-totals{gap:13px}.momentum .studio-totals>div{height:155px;padding:20px 14px}.momentum .studio-totals dd{font-size:5.4vw}.momentum .studio-totals dt{font-size:10px}.momentum .studio-totals small{font-size:9px}}
@media(max-width:600px){.momentum .momentum-heading{align-items:flex-start}.momentum .momentum-heading h2{font-size:9.6vw;line-height:1.04;max-width:65%}.market-orbit{width:78px;height:78px;margin-top:9px;outline-offset:4px;transform:rotate(7deg)}.market-orbit strong{font-size:24px}.market-orbit span{font-size:8px}.momentum .studio-totals{grid-template-columns:1fr 1fr;gap:18px 14px}.momentum .studio-totals>div{height:133px;padding:20px 16px;border-radius:19px!important}.momentum .studio-totals>div:nth-child(2){transform:translateY(18px) rotate(3deg)}.momentum .studio-totals>div:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;height:102px;transform:rotate(-1deg);align-content:center;align-items:center;gap:5px 12px;margin-top:7px}.momentum .studio-totals>div:last-child dd{grid-row:1/3;margin:0;font-size:11vw}.momentum .studio-totals>div:last-child small{margin:0;font-size:9px}.momentum .studio-totals dd{font-size:9.8vw}.momentum .studio-totals dt{font-size:10px;line-height:1.3}.momentum .momentum-freshness{margin-top:15px;font-size:10px}.momentum .chart-surface{height:160px}.momentum .chart-heading{font-size:10px}.momentum .motion-chart{margin-top:30px}}

.mission-reel{width:100%;align-items:center}.mission-window::before{content:"restore"}

.footer-seated{top:.43em!important}.seated-leg{animation:cartoon-feet 2s ease-in-out infinite alternate}.seated-leg-right{animation-delay:-2s}.seated-body{animation:seated-breathe 4s ease-in-out infinite}@keyframes cartoon-feet{from{transform:rotate(-24deg) scaleY(.78)}to{transform:rotate(25deg) scaleY(1)}}@media(max-width:600px){.footer-seated{top:.387em!important}}

.footer-foreground{animation:none;transform:translate3d(0,var(--footer-drift,0px),0) scale(1.025);will-change:transform}.seated-leg-left{transform-origin:66px 79px}.seated-leg-right{transform-origin:57px 81px}.footer-seated{left:49%}@media(prefers-reduced-motion:reduce){.footer-foreground{will-change:auto}}

.count-visual{display:inline-flex;align-items:baseline;line-height:1;letter-spacing:-.065em}.count-digit{display:inline-block;height:1em;width:.56em;overflow:clip;position:relative;letter-spacing:0}.count-track{display:flex;flex-direction:column;position:absolute;inset:0 auto auto 0;width:100%}.count-track>span{height:1em;line-height:1;flex:none;text-align:center}.count-mark{letter-spacing:-.04em}
.momentum .studio-totals>div{color:#151613}.meadow-rabbit{left:5%;bottom:calc(18% - 12px)}@media(max-width:600px){.meadow-rabbit{left:6%;bottom:calc(18% - 8px)}}
.footer-i{display:inline-block;margin-left:.026em}.stat-roll{display:inline-block;height:1.15em;overflow:hidden;vertical-align:bottom}.stat-roll-track{display:flex;flex-direction:column;line-height:1.15}.stat-roll-track>span{display:block;height:1.15em;white-space:nowrap}
.peg.held{transform-origin:50% 15.5%}.peg.held .peg-sprite{transform-origin:50% 15.5%}.stat-roll-track>div{display:block;height:1.15em;white-space:nowrap}

.footer-seated{opacity:0;transition:opacity .2s}.companion-seated .footer-seated{opacity:1}.footer-pickup{position:absolute;left:92%;bottom:13%;width:86px;height:86px;padding:0;border:0;border-radius:50%;background:transparent;z-index:5;cursor:grab;touch-action:none;transform:translateX(-50%);transform-origin:50% 15.5%;outline-offset:2px}.footer-pickup:not(.held):not(.is-seated) .peg-sprite{animation:idle-breathing 5.8s ease-in-out infinite,idle-poses 5.8s steps(1,end) infinite}.footer-pickup.held{cursor:grabbing}.footer-pickup.held .peg-sprite{background-position:100% 0;transform-origin:50% 15.5%;animation:pickup .34s ease-out}.footer-pickup.is-seated .peg-sprite{visibility:hidden}.footer-pickup:focus-visible{outline:2px dashed #526345}@media(max-width:600px){.footer-pickup{width:65px;height:65px;left:89%;bottom:14%}}@media(prefers-reduced-motion:reduce){.footer-pickup .peg-sprite{animation:none!important}}
.footer-foreground{filter:saturate(1.12) brightness(.94)}.footer-foreground::after{background:linear-gradient(transparent 35%,#829d4828)}

.count-visual{align-items:flex-start;line-height:1.24}.count-digit{height:1.24em;width:.58em}.count-track>span{height:1.24em;line-height:1.24}.count-mark{display:block;height:1.24em;line-height:1.24}.momentum .studio-totals dd[data-digits="6"]{font-size:clamp(34px,4.3vw,66px)}@media(max-width:600px){.momentum .studio-totals>div:last-child dd[data-digits="6"]{font-size:8.8vw}}

/* A seated hip and fixed thighs; only the lower legs swing from their knees. */
.footer-seated{width:.235em;height:.3133em;left:49%;filter:drop-shadow(0 1px .6px #22332212)}
.seated-character{transform-box:view-box;transform-origin:38px 81px}
.seated-leg{transform-box:view-box;animation:resting-pendulum 3.2s cubic-bezier(.37,0,.63,1) infinite;animation-play-state:paused}
.seated-leg-far{transform-origin:63px 80px;--swing-back:-19deg;--swing-forward:22deg;animation-delay:-1.6s}
.seated-leg-near{transform-origin:53px 83px;--swing-back:-23deg;--swing-forward:26deg}
.seated-upper{transform-box:view-box;transform-origin:38px 79px;animation:resting-breath 4.8s ease-in-out infinite;animation-play-state:paused}
.seated-head{transform-box:view-box;transform-origin:40px 43px;animation:resting-head 6.4s ease-in-out infinite;animation-play-state:paused}
.companion-seated.footer-awake .seated-leg,.companion-seated.footer-awake .seated-upper,.companion-seated.footer-awake .seated-head{animation-play-state:running}
.companion-seated .seated-character{animation:settle-into-seat .48s ease-out both}
@keyframes resting-pendulum{0%,100%{transform:rotate(var(--swing-back))}50%{transform:rotate(var(--swing-forward))}}
@keyframes resting-breath{0%,100%{transform:rotate(-.6deg)}50%{transform:rotate(.6deg)}}
@keyframes resting-head{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(1.5deg)}}
@keyframes settle-into-seat{0%{transform:translateY(-5px) rotate(-3deg)}55%{transform:translateY(1px) rotate(1deg)}100%{transform:translateY(0) rotate(0)}}
@media(max-width:600px){.footer-seated{width:.28em;height:.3733em}}
/* Both poses share a bounded device scale. Match their head sizes despite the
   sprite and SVG having different internal padding, then anchor the seated hip
   to the O's inner curve rather than positioning the top of the illustration. */
.meadow-footer{--footer-character-size:clamp(52px,calc(34px + 3.2vw),104px)}
.meadow-footer .footer-pickup{width:var(--footer-character-size);height:var(--footer-character-size)}
.meadow-footer .footer-seated{width:calc(var(--footer-character-size)*.8);height:calc(var(--footer-character-size)*1.0666667);top:calc(.64em - var(--footer-character-size)*.72)!important}
@media(prefers-reduced-motion:reduce){.seated-character,.seated-leg,.seated-upper,.seated-head{animation:none!important}}/* Comfortable touch target, with room above the footer credits. */
.sound-switch{min-height:44px;font-size:11px}
body[data-scene="footer"] .sound-switch{bottom:66px}

.footer-grass{translate:0 var(--footer-drift,0px)}
.restart-experience{pointer-events:auto;border:0;background:none;color:inherit;font:500 14px 'DM Sans',Arial,sans-serif;padding:0;min-height:44px;cursor:pointer;text-underline-offset:4px}
.restart-experience:hover{text-decoration:underline}
.restart-experience:focus-visible{outline:2px solid currentColor;outline-offset:6px;border-radius:2px}
@media(max-width:600px){.restart-experience{font-size:12px}}
.market-orbit{position:relative;border:0;outline:0}
.market-orbit::before,.market-orbit::after{content:'';position:absolute;inset:0;border:1px solid #fff6dc60;border-radius:50%;pointer-events:none;animation:orbit-breathe 7s ease-in-out infinite}
.market-orbit::after{inset:-10px;border-color:#fff6dc30;animation-delay:-3.5s}
@keyframes orbit-breathe{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.025);opacity:1}}
@media(prefers-reduced-motion:reduce){.market-orbit::before,.market-orbit::after{animation:none}}
.game-image{aspect-ratio:16/9;transition:translate .26s cubic-bezier(.2,.7,.2,1),scale .26s cubic-bezier(.2,.7,.2,1),box-shadow .26s ease}
.game-image img{object-fit:contain}
.game-card:hover .game-image img{transform:none}
@media(hover:hover) and (pointer:fine){.game-card:hover .game-image{translate:0 -4px;scale:1.012;box-shadow:0 22px 38px #26441b26}}
.game-image:focus-visible{translate:0 -4px;box-shadow:0 22px 38px #26441b26}
@media(prefers-reduced-motion:reduce){.game-card:hover .game-image,.game-image:focus-visible{translate:none;scale:none}}

/* Give each rolling digit its own clipping layer, including in mobile Safari. */
.count-visual{white-space:nowrap;max-width:100%}
.count-digit{flex:0 0 .58em;overflow:hidden;clip-path:inset(0);isolation:isolate}
.count-mark{flex:none}

/* Compact game library, using each game's original square icon. */
.game-grid{max-width:none;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px clamp(24px,1.6vw,40px)}
.games .portfolio-more,.games .stats-status{max-width:none}
.game-card{color:inherit;text-decoration:none;cursor:pointer}
.game-card:focus-visible{outline:3px solid var(--red);outline-offset:8px;border-radius:20px}
.game-card:nth-child(n){padding-top:0;display:flex;flex-direction:column}
.game-image{aspect-ratio:1;border-radius:20px;flex:none}
.game-card:nth-child(n) .game-image{transform:rotate(-.8deg)}
.game-card:nth-child(2n) .game-image{transform:rotate(.8deg)}
.game-caption{display:block;margin:16px 0 14px}
.game-caption h3{font-size:clamp(21px,2.1vw,30px);line-height:1.2;letter-spacing:-.045em;overflow-wrap:anywhere}
.game-caption>span{display:none}
.game-card .game-stats{margin: auto 0 0;padding-top:12px;gap:10px;justify-content:space-between}
.game-card .game-stat{min-width:0;gap:5px}
.game-card .game-stat dd{font-size:clamp(19px,1.9vw,26px)}
.game-card .game-stat dt{font-size:10px;letter-spacing:.02em}
@media(min-width:701px) and (max-width:1050px){.game-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px}}
@media(max-width:700px){
  .games{padding-inline:22px}
  .game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}
  .game-image{border-radius:15px}
  .game-caption{margin:13px 0 12px}
  .game-caption h3{font-size:clamp(19px,4.9vw,26px);line-height:1.2}
  .game-card .game-stats{gap:8px;padding-top:10px;flex-wrap:wrap}
  .game-card .game-stat dd{font-size:clamp(18px,4.6vw,24px)}
  .game-card .game-stat dt{font-size:10px;line-height:1.4;letter-spacing:0}
}

/* Keep scene geometry steady while mobile browser chrome changes height.
   The outer stage still fills the live viewport, so there is no bottom strip. */
html.direct-scroll{overscroll-behavior-y:none;overflow-anchor:none}
.direct-scroll .noise{height:calc(var(--scene-height)*2.9);margin-bottom:calc(var(--scene-height)*-1)}
.direct-scroll .world-stage{height:100vh;height:100dvh;background:var(--cream)}
.direct-scroll .noise-stage{height:100vh;height:100dvh;min-height:0}
.direct-scroll .meadow{height:var(--scene-height)}
.direct-scroll .slide-valley{height:calc(var(--scene-height)*.8)}
.direct-scroll .games{min-height:var(--scene-height)}
.direct-scroll .meadow-footer{height:var(--scene-height);min-height:max(580px,var(--scene-height))}
.direct-scroll .world-canvas{overflow-anchor:none}
.direct-scroll .momentum .chart-surface{touch-action:pan-y pinch-zoom}
@media(max-width:600px){
 .direct-scroll .noise{height:calc(var(--scene-height)*2.7)}
 .direct-scroll .peg-hint{top:calc(var(--scene-height)*.72)!important}
}
@media(prefers-reduced-motion:reduce){.direct-scroll .noise{height:calc(var(--scene-height)*1.8)}}

/* Live players lead each game; lifetime visits stay easy to find but quieter. */
.game-card .game-stats{flex-direction:column;align-items:flex-start;gap:14px}
.game-card .game-stat{width:100%;flex-direction:column;align-items:flex-start;gap:5px}
.game-card .game-stat dd{max-width:100%;font-size:clamp(20px,1.6vw,24px);line-height:1.24;letter-spacing:-.035em;color:var(--ink);white-space:nowrap}
.game-card .game-stat dt{font-size:12px;line-height:1.4;letter-spacing:.025em;color:#4f5947;white-space:normal}
.game-card .game-stat.active{flex-direction:column;align-items:flex-start;gap:5px}
.game-card .game-stat.active dd{font-size:clamp(28px,2.7vw,38px);letter-spacing:-.055em;color:#2d5838}
.game-card .game-stat.active dt{font-size:12px;color:#496044}
@media(max-width:700px){.game-card .game-stat.active dd{font-size:clamp(27px,7.2vw,35px)}}
@media(max-width:600px){
  /* Fill the visible screen as the browser's address bar expands or retracts. */
  .world-stage,.noise-stage{height:100vh;height:100dvh}
  .meadow-footer{min-height:100vh;min-height:100dvh}
  body.in-world{background:var(--cream)}
  .identity{top:0;left:0;right:0;padding:10px 20px;min-height:64px;background:#111718ed;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
  .identity .logo{width:62px;height:34px}
  .identity .logo img{width:62px;height:62px;transform:translateY(-14px)}
  body.in-world .identity{background:#fff5d9ed}
  body[data-scene="momentum"] .identity{background:#f42127ed;color:var(--cream)}
  .sound-switch,body[data-scene="footer"] .sound-switch{top:10px;bottom:auto;right:100px;padding:10px 14px;min-width:44px;justify-content:center;opacity:.8}
  .sound-switch #sound-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  body[data-scene="momentum"] .sound-switch{color:var(--cream)}
  .momentum{margin:20px 0 0;padding:90px 24px 40px;border-radius:28px}
  .momentum .momentum-heading{gap:18px;margin-bottom:28px;align-items:center}
  .momentum .momentum-heading h2{flex:1;min-width:0;max-width:none;font-size:clamp(30px,9vw,48px);line-height:1.06;letter-spacing:-.065em}
  .momentum .momentum-heading h2 br{display:none}
  .market-orbit{width:70px;height:70px;margin:0 4px 0 0;gap:4px}
  .market-orbit::after{inset:-6px}
  .market-orbit strong{font-size:23px}
  .market-orbit span{font-size:9px}
  .momentum .studio-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;padding:6px 0 10px;align-items:stretch}
  .momentum .studio-totals>div{min-width:0;height:auto;min-height:132px;padding:18px 15px;gap:8px}
  .momentum .studio-totals>div:first-child{transform:rotate(-2deg)}
  .momentum .studio-totals>div:nth-child(2){transform:translateY(7px) rotate(2deg)}
  .momentum .studio-totals dd{font-size:clamp(27px,8.5vw,47px);line-height:1.24;margin:0;white-space:nowrap}
  .momentum .studio-totals dt{font-size:11px;line-height:1.35;letter-spacing:.025em}
  .momentum .studio-totals>div:last-child{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-height:150px;height:auto;margin-top:3px;padding:20px 22px;transform:rotate(-1deg)}
  .momentum .studio-totals>div:last-child dd,.momentum .studio-totals>div:last-child dd[data-digits="6"]{font-size:clamp(40px,12vw,64px);grid-row:auto}
  .momentum .studio-totals>div:last-child small{font-size:11px;line-height:1.5;margin-top:0}
  .momentum .momentum-freshness{font-size:12px;line-height:1.5;margin-top:18px}
  .momentum .motion-chart{margin-top:30px}
  .momentum .chart-heading{font-size:11px;gap:8px;line-height:1.5}
  .momentum .chart-heading>span:last-child{font-size:12px}
  .momentum .chart-surface{height:190px;margin-top:16px;touch-action:pan-y}
  .momentum .chart-dates,.momentum .motion-chart figcaption,.momentum .share-source{font-size:11px;line-height:1.6}
}

/* Keep work local to the scene that is actually visible. */
.peg{left:0;top:0}
.peg.is-offscreen .peg-sprite,
.meadow-footer:not(.footer-awake) .footer-landscape,
.meadow-footer:not(.footer-awake) .footer-grass i,
.meadow-footer:not(.footer-awake) .footer-pickup .peg-sprite,
.momentum:not(.momentum-awake) .market-orbit::before,
.momentum:not(.momentum-awake) .market-orbit::after{animation-play-state:paused}
.phone video[hidden]{display:none}
.identity .logo.restart-experience{min-height:0;flex:none;overflow:visible}
.identity .logo.restart-experience img{clip-path:inset(22% 0 23%)}
.identity .logo.restart-experience:focus-visible{outline-offset:7px}
.chart-middle{position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:11px;color:#fff6dcbb;pointer-events:none}
.chart-dates{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center}
.chart-dates span:nth-child(2){text-align:center}
.chart-dates span:last-child{text-align:right}
/* A readable selection at every chart size; screen-space dots stay circular. */
.chart-selection{position:absolute;inset:0;pointer-events:none}
.chart-selection[hidden]{display:none}
.chart-selection-band{position:absolute;left:var(--selected-x);top:4%;bottom:7.2%;width:clamp(32px,4%,48px);transform:translateX(-50%);background:#740e193d;border-radius:7px;z-index:-1}
.chart-selection-guide{position:absolute;left:var(--selected-x);top:4%;bottom:7.2%;width:1px;transform:translateX(-50%);background:#fff5d999}
.chart-selection-point{position:absolute;left:var(--selected-x);top:var(--selected-y);width:14px;height:14px;transform:translate(-50%,-50%);border-radius:50%;background:var(--cream);border:3px solid #861d24;box-shadow:0 0 0 5px #fff5d942}
.chart-selection-date{position:absolute;left:clamp(52px,var(--selected-x),calc(100% - 52px));bottom:-20px;transform:translateX(-50%);padding:5px 10px;border-radius:7px;background:var(--cream);color:#6e1820;font-size:12px;line-height:1.25;font-weight:600;white-space:nowrap;box-shadow:0 2px 6px #7b121426}
.chart-surface[data-ready="true"]+.chart-dates{margin-top:30px}
.chart-surface{isolation:isolate}
.chart-ceiling,.chart-middle,.chart-zero{z-index:1}
@media(max-width:600px){
 .scroll-hint{left:50%;transform:translateX(-50%);bottom:max(35px,env(safe-area-inset-bottom));font-size:12px;font-weight:600;letter-spacing:.13em;gap:12px;color:var(--cream);white-space:nowrap}
 .scroll-hint i{font-size:28px}
}
@media(prefers-reduced-motion:reduce){.phone video.gameplay-loop{visibility:visible}}

.meadow-rabbit{border:0;padding:0;background-color:transparent;appearance:none;pointer-events:auto;cursor:pointer;overflow:visible;transform-origin:50% 86%;touch-action:manipulation}
.meadow-rabbit:focus-visible{outline:2px dashed #3d5941;outline-offset:4px;border-radius:50%}
.bunny-heart{position:absolute;top:-3px;left:50%;font:20px/1 Georgia,serif;color:#ed5344;pointer-events:none;transform:translateX(-50%)}
.bird-rider{position:absolute;left:50%;top:45%;width:44px;height:59px;transform:translate(-50%,-65%) rotate(7deg);overflow:visible;pointer-events:none}
.bird-rider .seated-leg,.bird-rider .seated-upper,.bird-rider .seated-head{animation:none}
@media(max-width:600px){.bird-rider{width:34px;height:45px}.bunny-heart{font-size:17px}}

/* Contextual guidance for the opening story, never an always-on browse prompt. */
.scroll-hint{position:fixed;left:4vw;bottom:max(30px,env(safe-area-inset-bottom));transform:none;z-index:45;pointer-events:none;color:var(--cream);transition:opacity .2s,color .2s;text-shadow:0 1px 8px #11171855}
.scroll-hint[data-tone="dark"]{color:#283e2b;text-shadow:0 1px 8px #fff5d966}
.scroll-hint[data-tone="light"]{color:var(--cream);text-shadow:0 1px 8px #11171855}
.scroll-hint[aria-hidden="true"] i{animation-play-state:paused}
@media(max-width:600px){.scroll-hint{left:22px;bottom:max(30px,env(safe-area-inset-bottom));font-size:12px}}
@media(prefers-reduced-motion:reduce){.scroll-hint{transition:none}}
