.listen-launch{margin-top:16px;width:100%;min-height:46px;border:1px solid #cbd6ff;border-radius:11px;background:#eef2ff;color:#3156d8;font-weight:700}
.listen-launch:hover{background:#e2e9ff}
#listen-dialog{width:min(520px,calc(100vw - 24px));max-width:none;max-height:min(94dvh,850px);padding:0;border:1px solid #dce2ef;border-radius:18px;box-shadow:0 24px 64px #17214255;overflow:auto}
#listen-dialog::backdrop{background:#111c34a8}
#listen-dialog .listen-head{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:19px 20px 12px;border-bottom:1px solid #e6ebf4}
#listen-dialog h2{margin:0;font-size:20px}
#listen-dialog .listen-head p{margin:5px 0 0;color:#69778a;font-size:12px}
#listen-close{width:38px;height:38px;flex:none;border:0;border-radius:10px;background:#f0f3fa;color:#455267;font-size:18px}
.listen-modes{display:flex;gap:8px;padding:14px 20px 0}
.listen-mode{flex:1;min-height:42px;border:1px solid #dce3f0;border-radius:10px;background:#f7f9fd;color:#59677b;font-size:13px}
.listen-mode.active{border-color:#bfcaff;background:#e9eeff;color:#3156d8;font-weight:700}
.listen-position{text-align:center;color:#69778a;font-size:13px;margin-top:20px;font-variant-numeric:tabular-nums}
.listen-stage{min-height:230px;padding:16px 22px 6px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.listen-play{width:82px;height:82px;border:0;border-radius:50%;background:#e9efff;color:#3156d8;font-size:33px;display:grid;place-items:center}
.listen-play.playing{animation:listen-pulse 1.2s ease-in-out infinite}
@keyframes listen-pulse{50%{box-shadow:0 0 0 14px #e9efff99}}
.listen-word{min-height:39px;margin-top:13px;font-size:28px;line-height:1.3;font-weight:700;overflow-wrap:anywhere}
.listen-phonetic{min-height:20px;color:#69778a;font-size:14px}
.listen-meaning{max-width:440px;max-height:120px;overflow:auto;margin-top:7px;color:#455267;font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.listen-hint{margin:12px 0 0;color:#788598;font-size:12px;line-height:1.5}
.listen-status{min-height:22px;text-align:center;color:#526789;font-size:12px;padding:0 18px 6px}
.listen-controls{border-top:1px solid #e6ebf4;background:#fafbff;padding:13px 20px 19px}
.listen-auto{display:flex;align-items:center;gap:7px;color:#5e6b80;font-size:13px;margin-bottom:11px}
.listen-auto input{width:18px;height:18px;accent-color:#4869ed}
.listen-buttons{display:grid;gap:9px}
.listen-nav-row,.listen-action-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.listen-action-row.study{grid-template-columns:repeat(2,minmax(0,1fr))}
.listen-buttons button{min-height:44px;border:1px solid #d5def0;border-radius:10px;background:white;color:#33435b;font-size:13px}
.listen-buttons button.primary{border-color:#4869ed;background:#4869ed;color:white;font-weight:700}
.listen-buttons button:hover{background:#e9efff}
.listen-buttons button.primary:hover{background:#3156d8}
@media(max-width:540px){#listen-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}#listen-dialog .listen-head{padding:15px 16px 11px}.listen-modes{padding:12px 16px 0}.listen-stage{min-height:205px;padding:12px 15px 5px}.listen-controls{padding:12px 16px 16px}.listen-word{font-size:26px}}
