/* Flat petrol fields, neutral paper and yellow game actions. Purple belongs only to original mascot artwork. */
:root{--bg:#14292b;--surface:#214447;--ink:#fbfdfd;--muted:#d3e9ea;--accent:#ffcf57;--paper:#f1f8f8;--paper-ink:#1a3638;--pad:clamp(20px,4vw,64px)}
body{background:var(--surface)}::selection{background:#ffcf57;color:#1a3638}.header{background:#193335;min-height:90px}.header nav a{font-size:16px;font-weight:700;position:relative}.header nav a::after{content:'';position:absolute;height:3px;background:var(--accent);bottom:5px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .2s}.header nav a:hover::after{transform:scaleX(1)}.logo img{width:145px}.language-switch{padding:2px 5px;border-radius:30px;background:#2b585b}.language-link{padding:9px 12px;border-radius:24px}.language-link.active{background:#f1f8f8;color:#204245}.header-tools{gap:14px}.button{border-radius:18px;padding:18px 28px;box-shadow:0 6px 0 #0d1a1b,inset 0 2px 0 #ffffff50;transition:transform .2s,box-shadow .2s;position:relative;font-weight:900;overflow:hidden}.button.primary{background:var(--surface);color:#1b383a;box-shadow:0 6px 0 #b87528,0 14px 28px #060c0d38}.button.light{background:#f1f8f9;box-shadow:0 6px 0 #a1d0d3}.button.ink{background:#2a5659;box-shadow:0 6px 0 #14292b}.button:hover{transform:translateY(-4px);box-shadow:0 9px 0 #0c1818,0 17px 32px #0003}.button.primary:hover{box-shadow:0 9px 0 #b87528,0 17px 32px #0003}.button:active{transform:translateY(4px);box-shadow:0 2px 0 #0d1a1b}.button::after{content:'';position:absolute;top:-50%;left:-50%;height:200%;width:30%;background:var(--surface);transform:rotate(25deg);transition:translate .55s}.button:hover::after{translate:500% 0}.text-link{padding-block:8px;display:inline-block}.section{margin-top:120px}.section-heading{margin-bottom:45px}.section-heading h2{max-width:17ch}.section-heading>p{max-width:440px}.section-heading h2::after{content:'';display:block;margin-top:20px;width:70px;height:8px;border-radius:8px;background:#bedee1;transform:rotate(-4deg)}
.festival-hero{height:auto;min-height:730px;max-height:none;display:grid;grid-template-columns:1fr 1.15fr;grid-template-rows:1fr;align-items:center;gap:40px;padding:70px var(--pad) 90px;overflow:hidden;background:var(--surface);isolation:isolate}.festival-hero::after{content:'';position:absolute;width:140%;height:100px;bottom:-85px;left:-20%;background:var(--accent);transform:rotate(-3deg);z-index:-1}.hero-copy{z-index:2;max-width:650px}.hero-copy h1{font-size:clamp(48px,5.2vw,80px);letter-spacing:-.045em;line-height:1.1;text-wrap:initial;text-shadow:0 5px 0 #0e1d1e40}.hero-copy>p{font-size:20px;line-height:1.6;max-width:40ch;margin-top:30px}.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:34px}.hero-stage{position:relative;min-width:0;padding:18px;max-width:780px}.portal{position:relative;border-radius:46% 46% 36% 36%;padding:9px;background:var(--surface);box-shadow:0 0 70px #a0cfd250,0 25px 0 #0c191a44;transform:rotate(3deg);overflow:hidden}.rabbit-world{aspect-ratio:1.04;object-fit:cover;object-position:48% center;border-radius:inherit}.orbit{position:absolute;display:grid;place-items:center;width:76px;height:76px;font-size:48px;line-height:1;font-weight:900;border-radius:22px;box-shadow:0 7px 0 #0b161755;z-index:3;pointer-events:none}.orbit-one{left:0;top:7%;color:#264f52;background:#ffda66;transform:rotate(-13deg)}.orbit-two{right:0;top:23%;background:#fa91bd;color:#1c3a3d;transform:rotate(15deg)}.orbit-three{left:8%;bottom:7%;background:#9aede0;color:#193e42;transform:rotate(-9deg)}.stage-invite{position:absolute;right:2%;bottom:0;background:#f1f8f8;color:#204245;font-weight:900;font-size:20px;padding:18px 24px;border-radius:20px;box-shadow:0 7px 0 #81bfc4;transform:rotate(-5deg);transition:transform .25s}.stage-invite:hover{transform:rotate(0) translateY(-5px)}.stage-invite span{margin-left:16px}
.catalogue{position:relative}.game-feature,.game-feature.reverse{background:var(--surface);border-radius:32px;padding:32px;gap:42px;margin-top:55px;box-shadow:0 12px 0 #0c181855;grid-template-columns:1.45fr 1fr;overflow:hidden;position:relative}.game-feature.runner{background:var(--surface);outline:2px solid #97cace4d;outline-offset:-2px}.game-feature.reverse{grid-template-columns:1fr 1.45fr}.game-visual{border-radius:22px;box-shadow:0 12px 30px #0c181966;transition:transform .45s}.game-visual:hover{transform:translateY(-5px) rotate(-1deg)}.game-visual img{height:auto;aspect-ratio:auto;object-fit:contain}.game-story{padding:12px 0}.game-story h3{font-size:38px;line-height:1.15;margin-bottom:20px}.game-story>p{margin-bottom:24px}.game-story .platform{color:#d1e8e9}.install{padding:22px;border-radius:20px;background:#12242570;box-shadow:inset 0 1px 0 #ffffff20}.install ol{display:flex;gap:25px;flex-wrap:wrap;align-items:center}.install .button{font-size:16px}.install p{color:#eff7f7}.install h4{font-size:18px}
.shorts-section{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:70px;position:relative;background:var(--surface);padding-block:65px}.shorts-copy{max-width:650px}.shorts-copy h2{font-size:clamp(42px,5.4vw,78px);line-height:1.1;letter-spacing:-.04em;text-wrap:initial}.shorts-copy>p{font-size:20px;margin-top:28px;max-width:37ch}.shorts-copy>.text-link{margin-top:26px}.video-game-link{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:50px}.video-game-link>span{font-size:24px;font-weight:900}.shorts-device{justify-self:center;width:min(100%,355px);transform:rotate(3deg);border-radius:38px;background:#0b1616;padding:12px;box-shadow:0 0 0 3px #9eced1,18px 24px 0 #2f6064,0 35px 75px #070f1099}.video-slot{aspect-ratio:9/16;border-radius:28px;overflow:hidden;background:#0f1f20;position:relative}.video-slot iframe{width:100%;height:100%;border:0;display:block}.video-launch{width:100%;height:100%;padding:0;background:#0f1f20;color:white;position:relative;display:block}.video-launch img{width:100%;height:100%;object-fit:cover}.video-launch::after{content:'';position:absolute;inset:0;background:var(--surface)}.play-disc{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);display:grid;place-items:center;width:84px;height:84px;background:#ffcf57;color:#204245;border-radius:50%;font-size:30px;z-index:1;box-shadow:0 8px 0 #b98229;transition:scale .25s}.video-launch:hover .play-disc{scale:1.12}.video-caption{position:absolute;bottom:30px;left:20px;right:20px;font-size:24px;font-weight:900;line-height:1.25;text-align:left;z-index:1}.video-note{text-align:center;font-size:14px;margin:15px 0 6px;color:#d0e7e9}.shorts-device:has(iframe){transform:none}
.mini-fields{gap:24px}.mini{border-radius:30px;padding:40px;box-shadow:0 12px 0 #0b161755}.memory-teaser{background:var(--surface)}.math-teaser{background:var(--surface);color:#214244}.demo-memory span{border-radius:14px;box-shadow:0 7px 0 #12252655;background:#a7d2d5}.demo-memory span:nth-child(2n){background:#519196}.demo-answers span{border-radius:18px;background:#bddddf;box-shadow:0 6px 0 #91b4b6}.demo-answers span:first-child{background:#8fe0c3;box-shadow:0 6px 0 #51a58a}.rank-panel{border-radius:24px;background:#234749}.studio{background:var(--surface);border-radius:48px 48px 0 0;position:relative;overflow:hidden}.studio-body>img{border-radius:30px;box-shadow:12px 16px 0 #9eced1}.studio-body{gap:65px}.footer{background:var(--surface);padding-top:25px}.footer-word{color:#a0cfd2}.footer-bottom{color:#e0f0f1}.socials a{transition:translate .2s,color .2s}.socials a:hover{translate:6px 0;color:#ffcf57}.legal{background:#162d2e}.privacy-page{max-width:1080px}.privacy-page a{text-decoration:underline}.legal .footer{border-radius:35px 35px 0 0;background:#204244}.legal .section-heading::after{display:none}dialog{border-radius:28px;box-shadow:0 0 0 4px #94c9cd,0 25px 90px #0008}dialog .close{border-radius:50%}.memory-card,.answer-gate{border-radius:12px}dialog .button{box-shadow:0 4px 0 #0d1a1b}dialog .rank-result{border-radius:16px}
@media(prefers-reduced-motion:no-preference){.orbit-one{animation:float-one 4s ease-in-out infinite}.orbit-two{animation:float-two 5s ease-in-out infinite}.orbit-three{animation:float-one 4.7s ease-in-out infinite reverse}.rabbit-world{animation:world-breathe 10s ease-in-out infinite alternate}.hero-copy{animation:element-arrive .75s both}.hero-stage{animation:picture-arrive 1s both}.demo-memory span:nth-child(2){animation:card-hop 4s ease-in-out infinite}.demo-memory span:nth-child(5){animation:card-hop 4s 1s ease-in-out infinite}@keyframes float-one{50%{translate:0 -14px;rotate:8deg}}@keyframes float-two{50%{translate:-5px 15px;rotate:-10deg}}@keyframes world-breathe{to{transform:scale(1.045)}}@keyframes card-hop{0%,70%,100%{translate:0 0}85%{translate:0 -12px}}}
@media(max-width:1100px){.header nav{gap:20px}.header nav a{font-size:15px}.header{gap:15px}.logo img{width:120px}.festival-hero{min-height:660px;gap:20px;padding-block:50px 75px}.hero-copy h1{font-size:clamp(42px,5.5vw,60px)}.hero-copy>p{font-size:18px}.hero-actions{gap:20px}.hero-actions .button{font-size:16px;padding:17px 20px}.orbit{width:60px;height:60px;font-size:36px;border-radius:18px}.stage-invite{font-size:16px;padding:16px}.game-feature,.game-feature.reverse{grid-template-columns:1fr;gap:30px}.game-story{max-width:740px}.game-feature.reverse .game-visual{order:0}.game-story h3{font-size:36px}.shorts-section{gap:40px}.shorts-copy h2{font-size:48px}.shorts-copy>p{font-size:18px}.shorts-device{max-width:300px}.mini{padding:30px}.mini-copy h3{font-size:30px}.section{margin-top:90px}}
@media(max-width:760px){.header{min-height:80px}.header nav{top:80px;border-radius:0 0 22px 22px;box-shadow:0 15px 30px #0006}.header nav a{font-size:18px}.language-link{font-size:13px;padding:8px}.hero-copy h1{font-size:46px;line-height:1.12}.festival-hero{grid-template-columns:1fr;padding:42px 20px 65px;gap:36px;min-height:0}.hero-copy{max-width:540px}.hero-copy>p{font-size:18px;max-width:38ch;margin-top:24px}.hero-actions{margin-top:28px;gap:20px}.hero-stage{max-width:440px;width:100%;justify-self:center;padding:12px 18px 20px}.portal{border-radius:45% 45% 35% 35%}.rabbit-world{aspect-ratio:1.2}.orbit{width:55px;height:55px;font-size:34px}.orbit-one{left:2%}.orbit-three{bottom:15%}.stage-invite{right:4%;bottom:5px;font-size:16px}.section{margin-top:80px}.section-heading{margin-bottom:32px}.section-heading h2{font-size:38px}.game-feature,.game-feature.reverse{padding:18px;border-radius:26px;gap:25px;margin-top:40px}.game-visual{border-radius:16px}.game-story{padding:0 5px 12px}.game-story h3{font-size:32px}.install{padding:18px;margin-top:25px}.install ol{display:block}.install li{margin-top:18px}.shorts-section{grid-template-columns:1fr;gap:45px;padding-block:35px 45px}.shorts-copy h2{font-size:44px}.shorts-copy>p{font-size:18px}.video-game-link{margin-top:30px;gap:20px}.video-game-link>span{font-size:22px}.shorts-device{width:min(84%,320px)}.mini-fields{gap:24px}.mini{padding:28px;border-radius:26px}.mini-copy h3{font-size:30px}.rank-grid{gap:24px}.rank-panel{padding:22px}.studio{border-radius:35px 35px 0 0;padding-block:45px}.studio-body{gap:36px}.studio-body>img{box-shadow:7px 9px 0 #9eced1}.footer{margin-top:75px}.contact-email{font-size:30px}.footer-word{font-size:30vw}.privacy-page h1{font-size:34px}}
@media(min-width:701px) and (max-width:760px){.header nav{display:none;position:absolute;left:0;right:0;padding:20px;background:var(--surface)}.header nav.open{display:grid}.menu{display:block}}
@media(max-width:360px){.hero-copy h1{font-size:40px}.hero-actions{gap:14px}.hero-actions .button{font-size:15px;padding:17px}.mini{padding:22px}.demo-memory{gap:9px}.demo-memory span{width:60px}.demo-memory{grid-template-columns:repeat(3,60px)}.demo-answers span{padding:14px 26px}.shorts-copy h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.orbit::before{content:attr(data-symbol)}.shorts-copy.arrived{animation:element-arrive .7s both}.shorts-device.arrived{animation:picture-arrive .9s both}

.play-disc::before{content:"▶"}

/* Palette v10: retain the approved composition and playful control depth. */
:root{--bg:#112a2e;--surface:#203d41;--ink:#f4f6f2;--muted:#c6d6d4;--accent:#ffcf57;--paper:#eef1eb;--paper-ink:#172e31;color-scheme:dark}
body,.footer,.legal{background:var(--bg)}
.header{background:#10272b}.festival-hero{background:#17383c}.portal{background:#85b7b1;box-shadow:0 18px 0 #10272b}
.button.primary{background:var(--accent);color:var(--paper-ink)}.button::after{display:none}
.button.light,.language-link.active,.stage-invite{background:var(--paper);color:var(--paper-ink)}
.button.ink{background:#18383c}.section-heading h2::after{background:#85b7b1}
.game-feature,.game-feature.reverse{background:var(--surface)}.game-feature.runner{background:#29494c;outline:none}
.install{background:#172f33}.game-story .platform,.video-note{color:var(--muted)}.install p{color:var(--ink)}
.shorts-section{background:transparent}.shorts-device{background:#0d2226;box-shadow:0 0 0 3px #85b7b1,18px 24px 0 #29494c}
.video-launch::after{background:transparent}.video-caption{background:#10272bef;padding:12px;border-radius:12px}
.memory-teaser{background:#2c5154}.math-teaser{background:#f2dda0;color:var(--paper-ink)}
.demo-memory span{background:#a8d7ca}.demo-memory span:nth-child(2n){background:#32666b}
.demo-answers span{background:#d3d9ce}.rank-panel{background:var(--surface)}
.studio{background:var(--paper)}.studio-body>img{box-shadow:12px 16px 0 #adc8be}
.footer-word{color:#8dbdb6}.footer-bottom{color:var(--muted)}
#gate-progress{accent-color:#24756d}.rank-result{background:#dce5dc}.rank-result .your-score{background:#bbd7cb}.your-score{background:#2c5458}
.memory-card,.answer-gate,dialog .close{background:#d1dcd5;color:var(--paper-ink)}dialog{color-scheme:light}
@media(max-width:760px){.studio-body>img{box-shadow:7px 9px 0 #adc8be}}
