/* Speaking re-record. Scoped to .srr-* only; nothing here targets the page grids. */
.srr-card,.srr-dialog,.srr-notice{--srr-fg:#16263a;--srr-muted:#56677b;--srr-line:#d9e1ea;--srr-soft:#f3f6f9;--srr-panel:#fff;--srr-accent:#1f5fa8;--srr-accent-fg:#fff;--srr-good:#11795a;--srr-good-soft:#e6f4ee;--srr-wait:#6a3fc4;--srr-wait-soft:#f1edfd;--srr-err:#ad2626}
html[data-appearance=dark] .srr-card,html[data-appearance=dark] .srr-dialog,html[data-appearance=dark] .srr-notice,[data-theme=dark] .srr-card,[data-theme=dark] .srr-dialog,[data-theme=dark] .srr-notice{--srr-fg:#eef3f9;--srr-muted:#b4c3d6;--srr-line:#46576e;--srr-soft:#22344a;--srr-panel:#1a2a3d;--srr-accent:#6ea6e6;--srr-accent-fg:#0d1a2a;--srr-good:#4cc995;--srr-good-soft:#173a2f;--srr-wait:#c5b0ff;--srr-wait-soft:#2c2448;--srr-err:#ffb4aa}
.srr-card{margin-top:12px;padding-top:12px;border-top:1px solid var(--srr-line);display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0}
.srr-card-line{flex:1 1 220px;min-width:0;margin:0;display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:1.5;color:var(--srr-muted);overflow-wrap:anywhere}
.srr-card-line b{color:var(--srr-fg);font-size:14px}
.srr-card-due b{color:var(--srr-wait)}
.srr-card .srr-open{flex:0 0 auto;max-width:100%}
.srr-dialog button,.srr-card button,.srr-notice button{min-height:36px;padding:6px 14px;border:1px solid var(--srr-line);border-radius:9px;background:var(--srr-panel);color:var(--srr-fg);font:inherit;font-size:14px;cursor:pointer;white-space:nowrap}
.srr-dialog button:disabled,.srr-card button:disabled{opacity:.5;cursor:not-allowed}
.srr-dialog button:focus-visible,.srr-card button:focus-visible,.srr-notice button:focus-visible,.srr-dialog summary:focus-visible{outline:3px solid #3187ee;outline-offset:2px}
.srr-dialog .srr-primary,.srr-card button.srr-primary.srr-primary,.srr-notice button.srr-primary.srr-primary{background:var(--srr-accent);border-color:var(--srr-accent);color:var(--srr-accent-fg);font-weight:700}
.srr-dialog .srr-stop{background:var(--srr-err);border-color:var(--srr-err);color:#fff;font-weight:700}
.srr-dialog .srr-pass{border-color:var(--srr-good);color:var(--srr-good);font-weight:700}
.srr-dialog{box-sizing:border-box;width:min(1120px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--srr-line);border-radius:16px;background:var(--srr-panel);color:var(--srr-fg);box-shadow:0 18px 50px #0b1a2e40;font:15px/1.55 Arial,"Noto Sans KR",sans-serif}
.srr-dialog::backdrop{background:#0b1a2e8c}
.srr-dialog *{box-sizing:border-box}
.srr-body{max-height:calc(100dvh - 26px);overflow-y:auto;overscroll-behavior:contain;padding:22px 24px 24px}
.srr-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.srr-head>div{min-width:0}
.srr-head h2{margin:2px 0 4px;font-size:21px;line-height:1.35;overflow-wrap:anywhere}
.srr-kicker{margin:0;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--srr-accent)}
.srr-sub{margin:0;font-size:13px;color:var(--srr-muted);overflow-wrap:anywhere}
.srr-counts{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 14px;font-size:14px;color:var(--srr-muted)}
.srr-counts b{color:var(--srr-fg);font-size:16px}
.srr-bulk,.srr-request-box{border:1px solid var(--srr-line);border-radius:12px;background:var(--srr-soft);padding:14px 16px;margin-bottom:16px}
.srr-bulk h3{margin:0 0 4px;font-size:16px}
.srr-bulk label,.srr-ask label{display:block;margin:10px 0 8px;font-size:13px;color:var(--srr-muted)}
.srr-dialog textarea{display:block;width:100%;min-width:0;margin-top:4px;padding:9px 11px;border:1px solid var(--srr-line);border-radius:9px;background:var(--srr-panel);color:var(--srr-fg);font:inherit;font-size:14px;resize:vertical}
.srr-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.srr-confirm span{font-weight:700}
.srr-result{margin:10px 0 0;font-size:13px;color:var(--srr-good);font-weight:700;overflow-wrap:anywhere}
.srr-students{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.srr-student{border:1px solid var(--srr-line);border-radius:12px;padding:12px 14px;min-width:0}
.srr-state-requested{border-left:4px solid var(--srr-wait)}
.srr-state-resubmitted,.srr-state-submitted{border-left:4px solid var(--srr-accent)}
.srr-state-passed{border-left:4px solid var(--srr-good)}
.srr-state-missing{border-left:4px solid var(--srr-line)}
.srr-student-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.srr-student-head h3{margin:0;font-size:16px;overflow-wrap:anywhere}
.srr-badge{font-size:13px;color:var(--srr-muted)}
.srr-chips{display:flex;flex-wrap:wrap;gap:4px}
.srr-chip{padding:1px 9px;border:1px solid var(--srr-line);border-radius:999px;font-size:12px;font-weight:700;background:var(--srr-panel)}
.srr-chip-wait{border-color:var(--srr-wait);color:var(--srr-wait);background:var(--srr-wait-soft)}
.srr-chip-pass{border-color:var(--srr-good);color:var(--srr-good);background:var(--srr-good-soft)}
.srr-actions,.srr-ask-actions,.srr-notice-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.srr-ask{margin-top:4px}
.srr-compare{margin-top:12px;border-top:1px dashed var(--srr-line);padding-top:10px}
.srr-notes{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px}
.srr-notes li{display:flex;flex-wrap:wrap;gap:2px 8px;overflow-wrap:anywhere}
.srr-notes span{color:var(--srr-fg)}
.srr-notes em{font-style:normal;color:var(--srr-muted)}
.srr-item{border:1px solid var(--srr-line);border-radius:12px;padding:12px 14px;margin-top:10px;min-width:0}
.srr-item-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px}
.srr-item-head h4{margin:0;font-size:15px;overflow-wrap:anywhere}
.srr-item-head button{min-height:32px;font-size:13px}
.srr-script{margin-top:6px;font-size:13px;color:var(--srr-muted)}
.srr-script summary,.srr-prev summary,.srr-request-box summary{cursor:pointer}
.srr-script p{margin:6px 0 0;white-space:pre-wrap;color:var(--srr-fg);overflow-wrap:anywhere}
.srr-takes{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin-top:8px}
.srr-take{border:1px solid var(--srr-line);border-radius:10px;padding:8px 10px;background:var(--srr-soft);min-width:0}
.srr-take p{margin:0 0 4px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:13px}
.srr-take small{color:var(--srr-muted)}
.srr-take-pass{border-color:var(--srr-good);background:var(--srr-good-soft)}
.srr-take-new{margin-top:8px;border-color:var(--srr-accent)}
.srr-dialog audio{display:block;width:100%;min-width:0;height:40px}
.srr-prompt{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8px}
.srr-prompt span{font-size:13px;color:var(--srr-muted)}
.srr-prompt audio{flex:1 1 220px}
.srr-recorder{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px}
.srr-timer{font-size:13px;color:var(--srr-err);font-variant-numeric:tabular-nums}
.srr-saved{font-size:12px;font-weight:700;color:var(--srr-muted)}
.srr-saved-on{color:var(--srr-good)}
.srr-prev{margin-top:8px;font-size:13px}
.srr-request-box p{margin:4px 0 0;overflow-wrap:anywhere}
.srr-request-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.srr-request-title b{font-size:17px;color:var(--srr-wait)}
.srr-request-title small{color:var(--srr-muted)}
.srr-foot{position:sticky;bottom:-24px;margin:16px -24px -24px;padding:12px 24px;border-top:1px solid var(--srr-line);background:var(--srr-panel);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.srr-none{margin:0;font-size:13px;color:var(--srr-muted)}
.srr-error{color:var(--srr-err)}
.srr-notice{position:fixed;right:16px;top:76px;z-index:1900;box-sizing:border-box;width:min(380px,calc(100vw - 32px));padding:14px 16px;border:1px solid var(--srr-line);border-left:5px solid var(--srr-wait);border-radius:12px;background:var(--srr-panel);color:var(--srr-fg);box-shadow:0 12px 32px #0b1a2e33;font:14px/1.5 Arial,"Noto Sans KR",sans-serif}
.srr-notice p{margin:0;overflow-wrap:anywhere}
.srr-notice-kicker{font-size:12px;color:var(--srr-muted)}
.srr-notice-title b{color:var(--srr-wait)}
.srr-notice-comment{margin-top:4px!important;font-size:13px;color:var(--srr-muted)}
.srr-say{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:2100;max-width:calc(100vw - 32px);padding:10px 16px;border-radius:10px;background:#16263a;color:#fff;font:14px/1.5 Arial,"Noto Sans KR",sans-serif}
@media (max-width:640px){
 .srr-dialog{width:100vw;max-height:100dvh;border-radius:0;margin:0;border:0}
 .srr-body{max-height:100dvh;padding:16px}
 .srr-head h2{font-size:18px}
 .srr-foot{bottom:-16px;margin:16px -16px -16px;padding:10px 16px}
 .srr-takes{grid-template-columns:minmax(0,1fr)}
 .srr-student,.srr-item{padding:10px 11px}
 .srr-actions button,.srr-ask-actions button{flex:1 1 auto}
 .srr-notice{right:8px;left:8px;top:68px;width:auto}
}
