/* Recovery and hands-free menus */
.resume-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;background:#ddf3e9;border-radius:16px;margin:20px 0}
#remote-bar{position:fixed;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:8px;align-items:center;padding:10px 14px;border-radius:16px;background:#112c35f2;color:#effffd;z-index:80;box-shadow:0 5px 25px #0004;max-width:96vw;box-sizing:border-box}
#remote-bar[hidden]{display:none}#remote-bar span{font-size:11px;white-space:nowrap}#remote-bar button{font-size:12px;white-space:nowrap;border:1px solid #ffffff35;background:#ffffff13;color:white;border-radius:9px;padding:12px;min-height:44px}
#remote-bar.in-game{bottom:5px;padding:5px}#remote-bar.in-game button{padding:8px;min-height:34px;font-size:11px}#remote-bar.in-game span{display:none}
body:has(#remote-bar) main{padding-bottom:90px}body.playing:has(#remote-bar) main{padding-bottom:0}
.hand-setup{position:fixed;inset:0;background:#11252c;color:white;overflow:auto}.hand-setup canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.6}
.hand-setup-copy{position:relative;z-index:2;margin:5vh auto;padding:24px;max-width:650px;text-align:center;background:#10252bdd;border-radius:18px}.hand-setup-copy h1{font-size:27px;line-height:1.4}.hand-setup-copy p{font-size:14px;line-height:1.7}.hand-setup-copy .eyebrow{justify-content:center;color:#64eec9}.hand-setup-copy button{margin:6px;min-height:50px}.hand-setup-copy [hidden]{display:none}.hand-direction{position:absolute;right:5%;top:45%;font-size:100px;color:#64f6d1}.setup-track{height:8px;background:#ffffff20;border-radius:8px}.setup-track span{display:block;height:100%;background:#61f3c9;width:0;transition:width .1s}#recovery-status{font-size:13px;color:#53717d;max-width:500px}
.lesson-skip{display:block;min-height:44px;background:#ffffff15;border:1px solid #ffffff60;color:#fff;border-radius:8px;padding:10px 12px;margin:8px 0;font-size:12px;width:100%;text-align:left}
.lesson-visual{position:absolute;left:20px;bottom:90px;z-index:3;width:28%;max-width:310px;padding:12px;border:1px solid #ffffff3c;border-radius:14px;background:#10232bdc;color:white;box-sizing:border-box;pointer-events:none}.lesson-visual[hidden]{display:none}.lesson-step-title{font-size:15px;line-height:1.55;font-weight:750;color:#90fbd5}.lesson-visual svg{display:block;width:100%;height:180px}.lesson-visual p{font-size:11px;line-height:1.6;margin:5px 0 0;color:#e4eef4}.lesson-open .camera-preview{left:33%;bottom:105px;width:100px}.lesson-open .game-hint{display:none}
@media(max-height:550px) and (orientation:landscape){.hand-setup-copy{margin:8px auto;padding:12px;max-width:590px}.hand-setup-copy h1{font-size:20px;margin:10px}.hand-setup-copy p{font-size:11px;margin:9px}.hand-setup-copy button{padding:10px;min-height:40px}.hand-direction{font-size:65px;right:2%}.lesson-visual{left:12px;bottom:50px;padding:8px;width:27%;max-width:240px}.lesson-visual svg{height:130px}.lesson-step-title{font-size:12px}.lesson-visual p{font-size:10px}.lesson-panel{width:45%;padding-bottom:12px}.lesson-skip{font-size:10px;min-height:34px;padding:7px;margin:5px 0}.lesson-open .camera-preview{width:80px;bottom:70px}.game-stage .overlay h2{font-size:23px;margin:10px}.game-stage .overlay p{margin:5px;font-size:12px}.game-stage .overlay button{min-height:38px;padding:8px 16px}.game-stage .overlay{padding-bottom:45px}}
@media(max-width:640px){#remote-bar{flex-wrap:wrap;justify-content:center;width:96vw;gap:5px;padding:7px}#remote-bar span{flex:1 0 100%;text-align:center}#remote-bar button{padding:9px;font-size:10px}.resume-banner{flex-direction:column}.hand-direction{font-size:55px;top:auto;bottom:10px}.hand-setup-copy h1{font-size:23px}}

.character-card>span{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.character-card b{white-space:nowrap}.character-card small{font-size:9px;white-space:nowrap}.swatch[aria-label="시그니처 스타일"]{background:linear-gradient(135deg,#276d9d 25%,#cb5c78 25% 50%,#8865ad 50% 75%,#348d9a 75%)!important}

.studio-display{max-height:none!important}.motion-controls{flex-wrap:wrap}.detail-controls{padding-top:5px}.detail-controls button{background:#ffffff12;color:#e9f4fa;font-size:11px;border:1px solid #ffffff30}.detail-controls button.selected{background:#244f58;color:#81f5d7}.character-card canvas{object-fit:cover}.studio-display:has(.detail-controls){padding-bottom:18px}

.tracking-status{position:absolute;bottom:4px;left:4px;right:4px;padding:5px 3px;border-radius:5px;background:#112b35da;color:white;font-size:11px;text-align:center;}

/* v8 judgments and rhythm guide */
.judgment[data-grade=Perfect]{color:#ffb300;text-shadow:0 0 18px #ffcf4d99,3px 3px 0 #fff}
.judgment[data-grade=Good]{color:#22b573}
.judgment[data-grade=Bad]{color:#ff7a33;font-size:36px}
.judgment[data-grade=Miss]{color:#8996a3;font-size:36px}
.pace{position:absolute;left:50%;top:64px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:7px 14px;border-radius:999px;background:#0b141bcc;color:#e6f2f5;font:700 13px/1 system-ui;z-index:3;pointer-events:none}
.pace i{display:block;width:clamp(120px,22vw,260px);height:9px;border-radius:9px;background:#ffffff26;overflow:hidden}
.pace b{display:block;height:100%;width:calc(var(--p,0)*100%);background:linear-gradient(90deg,#3fd2c7,#ffd25a);border-radius:9px}
.pace em{font-style:normal;color:#ffd25a;opacity:0;transition:opacity .15s}
.pace.now em{opacity:1}.pace.now{box-shadow:0 0 0 2px #ffd25a88}
.pace.late b{background:#ff8a4c}
