*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#07172b;color:#fff;font-family:Trebuchet MS,system-ui,sans-serif}body{background:radial-gradient(ellipse at top,#174a73,#07172b 70%)}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,canvas:focus-visible{outline:4px solid #ffe772;outline-offset:4px}button:disabled{cursor:default}button:hover:not(:disabled){filter:brightness(1.12)}[hidden]{display:none!important}.screen{min-height:100svh;padding:20px;max-width:1400px;margin:auto}.menu-art{position:relative;width:min(100%,calc((100svh - 84px)*1.5));aspect-ratio:1.5;margin:auto;border-radius:12px;overflow:hidden;box-shadow:0 16px 50px #0009}.menu-art>img{width:100%;display:block}.art-button{position:absolute;left:36.1%;width:27.9%;height:11.3%;border:0;border-radius:8%;background:transparent;padding:0 1% 0 10%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-shadow:2px 2px 2px #000}.art-button span{font-weight:1000;font-size:clamp(14px,3vw,38px);line-height:1.15}.art-button small{font-size:clamp(9px,1.35vw,17px);font-weight:bold}.art-button.play{top:41.1%;background:linear-gradient(90deg,transparent 28%,#288526 29%,#2d9125 91%,transparent 92%)}.art-button.editor{top:53.6%;background:linear-gradient(90deg,transparent 28%,#155d9f 29%,#164e88 91%,transparent 92%)}.art-button.editor span{font-size:clamp(12px,2.2vw,29px)}.art-button.options{top:65.7%;background:linear-gradient(90deg,transparent 28%,#68267d 29%,#4e1c60 91%,transparent 92%)}.art-button:disabled small{color:#ffe899}.art-button.play:hover{box-shadow:0 0 25px #fff6;transform:scale(1.02)}.bottom-cover{position:absolute;left:0;bottom:0;width:31%;height:17%;background:linear-gradient(0deg,#102d15 40%,#163319e8 80%,transparent);display:flex;align-items:flex-end;padding:4% 2% 2%;font-weight:bold;font-size:clamp(10px,1.4vw,20px);text-align:center}.menu-hint{text-align:center;color:#b4d4e5;font-size:14px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px 0 28px}h1{font-size:clamp(24px,3vw,38px);margin:0 auto;text-align:center}.back,.secondary{background:#173952;border:1px solid #47748d;border-radius:9px;padding:12px 18px;font-weight:bold}.world-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:50px 0 30px}.world-card{position:relative;padding:0;overflow:hidden;min-height:440px;text-align:left;border:2px solid #4c829b;border-radius:18px;background:#102f46;box-shadow:0 12px 32px #0005;transition:transform .15s}.world-card:hover{transform:translateY(-7px)}.world-card img{width:100%;height:440px;object-fit:cover;object-position:50% 28%;display:block}.world-card span{position:absolute;bottom:0;left:0;width:100%;padding:70px 24px 24px;background:linear-gradient(transparent,#07172bf2 45%);display:flex;flex-direction:column;gap:10px}.world-card b{font-size:28px}.world-card small{font-size:16px;color:#dbecf4}.world-card em{align-self:flex-start;background:#ffc740;color:#302007;border-radius:7px;padding:10px 16px;font-size:14px;font-weight:900;font-style:normal}.instructions{text-align:center;color:#c0d8e7;line-height:1.8;font-size:16px}.game-header{max-width:1100px;margin:0 auto 14px}.stage{position:relative;max-width:1100px;margin:auto;border:3px solid #537b8f;border-radius:14px;overflow:hidden;box-shadow:0 18px 50px #0008;background:#162e49}canvas{width:100%;aspect-ratio:16/9;display:block;touch-action:none}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#031324ba;backdrop-filter:blur(4px)}.dialog{max-width:440px;padding:28px;margin:16px;border:2px solid #94cad2;border-radius:18px;background:#102e45;text-align:center;box-shadow:0 20px 50px #0008}.dialog h2{font-size:32px;color:#ffe77c;margin:0 0 14px}.dialog p{font-size:17px;line-height:1.5;margin-bottom:24px}.dialog button{display:block;width:100%;margin-top:10px}.primary{background:linear-gradient(#ffd864,#eda824);border:2px solid #ffe799;border-radius:9px;padding:14px;color:#382609;font-weight:900;font-size:18px}.game-bottom{max-width:1100px;margin:auto;display:flex;justify-content:space-between;color:#bdd4e3;font-size:14px;gap:12px}.touch-controls{max-width:1100px;margin:auto;display:flex;justify-content:space-between;padding:12px 0 0;user-select:none}.touch-controls button{width:68px;height:58px;background:#215272cc;border:2px solid #75aac0;border-radius:12px;font-weight:bold;font-size:22px;touch-action:none;user-select:none;-webkit-user-select:none}.touch-controls .jump{width:104px;background:#926516}.touch-controls div{display:flex;gap:12px}.touch-controls button:active{background:#479bb7}@media(min-width:1000px) and (pointer:fine){.touch-controls{display:none}}@media(max-width:760px){.screen{padding:12px}.world-cards{grid-template-columns:1fr;margin:24px 0;gap:16px}.world-card,.world-card img{min-height:240px;height:240px}.world-card img{object-position:center 35%}.world-card span{padding-top:40px}.world-card b{font-size:24px}.game-header{gap:6px}.game-header strong{font-size:14px;text-align:center}.back{padding:10px 12px;font-size:14px}.game-bottom{display:block;font-size:13px}.dialog{padding:18px}.dialog h2{font-size:25px}.dialog p{margin:12px 0;font-size:14px}.dialog button{padding:10px;font-size:15px}.menu-art{width:100%;margin-top:10vh}.art-button span{font-size:3vw}.art-button.editor span{font-size:2.3vw}.art-button small{font-size:1.6vw}}@media(max-height:500px) and (orientation:landscape){.screen{padding:6px}.game-header{margin-bottom:6px}.stage{max-width:calc((100svh - 70px)*16/9)}.game-bottom{display:none}.touch-controls{position:fixed;bottom:12px;left:12px;right:12px;pointer-events:none}.touch-controls button{pointer-events:auto;opacity:.8}.world-cards{margin:10px 0}.world-card,.world-card img{height:260px;min-height:260px}.menu-art{margin-top:0;width:min(100%,calc((100svh - 50px)*1.5))}}
.art-button.play,.art-button.editor,.art-button.options{background:transparent}.art-button span{opacity:0}.art-button.play small{opacity:0}.art-button:disabled small{position:absolute;left:39%;right:5%;bottom:14%;padding:1.5% 0;background:#124d87;border-radius:4px;font-size:clamp(9px,1.35vw,17px);white-space:nowrap}.art-button.options small{background:#4c2060}.bottom-cover{background:linear-gradient(0deg,#102d15 70%,#102d15f5 95%,transparent)}.mobile-play{display:none}@media(max-width:760px){.mobile-play{display:block;margin:20px auto 0;width:min(100%,360px);font-size:18px}.art-button:disabled small{font-size:1.65vw}}
.art-button:disabled small{left:35%}
