:root{--bg:#FAF6EE;--bg-2:#F3EAD8;--text:#4E342E;--hud-bg:rgba(255,255,255,.72);--hole:#D7CCC8;--hole-2:#8D6E63}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:radial-gradient(120% 80% at 50% -10%,#fff,#fff0 55%),linear-gradient(170deg,#e8f5e9,#c8e6c9);background-attachment:fixed;font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;user-select:none;-webkit-user-select:none;color:var(--text)}#app{display:flex;flex-direction:column;height:100vh;height:100dvh;max-width:600px;margin:0 auto}.hud{display:flex;align-items:center;justify-content:space-around;padding:8px 14px;margin:8px 10px 4px;background:var(--hud-bg);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.7);border-radius:16px;font-size:clamp(13px,3.5vw,16px);font-weight:700;flex-shrink:0}.hud-info,.hud-score,.hud-level{display:flex;align-items:center;gap:4px}.hud-bottom{display:flex;justify-content:center;gap:8px;padding:4px 10px 8px;flex-shrink:0}.hud-bottom button{background:linear-gradient(145deg,#c8e6c9,#a5d6a7);border:2px solid #66BB6A;border-radius:12px;padding:6px 14px;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 2px #2e7d32;transition:transform .12s}.hud-bottom button:active{transform:translateY(1px)}.whack-area{flex:1;display:flex;align-items:center;justify-content:center;padding:12px;overflow:hidden}.whack-grid{display:grid;gap:10px;width:100%;max-width:380px;aspect-ratio:1}.hole{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center 70%,var(--hole) 0%,var(--hole-2) 100%);border-radius:50% 50% 45% 45%;font-size:clamp(24px,8vw,48px);cursor:pointer;position:relative;overflow:hidden;transition:transform .1s}.hole:active{transform:scale(.95)}.hole.up{animation:popUp .2s ease-out}@keyframes popUp{0%{transform:scale(.5)}to{transform:scale(1)}}.hole.bomb.up{background:radial-gradient(ellipse at center 70%,#ffcdd2,#ef9a9a)}.hole.hit{background:radial-gradient(ellipse at center 70%,#a5d6a7,#66bb6a);animation:hitPop .3s}@keyframes hitPop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.hole.miss{background:radial-gradient(ellipse at center 70%,#ffcdd2,#ef5350);animation:shake .3s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.modal-overlay{position:fixed;inset:0;background:#281e0f8c;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{background:linear-gradient(170deg,#fffdf6,#fff4de);border-radius:24px;padding:28px 36px;text-align:center;box-shadow:0 20px 50px #3c280a59;animation:popIn .26s cubic-bezier(.22,1.2,.36,1)}@keyframes popIn{0%{opacity:0;transform:scale(.82) translateY(8px)}to{opacity:1;transform:scale(1)}}.modal-title{font-size:30px;font-weight:700;margin-bottom:14px}.modal-stars{font-size:36px;margin-bottom:22px;letter-spacing:4px}.modal-star{display:inline-block;opacity:0}.modal-buttons{display:flex;gap:12px;justify-content:center}.modal-buttons button{background:linear-gradient(145deg,#c8e6c9,#a5d6a7);border:2px solid #66BB6A;border-radius:12px;padding:10px 22px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 3px #2e7d32;transition:transform .12s}.modal-buttons button:active{transform:translateY(2px)}.modal-buttons .btn-next{background:linear-gradient(145deg,#81c784,#66bb6a);color:#fff;border-color:#2e7d32}.level-select{display:flex;flex-direction:column;align-items:center;padding:24px 20px;height:100%}.level-select-title{font-size:26px;font-weight:700;margin-bottom:22px}.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;width:100%;max-width:420px}.level-btn{aspect-ratio:1;background:linear-gradient(145deg,#c8e6c9,#a5d6a7);border:2px solid #66BB6A;border-radius:20px;font-size:22px;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 3px #2e7d32;transition:transform .12s}.level-btn:active{transform:translateY(2px)}.level-btn.locked{opacity:.5;cursor:not-allowed;box-shadow:none}.level-btn-stars{font-size:12px;margin-top:4px}.btn-back{margin-top:22px;background:linear-gradient(145deg,#c8e6c9,#a5d6a7);border:2px solid #66BB6A;border-radius:12px;padding:9px 26px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 3px #2e7d32}@media (orientation:landscape) and(max-height:500px){#app:after{content:"请旋转手机至竖屏 📱";position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;background:var(--bg);padding:20px 40px;border-radius:16px;z-index:999}}.start-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:22px;padding:20px}.start-title{font-size:42px;font-weight:900;letter-spacing:4px;background:linear-gradient(135deg,#66bb6a,#2e7d32,#1b5e20);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.btn-start,.btn-levels{background:linear-gradient(145deg,#c8e6c9,#a5d6a7);border:2px solid #66BB6A;border-radius:16px;padding:14px 44px;font-size:20px;font-weight:700;cursor:pointer;box-shadow:0 4px #2e7d32;transition:transform .12s}.btn-start{background:linear-gradient(145deg,#81c784,#66bb6a);color:#fff}.btn-start:active,.btn-levels:active{transform:translateY(3px)}.settings{display:flex;gap:18px;margin-top:6px;font-size:16px;font-weight:700}.settings label{display:flex;align-items:center;gap:6px;cursor:pointer;padding:6px 14px;background:var(--hud-bg);border-radius:12px}.settings input{width:18px;height:18px;accent-color:#66BB6A;cursor:pointer}.start-screen .btn-hub{background:linear-gradient(145deg,#eceff1,#cfd8dc);border:2px solid #90A4AE;border-radius:16px;padding:12px 36px;font-size:18px;font-weight:700;color:#455a64;cursor:pointer;box-shadow:0 4px #90a4ae;transition:transform .12s}.start-screen .btn-hub:active{transform:translateY(3px)}
