/* Practice, presentation and catalog share the same content without sharing state. */
body.is-catalog>.skip-link { display:none; }
/* Reserve the bottom edge for navigation, score and actions. Routine notices
   remain available to screen readers; storage/playback warnings stay visible. */
.ieltscat-navy .practice-bar { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:16px;margin-top:7px;padding:0 4px 8px; }
.ieltscat-navy .progress-row { min-width:0;min-height:40px; }
.ieltscat-navy .practice-actions { padding:0;gap:12px; }
.ieltscat-navy #result:empty { display:none; }
.ieltscat-navy .result { white-space:nowrap; }
.ieltscat-navy .save-status:not(.sr-only) { position:fixed;left:50%;bottom:58px;transform:translateX(-50%);z-index:25;max-width:calc(100% - 28px);padding:7px 12px;background:#fff8ef;border:1px solid #e0c99e;border-radius:6px;color:#785023;white-space:normal;text-align:center;font-size:12px; }
.ieltscat-navy .return-catalog { color:var(--navy);font-size:12px;white-space:nowrap;border-bottom:1px solid #c6d0e8;padding:3px 0; }
.ieltscat-navy .session-bar { flex:none;display:flex;align-items:center;gap:18px;min-height:43px;padding:7px 4px 0;color:var(--muted);font-size:12px; }
.ieltscat-navy .session-bar>label { display:flex;align-items:center;gap:8px;white-space:nowrap; }
.ieltscat-navy .session-bar select { background:transparent;border:1px solid var(--line);border-radius:5px;padding:4px 8px;color:var(--navy);font-size:12px; }
.ieltscat-navy .session-clock { margin-left:auto;display:flex;align-items:center;gap:12px;white-space:nowrap; }
.ieltscat-navy #practice-timer { color:var(--navy);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;min-width:40px;text-align:right; }
.ieltscat-navy #pause-practice { font-size:11px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:5px;padding:4px 9px; }
.ieltscat-navy .intro { min-height:76px;padding-top:10px;padding-bottom:12px; }
.ieltscat-navy.is-practice .toolbar { display:none; }
.ieltscat-navy.is-practice .session-bar { padding-top:0;min-height:37px; }
.ieltscat-navy.is-practice .intro { min-height:65px; }
.ieltscat-navy.is-listening-practice .workspace { display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:10px; }
.ieltscat-navy.is-listening-practice #source-panel { display:flex!important;height:auto;border:0;background:transparent;box-shadow:none;overflow:visible; }
.ieltscat-navy.is-listening-practice #source-panel .panel-header { display:none; }
.ieltscat-navy.is-listening-practice #source { padding:0;overflow:visible;font-size:14px; }
.ieltscat-navy.is-listening-practice #source .player { display:flex;align-items:center;gap:20px;padding:8px 18px;margin:0;background:#fff; }
.ieltscat-navy.is-listening-practice #source .player-intro,.ieltscat-navy.is-listening-practice #source .media-note { display:none; }
.ieltscat-navy.is-listening-practice #source audio { margin:0;max-width:680px;height:36px; }
.ieltscat-navy.is-listening-practice #source .player-controls { margin:0;flex:none; }
.ieltscat-navy.is-listening-practice #questions-panel { display:flex!important;height:auto; }
.ieltscat-navy.is-listening-practice .questions-content { padding-left:max(30px,calc((100% - 1000px)/2));padding-right:max(30px,calc((100% - 1000px)/2)); }
.ieltscat-navy.is-listening-practice .mobile-tabs { display:none; }
.ieltscat-navy.is-teaching [data-answer-key]:disabled { opacity:1;color:var(--navy);cursor:default; }
@media(max-width:900px) { .ieltscat-navy #mode-note { font-size:11px; } .ieltscat-navy .session-bar { gap:10px; } }
@media(max-width:700px) {
  .ieltscat-navy .practice-bar { grid-template-columns:minmax(0,1fr);gap:2px;padding:3px 4px max(7px,env(safe-area-inset-bottom));margin-top:5px; }
  .ieltscat-navy .progress-row { min-height:34px; }
  .ieltscat-navy .practice-actions { padding:0;gap:3px; }
  .ieltscat-navy .result { flex-basis:auto;min-height:0;max-width:none;white-space:normal; }
  .ieltscat-navy .action-buttons { flex:1; }
  .ieltscat-navy .save-status:not(.sr-only) { display:block;bottom:90px; }
  .ieltscat-navy .return-catalog { font-size:11px; }
  .ieltscat-navy .header-actions { gap:12px; }
  .ieltscat-navy .quiet-button>span:last-child { display:none; }
  .ieltscat-navy .session-bar { flex-wrap:wrap;gap:5px 10px;min-height:47px;padding-top:9px; }
  .ieltscat-navy #mode-note { display:none; }
  .ieltscat-navy .session-bar>label { font-size:11px;gap:6px; }
  .ieltscat-navy .session-bar select { padding:4px;max-width:105px; }
  .ieltscat-navy .session-clock { gap:8px; }
  .ieltscat-navy #practice-timer { font-size:13px; }
  .ieltscat-navy .intro { min-height:69px;padding-top:9px; }
  .ieltscat-navy.is-listening-practice #source .player { gap:8px;padding:7px 9px; }
  .ieltscat-navy.is-listening-practice #source audio { min-width:0;flex:1; }
  .ieltscat-navy.is-listening-practice #source .player-controls label { min-height:34px;font-size:0; }
  .ieltscat-navy.is-listening-practice #source .player-controls select { font-size:11px; }
  .ieltscat-navy.is-listening-practice .questions-content { padding-left:20px;padding-right:20px; }
}
@media print { .ieltscat-navy .session-bar,.ieltscat-navy .return-catalog { display:none!important; } }
@media(max-width:360px) {
  .ieltscat-navy .masthead { gap:8px; }
  .ieltscat-navy .brand-lockup { flex-shrink:0; }
  .ieltscat-navy .header-actions { gap:8px; }
  .ieltscat-navy .font-setting>span:first-child { display:none; }
}
