.ielts-room { min-height:0; height:100%; overflow-y:auto; color:var(--ink); }
.ielts-header { position:sticky; top:0; z-index:4; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px clamp(16px,4vw,48px); border-bottom:1px solid var(--line); background:var(--panel-solid); }
.ielts-header button { border:0; background:transparent; color:var(--ink); font-size:13px; padding:8px 2px; }
.ielts-header button:last-child { color:var(--accent); }
.ielts-nav { display:flex; gap:8px; overflow-x:auto; padding:4px 0 10px; }
.ielts-nav button { flex:none; border:1px solid var(--line); border-radius:7px; background:var(--field); color:var(--muted); padding:11px 14px; }
.ielts-nav button.active { color:var(--accent-ink); background:var(--accent); border-color:var(--accent); }
#ieltsDashboard>section[hidden] { display:none; }
#ieltsNext h2 { font:600 26px "Pixelify Sans",sans-serif; margin:12px 0; }
#ieltsNext p { color:var(--muted); font-size:14px; line-height:1.6; }
.ielts-header span,.ielts-kicker { color:var(--accent); font:10px "Courier New",monospace; letter-spacing:.14em; }
.ielts-wrap { width:min(100%,1000px); margin:auto; padding:32px clamp(16px,4vw,48px) 60px; }
.ielts-heading { max-width:620px; margin-bottom:26px; }
.ielts-heading h1 { font:600 clamp(34px,5vw,54px)/1.05 "Pixelify Sans",sans-serif; margin:10px 0; }
.ielts-heading>p:last-child { color:var(--muted); font-size:15px; }
.ielts-panel,.ielts-goal { padding:clamp(18px,3vw,30px); margin:16px 0; border:1px solid var(--line); border-radius:12px; background:var(--panel2); }
.ielts-section-heading { display:flex; gap:14px; margin-bottom:22px; }
.ielts-section-heading>span { color:var(--accent); font:12px "Courier New",monospace; padding-top:8px; }
.ielts-section-heading h2,.ielts-goal h2 { font:600 clamp(23px,3vw,29px) "Pixelify Sans",sans-serif; margin:0; }
.ielts-section-heading p,.ielts-goal p { color:var(--muted); font-size:13px; line-height:1.6; margin:6px 0 0; }
.ielts-profile { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.ielts-profile label,.ielts-exercise label { display:flex; flex-direction:column; gap:6px; color:var(--ink); font-size:13px; font-weight:600; }
.ielts-profile label span { color:var(--muted); font-size:11px; font-weight:400; }
.ielts-profile input,.ielts-profile select,.ielts-profile textarea,.ielts-exercise textarea { width:100%; min-width:0; padding:11px; border:1px solid var(--line); border-radius:7px; background:var(--field); color:var(--ink); font:14px system-ui,sans-serif; }
.ielts-profile textarea,.ielts-exercise textarea { resize:vertical; }
.ielts-wide { grid-column:1/-1; }
.ielts-note { color:var(--muted); font-size:12px; line-height:1.6; }
.ielts-form-actions,.ielts-ex-actions { display:flex; flex-wrap:wrap; gap:8px; }
.ielts-primary,.ielts-ex-actions button { border:1px solid rgba(231,199,109,.4); border-radius:7px; padding:11px 16px; background:var(--accent); color:var(--accent-ink); font-weight:700; }
.ielts-form-actions button:not(.ielts-primary),.ielts-ex-head button { border:0; background:transparent; color:var(--muted); padding:9px; }
.ielts-status { color:var(--muted); min-height:1em; font-size:12px; }
.ielts-status.error { color:#ffaaa0; }
.ielts-goal { display:flex; justify-content:space-between; gap:20px; align-items:center; border-color:rgba(231,199,109,.35); background:linear-gradient(135deg,rgba(231,199,109,.12),var(--panel2)); }
.ielts-goal h2 { margin:6px 0; }
.ielts-goal-progress { min-width:145px; display:flex; flex-direction:column; gap:5px; }
.ielts-goal-progress strong { font:600 25px "Pixelify Sans",sans-serif; color:var(--accent); }
.ielts-goal-progress span { color:var(--muted); font-size:11px; }
.ielts-goal-progress progress { width:100%; accent-color:var(--accent); height:7px; }
#ieltsAnalysis p { font-size:13px; line-height:1.6; margin:8px 0; }
.ielts-weekly { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:18px; }
.ielts-weekly>div { padding:12px; background:var(--field); border:1px solid var(--line); border-radius:8px; }
.ielts-weekly span,.ielts-weekly strong { display:block; }
.ielts-weekly span { color:var(--muted); font-size:11px; }
.ielts-weekly strong { margin-top:5px; font-size:15px; }
.ielts-weekly>p { grid-column:1/-1; color:var(--muted); font-size:12px; }
.ielts-plan details { border-top:1px solid var(--line); }
.ielts-plan details:last-child { border-bottom:1px solid var(--line); }
.ielts-plan summary { cursor:pointer; padding:14px 0; font-size:15px; font-weight:700; }
.ielts-plan summary small { display:block; color:var(--muted); font-size:12px; font-weight:400; margin-top:4px; }
.ielts-plan details>div { padding:0 0 13px; font-size:13px; line-height:1.6; }
.ielts-plan details>div p { margin:8px 0; }
.ielts-schedule { margin-top:20px; padding-top:12px; border-top:1px solid var(--line); font-size:13px; line-height:1.7; }
.ielts-schedule h3 { font:600 21px "Pixelify Sans",sans-serif; margin:5px 0; }
.ielts-schedule p { color:var(--muted); }
.ielts-schedule ol { padding-left:22px; }
.ielts-schedule li { margin:6px 0; }
.ielts-lessons details { border-top:1px solid var(--line); }
.ielts-lessons details:last-child { border-bottom:1px solid var(--line); }
.ielts-lessons summary { display:flex; justify-content:space-between; gap:10px; cursor:pointer; padding:15px 2px; font-weight:700; }
.ielts-lessons summary small { color:var(--muted); font-weight:400; }
.ielts-lesson-list { padding:0 0 12px; }
.ielts-lesson-list button { width:100%; display:flex; justify-content:space-between; gap:12px; text-align:left; border:0; border-top:1px solid var(--line); background:transparent; color:var(--ink); padding:12px 5px; }
.ielts-lesson-list button b,.ielts-lesson-list button small { color:var(--accent); }
.ielts-lesson-list button small { flex:none; }
.ielts-skills { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ielts-skill { border:1px solid var(--line); border-radius:9px; background:var(--field); padding:15px; }
.ielts-skill h3 { font:600 21px "Pixelify Sans",sans-serif; margin:0; }
.ielts-skill p { color:var(--muted); font-size:11px; margin:4px 0 12px; }
.ielts-skill button { width:100%; display:flex; justify-content:space-between; align-items:center; gap:8px; padding:10px 4px; border:0; border-top:1px solid var(--line); background:transparent; text-align:left; color:var(--ink); font-size:12px; }
.ielts-skill button small { color:var(--accent); flex:none; }
.ielts-exercise { margin-top:20px; padding:20px; border:1px solid rgba(231,199,109,.35); border-radius:9px; background:var(--field); }
.ielts-ex-head { display:flex; justify-content:space-between; gap:12px; }
.ielts-ex-head h3 { font:600 23px "Pixelify Sans",sans-serif; margin:6px 0 14px; }
.ielts-exercise p { font-size:14px; line-height:1.65; }
.ielts-exercise textarea { margin:8px 0 12px; }
.ielts-passage { padding:15px; border-left:3px solid var(--accent); background:var(--panel2); }
.ielts-options { border:0; padding:0; margin:16px 0; }
.ielts-options legend { color:var(--muted); font-size:12px; margin-bottom:8px; }
.ielts-options label { display:flex; flex-direction:row; align-items:center; padding:7px; font-weight:400; }
.ielts-options input { accent-color:var(--accent); }
.ielts-ex-actions { margin:14px 0; }
.ielts-ex-actions button { background:var(--panel2); color:var(--ink); }
.ielts-result { color:var(--accent); font-weight:600; }
.ielts-feedback { margin-top:16px; padding:15px; border:1px solid var(--line); border-radius:8px; background:var(--panel2); white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.7; }
.ielts-format>p { font-size:13px; line-height:1.7; }
.ielts-format>div:last-child { display:flex; flex-wrap:wrap; gap:14px; }
.ielts-format a { color:var(--accent); font-size:12px; }
.speaking-top { display:flex; justify-content:space-between; gap:10px; color:var(--muted); font-size:12px; }
.speaking-question { font-size:18px; line-height:1.5; color:var(--ink); padding:16px; background:var(--field); border-left:3px solid var(--accent); }
.speaking-controls,.speaking-nav { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:15px 0; }
.ielts-speaking button:not(.ielts-primary) { border:1px solid var(--line); border-radius:7px; background:var(--field); color:var(--ink); padding:11px 14px; }
.ielts-speaking button:disabled { opacity:.5; cursor:not-allowed; }
.ielts-speaking audio { width:min(100%,420px); margin:8px 0; }
#speakStatus,#speakTimer { color:var(--muted); font-size:13px; }
@media(max-width:600px) {
  .ielts-header span { display:none; }
  .ielts-wrap { padding:23px 14px 45px; }
  .ielts-profile { grid-template-columns:1fr; }
  .ielts-wide { grid-column:auto; }
  .ielts-goal { align-items:flex-start; flex-direction:column; }
  .ielts-goal-progress { width:100%; }
  .ielts-weekly,.ielts-skills { grid-template-columns:1fr 1fr; }
  .ielts-skill button { align-items:flex-start; flex-direction:column; }
}
@media(max-width:360px) { .ielts-weekly,.ielts-skills { grid-template-columns:1fr; } }

/* Study content uses the device's readable typeface; the surrounding pixel art stays unchanged. */
.ielts-room { font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-weight:400; }
.ielts-room :is(h1,h2,h3,strong,summary), #ieltsNext h2 { font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-weight:600; letter-spacing:normal; }
.ielts-room :is(button,input,select,textarea), .ielts-header span, .ielts-kicker, .ielts-section-heading>span { font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:normal; }
.ielts-room :is(p,label,li,summary), #ieltsAnalysis p, .ielts-plan details>div, .ielts-schedule, .ielts-format>p { font-size:15px; line-height:1.6; }
.ielts-room :is(input,select,textarea) { font-size:16px; }
.ielts-room :is(.ielts-note,.ielts-status,.speaking-top), .ielts-room small { font-size:13px; line-height:1.5; }
