body{font-size:16px;line-height:1.65}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,a{min-height:44px}h1{font-size:1.6rem;line-height:1.4;margin:12px 0 20px;color:var(--navy)}h2{font-size:1.15rem;margin:0 0 12px;color:var(--navy)}h3{font-size:1.02rem;margin:24px 0 8px}p{margin:8px 0 16px}.notice{max-width:1176px;margin:18px auto 0;padding:0 6px;color:var(--muted);font-size:.9rem;min-height:24px}.notice.error{color:var(--danger)}.layout{max-width:1240px;margin:18px auto 48px;padding:0 32px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;align-items:start}.lesson-nav{position:sticky;top:20px}.nav-title{display:flex;flex-direction:column;gap:5px;margin-bottom:18px}.nav-title strong{color:var(--navy)}.nav-title span{color:var(--muted);font-size:.88rem}.task-button{display:flex;width:100%;text-align:left;border:1px solid transparent;background:transparent;padding:12px;margin:5px 0;gap:12px;border-radius:12px;color:var(--ink);align-items:center;line-height:1.45;font-size:.93rem}.task-button[aria-current=true]{background:var(--mint);border-color:var(--teal);color:var(--navy);font-weight:600}.task-number{font-size:.8rem;min-width:24px;color:var(--muted)}.task-done{margin-left:auto;color:var(--cyan-dark)}.nav-note{border-top:1px solid var(--line);padding-top:20px;margin-top:20px;color:var(--muted);font-size:.9rem}.practice{background:var(--card);padding:32px 36px;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);min-width:0}.task-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:.87rem;color:var(--muted)}#group-label{color:var(--cyan-dark);font-weight:600}.prompt-block{padding:28px 0 16px}.eyebrow{font-size:.88rem;color:var(--muted)}#prompt{font-size:1.4rem;line-height:1.8;margin-top:12px;color:var(--navy);font-weight:550}.english{font-family:Georgia,'Times New Roman',serif;line-height:1.8;font-size:1.1rem;overflow-wrap:anywhere}summary{cursor:pointer;font-size:.9rem;color:var(--muted);padding:8px 0}details p{margin:10px 0}.hint-actions,.action-row{display:flex;gap:10px;flex-wrap:wrap}.text-button{border:0;background:transparent;color:var(--cyan-dark);font-size:.9rem;padding:8px 10px;text-decoration:underline;text-underline-offset:4px}.hint-actions .text-button{padding-left:0;padding-right:14px}.primary,.secondary{min-height:46px;padding:11px 20px;border-radius:10px;font-weight:600;border:1px solid transparent;font-size:.95rem}.primary{background:var(--cyan-dark);color:#fff}.primary:hover{background:var(--navy)}.secondary{border-color:var(--line);background:white;color:var(--ink)}.record-button{min-width:142px}.record-button.is-recording{background:var(--danger)}.record-area{margin:24px 0 16px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px}.record-area p{font-size:.9rem;color:var(--muted);margin:6px 0 0}.record-controls{display:flex;align-items:center;gap:14px}#timer{font-variant-numeric:tabular-nums;font-size:1.15rem}.help-content{margin-top:14px;background:var(--mint);padding:16px 20px;border-radius:12px}.help-content p:last-child{margin-bottom:0}audio{display:block;width:100%;margin:10px 0 18px}.response-section{border-top:1px solid var(--line);padding-top:26px;margin-top:28px}.muted{font-size:.9rem;color:var(--muted)}label{display:block;font-size:.9rem;font-weight:600;margin:14px 0 8px}textarea,input,select{width:100%;border:1px solid #a9c6ce;border-radius:10px;padding:13px;font-size:1rem;background:white;color:var(--ink);line-height:1.6}textarea{resize:vertical}.feedback-heading{display:flex;align-items:center;gap:14px}.feedback-heading h2{margin:0}.badge{background:var(--mint);color:var(--cyan-dark);padding:4px 10px;border-radius:6px;font-size:.85rem}.badge.review{color:var(--danger);background:#fff1e9}.scores{display:flex;gap:24px;margin-top:18px;flex-wrap:wrap}.score{color:var(--muted);font-size:.9rem}.score strong{font-size:1.15rem;color:var(--navy);margin-left:8px}.issue{margin:14px 0;padding-left:14px;border-left:3px solid #e5b586}.issue blockquote{margin:0 0 6px;font-family:Georgia,serif;overflow-wrap:anywhere}.issue p{font-size:.95rem;margin:0}.repair-cue{font-weight:600}.answer-text{background:var(--paper);padding:16px 20px;border-radius:10px}.history{margin-top:28px;border-top:1px solid var(--line);padding-top:12px}.history-item{border-top:1px solid var(--line);padding:14px 0}.history-item button{border:0;background:none;color:var(--cyan-dark);font-size:.9rem;text-decoration:underline}.history-item p{margin:5px 0;font-size:.93rem}.setup{max-width:720px;margin:36px auto;padding:30px;background:white;border:1px solid var(--line);border-radius:18px}.setup p{color:var(--muted)}.setup .action-row{margin-top:24px}.app-footer a{color:var(--cyan-dark);font-size:.88rem}.app-beta{font-size:.8rem}.app-nav a{font-size:.9rem}.app-footer{font-size:.85rem}.app-footer>div{display:flex;gap:12px;flex-wrap:wrap}.service-summary{padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0}.danger-button{color:var(--danger)}[hidden]{display:none!important}@media(max-width:950px){.layout{grid-template-columns:215px minmax(0,1fr);gap:20px}.practice{padding:26px}.record-area{align-items:flex-start;flex-direction:column}.record-controls{width:100%;justify-content:space-between}}@media(max-width:700px){.layout{display:block;padding:0 16px;margin-top:12px}.lesson-nav{position:static;margin-bottom:20px}.nav-title{flex-direction:row;justify-content:space-between;align-items:center;margin:0 0 10px}#task-list{display:flex;overflow-x:auto;gap:8px;padding-bottom:5px}.task-button{width:205px;min-width:205px;min-height:62px;background:white;border-color:var(--line);margin:0}.nav-note{display:none}.practice{padding:22px 20px;border-radius:14px}.notice{margin:14px 20px 0}.task-meta{font-size:.85rem}h1{font-size:1.35rem}#prompt{font-size:1.22rem}.prompt-block{padding-top:20px}.record-area{margin-top:16px}.setup{margin:20px 16px;padding:22px}.app-nav a{font-size:.88rem;padding:8px!important}.app-footer{margin:0 20px}.action-row>*{flex-grow:1}.scores{gap:16px}}
.microphone-area{margin-top:22px;border-top:1px solid var(--line);padding-top:8px}.microphone-area select{flex:1;min-width:190px;width:auto}.microphone-area p{margin:8px 0;font-size:.88rem}#input-level{width:100%;height:16px;display:block}#raw-transcript{white-space:pre-wrap}

#upgrade h4{font-size:.98rem;color:var(--navy);margin:18px 0 10px}.feedback-explanation{font-size:.95rem;line-height:1.85;overflow-wrap:anywhere;margin:12px 0}
#path-picker{margin:0 0 14px}#path-picker label{margin-top:0}#practice-path{font-size:.9rem;padding:10px 8px}#path-progress{margin:8px 0}.practice-step{border-left:3px solid var(--teal);padding:12px 16px;background:var(--paper);border-radius:0 10px 10px 0;margin:0 0 20px}.practice-step strong{font-size:.9rem;color:var(--cyan-dark)}.practice-step p{font-size:.92rem;margin:6px 0 0;overflow-wrap:anywhere}#step-exposure{font-size:.86rem}#task-title:focus{outline:none}
@media(max-width:700px){#path-picker{margin-bottom:10px}#path-picker label{font-size:.85rem}#practice-path{max-width:100%}.practice-step{padding:10px 12px}}
.practice-link{display:inline-flex;align-items:center;color:var(--cyan-dark);font-size:.9rem;padding:6px 0;margin:4px 0 12px;text-underline-offset:4px}.check-prompt{font-size:1.3rem;line-height:1.8;color:var(--navy);margin:18px 0}.check-options{display:grid;gap:14px;margin:22px 0}.check-option{min-height:68px;border:1px solid #a9c6ce;background:white;color:var(--ink);border-radius:12px;padding:18px 20px;text-align:left;font-size:1rem;line-height:1.7}.check-option:hover:not(:disabled){background:var(--mint);border-color:var(--teal)}.check-option:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.button-link[aria-disabled=true]{opacity:.55;cursor:wait}#check-explanation{line-height:1.85}#check-feedback:focus{outline:none}
@media(max-width:700px){#check-list{display:flex;overflow-x:auto;gap:8px;padding-bottom:5px}.check-prompt{font-size:1.15rem}.check-option{padding:16px}.lesson-nav>.practice-link{margin-top:10px}}
