*{box-sizing:border-box}html,body{margin:0;height:100%;background:#0b1934;color:#fff;font-family:system-ui,-apple-system,Arial,sans-serif;overscroll-behavior:none}button,input{font:inherit}button{cursor:pointer;color:white;background:#263e68;border:1px solid #57749b;border-radius:14px;padding:12px;font-weight:850;touch-action:manipulation}button:active{transform:scale(.97)}.primary{background:linear-gradient(130deg,#44edab,#15bcb4);color:#102744;border:0;font-size:18px;box-shadow:0 6px 0 #147c79}.small{padding:8px 11px}#app{width:min(100vw,430px);height:100dvh;min-height:490px;max-height:950px;display:flex;flex-direction:column;margin:auto;background:linear-gradient(175deg,#172e56,#0c1e3c);box-shadow:0 0 40px #0008;overflow:hidden;padding:env(safe-area-inset-top) 12px env(safe-area-inset-bottom)}header{height:58px;flex:none;display:flex;align-items:center;justify-content:space-between;letter-spacing:.5px}header small{display:block;font-size:9px;letter-spacing:2px;color:#7de9c5}.page{display:none;flex:1;min-height:0;flex-direction:column;gap:12px;padding-bottom:10px}.page.active{display:flex}.hero{flex:1;min-height:0;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column}.pill{color:#79f3ca;border:1px solid #6cdac0;border-radius:30px;padding:6px 12px;font-size:11px;font-weight:800}.scene{font-size:clamp(38px,11vh,76px);background:radial-gradient(ellipse,#4484a944,transparent 70%);width:100%;padding:12px 0}.scene span{display:inline-block;filter:drop-shadow(0 8px 4px #0005)}.scene span:nth-child(2){transform:rotate(-25deg);font-size:.7em}.hero h1{font-size:clamp(32px,6vh,51px);line-height:.99;margin:12px 0}.hero em{color:#60ebae;font-style:normal}.hero p{max-width:300px;color:#c4d8e7;font-size:13px;line-height:1.55}.stack{display:flex;flex-direction:column;gap:9px}.caption{font-size:12px;color:#a6c8df;text-align:center}.stack .primary{min-height:52px}.hud{height:37px;display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px}.hud b{color:#87ffe1}.field{flex:1;min-height:0;position:relative;border:3px solid #6a91a6;border-radius:16px;overflow:hidden;background:#244c6f}.field canvas{width:100%;height:100%;display:block;touch-action:none}.gamehint{font-size:11px;color:#a6c8df;letter-spacing:1px;text-align:center}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#081a31d9;padding:25px;gap:12px;text-align:center}.hidden{display:none!important}.center{padding:32px 10px;align-items:stretch;overflow-y:auto}.center h1,.center h2{text-align:center;color:#7cfcba}.resultemoji{font-size:70px;text-align:center}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stats div{background:#273f63;text-align:center;padding:20px;border-radius:12px}.stats strong{display:block;font-size:26px;color:#67ffc2}.tabs{display:flex;gap:10px}.tabs button{flex:1}.tabs button.active{background:#21baa4;color:#092c35}form{display:flex;flex-direction:column;gap:12px}label{font-size:13px;font-weight:750}input{width:100%;display:block;border-radius:10px;border:2px solid #425f81;background:#eefbff;color:#11243d;padding:12px;margin-top:5px}.error{color:#ffa7a7;min-height:20px;font-size:12px}.rankings{flex:1;overflow-y:auto}.rank{display:grid;grid-template-columns:30px 1fr auto;padding:11px;border:1px solid #435f81;border-radius:10px;margin:6px 0;gap:8px}.rank b{color:#71f1c4}@media(max-height:650px){.hero h1{font-size:32px}.scene{font-size:48px}.hero p{font-size:11px}.page{gap:8px}}
