*{box-sizing:border-box}body{margin:0;font-family:Arial,"Microsoft YaHei",sans-serif;color:#76594a;overflow:hidden}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer;border:1px solid #a48972;border-radius:30px;background:#fff9ed;color:#76594a;padding:12px 25px}button:hover{background:#fff}a{color:inherit;text-decoration:none}.game-nav{position:fixed;top:22px;left:24px;right:24px;display:flex;justify-content:space-between;z-index:20}.game-nav a{padding:12px 18px;background:#ffffff88;border-radius:30px}.game-credit{position:fixed;bottom:10px;left:16px;font-size:11px;z-index:12;opacity:.7}.start-screen,.pause-screen{position:fixed;inset:0;display:grid;place-items:center;background:#eedbb68c;backdrop-filter:blur(6px);z-index:30;text-align:center}.start-screen p{line-height:1.9}.start-screen h2{font-size:34px}[hidden]{display:none!important}.header{z-index:10}.header h1{font-family:Georgia,"Microsoft YaHei",serif;font-size:clamp(28px,5vw,60px)}.header h2{font-size:13px;letter-spacing:3px}.world{touch-action:none}.message--instructions{bottom:45px}.score__label{letter-spacing:2px}@media(max-width:600px){.header{top:90px}.game-nav{top:14px;left:12px;right:12px}.game-credit{font-size:9px}.score__content{padding:0 10px}}
/* Keep translated headings and HUD in separate rows. */
.header{top:88px;padding:0 16px;display:flex;flex-direction:column;align-items:center;gap:10px}
.header h1{margin:0;font-size:clamp(26px,4vw,44px);line-height:1.15;letter-spacing:0;color:#967853}
.header h1 span{display:block;margin:0 0 8px;font-size:10px;font-style:normal;line-height:1.4;letter-spacing:3px}
.header h2{margin:0;font-size:12px;line-height:1.5;text-indent:0;letter-spacing:2px;white-space:normal}
.score{display:flex;justify-content:center;align-items:flex-start;gap:0;width:auto;margin:14px 0 0;white-space:normal}
.score__content{display:block;min-width:82px;padding:0 16px}
.score__label{font-size:10px;line-height:1.5;margin:0 0 8px;letter-spacing:1px;color:#806849}
.score__value--level,.score__value--dist{font-size:26px;line-height:32px}
.level-circle{top:23px;left:50%;height:42px;width:42px;margin:0 0 0 -21px}
.score__value--energy{width:62px;margin:12px auto 0}
.message--instructions{bottom:54px;font-size:12px;line-height:1.7;letter-spacing:1px;z-index:10}
.message--replay{font-size:clamp(16px,3vw,24px);letter-spacing:2px;bottom:36vh;z-index:11}
.game-credit{bottom:max(10px,env(safe-area-inset-bottom));left:16px;right:16px;text-align:center;font-size:10px;line-height:1.4}
.game-nav{top:max(16px,env(safe-area-inset-top));gap:12px}.game-nav a,.game-nav button{font-size:13px;padding:10px 16px;min-height:40px}
.start-screen,.pause-screen{padding:24px}.start-screen>div{max-width:430px;padding:28px;border-radius:20px;background:#fff6e9;box-shadow:0 12px 60px #76594a22}.start-screen h2{margin:0 0 18px}.start-screen p{font-size:14px;margin:0 0 24px}
body.modal-open .header,body.modal-open .message,body.modal-open .game-nav,body.modal-open .game-credit{visibility:hidden}
@media(max-width:600px){.header{top:78px;gap:7px}.header h1{font-size:28px}.header h1 span{font-size:9px;margin-bottom:6px}.score{margin-top:10px}.score__content{min-width:78px;padding:0 12px}}
@media(max-height:520px){.header{top:68px;flex-direction:row;justify-content:center;gap:28px}.header h1{font-size:23px}.header h1 span{display:none}.header h2{display:none}.score{margin:0}.score__label{margin-bottom:3px}.level-circle{top:18px}.message--instructions{bottom:36px;font-size:10px}.message--instructions span{display:inline;margin-left:14px}.game-credit{font-size:9px;bottom:8px}.start-screen>div{padding:20px}.start-screen h2{font-size:26px;margin-bottom:8px}.start-screen p{margin-bottom:12px}}

.fire-button{position:fixed;right:24px;bottom:max(74px,calc(env(safe-area-inset-bottom) + 64px));z-index:20;width:64px;height:64px;padding:16px;border-radius:50%;background:#fff7decc;touch-action:none;user-select:none;-webkit-user-select:none}.fire-button svg{width:100%;height:100%;fill:none;stroke:#a2643c;stroke-width:2.5}.fire-button:active{background:#ffe398;transform:scale(.95)}body.modal-open .fire-button{visibility:hidden}@media(max-width:600px){.fire-button{right:18px;width:58px;height:58px;padding:14px}}@media(max-height:520px){.fire-button{bottom:48px;right:18px}}

html,body,.game-holder{width:100%;height:100%;height:100dvh;overscroll-behavior:none}body{-webkit-user-select:none;user-select:none}.move-pad{display:none;position:fixed;left:max(22px,env(safe-area-inset-left));bottom:calc(30px + env(safe-area-inset-bottom));width:96px;height:96px;border-radius:50%;border:1px solid #a4897280;background:#fff9ed55;z-index:20;touch-action:none;box-shadow:inset 0 0 0 20px #fff9ed33}.move-knob{position:absolute;left:50%;top:50%;width:40px;height:40px;border-radius:50%;background:#a2643c99;border:2px solid #fff9ed;transform:translate(-50%,-50%);pointer-events:none}body.modal-open .move-pad{visibility:hidden}
@media(pointer:coarse),(max-width:600px){.move-pad{display:block}.fire-button{width:72px;height:72px;right:max(22px,env(safe-area-inset-right));bottom:calc(42px + env(safe-area-inset-bottom));padding:20px}.game-nav{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));top:calc(10px + env(safe-area-inset-top))}.header{top:calc(66px + env(safe-area-inset-top));gap:4px}.header h1{font-size:24px}.header h1 span,.header h2{display:none}.score{margin-top:5px}.score__content{min-width:74px;padding:0 10px}.score__label{margin-bottom:4px}.score__value--level,.score__value--dist{font-size:22px}.level-circle{top:18px;width:36px;height:36px;margin-left:-18px}.message--instructions{bottom:calc(146px + env(safe-area-inset-bottom));font-size:11px}.game-credit{bottom:calc(6px + env(safe-area-inset-bottom));font-size:9px}.start-screen{padding:18px}.start-screen>div{padding:24px;max-height:85dvh;overflow:auto}.start-screen h2{font-size:27px}}
@media(max-height:500px) and (orientation:landscape){.header{top:calc(12px + env(safe-area-inset-top));left:140px;width:calc(100% - 280px);gap:0}.header h1,.header h2{display:none}.score{margin:0}.score__content{min-width:65px;padding:0 8px}.move-pad{display:block;width:80px;height:80px;bottom:calc(24px + env(safe-area-inset-bottom))}.move-knob{width:34px;height:34px}.fire-button{width:64px;height:64px;bottom:calc(32px + env(safe-area-inset-bottom));padding:18px}.message--instructions{bottom:30px}.game-credit{font-size:8px}.start-screen>div{padding:16px 24px}.start-screen h2{font-size:23px}.start-screen p{font-size:12px;margin-bottom:12px}}
