/* Landing design: existing app controls and behaviour are preserved. */
body.landing-page{background:#fffbee;color:#151923;isolation:isolate}
.landing-page .float-bg{display:none}
.immersive-world{position:fixed;inset:0;overflow:hidden;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,#fffef9 0%,#fffef9 28%,#fff7d8 64%,#f3eccb 100%)}
.immersive-world:before{content:'';position:absolute;width:105vw;height:105vw;border:1px solid #e8dca9;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-42%);box-shadow:0 0 0 80px #ffffff45,0 0 0 81px #e8dca955,0 0 0 160px #ffffff33}
.immersive-world:after{content:'';position:absolute;left:-10%;right:-10%;height:20vh;bottom:-12vh;border-radius:50% 50% 0 0;background:#d8edcf;box-shadow:0 -22px 0 #e8f2d8}
.game-float{position:absolute;display:grid;place-items:center;width:clamp(95px,13vw,200px);aspect-ratio:1;border-radius:32%;animation:drift 6s ease-in-out infinite;filter:drop-shadow(0 16px 18px #72613e20)}
.game-float img{width:90%;height:90%;object-fit:contain}
.game-float:nth-child(1){left:4%;top:23%;transform:rotate(-12deg);background:#d7edff}
.game-float:nth-child(2){right:4%;top:20%;background:#ffdf75;animation-delay:-2s}
.game-float:nth-child(3){left:8%;bottom:12%;background:#ffd9d3;animation-delay:-3.5s}
.game-float:nth-child(4){right:6%;bottom:10%;background:#d3e9cc;animation-delay:-1s}
.spark{position:absolute;color:#e7b424;font-size:32px}.spark.one{left:25%;top:18%}.spark.two{right:24%;bottom:18%;color:#f78772}.spark.three{right:16%;top:48%;font-size:20px}
.landing-page .cover{min-height:100svh;padding:100px 24px 85px;position:relative;background:transparent;box-sizing:border-box}
.landing-page .home-layout{gap:32px;max-width:1000px;animation:arrive .7s ease-out both}
.landing-page .cover .logo{font-size:clamp(58px,10vw,136px);letter-spacing:-3px;filter:drop-shadow(0 9px 0 #ffffff);margin:0 0 14px;line-height:1.15}
.landing-page .cover .brand-byline{font-size:12px;letter-spacing:5px;color:#747363;margin:0 0 20px}
.landing-page .cover .tagline{font-size:clamp(19px,2.1vw,28px);letter-spacing:2px;line-height:1.5;color:#3c4439;font-weight:700}
.landing-page .home-controls-column{width:min(330px,75vw);gap:22px}
.landing-page .home-action-row #startBtn{border:4px solid #182023;border-radius:999px;background:#ff5149;min-height:88px;font-size:34px;color:white;box-shadow:0 8px 0 #182023,0 15px 30px #f2574324;transition:transform .18s,box-shadow .18s;width:100%}
.landing-page .home-action-row #startBtn:hover{transform:translateY(-3px);box-shadow:0 11px 0 #182023,0 20px 32px #f2574340}
.landing-page .home-action-row #startBtn:active{transform:translateY(5px);box-shadow:0 3px 0 #182023}
.landing-page .language-choice{font-size:16px;min-height:44px;min-width:108px;border:2px solid #26302b;background:#fffef6;box-shadow:none;padding:8px 15px;color:#26302b}
.landing-page .language-choice[aria-pressed=true]{background:#ffdc56;box-shadow:none}
.landing-page .home-action-row .home-setting-btn{top:24px;left:28px;font-size:16px;min-height:44px;border:2px solid #26302b;box-shadow:0 3px #26302b;background:#fffef6;padding:8px 16px}
.landing-page #jmTrialProfileWidget.is-floating{top:24px;right:28px;max-width:calc(100vw - 180px)}
.landing-page .cover .credit{bottom:22px;font-size:10px;color:#6f7966}
@keyframes drift{0%,100%{translate:0 0;rotate:-5deg}50%{translate:0 -12px;rotate:3deg}}
@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(orientation:landscape) and (max-height:760px){.landing-page .cover{padding-top:90px;padding-bottom:65px}.landing-page .home-layout{gap:24px}.landing-page .cover .logo{font-size:min(10vw,16vh)}.landing-page .cover .brand-byline{margin-bottom:12px}.landing-page .home-action-row #startBtn{min-height:74px;font-size:30px}.game-float{width:12vw}.landing-page .home-controls-column{gap:18px}}
@media(max-width:650px){.landing-page .cover{padding:100px 16px 75px}.landing-page .cover .logo{font-size:11.5vw;letter-spacing:-2px}.landing-page .cover .tagline{font-size:18px;letter-spacing:0}.game-float{width:86px;opacity:.75}.game-float:nth-child(1){top:15%;left:-24px}.game-float:nth-child(2){top:14%;right:-24px}.game-float:nth-child(3){bottom:11%;left:-25px}.game-float:nth-child(4){bottom:10%;right:-25px}.landing-page .home-layout{gap:30px}.spark{display:none}.landing-page .home-action-row .home-setting-btn{left:16px;top:18px}.landing-page #jmTrialProfileWidget.is-floating{right:16px;top:18px}.landing-page .cover .credit{bottom:24px}}
@media(prefers-reduced-motion:reduce){.game-float,.landing-page .home-layout{animation:none}.landing-page .home-action-row #startBtn{transition:none}}
/* End the entrance transform so utility controls keep viewport coordinates. */
.landing-page .home-layout{animation-fill-mode:backwards}
.landing-page .home-action-row .home-setting-btn{position:fixed;z-index:20}
@media(orientation:landscape) and (max-height:500px){
 .landing-page .cover{padding:66px 20px 38px}
 .landing-page .home-layout{gap:12px}
 .landing-page .cover .logo{font-size:13vh;margin-bottom:5px}
 .landing-page .cover .brand-byline{margin-bottom:5px;font-size:10px}
 .landing-page .cover .tagline{font-size:17px;line-height:1.3}
 .landing-page .home-controls-column{gap:12px}
 .landing-page .home-action-row #startBtn{min-height:54px;font-size:24px;padding:7px 24px}
 .landing-page .language-choice{min-height:44px;font-size:14px;padding:5px 14px}
 .landing-page .cover .credit{bottom:9px;font-size:9px}
 .game-float{width:95px}
}
/* Dimensional arcade pieces: CSS depth without a heavy 3D engine. */
.immersive-world{perspective:1100px;--look-x:0deg;--look-y:0deg}
.game-float{transform-style:preserve-3d;border:1px solid #ffffffb0;border-radius:30%;background-image:linear-gradient(140deg,#ffffff85,transparent 48%,#0000000d);box-shadow:inset 2px 3px 2px #ffffffb0,inset -3px -4px 4px #00000012,0 9px 0 var(--edge),0 12px 0 var(--edge),0 28px 28px #554a3820;filter:none;transform:rotateX(calc(12deg + var(--look-y))) rotateY(calc(-12deg + var(--look-x))) rotateZ(-8deg)}
.game-float:nth-child(1){--edge:#a4cbe8;transform:rotateX(calc(14deg + var(--look-y))) rotateY(calc(18deg + var(--look-x))) rotateZ(-10deg)}
.game-float:nth-child(2){--edge:#d6af43;transform:rotateX(calc(16deg + var(--look-y))) rotateY(calc(-22deg + var(--look-x))) rotateZ(8deg)}
.game-float:nth-child(3){--edge:#dea69e;transform:rotateX(calc(20deg + var(--look-y))) rotateY(calc(18deg + var(--look-x))) rotateZ(-8deg)}
.game-float:nth-child(4){--edge:#a4c296;transform:rotateX(calc(15deg + var(--look-y))) rotateY(calc(-18deg + var(--look-x))) rotateZ(10deg)}
.game-float img{transform:translateZ(40px) scale(.94);filter:drop-shadow(5px 12px 5px #46391f35)}
.landing-page .cover .logo{filter:drop-shadow(0 2px 0 #ffffff);text-shadow:1px 2px #172021,2px 4px #172021,3px 6px #172021,4px 8px #172021,5px 10px #172021,7px 15px 0 #17202112}
.landing-page .home-action-row #startBtn{background:linear-gradient(165deg,#ff7566 0%,#ff5149 45%,#ed3d3b 100%);box-shadow:inset 0 3px 0 #ffffff60,0 8px 0 #a62929,0 11px 0 #182023,0 19px 26px #d645452a}
.landing-page .home-action-row #startBtn:hover{box-shadow:inset 0 3px 0 #ffffff60,0 11px 0 #a62929,0 14px 0 #182023,0 24px 28px #d6454530}
.landing-page .home-action-row #startBtn:active{box-shadow:inset 0 3px 0 #ffffff40,0 2px 0 #a62929,0 5px 0 #182023}
@media(prefers-reduced-motion:reduce){.immersive-world{--look-x:0deg!important;--look-y:0deg!important}}

.landing-page .cover #homeDescription{max-width:740px;margin:0 auto;font-size:clamp(17px,1.9vw,24px);letter-spacing:0;line-height:1.55;text-wrap:balance}
@media(max-height:500px) and (orientation:landscape){.landing-page .cover #homeDescription{font-size:16px;max-width:580px}}
