/* Fix My Speaker Tool — scoped styles, no global resets */
.fms-tool{--fms-sky:#38BDF8;--fms-indigo:#6366F1;--fms-ink:#1E293B;--fms-muted:#64748B;--fms-card:#F2F9FF;box-sizing:border-box;max-width:680px;margin:0 auto;padding:20px 16px 8px;background:linear-gradient(180deg,#EAF6FF 0%,#F7FBFF 100%);border:1px solid #D6EBFB;border-radius:24px;font-family:inherit;color:var(--fms-ink)}
.fms-tool *{box-sizing:border-box}
.fms-modes{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:18px}
.fms-mode{appearance:none;border:1.5px solid #C9E4F8;background:#fff;color:var(--fms-ink);border-radius:999px;padding:9px 14px;font-size:14px;font-weight:600;cursor:pointer;line-height:1;transition:all .15s ease}
.fms-mode:hover{border-color:var(--fms-sky)}
.fms-mode.is-active{background:linear-gradient(90deg,var(--fms-sky),var(--fms-indigo));color:#fff;border-color:transparent;box-shadow:0 6px 16px rgba(56,189,248,.35)}
.fms-stage{text-align:center}
.fms-ringwrap{position:relative;width:210px;height:210px;margin:0 auto 14px}
.fms-ring{width:210px;height:210px;transform:rotate(-90deg)}
.fms-ring-bg{fill:none;stroke:#DCEFFB;stroke-width:10}
.fms-ring-fg{fill:none;stroke:url(#fmsGrad);stroke:var(--fms-indigo);stroke-width:10;stroke-linecap:round;stroke-dasharray:552.9;stroke-dashoffset:552.9;transition:stroke-dashoffset .2s linear}
.fms-main{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:140px;height:140px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(135deg,var(--fms-sky),var(--fms-indigo));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:0 12px 30px rgba(99,102,241,.45),0 0 0 10px rgba(56,189,248,.15);transition:transform .1s ease}
.fms-main:active{transform:translate(-50%,-50%) scale(.97)}
.fms-main.is-running{background:linear-gradient(135deg,#F43F5E,#F97316);box-shadow:0 12px 30px rgba(244,63,94,.4),0 0 0 10px rgba(244,63,94,.12)}
.fms-main-icon{font-size:30px;line-height:1}
.fms-main-label{font-size:15px;font-weight:800;letter-spacing:.12em}
.fms-readout{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}
.fms-hz{font-size:26px;font-weight:800;color:var(--fms-indigo)}
.fms-status{font-size:15px;font-weight:600}
.fms-time{font-size:13px;color:var(--fms-muted)}
.fms-viz{width:100%;height:64px;display:block;background:#fff;border:1px solid #D6EBFB;border-radius:14px;margin:6px 0 12px}
.fms-note{font-size:13px;color:var(--fms-muted);margin:10px auto 8px;max-width:520px}
.fms-manual{margin:6px auto 4px;max-width:520px;text-align:left}
.fms-manual-label{font-size:14px;display:block;margin-bottom:6px}
.fms-manual input[type=range]{width:100%;accent-color:var(--fms-indigo);height:32px}
.fms-wave-row{display:flex;gap:8px;justify-content:center;margin-top:4px}
.fms-wave{appearance:none;border:1.5px solid #C9E4F8;background:#fff;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer}
.fms-wave.is-active{background:linear-gradient(90deg,var(--fms-sky),var(--fms-indigo));color:#fff;border-color:transparent}
.fms-mic{margin:6px auto 4px;max-width:520px}
.fms-mic-level{height:14px;background:#fff;border:1px solid #D6EBFB;border-radius:999px;overflow:hidden}
.fms-mic-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--fms-sky),var(--fms-indigo));transition:width .08s linear}
.fms-mic-status{font-size:13.5px;color:var(--fms-muted);margin:8px 0}
.fms-mic-play{appearance:none;border:none;border-radius:999px;padding:10px 18px;background:linear-gradient(90deg,var(--fms-sky),var(--fms-indigo));color:#fff;font-weight:700;cursor:pointer}
@media (max-width:480px){
 .fms-tool{padding:16px 12px 6px;border-radius:20px}
 .fms-ringwrap{width:180px;height:180px}
 .fms-ring{width:180px;height:180px}
 .fms-main{width:120px;height:120px}
 .fms-hz{font-size:23px}
 .fms-mode{padding:8px 11px;font-size:13px}
}
