/* Listening reuses the approved shared shell, question classes and tokens.
   Only Listening layout differences live here. Reading is untouched. */
.ibt-listening { color:var(--ibt-text); background:var(--ibt-bg); line-height:1.6; min-width:0; }
#ibt-test-root:has(.ibt-listening) { overflow:visible; }
.ibt-listening .ibt-l-questions { width:100%; min-width:0; padding:0 8px; }
.ibt-listening .ibt-l-group { margin:16px 12px 24px; }
.ibt-l-group.ibt-l-highlight { box-shadow:inset 4px 0 #e4a72d; }
.ibt-l-legacy-highlight { display:block; margin-top:10px; font-size:12px; }
.ibt-l-text { white-space:pre-wrap; overflow-wrap:anywhere; user-select:text; -webkit-user-select:text; }
.ibt-listening .ibt-nav { flex-wrap:wrap; }
#ibt-test-root .ibt-listening button.ibt-nav-dot { min-width:36px; min-height:36px; width:36px; height:36px; }
.ibt-listening .ibt-l-callout { margin:14px 20px; padding:14px; border:1px solid #e7bb4c; border-radius:8px; background:#fff5d7; color:var(--ibt-navy); }
.ibt-l-callout button { margin:8px; }
.ibt-l-modal { position:fixed; inset:0; z-index:1000; background:#10243db3; display:flex; justify-content:center; align-items:center; padding:20px; }
.ibt-l-modal>div { max-width:480px; background:#fff; padding:25px; border-radius:12px; box-shadow:0 12px 40px #0004; }
.ibt-l-modal button { margin:8px 12px 0 0; }
.ibt-l-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.ibt-listening :focus-visible,.ibt-l-results :focus-visible { outline:3px solid #276ed1; outline-offset:3px; }
.ibt-listening .ibt-highlight-toolbar { width:260px; }
.ibt-listening .ibt-highlight-toolbar button { flex:0 0 auto; }
/* Owner-approved compact Listening shell. Shared Reading files are unchanged. */
#ibt-test-root .ibt-listening .ibt-l-toolbar { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:center; height:auto; min-height:64px; padding:8px 12px; gap:10px; overflow:visible; top:var(--ibt-site-header-offset,0px); }
#ibt-test-root .ibt-listening .ibt-l-toolbar.ibt-header-ready { grid-template-columns:minmax(32px,1fr) minmax(440px,490px) minmax(0,1fr); }
#ibt-test-root .ibt-listening .ibt-header-left { grid-column:1; grid-row:1; min-width:0; width:auto; gap:0; }
#ibt-test-root .ibt-listening .ibt-l-back { display:inline-flex; justify-content:center; align-items:center; min-width:32px; width:32px; height:32px; min-height:32px; padding:0; color:#fff; font-size:18px; line-height:1; text-decoration:none; border-radius:6px; }
#ibt-test-root .ibt-listening .ibt-header-right { grid-column:2; grid-row:1; display:flex; flex-wrap:nowrap; align-items:center; justify-content:flex-end; min-width:0; width:auto; gap:8px; }
#ibt-test-root .ibt-listening .ibt-header-ready .ibt-header-right { grid-column:3; }
#ibt-test-root .ibt-listening .ibt-header .ibt-start-inline { grid-column:2; grid-row:1; order:0; display:flex; flex-direction:row; align-items:center; justify-content:space-between; justify-self:center; width:100%; min-width:0; max-width:640px; margin:0; padding:8px 10px; gap:10px; text-align:left; }
#ibt-test-root .ibt-listening .ibt-start-copy { flex:1 1 auto; min-width:0; }
#ibt-test-root .ibt-listening .ibt-start-copy strong { font-size:13px; line-height:1.4; margin:0; }
#ibt-test-root .ibt-listening .ibt-start-copy span { font-size:12px; line-height:1.4; }
#ibt-test-root .ibt-listening .ibt-start-inline .ibt-btn-start { flex:0 0 auto; width:auto; min-height:44px; padding:10px 13px; font-size:12px; line-height:20px; white-space:nowrap; }
#ibt-test-root .ibt-listening .ibt-timer { min-height:44px; padding:0; font-size:15px; font-variant-numeric:tabular-nums; white-space:nowrap; }
#ibt-test-root .ibt-listening .ibt-btn-submit,#ibt-test-root .ibt-listening .ibt-btn-start-again { order:0; flex:0 0 auto; min-width:0; min-height:44px; padding:9px 14px; font-family:inherit; font-size:12px; line-height:20px; white-space:nowrap; }
.ibt-listening button:disabled { cursor:default; opacity:.55; }
.ibt-listening .ibt-l-section-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 16px; background:var(--ibt-surface); border-bottom:1px solid var(--ibt-border); min-width:0; }
#ibt-test-root .ibt-listening .ibt-l-section-row .ibt-tabs { display:flex; flex:0 0 auto; align-self:stretch; min-width:0; height:auto; min-height:52px; padding:0; border:0; overflow:visible; gap:0; }
#ibt-test-root .ibt-listening .ibt-tab { flex:0 0 auto; justify-content:center; min-height:52px; padding:10px 16px; font-size:13px; }
.ibt-listening .ibt-l-player { flex:0 1 56%; width:56%; min-width:250px; padding:4px 0; }
.ibt-listening .ibt-l-player audio { display:block; width:100%; max-width:100%; min-width:0; height:48px; border-radius:28px; background:#e8eef4; }
.ibt-listening .ibt-l-player-disabled { opacity:.6; }
.ibt-listening .ibt-l-player[aria-disabled=true] audio[src] { pointer-events:none; }
.ibt-listening .ibt-l-player [role=status] { color:#8f1730; font-size:13px; }
.ibt-listening .ibt-l-player [role=status] button { min-height:44px; padding:8px 12px; margin:4px; background:#fff; color:var(--ibt-navy); border:1px solid var(--ibt-border); border-radius:6px; }
@media (max-width:1200px) {
 #ibt-test-root .ibt-listening .ibt-font-toggle { display:none; }
}
@media (max-width:900px) {
 #ibt-test-root .ibt-listening .ibt-l-toolbar,#ibt-test-root .ibt-listening .ibt-l-toolbar.ibt-header-ready { display:grid; grid-template-columns:32px minmax(0,1fr); min-height:60px; padding:8px; gap:8px; }
 #ibt-test-root .ibt-listening .ibt-header-ready .ibt-header-right { grid-column:2; }
 #ibt-test-root .ibt-listening .ibt-header .ibt-start-inline { grid-column:1/-1; grid-row:2; max-width:640px; padding:8px; gap:8px; }
 #ibt-test-root .ibt-listening .ibt-header-right { gap:7px; }
 #ibt-test-root .ibt-listening .ibt-header-right .ibt-timer { flex:0 0 auto; padding:0; font-size:13px; }
 #ibt-test-root .ibt-listening .ibt-header-right .ibt-btn-start-again,#ibt-test-root .ibt-listening .ibt-header-right .ibt-btn-submit { flex:0 0 auto; min-height:44px; padding:8px 10px; font-size:11px; }
 #ibt-test-root .ibt-listening .ibt-header:not(.ibt-header-ready) .ibt-header-right { justify-content:space-between; gap:5px; }
 #ibt-test-root .ibt-listening .ibt-tab { padding-left:11px; padding-right:11px; }
}
@media (max-width:700px) {
 .ibt-listening .ibt-l-section-row { flex-wrap:wrap; padding:0 8px 6px; gap:4px; }
 #ibt-test-root .ibt-listening .ibt-l-section-row .ibt-tabs { flex:1 0 100%; min-height:44px; }
 #ibt-test-root .ibt-listening .ibt-tab { flex:1 1 0; min-width:0; min-height:44px; padding:8px 4px; font-size:12px; }
 .ibt-listening .ibt-l-player { flex:1 0 100%; min-width:0; width:100%; padding:0; }
 .ibt-listening .ibt-l-player audio { height:48px; }
 .ibt-listening .ibt-l-questions { padding:0; }
 .ibt-listening .ibt-l-group { margin:12px 8px 20px; }
}
@media (max-width:450px) {
 #ibt-test-root .ibt-listening .ibt-header .ibt-start-inline { flex-direction:column; align-items:stretch; }
 #ibt-test-root .ibt-listening .ibt-start-inline .ibt-btn-start { width:100%; }
}
/* Existing immutable result presentation is retained; no audio is rendered. */
.ibt-l-results button { min-height:40px; border:1px solid #b8c5d5; border-radius:7px; padding:8px 12px; font:inherit; background:#fff; color:#172b4d; cursor:pointer; }
.ibt-l-results .ibt-l-group { margin:12px 0; }
.ibt-l-results .ibt-l-review-context { padding:14px 18px; border-bottom:1px solid var(--ibt-border,#dce3ed); font-size:14px; line-height:1.55; }
.ibt-l-review-context p { margin:6px 0; }
.ibt-l-review-context img { max-width:100%; height:auto; }
.ibt-l-overtime { display:inline-block; margin-top:10px; padding:5px 10px; border-radius:999px; background:#FEF3C7; color:#92400E; font-size:12px; font-weight:600; }
@media(max-width:600px) {
 .ibt-l-results { padding:12px!important; }
 .ibt-l-results .ibt-stats-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
}

/* Reading-matched desktop chrome; compact mobile structure is preserved. */
#ibt-test-root .ibt-listening .ibt-btn-submit,#ibt-test-root .ibt-listening .ibt-btn-start-again { font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; }
#ibt-test-root .ibt-listening .ibt-header-left { gap:12px; }
#ibt-test-root .ibt-listening .ibt-header-logo { flex:0 0 auto; }
#ibt-test-root .ibt-listening .ibt-header-badge { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (min-width:901px) {
 #ibt-test-root .ibt-listening .ibt-l-toolbar { grid-template-columns:minmax(0,1fr) auto; padding:12px 20px; gap:12px; }
 #ibt-test-root .ibt-listening .ibt-l-toolbar.ibt-header-ready { grid-template-columns:minmax(0,1fr) minmax(340px,600px) minmax(0,1fr); }
 #ibt-test-root .ibt-listening .ibt-header .ibt-start-inline { max-width:600px; padding:10px 12px; gap:14px; }
 #ibt-test-root .ibt-listening .ibt-start-copy strong { font-size:16px; font-weight:700; line-height:1.25; margin-bottom:3px; }
 #ibt-test-root .ibt-listening .ibt-start-copy span { font-size:14px; font-weight:400; line-height:1.4; }
 #ibt-test-root .ibt-listening .ibt-start-inline .ibt-btn-start { font-size:15px; font-weight:700; line-height:24px; padding:10px 18px; }
 #ibt-test-root .ibt-listening .ibt-timer { min-height:0; font-size:17px; font-weight:600; line-height:27.2px; }
 #ibt-test-root .ibt-listening .ibt-btn-submit { min-height:0; padding:9px 22px; font-size:14px; font-weight:500; line-height:21px; font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; }
 #ibt-test-root .ibt-listening .ibt-btn-start-again { min-height:0; padding:7px 10px; font-size:12px; font-weight:400; line-height:18px; }
 #ibt-test-root .ibt-listening .ibt-l-back { font-size:15px; line-height:24px; }
 #ibt-test-root .ibt-listening .ibt-font-toggle { display:flex; }
}
@media (min-width:901px) and (max-width:1650px) {
 #ibt-test-root .ibt-listening .ibt-l-toolbar.ibt-header-ready { grid-template-columns:minmax(0,1fr) auto; }
 #ibt-test-root .ibt-listening .ibt-header-ready .ibt-header-right { grid-column:2; }
 #ibt-test-root .ibt-listening .ibt-header-ready .ibt-start-inline { grid-column:1/-1; grid-row:2; }
}
@media (max-width:900px) {
 #ibt-test-root .ibt-listening .ibt-header-logo,#ibt-test-root .ibt-listening .ibt-header-badge { display:none; }
 #ibt-test-root .ibt-listening .ibt-header-left { gap:0; }
 #ibt-test-root .ibt-listening .ibt-start-copy strong { font-size:14px; line-height:1.35; }
 #ibt-test-root .ibt-listening .ibt-start-copy span { font-size:13px; line-height:1.4; }
 #ibt-test-root .ibt-listening .ibt-start-inline .ibt-btn-start { font-size:14px; line-height:20px; padding:11px 12px; }
 #ibt-test-root .ibt-listening .ibt-header-right .ibt-timer { font-size:14px; line-height:20px; }
 #ibt-test-root .ibt-listening .ibt-header-right .ibt-btn-start-again,#ibt-test-root .ibt-listening .ibt-header-right .ibt-btn-submit { font-size:14px; line-height:20px; padding:10px 4px; }
}
