*{box-sizing:border-box}
:root{--gold:#e5b94d;--gold-light:#ffe78b;--bronze:#897038;--ink:#132421;--muted:#cec5a5;--white:#fff0c9;--font:'DM Sans',sans-serif;--display:'Cinzel',Georgia,serif;--stone:linear-gradient(#1a1a10b0,#292417d9),url('./assets/stone-path.png')}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#100d1c;color:var(--white);font-family:var(--font);overscroll-behavior:none}
button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:focus-visible{outline:3px solid #fff3aa;outline-offset:5px}
button svg,button span{pointer-events:none}
[hidden]{display:none!important}
.svg-library{position:absolute;width:0;height:0;overflow:hidden}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#game-canvas{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}
.screen-vignette{position:fixed;inset:0;z-index:1;pointer-events:none;box-shadow:inset 0 0 100px 8px #071b164d}
.screen-grain{position:fixed;inset:0;pointer-events:none;opacity:.025;z-index:30;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.6' filter='url(%23n)'/%3E%3C/svg%3E")}
.site-header{position:absolute;inset:0 0 auto;z-index:11;display:flex;justify-content:space-between;align-items:center;padding:18px 25px;pointer-events:none}
.header-tools{display:flex;gap:9px;pointer-events:auto}
.header-best{display:flex;align-items:center;gap:8px;padding:8px 13px;background:#14231ac4;border:1px solid #bca46455;border-radius:3px;box-shadow:0 2px 6px #0004;color:#d3bc7a;text-shadow:0 1px #000}
.header-best svg{width:16px;height:16px}.header-best span{font-family:var(--display);font-size:10px;font-weight:800;letter-spacing:1px}.header-best strong{font-family:var(--display);font-size:16px;color:#f1d57c}
.icon-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:39px;height:39px;padding:0;background:var(--stone);background-size:cover,230px;border:2px solid #b39647;border-radius:7px;box-shadow:inset 0 1px #f8e09a77,inset 0 -3px #0005,0 3px 7px #0007;color:#fbe28a;transition:filter .15s,transform .15s}
.icon-button svg{width:19px;height:19px;stroke-width:2}.icon-button:hover{filter:brightness(1.2)}.icon-button:active{transform:translateY(1px)}
.menu-overlay{position:absolute;inset:0;z-index:5;pointer-events:none}
.menu-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0617133d,transparent 35%,transparent 60%,#06120d95 88%,#04100de0)}
.carved-border{position:absolute;top:0;bottom:0;width:25px;height:100%;background:linear-gradient(90deg,#4c3f23,#6e602f44,#4e4527);box-shadow:0 0 0 2px #292b1c,inset 0 0 0 1px #bfa14a;opacity:.76;filter:drop-shadow(0 0 4px #00170c);stroke:none}
.carved-border-left{left:0}.carved-border-right{right:0;transform:scaleX(-1)}
.game-title{position:absolute;top:max(1.5vh,12px);left:50%;transform:translateX(-50%);width:min(49vw,460px,59vh);margin:0;filter:drop-shadow(0 7px 1px #1b170bcc) drop-shadow(0 14px 15px #0008)}
.game-title img{display:block;width:100%;height:auto;user-select:none;pointer-events:none}
.menu-content{position:absolute;left:50%;bottom:137px;transform:translateX(-50%);width:340px;max-width:calc(100vw - 68px);pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:13px}
.gold-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:18px;color:#ffe383;background:linear-gradient(#4f442cb3,#221f15e8),url('./assets/stone-path.png');background-size:auto,390px;border:3px solid #b38b3e;border-radius:9px;box-shadow:inset 0 2px 0 #f8d98799,inset 0 0 0 3px #54482d,inset 0 -6px 0 #191d1470,0 5px 0 #1b2119,0 8px 15px #0008;font-family:var(--display);font-size:22px;font-weight:900;text-shadow:0 3px 0 #694112,0 4px 3px #000;letter-spacing:1.5px;height:60px;padding:0 24px;transition:filter .15s,transform .15s}
.gold-button:before,.gold-button:after{content:'◆';position:absolute;top:50%;transform:translateY(-50%);font-family:Georgia,serif;font-size:17px;font-weight:400;color:#b8954c;text-shadow:0 -1px #e5c36a,0 1px #291c0d}.gold-button:before{left:14px}.gold-button:after{right:14px}
.gold-button:hover{filter:brightness(1.19);transform:translateY(-2px)}.gold-button:active{transform:translateY(2px);box-shadow:inset 0 2px 0 #f8d98799,inset 0 0 0 3px #54482d,inset 0 -3px 0 #191d1470,0 3px 0 #1b2119,0 5px 10px #0008}
.gold-button svg{width:21px;height:21px}.play-button{width:286px;max-width:100%;height:78px;font-size:47px;letter-spacing:3px;border-width:4px;border-radius:11px}.play-button:before,.play-button:after{font-size:23px}.play-button:before{left:19px}.play-button:after{right:19px}
.menu-secondary{display:flex;width:100%;gap:12px}.stone-button{display:flex;flex:1;align-items:center;justify-content:center;gap:7px;min-width:0;height:45px;padding:0 9px;border:2px solid #9c8444;border-radius:5px;background:var(--stone);background-size:auto,300px;box-shadow:inset 0 1px #ead39388,inset 0 -3px #0005,0 3px 7px #0006;color:#e9d181;font-family:var(--display);font-size:10px;font-weight:800;letter-spacing:.7px;text-shadow:0 2px #241d0c;transition:filter .15s}.stone-button svg{width:17px;height:17px;stroke-width:2;flex-shrink:0}.stone-button:hover{filter:brightness(1.2)}
.menu-stats{position:absolute;left:50%;bottom:54px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,1fr);width:420px;max-width:calc(100vw - 70px);padding:14px 0 10px;border-top:1px solid #baa05b55;border-bottom:1px solid #baa05b33;background:linear-gradient(90deg,transparent,#09170d99 25%,#09170d99 75%,transparent)}
.menu-stats>div{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}.menu-stats>div+div{border-left:1px solid #bdac6744}.menu-stats span{font-family:var(--display);font-weight:700;font-size:8px;letter-spacing:1px;color:#c7bb8b;white-space:nowrap;text-shadow:0 1px 3px #000}.menu-stats strong{display:flex;align-items:center;justify-content:center;gap:5px;font-family:var(--display);font-size:20px;color:#f5d572;text-shadow:0 2px 3px #000}.menu-stats b{font-weight:700}.menu-stats small{font:12px var(--font);color:#b7b68e}.menu-stats svg{width:15px;height:15px;stroke-width:2}
.menu-footer{position:absolute;bottom:max(15px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:17px;color:#c1c2a1;text-shadow:0 2px 4px #000;white-space:nowrap}.menu-footer>span{font-size:8px;letter-spacing:1.2px}.menu-footer small{font-size:7px;letter-spacing:1.4px;border-left:1px solid #a8a06c66;padding-left:17px;color:#8e9c83}
.hud{position:absolute;inset:0;z-index:12;pointer-events:none}
.hud-scores{position:absolute;top:max(16px,env(safe-area-inset-top));right:18px;display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.score-tablet,.coin-tablet{position:relative;background:linear-gradient(#4b4128b5,#222719df),url('./assets/stone-path.png');background-size:auto,240px;border:3px solid #a28d43;box-shadow:inset 0 1px #f5dd8b99,inset 0 0 0 2px #594e2b,inset 0 -3px #111c1877,0 3px 5px #001b16aa;color:#f4d762;border-radius:8px 4px 8px 5px;text-shadow:0 2px #5c4014,0 3px 2px #15221c}
.score-tablet{min-width:162px;padding:5px 15px;text-align:right}.score-tablet strong{font-family:var(--display);font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2}
.coin-tablet{display:flex;align-items:center;gap:9px;min-width:100px;padding:4px 11px;border-width:2px;margin-right:2px}.coin-tablet svg{width:18px;height:18px;stroke-width:2.5;color:#ffdd5e}.coin-tablet strong{font-family:var(--display);font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}
.distance-tablet{display:flex;align-items:baseline;gap:3px;margin-right:9px;padding:2px 5px;font-size:11px;font-weight:600;color:#f3e2ad;text-shadow:0 2px 4px #000}.distance-tablet b{font-family:var(--display);font-size:15px;font-variant-numeric:tabular-nums}
.idol-meter{position:absolute;top:10px;left:12px;display:flex;flex-direction:column;align-items:center;width:49px;filter:drop-shadow(0 2px 3px #18210e)}.meter-idol{width:45px;height:49px;color:#f2cf58;stroke-width:2;fill:#514b20}.idol-meter strong{position:absolute;top:48px;left:43px;font-family:var(--display);font-size:22px;color:#f7d861;text-shadow:0 2px #58471b;white-space:nowrap}.meter-channel{position:relative;width:18px;height:min(26vh,194px);border:4px solid #b29a3e;border-radius:4px;background:#2d321a;box-shadow:inset 0 0 0 1px #171c0d,inset 0 0 6px #000,0 0 0 1px #3e421e;overflow:hidden}.meter-channel:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 18px,#c9b75855 18px 20px);z-index:1}.meter-channel i{position:absolute;bottom:0;left:0;right:0;height:0%;background:linear-gradient(90deg,#ba7a12,#fff871 45%,#efc52d 65%,#9d7517);box-shadow:0 0 8px #ffec69;transition:height .2s}
.pause-button{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));right:21px;width:52px;height:52px;border-width:3px;border-radius:8px;pointer-events:auto}.pause-button svg{width:29px;height:29px;stroke-width:4}
.chase-status{position:absolute;left:50%;top:105px;transform:translateX(-50%);font-family:var(--display);font-weight:900;font-size:13px;color:#ffc682;text-shadow:0 2px #492612,0 3px 5px #000;white-space:nowrap}
.play-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:8px;letter-spacing:1.2px;color:#eee4babb;text-shadow:0 2px 5px #000}.play-hint i{height:3px;width:3px;border-radius:50%;background:#d1c47b}
.turn-cue{position:absolute;top:21%;left:50%;transform:translateX(-50%);z-index:13;display:flex;flex-direction:column;align-items:center;color:#fff08a;text-shadow:0 3px 0 #624212,0 5px 8px #0b201a;pointer-events:none}.turn-cue-kicker{font-family:var(--display);font-size:10px;font-weight:800;letter-spacing:1.8px}.turn-cue strong{font-family:Arial,sans-serif;font-size:83px;font-weight:900;line-height:.95;filter:drop-shadow(0 0 8px #ba8c2c55)}#turn-label{font-family:var(--display);font-size:15px;font-weight:900;letter-spacing:1px}.turn-cue.ready{color:#b8f8b0}
.powerup-status{position:absolute;bottom:85px;left:50%;transform:translateX(-50%);z-index:15;padding:9px 16px;background:var(--stone);background-size:auto,240px;border:2px solid #b8a264;border-radius:5px;box-shadow:0 3px 5px #0005;color:#fff1aa;font-family:var(--display);font-size:11px;font-weight:700;letter-spacing:.6px;white-space:nowrap;pointer-events:none}
.status-toast{position:absolute;top:140px;left:50%;transform:translateX(-50%);z-index:35;max-width:calc(100vw - 50px);pointer-events:none;opacity:0;color:#fff3bf;text-shadow:0 2px #4b3519,0 3px 7px #000;font-family:var(--display);font-size:13px;font-weight:800;line-height:1.5;letter-spacing:.5px;text-align:center;transition:opacity .2s}.status-toast.visible{opacity:1}.status-toast:empty{opacity:0}
.modal-overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:25px;background:#051510b0;backdrop-filter:blur(3px)}
.stone-panel{position:relative;width:410px;max-width:100%;max-height:calc(100dvh - 42px);overflow:auto;padding:32px 35px 24px;background:linear-gradient(#252b1aeb,#111e14f5),url('./assets/stone-path.png');background-size:auto,540px;border:5px solid #8e793f;border-radius:11px;box-shadow:inset 0 0 0 2px #d1b76888,inset 0 0 0 6px #342f1d,0 5px 0 #282d19,0 20px 70px #0009;text-align:center}
.stone-panel:before,.stone-panel:after{content:'◆';position:absolute;color:#d4b85f;font-size:18px;line-height:1;text-shadow:0 2px #302814;pointer-events:none}.stone-panel:before{top:11px;left:11px}.stone-panel:after{bottom:11px;right:11px}
.panel-crest{display:flex;justify-content:center;color:#d4bd64;margin-bottom:13px}.panel-crest svg{width:42px;height:46px;fill:#82703833;stroke-width:1.6}.panel-eyebrow{display:block;font-size:8px;letter-spacing:1.6px;color:#bdb588;font-weight:700;margin-bottom:9px}.stone-panel h2{font-family:var(--display);font-weight:900;font-size:30px;line-height:1.3;color:#efd270;text-shadow:0 3px #5c441e,0 4px 2px #0009;margin:0 0 12px}.stone-panel>p{font-size:12px;line-height:1.7;color:#cdc9aa;margin:0 0 22px}.wide{width:100%;height:53px;font-size:19px;letter-spacing:1px}
.outline-button{border:2px solid #817242;border-radius:5px;background:linear-gradient(#6a613222,#6a613244);color:#dbca8b;font-family:var(--display);font-size:15px;font-weight:800;letter-spacing:1px;margin-top:14px;box-shadow:inset 0 1px #bda66a66,0 2px 3px #0004}.outline-button:hover{background:#78653755}.tilt-button{display:block;width:100%;min-height:43px;font-size:12px;padding:10px}
.text-button{border:0;background:none;color:#c4bc91;font-family:var(--display);font-size:11px;font-weight:800;letter-spacing:1px;padding:18px 10px 7px}.text-button:hover{color:#ffe88a}.panel-shortcut{display:block;font-size:8px;letter-spacing:1.2px;color:#8e9c79;margin-top:20px}
.results-panel{padding-top:24px}.results-panel .panel-crest{margin-bottom:8px}.results-panel>p{margin-bottom:14px}.result-score{display:flex;flex-direction:column;gap:4px;border-top:1px solid #a89c5b55;padding-top:17px}.result-score span{font-family:var(--display);font-size:10px;font-weight:800;letter-spacing:2px;color:#bdb789}.result-score strong{font-family:var(--display);font-size:49px;font-weight:800;color:#f7d764;line-height:1.25;text-shadow:0 3px #584219}.result-stats{display:grid;grid-template-columns:1fr 1fr;margin:16px 0 22px}.result-stats>div{display:flex;flex-direction:column;gap:7px}.result-stats>div+div{border-left:1px solid #a89c5b44}.result-stats span{font-family:var(--display);font-size:9px;font-weight:700;letter-spacing:1.4px;color:#b2af84}.result-stats strong{display:flex;justify-content:center;align-items:center;gap:6px;font-family:var(--display);font-size:24px;color:#ead497}.result-stats b{font-weight:700}.result-stats small{font:12px var(--font);color:#b7b58b}.result-stats svg{width:20px;height:20px;stroke-width:2;color:#efcd5c}.new-best{display:block;color:#ffe468;font-family:var(--display);font-size:11px;font-weight:800;letter-spacing:1px;margin:14px 0;text-shadow:0 2px #514118}
.help-panel{width:575px;text-align:left;padding:37px 36px 27px}.help-panel h2{font-size:29px}.help-panel>p{margin-bottom:18px}.panel-close{position:absolute;top:12px;right:12px;width:31px;height:31px;border-width:1px;border-radius:4px}.panel-close svg{width:16px;height:16px}.control-list>div{display:flex;align-items:center;gap:16px;padding:15px 0;border-top:1px solid #a89c5b44}.key-cap{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:43px;height:40px;background:linear-gradient(#7e70442c,#413e2422);border:2px solid #9f8c50;border-bottom:4px solid #746138;border-radius:5px;font-size:24px;color:#f4d77f;font-weight:700;text-shadow:0 2px #4b3b1b}.double-key{font-size:15px;letter-spacing:-2px}.letter-key{font-size:16px}.control-list>div>div{display:flex;flex-direction:column;gap:5px}.control-list strong{font-family:var(--display);font-size:12px;font-weight:900;letter-spacing:.5px;color:#e8d28f}.control-list div div span{font-size:10px;color:#b5b69a;line-height:1.5}.control-note{margin-left:auto;max-width:90px;text-align:right;font-size:10px;line-height:1.4;color:#a7ac89}.help-tip{display:flex;align-items:center;gap:13px;background:#92804416;padding:14px;border:1px solid #a89a544d;border-radius:4px;margin-top:8px}.help-tip svg{width:24px;height:24px;flex-shrink:0;color:#e7c15c;stroke-width:2}.help-tip p{font-size:11px;line-height:1.6;margin:0;color:#c6c3a1}.help-footnote{display:block;font-size:9px;color:#849b7d;margin-top:17px;text-align:center;line-height:1.6}
.objectives-panel{text-align:left;width:460px;padding-top:43px}.objective-item{padding:18px 0;border-top:1px solid #b4a1614d}.objective-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.objective-heading strong{font-family:var(--display);font-size:12px;color:#efdb98;font-weight:800}.objective-heading span{font-size:8px;font-weight:700;letter-spacing:.6px;color:#d7c574}.objective-item p{font-size:11px;line-height:1.5;color:#afb296}.objective-track{height:5px;background:#8d874033;border:1px solid #a4964e33}.objective-track i{display:block;height:100%;background:linear-gradient(90deg,#a98021,#edcd69)}.local-note{font-size:9px!important;margin:20px 0 0!important;color:#8b9e81!important}
#touch-controls{position:fixed;bottom:max(19px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:14;display:none;gap:9px}#touch-controls button{width:48px;height:43px;border-radius:6px;background:linear-gradient(#223b2dcc,#16291bdc);border:2px solid #b5a462aa;box-shadow:inset 0 1px #dcca8077,0 3px 5px #001b1666;color:#f9e58e;font-size:25px;font-weight:700;touch-action:none}#touch-controls button:active{background:#88733b}
.loading-overlay{position:fixed;inset:0;z-index:50;background:radial-gradient(ellipse at 50% 40%,#24213a,#161126 60%,#100d1c);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#e4cb80;gap:23px}.loading-logo{width:min(340px,75vw);height:auto;filter:drop-shadow(0 8px 15px #0008)}#loading-label{max-width:80%;font-family:var(--display);font-size:10px;font-weight:700;letter-spacing:2px;line-height:1.8;text-align:center}.loading-line{position:relative;width:165px;height:4px;background:#9f94602e;border:1px solid #a4914266;overflow:hidden}.loading-line:after{content:'';position:absolute;inset:0;background:#dec05f;animation:loading 1.5s ease-in-out infinite;transform-origin:left}.loading-overlay>.primary-button{background:#d8b256;color:#192d20;border:2px solid #efd68a;border-radius:5px;padding:12px 24px;font-family:var(--display);font-weight:800}@keyframes loading{0%{transform:scaleX(0)}70%{transform:scaleX(1)}100%{transform:translateX(100%)}}
@media(min-width:1100px){.menu-content{bottom:16.5vh}.menu-stats{bottom:7vh}.game-title{top:1vh;width:min(43vw,490px,59vh)}.carved-border{width:24px}}
@media(max-width:700px){.site-header{padding:10px 16px}.header-best{padding:6px 8px;gap:6px}.header-best svg{width:13px;height:13px}.header-best span{font-size:8px}.header-best strong{font-size:12px}.header-tools{gap:7px}.icon-button{width:32px;height:32px;border-width:1px;border-radius:5px}.icon-button svg{width:17px;height:17px}.carved-border{width:15px;opacity:.62}.game-title{top:51px;width:min(86vw,390px,44vh)}.menu-content{width:310px;bottom:133px;max-width:calc(100vw - 48px);gap:12px}.play-button{width:264px;height:73px;font-size:43px}.menu-secondary{gap:10px}.stone-button{height:43px;font-size:9px;letter-spacing:.4px}.stone-button svg{width:15px;height:15px}.menu-stats{max-width:calc(100vw - 49px);width:360px;bottom:54px;padding-top:12px}.menu-stats span{font-size:7px;letter-spacing:.6px}.menu-stats strong{font-size:17px}.menu-footer{gap:0;bottom:max(19px,env(safe-area-inset-bottom))}.menu-footer>span{font-size:7px;letter-spacing:.65px}.menu-footer small{display:none}.hud-scores{right:11px;top:max(11px,env(safe-area-inset-top));gap:5px}.score-tablet{min-width:138px;padding:5px 11px;border-width:2px}.score-tablet strong{font-size:25px}.coin-tablet{min-width:85px;padding:3px 8px}.coin-tablet strong{font-size:16px}.coin-tablet svg{width:16px;height:16px}.distance-tablet{font-size:10px;margin-right:4px}.distance-tablet b{font-size:13px}.idol-meter{top:7px;left:6px;width:39px}.meter-idol{width:37px;height:41px}.idol-meter strong{top:40px;left:34px;font-size:19px}.meter-channel{width:15px;border-width:3px;height:min(25vh,160px)}.pause-button{right:11px;bottom:max(18px,env(safe-area-inset-bottom));width:44px;height:46px;border-width:2px}.pause-button svg{width:26px;height:26px;stroke-width:4}.play-hint{font-size:7px;letter-spacing:.5px;gap:8px;bottom:28px;padding-right:35px}.turn-cue{top:23%}.turn-cue strong{font-size:74px}.turn-cue-kicker{font-size:9px;letter-spacing:1.3px}#turn-label{font-size:13px}.status-toast{top:138px;font-size:11px;max-width:calc(100vw - 38px);width:330px}.powerup-status{bottom:80px;font-size:9px;padding:8px 12px}.chase-status{top:114px;font-size:10px}.modal-overlay{padding:20px}.stone-panel{padding:27px 24px 21px;border-width:4px;border-radius:9px}.stone-panel h2{font-size:28px}.stone-panel>p{font-size:11px}.panel-crest svg{width:35px;height:39px}.wide{height:51px;font-size:18px}.outline-button{font-size:14px}.help-panel{padding-top:38px}.help-panel h2{font-size:26px}.control-note{display:none}.control-list>div{gap:13px;padding:13px 0}.control-list div div span{font-size:9px}.control-list strong{font-size:11px}.help-tip{padding:11px;gap:10px}.help-tip p{font-size:10px}.objectives-panel{padding-top:39px}.objective-heading strong{font-size:11px}.objective-heading span{font-size:7px}.tilt-button{font-size:11px}}
@media(max-width:360px){.site-header{padding:10px 13px}.header-best span{display:none}.menu-content{bottom:130px;width:276px}.play-button{width:245px;height:68px;font-size:40px}.stone-button{font-size:8px;gap:5px}.menu-stats{max-width:calc(100vw - 43px)}.menu-stats span{font-size:6px}.menu-stats strong{font-size:16px}.game-title{top:50px;width:88vw}.menu-footer>span{font-size:6px}.help-panel{padding-left:20px;padding-right:20px}.control-list>div{gap:10px}.control-list div div span{font-size:8px}#touch-controls{left:46%;gap:6px}#touch-controls button{width:44px;height:42px}}
@media(max-height:680px) and (max-width:700px){.game-title{top:41px;width:min(82vw,36vh)}.menu-content{bottom:114px;gap:9px}.play-button{height:65px;font-size:38px}.stone-button{height:39px}.menu-stats{bottom:41px;padding:10px 0 8px}.menu-stats strong{font-size:16px}.menu-footer{bottom:14px}}
@media(max-height:520px) and (min-width:600px){.site-header{padding:10px 16px}.game-title{left:26%;top:25px;width:min(36vw,58vh)}.menu-content{left:75%;bottom:82px;width:275px;gap:10px}.play-button{width:240px;height:67px;font-size:38px}.stone-button{height:39px;font-size:8px}.menu-stats{bottom:30px;left:75%;width:290px;padding:9px 0 6px}.menu-stats span{font-size:6px}.menu-stats strong{font-size:15px}.menu-footer{left:26%;bottom:20px}.menu-footer small{display:none}.menu-footer>span{font-size:7px;letter-spacing:.5px}.carved-border{width:15px}.header-best{visibility:hidden}.stone-panel{padding:20px 28px;max-height:calc(100dvh - 24px)}.panel-crest,.panel-shortcut{display:none}.stone-panel h2{font-size:26px}.stone-panel>p{margin-bottom:13px}.result-score{padding-top:11px}.result-score strong{font-size:36px}.result-stats{margin:9px 0 15px}.wide{height:46px;font-size:16px}.outline-button{margin-top:10px}.text-button{padding-top:13px}.help-panel{padding-top:29px}.control-list>div{padding:9px 0}.help-tip,.help-footnote{display:none}.status-toast{top:112px}.turn-cue{top:23%}.turn-cue strong{font-size:56px}.idol-meter .meter-channel{height:95px}.pause-button{bottom:13px;right:15px}.play-hint{bottom:19px}}
@media(pointer:coarse){#touch-controls{display:flex}.play-hint{display:none}.powerup-status{bottom:81px}}
/* Keep controls inside notches while preserving the full-bleed game scene. */
.site-header{padding-top:max(18px,env(safe-area-inset-top));padding-left:max(25px,env(safe-area-inset-left));padding-right:max(25px,env(safe-area-inset-right))}
.idol-meter{top:max(10px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left))}
.hud-scores{right:max(18px,env(safe-area-inset-right))}
.pause-button{right:max(21px,env(safe-area-inset-right))}
.modal-overlay{padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
.stone-panel{max-height:calc(100dvh - max(42px,calc(env(safe-area-inset-top) + env(safe-area-inset-bottom) + 32px)))}
@media(max-width:700px){.site-header{padding-top:max(10px,env(safe-area-inset-top));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.header-tools .icon-button{width:44px;height:44px}.game-title{top:max(61px,calc(env(safe-area-inset-top) + 51px))}.idol-meter{top:max(7px,env(safe-area-inset-top));left:max(6px,env(safe-area-inset-left))}.hud-scores{right:max(11px,env(safe-area-inset-right))}.pause-button{right:max(11px,env(safe-area-inset-right))}.control-list>div>div{min-width:0}.control-list div div span{font-size:11px}.help-tip p{font-size:11px}.help-footnote{font-size:10px}.panel-close{width:44px;height:44px;top:9px;right:9px}.help-panel h2,.objectives-panel h2{padding-right:27px}}
@media(max-height:520px) and (min-width:600px){.game-title{top:max(25px,env(safe-area-inset-top))}.site-header{padding-top:max(10px,env(safe-area-inset-top))}}
@media(pointer:coarse){.header-tools .icon-button{min-width:44px;min-height:44px}#touch-controls button{min-height:44px}.tilt-button{min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.coin-tablet{transform-origin:right center}
#coins-value{display:inline-block;transform-origin:center}
.coin-gain{position:absolute;right:calc(100% + 11px);top:50%;opacity:0;transform:translateY(-50%);color:#fff0a0;font-family:var(--display);font-size:19px;font-weight:900;line-height:1;white-space:nowrap;text-shadow:0 2px 0 #644015,0 0 9px #a96f20,0 3px 5px #102015;pointer-events:none}
@media(max-width:700px){.coin-gain{right:calc(100% + 8px);font-size:17px}}

.monkey-mode-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;min-height:82px;padding:10px 12px;border:2px solid #b4ad62;border-radius:8px;background:linear-gradient(#2b503fdf,#102c24f2),url('./assets/stone-path.png');background-size:auto,340px;box-shadow:inset 0 1px #d5e59b99,inset 0 0 0 3px #3e5a3b99,0 4px 0 #13291e,0 7px 12px #0007;color:#e9edb3;text-shadow:0 2px 2px #071b14;transition:filter .15s,transform .15s}
.hud.intro-hud>:not(.pause-button){display:none!important}
.intro-caption p{margin:8px 0 0;font-size:12px;line-height:1.5;letter-spacing:.25px;color:#e4edcc}
.intro-overlay{position:absolute;inset:0;z-index:13;pointer-events:none}.intro-caption{position:absolute;left:50%;bottom:max(100px,13vh);transform:translateX(-50%);width:max-content;max-width:calc(100vw - 40px);text-align:center;text-shadow:0 2px 4px #061d14,0 0 20px #061d14;pointer-events:none}.intro-caption span{display:block;font-family:var(--display);font-size:10px;font-weight:800;letter-spacing:3px;color:#ccdbb5;margin-bottom:8px}.intro-caption strong{font-family:var(--display);font-size:26px;line-height:1.3;letter-spacing:2px;color:#f4edbc}.skip-intro-button{position:absolute;right:max(83px,calc(env(safe-area-inset-right) + 67px));bottom:max(22px,env(safe-area-inset-bottom));min-height:43px;padding:9px 15px;display:flex;align-items:center;gap:14px;border:1px solid #b9c38b99;border-radius:5px;background:#102d22d9;color:#e4edc8;font-size:11px;letter-spacing:.3px;pointer-events:auto;box-shadow:0 2px 5px #0004}.skip-intro-button span{font-size:23px;line-height:1}.skip-intro-button:hover{background:#355439eb;color:#fff5c9}
@media(max-width:700px){.intro-caption strong{font-size:20px;letter-spacing:1px}.intro-caption span{font-size:9px;letter-spacing:2px}.skip-intro-button{right:max(72px,calc(env(safe-area-inset-right) + 62px));bottom:max(19px,env(safe-area-inset-bottom));font-size:10px;padding:9px 12px}}
@media(max-height:520px) and (min-width:600px){.intro-caption{bottom:69px}.intro-caption strong{font-size:19px}.intro-caption span{font-size:8px;margin-bottom:5px}.skip-intro-button{bottom:13px}}
.monkey-mode-button:hover{filter:brightness(1.2);transform:translateY(-2px)}.monkey-mode-button:active{transform:translateY(1px)}
.monkey-mode-title{font-family:var(--display);font-size:19px;line-height:1.2;font-weight:900;letter-spacing:.5px}.monkey-mode-description{font-size:10px;line-height:1.35;color:#c9d4b4}.monkey-record{font-size:8px;line-height:1.35;letter-spacing:.5px;color:#a8bb92}
.capture-panel{position:absolute;left:82px;top:max(18px,env(safe-area-inset-top));min-width:138px;padding:9px 12px 8px;border:1px solid #b6b57c99;border-radius:5px;background:linear-gradient(135deg,#17392ee8,#132a22cc);box-shadow:0 3px 8px #061b164d;color:#e2ecc0;transform-origin:left top;text-shadow:0 2px 3px #00170d}
.capture-mode-label{display:block;margin-bottom:3px;font-family:var(--display);font-size:9px;font-weight:900;letter-spacing:1.3px;color:#c5da9f}.capture-panel>div{display:flex;align-items:baseline;gap:7px}.capture-panel strong{font-family:var(--display);font-size:28px;line-height:1.1;font-weight:900;font-variant-numeric:tabular-nums;color:#eff5ba}.capture-panel div span{font-family:var(--display);font-size:8px;font-weight:800;letter-spacing:.8px}.capture-panel small{display:block;font-size:10px;line-height:1.7;color:#b8ccaa}.capture-panel small b{font-variant-numeric:tabular-nums;font-weight:700;color:#e0e9bc}
.target-cue{position:absolute;left:50%;bottom:136px;transform:translateX(-50%);padding:8px 13px;border:1px solid #b3b67a88;border-radius:5px;background:#142d22df;color:#d5e5b4;max-width:calc(100vw - 40px);font-family:var(--display);font-size:10px;line-height:1.5;font-weight:800;letter-spacing:.5px;text-align:center;white-space:nowrap;box-shadow:0 3px 8px #041d1266;text-shadow:0 1px #0a1e12}.target-cue.ready{border-color:#e1e994;color:#f3ffb9;background:#315435ed;box-shadow:0 0 18px #c7d56c22,0 3px 8px #041d1266}
.capture-feedback{position:absolute;left:50%;bottom:max(26%,180px);transform:translateX(-50%);width:max-content;max-width:calc(100vw - 44px);padding:11px 16px;border:1px solid #edf1a5;border-radius:6px;background:linear-gradient(120deg,#315234f2,#183923f5);box-shadow:0 0 22px #c7d56c33,0 4px 12px #041d1299;color:#f5ffd0;font-family:var(--display);font-size:12px;line-height:1.5;font-weight:900;letter-spacing:.5px;text-align:center;text-shadow:0 2px #16311a;pointer-events:none}
@media(max-width:700px){.capture-feedback{font-size:10px;padding:10px 12px;letter-spacing:.2px}}
@media(max-height:520px) and (min-width:600px){.capture-feedback{bottom:max(28%,112px);font-size:10px;padding:8px 12px}}
.result-stats.has-captures{grid-template-columns:repeat(3,1fr)}.monkey-result-record{font-size:10px!important;line-height:1.6!important;color:#bcd1a4!important;margin:-8px 0 17px!important}.monkey-help{margin-top:16px;padding:13px 0 0;border-top:1px solid #a89a544d}.monkey-help strong{font-family:var(--display);font-size:13px;color:#d1dfaa}.monkey-help p{font-size:11px;line-height:1.65;color:#bdc5a3;margin:7px 0 0}
@media(max-width:700px){.monkey-mode-button{min-height:77px;padding:9px 8px;gap:4px}.monkey-mode-title{font-size:18px}.monkey-mode-description{font-size:9px}.monkey-record{font-size:8px;letter-spacing:0}.capture-panel{left:68px;top:max(11px,env(safe-area-inset-top));min-width:126px;padding:7px 9px 6px}.capture-mode-label{font-size:8px;letter-spacing:1px}.capture-panel strong{font-size:25px}.capture-panel div span{font-size:7px;letter-spacing:.6px}.capture-panel small{font-size:9px}.target-cue{font-size:9px;bottom:130px;padding:7px 9px;letter-spacing:.2px}.result-stats.has-captures span{font-size:8px;letter-spacing:.5px}.result-stats.has-captures strong{font-size:21px}}
@media(max-width:380px){.capture-panel{left:56px;min-width:112px;padding:7px}.capture-panel strong{font-size:23px}.capture-panel>div{gap:5px}.capture-mode-label{letter-spacing:.6px}.capture-panel div span{letter-spacing:0}.target-cue{font-size:8px}.monkey-mode-title{font-size:17px}}
@media(max-height:680px) and (max-width:700px){.monkey-mode-button{min-height:67px;padding:7px;gap:3px}.monkey-mode-title{font-size:16px}.monkey-mode-description{font-size:8px}.monkey-record{font-size:7px}.menu-content{gap:9px}.play-button{height:59px;font-size:35px}}
@media(max-height:520px) and (min-width:600px){.menu-content{gap:8px}.monkey-mode-button{min-height:64px;gap:3px;padding:7px}.monkey-mode-title{font-size:16px}.monkey-mode-description{font-size:8px}.monkey-record{font-size:7px}.play-button{height:57px;font-size:34px}.capture-panel{top:12px;min-width:122px;padding:6px 9px}.capture-mode-label{font-size:8px}.capture-panel strong{font-size:22px}.capture-panel small{font-size:8px}.target-cue{bottom:77px;font-size:9px}.monkey-help{padding-top:10px;margin-top:10px}.monkey-help p{font-size:10px}.monkey-result-record{margin-bottom:10px!important}}
/* Camera selection uses the live game scene as its preview. */
.camera-menu-button{flex:none;width:100%;height:35px;gap:12px;font-size:10px}.camera-menu-button strong{font-family:var(--font);font-weight:500;font-size:11px;color:#d2dbb9}.camera-menu-button>span:last-child{font:22px var(--font);margin-left:auto}.camera-menu-button>span:first-child{margin-right:auto}
.camera-overlay{justify-content:flex-start;background:linear-gradient(90deg,#05151099,transparent 55%);backdrop-filter:none;padding:22px}.camera-panel{width:350px;padding:34px 22px 20px;text-align:left;max-height:calc(100dvh - 44px)}.camera-panel h2{font-size:25px;margin:8px 0}.camera-panel .camera-intro{font-size:11px;line-height:1.6;color:#bfc5a2;margin:0 0 14px}.camera-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.camera-options button{text-align:left;background:#193127bb;border:1px solid #728058;border-radius:6px;color:#e5d59d;padding:9px;min-width:0}.camera-options button[aria-pressed=true]{border-color:#eed27b;background:#5d542be6;box-shadow:inset 0 0 0 1px #eac96a55}.camera-options button:hover{filter:brightness(1.2)}.camera-options svg{display:block;width:100%;height:46px;fill:#67754d;stroke:#a2ad7d;stroke-width:1.2}.camera-options svg circle{fill:#ffdf77;stroke:#3d441f}.camera-options .camera-guide{stroke:#e3cb75;stroke-width:1.8;stroke-dasharray:4;fill:none}.camera-options strong{display:block;font-family:var(--display);font-size:12px;margin:6px 0 3px}.camera-options span{font-size:9px;color:#bdc8a7}.camera-selection{padding-top:13px;margin-top:13px;border-top:1px solid #ad9f5355}.camera-selection strong{font-family:var(--display);font-size:13px;color:#f0d37b}.camera-selection p{font-size:11px;line-height:1.5;color:#c3caab;margin:5px 0 10px}.camera-panel .camera-controls{font-size:10px;line-height:1.7;color:#b7c6a3;margin:10px 0 14px}.camera-controls span{font-size:9px;color:#93ab91}.camera-panel .gold-button{height:44px;font-size:17px}.lane-indicator{position:absolute;bottom:91px;left:22px;z-index:14;padding:7px 10px;background:#102b23d9;border:1px solid #aca37188;border-radius:5px;color:#d9dfbb;pointer-events:none}.lane-indicator>span{font-size:8px;letter-spacing:.6px}.lane-indicator>div{display:flex;gap:7px;margin-top:5px}.lane-indicator b{display:grid;place-items:center;width:21px;height:21px;border:1px solid #6f885f;border-radius:50%;font:9px var(--font);color:#9bb08c}.lane-indicator b.active{background:#d5bb61;border-color:#f6dc83;color:#213d26}
@media(max-width:700px){.menu-content{gap:9px}.camera-menu-button{height:32px;font-size:9px}.camera-overlay{align-items:flex-end;padding:12px;background:linear-gradient(0deg,#051510aa,transparent 80%)}.camera-panel{width:100%;padding:24px 17px 14px;max-height:62dvh}.camera-panel h2{font-size:20px;margin:5px 0}.camera-panel .camera-intro{font-size:10px;margin-bottom:9px}.camera-options{grid-template-columns:repeat(4,1fr);gap:5px}.camera-options button{padding:5px}.camera-options svg{height:34px}.camera-options strong{font-size:9px;white-space:nowrap;margin:4px 0 0}.camera-options span{display:none}.camera-selection{margin-top:9px;padding-top:8px}.camera-selection p{margin:4px 0 6px;font-size:10px}.camera-panel .camera-controls{font-size:9px;line-height:1.5;margin:7px 0 9px}.camera-panel .gold-button{height:38px;font-size:15px}.lane-indicator{left:12px;bottom:78px}.lane-indicator b{width:18px;height:18px}}
@media(max-height:520px) and (min-width:600px){.camera-panel{width:330px;padding:23px 18px 12px}.camera-options{grid-template-columns:repeat(4,1fr);gap:5px}.camera-options svg{height:32px}.camera-options strong{font-size:9px}.camera-options span{display:none}.camera-panel .camera-intro{margin-bottom:8px}.camera-panel .camera-controls{margin:7px 0;font-size:9px}.camera-selection{margin-top:8px;padding-top:8px}.camera-panel .gold-button{height:35px}.camera-menu-button{height:29px}.menu-content{gap:6px}.game-title{width:min(40vw,39vh)}}
