.challenge-setup,.challenge-garage,.challenge-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0}
.challenge-setup label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.challenge-setup select,.challenge-garage button,.challenge-tools button{min-height:48px;padding:8px 14px;border-radius:9px;border:1px solid #455f64;background:#10232d;color:#ecf8fb;font-weight:700}
.challenge-garage button:disabled,.challenge-tools button:disabled{opacity:.5}
.challenge-stage{position:relative;isolation:isolate;overflow:hidden;border-radius:15px;background:#081521;border:1px solid #324954}
.challenge-screen{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.challenge-screen[hidden]{display:none}
.challenge-hud{position:absolute;top:10px;left:10px;right:10px;display:flex;gap:10px;flex-wrap:wrap;pointer-events:none}
.challenge-hud span,.challenge-message{color:#fff;background:#081521de;padding:5px 10px;border-radius:6px;font-size:clamp(11px,2vw,15px)}
.challenge-message{position:absolute;left:10px;top:56px;max-width:85%;pointer-events:none}
.challenge-progress{display:block;width:100%;height:8px;accent-color:#bcff59}
.challenge-stage .challenge-tools{margin:8px;padding:0;justify-content:center}
.challenge-touch{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:8px}
.challenge-touch button{touch-action:none;user-select:none;min-width:56px;min-height:50px;border:1px solid #527080;color:#fff;background:#163544;border-radius:9px;font-weight:800}
.challenge-touch button:active{background:#bfff66;color:#15222b}
.challenge-locked{overflow:hidden}
.challenge-stage.challenge-expanded{position:fixed;inset:0;z-index:2147482000;width:100%;height:100dvh;border:0;border-radius:0;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.challenge-expanded .challenge-screen{height:0;flex:1 1 auto;min-height:0}
.challenge-expanded .challenge-hud{top:max(8px,env(safe-area-inset-top))}
.challenge-expanded .challenge-tools,.challenge-expanded .challenge-touch{margin:4px}
.challenge-guide{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin-block:24px}
.challenge-guide article{background:#10232d;border:1px solid #344f58;border-radius:12px;padding:16px}
.challenge-cover{width:100%;max-width:780px;border-radius:15px}
.challenge-result{position:absolute;inset:0;z-index:3;display:grid;place-items:center;padding:12px;background:#04111ac9;text-align:center;overflow:auto}
.challenge-result[hidden],.challenge-result [hidden]{display:none}
.challenge-result>div{width:min(100%,440px);padding:18px;border:1px solid #a5cf76;border-radius:14px;background:#13242e;color:#fff}
.challenge-result h2{margin:0 0 8px;color:#cbff83}
.challenge-result p{margin:0}
.challenge-result #challenge-next{background:#caff80;color:#172826}
.challenge-expanded .challenge-result{bottom:116px}
@media(max-width:500px){.challenge-hud{gap:4px}.challenge-hud span{padding:4px 6px}.challenge-message{top:42px}}
.challenge-ready{position:absolute;inset:0 0 auto;aspect-ratio:16/9;z-index:2;display:grid;align-content:center;justify-items:center;gap:8px;pointer-events:none}
.challenge-ready[hidden]{display:none}
.challenge-ready button{pointer-events:auto;min-width:140px;min-height:54px;border:1px solid #ddffa9;border-radius:14px;background:#caff80;color:#172826;font-size:1.15rem;font-weight:800;box-shadow:0 6px 24px #08141caa}
.challenge-ready span{padding:4px 9px;border-radius:6px;background:#081521de;color:#fff;font-size:.8rem}
.challenge-expanded .challenge-ready{inset:0 0 112px;aspect-ratio:auto}
.challenge-result>div{width:min(100%,650px);max-height:100%;overflow:auto}
.challenge-result .challenge-garage{justify-content:center;gap:6px;margin:8px 0}
.challenge-result .challenge-garage button{padding:5px 10px;font-size:.82rem}
#challenge-result-garage{margin:12px 0;padding:9px;border:1px solid #344f58;border-radius:10px;background:#10212c}
#challenge-result-garage h3{margin:0 0 4px}
#challenge-result-balance{color:#cbff83}
.challenge-manual{margin:26px 0;padding:clamp(15px,3vw,30px);background:#10232d;border:1px solid #344f58;border-radius:14px}
.challenge-manual nav{display:flex;flex-wrap:wrap;gap:8px}
.challenge-manual nav a{border:1px solid #455f64;border-radius:8px;padding:6px 10px}
.challenge-manual h3{margin:20px 0 6px}
.challenge-manual p{margin:0;max-width:78ch}
.challenge-message:empty{display:none}
