.studio-page{--studio-blue:#213fc9;--studio-line:#d5dbdf;--studio-muted:#4d5e68;background:#f3f5f8}
.studio-page [hidden]{display:none!important}
.studio-page button,.studio-page select,.studio-page textarea{font:inherit}
.studio-page button{cursor:pointer}
.studio-page button:focus-visible,.studio-page select:focus-visible,.studio-page textarea:focus-visible,.studio-page summary:focus-visible{outline:3px solid #213fc9;outline-offset:3px}
.studio-page .site-header{background:white}
.studio-page .site-header nav a{font-size:14px;letter-spacing:0;text-transform:none}
.studio-page .header-note{font-size:14px;letter-spacing:0;text-transform:none}
.studio-page .footer-links a{font-size:14px}
.studio-skip{position:absolute;top:-100px;left:20px;z-index:10;background:var(--blue);color:white;padding:12px 18px}
.studio-skip:focus{top:10px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.studio-intro{display:flex;justify-content:space-between;gap:32px;align-items:end;padding-top:35px;padding-bottom:28px}
.studio-eyebrow{font-size:14px;font-weight:750;letter-spacing:.045em;color:var(--studio-blue);margin:0 0 10px}
.studio-intro h1{font-family:var(--font-display,Arial);font-size:clamp(36px,4vw,56px);line-height:1.06;letter-spacing:-.045em;margin:0 0 10px;font-weight:800}
.studio-intro h1 span{color:var(--blue)}
.studio-intro>div>p:last-child{font-size:18px;margin:0}
.studio-intro-note{max-width:360px;color:var(--studio-muted);font-size:16px;margin:0}
.studio-workspace{padding-bottom:48px;scroll-margin-top:16px}
.studio-controls{display:flex;align-items:center;gap:26px;padding:19px 24px;background:var(--studio-blue);color:white;margin-bottom:20px}
.studio-controls>div{min-width:230px}.studio-controls label{display:block;font-size:14px;font-weight:700;margin-bottom:6px}
.studio-controls select{width:100%;background:#fff;color:var(--ink);border:1px solid white;border-radius:5px;padding:10px 12px;min-height:46px}
.studio-controls>p{margin:15px 0 0;max-width:760px;font-size:16px;line-height:1.5}
.studio-controls select:focus-visible{outline-color:var(--lime)}
.studio-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:24px;align-items:start}
.studio-library{position:sticky;top:20px}.studio-library h2{font-size:16px;font-weight:750;margin:0 0 12px;letter-spacing:-.01em}
.activity-list{display:grid;gap:8px}.activity-list button{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;text-align:left;padding:16px 14px;border:1px solid var(--studio-line);border-radius:5px;background:white;color:var(--ink);transition:background .15s}
.activity-list button:hover{border-color:var(--studio-blue);background:#eaf0ff}
.activity-list button[aria-pressed=true]{background:#e9f45a;border-color:var(--ink);box-shadow:inset 3px 0 var(--ink)}
.activity-number{font-size:14px;font-weight:800;color:var(--blue);padding-top:2px}.activity-list strong{display:block;font-size:17px;line-height:1.2;margin-bottom:5px;letter-spacing:-.01em}.activity-list small{display:block;font-size:14px;color:var(--studio-muted);line-height:1.4}
.studio-library-note{font-size:14px;color:var(--studio-muted);margin:18px 0 0;line-height:1.5}
.studio-activity{min-width:0;background:white;border:1px solid var(--studio-line);border-radius:6px;box-shadow:0 8px 24px #15232d06;padding:28px 32px}
.activity-heading h2{font-size:clamp(27px,3vw,38px);letter-spacing:-.04em;line-height:1.12;margin:0 0 10px}
.activity-goal{color:var(--studio-muted);font-size:16px;margin:0 0 22px}
.activity-prompt{background:#eaf0ff;border-left:4px solid var(--studio-blue);padding:18px 20px;margin-bottom:24px}
.prompt-top{display:flex;justify-content:space-between;gap:15px;align-items:baseline;margin-bottom:12px;font-size:14px;font-weight:750;color:var(--studio-blue)}
.prompt-top button{background:none;border:0;border-bottom:1px solid currentColor;padding:3px 0;color:var(--studio-blue);font-size:14px;font-weight:700}
.activity-prompt h3{font-size:20px;line-height:1.4;letter-spacing:-.015em;margin:0;font-weight:700}
.activity-prompt ul{margin:16px 0 0;padding:15px 0 0 21px;border-top:1px solid #c3ceeb;font-size:16px}.activity-prompt li+li{margin-top:6px}
.practice-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid var(--studio-line);margin-bottom:24px}
.practice-stages button{min-height:49px;background:none;color:var(--studio-muted);border:0;border-bottom:3px solid transparent;padding:10px 8px;font-size:16px;font-weight:700;text-align:left}
.practice-stages button span{color:var(--blue);margin-right:8px;font-size:14px}
.practice-stages button[aria-pressed=true]{border-bottom-color:var(--blue);color:var(--blue)}
.stage-panel h3{font-size:21px;letter-spacing:-.02em;margin:0 0 9px}.stage-panel>p{font-size:16px;color:var(--studio-muted);margin-bottom:20px}
.plan-fields{display:grid;gap:15px;margin:20px 0 10px}.plan-fields label,.reflection-label{display:block;font-size:15px;font-weight:700}.plan-fields label>span{display:block;margin-bottom:6px}
.studio-page textarea{width:100%;min-width:0;display:block;resize:vertical;border:1px solid #a7b4be;border-radius:4px;background:#fcfdff;color:var(--ink);padding:10px 12px;font-size:16px;line-height:1.5}
.studio-page textarea::placeholder{color:#687781;opacity:1}.studio-note,.stage-panel>p.studio-note{font-size:14px;color:var(--studio-muted);line-height:1.5;margin:12px 0 18px}
.studio-details{border-top:1px solid var(--studio-line);padding:13px 0}.studio-details:last-of-type{border-bottom:1px solid var(--studio-line)}
.studio-details summary{font-size:16px;font-weight:700;color:var(--blue);cursor:pointer;padding:3px 0}.studio-details p,.studio-details li{font-size:16px;line-height:1.6}.studio-details p{margin:14px 0 6px}.studio-details ul{padding-left:23px;margin:12px 0}.studio-details p.model-note{font-size:14px;color:var(--studio-muted)}
.studio-button,.studio-secondary{display:inline-flex;justify-content:center;align-items:center;min-height:46px;border-radius:4px;padding:11px 17px;font-size:16px;font-weight:700;border:1px solid var(--blue)}
.studio-button{color:white;background:var(--blue)}.studio-button:hover{background:#152d9d}.studio-secondary{color:var(--blue);background:white}.studio-secondary:hover{background:#eaf0ff}.stage-panel>.studio-button{margin-top:22px}
.stage-panel ol{padding-left:23px;margin:18px 0 20px;font-size:16px}.stage-panel ol li{padding-left:5px;margin-bottom:12px}.stage-panel ol li::marker{color:var(--blue);font-weight:800}
.practice-tip{border-left:3px solid var(--lime);padding:10px 16px;background:#f5f7ec}
.speaking-timer{display:flex;justify-content:space-between;align-items:center;gap:24px;border:1px solid var(--studio-line);border-radius:5px;padding:20px;background:#f7f9fc}
.timer-label{display:block;font-size:14px;font-weight:700;color:var(--studio-muted)}
#timer-display{display:block;font-size:42px;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.04em;line-height:1.2;margin:6px 0}
#timer-note{font-size:14px;color:var(--studio-muted);max-width:300px;margin:0}.timer-actions{display:flex;flex-direction:column;gap:8px;min-width:132px}
.studio-status{font-size:14px;min-height:22px;margin:8px 0 0;color:var(--blue)}
.feedback-checks{display:grid;gap:10px;margin:20px 0}.feedback-checks label{display:flex;align-items:start;gap:12px;padding:13px 15px;border:1px solid var(--studio-line);border-radius:4px;font-size:16px;line-height:1.4}.feedback-checks input{width:19px;height:19px;flex:0 0 19px;margin:2px 0 0;accent-color:var(--blue)}
.reflection-label{margin-bottom:8px}.stretch-box{padding:16px 18px;margin-top:20px;background:#f2f6e2;border-left:3px solid #7c9227}.stretch-box strong{font-size:15px}.stretch-box p{font-size:16px;margin:7px 0 0}
.studio-guides,.studio-resources{border-top:1px solid var(--studio-line);padding-top:43px;padding-bottom:48px;scroll-margin-top:20px}
.studio-section-head h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.04em;line-height:1.15;margin:0 0 12px}.studio-section-head>p:last-child{font-size:16px;color:var(--studio-muted);max-width:760px;margin-bottom:24px}
.studio-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.studio-guide{background:white;padding:18px 20px;border:1px solid var(--studio-line);border-radius:4px}.studio-guide summary{font-size:17px;font-weight:700;cursor:pointer;line-height:1.4}.studio-guide p{font-size:16px;color:var(--studio-muted);margin:14px 0 0}
.adult-guidance{border-left:4px solid var(--blue);padding:22px 26px;background:#eaf0ff;margin-top:24px}.adult-guidance h3{font-size:20px;margin:0 0 12px}.adult-guidance p{font-size:16px;max-width:1050px;margin:0 0 12px}.adult-guidance p:last-child{margin:0}
.studio-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.studio-resource-grid>a{display:block;padding:23px 25px;background:white;border:1px solid var(--studio-line);border-top:3px solid var(--blue);border-radius:4px;text-decoration:none}.studio-resource-grid>a:hover{background:#eaf0ff}.studio-resource-grid>a>span{font-size:14px;color:var(--studio-blue);font-weight:700}.studio-resource-grid h3{font-size:22px;line-height:1.2;margin:12px 0 9px;letter-spacing:-.02em}.studio-resource-grid p{font-size:16px;line-height:1.5;color:var(--studio-muted);margin:0 0 17px}.studio-resource-grid small{font-size:14px;color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.studio-nojs{background:white;border:1px solid var(--studio-line);padding:25px;font-size:16px}
.skill-lesson{background:#f7f9fc;border:1px solid var(--studio-line);padding:14px 17px;border-radius:4px;margin-bottom:20px}
.skill-lens{background:#eaf0ff;border-left:3px solid var(--blue);padding:15px 18px;margin:18px 0 14px}
.skill-lens h4{font-size:16px;margin:0 0 8px}.skill-lens p{font-size:16px;line-height:1.6;margin:0}
.skill-lesson h4{font-size:16px;margin:18px 0 6px;color:var(--ink)}
.skill-lesson h4+p{margin-top:6px}
.worked-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:17px 0}
.worked-comparison>div{padding:14px 16px;background:white;border:1px solid var(--studio-line);border-radius:4px}
.worked-comparison>div:last-child{border-color:#a8bcb0;background:#f1f7f2}
.worked-comparison h4{margin:0 0 9px}.worked-comparison p{margin:0;font-size:16px}
.focus-drill{padding:17px 19px;background:#eaf0ff;border-left:3px solid var(--blue);margin:18px 0 24px}
.focus-drill h4{font-size:18px;margin:0 0 10px;line-height:1.3}.focus-drill p{font-size:16px;margin:0 0 12px}.focus-drill p.drill-check{margin:0;padding-top:12px;border-top:1px solid #c3ceeb}
.full-attempt-title{margin-top:24px!important}
.transfer-box{padding:16px 18px;border:1px solid var(--studio-line);margin-top:14px}.transfer-box strong{font-size:15px}.transfer-box p{font-size:16px;margin:7px 0 0}.transfer-box p.studio-note{font-size:14px}
.owned-resource{background:white;border:1px solid var(--studio-line);border-top:3px solid var(--blue);border-radius:4px;padding:20px 23px;align-self:start}
.owned-resource summary{cursor:pointer;font-size:17px;line-height:1.5}.owned-resource summary>span{display:block;font-size:14px;font-weight:700;color:var(--blue);margin:0 0 7px}.owned-resource summary>strong{font-size:20px;line-height:1.3;letter-spacing:-.015em}
.resource-body p,.resource-body li{font-size:16px;line-height:1.65}.resource-body p{margin:16px 0}.resource-body h4{font-size:17px;margin:22px 0 8px}.resource-body ol{padding-left:22px;margin:10px 0}.resource-body li+li{margin-top:8px}
.resource-practice{display:inline-flex;padding:10px 13px;margin-top:8px;background:var(--blue);color:white;font-size:15px;font-weight:700;text-decoration:none;border-radius:4px;min-height:44px;align-items:center}
.resource-practice:hover{background:#152d9d}
.feedback-reference{border-left:4px solid #7c9227;background:#f2f6e2;padding:22px 25px;margin-top:22px}.feedback-reference h3{font-size:20px;margin:0 0 12px}.feedback-reference p{font-size:16px;margin:0 0 13px}.feedback-reference p:last-child{margin:0}
@media(max-width:560px){.worked-comparison{grid-template-columns:1fr}.owned-resource{padding:18px}.feedback-reference{padding:18px}}
@media(max-width:1100px){.studio-layout{grid-template-columns:235px minmax(0,1fr);gap:18px}.studio-activity{padding:24px}.studio-intro-note{max-width:300px}.studio-page .header-note{display:none}.studio-page .site-header nav{margin-left:auto;gap:18px}}
@media(max-width:820px){.studio-intro{display:block;padding-top:28px}.studio-intro-note{max-width:620px;margin-top:14px}.studio-layout{grid-template-columns:1fr}.studio-library{position:static}.activity-list{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-list button{grid-template-columns:1fr;padding:13px;gap:5px}.activity-number,.activity-list small,.studio-library-note{display:none}.activity-list strong{font-size:15px;margin:0}.studio-controls{gap:20px}.studio-controls>div{min-width:200px}.studio-activity{padding:26px}.studio-page .shell{width:min(100% - 40px,1460px)}}
@media(max-width:560px){.studio-page .header-inner{height:auto;min-height:78px;flex-wrap:wrap;gap:12px;padding:16px 0}.studio-page .brand{font-size:12px}.studio-page .site-header nav{gap:14px;margin-left:0;width:100%;flex-wrap:wrap}.studio-page .site-header nav a,.studio-page .site-header nav a:nth-child(2),.studio-page .site-header nav a:last-child{display:block;font-size:14px;padding:4px 0;letter-spacing:0}.studio-intro h1{font-size:36px}.studio-intro>div>p:last-child{font-size:16px}.studio-intro-note{font-size:15px}.studio-controls{display:block;padding:17px}.studio-controls>p{font-size:15px;margin-top:12px}.activity-list{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-list button{padding:13px 11px}.studio-activity{padding:20px 17px}.activity-heading .studio-eyebrow{font-size:14px;line-height:1.5}.activity-heading h2{font-size:28px}.activity-prompt{padding:15px}.activity-prompt h3{font-size:18px}.prompt-top{align-items:start;gap:14px}.prompt-top button{max-width:145px;text-align:right}.practice-stages button{font-size:14px;padding:10px 5px}.practice-stages button span{display:block;margin:0 0 3px}.studio-guide-grid,.studio-resource-grid{grid-template-columns:1fr}.speaking-timer{align-items:start;gap:16px;padding:16px}.timer-actions{min-width:107px}.timer-actions button{font-size:14px;padding:10px}.adult-guidance{padding:18px}.studio-resource-grid>a{padding:20px}.studio-guides,.studio-resources{padding-top:32px;padding-bottom:34px}}
@media(max-width:360px){.studio-page .shell{width:calc(100% - 28px)}.studio-intro h1{font-size:31px}.speaking-timer{display:block}.timer-actions{flex-direction:row;margin-top:17px}.practice-stages button{font-size:13px}}
@media(prefers-reduced-motion:reduce){.activity-list button{transition:none}}
