/* The existing slot mechanism stays intact inside a single quiet stage. */
.shape-entry .entry-controls .ui-levels{grid-column:1/-1}
.game-entry .shape-slot-machine{--slot-size:clamp(88px,25vw,112px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:16px}
.game-entry .shape-slot-machine .intro-shape{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-width:0;height:100%;max-height:236px;padding:16px 6px;border:1px solid #51d9ef66;border-radius:16px;background:linear-gradient(160deg,#24425b80,#15233870);box-shadow:inset 0 1px 0 #b8f3ff0d}
.game-entry .shape-slot-machine .intro-shape.right{border-color:#ff87bd66;background:linear-gradient(160deg,#50344e80,#30203c70)}
.game-entry .shape-slot-machine .slot-window{flex:0 0 var(--slot-size);width:var(--slot-size);height:var(--slot-size);background:transparent;box-shadow:none;border:0;mask:none}
.game-entry .shape-slot-machine .slot-window:before,.game-entry .shape-slot-machine .slot-window:after{content:none}
.game-entry .shape-slot-machine .slot-reel-inner{width:100%}
.game-entry .shape-slot-machine .slot-item{flex:0 0 var(--slot-size);height:var(--slot-size);min-height:var(--slot-size);width:var(--slot-size)}
.game-entry .shape-slot-machine .slot-item .shape-svg{width:var(--slot-size);height:var(--slot-size)}
.game-entry .shape-slot-machine .shape-name{flex:0 0 auto;font-size:16px;line-height:22px}.game-entry .shape-slot-machine .hand-label{flex:0 0 auto;font-size:14px;font-weight:650;line-height:20px}.game-entry .shape-slot-machine .hand-label:before{content:none}
.game-entry .entry-tools{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px}
.game-entry .entry-tools .draw-odds{margin:0;border:0;border-radius:0;background:none;box-shadow:none}
.game-entry .entry-tools .accordion-trigger{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;margin:0;padding:8px 4px;color:#cbb5df;font-size:14px;font-weight:600;text-decoration:none}.game-entry .entry-best{color:#cbb5df;font-size:14px;white-space:nowrap}.entry-best strong{margin-left:3px;color:#e7d6ff;font-size:18px;font-variant-numeric:tabular-nums}
.game-entry .entry-tools .accordion-trigger .icon{margin:0;width:18px;min-width:18px}
.game-entry #draw-odds-content{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;max-height:none;overflow:hidden;padding:16px 12px max(16px,env(safe-area-inset-bottom));border:0;border-radius:0;background:#08071bbd;box-shadow:none;backdrop-filter:blur(6px)}
.odds-dialog{display:flex;flex-direction:column;gap:12px;width:min(100%,400px);max-height:calc(100dvh - 32px);padding:18px;border:1px solid #9273b2;border-radius:22px;background:linear-gradient(160deg,#30223f,#1b142c);box-shadow:0 6px 0 #08061a}.odds-dialog .share-header{flex-shrink:0;margin:0}.odds-dialog h2{font-size:18px;color:#f2e6ff}.odds-content{min-height:0;overflow:auto}.odds-subtitle{margin:0 0 8px;color:#bba4d1;font-size:14px}
.odds-dialog .odds-table{margin:0;line-height:1.4}.odds-dialog .odds-table th,.odds-dialog .odds-table td{height:48px;padding:9px 4px;border-top:1px solid #9879b32b}.odds-dialog .odds-table thead th{height:30px;border:0;font-size:14px;font-weight:600}.odds-dialog .odds-table th:first-child{width:40%;padding-left:0}.odds-dialog .odds-table th:nth-child(2),.odds-dialog .odds-table th:nth-child(3),.odds-dialog .odds-table td{width:30%}.odds-dialog tbody th{font-weight:600}.odds-dialog td strong{font-size:18px;font-weight:800}.odds-dialog .odds-shape-icon{width:22px;margin-right:6px}.odds-meter{display:block;width:100%;height:3px;margin-top:5px;overflow:hidden;border-radius:3px;background:#a389b329}.odds-meter i{display:block;height:100%;border-radius:3px;background:var(--left)}[data-odds-side="right"] .odds-meter i{background:var(--right)}
.game-entry .seed-note{margin:0;padding:8px 12px;font-weight:500}
.game-entry .device-note{margin:0;padding:10px;font-size:14px;line-height:1.5}

/* The rhythm preview and selected-pair grid use the same frame as tilt aim. */
.game-entry .rhythm-intro-guide{display:flex;flex-direction:column;gap:12px}
.game-entry .intro-preview-flow{flex:0 0 auto;margin:0;gap:8px;min-height:34px}
.game-entry .intro-preview-flow>[data-preview-phase]{padding:6px 14px;border-radius:10px}
.game-entry .intro-guide-pads{flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;min-height:0;margin:0}
.game-entry .intro-guide-pad{min-height:0;margin:0;padding:8px;font-size:14px;border-radius:13px;background:#1e283c;box-shadow:none}
.game-entry .intro-guide-pad.right{background:#32223b}.game-entry .intro-guide-pad>strong{font-size:34px}
.game-entry .intro-guide-pad.is-demo-cue{box-shadow:inset 0 0 24px #51d9ef45,0 0 10px #51d9ef25}.game-entry .intro-guide-pad.right.is-demo-cue{box-shadow:inset 0 0 24px #ff87bd45,0 0 10px #ff87bd25}
.practice-entry-link{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:12px;min-height:44px;padding:8px 4px;border:0;border-radius:8px;background:transparent;color:#d5bee9;font-size:16px;font-weight:650;box-shadow:none}.practice-entry-link .icon{width:18px;height:18px;transform:rotate(-90deg)}.practice-picker-note{margin:0;color:#c4afd7;font-size:14px;line-height:20px}
.game-entry .rhythm-pair-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:8px;min-height:250px}
.game-entry .rhythm-pair-picker button{gap:4px;min-width:0;min-height:44px;padding:8px 4px;border-radius:12px;background:#231b34}.game-entry .rhythm-pair-picker strong{font-size:22px}.game-entry .rhythm-pair-picker button[aria-pressed="true"]{background:#4d3068}
.game-entry .play-note{margin:0;font-size:14px}

@media(max-height:640px){
 .mobile-shell.shape-entry{gap:8px}.game-entry.shape-entry .shape-slot-machine{--slot-size:68px}.game-entry.shape-entry .shape-slot-machine .intro-shape{gap:8px;padding:8px 4px}




 .game-entry .shape-slot-machine .intro-shape{gap:16px;max-height:212px;padding:12px 4px}
 .game-entry .rhythm-intro-guide{gap:8px}.game-entry .intro-preview-flow{min-height:30px}.game-entry .intro-preview-flow>[data-preview-phase]{padding:5px 12px}
 .game-entry .rhythm-pair-picker{min-height:242px;max-height:300px;padding:10px;gap:6px}
}

