:root{--ink:#183c43;--accent:#b17c42;--soft:#e5ece8;--line:#d7dfd9}[hidden]{display:none!important}.back-link{font-size:11px;text-decoration:none}.ielts-hero{display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:center}.ielts-hero h1{font-size:clamp(38px,4.6vw,64px)}.focus-board{background:var(--ink);color:#fffaf0;border-radius:16px;padding:30px}.focus-board .note{color:#b7cfcb}.focus-board strong{font:65px Georgia;line-height:1}.skill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:28px 0}.skill-card{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:20px}.skill-card b{font:25px Georgia;display:block}.skill-card p{font-size:11px;color:var(--muted);margin:10px 0}.practice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.practice-grid .panel{margin:0}.reading-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:25px}.passage{white-space:pre-wrap;font:16px/1.9 Georgia,serif;max-height:75vh;overflow:auto;padding:24px;background:#fffef9;border:1px solid var(--line);border-radius:8px}.passage p{margin-bottom:18px}.question-box{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:25px}.answer-choice{display:flex;gap:12px;width:100%;align-items:start;text-align:left;border:1px solid var(--line);border-radius:7px;padding:14px;margin:10px 0;background:transparent;color:var(--ink);font-size:13px}.answer-choice.selected{border-color:var(--ink);background:var(--soft)}.answer-choice b{background:var(--soft);border-radius:50%;width:25px;height:25px;display:grid;place-content:center;flex:none}.question-nav{display:flex;flex-wrap:wrap;gap:5px;margin:20px 0}.question-nav button{width:30px;height:30px;border:1px solid var(--line);background:var(--paper);border-radius:4px;font-size:10px;color:var(--ink)}.question-nav button.answered{background:var(--soft)}.question-nav button.active{background:var(--ink);color:white}.session-head{position:sticky;top:0;z-index:5;background:var(--bg);display:flex;justify-content:space-between;gap:20px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:25px}.clock{font:30px Georgia;font-variant-numeric:tabular-nums}.writing-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:24px}.writing-paper{width:100%;min-height:460px;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:25px;font:16px/1.9 Georgia;resize:vertical;color:var(--ink)}.rubric{border-top:1px solid var(--line);padding:14px 0}.rubric strong{font-size:12px}.rubric p{font-size:12px}.task-chart{width:100%;height:auto;max-height:300px;background:#fafbf6;border:1px solid var(--line);border-radius:6px}.progress-bars .bar-row{display:grid;grid-template-columns:120px 1fr 55px;align-items:center;gap:12px;margin:17px 0;font-size:12px}.bar-track{height:8px;border-radius:20px;background:var(--soft);overflow:hidden}.bar-track span{height:100%;display:block;background:var(--ink)}.review-item{border-top:1px solid var(--line);padding:22px 0}.review-item p{font-size:13px}.resource-card{display:flex;flex-direction:column;gap:10px}.resource-card .btn{align-self:start;margin-top:auto}.badge-plain{font-size:10px;padding:5px 10px;background:var(--soft);border-radius:20px}.speaking-card{background:var(--ink);color:white;border-radius:12px;padding:30px}.speaking-card .note{color:#b7cfcb}.speaking-card h2{font-size:32px;line-height:1.3}.plan-day{display:flex;gap:20px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:16px 0}.lesson-steps{counter-reset:steps;list-style:none;padding:0}.lesson-steps li{counter-increment:steps;display:flex;gap:15px;font-size:13px;margin:20px 0}.lesson-steps li:before{content:counter(steps);display:grid;place-content:center;background:var(--soft);height:27px;width:27px;border-radius:50%;flex:none}#ielts-toast{position:fixed;bottom:20px;left:50%;max-width:85vw;padding:14px 22px;background:var(--ink);color:white;border-radius:6px;z-index:100;font-size:12px}dialog{max-width:480px;border:1px solid var(--line);border-radius:12px;padding:30px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#162e3b66}.mini-history{display:flex;align-items:end;height:140px;gap:12px;border-bottom:1px solid var(--line);padding:12px}.mini-history div{flex:1;background:var(--ink);min-height:3px;position:relative}.mini-history span{position:absolute;top:-21px;left:0;font-size:10px}.skill-filter{display:flex;gap:8px;margin:20px 0;flex-wrap:wrap}.word-display{font:52px Georgia;margin:25px 0}.recording{color:#b44242;font-weight:700}.check-list{display:grid;gap:12px;margin:18px 0}.section-top{display:flex;gap:16px;align-items:center;justify-content:space-between}.reading-layout .panel{margin-top:0}@media(max-width:1100px){.ielts-hero,.writing-layout{grid-template-columns:1fr}.skill-grid{grid-template-columns:1fr 1fr}.reading-layout{grid-template-columns:1fr}.passage{max-height:45vh}}@media(max-width:600px){.practice-grid{grid-template-columns:1fr}.focus-board{padding:22px}.session-head{align-items:start}.session-head .btn{font-size:10px;padding:8px}.skill-card{padding:15px}.skill-card b{font-size:22px}.plan-day{flex-wrap:wrap}.progress-bars .bar-row{grid-template-columns:90px 1fr 40px}}
