.mobile-shell.golf-play{display:flex;flex-direction:column;gap:10px;width:min(100%,440px);height:100dvh;min-height:0;margin:0 auto;padding:12px 16px max(16px,env(safe-area-inset-bottom));border:0;background:transparent;box-shadow:none}.golf-play .game-header{flex-shrink:0;min-height:40px;margin:0}.golf-hud{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px}.golf-distance{color:#e8d6ff;font-size:30px;font-weight:850;font-variant-numeric:tabular-nums}.golf-distance small{margin-left:4px;font-size:16px;font-weight:600}.golf-lives{display:flex;gap:8px}.golf-lives i{display:block;color:#eeeaf8}.golf-lives svg{width:22px;height:22px;fill:currentColor;stroke:#a9a0c2;stroke-width:1.2;stroke-linecap:round}.golf-lives i.empty{color:#53445f}.golf-lives i.empty svg{stroke:#756086}.golf-progress{height:4px;overflow:hidden;border-radius:4px;background:#9c7abb25}.golf-progress i{display:block;height:100%;border-radius:4px;background:#c49bff}
.golf-scene{position:relative;flex:1;min-height:180px;overflow:hidden;isolation:isolate;border:1px solid #715381;border-radius:20px;background:#151328;touch-action:none}.game-entry .golf-scene.entry-stage{padding:0}.golf-canvas{display:block;width:100%;height:100%;position:absolute;inset:0}.golf-jump{position:absolute;z-index:2;top:12px;right:12px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #ad89d655;border-radius:12px;color:#a789c8;background:#241b38b8;transition:color .12s,background .12s,box-shadow .12s,opacity .12s}.golf-jump[hidden]{display:none}.golf-jump svg,.golf-result-goal svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.golf-jump[data-near="true"][data-ready="true"]{color:#f6d8ec;border-color:#ffabd0;background:#6c355d;box-shadow:0 0 24px #ff87bd55}.golf-jump[data-ready="false"]{opacity:.35}.golf-jump[data-airborne="true"]{opacity:1;color:#d7fbff;background:#214b62;border-color:#82e4ee;box-shadow:0 0 24px #51d9ef40}.golf-scene[data-danger="true"]{border-color:#ee9ac3}.golf-scene[data-sinking="true"]{border-color:#bda2f7;box-shadow:inset 0 0 30px #a47be829}
.golf-status{position:absolute;left:12px;right:12px;top:12px;padding:8px 12px;border:1px solid #a784c355;border-radius:10px;background:#1b152de8;color:#e3c8f5;font-size:14px;line-height:1.5;text-align:center}.golf-instruction{margin:0;text-align:center;color:#dac5e9;font-size:16px;line-height:1.7}.golf-play-actions{flex-shrink:0;margin-top:0;padding-bottom:6px}
.golf-card-art{position:relative;width:180px;height:110px;transform:rotate(-9deg)}.golf-card-track{position:absolute;inset:0 28px;border:2px solid #a986de;border-radius:12px;background:repeating-linear-gradient(0deg,#51416b 0 18px,#3b2e53 19px 38px);transform:perspective(200px) rotateX(30deg);box-shadow:0 7px 0 #160f27}.golf-card-orb{position:absolute;left:60px;top:60px;width:32px;height:32px;border:1px solid #fff9;border-radius:50%;background:radial-gradient(circle at 35% 27%,#fff,#e6e5f5 50%,#8582a9);box-shadow:0 9px 9px #07051288}.golf-card-hole{position:absolute;top:18px;left:89px;width:25px;height:12px;border:1px solid #c8a5fa;border-radius:50%;background:#100d21}.golf-card-hole:before{content:'';position:absolute;left:11px;bottom:5px;width:2px;height:28px;background:#e6d8fb}.golf-card-hole:after{content:'';position:absolute;left:13px;bottom:20px;width:18px;height:12px;background:#c596f1;clip-path:polygon(0 0,100% 35%,0 100%)}
.golf-result-road{position:relative;height:14px;margin:31px 14px 0;border:1px solid #9875b454;border-radius:8px;background:#a88abd15}.golf-result-road>i{display:block;max-width:100%;height:100%;border-radius:8px;background:linear-gradient(90deg,#7454ae,#c5a1f1)}.golf-result-road>b{position:absolute;top:50%;display:grid;place-items:center;width:22px;height:22px;border:1px solid #80d9e4;border-radius:7px;background:#234452;color:#b4f1f6;font-size:14px;transform:translate(-50%,-50%)}.golf-result-road>b.hit{border-color:#d880aa;background:#52253e;color:#ffc1dd}.golf-result-goal{position:absolute;right:-4px;top:-33px;color:#b9a2d1}.golf-result-goal.is-holed{color:#e4d5ff;filter:drop-shadow(0 0 5px #a879ee99)}.golf-result-lives{display:flex;justify-content:center;gap:14px;margin-top:23px}.golf-result-lives svg{width:25px;height:25px;fill:#584364;stroke:#8b729f;stroke-width:1}.golf-result-lives .filled svg{fill:#eeeaf8;stroke:#a9a0c2}
@media(max-height:640px){.mobile-shell.golf-play{padding:8px 12px 14px;gap:8px}.golf-play .game-header{min-height:38px}.golf-hud{min-height:32px}.golf-distance{font-size:25px}.golf-instruction{font-size:14px}.golf-result-road{margin-top:25px}.golf-result-lives{margin-top:18px;gap:12px}.golf-result-lives svg{width:22px;height:22px}}
.golf-speed{display:flex;align-items:baseline;justify-content:center;gap:4px;position:relative;padding-bottom:16px;color:#ddd0ec;font-variant-numeric:tabular-nums}.golf-speed strong{font-size:24px;font-weight:800;line-height:28px}.golf-speed small{font-size:14px}.golf-max{position:absolute;left:0;right:0;bottom:0;text-align:center;color:#8debf5;font-size:14px;line-height:16px;font-weight:800;opacity:0;transition:opacity .2s}.golf-speed[data-max="true"]{color:#c9f9ff}.golf-speed[data-max="true"] .golf-max{opacity:1}.golf-preview-speed{position:absolute;top:12px;left:12px;padding:5px 10px;border:1px solid #ad89d633;border-radius:10px;background:#241b38b8}.golf-preview-speed .golf-speed strong{font-size:20px}.golf-play .golf-preview-speed{display:none}.golf-hud{gap:10px}.golf-hud>.golf-speed{min-width:72px}.golf-status{z-index:3}
@media(prefers-reduced-motion:reduce){.golf-jump,.golf-max{transition:none}}
