
:root{--ink:#20382c;--green:#205f45;--deep:#164533;--cream:#f6f8ee;--lime:#dceea9;--line:#d9e3d6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Helvetica Neue',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #df9c4a;outline-offset:4px}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);background:#fff;position:relative;z-index:2}.brand{font-size:20px;letter-spacing:-.06em;font-weight:500;display:flex;align-items:center;gap:10px}.brand b{font-weight:800}.brand-mark{display:grid;place-items:center;background:var(--green);color:#fff;width:32px;height:32px;border-radius:11px;font-size:26px}.site-header nav{display:flex;gap:36px;font-size:13px;font-weight:700}.site-header nav a:hover,.footer-bottom a:hover{color:#6c9e38}.lang{border:1px solid #c5d1c8;background:white;padding:9px 14px;border-radius:40px;font-weight:700;font-size:12px}.lang span{margin-left:13px}.hero{position:relative;min-height:635px;background:#dfe9c8;overflow:hidden}.hero-art{position:absolute;inset:0;background:linear-gradient(90deg,rgba(221,239,207,.95) 0%,rgba(221,239,207,.92) 38%,rgba(221,239,207,.45) 68%,rgba(221,239,207,.1) 100%),url('assets/forest.webp') center 54%/cover no-repeat;opacity:.92}.hero-inner{position:relative;max-width:1320px;margin:auto;min-height:575px;padding:82px 6vw;display:grid;grid-template-columns:1.25fr .75fr;align-items:center}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.17em;color:#296c4b;margin:0 0 25px}.eyebrow.dark{color:#4e7854}.hero h1{font-size:clamp(44px,5.1vw,82px);line-height:1.18;letter-spacing:-.075em;margin:0;font-weight:800}.hero h1 em{font-style:normal;color:var(--green)}.hero-desc{font-size:16px;line-height:1.9;max-width:500px;margin:28px 0 37px;color:#476153;word-break:keep-all}.hero-actions{display:flex;align-items:center;gap:24px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;border-radius:30px;padding:15px 23px;font-size:13px;font-weight:800;transition:transform .2s}.button:hover{transform:translateY(-3px)}.button.primary{background:var(--deep);color:#fff}.button.light{background:#eaf4d9;color:var(--deep)}.slogan{font-size:12px;color:#4c705b;font-weight:700}.character-frame{position:relative;width:min(100%,450px);height:470px;justify-self:center;display:flex;align-items:center;justify-content:center}.character{width:100%;height:100%;background:url('assets/aigo.webp') left top/200% 200% no-repeat;filter:drop-shadow(0 22px 22px rgba(40,78,38,.23))}.character-tag{position:absolute;bottom:13px;right:-4px;background:#fff;padding:14px 18px;border-radius:100px;box-shadow:0 6px 20px #27503b26;font-size:10px;font-weight:800;letter-spacing:.1em;transform:rotate(-5deg)}.character-tag span{color:#eb9e42}.hero-foot{position:relative;border-top:1px solid #69957369;max-width:calc(1320px - 12vw);margin:auto;padding:17px 0;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.16em;font-weight:800;color:#64856c}.section{max-width:1280px;margin:auto;padding:108px 5vw}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.section h2,.support-band h2{font-size:clamp(32px,3.6vw,55px);letter-spacing:-.06em;line-height:1.22;margin:0;font-weight:800}.section-body{padding-top:45px}.section-body>p{font-size:17px;line-height:1.95;max-width:560px;margin:0;word-break:keep-all}.values{margin-top:34px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 25px;padding-top:22px;color:#64816b;font-size:12px;font-weight:700}.games-section{padding-top:55px}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.section-aside{color:#708473;font-size:13px}.game-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px}.game-card{border:1px solid var(--line);background:#fff;border-radius:26px;overflow:hidden}.game-art{height:310px;position:relative;overflow:hidden;background:#bad897}.game-art:before{content:"";position:absolute;inset:0;background:url('assets/forest.webp') center 62%/cover;filter:blur(2px);transform:scale(1.04)}.game-art img{position:relative;height:260px;display:block;margin:24px auto;box-shadow:0 15px 24px #173c3345;border-radius:18px}.game-art-label{position:absolute;left:24px;bottom:20px;color:#fff;font-size:10px;letter-spacing:.15em;font-weight:800;text-shadow:0 2px 8px #24402f}.soon-art{height:310px;background:#dbe5db;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.soon-art strong{font-size:clamp(40px,4.8vw,70px);line-height:.95;letter-spacing:-.06em;color:#54745e}.soon-lines{font-size:330px;line-height:1;position:absolute;color:#cbdcc9;left:-70px;top:-65px}.soon-symbol{position:absolute;right:30px;bottom:20px;font-size:50px;color:#83a98a}.game-info{padding:28px 30px 30px}.game-meta{display:flex;gap:12px;align-items:center;font-size:11px;color:#67806e;font-weight:700}.pill{background:#e4f0d9;color:#36694a;border-radius:50px;padding:7px 11px}.pill.subtle{background:#edf1ed}.game-info h3{font-size:28px;letter-spacing:-.05em;margin:18px 0 10px}.game-info p{color:#65776b;font-size:13px;line-height:1.8;min-height:50px;margin:0}.game-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding-top:20px;margin-top:25px;font-size:12px;color:#6b816f;font-weight:700}.game-bottom a{color:var(--green);font-weight:800}.news-section{padding-top:95px;padding-bottom:110px}.news-list{border-top:2px solid var(--ink)}.news-item{display:grid;grid-template-columns:180px 1fr 25px;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:26px 10px;font-size:12px;color:#67806d}.news-item strong{font-size:16px;color:var(--ink)}.news-item p{margin:7px 0 0;font-size:12px}.news-item>span:last-child{font-size:24px;color:var(--green)}.support-band{background:var(--deep);color:#fff;min-height:390px;padding:75px max(5vw,24px);display:flex;justify-content:space-between;overflow:hidden}.support-band>div:first-child{max-width:1200px}.support-band .eyebrow{color:#abd3a8}.support-band h2{font-size:clamp(32px,3.5vw,50px)}.support-band p:not(.eyebrow){color:#bed5c5;font-size:14px;margin:24px 0}.support-decoration{font-size:380px;line-height:1;color:#2d6049;transform:translate(8%,-18%)}footer{background:#f0f3e9;padding:55px max(5vw,24px) 30px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center}.footer-top{padding-bottom:50px}.footer-brand{font-size:34px;font-weight:800;letter-spacing:-.07em}.footer-brand span{font-size:29px;color:#6e9e67;margin-left:6px}.footer-top>span:last-child{font-size:13px;font-weight:700}.footer-bottom{border-top:1px solid var(--line);padding-top:23px;font-size:11px;color:#718675}.footer-bottom>div{display:flex;gap:25px}@media(max-width:800px){.site-header{height:70px;padding:0 20px}.site-header nav{gap:13px;font-size:11px}.brand{font-size:16px}.brand-mark{width:27px;height:27px}.hero-inner{grid-template-columns:1fr;padding:60px 25px 20px;min-height:0}.hero h1{font-size:clamp(40px,9vw,66px)}.hero-desc{font-size:14px}.character-frame{height:370px;width:360px;margin-top:15px}.hero-foot{margin:0 25px}.intro{grid-template-columns:1fr;gap:10px}.section{padding:75px 25px}.section-body{padding-top:15px}.game-grid{grid-template-columns:1fr}.soon-art{height:240px}.news-item{grid-template-columns:110px 1fr 18px}.support-decoration{display:none}}@media(max-width:540px){.site-header{flex-wrap:wrap;height:auto;padding:14px 18px;gap:14px}.site-header nav{order:3;width:100%;justify-content:space-between}.lang{padding:7px 10px}.hero-inner{padding-top:52px}.hero-actions{flex-wrap:wrap}.character-frame{width:min(90vw,330px);height:340px}.character-tag{right:0}.hero-foot{font-size:8px}.section h2{font-size:34px}.section-aside{display:none}.game-art{height:270px}.game-art img{height:220px}.game-info{padding:25px}.news-item{grid-template-columns:1fr 18px;gap:5px}.news-item>span:first-child{grid-column:1;font-size:10px}.news-item>div{grid-column:1}.news-item>span:last-child{grid-column:2;grid-row:1/3}.footer-top,.footer-bottom{align-items:flex-start;gap:15px;flex-direction:column}.footer-bottom>div{flex-wrap:wrap}}

.hero h1 em{font-size:1.08em;font-weight:900}

/* Keep each square quadrant of the original character sheet at its native ratio. */
.character-frame{height:auto;aspect-ratio:1}

/* Original game sprites: falling fruit, open mouth, then the smiling reaction. */
.character{animation:aigo-eats 24s steps(1,end) infinite,aigo-smile-motion 24s linear infinite}
.falling-fruits{position:absolute;left:0;right:0;top:-12%;bottom:0;overflow:hidden;pointer-events:none;--fruit-drop-end:305%;--fruit-swallow-end:310%}
.falling-fruit{position:absolute;left:54%;top:0;width:15%;aspect-ratio:1;background-image:url('assets/fruits.webp');background-size:200% 200%;background-repeat:no-repeat;opacity:0;filter:drop-shadow(0 7px 5px #34533150);animation-duration:24s;animation-timing-function:linear;animation-iteration-count:infinite}
.falling-fruit.strawberry{background-position:left top;animation-name:fruit-one}
.falling-fruit.grape{background-position:right top;animation-name:fruit-two}
.falling-fruit.banana{background-position:left bottom;animation-name:fruit-three}
@keyframes aigo-eats{0%,10.93%{background-image:url('assets/aigo.webp');background-position:right top}10.94%,13.41%{background-image:url('assets/aigo.webp');background-position:left bottom}13.42%,33.32%{background-image:url('assets/aigo.webp');background-position:left top}33.33%,44.26%{background-image:url('assets/aigo.webp');background-position:right top}44.27%,46.74%{background-image:url('assets/aigo.webp');background-position:left bottom}46.75%,66.66%{background-image:url('assets/aigo.webp');background-position:left top}66.67%,77.60%{background-image:url('assets/aigo.webp');background-position:right top}77.61%,80.08%{background-image:url('assets/aigo.webp');background-position:left bottom}80.09%,100%{background-image:url('assets/aigo.webp');background-position:left top}}
@keyframes aigo-smile-motion{0%,10.94%,12%,13.42%,44.27%,45.33%,46.75%,77.61%,78.67%,80.09%,100%{transform:translateY(0) scale(1)}11.5%,12.6%,44.83%,45.93%,78.17%,79.27%{transform:translateY(-8px) scale(1.035,.966)}}
@keyframes fruit-one{0%{opacity:0;transform:translate(-50%,-110%) rotate(-15deg)}.63%{opacity:1}10%{opacity:1;transform:translate(-50%,var(--fruit-drop-end)) rotate(15deg)}10.94%{opacity:0;transform:translate(-50%,var(--fruit-swallow-end)) scale(.2)}10.95%,100%{opacity:0}}
@keyframes fruit-two{0%,33.33%{opacity:0;transform:translate(-50%,-110%) rotate(12deg)}33.96%{opacity:1}43.33%{opacity:1;transform:translate(-50%,var(--fruit-drop-end)) rotate(-15deg)}44.27%{opacity:0;transform:translate(-50%,var(--fruit-swallow-end)) scale(.2)}44.28%,100%{opacity:0}}
@keyframes fruit-three{0%,66.67%{opacity:0;transform:translate(-50%,-110%) rotate(-10deg)}67.30%{opacity:1}76.67%{opacity:1;transform:translate(-50%,var(--fruit-drop-end)) rotate(10deg)}77.61%{opacity:0;transform:translate(-50%,var(--fruit-swallow-end)) scale(.2)}77.62%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.character,.falling-fruit{animation:none}.falling-fruits{display:none}}

.character{display:block;border:0;padding:0;cursor:pointer;transform-origin:50% 50%}
.character:hover{filter:drop-shadow(0 24px 24px rgba(40,78,38,.3))}
.character-frame.is-fallen .character{animation:aigo-fall 1.3s linear both;background-image:url('assets/aigo.webp');background-position:right bottom}
.character-frame.is-fallen .falling-fruits{visibility:hidden}
.oops-label{position:absolute;top:3%;right:-3%;padding:9px 16px;background:#fff;border-radius:100px;color:#b24d37;font-size:18px;font-weight:800;box-shadow:0 7px 18px #27503b26;opacity:0;transform:translateY(10px) rotate(8deg);transition:opacity .16s,transform .3s;pointer-events:none}
.character-frame.is-fallen .oops-label{opacity:1;transform:translateY(0) rotate(8deg)}
@media (prefers-reduced-motion:reduce){.character{transition:none}.oops-label{transition:none}}
.character-frame.is-fallen .character-tag{opacity:0}

/* Show the game's original forest canopy and bokeh more clearly in the hero. */
.hero-art{background:linear-gradient(90deg,rgba(239,247,221,.78) 0%,rgba(239,247,221,.62) 39%,rgba(239,247,221,.12) 68%,rgba(239,247,221,0) 100%),url('assets/forest.webp') center 15%/cover no-repeat;opacity:1}
@media(max-width:800px){.hero-art{background:linear-gradient(180deg,rgba(239,247,221,.55) 0%,rgba(239,247,221,.42) 43%,rgba(239,247,221,.04) 63%,rgba(239,247,221,0) 100%),url('assets/forest.webp') center 20%/cover no-repeat}}

@keyframes aigo-fall{0%{transform:translateY(0) rotate(0)}30%{transform:translateY(55px) rotate(-90deg)}72%{transform:translateY(16px) rotate(-90deg)}86%{transform:translateY(0) rotate(-45deg)}100%{transform:translateY(0) rotate(0)}}

@media(max-width:540px){.falling-fruits{top:-9%;--fruit-drop-end:285%;--fruit-swallow-end:290%}}

.character-frame{width:min(50%,225px)}
@media(max-width:540px){.character-frame{width:min(45vw,165px)}}

.character-tag{bottom:-20px;right:-12px;padding:7px 10px;font-size:8px}
.falling-fruits{top:-75%;--fruit-drop-end:725%;--fruit-swallow-end:730%}
@media(max-width:540px){.falling-fruits{top:-9%;--fruit-drop-end:285%;--fruit-swallow-end:290%}}

.aigo-motion{position:relative;width:100%;height:100%;animation:aigo-roam 24s linear infinite}
.falling-fruit.strawberry,.falling-fruit.banana{left:34%}
.falling-fruit.grape{left:74%}
.character-frame.is-fallen .aigo-motion{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.aigo-motion{animation:none}}

.falling-fruits{left:-50%;right:-50%}
.falling-fruit{width:7.5%}
.falling-fruit.strawberry,.falling-fruit.banana{left:29.5%}
.falling-fruit.grape{left:74.5%}
@keyframes aigo-roam{0%,13%{transform:translateX(-45%)}31%,47%{transform:translateX(45%)}64%,100%{transform:translateX(-45%)}}

.falling-fruit{width:12.3%}
.falling-fruits{--fruit-drop-end:423%;--fruit-swallow-end:427%}
@media(max-width:540px){.falling-fruits{--fruit-drop-end:154%;--fruit-swallow-end:158%}}

/* Restart the fruit, face, and roaming clocks together after a click reaction. */
.character-frame.is-restarting .character,.character-frame.is-restarting .aigo-motion,.character-frame.is-restarting .falling-fruit{animation:none!important}

.support-band .support-phone{margin:0 0 24px;font-weight:700}.support-phone a{color:#fff;text-decoration:underline;text-underline-offset:4px}

.brand-mark{display:block;width:32px;height:32px;background:none;border-radius:11px}
.header-controls{display:flex;align-items:center;gap:10px}
.music-toggle{width:36px;height:36px;padding:7px;border:1px solid #c5d1c8;border-radius:50%;background:#fff;color:var(--green);display:grid;place-items:center}
.music-toggle:hover{background:#f0f7ea}
.music-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.music-toggle .music-waves{display:none}
.music-toggle[aria-pressed="true"] .music-waves{display:block}
.music-toggle[aria-pressed="true"] .music-slash{display:none}
.music-toggle[aria-pressed="false"] .music-slash{display:block}
.soon-art strong{position:relative;z-index:1;text-align:center}
.footer-brand{display:flex;align-items:center;gap:10px}
.footer-brand img{width:34px;height:34px;flex:none}
@media(max-width:800px){
  .support-band{display:block;padding:64px 24px}
  .support-band>div:first-child{max-width:none}
  .support-band h2{max-width:250px;font-size:clamp(28px,7.5vw,36px);line-height:1.25;word-break:keep-all}
  .support-band .support-phone a{white-space:nowrap}
  .support-band .button{gap:12px}
}
