/* Rooftop Trial: compact, touch-first, I-Ninja-style mission challenge HUD.
   No global gameplay selectors are changed. */
#snTrialUI{position:fixed;inset:0;z-index:14;pointer-events:none;color:#fff7ee;font-family:system-ui,-apple-system,sans-serif}
#snTrialPrompt{display:none;pointer-events:auto;position:absolute;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 7px);left:50%;transform:translateX(-50%);
 border:1px solid #ffd4a9;background:linear-gradient(120deg,#a82e47ee,#3c213de8);color:#fff7ee;box-shadow:0 2px 13px #000a,0 0 13px #ff9b7c66;
 padding:11px 15px;min-height:43px;min-width:185px;font-size:11px;letter-spacing:1px;border-radius:12px;white-space:nowrap;touch-action:manipulation}
#snTrialPrompt:active{filter:brightness(1.25);transform:translateX(-50%) scale(.96)}
#snTrialHUD{display:none;position:absolute;top:calc(max(59px,env(safe-area-inset-top) + 58px));left:50%;transform:translateX(-50%);pointer-events:auto;
 min-width:218px;width:min(320px,44vw);padding:9px 12px 8px;background:linear-gradient(135deg,#201027e9,#0c1b2deb);border:1px solid #f7bc967c;border-radius:12px;
 backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 15px #000a;text-align:center}
.sn-trial-top,.sn-trial-row{display:flex;justify-content:space-between;align-items:center;gap:8px}
.sn-trial-top strong{font-size:11px;letter-spacing:1px;color:#ffd39a;white-space:nowrap}
#snTrialTime{font-size:17px;letter-spacing:1px;font-weight:900;color:#fff1cc;font-variant-numeric:tabular-nums;white-space:nowrap}
#snTrialTrack{height:5px;margin:7px 0;background:#18192b;border-radius:8px;border:1px solid #ffffff3b;overflow:hidden}
#snTrialFill{width:0;height:100%;border-radius:8px;background:linear-gradient(90deg,#e95b81,#fbd48b);transition:width .1s}
.sn-trial-row{font-size:9px;font-weight:800;color:#eccbd6}
#snTrialBest{font-variant-numeric:tabular-nums;white-space:nowrap}
#snTrialRetry{pointer-events:auto;min-height:27px;padding:5px 8px;background:#782b45;border:1px solid #e5a2a2;border-radius:7px;font-size:9px}
#snTrialResult[hidden]{display:none!important}
#snTrialResult{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#050816c9;pointer-events:auto;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:12px}
.sn-trial-card{width:min(440px,94vw);max-height:94%;overflow-y:auto;text-align:center;padding:18px 20px;background:linear-gradient(145deg,#291a38,#0e1e32);
 border:1px solid #edba9b;border-radius:18px;box-shadow:0 12px 60px #000c;touch-action:pan-y}
.sn-trial-medal{font-size:32px;color:#f9c97c;text-shadow:0 0 14px #f8af61b5}
.sn-trial-card h2{font-size:clamp(15px,3vw,22px);letter-spacing:2px;margin:3px 0 6px}
#snTrialRank{font-weight:1000;font-size:20px;letter-spacing:3px;color:#ffd28c}
.sn-trial-result-time{font-size:clamp(22px,4vw,32px);font-weight:950;font-variant-numeric:tabular-nums;margin-top:5px}
.sn-trial-card p{font-size:12px;color:#e2c8d9;line-height:1.45;margin:6px 0 15px}
.sn-trial-actions{display:flex;gap:8px;justify-content:center}
.sn-trial-actions button{padding:10px 12px;border-radius:10px;border:1px solid #efbaa8;background:linear-gradient(110deg,#b33c59,#662844);min-height:38px;font-size:10px;white-space:nowrap;touch-action:manipulation}
.sn-trial-actions button+button{background:#252442}
#snTrialMenuEntry{position:absolute;left:4.4%;top:87%;width:25%;height:8%;z-index:5;pointer-events:auto;
 border:1px solid #ffbda98e;border-radius:6px;background:linear-gradient(100deg,#260c1cdd,#841d30d6,#250d1bcb);color:#ffe9db;
 text-shadow:0 1px 3px #000;box-shadow:inset 0 1px #ffd1c433,0 0 12px #f24e5b3b;font-size:clamp(9px,1.3vw,17px);font-weight:950;letter-spacing:1px;touch-action:manipulation}
#snTrialMenuEntry:hover,#snTrialMenuEntry:focus-visible{border-color:#ffe6bd;background:#8e2b4d}
#snTrialMenuEntry:active{filter:brightness(1.2)}
body.sn-title-active #snTrialPrompt,body.sn-title-active #snTrialHUD,body.sn-title-active #snTrialResult,
body.sn-end-active #snTrialPrompt,body.sn-end-active #snTrialHUD,body.sn-end-active #snTrialResult,
body.sn-panel-active #snTrialPrompt,body.sn-panel-active #snTrialHUD,
body.sn-trial-finish #hud,body.sn-trial-finish #pause,body.sn-trial-finish #snf-quick,
body.sn-trial-finish #actions,body.sn-trial-finish #joy,body.sn-trial-finish #snInteract,
body.sn-trial-finish #snf-target-hint,body.sn-trial-finish #snf-hit-indicator{display:none!important;pointer-events:none!important}
@media(orientation:landscape) and (max-height:440px){
 #snTrialHUD{top:calc(max(43px,env(safe-area-inset-top) + 39px));width:min(276px,42vw);min-width:190px;padding:5px 9px 4px}
 .sn-trial-top strong{font-size:9px}#snTrialTime{font-size:13px}#snTrialTrack{margin:4px 0;height:4px}.sn-trial-row{font-size:8px}#snTrialRetry{min-height:23px;padding:3px 7px}
 #snTrialPrompt{min-height:35px;padding:7px 12px;font-size:10px}
 .sn-trial-card{padding:10px 16px}.sn-trial-card p{font-size:10px;margin:4px 0 9px}
 .sn-trial-medal{font-size:24px}.sn-trial-result-time{font-size:22px}
}
@media(orientation:portrait){
 #snTrialMenuEntry{display:none}
}
@media(prefers-reduced-motion:reduce){#snTrialFill{transition:none}}

/* Keep trial interaction separate from the bottom-center HP meter. */
#snTrialPrompt{left:50%!important;bottom:calc(max(10px,env(safe-area-inset-bottom)) + 63px)!important;min-height:36px!important;padding:7px 14px!important;font-size:11px!important;max-width:34vw!important;white-space:nowrap!important}
@media(orientation:landscape) and (max-height:400px){#snTrialPrompt{bottom:calc(max(10px,env(safe-area-inset-bottom)) + 54px)!important}}
