:root{--sun: #ffd24a;--sun-deep: #e6a80b;--mint: #6fe3c0;--mint-deep: #2db894;--pink: #ff8fb4;--sky: #7ecbff;--coral: #ff8a65;--ink: #3b2d4a;--card: rgba(255, 255, 255, .92);--shadow: 0 10px 0 rgba(59, 45, 74, .18);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,.app-shell,#app{margin:0;width:100%;height:100%;overflow:hidden;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;color:var(--ink);background:#7ecbff}body{touch-action:manipulation;-webkit-user-select:none;user-select:none}button{font-family:inherit}.scene-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;z-index:0}.ui-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.ui-layer>*{pointer-events:auto}.hidden{display:none!important}.btn{font-family:ZCOOL KuaiLe,Noto Sans SC,sans-serif;border:4px solid #fff;border-radius:22px;cursor:pointer;color:#4a2c0a;font-size:22px;padding:12px 22px;box-shadow:var(--shadow);transition:transform .12s ease,box-shadow .12s ease}.btn:active{transform:translateY(6px);box-shadow:0 4px #3b2d4a2e}.btn-xl{min-width:220px;min-height:64px;font-size:28px;padding:14px 28px}.btn-sun{background:linear-gradient(#ffe58a,var(--sun))}.btn-mint{background:linear-gradient(#b8ffe8,var(--mint))}.btn-pink{background:linear-gradient(#ffd0e4,var(--pink))}.btn-sky{background:linear-gradient(#ccecff,var(--sky))}.btn-ghost{background:#ffffffb8;color:var(--ink);box-shadow:none;border-width:3px}.btn-icon{width:52px;height:52px;padding:0;font-size:22px;border-radius:18px;background:#ffffffe6}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#301c4885;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:8}.card{width:min(520px,calc(100% - 28px));background:#fffffff2;border:5px solid #fff;border-radius:32px;padding:28px 22px;text-align:center;box-shadow:var(--shadow)}.card h3{font-family:ZCOOL KuaiLe,sans-serif;font-size:36px;margin:8px 0}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes spark{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.2) rotate(12deg)}}@keyframes popin{0%{transform:scale(.86);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:700px){.btn-xl{min-width:80%}}
