/* Audio tool on the shared Image Studio / Converter skeleton. */
.mx.ac { --btn:#b5f3ee; }
.ac h1.mx-title { margin-top:0; margin-bottom:0; }
.ac h2 { margin:0 0 12px; font-size:12px; color:#f4f4f5; }
.ac .mx-ctx { margin-left:auto; color:#b0b0bc; font-size:11px; }
.ac-file { display:block; max-width:200px; overflow-wrap:anywhere; font-size:12px; }
.ac .mx-board { max-width:92%; margin-bottom:120px; background:#0e151c; border:1px solid #365a54; box-shadow:0 20px 60px #0004; }
.ac .mx-stage { cursor:default; }
.ac .mx-stage canvas { cursor:crosshair; }
.ac-player { position:absolute; bottom:18%; left:50%; transform:translateX(-50%); width:min(620px,90%); padding:14px; text-align:center; border:1px solid #263b39; border-radius:16px; background:#10161dee; }
.ac-player b { display:block; margin:0 0 10px; font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ac-player audio { display:block; width:100%; height:40px; }
.ac-player small { display:block; margin:8px 0 0; font-size:11px; line-height:1.6; color:#9eaab0; }
.ac-working { position:absolute; top:20px; left:50%; transform:translateX(-50%); z-index:3; width:min(540px,92%); padding:14px; border:1px solid #3a6058; border-radius:14px; background:#0c1918f5; color:#c4e4dd; text-align:center; font-size:12px; }
.ac-working p { margin:0 0 7px; line-height:1.6; }
.ac-working .mx-mini { margin:9px auto 0; }
.ac .ac-select { display:grid; gap:8px; margin-top:14px; font-size:11px; color:#b0b0bc; }
.ac-select select { width:100%; min-width:0; padding:10px; border:1px solid #34343d; border-radius:9px; background:#141419; color:#f4f4f5; }
.ac .ac-presets { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; }
.ac-presets button { min-height:34px; padding:5px 3px; border:1px solid #34343d; border-radius:7px; background:#141419; color:#b0b0bc; font:600 10px Inter,system-ui,sans-serif; cursor:pointer; }
.ac-presets button[aria-pressed="true"] { border-color:#77d5c7; background:#15332e; color:#b5f3ee; }
.ac .ac-check { display:flex; align-items:flex-start; gap:8px; margin-top:14px; font-size:11px; line-height:1.7; color:#b0b0bc; }
.ac-check input { accent-color:#88ded0; }
.ac #ac-convert { margin-top:14px; }
.ac #ac-cancel { margin-top:10px; width:100%; justify-content:center; }
.ac #ac-status.ac-error { color:#fda4af; }
.ac progress { width:100%; height:7px; margin-top:10px; accent-color:#88ded0; }
.ac-result { margin-top:16px; padding:14px; border:1px solid #335b50; background:#11211f; border-radius:12px; }
.ac-result b { font-size:13px; color:#b5f3ee; }
.ac-result p { font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.ac-result a { margin-top:10px; text-decoration:none; }
.ac-result audio { width:100%; height:40px; margin-top:10px; }
.ac-guide { font-size:12px; line-height:1.8; }
.ac-guide h2 { font-size:15px; }
.ac-guide h3 { margin:16px 0 4px; }
.ac-guide p,.ac-guide li { color:#b0b0bc; }
.ac-guide ol { padding-left:19px; }
.ac-guide a { color:#a6e9de; text-underline-offset:3px; }
.ac-guide details { border-bottom:1px solid #292931; padding:12px 0; }
.ac-guide summary { color:#e4e4e7; cursor:pointer; font-weight:650; }
.ac-guide details p { margin-bottom:0; }
.ac-crumb { margin-bottom:14px; font-size:11px; color:#aaa; }
.ac-noscript { position:fixed; left:16px; bottom:16px; right:16px; padding:16px; background:#101018; border:1px solid #555; z-index:1000; }
@media(min-width:761px) and (max-width:1100px) { .ac .mx-ctx { display:none; } }
@media(max-width:760px) {
 .mx.ac { grid-template-rows:auto 52px minmax(140px,1fr) minmax(210px,43%); }
 .ac .mx-title { max-width:180px; font-size:13px; }
 .ac .mx-tools { gap:2px; }
 .ac .mx-tool { padding:0 7px; }
 .ac .mx-tool span { font-size:10px; }
 .ac .mx-empty { padding:12px; }
 .ac .mx-empty b { font-size:19px; }
 .ac .mx-empty>svg { width:32px; height:32px; margin-bottom:8px; }
 .ac .mx-empty p { font-size:11px; margin:8px 0; }
 .ac .mx-empty small { font-size:10px; }
 .ac .mx-empty .cv-badge { margin-top:8px; font-size:10px; }
 .ac .mx-board { margin-bottom:105px; }
 .ac-player { bottom:12px; padding:8px; }
 .ac-player b { font-size:11px; margin-bottom:7px; }
 .ac-player small { font-size:10px; }
}
@media(max-height:650px) and (max-width:760px) { .ac .mx-empty>svg,.ac .mx-empty small,.ac .mx-empty .cv-badge { display:none; } .ac-player small { display:none; } }
@media(prefers-reduced-motion:reduce) { .ac .mx-pane { animation:none; } }
