.speaking-page{--sp-space:24px}
.sp-header{display:flex;justify-content:space-between;align-items:center;height:72px;border-bottom:1px solid var(--hair)}
.sp-skip{position:absolute;left:16px;top:-100px;background:var(--paper);color:var(--ink);padding:12px;z-index:50}.sp-skip:focus{top:8px}
#practiceProgress{min-height:24px}.sp-question-head{min-height:21px}#questionTitle{min-height:3.3em}#questionPrompt{min-height:3.1em}#questionTask{min-height:5.7em}
.sp-label,.sp-small-label{font-size:12px;letter-spacing:.07em;color:var(--brass);font-weight:700}.sp-small-label{color:var(--paper-mute);margin-top:24px;margin-bottom:6px}
.sp-intro{padding:48px 0 32px}.sp-intro h1{font-size:clamp(32px,4vw,52px);line-height:1.35;letter-spacing:.015em;margin:12px 0 16px}.sp-intro>p:last-child{color:var(--lp-body);line-height:1.9}
.sp-mobile-break{display:none}.sp-muted{color:var(--lp-body);font-size:14px}.sp-note{font-size:12px;line-height:1.85;color:var(--paper-mute);margin-top:16px}
.sp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);margin-bottom:24px}.sp-toolbar label{display:block;font-size:13px;margin-bottom:8px;color:var(--lp-body)}
.sp-toolbar select{appearance:auto;background:var(--surface);border:1px solid var(--hair-strong);border-radius:2px;color:var(--paper);font-family:var(--font-jp);font-size:15px;padding:10px 36px 10px 12px;min-height:44px;max-width:100%}
.sp-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start}.sp-practice{min-width:0;background:var(--surface);padding:32px;border:1px solid var(--hair);border-top:2px solid var(--brass);border-radius:2px;scroll-margin-top:24px}
.sp-question-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.sp-question-head .sp-muted{font-size:12px}.sp-practice h2{font-size:24px;line-height:1.65}.sp-practice h3{font-size:16px;line-height:1.7;margin-bottom:12px}
.sp-prompt{font-family:Arial,sans-serif;font-size:clamp(20px,2.2vw,25px);line-height:1.55;overflow-wrap:anywhere}.sp-task{font-size:15px;color:var(--lp-body);line-height:1.9;margin-top:16px}.sp-instruction{font-size:13px;color:var(--brass);margin-top:24px}
.sp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.speaking-page .btn{font-family:var(--font-jp);font-size:14px;letter-spacing:0;text-transform:none;min-height:46px;cursor:pointer;line-height:1.6;padding:11px 18px;white-space:normal}.speaking-page .btn:disabled{opacity:.5;cursor:default;transform:none}
.sp-example,.sp-reflection,.sp-saved{border-top:1px solid var(--hair-strong);margin-top:24px;padding-top:24px}.sp-example[hidden],.sp-reflection[hidden],.sp-saved[hidden],.sp-practice [hidden]{display:none!important}
.sp-model{font-family:Arial,sans-serif;font-size:21px;line-height:1.65;margin-bottom:12px;overflow-wrap:anywhere}.sp-cues{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:20px 0 12px}.sp-cues li{font-size:12px;border:1px solid var(--hair-strong);padding:4px 9px;color:var(--paper)}
.sp-tip{border-left:2px solid var(--brass);padding-left:12px;font-size:13px;line-height:1.9;color:var(--lp-body);margin-bottom:20px}.sp-reflection fieldset{border:0;min-width:0}.sp-reflection legend{font-size:15px;font-weight:700;margin-bottom:12px}.sp-reflection label{display:block;padding:13px 12px;border:1px solid var(--hair-strong);margin-bottom:8px;font-size:14px;cursor:pointer}.sp-reflection label:has(input:checked){border-color:var(--brass);background:var(--ink-2)}.sp-reflection input{accent-color:var(--brass);margin-right:4px}.sp-reflection label span{display:block;font-size:12px;color:var(--paper-mute);margin-left:23px}.sp-reflection>.btn{margin-top:16px}
.sp-saved #practiceSavedStatus{font-size:14px;color:var(--brass)}.sp-transfer{font-size:15px;color:var(--lp-body);margin-top:12px;line-height:1.9}
.sp-sidebar details{border-top:1px solid var(--hair)}.sp-sidebar summary{font-size:14px;font-weight:700;cursor:pointer;min-height:48px;padding:14px 0}.sp-sidebar summary span{font-size:12px;color:var(--paper-mute);font-weight:400}.sp-sidebar nav{display:flex;flex-direction:column}.sp-question-link{display:grid;grid-template-columns:25px minmax(0,1fr);gap:8px;text-align:left;align-items:start;font-family:var(--font-jp);font-size:13px;line-height:1.65;min-height:56px;padding:12px 8px;background:transparent;border:0;border-bottom:1px solid var(--hair);color:var(--lp-body);cursor:pointer}.sp-question-link>span:first-child{font-family:var(--mono);color:var(--paper-mute);font-size:11px;margin-top:3px}.sp-question-link[aria-current=true]{background:var(--surface);color:var(--paper);box-shadow:inset 2px 0 var(--brass)}.sp-question-link small{display:block;font-size:11px;color:var(--paper-mute);margin-top:3px}.sp-question-link:hover{background:var(--surface)}
.sp-after{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:48px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);margin-top:48px}.sp-after h2{font-size:27px;line-height:1.55;margin:12px 0}.sp-after p:not(.kick){font-size:14px;color:var(--lp-body);max-width:36em}.sp-after>.sp-actions{flex-direction:column;flex-shrink:0}
.sp-faq{max-width:760px;padding:40px 0}.sp-faq h2{font-size:22px;margin-bottom:16px}.sp-faq details{border-bottom:1px solid var(--hair);padding:14px 0}.sp-faq summary{cursor:pointer;font-size:14px;line-height:1.8}.sp-faq details p{margin-top:12px;font-size:14px;color:var(--lp-body);line-height:1.9}.sp-footer{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--hair);padding-top:24px;padding-bottom:24px;font-size:12px;color:var(--paper-mute)}
@media(min-width:701px){.sp-sidebar nav{max-height:640px;overflow-y:auto;scrollbar-color:var(--hair-strong) var(--ink);scrollbar-width:thin}}
@media(max-width:900px){.sp-layout{grid-template-columns:minmax(0,1fr) 248px;gap:24px}.sp-practice{padding:24px}.sp-practice h2{font-size:22px}}
@media(max-width:700px){.speaking-page .wrap{padding-left:20px;padding-right:20px}.sp-header{height:64px}.sp-intro{padding:28px 0 24px}.sp-intro h1{font-size:34px}.sp-intro>p:last-child{font-size:14px}.sp-mobile-break{display:block}.sp-toolbar{display:block;padding:16px 0}.sp-toolbar select{width:100%}.sp-toolbar>p{margin-top:12px;font-size:12px}.sp-layout{display:flex;flex-direction:column;gap:24px}.sp-practice{width:100%;padding:20px}.sp-practice h2{font-size:21px}.sp-question-head{gap:8px}.sp-model{font-size:19px}.sp-sidebar{width:100%}.sp-after{display:block;margin-top:32px;padding-top:32px;padding-bottom:32px}.sp-after>.sp-actions{align-items:flex-start}.sp-after h2{font-size:24px}.sp-practice .btn{width:100%}.sp-reflection label{font-size:13px}.sp-header .sp-label{font-size:11px}.sp-header .mark{font-size:15px}}
@media(prefers-reduced-motion:reduce){.speaking-page *{scroll-behavior:auto!important;transition:none!important}}
