.marble-direction {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.marble-direction button {
  width: 46px;
  min-width: 46px;
  height: 44px;
  padding: 0;
  touch-action: none;
}
.marble-direction button.is-held {
  background: #d6eeea;
  border-color: #147d7c;
}
.marble-direction button span {
  display: none;
}
.marble-stages { display:flex; align-items:center; justify-content:center; gap:8px; min-height:56px; padding:6px 16px; background:#fff; border-bottom:1px solid var(--arcade-line); }
.marble-select { width:230px; max-width:calc(100% - 190px); }
.marble-select select { width:100%; height:38px; padding:4px 8px; color:var(--arcade-ink); border:1px solid var(--arcade-line); border-radius:6px; background:#f8faf8; font-size:13px; font-weight:700; }
.marble-level { width:78px; font-size:11px; color:#617674; }
.marble-progress { white-space:nowrap; font-size:12px; font-weight:700; font-variant-numeric:tabular-nums; }
.arcade-stage { height:calc(100svh - 246px); }
#marble-next-stage { width:100%; margin-top:10px; }
@media(max-width:640px) {
 .marble-stages { padding:6px 12px; gap:5px; min-height:52px; }
 .marble-stages .arcade-icon { width:28px; min-width:28px; }
 .marble-select { flex:1; width:auto; max-width:none; min-width:0; }
 .marble-select select { font-size:12px; padding-left:5px; }
 .marble-level { display:none; }
 .marble-progress { font-size:10px; }
 .arcade-stage { height:calc(100svh - 248px); min-height:320px; }
 .arcade-stat { min-width:72px; padding:7px 10px; }
}
@media(max-height:500px) and (orientation:landscape) {
 .marble-stages { min-height:42px; padding:3px 12px; }
 .marble-stages .arcade-icon,.marble-select select { height:32px; }
 .arcade-stage { height:calc(100svh - 150px); min-height:220px; }
 .arcade-dialog { padding:12px; width:300px; }
 .arcade-dialog h2 { font-size:16px; margin-bottom:6px; }
 .arcade-result-score { font-size:28px; margin:4px 0; }
 .arcade-result-detail { font-size:12px; margin:6px 0; }
 .arcade-start,#marble-next-stage { min-height:34px; padding:6px 10px; font-size:13px; }
 #marble-next-stage { margin-top:6px; }
}
