/* Moguls Run 3D : page-specific styles (shared: sim3d.css, ski3d.css) */
.mg-list { margin-top: 14px; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 6px; }
.mg-list h3 { grid-column: 1 / -1; margin: 0 0 4px; }
.mg-list button { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; padding: 8px 10px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, .14); background: rgba(255, 255, 255, .04); color: inherit; cursor: pointer; font: inherit; }
.mg-list button.is-on { border-color: #f9a8d4; background: rgba(236, 72, 153, .14); } .mg-list button:disabled { opacity: .45; cursor: not-allowed; }
.mg-list small { font-size: 11.5px; opacity: .8; } .mg-list button:focus-visible { outline: 3px solid #ffd54a; outline-offset: 1px; }
.mg-rhythm { position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%); width: min(360px, 72%); pointer-events: none; }
.sim-overlay .mg-rhythm canvas { position: static !important; display: block; width: 100% !important; height: auto !important; }
.mg-bal { position: absolute; right: 12px; top: 12px; background: rgba(10, 24, 44, .8); border: 1px solid rgba(255, 255, 255, .18); border-radius: 12px; padding: 5px 10px; pointer-events: none; text-align: right; }
.mg-bal small { display: block; font: 800 10px system-ui, sans-serif; letter-spacing: .08em; color: #bae6fd; }
.mg-bal .sk-bar { width: 120px; } .mg-bal .sk-bar i { background: linear-gradient(90deg, #22c55e, #4ade80); transition: width .15s; }
.mg-bal span { font: 900 13px system-ui, sans-serif; color: #fb923c; }
.sim-has-touch .mg-rhythm { bottom: 78px; }
.mg-touch .sim-tbtn[data-id="jump"] { font-size: 26px; }
.mg-big { font: 900 30px system-ui, sans-serif; margin: 2px 0; }
.mg-split b { color: #fde047; } .mg-why { font-size: 12.5px; opacity: .85; margin: 4px 0; }
.mg-res { max-width: 520px; }
.mg-tblw { max-height: 170px; overflow: auto; margin: 6px 0; }
.mg-table { width: 100%; border-collapse: collapse; font-size: 13px; text-align: left; margin: 6px 0; }
.mg-table td { padding: 3px 6px; border-bottom: 1px solid rgba(255, 255, 255, .1); } .mg-table td:last-child { text-align: right; font-weight: 800; font-variant-numeric: tabular-nums; }
.mg-table tr.is-me td { background: rgba(250, 204, 21, .18); font-weight: 800; }
.mg-cc { font: 800 10px system-ui, sans-serif; font-style: normal; background: rgba(255, 255, 255, .14); border-radius: 4px; padding: 1px 4px; margin-right: 2px; }
@container (max-width: 560px) {
  .mg-rhythm { left: 8px; transform: none; width: 62%; } .mg-bal { top: 52px; right: 8px; padding: 3px 8px; } .mg-bal .sk-bar { width: 84px; }
  .mg-big { font-size: 22px; } .mg-res h3 { font-size: 16px; margin: 0; } .mg-split { font-size: 12.5px; } .mg-why { display: none; } .mg-tblw { max-height: 110px; } .mg-table { font-size: 12px; }
}
