@keyframes metronome-module__IBijWW__ve_keyframes_1{0%{background:#f5fbf7;transform:scale(1)}30%{background:#e8f5ec;transform:scale(1.018)}to{background:#f5fbf7;transform:scale(1)}}@keyframes metronome-module__IBijWW__ve_keyframes_2{0%{transform:scale(1)}30%{transform:scale(1.012)}to{transform:scale(1)}}@keyframes metronome-module__IBijWW__ve_keyframes_3{0%{transform:scale(1)}30%{transform:scale(1.006)}to{transform:scale(1)}}.metronome-module__IBijWW__page{color:#1f2933;background:#f3f5f7;flex-direction:column;min-height:100vh;font-family:Avenir Next,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;display:flex}.metronome-module__IBijWW__main{flex-direction:column;flex:1;gap:18px;width:100%;max-width:1100px;margin:0 auto;padding:32px 18px 44px;display:flex}@media (min-width:768px){.metronome-module__IBijWW__main{gap:22px;padding:38px 24px 58px}}.metronome-module__IBijWW__hero{background:#fff;border:1px solid #d8dee5;border-radius:14px;flex-direction:column;gap:8px;padding:18px;display:flex}.metronome-module__IBijWW__heroLabel{letter-spacing:.04em;color:#2f6f4d;margin:0;font-size:13px;font-weight:700}.metronome-module__IBijWW__heroTitle{letter-spacing:-.01em;margin:0;font-size:24px;line-height:1.35}@media (max-width:640px){.metronome-module__IBijWW__heroTitle{font-size:20px}}.metronome-module__IBijWW__heroDescription{color:#516070;margin:0;font-size:14px;line-height:1.6}.metronome-module__IBijWW__errorBanner{color:#9f2d25;background:#fff3f2;border:1px solid #f0c8c5;border-radius:12px;margin:0;padding:12px 14px;font-size:13px;font-weight:700}.metronome-module__IBijWW__layout{grid-template-columns:1fr;gap:16px;display:grid}@media (min-width:960px){.metronome-module__IBijWW__layout{grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);align-items:stretch}}.metronome-module__IBijWW__stageCard{background:#fff;border:1px solid #d8dee5;border-radius:14px;flex-direction:column;gap:16px;padding:18px;display:flex}.metronome-module__IBijWW__stageCardRhythm-bass{animation:.17s ease-out metronome-module__IBijWW__ve_keyframes_2}.metronome-module__IBijWW__stageCardRhythm-medium{animation:.14s ease-out metronome-module__IBijWW__ve_keyframes_2}.metronome-module__IBijWW__stageCardRhythm-high{animation:.125s ease-out metronome-module__IBijWW__ve_keyframes_3}.metronome-module__IBijWW__controlCard{background:#fff;border:1px solid #d8dee5;border-radius:14px;flex-direction:column;gap:16px;padding:18px;display:flex}.metronome-module__IBijWW__stageHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.metronome-module__IBijWW__stageTitle{font-size:14px;font-weight:700}.metronome-module__IBijWW__status-running{letter-spacing:.02em;color:#245b3d;background:#e9f5ec;border:1px solid #b7ddc2;border-radius:9999px;padding:6px 12px;font-size:12px;font-weight:700}.metronome-module__IBijWW__status-idle{letter-spacing:.02em;color:#516070;background:#f3f4f6;border:1px solid #d8dee5;border-radius:9999px;padding:6px 12px;font-size:12px;font-weight:700}.metronome-module__IBijWW__pulseSurface-idle{background:#f5fbf7;border:1px solid #d6e8d9;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:168px;display:flex}.metronome-module__IBijWW__pulseSurface-bass{background:#f5fbf7;border:1px solid #d6e8d9;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:168px;animation:.165s ease-out metronome-module__IBijWW__ve_keyframes_1;display:flex}.metronome-module__IBijWW__pulseSurface-medium{background:#f5fbf7;border:1px solid #d6e8d9;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:168px;animation:.145s ease-out metronome-module__IBijWW__ve_keyframes_2;display:flex}.metronome-module__IBijWW__pulseSurface-high{background:#f5fbf7;border:1px solid #d6e8d9;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:168px;animation:.12s ease-out metronome-module__IBijWW__ve_keyframes_3;display:flex}.metronome-module__IBijWW__pulseLabel{color:#40624d;font-size:13px;font-weight:600}.metronome-module__IBijWW__bpmValue{letter-spacing:.03em;color:#1e2f24;font-family:JetBrains Mono,Menlo,monospace;font-size:62px;font-weight:800;line-height:1}@media (max-width:520px){.metronome-module__IBijWW__bpmValue{font-size:50px}}.metronome-module__IBijWW__bpmValueRhythm-bass{animation:.17s ease-out metronome-module__IBijWW__ve_keyframes_2}.metronome-module__IBijWW__bpmValueRhythm-medium{animation:.14s ease-out metronome-module__IBijWW__ve_keyframes_2}.metronome-module__IBijWW__bpmValueRhythm-high{animation:.12s ease-out metronome-module__IBijWW__ve_keyframes_3}.metronome-module__IBijWW__bpmUnit{letter-spacing:.08em;color:#40624d;font-size:14px;font-weight:700}.metronome-module__IBijWW__beatGrid{grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:10px;display:grid}.metronome-module__IBijWW__beatDot-idle{color:#516070;background:#f8fafc;border:1px solid #d8dee5;border-radius:10px;place-items:center;height:44px;font-size:14px;font-weight:700;display:grid}.metronome-module__IBijWW__beatDot-accent{color:#2f4f8b;background:#eef5ff;border:1px solid #c9d9f1;border-radius:10px;place-items:center;height:44px;font-size:14px;font-weight:700;display:grid}.metronome-module__IBijWW__beatDot-active{color:#fff;background:#1f6d46;border:1px solid #1f6d46;border-radius:10px;place-items:center;height:44px;font-size:14px;font-weight:700;display:grid}.metronome-module__IBijWW__beatDotRhythm-bass{animation:.16s ease-out metronome-module__IBijWW__ve_keyframes_2}.metronome-module__IBijWW__beatDotRhythm-medium{animation:.135s ease-out metronome-module__IBijWW__ve_keyframes_2}.metronome-module__IBijWW__beatDotRhythm-high{animation:.115s ease-out metronome-module__IBijWW__ve_keyframes_3}.metronome-module__IBijWW__stageNote{color:#5f6c7b;margin:0;font-size:12px}.metronome-module__IBijWW__controlRow{justify-content:space-between;align-items:center;gap:10px;display:flex}.metronome-module__IBijWW__fieldLabel{color:#2e3a46;font-size:14px;font-weight:700}.metronome-module__IBijWW__bpmInputWrap{align-items:center;gap:8px;display:flex}.metronome-module__IBijWW__unitText{color:#516070;font-size:12px;font-weight:600}.metronome-module__IBijWW__numberInput{text-align:right;color:#1f2933;background:#fff;border:1px solid #cfd7e0;border-radius:10px;width:90px;padding:8px 10px;font-size:15px;font-weight:700}.metronome-module__IBijWW__numberInput:focus{border-color:#5c8f73;outline:none}.metronome-module__IBijWW__select{color:#1f2933;background:#fff;border:1px solid #cfd7e0;border-radius:10px;width:180px;padding:8px 10px;font-size:14px;font-weight:600}.metronome-module__IBijWW__select:focus{border-color:#5c8f73;outline:none}.metronome-module__IBijWW__slider{appearance:none;background:#e2e7ec;border-radius:9999px;outline:none;width:100%;height:8px}.metronome-module__IBijWW__slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#1f6d46;border:none;border-radius:50%;width:18px;height:18px}.metronome-module__IBijWW__slider::-moz-range-thumb{cursor:pointer;background:#1f6d46;border:none;border-radius:50%;width:18px;height:18px}.metronome-module__IBijWW__actionRow{grid-template-columns:1fr auto;gap:10px;display:grid}.metronome-module__IBijWW__startButton{cursor:pointer;color:#fff;background:#1f6d46;border:1px solid #0000;border-radius:10px;padding:11px 14px;font-size:15px;font-weight:800}.metronome-module__IBijWW__startButton:disabled{cursor:not-allowed;background:#a8b8ad}.metronome-module__IBijWW__stopButton{cursor:pointer;color:#fff;background:#8f2430;border:1px solid #0000;border-radius:10px;padding:11px 14px;font-size:15px;font-weight:800}.metronome-module__IBijWW__stopButton:disabled{cursor:not-allowed;background:#c7a5ab}.metronome-module__IBijWW__tapButton{cursor:pointer;color:#2e3a46;background:#fff;border:1px solid #cfd7e0;border-radius:10px;min-width:82px;padding:11px 14px;font-size:15px;font-weight:800}.metronome-module__IBijWW__tapButton:disabled{color:#8c98a6;cursor:not-allowed;border-color:#dce2e8}.metronome-module__IBijWW__tapButtonRhythm-bass{border-color:#9ebba9;animation:.16s ease-out metronome-module__IBijWW__ve_keyframes_2}.metronome-module__IBijWW__tapButtonRhythm-medium{border-color:#aebed1;animation:.14s ease-out metronome-module__IBijWW__ve_keyframes_2}.metronome-module__IBijWW__tapButtonRhythm-high{border-color:#bdc7d3;animation:.12s ease-out metronome-module__IBijWW__ve_keyframes_3}.metronome-module__IBijWW__tapMessage{color:#5f6c7b;min-height:1.2em;margin:0;font-size:12px}
