.rhythm-main{padding-bottom:70px}.rhythm-head{padding:42px 0 22px}.rhythm-head h1{font-size:clamp(2.1rem,5vw,4rem);max-width:900px}.rhythm-head p{font-size:1.08rem;color:var(--muted);max-width:760px}.rhythm-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:20px;align-items:start}.rhythm-controls{display:grid;gap:14px;position:sticky;top:86px}.panel,.rhythm-workspace,.session-panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgba(30,42,46,.06)}.panel{padding:17px}.panel h2,.session-panel h2{font-family:Georgia,serif;color:var(--tealDark);margin:0 0 12px}.panel label{display:block;font-weight:750;font-size:.88rem;margin:11px 0 5px}.panel select{width:100%;border:1px solid #cad4ce;border-radius:9px;padding:9px;background:#fff;font:inherit}.panel input[type=range]{width:100%}.check{display:flex!important;align-items:center;gap:8px;font-weight:650!important}.check input{width:18px;height:18px}.help{color:var(--muted);font-size:.8rem;line-height:1.4}.rh-btn{border:1px solid var(--teal);background:#fff;color:var(--tealDark);border-radius:10px;padding:9px 12px;font:inherit;font-weight:800;cursor:pointer}.panel>.rh-btn{width:100%;margin-top:10px}.rh-btn:hover{background:var(--sageLight)}.rh-btn.primary{background:var(--teal);color:#fff}.rh-btn.primary:hover{background:var(--tealDark)}.rh-btn.small{padding:6px 9px;font-size:.78rem}.rhythm-workspace{padding:20px;min-height:600px}.transport,.workspace-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.transport{padding-bottom:17px;border-bottom:1px solid var(--line)}.inline{margin-left:auto}.rhythm-grid{margin:22px 0;display:grid;grid-template-columns:118px repeat(var(--steps),minmax(38px,1fr));gap:7px;overflow-x:auto;padding-bottom:8px}.track-label{min-height:58px;border-radius:11px;padding:8px;display:flex;align-items:center;gap:8px;font-weight:850;color:#fff}.track-label span{font-size:1.45rem}.track-label.kick{background:#3b6e71}.track-label.snare{background:#b8823f}.track-label.shaker{background:#67508d}.beat-head{font-size:.75rem;font-weight:850;text-align:center;color:var(--muted);align-self:end}.beat{min-width:38px;height:58px;border:2px solid #bdcac3;border-radius:11px;background:#f5f7f4;cursor:pointer;position:relative;transition:.12s transform,.12s background,.12s box-shadow}.beat:hover{transform:translateY(-2px)}.beat.active{background:var(--track-color);border-color:var(--track-color);box-shadow:inset 0 0 0 4px rgba(255,255,255,.44)}.beat.current{outline:4px solid #e3b252;outline-offset:2px;transform:translateY(-4px)}.beat.hidden-beat{background:#dfe5e1;border-style:dashed}.beat.hidden-beat::after{content:'?';font-weight:900;font-size:1.3rem;color:var(--tealDark)}.beat:focus-visible{outline:4px solid rgba(184,130,63,.45);outline-offset:2px}.turn-banner{margin-top:16px;padding:12px;border-radius:11px;background:var(--sageLight);font-weight:850;color:var(--tealDark);text-align:center}.session-panel{margin-top:24px;padding:18px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.stats div{background:var(--paper);border-radius:12px;text-align:center;padding:12px}.stats strong{display:block;font-size:1.7rem;color:var(--tealDark)}.stats span{font-size:.75rem;color:var(--muted)}.high-contrast .beat{border-color:#111}.high-contrast .beat.active{box-shadow:inset 0 0 0 5px #fff;outline:2px solid #111}.focus-mode .beat:not(.current){opacity:.28}.focus-mode:not(.is-playing) .beat{opacity:1}@media(max-width:900px){.rhythm-layout{grid-template-columns:1fr}.rhythm-controls{position:static;grid-template-columns:repeat(3,1fr)}.rhythm-grid{grid-template-columns:96px repeat(var(--steps),minmax(40px,1fr))}}@media(max-width:700px){.rhythm-controls{grid-template-columns:1fr}.rhythm-workspace{padding:13px}.rhythm-grid{grid-template-columns:82px repeat(var(--steps),42px)}.track-label{font-size:.75rem}.track-label span{display:none}.inline{margin-left:0}.stats{gap:6px}}
