/* Reference-inspired sunny invitation. Game panels retain their existing layout. */
body:has(.home:not([hidden])){background:radial-gradient(ellipse at 50% 35%,#f3fdff 0%,#d4f5ff 45%,#b7eafb 100%)}
body[data-theme=peach]:has(.home:not([hidden])){background:radial-gradient(ellipse at 50% 35%,#fff8ed,#fbd7e3)}
body[data-theme=sunshine]:has(.home:not([hidden])){background:radial-gradient(ellipse at 50% 35%,#fffef2,#fff0af)}
body[data-theme=lilac]:has(.home:not([hidden])){background:radial-gradient(ellipse at 50% 35%,#faf8ff,#e4d6fa)}
.home{padding:0 22px 12px;gap:2px;grid-template-rows:auto minmax(0,1fr) auto}
.home .home-heading{padding:0;position:relative;align-self:start}
.home .eyebrow{font-size:12px;letter-spacing:1px;color:#5b8495}
.home .home-heading h1{isolation:isolate;font-size:clamp(42px,5.7vw,80px);font-weight:1000;letter-spacing:1px;line-height:1.25;color:#fffce4;-webkit-text-stroke:1px #fff7d1;paint-order:stroke fill;margin:2px 0 10px;text-shadow:0 3px 0 #ffcd61;filter:drop-shadow(0 4px 1px #5288a331)}
.home-heading h1::before,.home-heading h1::after{content:attr(data-title);position:absolute;inset:0;pointer-events:none;paint-order:stroke fill;z-index:-1}
.home-heading h1::before{color:#ff9550;-webkit-text-stroke:9px #ff9148;text-shadow:0 4px 0 #e58239}
.home-heading h1::after{z-index:-2;color:#fff7b4;-webkit-text-stroke:15px #fff4b1;filter:drop-shadow(0 3px 0 #65c7e6)}
.home .home-heading p{display:inline-block;background:linear-gradient(#fff,#f5fcff);border:2px solid #e0f5fc;border-radius:100px;padding:8px 30px;color:#84764f;font-weight:700;font-size:clamp(12px,1.3vw,17px);box-shadow:0 4px 0 #8bd0e63d;letter-spacing:.5px}
.home .play-scene,.home:has(.access-form:not([hidden])) .play-scene{width:min(1120px,96vw,calc((100dvh - 205px)*2.05));height:100%;max-height:650px;align-self:stretch}
.home .character{width:31%;bottom:4%;filter:drop-shadow(0 5px 1px #78b7a014)}
.home .character-mint{left:8%}.home .character-gold{right:8%}
.home .robot{filter:drop-shadow(0 5px 0 #fff9);animation-duration:4.5s}
.home .podium{height:clamp(28px,5vh,44px);border-color:#ffffdf;background:linear-gradient(#e8f8c8,#c5eaa0);box-shadow:0 6px 0 #9dcc83,0 12px 14px #458fa423;gap:10px}
.home .character-gold .podium{background:linear-gradient(#fff4c4,#ffe19a);box-shadow:0 6px 0 #e8c472,0 12px 14px #458fa423}
.home .team-name{font-size:clamp(10px,1vw,14px);letter-spacing:0;color:#6e8f51;white-space:nowrap}.home .stars{font-size:clamp(14px,1.5vw,21px);gap:2px;color:#ffb323}
.home .speech-bubble{top:17%;right:-2%;padding:9px 16px;border:2px solid #dff5fb;border-radius:22px 22px 22px 5px;color:#397596;box-shadow:0 4px 0 #8ccde526;font-size:clamp(11px,1.25vw,16px)}
.home .character-gold .speech-bubble{top:13%;right:0;color:#b28b40}
.home .word-card{top:22%;width:clamp(112px,15vw,184px);padding:15px 16px 12px;border:3px solid #ffe5a0;background:linear-gradient(130deg,#fffefa,#fff);border-radius:24px;box-shadow:0 7px 0 #f1d289,0 12px 16px #659cac30}
.home .apple{width:clamp(42px,6vw,75px);height:clamp(42px,7vh,78px);filter:saturate(1.5)}
.home .word-card strong{font-size:clamp(26px,3vw,40px);color:#2874ac;text-shadow:0 2px 0 #b7d7e7}.home .word-card>span{color:#998966;font-size:13px}
.home .card-check{background:linear-gradient(#a8e691,#57c77b);border-color:#fffef0;box-shadow:0 2px 0 #62b977}
.home .scene-orbit{inset:15% 7% 3%;border-color:#b8e5ec88;background:radial-gradient(ellipse,#faffee44,transparent 70%)}
.home .scene-ground{left:2%;right:2%;bottom:0;height:12%;background:radial-gradient(ellipse,#91d8ea99,#9be6f233 70%,transparent 72%)}
.home .cloud{transform:scale(1.4);top:7%;opacity:.95;filter:drop-shadow(0 3px 0 #a4dff23b)}.home .cloud-one{left:2%}.home .cloud-two{right:2%;top:3%}
.home .floating-letter{opacity:.9;box-shadow:inset 0 2px 1px #fff8,0 4px 0 #d4dca144;font-size:25px}.home .letter-a{left:8%;top:34%;width:25px;height:25px;background:transparent;color:#ffde62;font-size:0;box-shadow:none}.home .letter-a:after{content:'✦';font-size:26px}.home .letter-b{top:5%;right:19%;background:#ffe27c;color:white;border:2px solid #ffeda4}
.home .deco{color:#ffdc61}.home .star-one{left:5%;top:44%}.home .star-two{right:3%;top:50%;width:21px}.home .star-three{left:60%;bottom:9%;color:#ffe069}.home .energy-path{top:auto;bottom:9%;left:44%}
.flower-bed{position:absolute;bottom:4%;width:10%;height:auto;z-index:3;pointer-events:none}.flower-left{left:0}.flower-right{right:0;transform:scaleX(-1)}
.home .start-area{gap:8px;padding:8px 0 0;align-self:end}.home .start-button{height:64px;min-width:300px;border-radius:40px;border:3px solid #fff8cf;background:linear-gradient(#ffdd68 0%,#ffb536 40%,#ff951e 90%);box-shadow:0 0 0 2px #f1ac48,0 5px 0 #e6a54c,0 9px 14px #679eaa35;color:#fffef0;text-shadow:0 2px 0 #dc912c;font-size:26px;letter-spacing:1px;position:relative;gap:14px}
.home .start-button>svg{display:none}.home .start-button:before{content:'★';color:#fff293;font-size:23px;filter:drop-shadow(0 2px 0 #e8a129)}.home .button-star{font-size:0;margin:0}.home .button-star:after{content:'★';font-size:23px;color:#fff293}.home .start-note{color:#63869b;font-size:12px;letter-spacing:1px}
.home .grass{width:210px;height:95px;bottom:-40px;background:#f9feff;border-radius:50%;filter:drop-shadow(0 -3px 0 #fff8)}.home .grass:before,.home .grass:after{content:'';position:absolute;border-radius:50%;background:#f9feff;width:100px;height:90px;top:-28px;left:12px}.home .grass:after{width:95px;height:75px;left:90px;top:-8px}.home .grass-left{left:-60px}.home .grass-right{right:-60px;transform:scaleX(-1)}
body:has(.home:not([hidden])) .toolbar .tool-button{border:1px solid #fffa;box-shadow:0 3px 0 #7bb4c938;color:#49657b}
body:has(.home:not([hidden])) #themeButton{background:linear-gradient(#ffc894,#ffae83)}
body:has(.home:not([hidden])) #helpButton{background:linear-gradient(#b5eaff,#87d4f5)}
body:has(.home:not([hidden])) #musicButton{background:linear-gradient(#e0f3ad,#b6e484)}
body:has(.home:not([hidden])) #settingsButton{background:linear-gradient(#ffd0e1,#f5accb)}
body:has(.home:not([hidden])) #bankButton{background:linear-gradient(#c2e9ff,#a0d4f5)}
body:has(.home:not([hidden])) #fullscreenButton{background:linear-gradient(#fff4bc,#ffdf88)}
@media(max-height:720px){.home .home-heading h1{font-size:clamp(36px,5.7vw,62px);margin-bottom:7px}.home .home-heading p{padding:5px 24px}.home .eyebrow{display:inline-flex;font-size:10px}.home .start-button{height:50px;min-width:260px;font-size:22px}.home .start-area{gap:6px;padding-top:5px}.home .word-card{top:18%;padding:8px 12px;width:clamp(105px,14vw,150px)}.home .apple{height:48px}.home .word-card strong{font-size:30px}.home .speech-bubble{padding:6px 12px}.home .start-note{font-size:10px}}
@media(orientation:portrait){.home{padding-top:10px;padding-bottom:20px}.home .play-scene{width:96vw;max-height:620px;align-self:center}.home .character{width:36%;bottom:9%}.home .character-mint{left:2%}.home .character-gold{right:2%}.home .word-card{top:13%;width:clamp(112px,21vw,170px)}.home .flower-bed{bottom:4%;width:12%}.home .scene-ground{bottom:5%}.home .cloud{top:3%;transform:scale(.9)}.home .letter-b{right:16%;top:0}.home .home-heading h1{font-size:clamp(40px,7.5vw,64px)}.home .start-area{padding-bottom:0}.home .speech-bubble{font-size:12px;padding:7px 10px}}
@media(max-width:600px){.home .team-name{font-size:10px}.home .podium{gap:4px}.home .stars{font-size:13px}.home .home-heading p{padding:7px 14px;font-size:12px}.home .speech-bubble{font-size:10px;padding:5px 8px}.home .home-heading h1{letter-spacing:0}.home .word-card{padding:9px;width:104px}.home .word-card strong{font-size:27px}.home .start-button{min-width:260px}}
