*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--font-text);font-size:var(--text-md);line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em;line-height:1.25}h1{font-size:var(--text-4xl);font-weight:750}h2{font-size:var(--text-2xl);font-weight:700}h3{font-size:var(--text-lg);font-weight:700}p{color:var(--ink-2)}svg{flex-shrink:0;vertical-align:middle}#content:focus,#content:focus-visible{outline:none;box-shadow:none}.skip-link{position:fixed;top:-60px;left:var(--space-6);z-index:100;padding:var(--space-3) var(--space-4);background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.skip-link: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}#app[data-shell]:is([data-page=lid-state],[data-page=practice],[data-page=exam],[data-page=session],[data-page=results],[data-page=library],[data-page=progress],[data-page=guide],[data-page=more],[data-page^=lid-],[data-page^=driving-],[data-page^=profile]) main{max-width:calc(var(--content-narrow) + 2 * var(--space-6))}.btn{white-space:nowrap;text-decoration:none}.btn.light{background:var(--surface);color:var(--brand-ink);border:1px solid var(--border-2)}.btn.light:hover:not(:disabled){border-color:var(--brand);background:var(--brand-tint)}.btn.danger{background:var(--danger);color:#fff;border:1px solid var(--danger)}.btn.danger:hover:not(:disabled){background:var(--danger-ink);border-color:var(--danger-ink)}.btn.danger-link{background:transparent;color:var(--danger-ink);border:1px solid transparent;padding-left:0;padding-right:0}.btn.danger-link:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}.text-link{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;font-size:var(--text-sm);font-weight:600;line-height:1.4;color:var(--brand-ink);cursor:pointer}.text-link:hover{color:var(--brand);text-decoration:underline;text-underline-offset:3px}.badge{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:2px 10px;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-xs);font-weight:600;line-height:1.4;white-space:nowrap}.badge.green{background:var(--success-tint);color:var(--success-ink)}.badge.orange{background:var(--warning-tint);color:var(--sun-ink)}.tag{display:flex;align-items:center;gap:8px;font-size:var(--text-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.tag i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--brand)}.muted{color:var(--ink-3)}.small{font-size:var(--text-sm)}.translation{display:block;margin-top:4px;font-size:var(--text-sm);font-weight:400;line-height:1.6;letter-spacing:0;color:var(--ink-3)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;padding:0;border:1px solid var(--border-2);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-2);transition:border-color .15s,background-color .15s,color .15s}.icon-btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand-ink)}.icon-btn.marked,.icon-btn[aria-pressed=true]{background:var(--sun-tint);border-color:var(--sun);color:var(--sun-ink)}.icon-btn svg{width:20px;height:20px}.btn.icon-btn{min-height:44px;padding:0}.progress-track{height:6px;flex:1;border-radius:var(--radius-pill);background:var(--surface-2);overflow:hidden}.progress-track i{display:block;height:100%;border-radius:inherit;background:var(--brand)}.a1-back{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin:0 0 var(--space-4)}.a1-back .text-link{min-height:44px}@media(max-width:359px){.a1-back .badge-lead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}}.btn{white-space:normal;text-align:center}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);margin:0 0 var(--space-8)}.page-heading h1{margin:var(--space-2) 0}.page-heading p{max-width:60ch;font-size:var(--text-lg);line-height:1.55;color:var(--ink-2)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);min-width:0}.panel h3{margin:var(--space-2) 0 var(--space-3);font-size:var(--text-xl)}.panel p{font-size:var(--text-sm);line-height:1.6}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin:0 0 var(--space-4)}.section-heading h2{font-size:var(--text-xl)}.section-heading h3{font-size:var(--text-lg)}.section-heading p{margin-top:4px;font-size:var(--text-sm);color:var(--ink-2)}.section-heading .muted,.section-heading span{font-size:var(--text-sm);color:var(--ink-3)}.tip-box{display:flex;gap:var(--space-3);align-items:flex-start;margin:var(--space-8) 0 0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink-3)}.tip-box svg{margin-top:2px}.tip-box p{font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.resume-banner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin:0 0 var(--space-6);padding:var(--space-4) var(--space-5);background:var(--brand-tint);border:1px solid var(--brand-tint-2);border-radius:var(--radius-lg)}.resume-banner>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--space-3);min-width:0;color:var(--brand-ink)}.resume-banner strong{font-weight:650;color:var(--ink)}.resume-banner span{font-size:var(--text-sm);color:var(--ink-2)}.plan-note{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--ink-3)}.plan-note a{text-decoration:underline;text-underline-offset:3px}.empty-state{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-6);text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--ink-3)}.empty-state h3{margin-top:var(--space-2);color:var(--ink)}.empty-state p{font-size:var(--text-sm)}.storage-warning{margin:0 0 var(--space-5);padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb,var(--warning) 35%,var(--surface));border-radius:var(--radius-md);background:var(--warning-tint);font-size:var(--text-sm);color:var(--sun-ink)}.practice-tools{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-8)}.practice-tools .btn{justify-content:flex-start}.practice-tools .btn small{margin-left:auto}.practice-tools small{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:var(--radius-pill);background:var(--surface-2);font-size:var(--text-xs);font-weight:650;color:var(--ink-2)}.chapter-grid{display:grid;gap:var(--space-3)}.chapter-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;grid-template-areas:"num title status" "num meta count" ". bar bar";align-items:center;gap:2px var(--space-4);width:100%;padding:var(--space-4) var(--space-5) var(--space-4) var(--space-4);text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ink);transition:border-color .15s,box-shadow .15s}.chapter-card:hover{border-color:var(--border-2);box-shadow:var(--shadow-md)}.chapter-card .chapter-top,.chapter-card .chapter-bottom{display:contents}.chapter-number{grid-area:num;align-self:start;display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-md);background:var(--brand-tint);color:var(--brand-ink);font-family:var(--font-display);font-size:var(--text-md);font-weight:750}.chapter-status{grid-area:status;display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:600;color:var(--ink-3);white-space:nowrap}.chapter-card h3{grid-area:title;font-size:var(--text-lg);line-height:1.3}.chapter-card p{grid-area:meta;font-size:var(--text-sm);color:var(--ink-2)}.chapter-card p>span{margin:0 4px;color:var(--ink-4)}.chapter-card .progress-track{grid-area:bar;margin-top:var(--space-3)}.chapter-bottom>span{grid-area:count;font-size:var(--text-sm);color:var(--ink-3);white-space:nowrap}.chapter-card.featured .chapter-status{color:var(--brand-ink)}.state-chapter .chapter-number{background:var(--sun-tint);color:var(--sun-ink);font-size:var(--text-sm)}.state-chapter .chapter-status{color:var(--sun-ink)}.exam-intro{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-8)}.exam-intro h2{font-size:var(--text-2xl)}.exam-intro>p{margin-top:var(--space-2);font-size:var(--text-md);color:var(--ink-2)}.exam-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:var(--space-6) 0}.exam-facts div{padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-2)}.exam-facts strong{display:block;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:750;line-height:1.1;color:var(--ink)}.exam-facts span{display:block;margin-top:4px;font-size:var(--text-sm);color:var(--ink-2)}.exam-rules{display:grid;gap:var(--space-3);margin:0 0 var(--space-6);padding:0;list-style:none}.exam-rules li{display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--text-md);line-height:1.5;color:var(--ink)}.exam-rules li svg{margin-top:2px;color:var(--brand)}.exam-intro .small{margin-top:var(--space-5);font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.history-list{display:grid;gap:var(--space-2)}.history-list>div{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-5);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--ink-2)}.history-list strong{font-family:var(--font-display);font-size:var(--text-md);color:var(--ink)}.history-list .badge{margin-left:auto}.exam-intro+.section-heading{margin-top:var(--space-10)}.session-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--ink-2)}.session-header>.path-back,.session-leave>.path-back{margin:0}.session-leave{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--space-3)}.session-leave small{font-size:var(--text-xs);color:var(--ink-3)}.session-header>div{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--space-2) var(--space-4)}.session-header>div>span:last-child{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink)}.session-state{color:var(--ink-2)}.timer{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:4px 14px;border-radius:var(--radius-pill);background:var(--brand-tint);color:var(--brand-ink);font-weight:700;font-variant-numeric:tabular-nums}.session-progress{height:6px;margin:0 0 var(--space-6);border-radius:var(--radius-pill);background:var(--border);overflow:hidden}.session-progress i{display:block;height:100%;border-radius:inherit;background:var(--brand);transition:width .3s}.question-card{padding:var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.question-meta{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.question-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:650;line-height:1.4;letter-spacing:-.01em;color:var(--ink)}.question-title:focus{outline:0}.question-card>.translation{margin-top:var(--space-2);font-size:var(--text-md);color:var(--ink-2)}.question-image{margin:var(--space-6) 0 0;text-align:center}.question-image img{max-width:100%;max-height:390px;border-radius:var(--radius-sm);object-fit:contain}.question-image figcaption{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--ink-3)}.options{display:grid;gap:var(--space-3);margin:var(--space-6) 0}.option{display:flex;align-items:center;gap:var(--space-4);width:100%;min-height:64px;padding:var(--space-4) var(--space-5);text-align:left;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-md);color:var(--ink);opacity:1!important;transition:border-color .15s,background-color .15s}.option:not(:disabled):hover{border-color:var(--brand);background:var(--brand-tint)}.option-letter{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-sm);font-weight:700;color:var(--ink-2)}.option-text{flex:1;min-width:0}.option-text strong{font-size:var(--text-md);font-weight:550;line-height:1.5}.option .translation{margin-top:2px;font-size:var(--text-sm)}.option>svg{width:22px;height:22px}.option.selected{background:var(--brand-tint);border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.option.selected .option-letter{background:var(--brand);border-color:var(--brand);color:#fff}.option.correct{background:var(--success-tint);border-color:var(--success);box-shadow:inset 0 0 0 1px var(--success);color:var(--ink)}.option.correct .option-letter{background:var(--success);border-color:var(--success);color:#fff}.option.correct>svg{color:var(--success-ink)}.option.incorrect{background:var(--danger-tint);border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger);color:var(--ink)}.option.incorrect .option-letter{background:var(--danger);border-color:var(--danger);color:#fff}.option.incorrect>svg{color:var(--danger-ink)}.feedback{margin:var(--space-5) 0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);border:1px solid transparent;font-size:var(--text-md)}.feedback.positive{background:var(--success-tint);border-color:color-mix(in srgb,var(--success) 35%,var(--surface))}.feedback.negative{background:var(--danger-tint);border-color:color-mix(in srgb,var(--danger) 30%,var(--surface))}.feedback strong{display:block;font-weight:650;color:var(--success-ink)}.feedback strong>svg{margin:-3px 8px 0 0}.feedback.negative strong{color:var(--danger-ink)}.feedback p{margin-top:var(--space-2);font-size:var(--text-md);line-height:1.65;color:var(--ink-2)}.question-hint{margin:0 0 var(--space-5);font-size:var(--text-sm);color:var(--ink-3)}.question-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--border)}.keyboard-note{font-size:var(--text-xs);color:var(--ink-3)}.question-map{margin:var(--space-6) 0 0;padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.question-map>div:nth-child(2){display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:var(--space-2);margin:var(--space-4) 0 var(--space-5)}.map-button{height:44px;min-width:0;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border-2);font-size:var(--text-sm);font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}.map-button:hover{border-color:var(--brand)}.map-button.answered{background:var(--brand-tint);border-color:var(--brand-tint-2);color:var(--brand-ink)}.map-button.current{border:2px solid var(--brand);color:var(--brand-ink)}.question-map>.btn{width:100%}body:has(#app[data-page=session] .question-map) .speaking-dock,#app[data-page=session]:has(.question-map) .app-actions .pron-launch{display:none}.result-summary{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-6) var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.result-score{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:750;line-height:1;letter-spacing:-.03em;white-space:nowrap;color:var(--brand)}.result-score span{font-size:var(--text-xl);font-weight:650;letter-spacing:0;color:var(--ink-3)}.result-summary h2{font-size:var(--text-xl)}.result-summary p{margin-top:var(--space-2);font-size:var(--text-md)}.result-summary+.practice-tools{display:flex;flex-wrap:wrap;margin:var(--space-5) 0 0}.review-title{margin:var(--space-10) 0 var(--space-4);font-size:var(--text-xl)}.result-review{display:grid;gap:var(--space-3)}.review-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.review-item summary{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);cursor:pointer;list-style:none}.review-item summary::-webkit-details-marker{display:none}.review-item summary:focus-visible{border-radius:var(--radius-lg)}.review-item summary>div{flex:1;min-width:0}.review-item summary>svg{color:var(--ink-3);transition:transform .15s}.review-item[open] summary>svg{transform:rotate(90deg)}.review-item summary small{display:block;margin-bottom:2px;font-size:var(--text-xs);font-weight:650;letter-spacing:.06em;color:var(--ink-3)}.review-item summary strong{display:block;font-size:var(--text-md);font-weight:550;line-height:1.5}.review-check{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--success-tint);color:var(--success)}.review-check.wrong{background:var(--danger-tint);color:var(--danger)}.review-body{padding:var(--space-3) var(--space-5) var(--space-5);border-top:1px solid var(--border)}.review-option{display:flex;align-items:flex-start;gap:var(--space-3);margin:var(--space-2) 0;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-md)}.review-option>div{flex:1;min-width:0}.review-option .translation{font-size:var(--text-sm)}.review-option.right{background:var(--success-tint);border-color:color-mix(in srgb,var(--success) 35%,var(--surface))}.review-option.wrong{background:var(--danger-tint);border-color:color-mix(in srgb,var(--danger) 30%,var(--surface))}.review-option small{font-size:var(--text-xs);font-weight:650;color:var(--ink-2);white-space:nowrap}.review-body>.muted{margin-top:var(--space-4);font-size:var(--text-md);line-height:1.7;color:var(--ink-2)}.review-image{display:block;max-width:100%;max-height:320px;margin:var(--space-3) auto}.library-controls{display:flex;align-items:center;gap:var(--space-3);margin:0 0 var(--space-5)}.search-field{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0;min-height:48px;padding:0 var(--space-4);background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-md);color:var(--ink-3)}.search-field:focus-within{border-color:var(--brand);box-shadow:var(--focus)}.search-field input{width:100%;min-width:0;padding:var(--space-3) 0;border:0;outline:none!important;box-shadow:none!important;background:transparent;font-size:var(--text-md);color:var(--ink)}.search-field input::placeholder{color:var(--ink-4)}.filter-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.filter-label select,.date-input input{min-height:48px;padding:0 var(--space-3);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-md);color:var(--ink)}.library-list{display:grid;gap:var(--space-3);margin-top:var(--space-3)}.library-card{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.library-id{display:grid;place-items:center;flex-shrink:0;min-width:48px;height:32px;padding:0 8px;border-radius:var(--radius-sm);background:var(--surface-2);font-size:var(--text-sm);font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums}.library-card>div{flex:1;min-width:0}.library-card .library-state{margin:0 0 var(--space-2)}.library-card h3{margin:2px 0 0;font-family:var(--font-text);font-size:var(--text-md);font-weight:550;line-height:1.55;letter-spacing:0}.library-card .translation{font-size:var(--text-sm)}.library-card .text-link{margin-top:var(--space-2);min-height:44px}.pagination{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin:var(--space-6) 0 0;font-size:var(--text-sm);color:var(--ink-2)}.progress-overview{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-6) var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.progress-ring{display:grid;place-items:center;flex-shrink:0;width:136px;height:136px;border-radius:50%;background:conic-gradient(var(--brand) var(--progress),var(--surface-2) 0)}.progress-ring>div{display:grid;place-items:center;align-content:center;width:110px;height:110px;border-radius:50%;background:var(--surface)}.progress-ring strong{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:750;line-height:1.1;color:var(--ink)}.progress-ring span{font-size:var(--text-sm);color:var(--ink-3)}.progress-overview h2{font-size:var(--text-xl)}.progress-overview p{margin-top:var(--space-2);font-size:var(--text-sm)}.progress-overview .btn{margin-top:var(--space-4)}.progress-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin:var(--space-4) 0}.activity-chart{display:flex;align-items:flex-end;gap:6px;min-height:132px;margin:var(--space-5) 0 var(--space-3)}.activity-day{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;min-width:0}.activity-day i{width:100%;min-height:5px;border-radius:4px 4px 0 0;background:var(--brand-tint-2)}.activity-day small,.activity-day span{font-size:var(--text-xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.date-input{display:grid;gap:6px;margin:var(--space-4) 0;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.date-input input{width:100%;max-width:260px}.exam-chart{display:flex;align-items:flex-end;gap:var(--space-3);min-height:160px;margin-top:var(--space-4)}.exam-chart>div{display:flex;flex:1;flex-direction:column;align-items:center;gap:6px;max-width:72px;min-width:0}.exam-chart i{width:100%;min-height:3px;border-radius:6px 6px 0 0;background:var(--sun)}.exam-chart i.pass{background:var(--brand)}.exam-chart span{font-size:var(--text-sm);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.exam-chart small{font-size:var(--text-xs);color:var(--ink-3);white-space:nowrap}.backup-panel{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-5);margin:var(--space-4) 0 var(--space-5);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.backup-panel>div:first-child{flex:1 1 260px;min-width:0}.backup-panel h3{margin-bottom:var(--space-1);font-size:var(--text-lg)}.backup-panel p{font-size:var(--text-sm)}.backup-panel>div:last-child{display:flex;flex-wrap:wrap;gap:var(--space-2)}.guide-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:0 0 var(--space-10)}.guide-facts>div{display:grid;gap:4px;align-content:start;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--brand)}.guide-facts>div svg{margin-bottom:var(--space-2)}.guide-facts strong{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--ink)}.guide-facts span{font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.guide-layout{display:grid;gap:var(--space-8)}.guide-step{display:flex;gap:var(--space-4);margin:0 0 var(--space-10)}.guide-step:last-child{margin-bottom:0}.guide-step>div{min-width:0}.step-number{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--brand-tint);color:var(--brand-ink);font-family:var(--font-display);font-size:var(--text-sm);font-weight:750}.guide-step h2{margin:6px 0 var(--space-3);font-size:var(--text-xl)}.guide-step p{margin:var(--space-3) 0 0;font-size:var(--text-md);line-height:1.7}.guide-step a,.sources-panel a{color:var(--brand-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}.guide-step b{font-weight:650;color:var(--ink)}.provider-card{margin-top:var(--space-5);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.provider-card h3{margin-bottom:var(--space-3);font-size:var(--text-lg)}.provider-card>a{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);min-height:44px;margin-top:var(--space-2);font-size:var(--text-md);text-decoration:none}.provider-card>a:hover{text-decoration:underline}.provider-card>p{margin:0 0 var(--space-3);font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.provider-card>p:last-child{margin-bottom:0}.guide-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);align-items:start}.guide-aside h3{font-size:var(--text-xl)}.checklist{display:flex;align-items:center;gap:var(--space-3);min-height:44px;font-size:var(--text-md);color:var(--ink);cursor:pointer}.checklist input{width:20px;height:20px;margin:0;flex-shrink:0;accent-color:var(--brand)}.guide-aside .small{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--ink-3)}.note-card{padding:var(--space-6);background:var(--sun-tint);border-radius:var(--radius-lg);color:var(--sun-ink)}.note-card h3{margin:var(--space-3) 0 var(--space-2);font-size:var(--text-lg);line-height:1.35;color:var(--ink)}.note-card p{font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.sources-panel{margin:var(--space-10) 0 0;padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.sources-panel h2{font-size:var(--text-xl)}.sources-panel p{margin:var(--space-3) 0 0;font-size:var(--text-sm);line-height:1.7}.sources-panel .text-link{margin-top:var(--space-4);min-height:44px;text-decoration:none}.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;justify-content:center;align-items:center;padding:var(--space-6);background:#10231b6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{max-width:460px;max-height:calc(100svh - 40px);overflow-y:auto;padding:var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);outline:none}.modal h2{font-size:var(--text-2xl)}.modal p{margin:var(--space-3) 0 var(--space-6);font-size:var(--text-md);line-height:1.65}.modal>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-3)}.loading,.load-error{max-width:600px;margin:auto;padding:var(--space-12) var(--space-6)}.load-error p{margin:var(--space-5) 0}.load-error button{min-height:44px;padding:10px 20px;border:0;border-radius:var(--radius-pill);background:var(--brand);color:#fff;font-weight:600}#toast{position:fixed;bottom:var(--space-6);left:50%;z-index:150;max-width:calc(100% - 32px);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);background:var(--ink);color:#fff;font-size:var(--text-sm);line-height:1.5;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transform:translate(-50%,20px);transition:opacity .2s,transform .2s}#toast.visible{opacity:1;transform:translate(-50%)}@media(max-width:700px){.page-heading{margin-bottom:var(--space-6)}.page-heading p{font-size:var(--text-md)}.text-link{min-height:44px}.btn{white-space:normal;text-align:center}.resume-banner{flex-direction:column;align-items:stretch;padding:var(--space-4)}.resume-banner .btn{width:100%}.practice-tools{display:grid;grid-template-columns:1fr;margin-bottom:var(--space-6)}.chapter-card{grid-template-columns:44px minmax(0,1fr);grid-template-areas:"num title" "num meta" ". bar" ". foot";padding:var(--space-4)}.chapter-card .chapter-status{grid-area:foot;justify-self:start}.chapter-card .chapter-bottom>span{grid-area:foot;justify-self:end}.chapter-number{width:44px;height:44px}.chapter-status,.chapter-bottom>span{margin-top:var(--space-2);font-size:var(--text-xs)}.exam-intro{padding:var(--space-6) var(--space-5)}.exam-facts{gap:var(--space-2)}.exam-facts div{padding:var(--space-3)}.exam-facts strong{font-size:var(--text-2xl)}.exam-facts span{font-size:var(--text-xs)}.exam-intro>.btn{width:100%}.history-list>div{padding:var(--space-4)}.session-header{flex-direction:column;align-items:stretch;gap:var(--space-1)}.session-header>.path-back,.session-leave{align-self:flex-start}.session-header>div{justify-content:flex-start;gap:var(--space-2) var(--space-3)}.session-header>div>span:last-child{margin-left:auto}.session-header .badge{display:inline-block;min-width:0;max-width:180px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:20px}.question-card{padding:var(--space-5) var(--space-4)}.question-title{font-size:var(--text-xl);overflow-wrap:anywhere}.option{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-3)}.option-text strong{overflow-wrap:anywhere}.option>svg{margin-top:5px}.feedback{padding:var(--space-4)}.question-actions{position:sticky;bottom:calc(65px + env(safe-area-inset-bottom,0px));z-index:5;gap:var(--space-3);margin:0 calc(-1 * var(--space-4)) calc(-1 * var(--space-5));padding:var(--space-3) var(--space-4);background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.question-actions .btn:last-child{flex:1}.keyboard-note{display:none}.question-map{padding:var(--space-5) var(--space-4)}.question-map>div:nth-child(2){grid-template-columns:repeat(6,minmax(0,1fr))}.result-summary{flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-6) var(--space-5)}.result-summary+.practice-tools{display:grid;grid-template-columns:1fr}.review-item summary{align-items:flex-start;gap:var(--space-3);padding:var(--space-4)}.review-item summary>svg,.review-check{margin-top:2px}.review-body{padding:var(--space-3) var(--space-4) var(--space-4)}.review-option{flex-wrap:wrap;padding:var(--space-3)}.review-option small{width:100%;padding-left:24px}.library-controls{flex-direction:column;align-items:stretch}.filter-label select{flex:1;min-width:0}.library-card{gap:var(--space-3);padding:var(--space-4)}.library-card h3,.library-card .translation{overflow-wrap:anywhere}.library-id{min-width:40px}.pagination .btn{padding:10px 14px}.progress-overview{flex-direction:column;align-items:flex-start;gap:var(--space-5);padding:var(--space-6) var(--space-5)}.progress-columns{grid-template-columns:1fr}.panel{padding:var(--space-5)}.activity-chart{gap:3px}.exam-chart{gap:var(--space-2)}.backup-panel{flex-direction:column;align-items:stretch;padding:var(--space-5)}.backup-panel>div:last-child{display:grid}.backup-panel .btn{width:100%}.guide-facts{grid-template-columns:1fr;gap:var(--space-2);margin-bottom:var(--space-8)}.guide-facts>div{grid-template-columns:24px 1fr;gap:2px var(--space-3);padding:var(--space-4)}.guide-facts>div svg{grid-row:span 2;margin:2px 0 0}.guide-step{gap:var(--space-3);margin-bottom:var(--space-8)}.step-number{width:36px;height:36px}.provider-card{margin-left:-48px;padding:var(--space-4)}.guide-aside{grid-template-columns:1fr}.sources-panel{padding:var(--space-5)}.sources-panel a{overflow-wrap:anywhere}.modal-backdrop{padding:var(--space-4)}.modal{padding:var(--space-6) var(--space-5)}.modal .btn{flex:1}#toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}#app[data-page=session]~#toast{bottom:calc(150px + env(safe-area-inset-bottom,0px))}}@media(max-width:360px){.question-map>div:nth-child(2){grid-template-columns:repeat(5,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}.follow-cinema{color:#f4f2df;background:#123d36;border:1px solid #2b5449;border-radius:24px;overflow:hidden;box-shadow:0 20px 60px #173e3014;position:relative}.follow-cinema.is-playing .follow-topline i{animation:follow-glow 2s ease-in-out infinite}.follow-stage{touch-action:manipulation;min-height:440px;display:grid;align-items:center;padding:34px 44px 20px;background:radial-gradient(ellipse at 90% 0,#35664e50,transparent 65%)}.follow-scene{text-align:center;animation:follow-arrive .6s cubic-bezier(.2,.7,.2,1)}.follow-scene-label{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#d4e8aa;font-weight:700;margin-bottom:18px}.follow-explanation{font-size:16px!important;line-height:1.65;color:#c2d3c8;max-width:540px;margin:0 auto 22px!important}.follow-phrase{font-size:clamp(28px,3.3vw,52px);line-height:1.25;letter-spacing:-1.3px;color:#fcfae9;font-weight:600;white-space:pre-line;text-wrap:balance}.follow-english{font-size:16px!important;color:#bbcdc0;margin:13px 0 25px!important;white-space:pre-line}.follow-pieces{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:28px auto}.follow-pieces>div{border:1px solid #d9e7c232;background:#d9e7c20c;border-radius:12px;padding:12px 18px;animation:follow-arrive .5s backwards;animation-delay:calc(.15s + var(--piece)*.14s)}.follow-pieces strong{display:block;font-size:19px;font-weight:500;color:#eff5df}.follow-pieces small{display:block;margin-top:6px;font-size:12px;color:#b5cbb9;letter-spacing:.5px}.follow-tip{max-width:540px;margin:30px auto 0;padding:18px 0 0;border-top:1px solid #dbeac922}.follow-tip>span{font-size:12px;letter-spacing:2px;color:#d5e9a5;font-weight:700}.follow-tip p{font-size:13px!important;line-height:1.7;color:#c3d3c5;margin:8px 0!important}.follow-recall{color:#e5efb5;margin-top:15px;font-size:14px}.follow-caption{min-height:72px;margin:0 30px;padding:20px 18px;text-align:center;color:#e1e9dd;font-size:15px;line-height:1.65;border-top:1px solid #ffffff12}.follow-cinema:fullscreen{display:flex;flex-direction:column;border-radius:0;background:#123d36;max-width:none}.follow-cinema:fullscreen .follow-stage{flex:1;max-height:none}.follow-cinema:fullscreen .follow-phrase{font-size:clamp(40px,5vw,76px)}.follow-cinema:fullscreen .follow-player{flex-shrink:0}.follow-cinema:fullscreen .follow-scene{width:min(900px,100%);margin:auto}@keyframes follow-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes follow-glow{50%{box-shadow:0 0 0 5px #cce6a11a}}@media(max-width:1100px){.follow-stage{padding:30px 24px}}@media(max-width:800px){.follow-stage{min-height:390px}.follow-phrase{font-size:34px}.follow-caption{font-size:14px;margin:0 20px}}@media(prefers-reduced-motion:reduce){.follow-scene,.follow-pieces>div,.follow-cinema.is-playing .follow-topline i{animation:none}}.follow-phrase.is-long{font-size:clamp(23px,2.2vw,34px);line-height:1.4;letter-spacing:-.5px}.follow-english.is-long{font-size:13px!important;line-height:1.6}.follow-cinema:fullscreen .follow-stage{min-height:0;overflow:auto;padding:22px 44px}.follow-cinema:fullscreen .follow-phrase.is-long{font-size:clamp(25px,3vw,44px)}.follow-cinema:fullscreen .follow-english.is-long{font-size:14px!important}.follow-cinema:fullscreen .follow-tip{margin-top:16px;padding-top:12px}@media(max-width:700px){.follow-phrase.is-long{font-size:24px}}.follow-cinema{scroll-margin-top:90px}.follow-stage{min-height:360px}.follow-caption{min-height:62px;padding:14px 18px}.follow-pieces>div{transition:background .2s,border-color .2s,transform .2s}.follow-pieces>div.is-spoken{background:#d4e9ad29;border-color:#d4e9ad;transform:translateY(-3px)}@media(max-width:800px){.follow-stage{padding:26px 24px;min-height:350px}}@media(prefers-reduced-motion:reduce){.follow-pieces>div{transition:none}.follow-pieces>div.is-spoken{transform:none}}.follow-stage{position:relative;height:auto;min-height:clamp(420px,54vh,570px);overflow:hidden;align-items:safe center}.follow-scene{width:100%;animation:follow-soft-arrive .48s cubic-bezier(.2,.65,.3,1)}.follow-scene.is-leaving{position:absolute;pointer-events:none;animation:none}.follow-pieces>div{animation:follow-soft-arrive .45s both;animation-delay:calc(.08s + var(--piece)*.08s);transition:background .35s,border-color .35s,color .35s}.follow-pieces>div.is-spoken{transform:none;background:#d4e9ad20;border-color:#d4e9ad95}.follow-tip{margin-top:22px}.follow-caption{display:flex;align-items:center;justify-content:center;min-height:88px;margin:0;padding:14px 30px;border-top:0;background:linear-gradient(0deg,#0b2b272e,transparent)}.follow-caption[hidden]{display:none}.follow-caption>span{display:block;max-width:720px;width:100%;padding:11px 20px;border:1px solid #e6eed913;border-radius:12px;background:#e6eed911;color:#f0f2e5;line-height:1.65;font-size:15px;text-wrap:pretty;box-shadow:0 4px 18px #05231b0a}.follow-recall{font-size:12px;letter-spacing:.6px;color:#d8e6b8;min-height:20px}.follow-scene.is-number .follow-phrase{font-variant-numeric:tabular-nums}.follow-scene.is-number .follow-pieces>div{background:#e4ecd312;border-color:#d4e9ad38;min-width:90px}.follow-scene.is-number .follow-pieces>div:nth-child(2){background:transparent;border-color:transparent;min-width:0}.follow-cinema:fullscreen .follow-stage{height:auto;overflow:auto;min-height:0}.follow-cinema:fullscreen .follow-caption{flex-shrink:0}.follow-cinema:fullscreen .follow-caption>span{max-width:860px;font-size:17px}.follow-cinema:fullscreen .follow-scene.is-leaving{padding:0}@keyframes follow-soft-arrive{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(max-width:800px){.follow-stage{height:auto;min-height:420px;overflow:visible}.follow-caption{padding:12px 18px;min-height:92px}.follow-caption>span{padding:10px 14px;font-size:14px}.follow-scene.is-number .follow-pieces>div{min-width:70px}.follow-cinema:fullscreen .follow-stage{overflow:auto;min-height:0}}@media(prefers-reduced-motion:reduce){.follow-scene,.follow-pieces>div{animation:none!important;transition:none}.follow-scene.is-leaving{display:none}.follow-cinema.is-playing .follow-topline i{animation:none}}.follow-scene.has-visual .follow-phrase{font-size:clamp(28px,2.4vw,40px);letter-spacing:-.9px}.follow-scene.has-visual .follow-explanation{font-size:14px!important;max-width:590px;margin-bottom:14px!important}.follow-scene.has-visual .follow-tip{margin-top:14px;padding-top:12px}.follow-scene.has-visual .follow-tip p{margin-bottom:0!important}.follow-cinema:fullscreen .follow-scene.has-visual{width:min(980px,100%)}.follow-cinema:fullscreen .follow-scene.has-visual .follow-phrase{font-size:clamp(30px,3vw,48px)}@media(max-width:600px){.follow-scene.has-visual .follow-phrase{font-size:30px}}.follow-cinema{position:relative}.follow-checkpoint[hidden]{display:none}.follow-checkpoint{--cp-pad:clamp(20px,4vw,48px);position:absolute;inset:0;z-index:6;overflow:auto;display:grid;align-items:center;padding:var(--cp-pad);border-radius:inherit;background:#143127f7;color:#f4efdc;overscroll-behavior:contain}.follow-checkpoint-card{width:min(100%,650px);margin:auto;animation:follow-checkpoint-in .32s ease-out}.follow-checkpoint .eyebrow{color:#e7cb92}.follow-checkpoint-intro{font-size:16px;color:#c8d6c3;margin:10px 0 25px}.follow-checkpoint h2{font-size:clamp(24px,3vw,36px);color:#fff5dd;line-height:1.25;margin:0 0 25px;text-wrap:balance}.follow-gap{display:inline-block;position:relative;width:2.4em;height:.9em;margin:0 .08em;border-bottom:.09em solid currentColor;vertical-align:-.08em;opacity:.75}.follow-checkpoint .follow-check-options{display:grid;grid-template-columns:1fr;gap:12px}.follow-checkpoint button{padding:15px 20px;border:1px solid #657d65;border-radius:14px;background:#284e3e;color:#fff6df;font:inherit;font-size:18px;line-height:1.4;text-align:left;cursor:pointer}.follow-checkpoint button:hover:not(:disabled){background:#365f49;border-color:#c5ce9e}.follow-checkpoint button:focus-visible{outline:3px solid #edc983;outline-offset:4px}.follow-checkpoint button:disabled{opacity:1;cursor:default}.follow-checkpoint .is-right{background:#dbe6b8;color:#203f31;border-color:#dbe6b8}.follow-checkpoint .is-missed{border-style:dashed;border-color:#d7a98a;background:#4d4436}.follow-checkpoint .follow-check-feedback{margin-top:22px;background:transparent;border:0;padding:0;color:#f4efdc}.follow-checkpoint .follow-check-feedback p{color:#d4dfca;font-size:17px;line-height:1.55}.follow-checkpoint .follow-checkpoint-continue{background:#e7c589;color:#243e30;border-color:#e7c589;font-weight:700;width:100%;text-align:center}.follow-checkpoint-bar{position:sticky;bottom:calc(-1*var(--cp-pad));z-index:1;margin:12px 0 0;padding:12px 0 var(--cp-pad);background:linear-gradient(to bottom,#14312700,#143127 14px)}.follow-checkpoint-tools{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:22px}.follow-checkpoint-tools button{font-size:14px;background:transparent;border-color:transparent;padding:10px 0;color:#cfdbc4}@keyframes follow-checkpoint-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.follow-checkpoint-card{animation:none}}.follow-cinema{--follow-check-room:calc(100vh - var(--bar,68px) - 32px);--follow-check-room:calc(100svh - var(--bar,68px) - 32px)}.follow-cinema.is-checkpoint{scroll-margin:calc(var(--bar,68px) + 8px) 0 0}.follow-cinema.is-checkpoint:not(:fullscreen)>:not(.follow-checkpoint){display:none}.follow-cinema.is-checkpoint:not(:fullscreen) .follow-checkpoint{position:relative;inset:auto;z-index:auto;align-items:start;min-height:min(var(--follow-cinema-h,0px),var(--follow-check-room));max-height:var(--follow-check-room)}.follow-cinema.is-checkpoint:not(:fullscreen) .follow-checkpoint-card{margin:0 auto}@media(max-width:900px){.follow-cinema.is-checkpoint{scroll-margin:76px 0 calc(96px + env(safe-area-inset-bottom,0px))}.follow-cinema{--follow-check-room: calc(100vh - 176px) ;--follow-check-room: calc(100svh - 172px - env(safe-area-inset-bottom,0px)) }}@media(max-width:700px){.follow-cinema.is-checkpoint{scroll-margin:0}}@media(max-width:600px){.follow-checkpoint{--cp-pad:16px;padding:18px var(--cp-pad) var(--cp-pad)}.follow-checkpoint h2{font-size:22px;margin-bottom:16px}.follow-checkpoint button{font-size:16px;padding:12px 16px}.follow-checkpoint-intro{font-size:14px;margin:6px 0 12px}.follow-checkpoint .follow-check-options{gap:10px}.follow-checkpoint .follow-check-feedback{margin-top:16px}.follow-checkpoint .follow-check-feedback p{font-size:15px;line-height:1.5}.follow-checkpoint-tools{margin-top:8px}.follow-checkpoint-tools button{font-size:14px}}.follow-stage.has-film{padding:0;min-height:0;display:block;background:#0f2f27;position:relative}.follow-scene.is-film{position:relative;width:100%;margin:0;text-align:left}.follow-scene.is-film.is-leaving{position:absolute;top:0;left:0;z-index:0}.follow-scene.is-film:not(.is-leaving){z-index:1}.follow-film-note{margin:0;padding:10px 16px;font-size:13px;line-height:1.5;color:#dfe9d3;background:#0f2f27;border-top:1px solid #ffffff14}.follow-film-note span{font-size:12px;font-weight:700;letter-spacing:1.6px;color:#e7c46e;margin-right:6px}.follow-film{margin:0;width:100%;aspect-ratio:16/9;background:#efe3cc;overflow:hidden}.follow-film svg{display:block;width:100%;height:100%}.follow-scene.is-film .follow-recall{position:absolute;left:14px;top:12px;margin:0;padding:6px 12px;border-radius:30px;background:#0f2f27e6;color:#f1e7c4;font-size:12px}.follow-film text{font-family:inherit}.follow-film .film-bubble-de,.follow-film .film-sentence{font-weight:700;letter-spacing:-.5px;fill:#1f4433}.follow-film .film-tile{font-weight:700;letter-spacing:-.5px}.follow-film .film-sentence{font-weight:800;letter-spacing:-1.5px;stroke:#fff8e7;stroke-width:14px;stroke-linejoin:round;paint-order:stroke}.follow-film .film-bubble-en{fill:#5a6c5e;font-weight:500}.follow-film .film-gloss{fill:#3f5546;font-weight:600;stroke:#fff8e7;stroke-width:10px;stroke-linejoin:round;paint-order:stroke}.follow-film .film-label{fill:#33503f;font-weight:600}.follow-film .film-label-gold{fill:#a8701c}.follow-film .film-label-light{fill:#f6efd9}.follow-film .film-chalk{fill:#f4f1e7;font-weight:600;letter-spacing:.5px}.follow-film .film-chalk-soft{fill:#dfe9dc;font-weight:500}.follow-film .film-chalk-gold{fill:#e7c46e}.follow-film .film-title{fill:#f6efd9;font-weight:800;letter-spacing:-1px}.follow-film .film-lower{fill:#f6efd9;font-weight:600}.follow-film .film-lower-label{fill:#e7c46e;font-weight:700}.follow-film .film-map-label{fill:#1f4433;font-weight:700}.follow-film .film-sign{font-weight:700}.follow-film .film-price{fill:#365747;font-weight:800;letter-spacing:-1px}.follow-film .film-icon{font-weight:800}.follow-film .film-chalk-mint{fill:#bfe0c6}.follow-film [data-film-say] tspan{transition:fill-opacity .12s,fill .12s}.follow-film [data-film-dim] tspan{fill-opacity:.42}.follow-film [data-film-say] tspan.is-said{fill-opacity:1}.follow-film [data-film-say] tspan.is-now{fill-opacity:1}.follow-film [data-film-say] tspan.is-now{stroke:#ffe27a;stroke-width:.3em;stroke-linejoin:round;paint-order:stroke}.follow-film [data-film-say] tspan.is-now:is([fill="#c9761a"],[fill="#c8941f"],[fill="#b07a12"]){stroke:#fffdf6}.follow-film :is(rect[fill="#efc46c"],rect[fill="#f6dfb5"],rect[fill="#e7c46e"])~[data-film-say] tspan.is-now{stroke:#fffdf6}.follow-film :is(.film-chalk,.film-label-light,[fill="#f6f0dc"])[data-film-say] tspan.is-now{fill:#e7c46e;stroke:none}.follow-film .film-chalk-gold[data-film-say] tspan.is-now{fill:#fff6d6}.follow-cinema:fullscreen .follow-stage.has-film{display:flex;align-items:center;justify-content:center;container-type:size;overflow:hidden}.follow-cinema:fullscreen .follow-scene.is-film{width:min(100cqw,(100cqh - 46px) * 16 / 9);margin:auto}@media(max-width:700px){.follow-film{aspect-ratio:4/3}.follow-film [data-film-el=tip],.follow-film [data-film-el]:has(>[data-film-lower]){display:none}.follow-scene.is-film:has([data-film-lower]) .follow-film [data-film-el]:has(>[data-film-timer]){display:none}}@media(prefers-reduced-motion:reduce){.follow-film [data-film-say] tspan{transition:none}}.follow-lesson{max-width:var(--content-narrow);margin:0 auto}.follow-cinema{--player-deep:#0b2b27;--player-raised:#173b32;--player-muted:#c9d9cf;--player-text:#eef3ea;--player-note:#f3dfa8}.follow-heading{margin:0 0 var(--space-6)}.follow-heading>div{min-width:0}.follow-heading .eyebrow{display:block;margin:var(--space-2) 0 0}.follow-heading .eyebrow:first-child{margin-top:0}.follow-heading h1{margin:var(--space-2) 0;font-size:clamp(30px,3.4vw,var(--text-4xl));line-height:1.15;letter-spacing:-.025em}.follow-heading>div>p:not(.eyebrow){margin:0;max-width:60ch;font-size:var(--text-lg);color:var(--ink-2)}.follow-heading .follow-duration{margin-top:var(--space-3)}.follow-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);align-items:start}.follow-cinema{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);scroll-margin-top:calc(var(--bar) + var(--space-4))}.follow-topline{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-6);font-size:var(--text-xs);font-weight:650;letter-spacing:.08em;color:var(--player-muted);border-bottom:1px solid rgba(255,255,255,.08)}.follow-topline i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--sun);margin-right:var(--space-2);vertical-align:middle}.follow-topline>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.follow-topline [data-follow-count]{flex:none;white-space:nowrap;font-variant-numeric:tabular-nums}.follow-player{padding:var(--space-3) var(--space-5) var(--space-2);background:var(--player-deep)}.follow-timeline{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-2)}.follow-timeline input{flex:1;min-width:60px;height:44px;margin:0;accent-color:var(--sun);cursor:pointer}.follow-timeline>span{font-size:var(--text-sm);color:var(--player-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.follow-controls{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.follow-controls button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:44px;min-height:44px;padding:0 var(--space-4);border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-pill);background:transparent;color:var(--player-text);font-family:var(--font-text);font-size:var(--text-sm);font-weight:600;cursor:pointer}.follow-controls button:hover:not(:disabled){background:#ffffff14}.follow-controls button:first-child{min-width:150px;background:var(--sun);border-color:var(--sun);color:#2a1d00}.follow-controls button:first-child:hover:not(:disabled){background:var(--sun-hover)}.follow-controls button:disabled{opacity:.45;cursor:wait}.follow-controls button[aria-pressed=false]{opacity:.6}.follow-controls label{display:flex;align-items:center;gap:var(--space-2);margin-left:auto;font-size:var(--text-sm);color:var(--player-muted)}.follow-controls select{min-height:44px;padding:0 var(--space-3);border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-md);background:var(--player-raised);color:var(--player-text);font-size:var(--text-sm)}.follow-controls button:focus-visible,.follow-controls select:focus-visible,.follow-timeline input:focus-visible{outline:2px solid var(--sun);outline-offset:3px;box-shadow:none}.follow-player>[role=status]{min-height:18px;margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--player-note)}.follow-player>[role=status]:empty{min-height:0}.follow-chapters{padding:var(--space-5) var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.follow-chapter-heading{padding:0 var(--space-3) var(--space-3)}.follow-chapter-heading h2{margin:var(--space-2) 0 0;font-size:var(--text-lg);line-height:1.35;font-weight:700}.follow-chapters ol{display:grid;grid-template-columns:1fr 1fr;gap:2px var(--space-2);list-style:none;margin:0;padding:0}.follow-chapters li{margin:0}.follow-chapters button{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-md);background:transparent;color:var(--ink-2);text-align:left;font-family:var(--font-text);cursor:pointer}.follow-chapters button:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.follow-chapters button:disabled{cursor:default}.follow-chapters button span{flex:none;min-width:20px;font-size:var(--text-xs);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink-3)}.follow-chapters button strong{font-size:var(--text-sm);font-weight:500;line-height:1.35}.follow-chapters button[aria-current]{background:var(--brand-tint);color:var(--brand-ink)}.follow-chapters button[aria-current] span{color:var(--brand)}.follow-chapters button[aria-current] strong{font-weight:650}.follow-chapters>p{margin:var(--space-3) var(--space-3) 0;font-size:var(--text-sm);line-height:1.55;color:var(--ink-3)}.follow-next{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin:var(--space-6) 0;padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow .3s}.follow-next h2{margin:var(--space-2) 0 var(--space-1);font-size:var(--text-xl);font-weight:700}.follow-next p{margin:0;max-width:60ch;font-size:var(--text-md);color:var(--ink-2)}.follow-next .btn{flex-shrink:0}.follow-next:not(.is-ready) .btn.primary{background:var(--surface);border-color:var(--border-2);color:var(--brand-ink);box-shadow:none}.follow-next:not(.is-ready) .btn.primary:hover{background:var(--brand-tint);border-color:var(--brand)}.follow-next.is-ready{box-shadow:inset 4px 0 0 var(--brand),var(--shadow-md)}.follow-check{margin:var(--space-6) 0;padding:var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.follow-check[hidden]{display:none}.follow-check h2{margin:var(--space-2) 0 var(--space-5);font-size:var(--text-2xl);line-height:1.35}.follow-check p{font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.follow-check-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3)}.follow-check button{min-height:56px;padding:var(--space-3) var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);font-family:var(--font-text);font-size:var(--text-md);color:var(--ink);text-align:left;cursor:pointer}.follow-check button:hover:not(:disabled){border-color:var(--brand);background:var(--brand-tint)}.follow-check-options button.is-right{background:var(--success-tint);border-color:var(--success);box-shadow:inset 0 0 0 1px var(--success)}.follow-check-options button:disabled{opacity:1;cursor:default}.follow-check .follow-check-options button.is-missed{border-style:dashed;border-color:var(--danger);background:var(--danger-tint);color:var(--danger-ink)}.follow-check-feedback{margin-top:var(--space-5);padding:var(--space-5);border-radius:var(--radius-md);background:var(--surface-2)}.follow-check-feedback button,.follow-check>.btn{min-height:44px;border-radius:var(--radius-pill);border-color:var(--brand);background:var(--brand);color:#fff;font-size:var(--text-sm);font-weight:600;text-align:center}.follow-check-feedback button:hover:not(:disabled),.follow-check>.btn:hover:not(:disabled){background:var(--brand-hover)}.follow-banner{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:var(--space-5);padding:var(--space-4) var(--space-5) var(--space-4) var(--space-4);margin:var(--space-6) 0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ink)}.follow-banner:before{content:"";width:56px;height:56px;border-radius:var(--radius-md);background:var(--sun-tint) no-repeat center/22px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='%236b4500'/%3E%3C/svg%3E")}.follow-banner>div{display:grid;gap:2px;min-width:0}.follow-banner .eyebrow{color:var(--sun-ink)}.follow-banner strong{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--ink)}.follow-banner>div>span:last-child{font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.follow-entry-button{display:inline-flex;justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:8px 18px;border:1px solid var(--border-2);border-radius:var(--radius-pill);background:var(--surface);color:var(--brand-ink);font-size:var(--text-sm);font-weight:600;text-decoration:none;white-space:nowrap;transition:background-color .15s,border-color .15s}.follow-entry-button:hover{border-color:var(--brand);background:var(--brand-tint)}.follow-entry-button>span[aria-hidden]{font-size:var(--text-xs);color:var(--brand)}.follow-entry-button .follow-entry-duration{padding-left:var(--space-2);border-left:1px solid var(--border-2);font-size:var(--text-xs);font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums}.follow-entry-compact{margin:0}@media(max-width:800px){.follow-heading>div>p:not(.eyebrow){font-size:var(--text-md)}.follow-topline{padding:var(--space-3) var(--space-4)}.follow-player{padding:var(--space-3) var(--space-4) var(--space-2)}.follow-controls button:first-child{flex:1 1 140px}.follow-controls label{margin-left:0}.follow-next{flex-direction:column;align-items:stretch}.follow-next .btn{width:100%}.follow-check{padding:var(--space-5) var(--space-4)}.follow-check h2{font-size:var(--text-xl)}.follow-banner{grid-template-columns:48px minmax(0,1fr);gap:var(--space-4);padding:var(--space-4)}.follow-banner:before{width:48px;height:48px}.follow-banner .follow-entry-button{grid-column:1 / -1;width:100%}}@media(max-width:480px){.follow-chapters ol{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.follow-next,.follow-entry-button{transition:none}}.follow-resume{position:absolute;inset:0;z-index:3;display:grid;place-items:center;padding:var(--space-4);background:#0b2b27c7}.follow-resume[hidden]{display:none}.follow-resume-card{width:min(100%,440px);padding:var(--space-5) var(--space-6);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);background:var(--player-deep);box-shadow:0 18px 50px #00000047;color:var(--player-text);text-align:center;animation:follow-checkpoint-in .32s ease-out}.follow-resume-kicker{margin:0;font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;color:#e7c46e}.follow-resume-where{margin:var(--space-2) 0 var(--space-4);font-size:var(--text-md);line-height:1.45;color:var(--player-muted)}.follow-resume-where strong{display:block;font-weight:650;color:var(--player-text)}.follow-resume-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.follow-resume-actions button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border:1px solid rgba(255,255,255,.26);border-radius:var(--radius-pill);background:transparent;color:var(--player-text);font-family:var(--font-text);font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer}.follow-resume-actions button.is-primary{background:var(--sun);border-color:var(--sun);color:#2a1d00}.follow-resume-actions button.is-primary:hover{background:var(--sun-hover)}.follow-resume-actions button:not(.is-primary):hover{background:#ffffff14}.follow-resume-actions button:focus-visible{outline:2px solid var(--sun);outline-offset:3px;box-shadow:none}@media(prefers-reduced-motion:reduce){.follow-resume-card{animation:none}}@media(max-width:480px){.follow-resume{padding:var(--space-3)}.follow-resume-card{padding:var(--space-4)}.follow-resume-where{margin-bottom:var(--space-3);font-size:var(--text-sm)}.follow-resume-actions button{flex:1 1 auto;padding:0 var(--space-4)}}.follow-scene-seen{display:none;flex:none;align-items:center;justify-content:center;width:22px;height:22px;margin-left:auto;border-radius:50%;background:var(--success-tint);color:var(--success-ink)}.follow-chapters button.is-watched .follow-scene-seen{display:inline-flex}.follow-film-band{display:grid;background:#0f2f27;border-top:1px solid #ffffff14}.follow-film-band>*{grid-area:1/1}.follow-film-band .follow-film-note{border-top:0}.follow-film-turn{display:none}@media(max-width:700px){.follow-film-turn{display:block;margin:0;padding:10px 16px;font-size:14px;line-height:1.45;color:#f6efd9;visibility:hidden}.follow-film-turn>span:first-child{margin-right:6px;font-size:12px;font-weight:700;letter-spacing:1.6px;color:#e7c46e;font-variant-numeric:tabular-nums}.follow-film-turn b{font-weight:700}.follow-film-band.is-turn{box-shadow:inset 4px 0 #e7c46e}.follow-film-band.is-turn .follow-film-turn{visibility:visible}.follow-film-band.is-turn .follow-film-note{visibility:hidden}.follow-scene.is-film:has(.follow-film-band.is-turn) .follow-recall{display:none}}@media(max-width:480px){.follow-topline-long{display:none}}.follow-cinema.is-ready .follow-stage{cursor:pointer}.grammar-progress{display:grid;gap:var(--space-3)}.grammar-progress-top{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2) var(--space-3)}.grammar-progress-top strong{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:750;letter-spacing:-.02em;line-height:1.1;color:var(--ink)}.grammar-progress-top strong small{font-size:var(--text-lg);font-weight:600;color:var(--ink-3)}.grammar-progress-top span{font-size:var(--text-md);color:var(--ink-2)}.grammar-progress p{margin:0;font-size:var(--text-sm);color:var(--ink-3)}.grammar-workshop progress{appearance:none;-webkit-appearance:none;display:block;width:100%;height:6px;border:0;border-radius:var(--radius-pill);overflow:hidden;background:var(--surface-2)}.grammar-workshop progress::-webkit-progress-bar{background:var(--surface-2);border-radius:var(--radius-pill)}.grammar-workshop progress::-webkit-progress-value{background:var(--brand);border-radius:var(--radius-pill)}.grammar-workshop progress::-moz-progress-bar{background:var(--brand);border-radius:var(--radius-pill)}.grammar-chapter-films{margin:0 0 var(--space-6)}.grammar-chapter-films:empty{display:none}.grammar-lab{display:grid;gap:var(--space-4)}.grammar-lab>.btn{justify-self:start}.grammar-syntax{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0}.grammar-piece{flex:1 1 auto;min-width:0;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);animation:grammar-arrive .25s ease-out}.grammar-piece small{display:block;margin-bottom:var(--space-1);font-size:var(--text-xs);font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.grammar-piece strong{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--ink);overflow-wrap:anywhere}.grammar-piece.piece-1{background:var(--brand-tint);border-color:var(--brand-tint-2)}.grammar-piece.piece-1 small{color:var(--brand-ink)}.grammar-piece.piece-2{background:var(--sun-tint);border-color:var(--sun-tint)}.grammar-piece.piece-2 small{color:var(--sun-ink)}.grammar-piece.piece-3{background:var(--info-tint);border-color:var(--info-tint)}.grammar-piece.piece-3 small{color:var(--info)}.grammar-workshop .grammar-translation{margin:0;font-size:var(--text-md);color:var(--ink-2);line-height:1.6}.grammar-lab-note{margin:0;padding-top:var(--space-4);border-top:1px solid var(--border);font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.grammar-section-heading .tool-tabs{margin:0 0 var(--space-6)}.grammar-phase{margin:0 0 var(--space-8)}.grammar-phase>header{display:flex;align-items:center;gap:var(--space-4);margin:0 0 var(--space-4)}.grammar-level{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-md);background:var(--brand);color:#fff;font-family:var(--font-display);font-size:var(--text-md);font-weight:750}.grammar-phase>header h3{margin:0;font-size:var(--text-lg);font-weight:700}.grammar-phase>header p{margin:2px 0 0;font-size:var(--text-sm);color:var(--ink-3)}.grammar-chapters{display:grid;gap:var(--space-3)}.grammar-chapter{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5) var(--space-4) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}.grammar-chapter:hover{border-color:var(--border-2);box-shadow:var(--shadow-md)}.grammar-chapter:focus-visible{box-shadow:var(--focus);border-radius:var(--radius-lg)}.grammar-chapter>svg{color:var(--ink-3)}.grammar-chapter>div{min-width:0}.grammar-chapter-number{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--surface-2);color:var(--ink-2);font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums}.grammar-chapter.is-complete .grammar-chapter-number{background:var(--success-tint);color:var(--success)}.grammar-chapter small{display:block;font-size:var(--text-xs);font-weight:600;color:var(--ink-3)}.grammar-chapter h3{margin:2px 0;font-size:var(--text-lg);font-weight:700;line-height:1.3}.grammar-chapter p{margin:0 0 var(--space-2);font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.grammar-status{display:inline-block;font-size:var(--text-xs);font-weight:650;color:var(--ink-3)}.grammar-chapter.is-complete .grammar-status,.grammar-detail-header .grammar-status{color:var(--brand-ink)}.grammar-sources{margin-top:var(--space-10);border-top:1px solid var(--border);padding:var(--space-4) 0 0}.grammar-sources summary{display:list-item;padding:var(--space-3) 0;cursor:pointer;font-size:var(--text-sm);font-weight:650;color:var(--ink-2)}.grammar-sources p{margin:var(--space-2) 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.grammar-sources a{display:flex;align-items:center;min-height:44px;font-size:var(--text-sm);color:var(--brand-ink)}.grammar-detail-header .grammar-subtitle{display:block;margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ink-3)}.grammar-detail-header .grammar-status{display:block;margin-top:var(--space-2);font-size:var(--text-sm)}.grammar-tabs{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:0 0 var(--space-6);padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);width:max-content;max-width:100%;box-sizing:border-box}.grammar-tabs .btn.secondary{min-height:44px;padding:0 var(--space-4) 0 var(--space-2);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--ink-2);box-shadow:none}.grammar-tabs .btn.secondary:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.grammar-tabs .btn>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--surface-2);font-size:var(--text-xs);font-weight:700}.grammar-tabs .btn[aria-current=step],.grammar-tabs .btn[aria-current=step]:hover:not(:disabled){background:var(--brand-tint);color:var(--brand-ink)}.grammar-tabs [aria-current=step]>span{background:var(--brand);color:#fff}.grammar-lesson-grid{display:grid;gap:var(--space-6)}.grammar-lesson-grid>section{display:grid;gap:var(--space-5);justify-items:start}.grammar-lesson-grid>section>*{width:100%;box-sizing:border-box}.grammar-lesson-grid>section>.btn{width:auto}.grammar-rules{display:grid;gap:var(--space-5)}.grammar-rules>.grammar-rule{display:flex;gap:var(--space-4)}.grammar-rules>.grammar-rule>span{flex:none;display:grid;place-items:center;width:28px;height:28px;margin-top:2px;border-radius:50%;background:var(--brand-tint);color:var(--brand-ink);font-size:var(--text-sm);font-weight:700}.grammar-rules>.grammar-rule h2{margin:0 0 var(--space-1);font-size:var(--text-lg);font-weight:700}.grammar-rules>.grammar-rule p{margin:0;font-size:var(--text-md);line-height:1.65;color:var(--ink-2);white-space:pre-line}.grammar-glossary{padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.grammar-glossary h2{margin:var(--space-2) 0 var(--space-4);font-size:var(--text-xl);font-weight:700}.grammar-glossary dl{display:grid;gap:var(--space-1);margin:0}.grammar-glossary dl>*{margin:0}.grammar-glossary dt{font-size:var(--text-md);font-weight:700;color:var(--ink)}.grammar-glossary dt small{display:block;font-size:var(--text-sm);font-weight:500;color:var(--ink-3)}.grammar-glossary dd{margin:0 0 var(--space-4);font-size:var(--text-sm);line-height:1.55;color:var(--ink-2)}.grammar-glossary dd:last-child{margin-bottom:0}.grammar-trap{padding:var(--space-5) var(--space-6);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--sun);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.grammar-trap p{margin:var(--space-3) 0 0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.grammar-trap small{display:block;margin-bottom:2px;font-size:var(--text-sm);font-weight:600;color:var(--ink-3)}.grammar-wrong>span{font-size:var(--text-lg);text-decoration:line-through;text-decoration-color:var(--danger);color:var(--ink-2)}.grammar-right strong{font-family:var(--font-display);font-size:var(--text-xl);color:var(--success)}.grammar-workshop .grammar-examples{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.grammar-workshop .grammar-examples article{padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.grammar-workshop .grammar-examples article .grammar-syntax{margin:var(--space-3) 0}.grammar-workshop .grammar-examples h3{margin:var(--space-2) 0;font-size:var(--text-xl);line-height:1.45}.grammar-workshop .grammar-examples article>p{display:block;margin:var(--space-2) 0 0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.grammar-workshop .grammar-examples strong{font-size:var(--text-xl)}.grammar-recordings,.grammar-own{margin-top:var(--space-6);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.grammar-recordings>h2{margin:var(--space-2) 0 var(--space-2);font-size:var(--text-xl)}.grammar-recordings article{padding:var(--space-4) 0 0;margin-top:var(--space-4);border-top:1px solid var(--border)}.grammar-recordings article>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.grammar-recordings h3{margin:0;font-size:var(--text-md);font-weight:700}.grammar-recordings p{margin:var(--space-3) 0 0;font-size:var(--text-lg);line-height:1.5;color:var(--ink)}.grammar-recordings small{display:block;margin-top:2px;font-size:var(--text-sm);color:var(--ink-3)}.grammar-own h3{margin:0 0 var(--space-1);font-size:var(--text-lg)}.grammar-own label{display:block;margin-top:var(--space-4);font-size:var(--text-sm);font-weight:650;color:var(--ink)}.grammar-own textarea{display:block;width:100%;box-sizing:border-box;margin:var(--space-2) 0;padding:var(--space-3) var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-lg);resize:vertical}.grammar-own textarea:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus)}.grammar-own>p{margin:0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.grammar-own>small{font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}.grammar-check{padding:var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.grammar-check progress{margin:var(--space-3) 0 var(--space-5)}.grammar-check h2{margin:0 0 var(--space-2);font-size:var(--text-2xl);line-height:1.35}.grammar-check p{margin:0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.grammar-check>small{font-size:var(--text-sm);color:var(--ink-3)}.grammar-options{display:grid;gap:var(--space-3);margin:var(--space-6) 0}.grammar-options .btn.secondary{justify-content:flex-start;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-md);font-weight:500;line-height:1.45;text-align:left;white-space:normal;color:var(--ink)}.grammar-options .btn>span{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-sm);font-weight:700}.grammar-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-6) 0}.grammar-result{padding:var(--space-8);text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.grammar-result-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto var(--space-4);border-radius:50%;background:var(--success-tint);color:var(--success)}.grammar-result>.eyebrow{display:block}.grammar-result h2{margin:var(--space-2) 0;font-size:var(--text-2xl)}.grammar-result p{margin:0 auto;max-width:52ch;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.grammar-result .grammar-actions{justify-content:center;margin-bottom:0}.grammar-answer-review{padding:var(--space-5) 0;border-bottom:1px solid var(--border)}.grammar-answer-review h3{margin:0 0 var(--space-2);font-size:var(--text-lg)}.grammar-answer-review p{margin:var(--space-1) 0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.grammar-answer-review p.is-right{color:var(--brand-ink)}.grammar-answer-review:last-of-type{border-bottom:0}.grammar-answer-review p.is-wrong{color:var(--danger)}.grammar-chapter-footer{display:flex;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-10);padding-top:var(--space-5);border-top:1px solid var(--border)}.grammar-workshop .btn{gap:8px}.grammar-prev svg{transform:rotate(180deg)}.grammar-panel{animation:grammar-arrive .2s ease-out}@keyframes grammar-arrive{0%{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}.grammar-promo{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-5);margin:0 0 var(--space-6);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none}.grammar-promo:hover{border-color:var(--border-2);box-shadow:var(--shadow-md)}.grammar-promo>span:nth-child(2){display:grid;gap:2px;min-width:0}.grammar-promo small{font-size:var(--text-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}.grammar-promo strong{font-family:var(--font-display);font-size:var(--text-lg)}.grammar-promo span>span{font-size:var(--text-sm);color:var(--ink-2)}.grammar-promo>b{font-size:var(--text-sm);color:var(--brand-ink);white-space:nowrap}.grammar-promo-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--radius-md);background:var(--brand-tint);color:var(--brand)}@media(max-width:600px){.grammar-chapter{grid-template-columns:auto 1fr;padding:var(--space-4)}.grammar-chapter>svg{display:none}.grammar-chapter-number{width:36px;height:36px}.grammar-piece{flex:1 1 40%}.grammar-piece strong{font-size:var(--text-lg)}.grammar-tabs{width:100%;border-radius:var(--radius-lg)}.grammar-tabs .btn.secondary{flex:1 1 auto;padding:0 var(--space-2);font-size:var(--text-sm)}.grammar-tabs .btn>span{display:none}.grammar-check,.grammar-result{padding:var(--space-6) var(--space-5)}.grammar-check h2{font-size:var(--text-xl)}.grammar-recordings,.grammar-own,.grammar-glossary,.grammar-workshop .grammar-examples article{padding:var(--space-5)}.grammar-trap{padding:var(--space-5)}.grammar-recordings article>div{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.grammar-chapter-footer .btn{flex:1 1 auto}.grammar-promo{grid-template-columns:auto 1fr}.grammar-promo>b{display:none}}@media(prefers-reduced-motion:reduce){.grammar-panel,.grammar-piece{animation:none}.grammar-chapter{transition:none}}.grammar-films-section{margin-top:var(--space-10)}.grammar-films .hub-card{grid-template-columns:auto 1fr;align-items:start;gap:var(--space-4);padding:var(--space-4)}.grammar-films .hub-art{width:48px;height:48px}.grammar-films .hub-go{display:none}@media(min-width:720px){.grammar-films{grid-template-columns:repeat(2,minmax(0,1fr))}}.tool-page{max-width:var(--content-narrow);margin:0 auto;min-width:0}.tool-page.is-wide{max-width:var(--content)}.tool-page>.hub-head{margin:0 0 var(--space-8)}.tool-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.tool-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:calc(var(--space-2) * -1) 0 var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--brand-ink);text-decoration:none}.tool-back svg{transform:rotate(180deg);flex:none}.tool-back:hover{text-decoration:underline;text-underline-offset:3px}.tool-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-6)}.tool-note,.tool-page .hub-head .tool-note{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--ink-3);line-height:1.55}.tool-section{margin-top:var(--space-10)}.tool-section-head{margin:0 0 var(--space-4)}.tool-section-head h2{margin:0;font-size:var(--text-xl);font-weight:700}.tool-section-head p{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--ink-3)}.tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6)}.tool-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.tool-stat{display:grid;gap:2px;align-content:start;padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.tool-stat strong{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:750;letter-spacing:-.02em;color:var(--ink);line-height:1.2}.tool-stat strong small{font-size:var(--text-md);font-weight:600;color:var(--ink-3)}.tool-stat span{font-size:var(--text-sm);color:var(--ink-3)}.tool-progress{display:block;height:6px;border-radius:var(--radius-pill);background:var(--surface-2);overflow:hidden}.tool-progress i{display:block;height:100%;border-radius:inherit;background:var(--brand);transition:width .3s}.tool-meter{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}.tool-meter .tool-progress{flex:1;max-width:220px}.hub-copy>.tool-meter small{font-size:var(--text-xs);font-weight:600;color:var(--ink-3);white-space:nowrap}.tool-new{display:inline-flex;align-items:center;vertical-align:middle;margin-left:6px;padding:2px 8px;border-radius:var(--radius-pill);background:var(--sun-tint);color:var(--sun-ink);font-family:var(--font-text);font-size:var(--text-xs);font-weight:700;letter-spacing:0}.tool-steps{list-style:none;margin:0;padding:var(--space-2) var(--space-6);display:grid;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.tool-steps li{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) 0;font-size:var(--text-sm);color:var(--ink-2);line-height:1.5}.tool-steps li+li{border-top:1px solid var(--border)}.tool-steps li>b{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--brand-tint);color:var(--brand-ink);font-size:var(--text-sm);font-weight:700}.tool-steps li strong{display:block;color:var(--ink);font-size:var(--text-md);font-weight:650}.tool-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tool-tabs>button,.tool-tabs>a{min-height:44px;padding:0 var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-2);font:600 var(--text-sm)/1 var(--font-text);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;box-shadow:none}.tool-tabs>button:hover,.tool-tabs>a:hover{border-color:var(--brand);color:var(--brand-ink)}.tool-tabs>[aria-pressed=true],.tool-tabs>[aria-current=page]{background:var(--brand-tint);border-color:var(--brand);color:var(--brand-ink)}.ess-warning{padding:var(--space-3) var(--space-4);background:var(--warning-tint);border:0;border-radius:var(--radius-md);color:var(--sun-ink);font-size:var(--text-sm);line-height:1.55;margin:var(--space-5) 0}@media(max-width:600px){.tool-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.tool-stat{padding:var(--space-3)}.tool-stat strong{font-size:var(--text-xl)}.tool-stat span{font-size:var(--text-xs);line-height:1.35}.tool-card{padding:var(--space-5)}.tool-steps{padding:var(--space-1) var(--space-5)}.tool-actions>.btn{flex:1 1 auto}}@media(prefers-reduced-motion:reduce){.tool-progress i{transition:none}}.ess-home .tool-stats{margin-top:0}.ess-group .hub-chips .chip{font-weight:600;color:var(--ink-2)}.ess-group .hub-copy strong{display:flex;align-items:center;flex-wrap:wrap}.ess-promo{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-5);padding:var(--space-4) var(--space-5);margin:0 0 var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none}.ess-promo:hover{border-color:var(--border-2);box-shadow:var(--shadow-md)}.ess-promo-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--radius-md);background:var(--sun-tint);color:var(--sun-ink)}.ess-promo>span:nth-child(2){display:grid;gap:2px;min-width:0}.ess-promo small{font-size:var(--text-xs);font-weight:650;letter-spacing:.06em;color:var(--brand)}.ess-promo strong{font-family:var(--font-display);font-size:var(--text-lg)}.ess-promo>span:nth-child(2)>span{font-size:var(--text-sm);color:var(--ink-2)}.ess-promo-go{display:grid;justify-items:end;gap:4px;font-size:var(--text-sm);color:var(--ink-3)}.ess-promo-go>span{display:flex;align-items:center;gap:6px;font-weight:600;color:var(--brand-ink)}@media(max-width:600px){.ess-promo{grid-template-columns:auto 1fr}.ess-promo-go{grid-column:1/-1;justify-items:start}}.ess-contrast h2{margin:var(--space-2) 0 0;font-size:var(--text-xl);font-weight:700;line-height:1.4}.ess-rule-note{margin:var(--space-2) 0 0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.ess-contrast>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-6);margin-top:var(--space-4)}.ess-contrast article{padding:var(--space-4) 0;border-top:1px solid var(--border);min-width:0}.ess-contrast article p{margin:0}.ess-contrast article p[lang=de]{font-family:var(--font-display);font-size:var(--text-lg);font-weight:650;color:var(--ink);line-height:1.4}.ess-contrast article p[lang=en]{margin-top:2px;font-size:var(--text-md);color:var(--ink-2)}.ess-contrast article small{display:block;margin-top:var(--space-1);font-size:var(--text-sm);color:var(--ink-3);line-height:1.5}.ess-phrase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.ess-phrase{display:flex;flex-direction:column;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0}.ess-phrase>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.ess-phrase strong{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--ink);overflow-wrap:anywhere}.ess-phrase>div .btn{flex:none;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;font-size:0;gap:0}.ess-phrase>p{margin:2px 0 var(--space-3);font-size:var(--text-sm);color:var(--ink-3)}.ess-phrase>small{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ink-3);line-height:1.5}.ess-example{display:flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:44px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--ink);font:inherit;font-size:var(--text-lg);line-height:1.5;padding:var(--space-2) var(--space-3);cursor:pointer;text-align:center;transition:background-color .15s}.ess-example:hover:not(:disabled){background:var(--brand-tint)}.ess-example:disabled{cursor:default;color:var(--ink-3)}.ess-example svg{flex:none;color:var(--brand)}.ess-phrase .ess-example{justify-content:space-between;text-align:left;font-size:var(--text-md);width:100%;background:var(--surface-2)}.ess-phrase .ess-example:hover:not(:disabled){background:var(--brand-tint)}.ess-round-top{display:flex;align-items:center;gap:var(--space-4);max-width:var(--content-narrow);margin:0 auto var(--space-5)}.ess-round-top>a{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--ink-2);text-decoration:none}.ess-round-top>a:hover{background:var(--surface-2);color:var(--ink)}.ess-round-top>div:nth-child(2){display:grid;gap:0;flex:none}.ess-round-top>div>span{font-size:var(--text-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}.ess-round-top strong{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--ink)}.ess-round-top strong small{font-size:var(--text-lg);font-weight:600;color:var(--ink-3)}.ess-round-progress{flex:1;height:6px;border-radius:var(--radius-pill);background:var(--border);overflow:hidden}.ess-round-progress i{display:block;height:100%;border-radius:inherit;background:var(--brand);transition:width .3s}.ess-modes{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-1);width:max-content;max-width:100%;margin:0 auto var(--space-5);padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);box-sizing:border-box}.ess-modes button{min-height:44px;padding:0 var(--space-4);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--ink-2);font:600 var(--text-sm)/1 var(--font-text);cursor:pointer}.ess-modes button:hover{color:var(--brand-ink);background:var(--surface-2)}.ess-modes button[aria-pressed=true]{background:var(--brand);color:#fff}.ess-card-stage{perspective:1600px;max-width:var(--content-narrow);margin:0 auto}.ess-flash{position:relative;border-radius:var(--radius-xl)}.ess-flash-inner{display:grid;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.75,.25,1)}.ess-flash.is-flipped .ess-flash-inner{transform:rotateY(180deg)}.ess-face{grid-area:1/1;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-sizing:border-box;min-height:380px;padding:var(--space-10) var(--space-8);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);color:var(--ink)}.ess-back-face{transform:rotateY(180deg)}.ess-card-eyebrow{font-size:var(--text-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.ess-face h2{margin:var(--space-4) 0 var(--space-5);font-size:clamp(28px,3.4vw,var(--text-4xl));font-weight:750;letter-spacing:-.025em;line-height:1.25;overflow-wrap:anywhere}.ess-face>p{margin:var(--space-2) 0;font-size:var(--text-lg);line-height:1.6;color:var(--ink-2)}.ess-face .ess-example{margin:var(--space-5) 0 0;max-width:100%;font-size:var(--text-xl)}.ess-face>.btn{min-height:44px}.ess-face>small{font-size:var(--text-sm);color:var(--ink-3);line-height:1.5}.ess-reveal{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin:var(--space-6) 0 0}.ess-reveal span{font-size:var(--text-sm);color:var(--ink-3);text-align:center}.ess-reveal .btn{min-width:240px;min-height:48px;font-size:var(--text-md)}.ess-card-feedback{max-width:var(--content-narrow);margin:var(--space-5) auto 0;text-align:center;color:var(--ink-2);font-size:var(--text-md);line-height:1.6}.ess-card-feedback p{margin:var(--space-1) 0}.ess-card-feedback strong{color:var(--ink);font-weight:650}.ess-rating{max-width:var(--content-narrow);margin:var(--space-4) auto 0;text-align:center}.ess-rating>span{display:block;margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--ink-3);line-height:1.5}.ess-rating>div{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.ess-rating .btn{flex:1;min-width:160px;min-height:48px}.ess-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);width:100%;margin-top:var(--space-2)}.ess-options .btn.secondary{justify-content:flex-start;min-height:60px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-md);font-weight:500;line-height:1.45;text-align:left;white-space:normal;color:var(--ink)}.ess-recall-draft{display:block;width:100%;margin:var(--space-4) 0 var(--space-3);text-align:left;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.ess-recall-draft textarea{display:block;width:100%;box-sizing:border-box;margin-top:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-lg);font-weight:400;line-height:1.5;resize:vertical}.ess-recall-draft textarea:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus)}.ess-slots,.ess-word-bank{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);width:100%;margin:var(--space-2) 0}.ess-slots{box-sizing:border-box;min-height:76px;padding:var(--space-4) var(--space-3);border:1px dashed var(--border-2);border-radius:var(--radius-md);background:var(--surface-2)}.ess-slots>span{align-self:center;font-size:var(--text-sm);color:var(--ink-3)}.ess-slots .btn.secondary,.ess-word-bank .btn.secondary{min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-md);font-weight:500;color:var(--ink)}.ess-word-bank{min-height:56px;margin-bottom:var(--space-5)}.ess-face .ess-build-help{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--ink-3)}.ess-complete,.ess-empty{max-width:var(--content-narrow);margin:0 auto;padding:var(--space-10) var(--space-8);box-sizing:border-box;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.ess-complete-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto var(--space-5);border-radius:50%;background:var(--success-tint);color:var(--success);animation:ess-arrive .5s ease-out}.ess-complete h1,.ess-empty h1{margin:var(--space-2) 0 var(--space-3);font-size:clamp(28px,3.2vw,var(--text-4xl))}.ess-complete p,.ess-empty p{margin:0 auto;max-width:56ch;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.ess-empty .btn{margin-top:var(--space-6)}.ess-complete h2{margin:var(--space-8) 0 var(--space-2);padding-top:var(--space-8);border-top:1px solid var(--border);font-size:var(--text-xl)}.ess-complete .tool-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);margin:var(--space-6) 0 var(--space-4)}.ess-complete-recap{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin:var(--space-5) 0 0}.ess-complete-recap span{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-sm);color:var(--ink)}.ess-complete .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-sm);font-weight:600;color:var(--brand-ink)}.ess-face [data-e-voice]{transition:color .2s}.ess-face .is-speaking{color:var(--brand)}.ess-example.is-playing,.ess-face .btn.is-playing,.ess-phrase .btn.is-playing{background:var(--brand-tint);border-color:var(--brand);color:var(--brand-ink)}.ess-face[aria-hidden=true]{pointer-events:none}.ess-modes button:focus-visible,.ess-example:focus-visible{outline:none;box-shadow:var(--focus)}.ess-face .btn:disabled{opacity:.5}.ess-flash.is-turning .ess-flash-inner{animation:ess-turn .55s cubic-bezier(.2,.75,.25,1)}@keyframes ess-turn{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}@keyframes ess-arrive{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:700px){.ess-contrast>div,.ess-phrase-grid{grid-template-columns:1fr}.ess-round-top{gap:var(--space-3)}.ess-round-top>div>span{display:none}.ess-round-top .btn{width:44px;padding:0;font-size:0;gap:0}.ess-round-top .btn svg{width:20px;height:20px}.ess-modes{width:100%;border-radius:var(--radius-lg)}.ess-modes button{flex:1 1 40%;padding:0 var(--space-2)}.ess-face{min-height:340px;padding:var(--space-8) var(--space-5)}.ess-face .ess-example{font-size:var(--text-lg)}.ess-options{grid-template-columns:1fr}.ess-rating .btn{min-width:0;flex:1 1 calc(50% - 6px);padding:10px 12px}.ess-rating .btn:last-child{flex-basis:100%}.ess-reveal .btn{width:100%;min-width:0}.ess-complete,.ess-empty{padding:var(--space-8) var(--space-5)}.ess-complete .tool-actions .btn{flex:1 1 100%}}@media(prefers-reduced-motion:reduce){.ess-complete-mark,.ess-flash.is-turning .ess-flash-inner{animation:none}.ess-flash-inner,.ess-round-progress i,.ess-example{transition:none}}.ess-learn .flash-launch{max-width:var(--content-narrow);margin:0 auto}.ess-learn-head{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-3);max-width:var(--content-narrow);margin:0 auto var(--space-5)}.ess-learn-head .ess-modes{margin:0}.ess-your-attempt{margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-sm);line-height:1.5;color:var(--ink);overflow-wrap:anywhere}.ess-your-attempt>span:first-child{display:block;font-size:var(--text-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.ll-library{color:var(--ink)}.ll-library button,.ll-library a,.ll-library input,.ll-library select{touch-action:manipulation}.ll-library .ll-muted{margin:var(--space-3) 0;font-size:var(--text-sm);line-height:1.55;color:var(--ink-3)}.ll-hero-count strong{color:var(--ink);font-weight:700}.ll-guided{margin:0 0 var(--space-10)}.ll-library .btn[aria-pressed=true],.ll-library .btn[aria-current=page]{background:var(--brand-tint);border-color:var(--brand);color:var(--brand-ink)}.ll-library label{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.ll-library select{min-height:44px;max-width:100%;padding:0 var(--space-3);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-sm);font-weight:500}.ll-library select:focus-visible{outline:none;border-color:var(--brand);box-shadow:var(--focus)}.ll-library input[type=range]{width:100%;height:32px;margin:0;accent-color:var(--brand);cursor:pointer}.ll-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-5);margin:0 0 var(--space-5)}.ll-filters>label{flex-direction:row;align-items:center;flex:none}.ll-filters>.tool-note{margin:0}.ll-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.ll-grid>.ll-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}.ll-grid>.ll-card:hover{border-color:var(--border-2);box-shadow:var(--shadow-md)}.ll-grid>.ll-card:focus-visible{box-shadow:var(--focus);border-radius:var(--radius-lg)}.ll-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.ll-kind{font-size:var(--text-xs);font-weight:650;color:var(--brand)}.ll-art-pronunciation .ll-kind{color:var(--sun-ink)}.ll-art-essentials .ll-kind{color:var(--info)}.ll-art-ambience .ll-kind{color:var(--ink-2)}.ll-grid>.ll-card h3{margin:0;font-size:var(--text-lg);font-weight:700;line-height:1.35;overflow-wrap:anywhere}.ll-grid>.ll-card p{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ll-card-foot{display:flex;align-items:center;justify-content:space-between;margin:auto 0 0;padding:var(--space-2) 0 0;border:0;background:none}.ll-card-go{color:var(--ink-3)}.ll-status{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:600;color:var(--ink-3)}.ll-status:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink-4)}.ll-status.ready{color:var(--brand-ink)}.ll-status.ready:before{background:var(--success)}.ll-empty{padding:var(--space-8);border:1px dashed var(--border-2);border-radius:var(--radius-lg);text-align:center;font-size:var(--text-md);color:var(--ink-2)}.ll-detail-meta{margin-top:var(--space-3)}.ll-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5)}.ll-reader{min-width:0;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.ll-player{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border);background:var(--surface)}.ll-play-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.ll-play-row>.btn.primary{min-width:156px;min-height:48px;font-size:var(--text-md)}.ll-play-row>span{margin-right:auto;font-size:var(--text-sm);color:var(--ink-3);font-variant-numeric:tabular-nums}.ll-play-row>span b{color:var(--ink);font-weight:650}.ll-play-row>.btn.secondary{border-color:transparent;background:transparent}.ll-play-row>.btn.secondary:hover:not(:disabled){background:var(--brand-tint)}.ll-seek-label{margin-top:var(--space-2);gap:0!important}.ll-player-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--ink-2)}.ll-speed{display:flex!important;flex-direction:row!important;align-items:center;gap:var(--space-3)!important;margin:0;white-space:nowrap;font-size:var(--text-sm)!important}.ll-player-bottom .ll-speed{width:240px;max-width:100%}.ll-speed input{min-width:40px}.ll-speed output{min-width:44px;font-variant-numeric:tabular-nums;color:var(--ink)}.ll-prompt,.ll-notready{margin:var(--space-4) 0 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:1.55}.ll-prompt{background:var(--brand-tint);color:var(--brand-ink);font-weight:600}.ll-notready{background:var(--warning-tint);color:var(--sun-ink)}.ll-notready p{margin:var(--space-1) 0 0}.ll-reader-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-6) 0}.ll-transcript{margin:var(--space-4) var(--space-6);font-size:var(--text-xl);line-height:1.9;color:var(--ink)}.ll-transcript button{display:inline;margin:0 -.12em;padding:0 .12em;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;line-height:inherit;letter-spacing:inherit;cursor:pointer;-webkit-box-decoration-break:clone;box-decoration-break:clone}.ll-transcript button:focus-visible{outline:none;box-shadow:var(--focus)}.ll-transcript button:hover{background:var(--brand-tint)}.ll-transcript .ll-current{background:var(--sun-tint);box-shadow:0 2px 0 var(--sun)}.ll-transcript .ll-speaker{display:block;margin:var(--space-5) 0 var(--space-1);font-size:var(--text-xs);font-weight:650;line-height:1.5;color:var(--ink-2)}.ll-transcript .ll-speaker:first-child{margin-top:0}.ll-dialogue-transcript{display:grid;gap:var(--space-1);margin:var(--space-3) var(--space-4) var(--space-2);font-size:var(--text-xl);line-height:1.6}.ll-turn{display:flex;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);transition:background-color .2s}.ll-turn-active{background:var(--brand-tint);box-shadow:inset 3px 0 var(--brand)}.ll-avatar{flex:0 0 32px;display:grid;place-items:center;width:32px;height:32px;margin-top:2px;border-radius:50%;background:var(--brand-tint);color:var(--brand-ink);font-size:var(--text-sm);font-weight:700}.ll-turn-alternate .ll-avatar{background:var(--sun-tint);color:var(--sun-ink)}.ll-turn-copy{flex:1;min-width:0}.ll-turn-copy p{margin:2px 0 0;line-height:1.6}.ll-turn-meta{display:flex;align-items:center;gap:var(--space-3)}.ll-dialogue-transcript .ll-speaker{margin:0;font-size:var(--text-xs);line-height:1.4}.ll-turn-meta small{font-size:var(--text-xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.ll-transcript .ll-line-translation{margin:var(--space-1) 0 0;padding:0;background:none;font-size:var(--text-sm);line-height:1.55;color:var(--ink-3);white-space:normal}.ll-translation{margin:0 var(--space-6) var(--space-5);padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-md);line-height:1.6;color:var(--ink-2);white-space:pre-line}.ll-library .ll-word-tip{margin:var(--space-2) var(--space-6) var(--space-5)}.ll-reader>.ll-notready,.ll-reader>.ll-chunks,.ll-reader>.ll-variants,.ll-reader>p:not([class]){margin:var(--space-4) var(--space-6)}.ll-chunks{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ll-variants{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border);font-size:var(--text-sm);color:var(--ink-2)}.ll-variants>span{width:100%;font-weight:600}.ll-ambient-art{margin:var(--space-8) 0 var(--space-2);text-align:center;font-size:64px;line-height:1;color:var(--ink-4)}.ll-reader>.ll-muted:not(.ll-word-tip){margin:0 var(--space-6) var(--space-5);text-align:center}.ll-next-step{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-5);padding:var(--space-5) var(--space-6);border-top:1px solid var(--border);background:var(--surface-2)}.ll-next-step h2{margin:var(--space-1) 0;font-size:var(--text-lg)}.ll-next-step p{margin:0;max-width:44ch;font-size:var(--text-sm);line-height:1.55;color:var(--ink-2)}.ll-tools{display:grid;gap:var(--space-3);min-width:0}.ll-practice-path{padding:var(--space-5) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.ll-practice-path h2{margin:0 0 var(--space-4);font-size:var(--text-lg)}.ll-practice-path ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin:0;padding:0}.ll-practice-path li{display:flex;align-items:flex-start;gap:var(--space-3)}.ll-practice-path li>b{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand-tint);color:var(--brand-ink);font-size:var(--text-sm)}.ll-practice-path li strong{display:block;font-size:var(--text-sm);font-weight:650;line-height:1.4}.ll-practice-path li small{display:block;margin-top:2px;font-size:var(--text-sm);line-height:1.45;color:var(--ink-3)}.ll-saved-check{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border)}.ll-saved-check>.eyebrow{width:100%}.ll-saved-check p{flex:1;margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--ink-2)}.ll-saved-check p strong{font-size:var(--text-lg);color:var(--ink)}.ll-saved-check a{font-size:var(--text-sm);font-weight:600;color:var(--brand-ink)}.ll-practice-panel{overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.ll-practice-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:44px;padding:var(--space-4) var(--space-5);list-style:none;cursor:pointer}.ll-practice-panel>summary::-webkit-details-marker{display:none}.ll-practice-panel>summary:hover{background:var(--surface-2)}.ll-practice-panel summary strong{display:block;font-size:var(--text-md);font-weight:650;color:var(--ink)}.ll-practice-panel summary small{display:block;margin-top:2px;font-size:var(--text-sm);line-height:1.45;color:var(--ink-3)}.ll-practice-panel summary>b{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--surface-2);font-size:var(--text-xl);font-weight:400;color:var(--ink-2);transition:transform .15s}.ll-practice-panel[open] summary>b{transform:rotate(45deg)}.ll-panel-body{display:grid;gap:var(--space-3);padding:0 var(--space-5) var(--space-5)}.ll-panel-body>*{margin:0}.ll-panel-body .ll-muted{margin:0}.ll-panel-body select{width:100%}.ll-modes{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ll-modes .btn{flex:1 1 auto}.ll-record-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ll-record-state{min-height:20px;margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--danger)}.lc-path{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin:0 0 var(--space-6);padding:0}.lc-path li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.lc-path b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand-tint);color:var(--brand-ink);font-size:var(--text-xs)}.lc-list{margin-top:var(--space-2)}.lc-card .hub-art.lc-level{font-family:var(--font-display);font-size:var(--text-xl);font-weight:750}.lc-card .hub-copy>small.lc-number{font-size:var(--text-xs);font-weight:600;color:var(--ink-3)}.lc-card .hub-copy>.ll-status{margin-top:2px;font-size:var(--text-xs);line-height:1.4}.lc-card .hub-copy>.ll-status.ready{color:var(--brand-ink)}.lc-card .hub-copy>.ll-status:not(.ready){color:var(--ink-3)}.lc-last{font-size:var(--text-xs);color:var(--ink-3)}.lc-session{display:grid;gap:var(--space-4)}.lc-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin:0;padding:0;font-size:var(--text-sm);color:var(--ink-3)}.lc-steps li{display:flex;align-items:center;gap:var(--space-2);min-width:0}.lc-steps span{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface);border:1px solid var(--border-2);font-size:var(--text-xs);font-weight:700}.lc-steps [aria-current=step]{color:var(--ink);font-weight:650}.lc-steps [aria-current=step] span{background:var(--brand);border-color:var(--brand);color:#fff}.lc-steps .complete{color:var(--ink-2)}.lc-steps .complete span{background:var(--success-tint);border-color:var(--success-tint);color:var(--success)}.lc-room{padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.lc-audio{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-5);border-radius:var(--radius-md);background:var(--surface-2)}.lc-orbit{flex:none;display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--surface);border:1px solid var(--border)}.lc-bars{display:flex;align-items:center;gap:4px;height:36px}.lc-bars i{display:block;width:4px;height:calc(10px + var(--n)*3px);border-radius:4px;background:var(--brand);transform:scaleY(.6)}.is-playing .lc-bars i{animation:lc-wave .9s ease-in-out infinite alternate;animation-delay:calc(var(--n)*-.13s)}@keyframes lc-wave{0%{transform:scaleY(.35);opacity:.5}to{transform:scaleY(1.2);opacity:1}}.lc-audio h2{margin:var(--space-1) 0;font-size:var(--text-xl);line-height:1.35}.lc-audio p{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--ink-3)}.lc-play{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.lc-play>span{font-size:var(--text-sm);color:var(--ink-3);font-variant-numeric:tabular-nums}.lc-play>span b{color:var(--ink);font-weight:650}.lc-audio .ll-speed{margin-top:var(--space-3)}.lc-question{padding-top:var(--space-6)}.lc-question h2{margin:var(--space-2) 0;font-size:var(--text-2xl);line-height:1.35}.lc-options,.lr-options{display:grid;gap:var(--space-3);margin:var(--space-5) 0}.lc-option,.lr-options button{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-3) var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-md);text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s}.lc-option>span,.lr-options button>span{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-sm);font-weight:700}.lc-option>b,.lr-options button b{margin-left:auto;color:var(--success)}.lc-option.incorrect>b,.lr-options button.incorrect b{color:var(--danger)}.lc-option:not(:disabled):hover,.lr-options button:not(:disabled):hover{border-color:var(--brand);background:var(--brand-tint)}.lc-option[aria-pressed=true]{border-color:var(--brand);background:var(--brand-tint);box-shadow:inset 0 0 0 1px var(--brand)}.lc-option[aria-pressed=true]>span{background:var(--brand);color:#fff}.lc-option:disabled,.lr-options button:disabled{cursor:default;color:var(--ink-3);opacity:1}.lc-option.correct,.lc-option.incorrect{box-shadow:none}.lc-option.correct,.lr-options button.correct{color:var(--ink);background:var(--success-tint);border-color:var(--success)}.lc-option.correct>span,.lr-options button.correct>span{background:var(--success);color:#fff}.lc-option.incorrect,.lr-options button.incorrect{color:var(--ink);background:var(--danger-tint);border-color:var(--danger)}.lc-option.incorrect>span,.lr-options button.incorrect>span{background:var(--danger);color:#fff}.lc-feedback{margin:var(--space-5) 0 0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.lc-feedback strong{color:var(--ink)}.lc-feedback p{margin:var(--space-1) 0 0}.lc-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}.lc-help{margin-top:var(--space-6);padding-top:var(--space-2);border-top:1px solid var(--border);font-size:var(--text-sm);color:var(--ink-2)}.lc-help summary{display:list-item;padding:var(--space-3) 0;cursor:pointer;font-weight:600;color:var(--brand-ink)}.lc-help p{margin:0 0 var(--space-3);line-height:1.55}.lc-transcript{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border)}.lc-transcript .ll-reader-top{padding:0}.lc-transcript h2{margin:0;font-size:var(--text-lg)}.lc-transcript>.btn{margin-top:var(--space-3)}.lc-transcript .ll-transcript{margin:var(--space-4) 0}.lc-transcript .ll-translation{margin:0}.lc-summary{padding-top:var(--space-6)}.lc-summary h2{margin:var(--space-2) 0;font-size:var(--text-2xl)}.lc-summary p{margin:var(--space-1) 0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.lc-review{display:grid;gap:var(--space-3);margin-top:var(--space-6)}.lc-review article{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-2)}.lc-review h3{margin:var(--space-1) 0;font-size:var(--text-md);line-height:1.45}.lc-review p{margin:var(--space-1) 0 0;font-size:var(--text-sm);line-height:1.55;color:var(--ink-2)}.lc-error{margin:var(--space-4) 0 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--danger-tint);color:var(--ink);font-size:var(--text-sm);line-height:1.55}.lc-session [tabindex="-1"]:focus{outline:none}@media(max-width:600px){.ll-grid{grid-template-columns:1fr}.ll-filters>label{width:100%;justify-content:space-between}.ll-player{padding:var(--space-4)}.ll-play-row>.btn.primary{flex:1 1 100%}.ll-play-row>span{margin-right:0}.ll-play-row>.btn.secondary{margin-left:auto}.ll-player-bottom .ll-speed{width:100%}.ll-reader-top{padding:var(--space-4) var(--space-4) 0}.ll-transcript{margin:var(--space-3) var(--space-4);font-size:var(--text-lg)}.ll-dialogue-transcript{margin:var(--space-2);font-size:var(--text-lg)}.ll-turn{padding:var(--space-3) var(--space-2)}.ll-avatar{flex-basis:28px;width:28px;height:28px}.ll-translation{margin:0 var(--space-4) var(--space-4)}.ll-library .ll-word-tip,.ll-reader>.ll-notready,.ll-reader>.ll-chunks,.ll-reader>.ll-variants,.ll-reader>p:not([class]){margin-left:var(--space-4);margin-right:var(--space-4)}.ll-next-step{padding:var(--space-5) var(--space-4)}.ll-next-step .btn{width:100%}.ll-practice-path{padding:var(--space-5)}.ll-practice-path ol{grid-template-columns:1fr}.lc-room{padding:var(--space-5) var(--space-4)}.lc-audio{flex-direction:column;align-items:stretch;text-align:left;gap:var(--space-3);padding:var(--space-4)}.lc-orbit{display:none}.lc-steps{font-size:var(--text-xs)}.lc-steps li{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.lc-question h2,.lc-summary h2{font-size:var(--text-xl)}.lc-actions>.btn{flex:1 1 100%}}@media(prefers-reduced-motion:reduce){.ll-grid>.ll-card,.ll-turn,.lc-option,.lr-options button,.ll-practice-panel summary>b{transition:none}.is-playing .lc-bars i{animation:none;transform:scaleY(1)}}.pl-page{color:var(--ink)}.pl-page [hidden]{display:none!important}.pl-path{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin:var(--space-5) 0 0;padding:0}.pl-path li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.pl-path b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand-tint);color:var(--brand-ink);font-size:var(--text-xs)}.pl-catalog-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-5);margin:0 0 var(--space-5);font-size:var(--text-sm);color:var(--ink-3)}.pl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.pl-tile{display:flex;flex-direction:column;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}.pl-tile:hover{border-color:var(--border-2);box-shadow:var(--shadow-md)}.pl-tile:focus-visible{box-shadow:var(--focus);border-radius:var(--radius-lg)}.pl-tile-meta{font-size:var(--text-xs);font-weight:650;color:var(--brand)}.pl-tile h2{margin:var(--space-2) 0 var(--space-1);font-size:var(--text-xl);font-weight:700;overflow-wrap:anywhere}.pl-tile p{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.pl-mini-chunks{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:var(--space-4) 0}.pl-mini-chunks span{padding:4px 8px;border-radius:var(--radius-sm);background:var(--surface-2);font-size:var(--text-sm);color:var(--ink-2)}.pl-mini-chunks .stressed{background:var(--brand-tint);color:var(--brand-ink);font-weight:750}.pl-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--border);font-size:var(--text-xs);font-weight:600;color:var(--ink-3)}.pl-card-foot .is-due{color:var(--sun-ink)}.pl-card-go{color:var(--ink-3)}.pl-footnote{max-width:640px;margin:var(--space-8) auto 0;text-align:center;font-size:var(--text-sm);line-height:1.55;color:var(--ink-3)}.pl-session-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin:0 0 var(--space-4);font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.pl-session-top label{display:flex;align-items:center;gap:var(--space-2)}.pl-session-top select{min-height:44px;padding:0 var(--space-3);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-sm)}.pl-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);margin:0 0 var(--space-5);padding:0}.pl-steps li{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-3);border-bottom:3px solid var(--border);font-size:var(--text-sm);color:var(--ink-3)}.pl-steps li>span{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--surface-2);font-size:var(--text-xs);font-weight:700}.pl-steps li.active{border-color:var(--brand);color:var(--ink);font-weight:650}.pl-steps li.active>span{background:var(--brand);color:#fff}.pl-steps li.done{border-color:var(--success);color:var(--ink-2)}.pl-steps li.done>span{background:var(--success-tint);color:var(--success)}.pl-practice-card{min-height:420px;padding:var(--space-10) var(--space-8) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);text-align:center;animation:pl-enter .28s ease-out}.pl-practice-card h1{margin:var(--space-3) 0 var(--space-2);font-size:clamp(28px,3.4vw,var(--text-4xl));line-height:1.2;overflow-wrap:anywhere;outline:none}.pl-meaning{margin:0 0 var(--space-5);font-size:var(--text-lg);color:var(--ink-2)}.pl-chunks{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin:var(--space-6) 0}.pl-chunk{min-width:76px;min-height:88px;padding:var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;transition:background-color .15s,border-color .15s,transform .15s}.pl-chunk:hover{border-color:var(--brand)}.pl-chunk>span{display:block;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;line-height:1.2}.pl-chunk small{display:block;margin-top:var(--space-2);font-size:var(--text-xs);font-weight:650;letter-spacing:.04em;color:var(--ink-3)}.pl-chunk.stressed{background:var(--brand-tint);border-color:var(--brand-tint-2)}.pl-chunk.stressed>span{font-weight:800;color:var(--brand-ink)}.pl-chunk.stressed small{color:var(--brand-ink)}.pl-chunk.playing{background:var(--brand);border-color:var(--brand);color:#fff;transform:translateY(-4px)}.pl-chunk.playing>span,.pl-chunk.playing small{color:#fff}.pl-tip{max-width:560px;margin:var(--space-5) auto;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.pl-coach{margin:var(--space-5) 0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.pl-flow{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:var(--space-2);margin:var(--space-6) 0;font-size:var(--text-2xl);color:var(--ink-3)}.pl-flow i{font-style:normal;color:var(--ink-4)}.pl-flow .stressed{font-weight:800;color:var(--brand-ink)}.pl-sentence{margin:var(--space-6) 0 var(--space-2);font-size:clamp(22px,2.6vw,var(--text-3xl));line-height:1.6;text-wrap:pretty}.pl-sentence span{border-radius:4px;transition:background-color .15s}.pl-target{color:var(--brand-ink);font-weight:650;text-decoration:underline;text-decoration-color:var(--brand-tint-2);text-decoration-thickness:3px;text-underline-offset:6px}.pl-sentence .speaking{background:var(--sun-tint);box-shadow:0 0 0 3px var(--sun-tint)}.pl-translation{margin:0 0 var(--space-6);font-size:var(--text-md);color:var(--ink-3)}.pl-practice-card>.btn{margin:0 var(--space-1)}.pl-step-nav{display:flex;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-5)}.pl-audio-state{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-3);min-height:44px;margin-top:var(--space-5);font-size:var(--text-sm);color:var(--ink-3)}.pl-wave{display:none;align-items:center;gap:3px;height:22px}.playing .pl-wave{display:flex}.pl-wave i{display:block;width:3px;height:8px;border-radius:3px;background:var(--brand);animation:pl-wave .7s ease-in-out infinite alternate}.pl-wave i:nth-child(2n){animation-delay:-.3s}.pl-wave i:nth-child(3n){animation-delay:-.5s}.pl-wave i:nth-child(4n){animation-delay:-.1s}.pl-practice-card form{max-width:560px;margin:var(--space-6) auto;text-align:left}.pl-practice-card form label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:650;color:var(--ink)}.pl-practice-card textarea{display:block;width:100%;box-sizing:border-box;padding:var(--space-3) var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-xl);line-height:1.5;resize:vertical}.pl-practice-card textarea:disabled{background:var(--surface-2);color:var(--ink-3)}.pl-practice-card textarea:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus)}.pl-keyboard{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0 var(--space-5)}.pl-keyboard .btn{min-width:44px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-lg)}.pl-answer-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.pl-feedback{max-width:560px;margin:var(--space-5) auto;padding:var(--space-5);border:0;border-radius:var(--radius-md);background:var(--warning-tint);text-align:left}.pl-feedback.is-correct{background:var(--success-tint)}.pl-feedback strong{font-size:var(--text-lg)}.pl-feedback p{margin:var(--space-2) 0 0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.pl-feedback .pl-correction{font-size:var(--text-2xl);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.pl-feedback .btn{margin-top:var(--space-3)}.pl-changed{border-radius:3px;background:var(--sun-tint);box-shadow:0 2px 0 var(--sun)}.pl-deleted{padding:1px 2px;border-radius:3px;background:var(--danger-tint);text-decoration:line-through;text-decoration-color:var(--danger)}.pl-your-answer{color:var(--ink-2)}.pl-your-answer span{overflow-wrap:anywhere}.pl-hint{font-size:var(--text-lg);color:var(--brand-ink)}.pl-support-note{font-size:var(--text-sm);line-height:1.55;color:var(--ink-3)}.pl-finish-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto var(--space-4);border-radius:50%;background:var(--success-tint);color:var(--success)}.pl-result-score{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin:var(--space-5)}.pl-result-score>strong{font-family:var(--font-display);font-size:var(--text-5xl);line-height:1}.pl-result-score small{font-size:var(--text-2xl);color:var(--ink-3)}.pl-result-score>span{text-align:left;font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.pl-save{font-size:var(--text-sm);color:var(--ink-3)}.pl-finish-actions{justify-content:center}.pl-loading{padding:var(--space-12) 0}.pl-loading h2{font-size:var(--text-xl)}.pl-loading p{color:var(--ink-2)}.pron-ladder-link{display:flex;align-items:center;min-height:44px;margin:var(--space-4) 0;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--brand-tint);color:var(--brand-ink);font-size:var(--text-sm);font-weight:650;text-decoration:none}.pron-ladder-link:hover{background:var(--brand-tint-2)}@keyframes pl-enter{0%{opacity:.6;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pl-wave{0%{height:5px}to{height:21px}}@media(max-width:600px){.pl-grid{grid-template-columns:1fr}.pl-practice-card{min-height:360px;padding:var(--space-8) var(--space-4) var(--space-5)}.pl-steps li{flex-direction:column;align-items:flex-start;gap:var(--space-1);font-size:var(--text-xs)}.pl-chunk{min-width:64px;min-height:80px;padding:var(--space-3)}.pl-chunk>span{font-size:var(--text-xl)}.pl-flow{font-size:var(--text-xl)}.pl-step-nav .btn{flex:1 1 auto;padding:10px 14px}.pl-practice-card>.btn{margin:var(--space-1) 0;width:100%}.pl-finish-actions .btn{flex:1 1 100%}}@media(prefers-reduced-motion:reduce){.pl-page *{animation:none!important;transition:none!important}.pl-chunk.playing{transform:none}.pl-wave i{height:12px}}.bc-page{color:var(--ink)}.bc-page [hidden]{display:none!important}.bc-catalog-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-5);margin:0 0 var(--space-5)}.bc-catalog-bar p{margin:0;font-size:var(--text-sm);color:var(--ink-3)}.bc-scene .hub-copy h2{margin:0;font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em}.bc-scene .hub-copy>small.bc-scene-top{font-size:var(--text-xs);font-weight:600;color:var(--ink-3)}.bc-avatar{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-md);background:var(--sun-tint);color:var(--sun-ink);font-family:var(--font-display);font-size:var(--text-lg);font-weight:750}.bc-avatar.female{background:var(--brand-tint);color:var(--brand-ink)}.bc-scene>.bc-avatar{width:72px;height:72px;font-size:var(--text-2xl)}.bc-avatar.large{width:72px;height:72px;margin:0 auto var(--space-4);font-size:var(--text-2xl)}.bc-page-note{max-width:600px;margin:var(--space-8) auto 0;text-align:center;font-size:var(--text-sm);line-height:1.55;color:var(--ink-3)}.bc-settings{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0 0 var(--space-4)}.bc-settings .btn[aria-pressed=true]{background:var(--brand-tint);border-color:var(--brand);color:var(--brand-ink)}.bc-settings label{display:flex;align-items:center;gap:var(--space-2);margin-left:auto;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.bc-settings select{min-height:44px;padding:0 var(--space-3);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-sm)}.bc-room{padding:var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.bc-welcome{padding:var(--space-4) 0;text-align:center}.bc-welcome .bc-meet{margin:0 0 var(--space-1);font-size:var(--text-2xl)}.bc-welcome>p{margin:0 auto;max-width:52ch;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.bc-welcome h2{font-size:var(--text-xl)}.bc-goal{max-width:480px;margin:var(--space-6) auto;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-2);text-align:left}.bc-goal small{font-size:var(--text-xs);font-weight:650;color:var(--brand)}.bc-goal p{margin:var(--space-1) 0 0;font-size:var(--text-md);line-height:1.6;color:var(--ink)}.bc-welcome>.btn{min-height:48px;padding:12px 24px;font-size:var(--text-md)}.bc-welcome>p.bc-coach,.bc-coach{margin:var(--space-4) auto 0;font-size:var(--text-sm);line-height:1.55;color:var(--ink-3)}.bc-room-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.bc-room-with{margin:0;font-size:var(--text-lg);font-weight:700;color:var(--ink)}[data-bc-heading]:focus{outline:none}.bc-turn-count{font-size:var(--text-sm);color:var(--ink-3);white-space:nowrap}.bc-partner-row{display:flex;align-items:flex-end;gap:var(--space-3);margin:var(--space-5) 0 var(--space-2);animation:bc-enter .25s ease-out}.bc-partner-row>.bc-avatar{width:44px;height:44px;font-size:var(--text-md)}.bc-partner-bubble{flex:1;min-width:0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) 4px;background:var(--surface-2)}.bc-bubble-label{display:block;font-size:var(--text-xs);font-weight:650;color:var(--ink-3)}.bc-partner-text{margin:var(--space-2) 0 0;font-size:var(--text-xl);line-height:1.55;overflow-wrap:anywhere}.bc-en{display:block;margin:var(--space-1) 0 0;font-size:var(--text-sm);line-height:1.55;color:var(--ink-3)}.bc-inline-audio{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.bc-your-turn{max-width:85%;margin:0 0 var(--space-4) auto;padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg) var(--radius-lg) 4px var(--radius-lg);background:var(--brand-tint);animation:bc-enter .25s ease-out}.bc-your-turn>p[lang=de]{margin:var(--space-2) 0 0;font-size:var(--text-lg);line-height:1.55}.bc-your-turn .bc-bubble-label{color:var(--brand-ink)}.bc-status{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:44px;margin:var(--space-2) 0 var(--space-3) 56px;font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}.bc-wave{display:none;align-items:center;gap:3px;height:20px}.is-speaking .bc-wave{display:flex}.bc-wave i{width:3px;height:6px;border-radius:3px;background:var(--brand);animation:bc-wave .65s ease-in-out infinite alternate}.bc-wave i:nth-child(2n){animation-delay:-.3s}.bc-wave i:nth-child(3n){animation-delay:-.5s}.bc-waiting{display:flex;align-items:center;gap:6px;min-height:56px}.bc-waiting i{width:7px;height:7px;border-radius:50%;background:var(--ink-4);animation:bc-breathe 1s ease-in-out infinite alternate}.bc-waiting i:nth-child(2){animation-delay:-.3s}.bc-waiting i:nth-child(3){animation-delay:-.6s}.bc-read-alternative{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin:var(--space-3) 0 var(--space-5) 56px}.bc-read-alternative>span{font-size:var(--text-sm);color:var(--ink-3)}.bc-replies{margin:var(--space-6) 0 0 56px}.bc-replies h2{margin:var(--space-1) 0;font-size:var(--text-xl)}.bc-replies>div>p{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--ink-2)}.bc-choice{display:flex;align-items:stretch;margin-top:var(--space-3);overflow:hidden;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-md);transition:border-color .15s,background-color .15s}.bc-choice:hover{border-color:var(--brand)}.bc-choose{flex:1;display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-4);border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.bc-choose:hover{background:var(--brand-tint)}.bc-choose>span:nth-child(2){flex:1;min-width:0}.bc-choose strong{display:block;font-size:var(--text-md);font-weight:600;line-height:1.5}.bc-choose small{display:block;margin-top:2px;font-size:var(--text-sm);font-weight:400;line-height:1.5;color:var(--ink-3)}.bc-choice-index{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-sm);font-weight:700}.bc-choose-go{color:var(--ink-3)}.bc-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:72px;padding:var(--space-2) var(--space-3);border:0;border-left:1px solid var(--border);background:var(--surface-2);color:var(--brand-ink);font:600 var(--text-xs)/1.2 var(--font-text);cursor:pointer}.bc-preview:hover{background:var(--brand-tint)}.bc-why{margin:var(--space-5) 0 var(--space-5) 56px;padding:var(--space-3) var(--space-4);border-left:3px solid var(--brand);background:var(--surface-2);border-radius:0 var(--radius-md) var(--radius-md) 0}.bc-why small{font-size:var(--text-xs);font-weight:650;color:var(--brand)}.bc-why p{margin:var(--space-1) 0 0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.bc-history{margin-top:var(--space-6);padding-top:var(--space-2);border-top:1px solid var(--border)}.bc-history summary{display:list-item;padding:var(--space-3) 0;cursor:pointer;font-size:var(--text-md);font-weight:600;color:var(--ink)}.bc-history summary>span{margin-left:var(--space-2);font-size:var(--text-sm);font-weight:500;color:var(--ink-3)}.bc-history-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.bc-history-pair p{margin:0;font-size:var(--text-md);line-height:1.6}.bc-history-pair small{display:block;font-size:var(--text-xs);font-weight:650;color:var(--ink-3)}.bc-history-pair .btn{display:flex;margin-top:var(--space-2)}.bc-ending{margin:var(--space-6) 0 0 56px;padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);text-align:center}.bc-ending .eyebrow{display:block}.bc-ending h2{margin:var(--space-2) 0;font-size:var(--text-2xl)}.bc-ending>p{margin:var(--space-2) auto;max-width:52ch;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.bc-ending .tool-actions{justify-content:center}.bc-ending-mark{display:grid;place-items:center;width:56px;height:56px;margin:0 auto var(--space-3);border-radius:50%;background:var(--success-tint);color:var(--success)}.bc-endings-count{font-weight:700;color:var(--ink)!important}.bc-read-note{display:block;margin-top:var(--space-4);font-size:var(--text-sm);color:var(--ink-3)}.bc-save{font-size:var(--text-sm)!important}.bc-page .speaking{border-radius:4px;background:var(--sun-tint);box-shadow:0 0 0 3px var(--sun-tint);color:var(--ink)}.bc-choose:focus-visible,.bc-preview:focus-visible{outline:none;box-shadow:inset 0 0 0 3px var(--brand)}@keyframes bc-enter{0%{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes bc-wave{0%{height:5px}to{height:18px}}@keyframes bc-breathe{0%{opacity:.35}to{opacity:1}}@media(max-width:600px){.bc-scene>.bc-avatar{width:56px;height:56px;font-size:var(--text-xl)}.bc-room{padding:var(--space-5) var(--space-4)}.bc-room-heading{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.bc-partner-row{align-items:flex-start;gap:var(--space-2)}.bc-partner-row>.bc-avatar{width:36px;height:36px;font-size:var(--text-sm)}.bc-partner-bubble{padding:var(--space-4)}.bc-partner-text{font-size:var(--text-lg)}.bc-status,.bc-replies,.bc-why,.bc-read-alternative,.bc-ending{margin-left:0}.bc-choice-index{display:none}.bc-preview{min-width:60px}.bc-your-turn{max-width:92%}.bc-settings label{margin-left:0}.bc-history-pair{grid-template-columns:1fr;gap:var(--space-2)}.bc-ending{padding:var(--space-5) var(--space-4)}.bc-ending .tool-actions .btn{flex:1 1 100%}}@media(prefers-reduced-motion:reduce){.bc-page *{animation:none!important;transition:none!important}.bc-wave i{height:12px}}.lr-page{color:var(--ink)}.lr-page h1{scroll-margin-top:calc(var(--bar) + var(--space-6))}.lr-metrics{margin:0 0 var(--space-6)}.lr-dashboard{display:grid;gap:var(--space-4)}.lr-start,.lr-plan,.lr-room,.lr-finish{padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.lr-start h2{margin:var(--space-2) 0 var(--space-1);font-size:var(--text-xl)}.lr-start p,.lr-plan p{margin:0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.lr-start .ll-filters{justify-content:flex-start;gap:var(--space-2);margin:var(--space-5) 0}.lr-start>small{display:block;margin-top:var(--space-3);font-size:var(--text-sm);color:var(--ink-3)}.lr-plan h2{margin:0 0 var(--space-3);font-size:var(--text-lg)}.lr-plan ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin:0 0 var(--space-4);padding:0}.lr-plan li{display:grid;gap:2px;padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-2)}.lr-plan li b{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink)}.lr-plan li span{font-size:var(--text-sm);color:var(--ink-3)}.lr-plan p{font-size:var(--text-sm)}.lr-plan .text-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--brand-ink)}.lr-schedule{margin-top:var(--space-10)}.lr-schedule h2{margin:0 0 var(--space-4);font-size:var(--text-xl)}.lr-schedule>div{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-bottom-width:0}.lr-schedule>h2+div{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.lr-schedule>div:last-child{border-bottom-width:1px;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.lr-schedule>h2+div:last-child{border-radius:var(--radius-lg)}.lr-schedule strong,.lr-schedule small{display:block}.lr-schedule strong{font-size:var(--text-md);font-weight:600}.lr-schedule small{margin-bottom:2px;font-size:var(--text-xs);font-weight:600;color:var(--ink-3)}.lr-schedule>div>span:last-child{flex:none;text-align:right;font-weight:650}.lr-session-top{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);margin:0 0 var(--space-3)}.lr-session-top>.tool-back{flex:1 0 auto;margin:0}.lr-session-top>span{font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.lr-progress{-webkit-appearance:none;appearance:none;display:block;width:100%;height:6px;margin:0 0 var(--space-5);border:0;border-radius:var(--radius-pill);overflow:hidden;background:var(--border)}.lr-progress::-webkit-progress-bar{background:var(--border)}.lr-progress::-webkit-progress-value{background:var(--brand);border-radius:var(--radius-pill)}.lr-progress::-moz-progress-bar{background:var(--brand)}.lr-room{padding:var(--space-8)}.lr-room h1{margin:var(--space-2) 0;font-size:var(--text-3xl)}.lr-room>p{margin:0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.lr-listen{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin:var(--space-6) 0 var(--space-2);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-2)}.lr-listen label{display:flex;align-items:center;gap:var(--space-2);margin-left:auto;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.lr-listen select{min-height:44px;padding:0 var(--space-3);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-sm)}.lr-listen .lc-bars{height:32px}.lr-listen .lc-bars i{animation-play-state:paused}.lr-listen.is-playing .lc-bars i{animation-play-state:running}.lr-hint{min-height:22px;margin:0;font-size:var(--text-sm);color:var(--ink-3)}.lr-transcript{margin:var(--space-6) 0;padding:var(--space-1) 0 var(--space-1) var(--space-5);border-left:3px solid var(--brand)}.lr-transcript p[lang=de]{margin:var(--space-2) 0;font-size:var(--text-2xl);line-height:1.6;color:var(--ink)}.lr-transcript p[lang=en]{margin:0 0 var(--space-4);font-size:var(--text-md);color:var(--ink-2)}.lr-transcript .ll-current{border-radius:4px;background:var(--sun-tint);box-shadow:0 2px 0 var(--sun)}.lr-feedback{display:grid;gap:var(--space-3);justify-items:start;padding:var(--space-5);border-radius:var(--radius-md);background:var(--surface-2)}.lr-feedback strong{font-size:var(--text-lg)}.lr-feedback p{margin:0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.lr-finish{text-align:center;padding:var(--space-10) var(--space-8)}.lr-finish h1{margin:var(--space-2) 0}.lr-finish p{margin:var(--space-2) auto;max-width:52ch;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.lr-finish .tool-actions{justify-content:center}.lr-finish-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto var(--space-4);border-radius:50%;background:var(--success-tint);color:var(--success)}.lr-room,.lr-transcript,.lr-feedback{animation:lr-arrive .25s ease-out}@keyframes lr-arrive{0%{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}@media(max-width:600px){.lr-plan ol{grid-template-columns:1fr}.lr-start,.lr-plan{padding:var(--space-5)}.lr-room{padding:var(--space-5) var(--space-4)}.lr-room h1{font-size:var(--text-2xl)}.lr-listen{padding:var(--space-4)}.lr-listen label{margin-left:0}.lr-transcript{padding-left:var(--space-4)}.lr-transcript p[lang=de]{font-size:var(--text-xl)}.lr-schedule>div{padding:var(--space-4)}.lr-finish{padding:var(--space-8) var(--space-5)}}@media(prefers-reduced-motion:reduce){.lr-room,.lr-transcript,.lr-feedback{animation:none}.lr-listen .lc-bars i{animation:none!important}}.lr-room>.lr-keys{margin:var(--space-5) auto 0;font-size:var(--text-xs);line-height:1.4;color:var(--ink-3)}.em-intro{margin:0}.em-path{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin:0 0 var(--space-6);padding:0}.em-path li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.em-path b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand-tint);color:var(--brand-ink);font-size:var(--text-xs)}.em-intro>.btn{min-height:48px;padding:12px 24px;font-size:var(--text-md)}.em-note{margin:var(--space-3) 0 0;font-size:var(--text-sm);line-height:1.55;color:var(--ink-3)}.em-top{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-3)}.em-top>.tool-back{margin:0;flex:1 0 auto}.em-count{font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.em-progress{height:6px;border-radius:var(--radius-pill);background:var(--border);margin:0 0 var(--space-6);overflow:hidden}.em-progress i{display:block;height:100%;border-radius:inherit;background:var(--brand);transition:width .3s}.em-workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:var(--space-6);align-items:start}.em-situation{padding:var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0}.em-situation h2{margin:var(--space-2) 0 var(--space-2);font-size:var(--text-xl);font-weight:700;line-height:1.4;letter-spacing:-.015em;color:var(--ink)}.em-translation{margin:0 0 var(--space-5);font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.em-situation h3{margin:var(--space-6) 0 var(--space-3);font-size:var(--text-lg);font-weight:700;color:var(--ink)}.em-options{display:grid;gap:var(--space-3)}.em-options>button{display:flex;align-items:flex-start;gap:var(--space-3);min-height:60px;padding:var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s}.em-options>button:hover:not(:disabled){border-color:var(--brand);background:var(--brand-tint)}.em-options>button>span{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-sm);font-weight:700}.em-options strong{font-size:var(--text-md);font-weight:500;line-height:1.6}.em-options button.selected{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:var(--brand-tint)}.em-options button.selected>span{background:var(--brand);color:#fff}.em-options button:disabled{cursor:default;opacity:1}.em-options button:disabled:not(.selected){color:var(--ink-3)}.em-say{margin-top:var(--space-6);padding:var(--space-5);border-radius:var(--radius-md);background:var(--surface-2)}.em-say>p{margin:var(--space-2) 0 var(--space-3);font-family:var(--font-display);font-size:var(--text-xl);font-weight:650;line-height:1.45;color:var(--ink)}.em-say>small{display:block;margin-top:var(--space-2);font-size:var(--text-sm);line-height:1.55;color:var(--ink-2)}.em-say>div{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.em-explanation{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border);font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.em-explanation h3{margin:var(--space-2) 0;font-size:var(--text-xl)}.em-explanation>p{margin:var(--space-2) 0}.em-verdict{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:650}.em-verdict.is-right{background:var(--success-tint);color:var(--brand-ink)}.em-verdict.is-different{background:var(--warning-tint);color:var(--sun-ink)}.em-explanation details{border-top:1px solid var(--border);padding:0}.em-explanation details:last-of-type{border-bottom:1px solid var(--border)}.em-explanation summary{display:list-item;padding:var(--space-3) 0;cursor:pointer;color:var(--ink);font-weight:600}.em-explanation details>p{margin:0 0 var(--space-3)}.em-followup{margin:var(--space-6) 0;padding:var(--space-5);border-radius:var(--radius-md);background:var(--surface-2)}.em-followup b{font-size:var(--text-sm);color:var(--ink-2)}.em-followup p{margin:var(--space-2) 0 var(--space-1);font-size:var(--text-lg);color:var(--ink)}.em-followup small{display:block;margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--ink-3)}.em-partner{min-width:0;position:sticky;top:calc(var(--bar) + var(--space-4))}.em-partner-intro{padding:var(--space-6);text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.em-partner-intro .speaking-avatar{width:96px;height:96px;margin:0 auto var(--space-4)}.em-partner-intro h2{margin:var(--space-2) 0;font-size:var(--text-xl);font-weight:700;line-height:1.35}.em-partner-intro p{margin:0 0 var(--space-5);font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.em-partner-intro>small{display:block;margin-top:var(--space-4);font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}.em-tutor.speaking-dock{position:static!important;inset:auto!important;z-index:auto;width:100%;height:auto;padding:var(--space-5);box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.em-tutor .tutor-live{min-height:0}.em-tutor .speaking-captions{max-height:210px}.em-tutor .tutor-field select{max-width:100%}body:has([data-em-tutor-mount]) .speaking-dock:not(.em-tutor){display:none}.em-summary .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-sm);font-weight:600;color:var(--brand-ink)}.em-options button:focus-visible{outline:none;box-shadow:var(--focus)}.em-saved-play{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;margin:0 var(--space-2) var(--space-3) 0;padding:0 var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-pill);background:var(--surface);color:var(--brand-ink);font:600 var(--text-sm)/1 var(--font-text);cursor:pointer}.em-saved-play:hover:not(:disabled){border-color:var(--brand);background:var(--brand-tint)}.em-saved-play.is-playing{background:var(--brand);border-color:var(--brand);color:#fff}.em-saved-play:disabled{opacity:.5;cursor:default}.em-saved-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);color:var(--ink-3);font-size:var(--text-sm)}.em-saved-controls button{min-height:44px;padding:0 var(--space-3);border:0;border-radius:var(--radius-pill);background:none;color:var(--brand-ink);font:600 var(--text-sm)/1 var(--font-text);cursor:pointer}.em-saved-controls button:hover{background:var(--brand-tint)}@media(max-width:1000px){.em-workspace{grid-template-columns:1fr}.em-partner{position:static}}@media(max-width:700px){.em-top>.tool-back{flex:1 1 auto}.em-count{order:3;width:100%}.em-situation{padding:var(--space-5)}.em-situation h2{font-size:var(--text-xl)}.em-say{padding:var(--space-4)}.em-say>div .btn,.em-intro>.btn{flex:1 1 100%;width:100%}.em-partner-intro{padding:var(--space-5)}}@media(prefers-reduced-motion:reduce){.em-progress i,.em-options>button{transition:none}}.pron-word{border-bottom:1px dotted var(--brand);border-radius:2px;text-decoration:none;cursor:help}.pron-word:hover,.pron-word:focus-visible{background:var(--brand-tint);outline:none;box-shadow:0 0 0 2px var(--brand-tint-2)}.pron-launch{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px;border:1px solid var(--border-2);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-2);font:600 var(--text-sm)/1 var(--font-text);white-space:nowrap;cursor:pointer}.pron-launch:hover{border-color:var(--brand);color:var(--brand-ink)}.pron-panel{position:fixed;z-index:1800;box-sizing:border-box;overflow:auto;padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);color:var(--ink);font-family:var(--font-text);animation:pron-appear .18s ease}.pron-panel[hidden]{display:none}.pron-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.pron-top>span{font-size:var(--text-xs);font-weight:650;letter-spacing:.08em;color:var(--brand)}.pron-top>button{flex:none;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--surface-2);color:var(--ink-2);font-size:24px;line-height:1;cursor:pointer}.pron-top>button:hover{background:var(--border);color:var(--ink)}.pron-panel h2{margin:var(--space-3) 0 var(--space-1);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:750;line-height:1.25;overflow-wrap:anywhere}.pron-meaning{margin:0 0 var(--space-4);font-size:var(--text-md);color:var(--ink-2)}.pron-chunks{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-4) 0}.pron-chunks>button{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);min-width:56px;min-height:64px;padding:var(--space-3) var(--space-3);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;transition:background-color .15s,border-color .15s}.pron-chunks>button span{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600}.pron-chunks>button small{font-size:var(--text-xs);font-weight:650;letter-spacing:.04em;color:var(--ink-3)}.pron-chunks>button.stressed{background:var(--brand-tint);border-color:var(--brand-tint-2)}.pron-chunks>button.stressed span{font-weight:800;color:var(--brand-ink)}.pron-chunks>button.stressed small{color:var(--brand-ink)}.pron-chunks>button:hover:not(:disabled){border-color:var(--brand)}.pron-chunks>button.is-playing{background:var(--brand);border-color:var(--brand);color:#fff}.pron-chunks>button.is-playing span,.pron-chunks>button.is-playing small{color:#fff}.pron-chunks>button:disabled{cursor:default;opacity:.6}.pron-tip{margin:var(--space-4) 0;padding-left:var(--space-3);border-left:3px solid var(--brand-tint-2);font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.pron-controls{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pron-controls>button,.pron-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-pill);background:var(--surface);color:var(--brand-ink);font:600 var(--text-sm)/1 var(--font-text);cursor:pointer}.pron-controls>button:hover:not(:disabled),.pron-back:hover{border-color:var(--brand);background:var(--brand-tint)}.pron-controls>button[aria-pressed=true]{border-color:var(--brand);background:var(--brand-tint)}.pron-controls>button:disabled{opacity:.5;cursor:default}.pron-guide,.pron-description{margin:var(--space-3) 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.pron-status{min-height:20px;margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--brand-ink)}.pron-disclosure{display:block;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border);font-size:var(--text-xs);line-height:1.55;color:var(--ink-3)}.pron-panel label{display:block;margin-top:var(--space-4);font-size:var(--text-sm);font-weight:600;color:var(--ink)}.pron-panel input{display:block;width:100%;box-sizing:border-box;min-height:44px;margin:var(--space-2) 0 var(--space-3);padding:0 var(--space-3);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-md)}.pron-panel input:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus)}.pron-list{display:grid;gap:var(--space-1);max-height:280px;overflow:auto}.pron-list>button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.pron-list>button:hover{background:var(--surface-2);border-color:var(--border)}.pron-list span{font-size:var(--text-md);font-weight:650}.pron-list small{font-size:var(--text-sm);color:var(--ink-3)}.pron-back{margin-top:var(--space-3);border-color:transparent;padding:0 var(--space-2)}.pron-panel button:focus-visible{outline:none;box-shadow:var(--focus)}@keyframes pron-appear{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(max-width:700px){.pron-launch span{display:none}.pron-launch{width:40px;padding:0;justify-content:center}.pron-panel{padding:var(--space-5)}.pron-list{max-height:230px}}@media(prefers-reduced-motion:reduce){.pron-panel{animation:none}.pron-chunks>button{transition:none}}@media(max-width:700px){html{scroll-padding-top:76px;scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.loading,.load-error{padding:var(--space-8) var(--space-4)}}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) main{max-width:calc(var(--content-narrow) + 2 * var(--space-6))}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .page-heading{display:block;margin:0 0 var(--space-8)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .page-heading>div{min-width:0}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .page-heading .eyebrow{display:block}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .page-heading h1{margin:var(--space-2) 0 var(--space-2);font-size:clamp(30px,3.4vw,var(--text-4xl));line-height:1.15;letter-spacing:-.025em;overflow-wrap:anywhere}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .page-heading p{margin:0;max-width:60ch;font-size:var(--text-lg);line-height:1.6;color:var(--ink-2)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .a1-back{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin:calc(var(--space-2) * -1) 0 var(--space-4)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .a1-back .text-link{min-height:44px;margin-left:-2px}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .a1-back .path-back{margin:0}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .text-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:600;color:var(--brand-ink);background:none;border:0;padding:0;text-decoration:none}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .text-link:hover{color:var(--brand);text-decoration:underline;text-underline-offset:3px}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .badge{display:inline-flex;align-items:center;min-height:26px;padding:3px 10px;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-xs);font-weight:600;letter-spacing:0;white-space:nowrap}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .tag{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .section-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--space-2) var(--space-4);margin:var(--space-10) 0 var(--space-4)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .section-heading>div{flex:1 1 280px;min-width:0}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .section-heading h2{margin:0;font-size:var(--text-xl);font-weight:700;line-height:1.3}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .section-heading h3{margin:0;font-size:var(--text-lg)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .section-heading p{margin:var(--space-1) 0 0;max-width:60ch;font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .panel,#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .backup-panel,#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .resume-banner,#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .result-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .panel{padding:var(--space-6)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .panel p{font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .resume-banner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;text-align:left;gap:var(--space-4);padding:var(--space-4) var(--space-5);margin:0 0 var(--space-3)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .resume-banner>div{display:grid;gap:2px;min-width:0;font-size:var(--text-md)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .resume-banner strong{font-weight:650;color:var(--ink)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .resume-banner span{font-size:var(--text-sm);color:var(--ink-3)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .backup-panel{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-6);margin-top:var(--space-10)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .backup-panel>div{flex:1 1 280px;min-width:0}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .backup-panel h3{margin:0;font-size:var(--text-lg)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .backup-panel p{margin:var(--space-1) 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .progress-track{display:block;height:6px;border-radius:var(--radius-pill);background:var(--surface-2);overflow:hidden}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .progress-track>i{display:block;height:100%;border-radius:inherit;background:var(--brand)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .feedback{margin:var(--space-5) 0 0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);border:1px solid transparent;font-size:var(--text-md)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .feedback.positive{background:var(--success-tint);border-color:#bfe3cf}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .feedback.negative{background:var(--danger-tint);border-color:#f2cdc8}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .feedback strong{display:flex;gap:8px;align-items:center;font-weight:650;color:var(--success-ink)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .feedback.negative strong{color:var(--danger-ink)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .feedback p{margin:var(--space-2) 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .feedback:focus{outline:none}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .language-pill{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid var(--border-2);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-2);font-size:var(--text-sm);font-weight:600;white-space:nowrap;cursor:pointer}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .language-pill:hover{border-color:var(--brand);color:var(--brand-ink)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .language-pill[aria-pressed=true]{background:var(--brand-tint);border-color:var(--brand-tint-2);color:var(--brand-ink)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) main .icon-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border:1px solid var(--border-2);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-2);cursor:pointer}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) main .icon-btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand-ink)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) main .icon-btn:disabled{opacity:.4;cursor:default}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) main .icon-btn[aria-pressed=true],#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) main .icon-btn.marked{background:var(--brand-tint);border-color:var(--brand-tint-2);color:var(--brand)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) main select,#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) main input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) main textarea{border-color:var(--border-2);border-radius:var(--radius-md);background-color:var(--surface);color:var(--ink)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) main select:focus-visible,#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) main input:focus-visible,#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) main textarea:focus-visible{outline:none;border-color:var(--brand);box-shadow:var(--focus)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) main input::placeholder,#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) main textarea::placeholder{color:var(--ink-3)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) main .btn{white-space:normal;text-align:center}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) main .ta-choices .btn{text-align:left}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) main .btn:not(:disabled):hover{transform:none}@media(max-width:700px){#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .page-heading p{font-size:var(--text-md)}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .backup-panel .btn,#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .resume-banner .btn{width:100%}#app[data-shell=bar]:is([data-page=a1-words],[data-page=a1-quiz],[data-page=a1-results],[data-page=a1-builder],[data-page^=a1-stor],[data-page^=a1-writing],[data-page=a1-speaking],[data-page=a1-journey],[data-page=a1-passport],[data-page=a1-progress],[data-page=a1-listen],[data-page=a1-lesson],[data-page=a1-exam-class],[data-page^=a2-exam-class],[data-page=a1-readiness],[data-page=a2-readiness],[data-page=a1-exams],[data-page=a2-words],[data-page=a2-builder],[data-page^=a2-writing],[data-page=a2-progress],[data-page=a2-speaking]) .resume-banner{flex-direction:column;align-items:stretch}}#app .a1-kicker{display:block;font-size:var(--text-sm);font-weight:600;letter-spacing:0;text-transform:none;color:var(--brand-ink)}button.path-back{padding-inline:0;border:0;background:none;font-family:var(--font-text);cursor:pointer}button.path-back:focus-visible{border-radius:var(--radius-sm)}button.path-back:disabled{opacity:.5;cursor:not-allowed}button.path-back:disabled:hover span{text-decoration:none}#app .a1-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:0 0 var(--space-8)}#app .a1-metrics>div{display:grid;gap:4px;align-content:start;min-width:0;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}#app .a1-metrics strong{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:750;line-height:1.2;letter-spacing:-.02em;color:var(--ink)}#app .a1-metrics strong span{font-size:var(--text-sm);font-weight:600;color:var(--ink-3);letter-spacing:0}#app .a1-metrics p{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}.a1-practice-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:var(--space-6) 0 var(--space-8)}.a1-practice-modes>section{display:flex;flex-direction:column;padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.a1-mode-icon{display:flex;width:48px;height:48px;align-items:center;justify-content:center;margin-bottom:var(--space-4);border-radius:var(--radius-md);background:var(--brand-tint);color:var(--brand)}.a1-practice-modes h2{margin:0;font-size:var(--text-xl);line-height:1.3}.a1-practice-modes p{margin:var(--space-2) 0 var(--space-5);font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.a1-practice-modes .btn{margin-top:auto;align-self:flex-start}.a1-note,.a1-audio-pending{display:flex;gap:var(--space-3);align-items:flex-start;margin:var(--space-8) 0 0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink-3)}.a1-note p,.a1-audio-pending p{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.a1-note svg,.a1-audio-pending svg{flex:none;margin-top:2px;color:var(--brand)}.a1-audio-pending{background:var(--warning-tint)}.a1-audio-pending svg{color:var(--warning)}#app .a1-topic-grid{display:grid;gap:var(--space-3)}#app .a1-topic-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto auto;column-gap:var(--space-5);row-gap:2px;align-items:center;padding:var(--space-4) var(--space-5) var(--space-4) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}#app .a1-topic-card:hover{border-color:var(--border-2);box-shadow:var(--shadow-md)}#app .a1-topic-card:focus-visible{border-radius:var(--radius-lg)}#app .a1-topic-top,#app .a1-topic-foot{display:contents}#app .a1-topic-card .hub-art{grid-column:1;grid-row:1/4;width:56px;height:56px}#app .a1-topic-card .badge{grid-column:3;grid-row:1;align-self:center;justify-self:end}#app .a1-topic-card h3{grid-column:2;grid-row:1;margin:0;font-size:var(--text-lg);font-weight:700;line-height:1.3;letter-spacing:-.01em}#app .a1-topic-card p{grid-column:2;grid-row:2;margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}#app .a1-topic-foot>span{grid-column:2;grid-row:3;margin-top:2px;font-size:var(--text-sm);color:var(--ink-3)}#app .a1-topic-foot>svg{grid-column:3;grid-row:2/4;align-self:center;justify-self:end;width:20px;height:20px;color:var(--ink-3)}#app .a1-topic-card:not(:has(.badge)) .a1-topic-foot>svg{grid-row:1/4}#app .a1-topic-card:hover .a1-topic-foot>svg{color:var(--brand)}.a1-player-card{padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.a1-player-top{display:flex;gap:var(--space-3);align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:var(--space-5)}.a1-player-top>span{display:flex;gap:8px;align-items:center;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.a1-player-top>span svg{color:var(--brand)}.a1-audio-controls{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.a1-audio-controls .btn:first-child{min-width:170px}.a1-audio-controls .btn:nth-child(2){width:44px;padding:0}.a1-speed{display:flex;gap:8px;align-items:center;margin-left:auto;font-size:var(--text-sm);font-weight:600;color:var(--ink-3)}.a1-speed select{min-height:44px;padding:0 32px 0 12px;border:1px solid var(--border-2);border-radius:var(--radius-md);background-color:var(--surface);color:var(--ink);font-size:var(--text-sm)}.a1-seek-row{display:flex;gap:var(--space-3);align-items:center;margin:var(--space-4) 0 var(--space-5);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--ink-3)}.a1-seek-row input{flex:1;min-width:0;min-height:44px;accent-color:var(--brand)}.a1-transcript{border-top:1px solid var(--border);padding-top:var(--space-3)}.a1-transcript-line{display:flex;gap:var(--space-3);align-items:flex-start;margin:2px calc(-1 * var(--space-3));padding:var(--space-4) var(--space-3);border-radius:var(--radius-md);transition:background .15s;scroll-margin-top:96px}.a1-line-content{flex:1;min-width:0}.a1-line-content>p{margin:0;font-size:var(--text-xl);line-height:1.6;font-weight:500;color:var(--ink);overflow-wrap:anywhere}.a1-line-content>.translation{display:block;margin-top:var(--space-1);font-size:var(--text-md);line-height:1.6;color:var(--ink-3)}.a1-transcript-line .icon-btn{margin-top:2px}.a1-transcript-line.speaking-line{background:var(--brand-tint)}.a1-token{border-radius:4px;padding:1px 0;transition:background .08s,color .08s}.a1-token.speaking{background:var(--sun-tint);color:var(--ink);box-shadow:0 0 0 3px var(--sun-tint)}.a1-audio-credit{margin:var(--space-4) 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3);overflow-wrap:anywhere}.a1-speaker,.story-speaker{display:inline-flex;align-items:center;min-height:24px;margin-bottom:var(--space-2);padding:2px 10px;border-radius:var(--radius-pill);background:var(--brand-tint);color:var(--brand-ink);font-size:var(--text-xs);font-weight:650;letter-spacing:.02em;line-height:1.5;text-transform:none}.a1-speaker[data-voice=cedar],.story-speaker[data-voice=cedar]{background:var(--info-tint);color:var(--info)}.a1-transcript-line.speaking-line .a1-speaker,.a1-transcript-line.speaking-line .story-speaker{box-shadow:0 0 0 2px var(--brand-tint-2)}.a1-word-section{margin-top:var(--space-10)}.a1-comprehension{margin:var(--space-10) 0 0}#app[data-shell=bar] .a1-comprehension>.section-heading{margin-top:0}.a1-comprehension-question{margin:0 0 var(--space-3);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.a1-comprehension-question h3{margin:0;font-size:var(--text-xl);line-height:1.4;overflow-wrap:anywhere}.a1-comprehension-question>.translation{display:block;margin-top:var(--space-1);font-size:var(--text-sm);color:var(--ink-3)}.a1-choice-list,.a1-quiz-choices{display:grid;gap:var(--space-2);margin-top:var(--space-5)}.a1-choice{display:flex;gap:var(--space-3);align-items:center;min-height:52px;padding:var(--space-3) var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);text-align:left;opacity:1!important;cursor:pointer;transition:border-color .15s,background .15s}.a1-choice:not(:disabled):hover{border-color:var(--brand);background:var(--brand-tint)}.a1-choice>span{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-xs);font-weight:700;color:var(--ink-2)}.a1-choice strong{font-size:var(--text-md);line-height:1.5;font-weight:550;overflow-wrap:anywhere}.a1-choice:disabled{cursor:default}.a1-choice:disabled:not(.correct):not(.incorrect){color:var(--ink-3)}.a1-choice.correct{background:var(--success-tint);border-color:var(--success);color:var(--ink)}.a1-choice.correct>span{background:var(--success);border-color:var(--success);color:#fff}.a1-choice.incorrect{background:var(--danger-tint);border-color:var(--danger);color:var(--ink)}.a1-choice.incorrect>span{background:var(--danger);border-color:var(--danger);color:#fff}.a1-explanation{margin:var(--space-4) 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.a1-lesson-finish{display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap;margin-top:var(--space-3);padding:var(--space-5) var(--space-6);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--success);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.a1-lesson-finish>svg{color:var(--success-ink)}.a1-lesson-finish>div{flex:1;min-width:220px}.a1-lesson-finish h3{margin:0;font-size:var(--text-lg)}.a1-lesson-finish p{margin:var(--space-1) 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.a1-quiz-card{padding:var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.a1-listen-orb{display:grid;place-items:center;width:80px;height:80px;margin:0 auto var(--space-4);border-radius:50%;background:var(--brand-tint);color:var(--brand)}.a1-listen-orb svg{width:36px;height:36px}.a1-quiz-prompt{margin:0 0 var(--space-5);text-align:center;font-size:var(--text-lg);font-weight:600;color:var(--ink)}.a1-quiz-card .a1-audio-controls{justify-content:center}.a1-quiz-card .a1-speed{margin-left:0}.a1-listen-instruction{margin:var(--space-4) 0 0;text-align:center;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.a1-quiz-choices .a1-choice{min-height:56px}.a1-quiz-choices .a1-choice strong{font-size:var(--text-lg)}.a1-quiz-card form{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-6) 0 0}.a1-quiz-card form>label{width:100%;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.a1-quiz-card form>input{flex:1;min-width:0;min-height:52px;padding:0 var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-lg);color:var(--ink)}.a1-quiz-card form>.btn{min-height:52px}.a1-quiz-actions{display:flex;gap:var(--space-3);justify-content:space-between;margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border)}.result-summary{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-6)}.result-score{flex:none;font-family:var(--font-display);font-size:var(--text-5xl);font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--brand);white-space:nowrap}.result-score span{font-size:var(--text-2xl);font-weight:700;letter-spacing:0;color:var(--ink-3)}.result-summary h2{margin:0;font-size:var(--text-xl)}.result-summary p{margin:var(--space-1) 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.a1-results-list{display:grid;gap:var(--space-2);margin:var(--space-6) 0 var(--space-8)}.a1-results-list>div{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--success-ink)}.a1-results-list>div>svg{flex:none}.a1-results-list>div.is-revisit{color:var(--warning)}#app .a1-results-list>div.is-right .badge{background:var(--success-tint);color:var(--success-ink)}#app .a1-results-list>div.is-revisit .badge{background:var(--warning-tint);color:var(--sun-ink)}.a1-results-list>div>div{flex:1;min-width:0;display:grid}.a1-results-list strong{font-size:var(--text-md);font-weight:650;color:var(--ink);overflow-wrap:anywhere}.a1-results-list>div>div>span{font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}.a1-skill-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:var(--space-3) 0 0}#app[data-shell=bar] .a1-skill-progress .panel{display:grid;gap:var(--space-2);align-content:start;padding:var(--space-5)}.a1-skill-progress h2{margin:0;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:750;letter-spacing:-.02em}.a1-skill-progress h2 span{font-size:var(--text-sm);font-weight:600;color:var(--ink-3);letter-spacing:0}#app[data-shell=bar] .a1-skill-progress .panel p{margin:var(--space-1) 0 0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}.a1-skill-note{margin:var(--space-3) 0 0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}#app[data-page=a1-progress] .a1-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:var(--space-3)}#app[data-page=a1-results] main>.btn.primary{min-width:220px}@media(max-width:900px){.a1-skill-progress,.a1-practice-modes{grid-template-columns:1fr}#app[data-page=a1-progress] .a1-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){#app .a1-metrics{gap:var(--space-2)}#app .a1-metrics>div{padding:var(--space-4) var(--space-3)}#app .a1-metrics strong{font-size:var(--text-xl)}#app .a1-metrics strong span{font-size:var(--text-xs);white-space:nowrap}#app .a1-metrics p{font-size:var(--text-xs)}#app .a1-topic-card{grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto auto auto;padding:var(--space-4);column-gap:var(--space-4)}#app .a1-topic-card .hub-art{width:48px;height:48px;grid-row:1/5;align-self:start}#app .a1-topic-card .badge{grid-column:2;grid-row:4;justify-self:start;margin-top:var(--space-2)}#app .a1-topic-foot>svg{display:none}.a1-player-card{padding:var(--space-5) var(--space-4)}.a1-audio-controls .btn:first-child{flex:1}.a1-speed{margin-left:0}.a1-transcript-line{margin:2px calc(-1 * var(--space-2));padding:var(--space-3) var(--space-2)}.a1-comprehension-question{padding:var(--space-5) var(--space-4)}.a1-choice{align-items:flex-start}.a1-lesson-finish{padding:var(--space-5)}.a1-lesson-finish .btn{width:100%}.a1-quiz-card{padding:var(--space-6) var(--space-4)}.a1-quiz-card form{flex-direction:column}.a1-quiz-card form>.btn{width:100%}.a1-quiz-actions .btn:first-child{flex:0 0 auto}.a1-quiz-actions .btn:last-child{flex:1}.result-summary{flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-5)}.a1-results-list>div{padding:var(--space-3) var(--space-4)}#app[data-page=a1-results] main>.btn.primary{width:100%}}@media(prefers-reduced-motion:reduce){.a1-topic-card,.a1-choice,.a1-transcript-line,.a1-token{transition:none}}#app .exam-practice-intro{display:block;padding:0;margin:0 0 var(--space-6);background:none;border:0;box-shadow:none;border-radius:0;overflow:visible}#app .exam-practice-intro>div{padding:0}#app .exam-skill-pills{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}#app .exam-skill-pills span{font-size:var(--text-xs);padding:4px 12px;border:1px solid var(--border-2);background:var(--surface);color:var(--ink-2)}#app .exam-class-invite{margin:0 0 var(--space-3)}#app .exam-class-invite .hub-art{width:56px;height:56px}#app .exam-practice-note{display:flex;gap:var(--space-3);align-items:flex-start;margin:var(--space-4) 0 0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink-3)}#app .exam-practice-note svg{flex:none;margin-top:2px;color:var(--info)}#app .exam-practice-note p{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}#app .exam-resource-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}#app .exam-resource{display:flex;flex-direction:column;align-items:flex-start;padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}#app .exam-resource-top{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:var(--space-3)}#app .exam-resource-number{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--brand-tint);font-family:var(--font-display);font-size:var(--text-md);font-weight:750;color:var(--brand)}#app .exam-resource-tag{font-size:var(--text-sm);font-weight:600;color:var(--brand-ink)}#app .exam-resource h2{margin:var(--space-1) 0 var(--space-2);font-size:var(--text-xl);line-height:1.3}#app .exam-resource p{margin:0 0 var(--space-3);font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}#app .exam-resource>small{padding:4px 12px;border-radius:var(--radius-pill);background:var(--surface-2);font-size:var(--text-xs);font-weight:600;color:var(--ink-2)}#app .exam-resource-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:auto;padding-top:var(--space-5)}#app .exam-resource-actions .btn{font-size:var(--text-sm);padding:10px 18px}#app .exam-return-note{display:block;margin-top:var(--space-10);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}#app .exam-return-note h2{margin:var(--space-2) 0 var(--space-1);font-size:var(--text-xl)}#app .exam-return-note p{margin:0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}@media(max-width:700px){#app .exam-class-invite .hub-art{width:48px;height:48px}#app .exam-resource,#app .exam-return-note{padding:var(--space-5) var(--space-4)}#app .exam-resource-actions{width:100%;display:grid}#app .exam-resource-actions .btn{width:100%}}#app[data-page^="a1-writing/"] .writing-workspace{grid-template-columns:1fr}.a1-choice.correct:after,.a1-choice.incorrect:after{margin-left:auto;padding-left:var(--space-3);font-weight:700}.a1-choice.correct:after{content:"✓ Correct";content:"✓ Correct" / "correct answer";color:var(--success-ink)}.a1-choice.incorrect:after{content:"✗ Your answer";content:"✗ Your answer" / "your answer, incorrect";color:var(--danger-ink)}.a1-choice.correct:after,.a1-choice.incorrect:after{font-size:var(--text-sm);white-space:nowrap}.saved-speech-play{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:36px;height:36px;margin:0 .3rem;border:1px solid #d6e2d8;border-radius:50%;background:#f4f8f1;color:#315c49;cursor:pointer;flex-shrink:0}.saved-speech-play:hover{background:#e4efdf}.saved-speech-play:focus-visible{outline:3px solid #c2a35a;outline-offset:3px}.saved-speech-play[aria-pressed=true]{background:#d9e9d7}[data-saved-word]{border-radius:.22em;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:background-color .12s,color .12s}[data-saved-word].speaking{background:var(--sun-tint);color:var(--ink);box-shadow:inset 0 -.12em 0 var(--sun)}.grammar-examples p>strong:has([data-saved-word]),.learn-word-example>strong:has([data-saved-word]),.guided-starters p>strong:has([data-saved-word]){display:inline}.grammar-examples p>span:not(.saved-speech-row),.guided-starters>p>span:not(.saved-speech-row){display:block}@media(prefers-reduced-motion:reduce){[data-saved-word]{transition:none}}.saved-speech-row{display:flex;align-items:baseline;gap:.45rem;min-width:0}.saved-speech-row>p,.saved-speech-row>h2,.saved-speech-row>h3{margin:0;min-width:0}.saved-speech-row>.saved-speech-play{flex:0 0 36px;align-self:center;margin:0}.saved-speech-row>strong{min-width:0}.a1-transcript-line .saved-speech-row{align-items:flex-start}.a1-transcript-line .saved-speech-play{margin-top:.2em}.grammar-examples .saved-speech-row{align-items:center}.flash-english-example>.flash-example{margin:0 auto .5rem}.flash-english-example>span[lang=en]{display:block}.unit-lesson-open{order:3;justify-self:start;min-height:44px;padding:0;border:0;background:none;font:inherit;font-size:var(--text-sm);font-weight:650;color:var(--brand-ink);text-decoration:underline;text-decoration-color:var(--brand-tint-2);text-underline-offset:4px;cursor:pointer}.unit-lesson-open:hover{text-decoration-color:currentColor}.unit-lesson-open:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--radius-sm)}.app-update{position:fixed;left:50%;bottom:var(--space-6);z-index:140;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);width:max-content;max-width:min(560px,calc(100% - 32px));padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--ink-2);font-size:var(--text-sm);line-height:1.45;transform:translate(-50%)}.app-update p{flex:1 1 220px;margin:0}.app-update strong{color:var(--ink)}.app-update-actions{display:flex;gap:var(--space-2)}.app-update .btn{min-height:40px;padding:8px 16px}@media(max-width:900px){.app-update{bottom:calc(84px + env(safe-area-inset-bottom,0px));width:auto;left:16px;right:16px;max-width:none;transform:none}}@media print{.app-update{display:none}}#app .a1-back.is-end{justify-content:flex-end}#app{--muted:var(--ink-3);--line:#dfe5db;--accent:#3e674d}#app[data-page=a1-words] .flash-launch{display:flex;align-items:center;gap:var(--space-5);margin:0 0 var(--space-4);padding:var(--space-5) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}#app[data-page=a1-words] .flash-launch>div:nth-child(2){flex:1;min-width:0}#app[data-page=a1-words] .flash-launch .eyebrow{font-size:var(--text-xs);letter-spacing:.08em;color:var(--brand)}#app[data-page=a1-words] .flash-launch h2{margin:var(--space-1) 0;font-size:var(--text-xl);line-height:1.3}#app[data-page=a1-words] .flash-launch p{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}#app[data-page=a1-words] .flash-launch>.btn{flex-shrink:0}#app[data-page=a1-words] .flash-stack-mini{width:56px;height:56px;flex-shrink:0}#app[data-page=a1-words] .flash-stack-mini i{display:none}#app[data-page=a1-words] .flash-stack-mini span{inset:0;transform:none;border:0;border-radius:var(--radius-md);background:var(--brand-tint);color:var(--brand);font-family:var(--font-display);font-size:var(--text-xl);font-weight:800}.vocabulary-quiz-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);margin:0 0 var(--space-3);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.vocabulary-quiz-bar>span{font-size:var(--text-sm);font-weight:650;color:var(--ink)}.vocabulary-quiz-bar>div{display:flex;gap:var(--space-2);flex-wrap:wrap}.vocabulary-quiz-bar .btn{padding:10px 16px}.learn-word-library>.section-heading{margin-top:var(--space-10)}.learn-word-filters{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,.8fr);gap:var(--space-3);align-items:end;margin:0 0 var(--space-3)}.learn-word-filters>.btn{grid-column:1/-1;justify-self:end}.learn-word-filters label,.builder-toolbar label,.story-editor label{display:grid;gap:6px;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.learn-word-filters input,.learn-word-filters select,.builder-toolbar select,.story-editor input,.story-editor textarea,.sentence-writing textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--border-2);border-radius:var(--radius-md);background-color:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-md);box-sizing:border-box}.learn-word-count{margin:var(--space-2) 0;font-size:var(--text-sm);color:var(--ink-3)}.learn-word-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.learn-word-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) auto;gap:var(--space-5);align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.learn-word-row:last-child{border-bottom:0}.learn-word-row[hidden]{display:none}.learn-word-main{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:0}.learn-word-main>div,.learn-word-example{display:grid;gap:2px;min-width:0}.learn-word-main strong{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em;overflow-wrap:anywhere}.learn-word-main>div>span:not(.saved-speech-row),.learn-word-example>span:not(.saved-speech-row){font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}.learn-word-example strong{font-size:var(--text-md);font-weight:550;line-height:1.5;overflow-wrap:anywhere}.learn-word-plural{display:block;font-size:var(--text-sm);font-style:normal;color:var(--ink-3)}.learn-word-review{justify-self:start;margin-top:2px;padding:1px 8px;border-radius:var(--radius-pill);background:var(--info-tint);color:var(--info);font-size:var(--text-xs);font-weight:650;line-height:1.6}.word-play{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:0;border-radius:50%;background:var(--brand-tint);color:var(--brand);cursor:pointer}.word-play:hover:not(:disabled){background:var(--brand-tint-2)}.word-play:disabled{opacity:.35;cursor:default}.word-audio-soon{font-size:var(--text-xs);font-weight:500;line-height:1.5;color:var(--ink-3)}.learn-word-main:has(.saved-speech-play) .word-audio-soon{display:none}.learn-word-actions{display:flex;align-items:center;gap:var(--space-1)}.learn-word-list .learn-word-actions{min-width:8.5rem}.learn-word-actions .btn{min-height:44px;padding:10px 14px}.builder-toolbar{display:flex;gap:var(--space-4);align-items:end;justify-content:space-between;margin:0 0 var(--space-4)}.builder-toolbar label{width:min(100%,360px)}.sentence-lab{padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.builder-mode{display:inline-flex;gap:4px;padding:4px;border-radius:var(--radius-pill);background:var(--surface-2)}.builder-mode .btn{min-height:44px;padding:8px 16px;box-shadow:none}.builder-mode .btn.primary{background:var(--surface);border-color:var(--border);color:var(--ink);box-shadow:var(--shadow-sm)}.builder-mode .btn.primary:hover{background:var(--surface);border-color:var(--border-2)}.builder-mode .btn.ghost{color:var(--ink-2)}.sentence-intent{padding:var(--space-6) 0 var(--space-4)}.sentence-intent h2{margin:var(--space-2) 0 var(--space-1);font-size:var(--text-3xl);line-height:1.25;letter-spacing:-.02em}.sentence-intent p{margin:0;font-size:var(--text-md);color:var(--ink-3)}.sentence-recipe{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);margin:0 0 var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-2)}.sentence-recipe h3{margin:var(--space-1) 0;font-size:var(--text-lg)}.sentence-recipe p{max-width:62ch;margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.sentence-recipe label{display:grid;gap:6px;min-width:170px;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.sentence-recipe select{min-height:44px;padding:0 12px;border:1px solid var(--border-2);border-radius:var(--radius-md);background-color:var(--surface);font:inherit;font-size:var(--text-sm);color:var(--ink)}.sentence-canvas{display:flex;flex-wrap:wrap;gap:var(--space-3);min-height:160px;padding:var(--space-5);align-items:center;background:var(--surface-2);border:1px dashed var(--border-2);border-radius:var(--radius-lg)}.sentence-canvas>p{width:100%;text-align:center;font-size:var(--text-md);color:var(--ink-3)}.sentence-canvas.guided-canvas{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);min-height:0;padding:0;align-items:stretch;background:transparent;border:0}.sentence-slot{display:flex;flex-direction:column;gap:6px;min-width:0;padding:var(--space-3) var(--space-4) var(--space-4);background:var(--surface);border:1px solid var(--border-2);border-top:4px solid var(--info);border-radius:var(--radius-md)}.sentence-slot.role-who,.sentence-slot.role-subject{border-top-color:var(--brand)}.sentence-slot.role-verb{border-top-color:var(--sun)}.sentence-slot.role-time,.sentence-slot.role-question{border-top-color:var(--info)}.sentence-slot.role-detail,.sentence-slot.role-object,.sentence-slot.role-place{border-top-color:#8a6fc4}.sentence-slot.role-end{border-top-color:#c4703f}.sentence-slot.next-slot{border-color:var(--brand);border-top-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.sentence-slot-label{display:flex;align-items:baseline;gap:8px;font-size:var(--text-sm);color:var(--ink)}.sentence-slot-label b{flex:none;font-size:var(--text-xs);font-weight:700;color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}.sentence-slot-label strong{min-width:0;font-weight:650;overflow-wrap:break-word}.sentence-slot p{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}.slot-placeholder{margin-top:auto;padding-top:var(--space-2);font-size:var(--text-xs);font-weight:600;color:var(--brand-ink)}.placed-phrase{display:flex;flex-direction:column;align-items:center;gap:6px}.placed-phrase>div{display:flex}.placed-phrase .btn{min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--border-2);background:var(--surface);color:var(--ink-2);font-size:var(--text-lg)}.placed-phrase .btn:disabled{opacity:.4}.guided-canvas .placed-phrase{width:100%;min-width:0;align-items:stretch}.guided-canvas .placed-phrase>div{justify-content:center}.phrase{min-height:48px;padding:12px 16px;border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink);font-family:inherit;font-size:var(--text-lg);font-weight:600;line-height:1.2;cursor:pointer}.phrase:hover:not(:disabled){border-color:var(--brand)}.phrase:disabled{opacity:1;cursor:default}.guided-canvas .phrase{width:100%;padding-inline:var(--space-2);white-space:normal;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.phrase.role-who,.phrase.role-subject,.writing-recipe-slots .role-who,.writing-recipe-slots .role-subject{background:var(--brand-tint);border-color:var(--brand-tint-2)}.phrase.role-verb,.writing-recipe-slots .role-verb{background:var(--sun-tint);border-color:#f3d593}.phrase.role-time,.phrase.role-question,.writing-recipe-slots .role-time,.writing-recipe-slots .role-question{background:var(--info-tint);border-color:#c7dbef}.phrase.role-detail,.phrase.role-object,.phrase.role-place,.writing-recipe-slots .role-detail,.writing-recipe-slots .role-object,.writing-recipe-slots .role-place{background:#efeafa;border-color:#d9cff2}.phrase.role-end,.writing-recipe-slots .role-end{background:#fdebe4;border-color:#f3cdbc}.phrase-bank{display:flex;flex-wrap:wrap;gap:var(--space-2);min-height:80px;padding:var(--space-5) 0;align-items:center}.phrase-bank:empty{min-height:0;padding:var(--space-2) 0}.phrase-bank .phrase{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.phrase-bank .phrase small{font-size:var(--text-xs);font-weight:600;color:var(--ink-3)}.sentence-live-output{margin:var(--space-4) 0 0;font-size:var(--text-2xl);line-height:1.5;letter-spacing:-.01em;color:var(--ink)}.builder-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.builder-hint{margin:var(--space-4) 0 0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.builder-hint strong{color:var(--ink)}.builder-hint p{margin:var(--space-1) 0 0}.builder-model{font-size:var(--text-xl)!important;font-weight:600;color:var(--ink)!important;letter-spacing:-.01em}.story-echo-link{margin:0 0 var(--space-5)}.builder-model-player{display:grid;gap:var(--space-3);margin-top:var(--space-3)}.builder-model-player>.builder-model{margin:0;text-wrap:balance}.builder-model-player .a1-audio-controls .btn:first-child{min-width:132px;flex:0 1 auto}.builder-footer{display:flex;gap:var(--space-4);justify-content:space-between;align-items:center;margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border)}.builder-footer>span{font-size:var(--text-sm);color:var(--ink-3);text-align:center}.sentence-writing{display:grid;gap:6px;margin:var(--space-4) 0;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.sentence-writing textarea{min-height:150px;resize:vertical;font-size:var(--text-xl);line-height:1.5}.writing-recipe-slots{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0;padding:0}.writing-recipe-slots li{display:flex;align-items:baseline;gap:8px;padding:10px 14px;border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-sm)}.writing-recipe-slots small{flex:none;font-size:var(--text-xs);font-weight:700;color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}.writing-recipe-slots strong{min-width:0;overflow-wrap:break-word}.grammar-pocket{margin-top:var(--space-4);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ink-2)}.grammar-pocket h2{margin:var(--space-2) 0;font-size:var(--text-xl)}.grammar-pocket p{margin:0;font-size:var(--text-md);line-height:1.6}.grammar-pocket>strong,.grammar-pocket>span:not(.saved-speech-row){display:block;margin-top:var(--space-3)}.grammar-pocket>.saved-speech-row{margin-top:var(--space-3);gap:var(--space-2)}.grammar-pocket>strong,.grammar-pocket>.saved-speech-row>strong{color:var(--ink);font-size:var(--text-lg)}.grammar-pocket>.saved-speech-row+span{margin-top:var(--space-1)}.grammar-pocket>span:not(.saved-speech-row){font-size:var(--text-sm);color:var(--ink-3)}.chapter-grammar{margin:var(--space-4) 0 0;padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.chapter-grammar h3{margin:var(--space-2) 0;font-size:var(--text-xl)}.chapter-grammar p{margin:0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.chapter-grammar>strong{display:block;margin-top:var(--space-3);font-size:var(--text-lg);font-weight:650;color:var(--ink)}.chapter-grammar>strong+p{font-size:var(--text-sm);color:var(--ink-3)}.chapter-links{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-5)}.story-library{display:grid;gap:var(--space-3);margin:0}#app .story-card{display:grid;grid-template-columns:88px minmax(0,1fr) auto;grid-template-rows:auto 1fr;column-gap:var(--space-5);row-gap:var(--space-2);padding:var(--space-4) var(--space-5) var(--space-4) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none;overflow:visible;transition:border-color .15s,box-shadow .15s}#app .story-card:hover{border-color:var(--border-2);box-shadow:var(--shadow-md);transform:none}#app .story-cover,.painted-story-cover{display:contents}#app .story-cover img{grid-column:1;grid-row:1/3;position:static;width:88px;height:88px;border-radius:var(--radius-md);object-fit:cover;transform:none!important}#app .story-cover small{grid-column:3;grid-row:1;justify-self:end;align-self:start;margin:0;display:inline-flex;align-items:center;min-height:26px;padding:3px 10px;border:0;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-xs);font-weight:600}#app .story-cover small{position:relative;z-index:1}#app .story-card-body{grid-column:2/4;grid-row:1/3;display:grid;gap:4px;align-content:start;min-width:0;padding:0;background:none}#app .story-card-kicker{display:flex;align-items:center;min-height:26px;font-size:var(--text-sm);font-weight:600;color:var(--ink-3)}#app .story-card h2{margin:0;font-size:var(--text-lg);font-weight:700;line-height:1.3;letter-spacing:-.01em}#app .story-card p{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}#app .story-card-body>strong{display:inline-flex;align-items:center;gap:6px;margin-top:var(--space-2);font-size:var(--text-sm);font-weight:650;color:var(--brand-ink)}#app .story-card-meta{display:flex;gap:var(--space-3);justify-content:space-between;margin:var(--space-2) 0 6px;font-size:var(--text-xs);font-weight:600;color:var(--ink-3)}#app .story-card .progress-track{height:6px;margin:0}#app .add-story-card{grid-template-rows:auto auto auto;border-style:dashed;border-color:var(--border-2);background:var(--surface);box-shadow:none;min-height:0}#app .add-story-card>span{grid-column:1;grid-row:1/4;display:grid;place-items:center;width:88px;height:88px;border-radius:var(--radius-md);background:var(--brand-tint);color:var(--brand)}#app .add-story-card>h2{grid-column:2/4;align-self:end}#app .add-story-card>p{grid-column:2/4}#app .add-story-card>strong{grid-column:2/4;display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:650;color:var(--brand-ink)}#app[data-page=a1-stories] .story-library+.a1-audio-credit{margin-top:var(--space-6)}.story-layout{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.story-parts{display:flex;gap:var(--space-2);max-width:100%;overflow-x:auto;padding:2px 2px var(--space-2);scrollbar-width:thin}.story-parts button{display:flex;flex:0 0 auto;gap:8px;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--border-2);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-2);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;white-space:nowrap}.story-parts button:hover{border-color:var(--brand)}.story-parts button[aria-current=step]{background:var(--brand);border-color:var(--brand);color:#fff}.story-parts button>span{font-size:var(--text-xs);font-weight:700;font-variant-numeric:tabular-nums;opacity:.8}.story-parts button>strong{font-size:var(--text-sm);font-weight:600;line-height:1.3}.story-parts button>svg{width:14px;height:14px;opacity:.7}.story-reader{min-width:0}.story-reading-tip{margin:0 0 var(--space-2);font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}.story-speaker{display:inline-flex}.story-line{display:block!important;overflow:visible!important}.story-line .a1-line-content p{font-size:var(--text-xl);line-height:1.8}.story-reader .a1-transcript{overflow:visible}.story-gloss{position:relative;display:inline-block}.unpracticed-word{padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.unpracticed-word .study-word{text-decoration:underline;text-decoration-color:var(--brand);text-decoration-style:dotted;text-decoration-thickness:2px;text-underline-offset:6px}.word-glossary{display:none;position:absolute;z-index:8;left:0;bottom:calc(100% + 9px);width:290px;max-width:calc(100vw - 56px);padding:var(--space-4);background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-family:var(--font-text);font-size:var(--text-sm);font-weight:400;line-height:1.5;text-align:left;white-space:normal}.story-gloss:not(.gloss-dismissed):is(:hover,:focus-within,.gloss-open)>.word-glossary{display:grid;gap:var(--space-2)}.word-glossary>strong{font-size:var(--text-md)}.word-glossary>button{min-height:44px;padding:8px;border:1px solid var(--border-2);border-radius:var(--radius-pill);background:var(--surface);color:var(--brand-ink);font-family:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer}.word-glossary>button:hover:not(:disabled){border-color:var(--brand);background:var(--brand-tint)}.word-glossary>button:disabled{opacity:.4}.word-glossary>.gloss-close{justify-self:end;min-height:36px;padding:4px 8px;border:0;background:transparent;color:var(--ink-3)}.story-reader-footer{display:flex;justify-content:space-between;gap:var(--space-3);margin:var(--space-5) 0 var(--space-3);padding-top:var(--space-5);border-top:1px solid var(--border)}.story-audio-pending{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--warning-tint);font-size:var(--text-sm);line-height:1.6}.story-audio-pending p{color:var(--ink-2)}.story-editor{display:grid;gap:var(--space-5);padding:var(--space-6)}.story-editor textarea{resize:vertical;line-height:1.6}.story-editor label>span{font-weight:400;color:var(--ink-3)}.story-editor p{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.story-editor [role=alert]{color:var(--danger-ink)}.story-editor [role=alert]:empty{display:none}.story-editor>.btn{justify-self:start}.story-maker,.story-generation-status{margin:0}.story-maker{padding:var(--space-6)}.story-maker-intro{display:flex;gap:var(--space-4);align-items:center;margin-bottom:var(--space-6)}.story-maker-intro h2{margin:0 0 var(--space-1);font-size:var(--text-xl)}.story-maker-intro p{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.story-maker-icon{display:grid;place-items:center;flex-shrink:0;width:56px;height:56px;border-radius:var(--radius-md);background:var(--brand-tint);color:var(--brand)}.story-maker>label{display:grid;gap:6px;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.story-maker select{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--border-2);border-radius:var(--radius-md);background-color:var(--surface);font:inherit;font-size:var(--text-md);color:var(--ink)}.story-maker fieldset{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin:var(--space-6) 0;padding:0;border:0}.story-maker legend{margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.story-format{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);cursor:pointer}.story-format:hover{border-color:var(--brand)}.story-format:has(input:checked){border-color:var(--brand);background:var(--brand-tint)}.story-format input{flex:none;width:18px;height:18px;margin-top:3px;accent-color:var(--brand)}.story-format span{display:grid;gap:2px}.story-format strong{font-size:var(--text-md)}.story-format small{font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}.story-maker-includes{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);padding:0 0 var(--space-4);font-size:var(--text-sm);color:var(--ink-3)}.story-maker .a1-audio-credit{margin:var(--space-3) 0 var(--space-5)}.story-maker-manual{margin:var(--space-5) 0 0;font-size:var(--text-sm);color:var(--ink-3)}.story-generation-status{padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.story-generation-status h2{margin:var(--space-2) 0 var(--space-5);font-size:var(--text-2xl)}.story-generation-steps{display:grid;gap:var(--space-3);list-style:none;padding:0;counter-reset:stage}.story-generation-steps li{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-md);color:var(--ink-3);counter-increment:stage}.story-generation-steps li:before{content:counter(stage);display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--surface-2);font-size:var(--text-xs);font-weight:700}.story-generation-steps .done:before{content:"✓";background:var(--success-tint);color:var(--success-ink)}.story-generation-steps .current{font-weight:600;color:var(--ink)}.story-generation-steps .current:before{background:var(--brand);color:#fff}.story-generation-status p{line-height:1.6;color:var(--ink-2)}.story-generation-status .btn{margin:var(--space-2) var(--space-2) 0 0}@media(max-width:700px){#app[data-page=a1-words] .flash-launch{flex-wrap:wrap;gap:var(--space-4);padding:var(--space-5)}#app[data-page=a1-words] .flash-launch>div:nth-child(2){flex-basis:calc(100% - 72px)}#app[data-page=a1-words] .flash-launch>.btn{width:100%}.vocabulary-quiz-bar{padding:var(--space-4)}.vocabulary-quiz-bar>div{display:grid;grid-template-columns:1fr;width:100%}.vocabulary-quiz-bar .btn{justify-content:flex-start}.learn-word-filters{grid-template-columns:1fr}.learn-word-filters>.btn{justify-self:stretch}.learn-word-row{grid-template-columns:1fr;gap:var(--space-3);padding:var(--space-4)}.learn-word-main strong{font-size:var(--text-xl)}.learn-word-example{padding-left:var(--space-3);border-left:3px solid var(--border)}.learn-word-actions{justify-content:flex-end}.learn-word-list .learn-word-actions{min-width:0}.learn-word-row:has(.word-audio-soon){grid-template-columns:minmax(0,1fr) auto}.learn-word-row:has(.word-audio-soon)>.learn-word-actions{grid-column:2;grid-row:1;align-self:start}.learn-word-row:has(.word-audio-soon)>.learn-word-example{grid-column:1/-1}.sentence-lab{padding:var(--space-5) var(--space-4)}.builder-toolbar{flex-wrap:wrap;gap:var(--space-2)}.builder-toolbar label{width:100%}.builder-mode{display:flex}.builder-mode .btn{flex:1;padding:8px 10px}.sentence-intent h2{font-size:var(--text-2xl)}.sentence-recipe{flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.sentence-recipe label{width:100%}.sentence-canvas.guided-canvas{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.sentence-slot{padding:var(--space-3)}.builder-actions{display:grid;grid-template-columns:1fr 1fr}.builder-actions .primary{grid-column:1/-1;order:-1}.builder-footer{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.builder-footer>.btn{width:100%;justify-content:center}.builder-footer>span{order:3;grid-column:1/-1}.builder-footer-long{display:none}.writing-recipe-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr))}.grammar-pocket,.chapter-grammar{padding:var(--space-5)}#app .story-card{grid-template-columns:64px minmax(0,1fr);column-gap:var(--space-4);padding:var(--space-4)}#app .story-cover small{grid-column:2;grid-row:1;justify-self:start}#app .story-card-body{grid-column:2;grid-row:2}#app .story-cover img{grid-row:1/3}#app .story-cover img,#app .add-story-card>span{width:64px;height:64px}.story-line .a1-line-content p{font-size:var(--text-lg)}.story-reader .a1-player-top{align-items:flex-start}.story-reader-footer .btn{padding:10px 14px}.word-glossary{position:fixed;left:16px;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));width:auto;max-width:none;padding:var(--space-5);font-size:var(--text-md)}.word-glossary>strong{font-size:var(--text-lg)}.story-editor,.story-maker,.story-generation-status{padding:var(--space-5) var(--space-4)}.story-editor>.btn,.story-maker .btn.primary{width:100%}.story-maker-intro{align-items:flex-start}.story-maker-icon{width:48px;height:48px}.story-maker fieldset{grid-template-columns:1fr}}@media(max-width:360px){.sentence-canvas.guided-canvas{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.story-card{transition:none}}.driving-example{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:var(--space-3);align-items:start;min-width:0}.driving-example>.icon-btn{color:var(--brand-ink)}.driving-word-note{grid-column:1/-1;margin:var(--space-2) 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.driving-list-meta{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin:var(--space-4) 0;font-size:var(--text-sm);color:var(--ink-3)}.learn-word-row.driving-word-row{align-items:start}.driving-word-row .learn-word-main strong,.driving-word-row .learn-word-example strong{line-height:1.5;overflow-wrap:anywhere;-webkit-hyphens:manual;hyphens:manual}.driving-word-row .learn-word-main small.driving-practiced{display:inline-flex;justify-self:start;width:fit-content;margin-top:var(--space-1);padding:2px 10px;border-radius:var(--radius-pill);background:var(--success-tint);color:var(--success-ink);font-size:var(--text-xs);font-weight:600;letter-spacing:0;text-transform:none}.driving-modes>section{position:relative;transition:border-color .15s,box-shadow .15s}.driving-modes>section:has(.btn:not(:disabled)):hover{border-color:var(--border-2);box-shadow:var(--shadow-md)}.driving-modes>section .btn:after{content:"";position:absolute;inset:0;border-radius:var(--radius-lg)}.driving-modes>section .btn:disabled:after{cursor:default}.driving-word-row .a1-token{padding:2px 0}.driving-word-row strong .a1-token{font:inherit;color:inherit}.driving-word-row .a1-token.speaking,.driving-word-row strong .a1-token.speaking{border-radius:4px;background:var(--sun-tint);box-shadow:0 0 0 2px var(--sun-tint);color:var(--ink)}.driving-quiz .a1-choice strong{line-height:1.5;overflow-wrap:anywhere}.driving-quiz input{width:100%}.a1-skill-progress+.btn{margin-top:var(--space-4)}@media(max-width:650px){.driving-list-meta{align-items:flex-start}.driving-list-meta .a1-speed{display:grid;gap:var(--space-2)}.driving-quiz .a1-quiz-choices .a1-choice{height:auto;min-height:60px}}.exam-practice-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.exam-practice-intro>div{min-width:0;padding:var(--space-8)}.exam-practice-intro h1{margin:var(--space-3) 0}.exam-practice-intro p{max-width:450px;font-size:var(--text-md);line-height:1.65;color:var(--ink-2)}.exam-practice-art{width:100%;height:100%;min-height:280px;object-fit:cover}.exam-skill-pills{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}.exam-skill-pills span{display:inline-flex;align-items:center;min-height:28px;padding:4px 12px;border:1px solid var(--border-2);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--text-xs);font-weight:600;color:var(--ink-2)}.exam-practice-note{display:flex;gap:var(--space-3);align-items:flex-start;margin:var(--space-6) 0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink-3)}.exam-practice-note p{font-size:var(--text-sm);line-height:1.65;color:var(--ink-2)}.exam-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.exam-resource{display:flex;flex-direction:column;align-items:flex-start;padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.exam-resource-top{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:var(--space-4)}.exam-resource-number{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:750;color:var(--ink-4)}.exam-resource h2{margin:var(--space-2) 0;font-size:var(--text-xl);line-height:1.3}.exam-resource p{margin-bottom:var(--space-4);font-size:var(--text-sm);line-height:1.65}.exam-resource>small{padding:4px 10px;border-radius:var(--radius-pill);background:var(--surface-2);font-size:var(--text-xs);font-weight:600;color:var(--ink-2)}.exam-resource-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:auto;padding-top:var(--space-5)}.exam-resource-actions .btn{white-space:normal}.exam-return-note{margin-top:var(--space-8);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.exam-return-note h2{margin:var(--space-2) 0;font-size:var(--text-xl)}.exam-return-note p{max-width:650px;font-size:var(--text-sm);line-height:1.65}@media(max-width:650px){.exam-practice-intro{display:flex;flex-direction:column-reverse}.exam-practice-art{height:150px;min-height:0;object-position:50% 65%}.exam-practice-intro>div{padding:var(--space-5)}.exam-resource-grid{grid-template-columns:1fr}.exam-resource{padding:var(--space-5)}.exam-resource-actions,.exam-resource-actions .btn{width:100%}}.curriculum-hero{display:grid;grid-template-columns:1.2fr 1fr;background:#eaf0e7;border:1px solid #d5dfd0;border-radius:24px;overflow:hidden;margin-bottom:26px}.curriculum-hero>div{padding:32px}.curriculum-hero h2{font:600 32px/1.15 var(--font-heading,Georgia);margin:15px 0}.curriculum-hero img{width:100%;height:100%;object-fit:cover;min-height:220px}.curriculum-levels{display:flex;gap:10px;margin:20px 0 28px;flex-wrap:wrap}.curriculum-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.curriculum-card{display:block;background:#fff;border:1px solid var(--border,#deded6);border-radius:20px;padding:25px;color:inherit;text-decoration:none;transition:transform .15s,border-color .15s}.curriculum-card:hover{transform:translateY(-3px);border-color:#64805c}.curriculum-card>div{display:flex;justify-content:space-between;align-items:center}.curriculum-card h2{font-size:23px;margin:18px 0 10px}.curriculum-card p{color:var(--muted,#64695f);line-height:1.65}.curriculum-card small{font-weight:600;color:#496246}.course-sources{margin:26px 0;background:#f1f3ed;padding:22px;border-radius:16px;line-height:1.7}.course-sources summary{font-weight:700;cursor:pointer}.writing-workspace{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}.writing-plan,.writing-editor,.writing-feedback,.writing-dictation{padding:28px;border:1px solid var(--border,#deded6);border-radius:20px;background:#fff;min-width:0}.writing-plan h2,.writing-editor h2{font-size:25px;line-height:1.25}.writing-plan ol{padding-left:24px;display:grid;gap:22px}.writing-plan label{display:block;font-weight:600;margin-bottom:10px;line-height:1.5}.writing-plan input,.writing-dictation input{width:100%;padding:13px;font-size:16px;border:1px solid #cccfc5;border-radius:10px;background:#fcfcf8}.writing-plan details{margin:24px 0}.writing-plan summary,.writing-history summary{font-weight:600;cursor:pointer}.writing-plan details p{display:grid;gap:5px}.writing-plan details span,.writing-model>span{color:#64695f;line-height:1.6}.writing-editor textarea{resize:vertical;width:100%;min-height:300px;border:1px solid #cccfc5;border-radius:12px;background:#fcfcf8;padding:18px;font-family:inherit;font-weight:400;line-height:1.8;font-size:19px;color:inherit}.writing-editor-status{display:flex;justify-content:space-between;gap:10px;font-size:var(--text-xs);margin-top:10px;color:#667360}.writing-editor>p{font-size:var(--text-sm);line-height:1.6;color:#64695f}.writing-review-box{border-top:1px solid #e2e5dc;padding-top:20px;margin-top:20px}.writing-review-box p{font-size:var(--text-sm);line-height:1.7}.writing-consent{display:flex;align-items:start;gap:10px;line-height:1.6;font-size:14px;margin:20px 0}.writing-consent input{width:20px;height:20px;flex:0 0 20px;margin-top:1px}.writing-review-box [role=status]{color:#a34232;margin-bottom:0}.writing-model{border-top:1px solid #e0e4d9;margin-top:20px;padding-top:14px}.writing-model>p,.writing-comparison p{font-size:19px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.writing-model small{display:block;margin-top:18px;color:#64725c}.writing-feedback{margin:26px 0}.writing-feedback>p{line-height:1.7}.writing-coverage{display:grid;gap:14px;margin:24px 0}.writing-coverage>div{background:#eff3e9;padding:16px;border-radius:12px}.writing-coverage strong{display:flex;gap:8px;align-items:start}.writing-coverage p{font-size:14px;line-height:1.65;margin:8px 0 0}.writing-comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px}.writing-comparison>div{padding:20px;background:#f6f6f1;border-radius:14px;min-width:0}.writing-comparison h3{font-size:16px;margin:0}.writing-comparison span{font-size:14px;line-height:1.7}.writing-corrections{display:grid;gap:12px;margin:24px 0}.writing-corrections article{border-left:3px solid #839771;padding:10px 16px;background:#fafaf6}.writing-corrections del{color:#985343}.writing-corrections p{font-size:14px;line-height:1.7;margin:10px 0 0}.writing-next-step{background:#eaf0e3;border-radius:14px;padding:20px;margin-bottom:20px}.writing-next-step p{line-height:1.7}.writing-feedback>small{color:#64725c;line-height:1.7;display:block}.writing-history{margin:26px 0}.writing-dictation{display:grid;gap:16px;margin-top:26px}.writing-dictation h2{margin:10px 0}.writing-dictation .btn{justify-self:start}.writing-dictation [role=status]{padding:18px;background:#eff3e9;border-radius:12px}.learn-example-play{margin-top:8px;min-height:34px}@media(min-width:1400px){.curriculum-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.writing-workspace{grid-template-columns:1fr}.writing-editor textarea{min-height:240px}.curriculum-hero{grid-template-columns:1fr 1fr}}@media(max-width:600px){.curriculum-grid,.writing-comparison,.curriculum-hero{grid-template-columns:1fr}.curriculum-hero img{max-height:180px;min-height:0;object-position:center 60%}.curriculum-hero>div{padding:24px}.writing-plan,.writing-editor,.writing-feedback,.writing-dictation{padding:22px}.writing-editor textarea{font-size:20px}.writing-editor-status{flex-wrap:wrap}.curriculum-levels .btn{width:100%}.writing-corrections{overflow-wrap:anywhere}}.sentence-slot.role-subject{border-top-color:#6f9474}.phrase.role-subject,.writing-recipe-slots .role-subject{background:#e8f0e5;color:#416444;border-color:#cfdcc9}.sentence-slot.role-object,.sentence-slot.role-place{border-top-color:#a28aaa}.phrase.role-object,.phrase.role-place,.writing-recipe-slots .role-object,.writing-recipe-slots .role-place{background:#f2eaf4;color:#665070;border-color:#e1d6e7}.writing-conflict{padding:16px;background:#fff5e4;border-radius:12px;margin-top:16px}.writing-conflict summary{font-weight:600;cursor:pointer}.writing-conflict p{overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.6}.writing-conflict .btn{margin-bottom:10px}@media(min-width:1301px){.study-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}.study-shortcuts strong{font-size:14px}.study-shortcuts small{font-size:12px}}.a1-unit-page{max-width:var(--content-narrow);margin:0 auto}.a1-unit-page .a1-back{margin:0 0 var(--space-2)}.a1-unit-page .page-heading{margin-bottom:var(--space-6)}.unit-start{display:grid;gap:var(--space-3);margin:0 0 var(--space-10)}.unit-lesson-card{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-6);background:var(--surface);border:1px solid var(--brand-tint-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.unit-lesson-copy{flex:1;min-width:0}.unit-lesson-copy h2{margin:var(--space-1) 0 var(--space-1);font-size:var(--text-xl);font-weight:700}.unit-lesson-copy>p{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--ink-2)}.unit-lesson-progress{display:grid;gap:var(--space-2);margin-top:var(--space-4);max-width:360px}.unit-lesson-progress>span{font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.unit-lesson-card>.btn{flex:none}.unit-resources-head{margin:0 0 var(--space-4)}.unit-resources-head h2{margin:0;font-size:var(--text-2xl);font-weight:700}.unit-resources-head p{margin:var(--space-1) 0 0;color:var(--ink-2)}@media(max-width:700px){.unit-lesson-card{flex-direction:column;align-items:stretch;gap:var(--space-4);padding:var(--space-5)}.unit-lesson-progress{max-width:none}.unit-lesson-card>.btn{width:100%;justify-content:center}.unit-resources-head h2{font-size:var(--text-xl)}}.unit-start>.follow-banner,.unit-start>.tr-entry{margin:0}.unit-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0 0 var(--space-6);padding:4px;background:var(--surface-2);border-radius:var(--radius-pill)}.unit-tabs .btn.unit-tab{min-width:0;min-height:44px;padding:8px 12px;border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;box-shadow:none;color:var(--ink-2);font-weight:600;white-space:nowrap}.unit-tabs .btn.unit-tab:hover{background:var(--surface);color:var(--ink)}.unit-tabs .btn.unit-tab[aria-pressed=true]{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-sm);color:var(--ink)}.grammar-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.grammar-card{padding:var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.grammar-card>.grammar-rule-number{display:block;font-size:var(--text-sm);font-weight:600;color:var(--brand-ink)}.grammar-card h2{margin:var(--space-2) 0 var(--space-3);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.015em}.grammar-card .grammar-rule{display:block;margin:0;white-space:pre-line;font-size:var(--text-md);line-height:1.7;color:var(--ink)}.rule-de{font-weight:600;color:var(--brand-ink)}.grammar-pattern{display:grid;gap:var(--space-1);margin:var(--space-5) 0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--brand-tint)}.grammar-pattern small{font-size:var(--text-sm);font-weight:600;color:var(--brand-ink)}.grammar-pattern strong{white-space:pre-line;font-size:var(--text-lg);font-weight:650;color:var(--ink)}.grammar-card .a1-audio-controls{margin:0 0 var(--space-4)}.grammar-examples{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-6);margin:0 0 var(--space-4)}.grammar-examples p{display:grid;gap:2px;margin:0;line-height:1.5}.grammar-examples strong{font-size:var(--text-lg);font-weight:650;color:var(--ink)}.grammar-examples p>span:not(.saved-speech-row){font-size:var(--text-sm);color:var(--ink-2)}.grammar-pitfall{display:flex;align-items:flex-start;gap:var(--space-3);margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--sun-tint);color:var(--ink);font-size:var(--text-sm);line-height:1.55}.grammar-pitfall svg{flex-shrink:0;margin-top:2px;color:var(--sun-ink)}.grammar-pitfall>span{min-width:0;overflow-wrap:break-word}.unit-reference .section-heading{margin:var(--space-10) 0 var(--space-4)}.reference-card{margin:0 0 var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.reference-card summary{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:0 var(--space-5);list-style:none;cursor:pointer;font-size:var(--text-md);font-weight:650;color:var(--ink)}.reference-card summary::-webkit-details-marker{display:none}.reference-card summary:after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg) translateY(-2px);transition:transform .15s}.reference-card[open] summary:after{transform:rotate(225deg) translateY(-2px)}.reference-card>.a1-audio-controls{padding:0 var(--space-5)}.reference-table-scroll{overflow:auto;max-width:100%;margin:var(--space-3) 0 0;border-top:1px solid var(--border)}.reference-card table{border-collapse:collapse;width:100%;font-size:var(--text-md);line-height:1.5}.reference-card th,.reference-card td{text-align:left;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);vertical-align:top;white-space:pre-line}.reference-card tbody tr:last-child td{border-bottom:0}.reference-card th{background:var(--surface-2);font-size:var(--text-sm);font-weight:650;color:var(--ink-2)}.unit-next{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-10);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.unit-next>div{flex:1 1 260px}.unit-next h2{margin:0 0 var(--space-1);font-size:var(--text-xl);font-weight:700}.unit-next p{margin:0;color:var(--ink-2)}.unit-checks{display:grid;gap:var(--space-4)}.unit-words-intro{margin:0 0 var(--space-5);font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.unit-words-intro strong{color:var(--ink)}.unit-word-heading{display:flex;align-items:baseline;gap:var(--space-2);margin:var(--space-6) 0 var(--space-3);font-size:var(--text-lg)}.unit-words-intro+.unit-word-heading{margin-top:0}.unit-word-heading span{font-size:var(--text-sm);font-weight:600;color:var(--ink-3)}.unit-word-groups{display:grid;gap:var(--space-3)}.unit-word-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.unit-word-group summary{display:flex;align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-3) var(--space-5);list-style:none;cursor:pointer}.unit-word-group summary::-webkit-details-marker{display:none}.unit-word-group summary:after{content:"";flex-shrink:0;width:8px;height:8px;margin-left:var(--space-1);border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg) translateY(-2px);transition:transform .15s}.unit-word-group[open] summary:after{transform:rotate(225deg) translateY(-2px)}.unit-word-group summary:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;border-radius:var(--radius-lg)}.unit-word-group-text{display:grid;gap:2px;min-width:0;margin-right:auto}.unit-word-group-text strong{font-size:var(--text-md);font-weight:650;color:var(--ink)}.unit-word-group-text span{font-size:var(--text-sm);line-height:1.5;color:var(--ink-3);overflow-wrap:anywhere}.unit-word-group-count{display:grid;place-items:center;flex-shrink:0;min-width:32px;height:28px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--surface-2);font-size:var(--text-sm);font-weight:650;color:var(--ink-2)}.unit-word-group>.learn-word-list{border:0;border-top:1px solid var(--border);border-radius:0;box-shadow:none}.unit-checks h2{font-size:var(--text-xl)}@media(max-width:700px){.unit-tabs{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:var(--radius-lg)}.unit-tabs .btn.unit-tab{border-radius:var(--radius-md)}.grammar-card{padding:var(--space-5)}.grammar-card h2{font-size:var(--text-xl)}.grammar-examples{grid-template-columns:1fr}.unit-next .btn{width:100%}.reference-card th,.reference-card td{padding:var(--space-3)}}@media(prefers-reduced-motion:reduce){.reference-card summary:after,.unit-word-group summary:after{transition:none}}.grammar-card .a1-audio-controls .btn.primary{background:var(--surface);border-color:var(--border-2);color:var(--brand-ink);box-shadow:none}.grammar-card .a1-audio-controls .btn.primary:hover:not(:disabled){background:var(--brand-tint);border-color:var(--brand)}.writing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.writing-task-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}.writing-task-card:hover{border-color:var(--border-2);box-shadow:var(--shadow-md)}.writing-task-card:focus-visible{border-radius:var(--radius-lg)}.writing-task-top{display:flex;align-items:center;justify-content:space-between;align-self:stretch;margin-bottom:var(--space-3)}.writing-task-top .hub-art{width:44px;height:44px}.writing-task-card h3{margin:0;font-size:var(--text-lg);font-weight:700;line-height:1.3;letter-spacing:-.01em}.writing-task-card p{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.writing-task-card small{margin-top:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--brand-ink)}.writing-library-note{margin:var(--space-8) 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}@media(max-width:600px){.writing-grid{grid-template-columns:1fr}.writing-task-card{padding:var(--space-4)}}@media(prefers-reduced-motion:reduce){.writing-task-card{transition:none}}.writing-workspace{gap:var(--space-4)}.writing-plan,.writing-editor,.writing-feedback,.writing-dictation{padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.writing-plan h2,.writing-editor h2,.writing-review-box h2,.writing-dictation h2,.writing-feedback h2{margin:var(--space-2) 0 var(--space-4);font-size:var(--text-xl);line-height:1.3}.writing-plan input,.writing-dictation input,.writing-editor textarea{border-color:var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink)}.writing-editor textarea{font-size:var(--text-lg);line-height:1.7}.writing-editor-status{font-size:var(--text-sm);color:var(--ink-3)}.writing-editor>p,.writing-review-box p,.writing-feedback>p,.writing-plan details span,.writing-model>span{color:var(--ink-2)}.writing-model small,.writing-feedback>small{color:var(--ink-3)}.writing-review-box,.writing-model{border-top-color:var(--border)}.writing-review-box [role=status]{color:var(--danger-ink)}:is(.writing-plan,.writing-feedback,.writing-workspace,.writing-dictation) details>summary,details.writing-history>summary,details.writing-conflict>summary{display:flex;align-items:center;gap:var(--space-2);min-height:44px;list-style:none;font-size:var(--text-sm);font-weight:600;color:var(--brand-ink);cursor:pointer}:is(.writing-plan,.writing-feedback,.writing-workspace,.writing-dictation) details>summary::-webkit-details-marker,details.writing-history>summary::-webkit-details-marker,details.writing-conflict>summary::-webkit-details-marker{display:none}:is(.writing-plan,.writing-feedback,.writing-workspace,.writing-dictation) details>summary:after,details.writing-history>summary:after,details.writing-conflict>summary:after{content:"";flex-shrink:0;width:7px;height:7px;margin-left:var(--space-1);border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .15s}:is(.writing-plan,.writing-feedback,.writing-workspace,.writing-dictation) details[open]>summary:after,details.writing-history[open]>summary:after,details.writing-conflict[open]>summary:after{transform:rotate(225deg) translateY(-2px)}:is(.writing-plan,.writing-feedback,.writing-workspace,.writing-dictation) details>summary:hover,details.writing-history>summary:hover,details.writing-conflict>summary:hover{color:var(--brand)}:is(.writing-plan,.writing-feedback,.writing-workspace,.writing-dictation) details>summary:focus-visible,details.writing-history>summary:focus-visible,details.writing-conflict>summary:focus-visible{outline:none;border-radius:var(--radius-sm);box-shadow:var(--focus)}@media(prefers-reduced-motion:reduce){:is(.writing-plan,.writing-feedback,.writing-workspace,.writing-dictation) details>summary:after,details.writing-history>summary:after,details.writing-conflict>summary:after{transition:none}}.writing-dictation{margin-top:var(--space-4)}.writing-dictation [role=status]{padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-2)}.writing-feedback{margin:var(--space-4) 0}.writing-dictation .a1-audio-controls .btn.primary,.writing-model .a1-audio-controls .btn.primary{background:var(--surface);border-color:var(--border-2);color:var(--brand-ink);box-shadow:none}.writing-dictation .a1-audio-controls .btn.primary:hover:not(:disabled),.writing-model .a1-audio-controls .btn.primary:hover:not(:disabled){background:var(--brand-tint);border-color:var(--brand)}@media(max-width:600px){.writing-plan,.writing-editor,.writing-feedback,.writing-dictation{padding:var(--space-5) var(--space-4)}.writing-editor textarea{font-size:var(--text-lg)}}.writing-step{margin:var(--space-4) 0 var(--space-5);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.writing-step:has(.is-done){background:var(--success-tint);border-color:color-mix(in srgb,var(--success) 35%,transparent)}.writing-step-status{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.writing-step-status strong{display:flex;align-items:center;gap:var(--space-2);margin-bottom:2px;font-size:var(--text-md);color:var(--ink)}.writing-step-status.is-done strong{color:var(--success-ink)}.writing-step-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.unit-tabs[data-count="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}.unit-tabs[data-count="5"] .btn.unit-tab{padding:8px 6px}.unit-tabs+.guided-culture{margin-top:0}@media(max-width:860px){.unit-tabs[data-count="5"]{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:var(--radius-lg)}.unit-tabs[data-count="5"] .btn.unit-tab{padding:8px 12px;border-radius:var(--radius-md)}.unit-tabs[data-count="5"] .btn.unit-tab:last-child{grid-column:1/-1}}.guided-lesson{max-width:var(--content-narrow);margin:0 auto}.guided-lesson>.a1-back{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0 var(--space-4);margin:calc(var(--space-2) * -1) 0 var(--space-2)}.guided-lesson>.a1-back .path-back{margin:0}.guided-lesson-header{margin:0 0 var(--space-6)}.guided-lesson-header h1{margin:var(--space-2) 0;font-size:clamp(30px,3.4vw,var(--text-4xl));line-height:1.15;letter-spacing:-.025em}.guided-lesson-header p{margin:0;max-width:60ch;font-size:var(--text-lg);line-height:1.55;color:var(--ink-2)}.guided-companions{margin:0 0 var(--space-6)}.guided-companions>.follow-banner{margin:0}.guided-companions>.tr-entry{margin:var(--space-3) 0 0}.guided-step-rail{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;margin:0 0 var(--space-8);padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);scroll-margin-top:calc(72px + var(--space-3))}.guided-step-rail .btn{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;min-width:0;min-height:76px;padding:var(--space-2) 4px;border:0;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:600;line-height:1.3;text-align:center;white-space:normal;color:var(--ink-3)}.guided-step-rail .btn:hover:not([aria-current]){background:var(--surface-2)}.guided-step-num{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--border-2);background:var(--surface);font-size:var(--text-xs);font-weight:700;color:var(--ink-3);box-sizing:border-box;flex:none;font-variant-numeric:tabular-nums}.guided-step-num svg{display:block;stroke-width:2.75}.guided-step-label{display:block;overflow-wrap:anywhere}.guided-step-rail [data-state=done]{color:var(--ink-2)}.guided-step-rail [data-state=done] .guided-step-num{border-color:var(--brand-tint-2);background:var(--brand-tint);color:var(--brand-ink)}.guided-step-rail [aria-current=step],.guided-step-rail [aria-current=step]:hover{background:var(--brand-tint);color:var(--brand-ink)}.guided-step-rail [aria-current=step] .guided-step-num{border-color:var(--brand);background:var(--brand);color:#fff}.guided-stage-heading{display:flex;align-items:center;gap:var(--space-4);margin:0 0 var(--space-6)}.guided-stage-number{flex:none;display:grid;place-items:center;min-width:56px;height:40px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--surface-2);font-size:var(--text-sm);font-weight:650;color:var(--ink-2);font-variant-numeric:tabular-nums}.guided-stage-heading h2{margin:0;font-size:var(--text-2xl);font-weight:700;letter-spacing:-.015em}.guided-stage-heading h2:focus{outline:none;box-shadow:none}.guided-stage-heading p{margin:2px 0 0;font-size:var(--text-sm);color:var(--ink-2)}.guided-stage-content.is-arriving{animation:guided-arrive .25s ease-out}.guided-welcome,.guided-question,.guided-build,.guided-reflection,.guided-player{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.guided-welcome{display:block;padding:var(--space-6)}.guided-goals{display:grid;gap:var(--space-3);list-style:none;padding:0;margin:var(--space-3) 0 0;font-size:var(--text-md);line-height:1.55}.guided-goals li{display:flex;align-items:flex-start;gap:var(--space-3)}.guided-goals svg{flex-shrink:0;margin-top:3px;color:var(--brand)}.guided-goal-marker{flex:none;display:grid;place-items:center;width:17px;height:17px;margin-top:3px}.guided-goal-marker:before{content:"";width:9px;height:9px;box-sizing:border-box;border:2px solid var(--border-2);border-radius:50%}.guided-note{display:flex;gap:var(--space-3);align-items:flex-start;margin:var(--space-4) 0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink-2)}.guided-note>svg{flex-shrink:0;margin-top:2px;color:var(--brand)}.guided-note strong{font-size:var(--text-sm);font-weight:650;color:var(--ink)}.guided-note p{margin:2px 0 0;font-size:var(--text-sm);line-height:1.55}.guided-divider{margin:var(--space-10) 0 var(--space-4)}.guided-divider>span{font-size:var(--text-xs);font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}.guided-divider h2{margin:var(--space-2) 0 0;font-size:var(--text-xl);font-weight:700}.guided-section-intro{margin:var(--space-6) 0 var(--space-4);max-width:60ch}.guided-section-intro h2{margin:0 0 var(--space-2);font-size:var(--text-xl);font-weight:700}.guided-section-intro p{margin:0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.guided-small,.guided-save-message{font-size:var(--text-sm);color:var(--ink-3);line-height:1.6}.guided-save-message{min-height:20px;margin:var(--space-3) 0 0}.guided-save-message:empty{min-height:0;margin:0}.guided-question{padding:var(--space-6);margin:var(--space-4) 0}.guided-question h3{margin:0 0 var(--space-1);font-size:var(--text-xl);line-height:1.4;letter-spacing:-.01em}.guided-translation{margin:0 0 var(--space-5);font-size:var(--text-sm);color:var(--ink-2)}.guided-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.guided-choices .btn{justify-content:flex-start;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);text-align:left;white-space:normal;line-height:1.4;background:var(--surface);border:1px solid var(--border-2);color:var(--ink)}.guided-choices:has(>.btn:nth-child(2):last-child),.guided-choices:has(>.btn:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.guided-choices:has(>.btn:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))}.guided-choices .btn:hover:not(:disabled){border-color:var(--brand);background:var(--brand-tint)}.guided-choices strong{min-width:0;font-size:var(--text-md);font-weight:600;overflow-wrap:anywhere}.guided-choices .btn>span{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-xs);font-weight:650}.guided-choices .btn:disabled{opacity:1;cursor:default}.guided-choices .guided-right{background:var(--success-tint);border-color:var(--success);box-shadow:inset 0 0 0 1px var(--success);color:var(--ink)}.guided-choices .guided-right>span{background:var(--success);border-color:var(--success);color:#fff}.guided-choices .guided-wrong{background:var(--danger-tint);border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger);color:var(--ink)}.guided-choices .guided-wrong>span{background:var(--danger);border-color:var(--danger);color:#fff}.guided-feedback{display:flex;align-items:flex-start;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);border-left:4px solid var(--danger);background:var(--danger-tint);color:var(--ink);font-size:var(--text-sm)}.guided-feedback.is-right{border-color:var(--success);background:var(--success-tint)}.guided-feedback svg{flex-shrink:0;margin-top:2px}.guided-feedback p{line-height:1.55;margin:var(--space-1) 0 0}.guided-feedback:focus{outline:none}.guided-stage-content .guided-feedback[tabindex]:focus-visible{outline:2px solid var(--focus-quiet);outline-offset:3px;box-shadow:none}.guided-feedback>div{min-width:0}.guided-feedback>div>.btn{margin-top:var(--space-3)}.guided-tools{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin:var(--space-4) 0}.guided-player{padding:var(--space-6)}.guided-reading-context{margin:0 0 var(--space-4);max-width:60ch;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.guided-reading-text{padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.guided-reading-paragraph{max-width:65ch}.guided-reading-paragraph+.guided-reading-paragraph{margin-top:var(--space-5)}.guided-reading-paragraph>p{margin:0;font-size:var(--text-md);line-height:1.7;color:var(--ink)}.guided-reading-paragraph>.a1-audio-controls{margin-bottom:var(--space-2)}.guided-reading-paragraph>.translation{margin-top:var(--space-1);color:var(--ink-3)}.guided-reading-text>.guided-tools{margin:var(--space-5) 0 0}.guided-pattern-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5)}.guided-pattern-tabs .btn{font-size:var(--text-sm)}.guided-build{padding:var(--space-6);margin:var(--space-4) 0}.guided-build h3{margin:0 0 var(--space-4);font-size:var(--text-lg)}.guided-build .guided-tools{margin:var(--space-4) 0 0}.guided-sentence-slots{position:relative;display:flex;flex-wrap:nowrap;gap:var(--space-3);align-items:stretch;padding:var(--space-4);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;border:1px dashed var(--border-2);border-radius:var(--radius-md);background:var(--surface-2)}.guided-sentence-slots>div{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-2);flex:1 1 0;min-width:max-content}.guided-sentence-slots small{font-size:var(--text-xs);font-weight:650;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;color:var(--ink-3)}.guided-sentence-slots .btn.ghost:hover:not(:disabled){border-color:var(--brand);background:var(--brand-tint)}.guided-sentence-slots .btn.ghost,.guided-placed{min-height:48px;padding:var(--space-2) var(--space-4);background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-md);font-size:var(--text-md);font-weight:600;color:var(--ink);white-space:nowrap}.guided-placed{display:flex;align-items:center;justify-content:center;box-sizing:border-box}.guided-sentence-slots [data-mark=right] .btn.ghost,.guided-sentence-slots [data-mark=right] .guided-placed{border-color:var(--success);background:var(--success-tint)}.guided-sentence-slots [data-mark=wrong] .btn.ghost{border-color:var(--danger);background:var(--danger-tint)}.guided-empty-slot{display:grid;place-items:center;height:48px;border:1px dashed var(--border-2);border-radius:var(--radius-md);color:var(--ink-3);font-size:var(--text-sm)}.guided-word-bank{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0 0}.guided-word-bank .btn{font-size:var(--text-md);padding:10px 16px;border-radius:var(--radius-md)}.guided-build-answer{font-size:var(--text-md);font-weight:600;color:var(--ink)}.guided-build-yours,.guided-build-model{color:var(--ink-2)}.guided-build-after{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.guided-build-after .a1-audio-controls{margin:0}.guided-build-after .a1-audio-controls .btn{white-space:nowrap}.guided-writing-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--space-5)}.guided-writing-grid .guided-goals{margin:0 0 var(--space-5)}.guided-editor-label{display:grid;gap:var(--space-3);font-size:var(--text-sm);font-weight:650;color:var(--ink)}.guided-editor-label textarea{width:100%;box-sizing:border-box;resize:vertical;border:1px solid var(--border-2);border-radius:var(--radius-md);padding:var(--space-4);font:inherit;font-weight:400;font-size:var(--text-lg);line-height:1.6;background:var(--surface);color:var(--ink)}.guided-editor-label textarea:focus-visible{border-color:var(--brand)}.guided-writing-step{margin:var(--space-3) 0 0}.guided-writing-step .writing-step-status strong{font-variant-numeric:tabular-nums}.guided-writing-meter{display:block;height:6px;margin-top:var(--space-3);border-radius:999px;background:var(--border);overflow:hidden}.guided-writing-meter i{display:block;height:100%;border-radius:inherit;background:var(--brand);transition:width .2s ease}.guided-writing-step[data-done=true] .guided-writing-meter i{background:var(--success)}@media(prefers-reduced-motion:reduce){.guided-writing-meter i{transition:none}}.guided-starters{align-self:start;padding:var(--space-5);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border)}.guided-starters h3{font-size:var(--text-lg);margin:var(--space-2) 0 var(--space-4)}.guided-starters p{font-size:var(--text-md);line-height:1.55;margin:0 0 var(--space-3)}.guided-starters>p>strong,.guided-starters>p>span{display:block}.guided-starters>p>span[lang=en]{font-size:var(--text-sm);color:var(--ink-2)}.guided-starters>.btn.guided-model-toggle{margin-inline-start:calc(var(--space-3) * -1);padding-inline:var(--space-3)}.guided-model{margin-top:var(--space-5);border-top:1px solid var(--border);padding-top:var(--space-3)}.guided-model p{font-size:var(--text-sm)}.guided-echo-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin:var(--space-5) 0}.guided-echo-grid>article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:var(--space-5);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.guided-echo-grid>article>h3,.guided-echo-grid>article>p{grid-column:1;margin:0}.guided-echo-grid>article>.a1-audio-controls{grid-column:2;grid-row:1 / span 2;margin:0}.guided-echo-grid h3{font-size:var(--text-lg)}.guided-echo-grid p{font-size:var(--text-sm);color:var(--ink-2)}.guided-echo-grid .btn{font-size:var(--text-sm);white-space:normal}.guided-speaking-card{position:relative;text-align:center;padding:var(--space-10) var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.guided-speaking-orb{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--brand-tint);color:var(--brand);margin:0 auto var(--space-5)}.guided-speaking-card h2{font-size:var(--text-2xl);line-height:1.35;letter-spacing:-.015em;margin:var(--space-3) 0 var(--space-2);text-wrap:balance}.guided-speaking-card>p{line-height:1.6;color:var(--ink-2);max-width:56ch;margin:var(--space-3) auto}.guided-speech-starter{margin:var(--space-5) auto;background:var(--surface-2);border-radius:var(--radius-md);padding:var(--space-4);max-width:520px}.guided-speech-starter>strong,.guided-speech-starter>span{display:block;text-wrap:balance}.guided-speech-starter>span{font-size:var(--text-sm);color:var(--ink-2);margin-top:var(--space-1)}.guided-reflection{min-width:0;padding:var(--space-5) var(--space-6);margin:var(--space-4) 0}.guided-reflection legend{float:left;width:100%;padding:0;margin:0 0 var(--space-3);font-size:var(--text-md);font-weight:650;line-height:1.5;color:var(--ink)}.guided-reflection>div{clear:both;display:flex;gap:var(--space-2);flex-wrap:wrap}.guided-review{margin:var(--space-6) 0}.guided-review details{margin:0 0 var(--space-3);padding:0 var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.guided-review summary{display:flex;align-items:center;min-height:52px;cursor:pointer;font-size:var(--text-md);font-weight:650}.guided-review details>strong{display:block;margin-top:var(--space-2);color:var(--brand-ink)}.guided-review p{font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.guided-lesson-footer,#app .guided-lesson .guided-lesson-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:auto;max-width:none;margin:var(--space-8) 0 0;padding:var(--space-5) 0 0;border-top:1px solid var(--border)}.guided-lesson-footer>span{font-size:var(--text-sm);color:var(--ink-3)}.guided-next-unit{display:flex;width:max-content;margin:var(--space-4) 0 0 auto}@keyframes guided-arrive{0%{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:700px){.guided-lesson-header{margin-bottom:var(--space-4)}.guided-lesson-header p{font-size:var(--text-md);line-height:1.5}.guided-companions{display:grid;gap:var(--space-2);margin-bottom:var(--space-4)}.guided-companions>.follow-banner{display:block;padding:0;border:0;background:none;box-shadow:none}.guided-companions>.follow-banner:before,.guided-companions>.follow-banner>div{display:none}.guided-companions .follow-entry-button{width:100%;box-sizing:border-box}.guided-companions>.tr-entry{margin:0;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-2);border-radius:var(--radius-lg)}.guided-companions>.tr-entry .tutor-face{--tf:36px}.guided-companions .tr-entry-copy small{display:none}.guided-companions .tr-entry-copy strong{font-size:var(--text-sm)}.guided-companions .tr-entry-go{width:32px;height:32px}.guided-step-rail{margin:0;padding:var(--space-1) var(--space-1) 0;border-bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:none}.guided-step-rail .btn{min-height:44px;padding:var(--space-2) 0}.guided-step-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.guided-stage-heading{gap:var(--space-3);margin:0 0 var(--space-6);padding:var(--space-3) var(--space-4) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-sm)}.guided-stage-number{min-width:48px;height:32px;padding:0 var(--space-2);font-size:var(--text-xs)}.guided-stage-heading h2{font-size:var(--text-lg)}.guided-sentence-slots{gap:var(--space-2)}.guided-feedback{gap:var(--space-2);padding:var(--space-4)}.guided-sentence-slots .btn.ghost,.guided-placed{padding:var(--space-2) 10px;font-size:var(--text-sm)}.guided-sentence-slots small{text-transform:none;letter-spacing:0}.guided-welcome,.guided-question,.guided-build,.guided-player,.guided-reading-text{padding:var(--space-5) var(--space-4)}.guided-choices,.guided-choices:has(>.btn:nth-child(2):last-child),.guided-choices:has(>.btn:nth-child(4):last-child),.guided-choices:has(>.btn:nth-child(5)),.guided-writing-grid{grid-template-columns:minmax(0,1fr)}.guided-echo-grid>article{grid-template-columns:1fr;row-gap:var(--space-1)}.guided-echo-grid>article>.a1-audio-controls{grid-column:1;grid-row:auto;margin-top:var(--space-3)}.guided-lesson-footer{flex-wrap:wrap}.guided-lesson-footer>span{order:3;width:100%;text-align:center}.guided-lesson-footer .btn.primary{flex:1;white-space:normal}.guided-speaking-card{padding:var(--space-8) var(--space-5)}.guided-speaking-card h2{font-size:var(--text-xl)}.guided-sentence-slots{padding:var(--space-3)}.guided-next-unit{width:100%}}@media(max-width:400px){.guided-lesson-header h1{font-size:var(--text-2xl)}.guided-lesson-header p{font-size:var(--text-sm)}.guided-build-after .a1-audio-controls .btn{white-space:normal;max-width:100%;text-align:left}}@media(prefers-reduced-motion:reduce){.guided-stage-content.is-arriving{animation:none}}[data-learning-motion=reduced] .guided-stage-content.is-arriving,[data-learning-motion=off] .guided-stage-content.is-arriving{animation:none}.guided-echo-grid .a1-audio-controls .btn.primary,.guided-player .a1-audio-controls .btn.primary,.guided-build .a1-audio-controls .btn.primary,.guided-reading .a1-audio-controls .btn.primary,.guided-culture .a1-audio-controls .btn.primary{background:var(--surface);border-color:var(--border-2);color:var(--brand-ink);box-shadow:none}.guided-echo-grid .a1-audio-controls .btn.primary:hover:not(:disabled),.guided-player .a1-audio-controls .btn.primary:hover:not(:disabled),.guided-build .a1-audio-controls .btn.primary:hover:not(:disabled),.guided-reading .a1-audio-controls .btn.primary:hover:not(:disabled),.guided-culture .a1-audio-controls .btn.primary:hover:not(:disabled){background:var(--brand-tint);border-color:var(--brand)}.guided-culture{margin-top:var(--space-10)}.guided-culture .guided-divider{margin-top:0}.culture-card{padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.culture-note{display:flex;gap:var(--space-3);align-items:flex-start;margin:0 0 var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--sun-tint)}.culture-mark{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface);color:var(--sun-ink)}.culture-note p{margin:0;max-width:65ch;font-size:var(--text-md);line-height:1.6;color:var(--ink)}.culture-paragraph{max-width:65ch}.culture-paragraph+.culture-paragraph{margin-top:var(--space-5)}.culture-paragraph>p{margin:0;font-size:var(--text-md);line-height:1.7;color:var(--ink)}.culture-paragraph>.a1-audio-controls{margin-bottom:var(--space-2)}.culture-paragraph>.translation{margin-top:var(--space-1);color:var(--ink-3)}.culture-text>.guided-tools{margin:var(--space-5) 0 0}.culture-links{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);align-items:center;margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border)}.culture-lid{display:inline-flex;gap:var(--space-3);align-items:center;min-height:44px;padding:var(--space-2) var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);color:var(--ink);text-decoration:none}.culture-lid:hover{border-color:var(--brand);background:var(--brand-tint)}.culture-lid>svg:first-child{flex:none;color:var(--brand)}.culture-lid>svg:last-child{flex:none;color:var(--ink-3)}.culture-lid span{display:grid;line-height:1.3}.culture-lid small{font-size:var(--text-xs);color:var(--ink-3)}.culture-lid strong{font-size:var(--text-sm);font-weight:650}.culture-sources{flex:1 1 260px;margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.culture-sources>span:first-child{font-weight:650;color:var(--ink-2)}.culture-sources a{color:var(--brand-ink);overflow-wrap:anywhere}@media(max-width:700px){.culture-card{padding:var(--space-5) var(--space-4)}.culture-note{padding:var(--space-3) var(--space-4)}.culture-mark{width:32px;height:32px}.culture-lid{width:100%}.culture-lid span{flex:1}}@media(max-width:480px){.culture-card{padding:var(--space-4) var(--space-3)}.culture-mark{display:none}}.pc-slot{margin:var(--space-6) 0 0}.pc-slot>.pc-divider{margin:var(--space-10) 0 var(--space-4)}.pc-card{margin:var(--space-4) 0;padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0}.pc-head{margin:0 0 var(--space-4)}.pc-head h3{margin:var(--space-1) 0 0;font-size:var(--text-lg);line-height:1.4;letter-spacing:-.01em}.pc-head h3:focus{outline:none}.pc-head h3:focus-visible{outline:2px solid var(--focus-quiet,var(--brand));outline-offset:3px}.pc-body{min-width:0}.pc-body p{line-height:1.55}.pc-foot{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-2) var(--space-3);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.pc-foot .btn{min-height:44px}.pc-explain-row{flex:1 1 100%;min-width:0}.pc-explain-toggle{margin-inline-start:calc(var(--space-3) * -1)}.pc-explain{margin:var(--space-2) 0 0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-sm)}.pc-explain p{margin:0}.pc-explain p+p{margin-top:var(--space-2)}.pc-explain:focus{outline:none}.pc-explain:focus-visible{outline:2px solid var(--focus-quiet,var(--brand));outline-offset:3px}.pc-again{margin-inline-start:auto}.pc-speaker{display:flex;align-items:flex-start;gap:var(--space-3);margin:0 0 var(--space-5)}.pc-avatar{flex:none;display:grid;place-items:center;width:56px;height:56px}.pc-avatar .tutor-face{width:56px;height:56px}.pc-initial{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--brand-tint);color:var(--brand-ink);font-weight:700;font-size:var(--text-lg)}.pc-initial[data-pc-voice=cedar]{background:var(--info-tint);color:var(--info)}.pc-bubble{position:relative;flex:1 1 auto;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-lg);background:var(--surface)}.pc-bubble:before{content:"";position:absolute;left:-7px;top:20px;width:12px;height:12px;background:var(--surface);border-left:1px solid var(--border-2);border-bottom:1px solid var(--border-2);transform:rotate(45deg)}.pc-name{grid-column:1/-1;font-size:var(--text-xs);font-weight:650;letter-spacing:.04em;color:var(--ink-3)}.pc-bubble-text{margin:0;font-size:var(--text-xl);font-weight:600;line-height:1.45;color:var(--ink);overflow-wrap:anywhere}.pc-bubble-text.is-hidden{font-size:var(--text-md);font-weight:500;color:var(--ink-3)}.pc-bubble-text [data-pc-word]{border-radius:4px;transition:background-color .12s ease,color .12s ease}.pc-bubble-text [data-pc-word].is-speaking{background:var(--brand-tint-2);color:var(--brand-ink)}.pc-play{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--border-2);background:var(--surface);color:var(--brand-ink);cursor:pointer}.pc-play:hover{border-color:var(--brand);background:var(--brand-tint)}.pc-play[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}.pc-play svg{display:block}.pc-glossed{line-height:1.9}.pc-gloss-wrap{position:relative;display:inline}.pc-gloss{display:inline;padding:0;margin:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer;text-decoration:underline dotted;text-decoration-thickness:1.5px;text-underline-offset:4px;text-decoration-color:var(--ink-3)}.pc-gloss:hover,.pc-gloss[aria-expanded=true]{text-decoration-color:var(--brand);color:var(--brand-ink)}.pc-gloss-tip{display:inline-block;margin:0 var(--space-1);padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--ink);color:var(--surface);font-size:var(--text-sm);font-weight:500;line-height:1.5;vertical-align:baseline}.pc-gloss-tip[hidden]{display:none}.pc-new,.pc-gloss-wrap.is-new>.pc-gloss{background:var(--warning-tint);color:var(--ink);border-radius:4px;padding:0 3px;box-shadow:inset 0 -2px 0 var(--warning)}.pc-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:0;padding:0;list-style:none}.pc-option{display:flex;align-items:center;gap:var(--space-3);min-height:56px;width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-md);font-weight:600;line-height:1.4;text-align:left;cursor:pointer}.pc-option:hover:not(:disabled){border-color:var(--brand);background:var(--brand-tint)}.pc-option:disabled{cursor:default;opacity:1}.pc-option-text{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.pc-key{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-xs);font-weight:650}.pc-mark{flex:none;display:inline-flex}.pc-option[data-pc-state=right],.pc-option[data-pc-state=answer]{background:var(--success-tint);border-color:var(--success);box-shadow:inset 0 0 0 1px var(--success)}.pc-option[data-pc-state=right] .pc-key,.pc-option[data-pc-state=answer] .pc-key{background:var(--success-ink);border-color:var(--success-ink);color:#fff}.pc-option[data-pc-state=wrong]{background:var(--danger-tint);border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.pc-option[data-pc-state=wrong] .pc-key{background:var(--danger);border-color:var(--danger);color:#fff}.pc-option[data-pc-state=chosen],.pc-option[aria-pressed=true]{border-color:var(--brand);background:var(--brand-tint);box-shadow:inset 0 0 0 1px var(--brand)}.pc-status{display:flex;align-items:flex-start;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);border-left:4px solid var(--info);background:var(--info-tint);color:var(--ink);font-size:var(--text-sm)}.pc-status.is-right{border-color:var(--success);background:var(--success-tint)}.pc-status.is-wrong{border-color:var(--danger);background:var(--danger-tint)}.pc-status svg{flex:none;margin-top:2px}.pc-status>div{min-width:0}.pc-status p{margin:var(--space-1) 0 0}.pc-status:focus{outline:none}.pc-status:focus-visible{outline:2px solid var(--focus-quiet,var(--brand));outline-offset:3px}.pc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-4)}.pc-actions .btn{min-height:44px}.pc-note{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--ink-3)}.pc-round{max-width:760px;margin:0 auto}.pc-round-count{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--ink-2)}.pc-round-count strong{font-variant-numeric:tabular-nums;color:var(--ink)}.pc-round .pc-card{margin-top:0}.pc-round-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-4)}.pc-round-actions .btn{min-height:44px}.pc-round-later{font-size:var(--text-sm);color:var(--ink-3)}.pc-round-done{padding:var(--space-8) var(--space-6);text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.pc-round-done h2{margin:var(--space-2) 0;font-size:var(--text-2xl)}.pc-round-done h2:focus{outline:none}.pc-round-done .pc-round-actions{justify-content:center}@media(max-width:700px){.flash-practice.is-review-round{bottom:0;padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom))}.flash-practice.is-review-round:after{display:none}}.flash-modes{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.flash-modes>span{font-size:var(--text-sm);color:var(--ink-2)}.flash-modes .btn{min-height:44px}.pc-meaning-options .pc-option:disabled[data-pc-state=idle]{background:var(--surface-2);border-color:var(--border);color:var(--ink-2)}.pc-meaning-options .pc-option:disabled[data-pc-state=idle] .pc-key{background:transparent}.section-card .section-speaker{margin:0 0 var(--space-5)}.section-card .section-speaker .pc-bubble-text{font-size:var(--text-2xl);letter-spacing:-.01em}@media(max-width:560px){.section-card .section-speaker .pc-bubble-text{font-size:var(--text-xl)}}.pc-tr-prompt{margin:0 0 var(--space-4);font-size:var(--text-lg);font-weight:600;line-height:1.5;color:var(--ink);overflow-wrap:anywhere}.pc-tr-prompt.is-german{font-size:var(--text-xl)}.pc-tr-slots.guided-sentence-slots{flex-wrap:wrap;overflow-x:visible;align-items:center;min-height:82px}.pc-tr-slots>.pc-tr-slot{flex:0 1 auto;min-width:0;max-width:100%}.pc-tr-slots.guided-sentence-slots small{white-space:normal}.pc-tr-slots .guided-empty-slot{min-width:56px;padding:0 var(--space-3)}.pc-tr-slots.guided-sentence-slots .btn.pc-tile,.pc-tr-slots.guided-sentence-slots .guided-placed{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}.pc-tr-slots .guided-placed{display:inline-flex;gap:var(--space-2)}.pc-tr-slots.guided-sentence-slots [data-mark=wrong] .guided-placed{border-color:var(--danger);background:var(--danger-tint)}.pc-tr-mark{display:inline-flex;align-items:center;flex:none}.pc-tr-slots [data-mark=right] .pc-tr-mark{color:var(--success)}.pc-tr-slots [data-mark=wrong] .pc-tr-mark{color:var(--danger)}.pc-tr-bank.guided-word-bank .btn.pc-tile{min-height:48px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.pc-tr-bank .btn.pc-tile:disabled{opacity:.5;cursor:default}.pc-tr-answer{font-size:var(--text-md);font-weight:600;color:var(--ink)}.pc-tr-yours,.pc-tr-model{color:var(--ink-2)}.pc-tr-result .pc-actions{margin-top:var(--space-3)}@media(max-width:560px){.pc-tr-prompt{font-size:var(--text-md)}.pc-tr-prompt.is-german{font-size:var(--text-lg)}.pc-tr-slots.guided-sentence-slots{min-height:72px}.pc-tr-bank.guided-word-bank .btn.pc-tile{padding:var(--space-2) 12px;font-size:var(--text-sm)}}.say-panel{margin-top:var(--space-2)}.say-panel .pc-actions{margin-top:var(--space-3)}.say-icon{flex:none;display:block}.say-mode,.say-note{margin:0;color:var(--ink-2);font-size:var(--text-sm);line-height:1.55}.say-note{margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4);border-left:4px solid var(--info);border-radius:var(--radius-md);background:var(--info-tint);color:var(--ink)}.say-line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin:0;color:var(--ink-2);font-size:var(--text-sm);line-height:1.55}.say-line>span{flex:1 1 12rem;min-width:0}.say-line svg{color:var(--brand-ink)}.say-panel.is-recording .say-line{color:var(--ink);font-weight:600}.say-dot{flex:none;width:12px;height:12px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 4px var(--danger-tint)}.say-left{flex:none;font-variant-numeric:tabular-nums;color:var(--ink)}.say-panel.is-skipped .say-line{color:var(--ink-3)}.say-words{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-4) 0 0;padding:0;list-style:none}.say-word{display:inline-flex;align-items:center;gap:6px;min-height:36px;max-width:100%;padding:4px 10px;border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-md);line-height:1.3}.say-word-text{font-weight:600;overflow-wrap:anywhere;min-width:0}.say-word-state{font-size:var(--text-xs);font-weight:600;color:var(--ink-3)}.say-word.is-said{border-color:var(--success);background:var(--success-tint)}.say-word.is-said svg{color:var(--success-ink)}.say-word.is-missed{border-style:dashed;border-color:var(--ink-4,var(--border-2));background:var(--surface-2)}.say-word.is-missed svg{color:var(--ink-3)}.say-word.is-missed .say-word-text{color:var(--ink-2)}.say-heard{margin:var(--space-4) 0 0;color:var(--ink-2);font-size:var(--text-sm);overflow-wrap:anywhere}.say-heard q{color:var(--ink);font-weight:600}@media(max-width:560px){.say-panel .pc-actions .btn{flex:1 1 100%}.say-word{font-size:var(--text-sm)}}.pc-pairs-hint{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--ink-2)}.pc-pairs-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto repeat(5,auto);gap:var(--space-2) var(--space-3);min-width:0}.pc-pairs-col{display:grid;grid-row:1/span 6;grid-template-rows:subgrid;gap:var(--space-2);min-width:0}.pc-pairs-label{align-self:end;font-size:var(--text-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.pc-pair{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;width:100%;min-width:0;min-height:52px;padding:var(--space-2) var(--space-3);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-md);font-weight:600;line-height:1.3;text-align:left;cursor:pointer}.pc-pair:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.pc-pair:disabled{cursor:default;opacity:1}.pc-pair-text{max-width:100%;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.pc-pair-mark{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:650;line-height:1.2}.pc-pair-mark svg{flex:none;display:block}.pc-pair[data-pc-state=selected]{border-color:var(--brand);background:var(--brand-tint);box-shadow:inset 0 0 0 2px var(--brand);color:var(--brand-ink)}.pc-pair[data-pc-state=matched]{border-color:var(--success);background:var(--success-tint);color:var(--ink-2)}.pc-pair[data-pc-state=matched] .pc-pair-mark{color:var(--success-ink)}.pc-pair[data-pc-state=wrong]{border-color:var(--danger);background:var(--danger-tint);box-shadow:inset 0 0 0 1px var(--danger);color:var(--ink)}.pc-pair[data-pc-state=wrong] .pc-pair-mark{color:var(--danger-ink)}@media(hover:hover){.pc-pair[data-pc-state=idle]:hover{border-color:var(--brand);background:var(--brand-tint)}}@media(prefers-reduced-motion:no-preference){#app:not([data-learning-motion=reduced]):not([data-learning-motion=off]) .pc-pair[data-pc-fresh] .pc-pair-mark{animation:pc-arrive .18s ease-out}}@media(max-width:560px){.pc-pairs-cols{column-gap:var(--space-2)}.pc-pair{padding:var(--space-2) 10px}}.pc-explain{border-inline-start:3px solid var(--border-2)}.pc-explain[data-pc-explain=right]{border-inline-start-color:var(--success)}.pc-explain[data-pc-explain=wrong]{border-inline-start-color:var(--info)}.pc-explain-title{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:650;line-height:1.4;color:var(--ink)}.pc-explain-title svg,.pc-ai-title svg{flex:none}.pc-explain p{line-height:1.6;overflow-wrap:anywhere}.pc-ai-explain{display:grid;justify-items:start;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--text-sm);min-width:0}.pc-ai-explain .ai-access{margin:0;justify-self:stretch}.pc-ai-lead{margin:0;color:var(--ink-2);line-height:1.5}.pc-ai-ask{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;max-width:100%;white-space:normal;text-align:left}.pc-ai-ask[hidden]{display:none}.pc-ai-ask[aria-disabled=true]{opacity:.72;cursor:progress}.pc-ai-status{display:flex;align-items:flex-start;gap:var(--space-2);margin:0;color:var(--ink-2);line-height:1.5;overflow-wrap:anywhere}.pc-ai-status svg{flex:none;margin-top:2px}.pc-ai-status[data-ai-problem]{color:var(--ink)}.pc-ai-result{justify-self:stretch;min-width:0;padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-inline-start:3px solid var(--brand);border-radius:var(--radius-md);background:var(--surface)}.pc-ai-title{display:flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--text-sm);font-weight:650;line-height:1.4;color:var(--ink)}.pc-ai-note{margin:var(--space-1) 0 var(--space-3);font-size:var(--text-xs);line-height:1.5;color:var(--ink-3)}.pc-ai-text p{margin:0;line-height:1.6;color:var(--ink);overflow-wrap:anywhere}.pc-ai-text p+p{margin-top:var(--space-2)}.pc-ai-result:focus,.pc-ai-status:focus{outline:none}.pc-ai-result:focus-visible,.pc-ai-status:focus-visible{outline:2px solid var(--focus-quiet,var(--brand));outline-offset:3px}.builder-explain{margin:0 0 var(--space-5);min-width:0}.feedback+.builder-explain{margin-top:var(--space-3)}.builder-explain>.btn{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px}.builder-explain .pc-explain{margin-top:var(--space-2)}@media(max-width:560px){.pc-explain,.pc-ai-result{padding:var(--space-3) var(--space-4)}.pc-ai-ask{width:100%;justify-content:center}}.pc-card .tp-figure,.pc-card .tp-eyes,.pc-card .tutor-face *{animation:none!important}.pc-card :focus,.pc-card[data-pc-feedback],.pc-round-done h2{scroll-margin:96px 0 104px}@media(prefers-reduced-motion:no-preference){#app:not([data-learning-motion=reduced]):not([data-learning-motion=off]) .pc-status{animation:pc-arrive .2s ease-out}}@keyframes pc-arrive{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.pc-bubble-text [data-pc-word]{transition:none}}[data-learning-motion=reduced] .pc-bubble-text [data-pc-word],[data-learning-motion=off] .pc-bubble-text [data-pc-word]{transition:none}@media(max-width:700px){.pc-card{padding:var(--space-5) var(--space-4)}.pc-options{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.pc-avatar,.pc-avatar .tutor-face{width:40px;height:40px}.pc-initial{width:40px;height:40px;font-size:var(--text-md)}.pc-bubble{padding:var(--space-3)}.pc-bubble-text{font-size:var(--text-lg)}.pc-again{margin-inline-start:0}.pc-round-done{padding:var(--space-6) var(--space-4)}}.journey-ready{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center}.journey-ready h2{margin:0;font-size:var(--text-2xl);line-height:1.25}.journey-ready p{margin:0 0 var(--space-4);max-width:46ch;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.journey-ready .text-link{margin-top:var(--space-2);min-height:44px}.journey-stepper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);list-style:none;margin:0 0 var(--space-4);padding:0}.journey-stepper li{display:flex;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-2) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:600;color:var(--ink-3)}.journey-stepper li>span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:var(--surface-2);font-size:var(--text-xs);font-weight:700;color:var(--ink-2)}.journey-stepper li.active{border-color:var(--brand);color:var(--ink);box-shadow:0 0 0 3px var(--brand-tint)}.journey-stepper li.active>span{background:var(--brand);color:#fff}.journey-stepper li.complete{color:var(--ink-2)}.journey-stepper li.complete>span{background:var(--brand-tint);color:var(--brand)}.journey-progress{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.journey-progress progress{flex:1;width:100%;min-width:0;height:6px;border:0;border-radius:var(--radius-pill);overflow:hidden;-webkit-appearance:none;appearance:none;background:var(--surface-2);color:var(--brand)}.journey-progress progress::-webkit-progress-bar{background:var(--surface-2)}.journey-progress progress::-webkit-progress-value{background:var(--brand);border-radius:var(--radius-pill)}.journey-progress progress::-moz-progress-bar{background:var(--brand);border-radius:var(--radius-pill)}.journey-progress>span{font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink-3)}.journey-game{padding:var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.journey-round{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);font-size:var(--text-xs);font-weight:650;letter-spacing:.08em;color:var(--brand)}.journey-round>span{font-size:var(--text-sm);font-weight:600;letter-spacing:0;color:var(--ink-3)}.journey-game>h2{margin:var(--space-4) 0 var(--space-1);font-size:var(--text-3xl);line-height:1.25;letter-spacing:-.02em}.journey-game>p{margin:0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.journey-listening-icon{position:relative;display:grid;place-items:center;width:80px;height:80px;margin:var(--space-6) auto var(--space-4);border-radius:50%;background:var(--brand-tint);color:var(--brand)}.journey-listening-icon svg{width:36px;height:36px}.journey-sound-pip{position:absolute;right:2px;bottom:4px;width:16px;height:16px;border-radius:50%;background:var(--sun);border:3px solid var(--surface)}.journey-game>.a1-audio-controls{margin:var(--space-5) 0 0}.journey-game>.btn.ghost{margin-top:var(--space-2)}.journey-listen-hint{margin:var(--space-3) 0 0!important;font-size:var(--text-sm)!important;color:var(--ink-3)!important}.journey-text-prompt{display:inline-block;margin-top:var(--space-4)!important;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink)!important;font-size:var(--text-2xl)!important;font-weight:600}.journey-choices{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin:var(--space-5) 0 0}.journey-choices .a1-choice{min-height:60px;overflow-wrap:anywhere}.journey-choices .a1-choice strong{font-size:var(--text-lg);line-height:1.4}.journey-question>p{margin:var(--space-1) 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.journey-question{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border)}.journey-question h3{margin:0;font-size:var(--text-xl);line-height:1.4}.journey-feedback{margin:var(--space-5) 0 0;padding:var(--space-4) var(--space-5);border:1px solid #bfe3cf;border-radius:var(--radius-md);background:var(--success-tint);line-height:1.6;color:var(--ink)}.journey-feedback>strong{display:flex;align-items:center;gap:8px;font-weight:650;color:var(--success-ink)}.journey-feedback p{margin:var(--space-2) 0 var(--space-1);font-size:var(--text-md)}.journey-feedback p[lang=de]{font-size:var(--text-lg);font-weight:600}.journey-feedback>span{display:block;font-size:var(--text-sm);color:var(--ink-3)}.journey-feedback .a1-audio-controls{margin-top:var(--space-3)}.journey-feedback.learn-again{background:var(--danger-tint);border-color:#f2cdc8}.journey-feedback.learn-again>strong{color:var(--danger-ink)}.journey-feedback:focus{outline:none}.journey-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border)}.journey-actions>span{font-size:var(--text-sm);color:var(--ink-3)}.journey-transcript{margin:var(--space-4) 0 0;padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);background:var(--surface-2)}.journey-transcript .a1-transcript-line{margin:0;padding:var(--space-3) 0}.journey-transcript .a1-line-content p{font-size:var(--text-lg)}.journey-recipe{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-5) 0 var(--space-4)}.journey-recipe>span{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--radius-pill);background:var(--surface-2);font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.journey-recipe b{font-size:var(--text-xs);color:var(--ink-3)}.journey-sentence-canvas{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);min-height:132px;padding:var(--space-10) var(--space-5) var(--space-5);background:var(--surface-2);border:1px dashed var(--border-2);border-radius:var(--radius-md)}.journey-canvas-label{position:absolute;left:var(--space-5);top:var(--space-4);font-size:var(--text-xs);font-weight:650;letter-spacing:.08em;color:var(--ink-3)}.journey-sentence-canvas>p{margin:0;font-size:var(--text-md);line-height:1.5;color:var(--ink-3)}.journey-phrase-bank{display:flex;flex-wrap:wrap;gap:var(--space-2);min-height:48px;margin-top:var(--space-4)}.journey-phrase-bank .phrase,.journey-sentence-canvas .phrase{max-width:100%;min-height:48px;font-family:inherit;font-size:var(--text-lg);line-height:1.4;text-align:left;overflow-wrap:anywhere}.journey-hint{margin:var(--space-4) 0 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--sun-tint);font-size:var(--text-sm);line-height:1.6;color:var(--ink)}.journey-complete{padding:var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center}.journey-completion-icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto var(--space-4);border-radius:50%;background:var(--success-tint);color:var(--success-ink)}.journey-complete h2{margin:var(--space-2) 0;font-size:var(--text-3xl);line-height:1.2;letter-spacing:-.02em}.journey-complete>p{max-width:56ch;margin:var(--space-3) auto;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.journey-discoveries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:var(--space-6) 0}.journey-discoveries>div{padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-2)}.journey-discoveries strong{display:block;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:750;color:var(--ink)}.journey-discoveries span{display:block;margin-top:2px;font-size:var(--text-sm);line-height:1.4;color:var(--ink-3)}.journey-word-souvenirs{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.journey-word-souvenirs>span{display:grid;gap:2px;padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.journey-word-souvenirs strong{font-size:var(--text-md)}.journey-word-souvenirs small{font-size:var(--text-sm);color:var(--ink-3)}.journey-complete .journey-actions{justify-content:center}.journey-optional{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-5);margin-top:var(--space-6)}.journey-optional>span{width:100%;font-size:var(--text-xs);font-weight:650;letter-spacing:.08em;color:var(--ink-3)}.journey-optional a{display:flex;align-items:center;gap:8px;min-height:44px;font-size:var(--text-sm);font-weight:600;color:var(--brand-ink)}.journey-passport-hero{display:block;padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.journey-passport-hero h2{margin:var(--space-1) 0 var(--space-2);font-size:var(--text-3xl);font-weight:750;letter-spacing:-.02em;color:var(--ink)}.journey-passport-hero p{margin:0 0 var(--space-1);font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.journey-evidence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:var(--space-4) 0}.journey-evidence>div{padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.journey-evidence dt{font-size:var(--text-xs);font-weight:650;color:var(--ink-3)}.journey-evidence dd{margin:2px 0 0;font-size:var(--text-xl);font-weight:750;color:var(--ink);font-variant-numeric:tabular-nums}.journey-evidence dd span{font-size:var(--text-sm);font-weight:500;color:var(--ink-3);white-space:nowrap}.journey-passport-hero .journey-week{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border)}.journey-week{display:grid;gap:var(--space-3);margin-top:var(--space-5)}.journey-week>div:first-child{display:grid;gap:2px}.journey-week strong{font-size:var(--text-sm);font-weight:650}.journey-week>div>span{font-size:var(--text-sm);color:var(--ink-3)}.journey-days{display:flex;flex-wrap:wrap;gap:6px}.journey-days>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--border-2);border-radius:50%;background:var(--surface);font-size:var(--text-xs);font-weight:650;color:var(--ink-3)}.journey-days>span.practiced{background:var(--brand);border-color:var(--brand);color:#fff}.journey-days>span.today{outline:2px solid var(--brand);outline-offset:2px}.journey-stamp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.journey-stamp{display:flex;gap:var(--space-4);min-width:0;padding:var(--space-5);background:var(--surface);border:1px dashed var(--border-2);border-radius:var(--radius-lg)}.journey-stamp.earned{border-style:solid;border-color:var(--border);box-shadow:var(--shadow-sm)}.journey-stamp .hub-art{flex:0 0 48px;width:48px;height:48px}.journey-stamp:not(.earned) .hub-art{background:var(--surface-2);color:var(--ink-3)}.journey-stamp h3{margin:var(--space-2) 0 var(--space-1);font-size:var(--text-lg);line-height:1.3}.journey-stamp p{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}#app[data-shell=bar] .journey-stamp .badge{white-space:normal}#app[data-shell=bar] .journey-stamp.earned .badge{background:var(--success-tint);color:var(--success-ink)}.journey-preferences{margin-top:var(--space-10);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.journey-preferences h2{margin:0 0 var(--space-1);font-size:var(--text-xl)}.journey-preferences p{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.journey-preference-fields{display:grid;grid-template-columns:1fr;gap:var(--space-4);margin:var(--space-5) 0}.journey-preference-fields label{display:grid;gap:6px;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.journey-preference-fields select{width:100%;min-width:0;min-height:48px;padding:0 14px;border:1px solid var(--border-2);border-radius:var(--radius-md);background-color:var(--surface);font-family:inherit;font-size:var(--text-md);color:var(--ink)}.journey-preferences>.btn{margin-bottom:var(--space-2)}.journey-small{font-size:var(--text-sm)!important}.journey-celebration{position:fixed;left:50%;bottom:var(--space-8);z-index:1100;display:flex;align-items:center;gap:var(--space-3);max-width:min(600px,90vw);padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);font-size:var(--text-md);color:var(--ink);transform:translate(-50%);pointer-events:none}.journey-celebration>span{font-size:var(--text-2xl);color:var(--sun-ink)}@keyframes journey-settle{0%{opacity:.7;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes journey-bloom{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes journey-pulse{0%{opacity:.7;transform:scale(.9)}to{opacity:1;transform:scale(1)}}[data-course=a1][data-learning-motion=full] .journey-sentence-canvas .phrase,[data-course=a1][data-learning-motion=full] .journey-feedback{animation:journey-settle .18s ease-out both}[data-course=a1][data-learning-motion=full] .journey-celebration{animation:journey-bloom .5s ease-out both}[data-course=a1][data-learning-motion=full][data-learning-audio=playing] .journey-listening-icon{animation:journey-pulse .55s ease-out both}[data-course=a1][data-learning-motion=reduced] *,[data-course=a1][data-learning-motion=off] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){[data-course=a1] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:700px){.journey-evidence{grid-template-columns:1fr;gap:var(--space-2)}.journey-evidence>div{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-4)}.journey-evidence dt{font-size:var(--text-sm)}.journey-evidence dd{margin:0;font-size:var(--text-lg)}.journey-ready{padding:var(--space-6) var(--space-4)}.journey-ready .btn{width:100%}.journey-stepper{gap:6px}.journey-stepper li{justify-content:center;gap:6px;padding:var(--space-2) 6px;font-size:var(--text-sm)}.journey-stepper li>span{flex-basis:24px;width:24px;height:24px}.journey-game{padding:var(--space-5) var(--space-4)}.journey-game>h2{font-size:var(--text-2xl)}.journey-choices{grid-template-columns:1fr}.journey-actions{flex-direction:column;align-items:stretch}.journey-actions .btn{width:100%}.journey-sentence-canvas{padding:var(--space-10) var(--space-3) var(--space-4)}.journey-transcript{padding:var(--space-1) var(--space-3)}.journey-complete{padding:var(--space-6) var(--space-4)}.journey-complete h2{font-size:var(--text-2xl)}.journey-discoveries{gap:var(--space-2)}.journey-discoveries>div{padding:var(--space-3) var(--space-2)}.journey-discoveries strong{font-size:var(--text-xl)}.journey-discoveries span{font-size:var(--text-xs)}.journey-passport-hero{padding:var(--space-5)}.journey-stamp-grid{grid-template-columns:1fr}.journey-stamp{padding:var(--space-4)}.journey-stamp .hub-art{flex-basis:44px;width:44px;height:44px}.journey-preferences{padding:var(--space-5) var(--space-4)}.journey-preference-fields{grid-template-columns:1fr}.journey-preferences>.btn{width:100%}.journey-celebration{bottom:calc(84px + env(safe-area-inset-bottom));font-size:var(--text-sm)}}@media(max-width:420px){.journey-stepper li{flex-direction:column;gap:2px;min-height:60px;padding:var(--space-2) 4px;border-radius:var(--radius-md);text-align:center}}.lid-keyword{text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--brand);text-underline-offset:5px}.lidwords [data-lid-token].speaking{border-radius:4px;background:var(--sun-tint);box-shadow:0 0 0 3px var(--sun-tint);color:var(--ink)}.lid-question-words{margin:var(--space-5) 0;padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.lid-question-words>div:first-child{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-1) var(--space-4)}.lid-question-words strong{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:650;color:var(--ink)}.lid-question-words strong svg{color:var(--brand)}.lid-question-words>div>span{font-size:var(--text-sm);color:var(--ink-3)}.lid-word-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.lid-word-chips .btn.ghost{min-height:44px;padding:6px 14px;background:var(--surface);border:1px solid var(--border-2);font-size:var(--text-sm);white-space:normal;color:var(--brand-ink)}.lid-word-chips .btn.ghost:hover:not(:disabled){border-color:var(--brand);background:var(--brand-tint)}.lid-word-chips .btn.ghost[aria-expanded=true]{background:var(--brand);border-color:var(--brand);color:#fff}.lid-player{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.lid-player label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-2)}.lid-player select{min-height:44px;padding:0 var(--space-2);border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--surface);font:inherit;font-size:var(--text-sm);color:var(--ink)}.lid-player .btn{white-space:normal}.lid-player .icon-btn{background:var(--brand-tint);border-color:var(--brand-tint-2);color:var(--brand-ink)}.lid-player .icon-btn:hover:not(:disabled){background:var(--brand-tint-2);border-color:var(--brand)}.lid-player .icon-btn[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}.lid-player .icon-btn:disabled{opacity:.4}.lid-audio-note{font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.lid-gloss{margin-top:var(--space-4);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.lid-gloss h3{margin:0 0 2px;font-size:var(--text-xl)}.lid-gloss>div>span{font-size:var(--text-md);color:var(--ink-2)}.lid-gloss .lid-player{margin-top:var(--space-4)}.lid-gloss p{margin-top:var(--space-3);font-size:var(--text-md);line-height:1.65;color:var(--ink-2)}.lid-gloss p[lang=de]{font-size:var(--text-lg);color:var(--ink)}.lid-memory-hint{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--sun-tint);font-size:var(--text-sm)!important;line-height:1.6}.lid-memory-hint svg{flex:0 0 auto;margin-top:2px;color:var(--sun-ink)}.lid-gloss-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4)}.lid-vocabulary-hero{margin:0 0 var(--space-6);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.lid-vocabulary-hero h2{margin:var(--space-2) 0;font-size:var(--text-2xl)}.lid-vocabulary-hero p{max-width:56ch;font-size:var(--text-md);line-height:1.65}.lid-vocabulary-hero>div>div{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}.lid-learning-links{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-5);margin:var(--space-6) 0}.lid-learning-links a:not(.btn){display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;font-size:var(--text-sm);font-weight:600;color:var(--brand-ink)}.lid-learning-links a:not(.btn):hover{text-decoration:underline;text-underline-offset:3px}.lid-word-toolbar{display:flex;align-items:flex-end;gap:var(--space-3);margin-top:var(--space-6)}.lid-word-toolbar label{display:grid;flex:1;gap:6px;min-width:0;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.lid-word-toolbar input,.lid-word-toolbar select,.lid-focus-label select{width:100%;min-width:0;min-height:48px;padding:0 var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);font-family:inherit;font-size:var(--text-md);color:var(--ink)}.lid-word-toolbar .btn{flex-shrink:0;min-height:48px}.lid-word-count{margin:var(--space-4) 0;font-size:var(--text-sm);color:var(--ink-3)}.lid-word-list{display:grid;gap:var(--space-3)}.lid-word-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--space-4) var(--space-6);align-items:start;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.lid-word-row[hidden]{display:none}.lid-word-main{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);min-width:0}.lid-word-main strong{display:block;font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;line-height:1.35;overflow-wrap:anywhere;color:var(--ink)}.lid-word-main>div>span{display:block;margin-top:2px;font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.lid-word-main .lid-player{flex:0 0 auto}.lid-word-example{position:relative;min-width:0;padding-right:56px}.lid-word-example>p{margin:0 0 4px;font-size:var(--text-md);line-height:1.6;color:var(--ink)}.lid-word-example>span{display:block;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.lid-word-example>.lid-player{position:absolute;top:0;right:0}.lid-word-row-actions{grid-column:1/-1;display:flex;align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border)}.lid-word-row-actions>.icon-btn{margin-right:auto}.lid-word-row-actions .btn{min-height:44px;padding:6px 14px;white-space:normal}.lid-word-context{grid-column:1/-1}.lid-word-context>p{margin:0 0 var(--space-3);font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.lid-word-context>.btn.ghost{display:flex;justify-content:flex-start;gap:var(--space-3);width:100%;margin-top:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);text-align:left;font-size:var(--text-md);font-weight:500;line-height:1.5;white-space:normal;color:var(--ink)}.lid-word-context>.btn>svg{flex-shrink:0;margin-left:auto;color:var(--brand)}.lid-word-context .badge{flex-shrink:0}.lid-word-quiz{padding:var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.lid-word-quiz .a1-listen-orb{margin:0 auto var(--space-5)}.lid-word-quiz>.lid-player{justify-content:center}.lid-word-quiz>p{margin-top:var(--space-3);text-align:center;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.lid-word-choices{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-6)}.lid-word-choices .a1-choice{min-height:64px;font-size:var(--text-md);line-height:1.5}.lid-quiz-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border)}.lid-word-quiz .feedback p[lang=de]{font-size:var(--text-lg);color:var(--ink)}.lid-word-quiz .feedback>div{margin-top:var(--space-3)}.lid-word-quiz .feedback .lid-player{margin-top:var(--space-3)}.lid-word-quiz form{display:grid;gap:var(--space-3);margin-top:var(--space-6)}.lid-word-quiz form label{font-size:var(--text-sm);font-weight:600;color:var(--ink)}.lid-word-quiz form input{width:100%;min-height:52px;padding:0 var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-lg);color:var(--ink)}.lid-word-quiz form input:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus)}.lid-recall-intro{padding:var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.lid-recall-intro h2{font-size:var(--text-2xl)}.lid-recall-intro ol{display:grid;gap:var(--space-4);margin:var(--space-5) 0;padding:0;list-style:none;counter-reset:recall}.lid-recall-intro li{position:relative;padding-left:48px;font-size:var(--text-md);line-height:1.6;color:var(--ink-2);counter-increment:recall}.lid-recall-intro li:before{content:counter(recall);position:absolute;left:0;top:0;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--brand-tint);font-family:var(--font-display);font-size:var(--text-sm);font-weight:750;color:var(--brand-ink)}.lid-recall-intro li b{display:block;font-weight:650;color:var(--ink)}.lid-recall-intro>p{font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.lid-focus-label{display:grid;gap:6px;margin:var(--space-6) 0 var(--space-5);font-size:var(--text-sm);font-weight:600;color:var(--ink)}.lid-memory-resume{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border)}.lid-memory-resume p{font-size:var(--text-sm);color:var(--ink-2)}.lid-recall-intro+.text-link{margin-top:var(--space-5)}.lid-step-tag{flex-shrink:0;padding:4px 12px;border-radius:var(--radius-pill);background:var(--brand-tint);font-size:var(--text-xs);font-weight:650;line-height:1.5;color:var(--brand-ink)}.lid-recall-prompt{margin-top:var(--space-5);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.lid-recall-prompt label{display:block;font-size:var(--text-md);font-weight:650;color:var(--ink)}.lid-recall-prompt label>span{display:block;margin-top:2px;font-size:var(--text-sm);font-weight:400;color:var(--ink-3)}.lid-recall-prompt textarea{display:block;width:100%;min-height:120px;margin:var(--space-3) 0 var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);font-family:inherit;font-size:var(--text-md);line-height:1.6;color:var(--ink);resize:vertical}.lid-recall-prompt textarea:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus)}.lid-recall-prompt>p{font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.lid-recall-prompt>.btn{margin-top:var(--space-4)}.lid-recall-ratings{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:var(--space-4) 0 0}.lid-recall-ratings>p{width:100%;font-size:var(--text-sm);font-weight:600;color:var(--ink)}.lid-recall-ratings>p span{font-weight:400;color:var(--ink-3)}.lid-recall-ratings .btn{min-height:44px;white-space:normal}.lid-answer-anchor{font-size:var(--text-lg)!important;line-height:1.6;color:var(--ink)!important}.lid-memory-card .feedback details{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid color-mix(in srgb,var(--success) 35%,var(--surface))}.lid-memory-card .feedback summary{display:flex;align-items:center;min-height:44px;font-size:var(--text-sm);font-weight:650;cursor:pointer}.lid-memory-card .feedback details>span{font-size:var(--text-sm);color:var(--ink-3)}.lid-memory-result-list{display:grid;gap:var(--space-3);margin-top:var(--space-6)}.lid-memory-result-list article{min-width:0;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-wrap:anywhere}.lid-memory-result-list h3{margin:var(--space-3) 0 var(--space-2);font-family:var(--font-text);font-size:var(--text-md);font-weight:550;line-height:1.55;letter-spacing:0}.lid-memory-result-list strong{display:block;font-size:var(--text-md);font-weight:650;line-height:1.55;color:var(--success-ink)}.lid-memory-result-list p{font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.lid-memory-result-list .btn{margin-top:var(--space-2)}.lid-recovered-notes{min-width:0;margin:var(--space-6) 0;padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow-wrap:anywhere}.lid-recovered-notes h2{font-size:var(--text-xl)}.lid-recovered-notes p{margin-top:var(--space-2);font-size:var(--text-md);line-height:1.65;white-space:pre-wrap}.lid-recovered-notes article{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}@media(max-width:700px){.lid-question-words,.lid-gloss{padding:var(--space-4)}.lid-gloss-links{flex-direction:column;align-items:stretch}.lid-vocabulary-hero{padding:var(--space-5)}.lid-vocabulary-hero>div>div{display:grid}.lid-learning-links{flex-direction:column;align-items:stretch;gap:0}.lid-word-toolbar{display:grid}.lid-word-row{grid-template-columns:1fr;padding:var(--space-4)}.lid-word-row-actions{flex-wrap:wrap}.lid-word-quiz{padding:var(--space-5) var(--space-4)}.lid-word-choices{grid-template-columns:1fr}.lid-player>.lid-audio-note{width:100%}.lid-recall-intro{padding:var(--space-6) var(--space-5)}.lid-memory-card .question-meta{flex-wrap:wrap}.lid-recall-prompt{padding:var(--space-4)}.lid-recall-prompt>.btn,.lid-quiz-actions>.btn,.lid-recall-intro>.btn{width:100%}.lid-recall-ratings .btn{flex:1 1 100%}}@media(prefers-reduced-motion:reduce){.lidwords *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.state-choice-intro{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-2) var(--space-5);margin:0 0 var(--space-8);padding:var(--space-5) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.state-choice-intro>div{display:grid;grid-template-columns:44px auto;align-items:center;gap:0 var(--space-3)}.state-choice-intro svg{grid-row:span 2;width:44px;height:44px;padding:10px;border-radius:var(--radius-md);background:var(--brand-tint);color:var(--brand)}.state-choice-intro strong{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;line-height:1.25;color:var(--ink)}.state-choice-intro span{font-size:var(--text-sm);color:var(--ink-3)}.state-choice-intro p{margin:0;padding-left:var(--space-5);border-left:1px solid var(--border);font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.state-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.state-choice{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;padding:var(--space-5);text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}.state-choice:hover{border-color:var(--border-2);box-shadow:var(--shadow-md)}.state-choice.selected{background:var(--brand-tint);border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.state-choice-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.state-code{display:grid;place-items:center;min-width:44px;height:36px;padding:0 10px;border-radius:var(--radius-sm);background:var(--surface-2);font-size:var(--text-sm);font-weight:750;letter-spacing:.04em;color:var(--ink-2)}.state-choice.selected .state-code{background:var(--brand);color:#fff}.state-chosen{display:flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:650;color:var(--brand-ink)}.state-choice-count{font-size:var(--text-xs);color:var(--ink-3)}.state-choice>strong{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;line-height:1.3;overflow-wrap:anywhere}.state-capital{font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.state-choice-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--border);font-size:var(--text-sm);font-weight:600;color:var(--brand-ink)}.state-choice.selected .state-choice-bottom{border-color:var(--brand-tint-2)}@media(max-width:760px){.state-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.state-choice-intro{grid-template-columns:1fr;gap:var(--space-4);padding:var(--space-5)}.state-choice-intro p{padding:var(--space-4) 0 0;border-left:0;border-top:1px solid var(--border)}}@media(max-width:480px){.state-choice-grid{grid-template-columns:1fr}.state-choice{padding:var(--space-4) var(--space-5)}}@media(prefers-reduced-motion:reduce){.state-choice{transition:none}}.profile-header{display:inline-flex;align-items:center;gap:8px;max-width:200px;text-decoration:none}.profile-header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-benefits{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin:var(--space-4) 0 0;padding:0;list-style:none}.profile-benefits li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:500;color:var(--ink-2)}.profile-benefits svg{color:var(--brand)}.profile-layout,.profile-account-grid{display:grid;gap:var(--space-4)}.profile-panel{min-width:0;padding:var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.profile-panel h2{margin:var(--space-6) 0 var(--space-2);font-size:var(--text-2xl)}.profile-panel>.eyebrow+h2{margin-top:var(--space-2)}.profile-panel h3{margin:var(--space-8) 0 var(--space-2);font-size:var(--text-lg)}.profile-panel p{font-size:var(--text-md);line-height:1.65;color:var(--ink-2)}.profile-panel>.btn{margin-top:var(--space-4)}.profile-tabs{display:flex;gap:4px;padding:4px;border-radius:var(--radius-pill);background:var(--surface-2)}.profile-tabs button{flex:1;min-height:44px;padding:0 var(--space-4);border:0;border-radius:var(--radius-pill);background:transparent;font-size:var(--text-sm);font-weight:600;color:var(--ink-2);cursor:pointer}.profile-tabs button[aria-pressed=true]{background:var(--surface);color:var(--brand-ink);box-shadow:var(--shadow-sm)}.profile-panel form{display:flex;flex-direction:column;gap:var(--space-5);margin-top:var(--space-6)}.profile-panel label{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--ink)}.profile-panel input:not([type=checkbox]){width:100%;min-height:48px;padding:0 var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);font:inherit;font-size:var(--text-md);font-weight:400;color:var(--ink)}.profile-panel input:not([type=checkbox])::placeholder{color:var(--ink-4)}.profile-panel input:not([type=checkbox]):focus{outline:none;border-color:var(--brand);box-shadow:var(--focus)}.password-field{position:relative}.password-field input{padding-right:76px!important}.password-field button{position:absolute;top:2px;right:2px;height:44px;min-width:64px;padding:0 var(--space-3);border:0;border-radius:var(--radius-md);background:transparent;font-size:var(--text-sm);font-weight:600;color:var(--brand-ink);cursor:pointer}.profile-panel form .btn{width:100%;min-height:48px}.profile-panel .profile-check{flex-direction:row;align-items:flex-start;gap:var(--space-3);font-size:var(--text-md);font-weight:400;line-height:1.5}.profile-check input{flex-shrink:0;width:20px;height:20px;margin:2px 0 0;accent-color:var(--brand)}.profile-panel .profile-help{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.profile-panel>form+.profile-help{margin:var(--space-5) 0 var(--space-2)}.profile-panel .profile-error{margin:0;color:var(--danger-ink);font-size:var(--text-sm)}.profile-error:empty{display:none}.profile-avatar{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--brand-tint);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:750;color:var(--brand-ink)}.profile-avatar+h2{margin-top:var(--space-4)}.profile-panel .profile-sync{display:inline-flex;margin-top:var(--space-3);padding:6px 12px;border-radius:var(--radius-pill);background:var(--success-tint);font-size:var(--text-sm);color:var(--success-ink)}.profile-course-list{display:grid;margin:var(--space-6) 0;border-top:1px solid var(--border)}.profile-course-list>div{display:flex;align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-2) 0;border-bottom:1px solid var(--border);font-size:var(--text-md);color:var(--ink)}.profile-course-list svg{color:var(--brand)}.profile-course-list small{margin-left:auto;font-size:var(--text-sm);color:var(--ink-3);text-align:right}.profile-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.profile-delete{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);margin-top:var(--space-4);padding:var(--space-6) var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.profile-delete h2{margin:var(--space-2) 0;font-size:var(--text-xl)}.profile-delete p{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.profile-delete .btn{flex-shrink:0}.profile-delete-confirm>.text-link{margin-bottom:var(--space-4)}.profile-delete-confirm h1{margin:var(--space-2) 0 var(--space-3);font-size:var(--text-3xl)}.profile-delete-confirm .profile-panel p+p{margin-top:var(--space-3)}.profile-conflict{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border)}.profile-conflict h3{margin-top:0}.profile-conflict .btn{margin:var(--space-2) var(--space-2) 0 0}.profile-panel .profile-email{margin:var(--space-1) 0 0;overflow-wrap:anywhere}.profile-invited{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-6);padding:6px 12px;border-radius:var(--radius-pill);background:var(--success-tint);font-size:var(--text-sm);font-weight:600;color:var(--success-ink,var(--brand-ink))}.profile-invited+h2{margin-top:var(--space-3)}.profile-signup-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}.profile-signup-actions+.profile-help{margin-top:var(--space-6)!important}.profile-panel>p[aria-busy=true]:after{content:"";display:inline-block;width:14px;height:14px;margin-left:var(--space-2);vertical-align:-2px;border:2px solid var(--border-2);border-top-color:var(--brand);border-radius:50%;animation:profile-spin .8s linear infinite}@keyframes profile-spin{to{transform:rotate(360deg)}}.profile-invites{margin-top:var(--space-4)}.profile-panel .invite-count{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--ink-2)}.invite-count strong{color:var(--ink)}.profile-invites>.btn{margin-top:var(--space-5)}.profile-invites>.profile-error{margin-top:var(--space-4)}.invite-fresh{margin-top:var(--space-5);padding:var(--space-5);border:1px solid color-mix(in srgb,var(--brand) 30%,var(--border));border-radius:var(--radius-md);background:var(--brand-tint)}.invite-fresh>label{font-size:var(--text-sm);font-weight:600;color:var(--ink)}.invite-fresh__row{display:flex;gap:var(--space-2);margin:var(--space-2) 0 var(--space-3)}.profile-panel .invite-fresh__row input{flex:1;min-width:0;font-family:var(--font-mono,ui-monospace,monospace);font-size:var(--text-sm);background:var(--surface)}.invite-fresh__row .btn{flex-shrink:0;min-height:48px}.invite-links{display:grid;margin:var(--space-3) 0 0;padding:0;list-style:none;border-top:1px solid var(--border)}.invite-link{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.invite-link__text{display:flex;flex-direction:column;gap:2px;min-width:0;margin-right:auto}.invite-link__text strong{font-size:var(--text-md);font-weight:600;color:var(--ink)}.invite-link__text span{font-size:var(--text-sm);color:var(--ink-3)}.invite-link__state{flex-shrink:0;padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs,12px);font-weight:600;background:var(--surface-2);color:var(--ink-2)}.invite-link__state--active{background:var(--success-tint);color:var(--success-ink,var(--brand-ink))}.invite-link__revoke{flex-shrink:0;min-height:44px}.voice-preferences{margin-top:var(--space-4)}.voice-preferences>h2{margin-top:var(--space-2)}.voice-preferences .profile-help{display:block;margin-top:var(--space-3)}.voice-provider-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:var(--space-5) 0 var(--space-3)}.voice-provider-option{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-5);text-align:left;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-lg);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s,background-color .15s}.voice-provider-option:hover{border-color:var(--brand)}.voice-provider-option[aria-pressed=true]{background:var(--brand-tint);border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.voice-provider-option__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-1);font-family:var(--font-display);font-size:var(--text-lg)}.voice-provider-option__top>span{color:var(--brand)}.voice-provider-option b{font-size:var(--text-md);font-weight:650}.voice-provider-option>span:last-child{font-size:var(--text-sm);line-height:1.55;color:var(--ink-2)}.voice-provider-note{font-size:var(--text-sm);color:var(--ink-3)}.voice-provider-note a{color:inherit;text-underline-offset:3px}@media(max-width:700px){.profile-panel{padding:var(--space-6) var(--space-5)}.profile-delete{flex-direction:column;align-items:flex-start;padding:var(--space-6) var(--space-5)}.profile-course-list small{display:none}.profile-actions .btn{flex:1}.voice-provider-options{grid-template-columns:1fr}.invite-fresh{padding:var(--space-4)}.profile-tabs button{padding:0 var(--space-2);white-space:nowrap}.invite-link{flex-wrap:wrap;row-gap:var(--space-1);padding:var(--space-3) 0}.invite-link__text{flex-basis:100%}.invite-link__revoke{margin-left:auto}.invite-fresh__row{flex-wrap:wrap}.profile-panel .invite-fresh__row input{flex-basis:100%}.invite-fresh__row .btn,.profile-signup-actions .btn{flex:1}}@media(prefers-reduced-motion:reduce){.voice-provider-option{transition:none}.profile-panel>p[aria-busy=true]:after{animation:none}}.profile-panel .captcha{position:relative;display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.profile-panel .captcha__widget{min-height:65px;max-width:100%}.profile-panel .captcha--compact .captcha__widget{min-height:140px}.profile-panel .captcha__status{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--danger-ink)}.profile-panel .captcha__status:not(.captcha__status--problem){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ready-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}#app[data-page=a1-readiness] .page-heading.ready-hero p.ready-words-link{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--ink-2)}#app[data-page=a1-readiness] .ready-words-link .text-link{display:inline;min-height:0;font-size:inherit;text-decoration:underline;text-underline-offset:3px;padding-block:6px}#app[data-page=a1-readiness] .ready-words-link{text-wrap:pretty}.ready-skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.ready-skill{display:grid;gap:2px;align-content:start;min-width:0;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}#app .ready-skill .a1-kicker{color:var(--ink-2)}.ready-skill strong{display:block;margin:var(--space-1) 0 var(--space-1);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:750;line-height:1.2;letter-spacing:-.02em;color:var(--ink)}.ready-skill p,.ready-skill small{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}.ready-evidence{margin:var(--space-3) 0 0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--brand-tint);line-height:1.6}.ready-evidence strong{font-size:var(--text-md);color:var(--brand-ink)}.ready-evidence p{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--ink-2)}#app[data-shell=bar][data-page=a1-readiness] .resume-banner{margin:var(--space-3) 0 0}.ready-skill-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;margin-bottom:var(--space-4);padding:4px;border-radius:var(--radius-pill);background:var(--surface-2)}.ready-skill-tabs .btn{min-height:44px;padding:8px 18px;box-shadow:none}.ready-skill-tabs .btn.primary{background:var(--surface);border-color:var(--border);color:var(--ink);box-shadow:var(--shadow-sm)}.ready-skill-tabs .btn.primary:hover{background:var(--surface);border-color:var(--border-2)}.ready-skill-tabs .btn.secondary{background:transparent;border-color:transparent;color:var(--ink-2)}.ready-skill-tabs .btn.secondary:hover{background:var(--surface);border-color:var(--border)}.ready-set-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.ready-set{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:var(--space-5);row-gap:2px;align-items:center;padding:var(--space-4) var(--space-5) var(--space-4) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.ready-set-number{grid-column:1;grid-row:1/5;display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-md);background:var(--brand-tint);font-family:var(--font-display);font-size:var(--text-md);font-weight:750;color:var(--brand)}#app .ready-set .badge{grid-column:2;grid-row:1;justify-self:start;margin-bottom:var(--space-1)}.ready-set h3{grid-column:2;grid-row:2;margin:0;font-size:var(--text-lg);line-height:1.3}.ready-set p{grid-column:2;grid-row:3;margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.ready-set small{grid-column:2;grid-row:4;display:block;margin:2px 0 0;font-size:var(--text-sm);color:var(--ink-3)}.ready-set small+.btn+small,.ready-set .btn+small{grid-column:2 / -1;grid-row:5;margin-top:var(--space-2)}.ready-set .btn{grid-column:3;grid-row:1/5}.ready-official{display:grid;grid-template-columns:1fr;gap:var(--space-8);margin:var(--space-10) 0 0;padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.ready-official h2{margin:var(--space-2) 0 var(--space-2);font-size:var(--text-2xl);line-height:1.25}.ready-official p{margin:0 0 var(--space-5);font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.ready-official form{display:grid;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-md);background:var(--surface-2)}.ready-official form h3{margin:0;font-size:var(--text-lg)}.ready-official label{display:grid;gap:6px;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.ready-official input,.ready-official select,.ready-official textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border-2);border-radius:var(--radius-md);background-color:var(--surface);font:inherit;font-size:var(--text-md);color:var(--ink);box-sizing:border-box}.ready-official small{font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}.ready-history{margin-top:var(--space-10)}.ready-history h2{margin:0 0 var(--space-3);font-size:var(--text-xl)}.ready-history>p{margin:0;padding:var(--space-5);border:1px dashed var(--border-2);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--ink-3)}.ready-history article{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-5);margin-bottom:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.ready-history small{display:block;margin-top:2px;font-size:var(--text-sm);color:var(--ink-3)}.ready-history p{flex-basis:100%;margin:0;font-size:var(--text-sm);white-space:pre-wrap;color:var(--ink-2)}.ready-exercise-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-5);margin:0 0 var(--space-6)}.ready-exercise-heading h1{margin:var(--space-2) 0;font-size:clamp(28px,3.2vw,var(--text-4xl));line-height:1.15}.ready-exercise-heading p{max-width:60ch;margin:0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.ready-timer{position:sticky;top:calc(var(--bar) + var(--space-3));display:flex;align-items:center;gap:8px;flex-shrink:0;padding:10px 18px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-sm);font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.ready-timer svg{color:var(--brand)}.ready-question,.ready-writing,.ready-speaking{margin:0 0 var(--space-3);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.ready-question blockquote{margin:var(--space-4) 0;padding:var(--space-4) var(--space-5);border-left:3px solid var(--sun);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--surface-2);font-size:var(--text-lg);line-height:1.6;white-space:pre-wrap}.ready-question h2{margin:var(--space-3) 0 var(--space-4);font-size:var(--text-xl);line-height:1.4}.ready-options{display:grid;gap:var(--space-2)}.ready-options button{display:flex;align-items:center;gap:var(--space-3);min-height:52px;padding:var(--space-3) var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-md);line-height:1.5;text-align:left;cursor:pointer}.ready-options button:hover:not(:disabled){border-color:var(--brand);background:var(--brand-tint)}.ready-options button span{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border:1px solid var(--border-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:700;color:var(--ink-2)}.ready-options button.selected{border-color:var(--brand);background:var(--brand-tint);box-shadow:inset 0 0 0 1px var(--brand)}.ready-options button.selected span{background:var(--brand);border-color:var(--brand);color:#fff}.ready-options button.correct{border-color:var(--success);background:var(--success-tint);box-shadow:none}.ready-options button.correct span{background:var(--success);border-color:var(--success);color:#fff}.ready-options button.incorrect{border-color:var(--danger);background:var(--danger-tint);box-shadow:none}.ready-options button.incorrect span{background:var(--danger);border-color:var(--danger);color:#fff}.ready-options button:disabled{cursor:default;opacity:1}.ready-options button:disabled:not(.selected):not(.correct):not(.incorrect){color:var(--ink-3)}.ready-answer{margin-top:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-sm);line-height:1.6}.ready-answer p{margin:var(--space-1) 0 0}.ready-answer details{margin-top:var(--space-3)}.ready-answer summary{min-height:44px;padding-block:10px;box-sizing:border-box;font-weight:600;color:var(--brand-ink);cursor:pointer}.ready-listen{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin:var(--space-4) 0}.ready-listen>svg{color:var(--brand)}.ready-listen small{font-size:var(--text-sm);color:var(--ink-3)}.ready-writing>label{display:block;margin-top:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.ready-writing textarea{width:100%;min-height:240px;margin-top:var(--space-2);padding:var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);font:inherit;font-size:var(--text-lg);line-height:1.7;resize:vertical;box-sizing:border-box}.ready-prompt{margin-bottom:var(--space-5);padding:var(--space-5);border-radius:var(--radius-md);background:var(--surface-2)}.ready-prompt h2{margin:var(--space-2) 0;font-size:var(--text-xl);line-height:1.4}.ready-prompt ul{margin:var(--space-2) 0;padding-left:1.2em}.ready-prompt li{margin:var(--space-1) 0;font-size:var(--text-md);line-height:1.5}.ready-prompt p{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.ready-editor-foot{display:flex;justify-content:space-between;gap:var(--space-3);margin:var(--space-2) 0;font-size:var(--text-sm);color:var(--ink-3)}.ready-review{margin:var(--space-5) 0;padding:var(--space-5);border-radius:var(--radius-md);background:var(--surface-2)}.ready-review label{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-md);line-height:1.6}.ready-review input,.ready-selfcheck input{flex-shrink:0;width:20px;height:20px;margin-top:3px;accent-color:var(--brand)}.ready-review small{display:block;margin-top:var(--space-3);font-size:var(--text-sm);color:var(--ink-3)}.ready-feedback{margin:var(--space-5) 0;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);line-height:1.6}.ready-feedback ul{padding-left:0;list-style:none}.ready-feedback li{margin:var(--space-3) 0}.ready-feedback p{white-space:pre-wrap}.ready-feedback h3{font-size:var(--text-lg);line-height:1.5}.ready-model{margin:var(--space-4) 0;padding:var(--space-4) var(--space-5);border:1px dashed var(--border-2);border-radius:var(--radius-md);line-height:1.6}.ready-model summary{min-height:44px;padding-block:10px;box-sizing:border-box;font-weight:600;color:var(--brand-ink);cursor:pointer}.ready-speaking-note{margin:0 0 var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.ready-speaking h2{margin:var(--space-2) 0 0;font-size:var(--text-xl)}.ready-spoken-prompt{margin:var(--space-3) 0;font-size:var(--text-xl);line-height:1.5;color:var(--ink)}.ready-record-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin:var(--space-4) 0}.ready-record-row audio{max-width:100%}.ready-record-row .btn.danger{background:var(--danger);border:1px solid var(--danger);color:#fff}.ready-selfcheck{margin:var(--space-4) 0 0;padding:var(--space-4) var(--space-5);border:0;border-radius:var(--radius-md);background:var(--surface-2)}.ready-selfcheck legend{float:left;width:100%;margin-bottom:var(--space-2);padding:0;font-size:var(--text-sm);font-weight:650}.ready-selfcheck label{display:flex;gap:var(--space-3);margin:var(--space-2) 0;font-size:var(--text-md);line-height:1.5}.ready-recording{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--danger-ink)}.ready-recording:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--danger);animation:ready-pulse 1.5s infinite}.ready-submit{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-5);padding:var(--space-5) 0}.ready-submit p{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}.ready-error{margin:0;color:var(--danger-ink);line-height:1.6}.ready-error:empty{display:none}@keyframes ready-pulse{50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.ready-recording:before{animation:none}}.ready-official{gap:var(--space-5)}@media(max-width:700px){.ready-skill-grid{gap:var(--space-2)}.ready-skill{padding:var(--space-4)}.ready-skill strong{font-size:var(--text-xl)}.ready-skill-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%;border-radius:var(--radius-lg)}.ready-set{grid-template-columns:auto minmax(0,1fr);column-gap:var(--space-4);padding:var(--space-4)}.ready-set-number{grid-row:1/3;width:44px;height:44px}#app .ready-set .badge{grid-row:1}.ready-set p{grid-column:1 / -1;grid-row:3;margin-top:var(--space-2)}.ready-set small{grid-column:1 / -1;grid-row:4}.ready-set .btn{grid-column:1 / -1;grid-row:5;width:100%;margin-top:var(--space-3)}.ready-set .btn+small{grid-row:6}.ready-official{padding:var(--space-5) var(--space-4)}.ready-official form{padding:var(--space-4)}.ready-official .btn{width:100%}.ready-exercise-heading{flex-direction:column}.ready-timer{position:static;font-size:var(--text-lg)}.ready-question,.ready-writing,.ready-speaking{padding:var(--space-5) var(--space-4)}.ready-prompt{padding:var(--space-4)}.ready-submit{flex-direction:column;align-items:stretch}.ready-editor-foot{flex-direction:column;gap:4px}}@media(max-width:900px){.ready-timer{top:calc(60px + var(--space-3))}}.ready-options button.correct:after,.ready-options button.incorrect:after{margin-left:auto;padding-left:var(--space-3);font-size:var(--text-sm);font-weight:700;white-space:nowrap}.ready-options button.correct:after{content:"✓ Correct";content:"✓ Correct" / "correct answer";color:var(--success-ink)}.ready-options button.incorrect:after{content:"✗ Your answer";content:"✗ Your answer" / "your answer, incorrect";color:var(--danger-ink)}.ready-status{display:inline-flex;align-items:center;justify-self:start;width:fit-content;max-width:100%;margin:0 0 var(--space-2);padding:2px 10px;border-radius:var(--radius-pill);background:var(--surface-2);font-size:var(--text-xs);font-weight:700;line-height:1.6;color:var(--ink-2)}.ready-status[data-tone=good]{background:var(--success-tint);color:var(--success-ink)}.ready-status[data-tone=close]{background:var(--sun-tint);color:var(--sun-ink)}.ready-status[data-tone=low]{background:var(--danger-tint);color:var(--danger-ink)}#app[data-page=a2-readiness] .ready-evidence{display:grid;gap:var(--space-1)}#app[data-page=a2-readiness] .ready-evidence .btn{justify-self:start;margin-top:var(--space-2)}#app[data-page=a2-readiness] .ready-evidence+.ready-skill-grid{margin-top:var(--space-4)}.ready-steps{margin-top:var(--space-10)}.ready-step h3 [lang=de],.ready-step p [lang=de]{font-style:normal}.ready-overall{margin:var(--space-10) 0 0;padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.ready-overall h2{margin:var(--space-2) 0 var(--space-3);font-size:var(--text-xl);line-height:1.3}.ready-overall p{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.ready-overall.is-open{background:var(--surface-2);box-shadow:none}.ready-overall dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:0 0 var(--space-4)}.ready-overall dl>div{padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-2)}.ready-overall dt{font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.ready-overall dd{display:grid;gap:2px;margin:var(--space-1) 0 0}.ready-overall dd strong{font-family:var(--font-display);font-size:var(--text-xl);font-weight:750;color:var(--ink)}.ready-overall dd span{font-size:var(--text-sm);color:var(--ink-3)}.ready-parts{margin-top:var(--space-10)}.ready-part-group{margin-top:var(--space-5)}.ready-part-group h3{margin:0 0 var(--space-2);font-size:var(--text-lg)}.ready-part-group ul{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.ready-part{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.ready-part.is-weak{border-color:var(--danger-tint);box-shadow:inset 3px 0 0 var(--danger)}.ready-part>div{display:grid;gap:2px;min-width:0}.ready-part strong{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--text-md)}.ready-part strong .ready-status{margin:0}.ready-part>div>span:not(.ready-tip){font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.ready-part small{font-size:var(--text-sm);color:var(--ink-3)}.ready-part .btn{flex-shrink:0;min-height:44px}.ready-base{margin-top:var(--space-10)}.ready-base h2{margin:0 0 var(--space-2);font-size:var(--text-xl)}.ready-base p{margin:0 0 var(--space-3);max-width:62ch;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.ready-base p strong{color:var(--ink)}.ready-base ul{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.ready-base li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-1) var(--space-3);padding:var(--space-3) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.ready-base li span{font-size:var(--text-sm);color:var(--ink-3)}.ready-base .ready-base-good{display:flex;align-items:center;gap:var(--space-2);color:var(--success-ink)}.ready-history .ready-repeats{margin-top:var(--space-3);border-style:solid;background:var(--surface-2)}@media(max-width:700px){.ready-overall{padding:var(--space-5) var(--space-4)}}@media(max-width:560px){#app[data-page=a2-readiness] .ready-skill-grid,.ready-overall dl{grid-template-columns:1fr}.ready-part{flex-direction:column;align-items:stretch;padding:var(--space-4)}.ready-part .btn{width:100%}.ready-base li{padding:var(--space-3) var(--space-4)}}.ready-part .ready-tip{margin-top:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}#app[data-shell=bar][data-page=a1-speaking]:has(.tr-room:not(.is-compact)) main{max-width:var(--content)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.speaking-avatar{position:relative;display:grid;place-items:center;--mouth:1}.speaking-avatar .tutor-face{--tf:100%;width:100%;height:100%}.tr-studio-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);margin:0 0 var(--space-6)}.tr-studio-copy h1{margin:var(--space-2) 0;font-size:clamp(30px,3.4vw,var(--text-4xl));line-height:1.15;letter-spacing:-.025em}.tr-studio-copy p{max-width:58ch;margin:0;font-size:var(--text-lg);line-height:1.6;color:var(--ink-2)}.tr-studio-tutors{display:flex;flex:none;padding-right:var(--space-2)}.tr-studio-tutors .tutor-face{--tf:104px;filter:drop-shadow(0 10px 22px rgba(16,35,27,.12))}.tr-studio-tutors .tutor-face+.tutor-face{margin-left:-18px;margin-top:28px}.tr-next{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin:0 0 var(--space-8);padding:var(--space-5) var(--space-6);border-radius:var(--radius-xl);background:linear-gradient(120deg,#0f4d3b,#0d4535 70%,#0b3b2e);color:#f4efe2;box-shadow:var(--shadow-md)}.tr-next .eyebrow{color:#f7d68d}.tr-next h2{margin:var(--space-1) 0;font-size:var(--text-xl);color:#fbf6ea}.tr-next p{max-width:62ch;margin:0;font-size:var(--text-sm);line-height:1.6;color:#c9d9cc}.tr-next .btn.primary{flex:none;background:var(--sun);border-color:var(--sun);color:#2a1d00}.tr-next .btn.primary:hover:not(:disabled){background:var(--sun-hover);border-color:var(--sun-hover)}.tr-group{margin:0 0 var(--space-8)}.tr-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin:0 0 var(--space-3)}.tr-group-head h2{margin:0;font-size:var(--text-xl)}.tr-group-head span{font-size:var(--text-sm);color:var(--ink-3);text-align:right}.tr-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.tr-card{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--space-3);align-items:start;min-height:96px;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);font:inherit;text-align:left;color:var(--ink);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.tr-card:hover{border-color:var(--brand-tint-2);box-shadow:var(--shadow-md);transform:translateY(-1px)}.tr-card:focus-visible{outline:none;box-shadow:var(--focus)}.tr-card .tr-card-art{width:44px;height:44px;border-radius:var(--radius-md)}.tr-card-copy{display:grid;gap:2px;min-width:0}.tr-card-copy small{font-size:var(--text-xs);font-weight:650;color:var(--ink-3);letter-spacing:.01em}.tr-card-copy strong{font-family:var(--font-display);font-size:var(--text-md);font-weight:700;line-height:1.3;padding-right:18px}.tr-card-copy>span{font-size:var(--text-sm);line-height:1.45;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tr-card-done{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--success-tint);color:var(--success-ink)}.tr-lobby{display:grid;grid-template-columns:minmax(0,1fr);background:var(--surface);border:1px solid var(--border);border-radius:28px;overflow:hidden;box-shadow:var(--shadow-md)}.tr-meet{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5);padding:var(--space-6) var(--space-8) var(--space-8);background:linear-gradient(170deg,#0f4d3b,#0b3b2e);color:#f4efe2;overflow:hidden}.tr-meet:before{content:"";position:absolute;inset:-30% -30% auto auto;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#f2b33d24,#f2b33d00 65%);pointer-events:none}.tr-meet-person{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);justify-items:start;align-items:center;gap:var(--space-4)}.tr-meet-person .tutor-face{--tf:96px}.tr-meet .tutor-face[data-presence=idle] .tf-wave{opacity:.75;animation:tf-breathe 4.8s ease-in-out infinite}.tr-meet-name{text-align:left}.tr-meet-name strong{display:block;font:700 26px/1.2 var(--font-display);letter-spacing:-.4px;color:#fbf6ea}.tr-meet-name span{font-size:15px;color:#c9d9cc}.tr-promise{position:relative;display:grid;gap:12px;margin:0;padding:18px 20px;list-style:none;border-radius:18px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}.tr-promise li{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5;color:#dfe8de}.tr-promise li b{color:#fbf6ea;font-weight:650}.tr-promise svg{flex:none;margin-top:2px;color:var(--sun)}.tr-plan{display:grid;gap:22px;align-content:start;padding:36px 40px 32px;min-width:0}.tr-plan-head .eyebrow{display:block}.tr-plan-head h1,.tr-plan-head h2{margin:10px 0 8px;font:700 34px/1.15 var(--font-display);letter-spacing:-.8px;color:var(--ink);overflow-wrap:anywhere}.tr-lede{margin:0;max-width:56ch;font-size:17px;line-height:1.55;color:var(--ink-2)}.tr-goals{display:grid;gap:10px;margin:0;padding:0;list-style:none}.tr-goals li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.5;color:var(--ink)}.tr-goals i{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--brand-tint);color:var(--brand);font:700 12px var(--font-text);font-style:normal}.tr-field{min-width:0;margin:0;padding:0;border:0}.tr-field legend{display:block;margin-bottom:10px;padding:0;font:600 13px/1 var(--font-text);color:var(--ink-2)}.tr-focus-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.tr-focus{display:grid;gap:3px;min-width:150px;min-height:44px;padding:12px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface);font:inherit;text-align:left;color:var(--ink);cursor:pointer;transition:border-color .15s,background-color .15s,box-shadow .15s}.tr-focus b{font:600 14px var(--font-text)}.tr-focus small{font-size:12px;color:var(--ink-3)}.tr-focus:hover{border-color:var(--brand-tint-2)}.tr-focus[aria-checked=true]{border-color:var(--brand);background:var(--brand-tint);box-shadow:inset 0 0 0 1px var(--brand)}.tr-mode{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tr-mode button{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:start;min-height:44px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:var(--surface);font:inherit;text-align:left;color:var(--ink);cursor:pointer;transition:border-color .15s,background-color .15s,box-shadow .15s}.tr-mode button svg{grid-row:span 2;margin-top:2px;color:var(--brand)}.tr-mode button b{font:600 15px var(--font-text)}.tr-mode button small{font-size:13px;line-height:1.4;color:var(--ink-3)}.tr-mode button:hover{border-color:var(--brand-tint-2)}.tr-mode button[aria-checked=true]{border-color:var(--brand);background:var(--brand-tint);box-shadow:inset 0 0 0 1px var(--brand)}.tr-focus:focus-visible,.tr-mode button:focus-visible,.tr-tutor:focus-visible,.tr-pill:focus-visible{outline:none;box-shadow:var(--focus)}.tr-miccheck{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;background:var(--surface-2)}.tr-mc-dot{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--brand-tint);color:var(--brand)}.tr-miccheck[data-tone=good] .tr-mc-dot{background:var(--success-tint);color:var(--success-ink)}.tr-miccheck[data-tone=warn] .tr-mc-dot{background:var(--sun-tint);color:var(--sun-ink)}.tr-miccheck[data-tone=bad] .tr-mc-dot{background:var(--danger-tint);color:var(--danger-ink)}.tr-mc-dot.is-live{animation:tf-breathe 1.8s ease-in-out infinite}.tr-mc-copy{min-width:0}.tr-mc-copy b{display:block;font:600 14px/1.4 var(--font-text);color:var(--ink)}.tr-mc-copy span{display:block;font-size:13px;line-height:1.45;color:var(--ink-3)}.tr-mc-acts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.tr-meter{display:flex;gap:3px;align-items:flex-end;height:24px}.tr-meter i{--v:0;width:5px;height:calc(4px + var(--v) * 18px);border-radius:3px;background:var(--brand);opacity:calc(.28 + var(--v) * .72);transition:height .08s linear,opacity .08s linear}.tr-pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 14px;border:1px solid var(--border-2);border-radius:var(--radius-pill);background:var(--surface);font:600 13px var(--font-text);color:var(--brand-ink);white-space:nowrap;cursor:pointer}.tr-pill:hover:not(:disabled){border-color:var(--brand);background:var(--brand-tint)}.tr-pill.is-strong{border-color:var(--brand);background:var(--brand);color:#fff}.tr-pill:disabled{opacity:.5;cursor:not-allowed}.tr-consent .speaking-consent{margin:0}.tr-consent .tutor-disclosure{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--ink-3)}.tr-avail{display:flex;align-items:center;gap:8px;margin:-8px 0 -10px;font-size:13px;font-weight:600;color:var(--ink-3)}.tr-avail:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--ink-4)}.tr-avail[data-tone=good]:before{background:var(--success);box-shadow:0 0 0 4px var(--success-tint)}.tr-avail[data-tone=wait]:before{animation:tf-breathe 1.4s ease-in-out infinite}.tr-avail[data-tone=bad]{color:var(--danger-ink)}.tr-avail[data-tone=bad]:before{background:var(--danger)}.tr-start{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.tr-start-btn.btn.primary{min-height:54px;padding:0 26px;font-size:16px;box-shadow:0 8px 20px #0e5c4540}.tr-start small{font-size:13px;color:var(--ink-3)}.tr-plan .speaking-error{font-size:var(--text-sm)}.tr-task{display:grid;gap:2px;margin:0;padding:12px 16px;border-radius:14px;background:var(--surface-2)}.tr-task span{font-size:12px;font-weight:650;color:var(--ink-3)}.tr-task strong{font-size:15px;color:var(--ink)}.tr-more{border-top:1px solid var(--border);padding-top:16px}.tr-more summary{display:flex;align-items:center;gap:8px;min-height:36px;font:600 14px var(--font-text);color:var(--ink-2);cursor:pointer;list-style:none}.tr-more summary::-webkit-details-marker{display:none}.tr-more summary:before{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s}.tr-more[open] summary:before{transform:rotate(45deg)}.tr-more summary span{font-weight:500;color:var(--ink-3)}.tr-more-body{display:grid;gap:18px;padding-top:14px}.tr-seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tr-seg-opt{position:relative;display:block;cursor:pointer}.tr-seg-opt input{position:absolute;opacity:0;pointer-events:none}.tr-seg-opt span{display:grid;gap:2px;min-height:44px;padding:10px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.tr-seg-opt b{font:600 14px var(--font-text)}.tr-seg-opt small{font-size:12px;color:var(--ink-3)}.tr-seg-opt input:checked+span{border-color:var(--brand);background:var(--brand-tint);box-shadow:inset 0 0 0 1px var(--brand)}.tr-seg-opt input:focus-visible+span{box-shadow:var(--focus)}.tr-tutors{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tr-tutor{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;min-height:44px;padding:10px 14px;border:1px solid var(--border);border-radius:16px;background:var(--surface);font:inherit;text-align:left;color:var(--ink);cursor:pointer}.tr-tutor .tutor-face{--tf:44px}.tr-tutor span{display:grid;gap:2px;min-width:0}.tr-tutor b{font:600 15px var(--font-text)}.tr-tutor small{font-size:12px;line-height:1.4;color:var(--ink-3)}.tr-tutor[aria-checked=true]{border-color:var(--brand);background:var(--brand-tint);box-shadow:inset 0 0 0 1px var(--brand)}.tr-suggest{display:grid;gap:4px;padding:12px 14px;border-radius:14px;background:var(--surface-2)}.tr-suggest span{font-size:12px;font-weight:650;color:var(--ink-3)}.tr-suggest strong{font-size:14px}.tr-suggest p{margin:0 0 6px;font-size:13px;line-height:1.5;color:var(--ink-2)}.tr-suggest .tr-pill{justify-self:start}.tr-settings-link{font-size:var(--text-sm)}.tr-room{--level:0;--out:0;--mouth:1;position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:minmax(0,1fr);height:clamp(580px,calc(100dvh - var(--bar) - 32px),860px);scroll-margin-top:calc(var(--bar) + 16px);border-radius:28px;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,#14614a,#0d4535 46%,#0a3329);color:#f4efe2;box-shadow:var(--shadow-lg)}.tr-stage{position:relative;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;padding:22px 28px 26px;min-width:0}.tr-top{grid-row:1}.tr-notice{grid-row:2}.tr-presence{grid-row:3}.tr-captions{grid-row:4}.tr-bottom{grid-row:5}.tr-top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}.tr-title{display:flex;align-items:center;gap:12px;min-width:0}.tr-title-copy{display:grid;min-width:0}.tr-title b{font:600 15px var(--font-text);color:#fbf6ea;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tr-room .tr-kicker{font-size:11px;line-height:1.3;color:#f7d68d;letter-spacing:.1em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tr-meta{display:flex;flex:none;gap:8px;align-items:center}.tr-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);font:600 12px var(--font-text);color:#dfe8de;white-space:nowrap;font-variant-numeric:tabular-nums}.tr-chip.is-sun{flex:none;background:#f2b33d29;border-color:#f2b33d59;color:#f7d68d}.tr-chip-btn{cursor:pointer;min-height:30px}.tr-chip-btn:hover{background:#ffffff24}.tr-chip-btn[aria-expanded=true]{background:#fbf6eaeb;color:#0d4535;border-color:transparent}.tr-room button:focus-visible{outline:none;box-shadow:0 0 0 2px #0d4535,0 0 0 4px #f7d68d}.tr-notice{display:flex;align-items:center;gap:12px;width:min(680px,100%);margin:14px auto 0;padding:10px 12px 10px 16px;box-sizing:border-box;border-radius:16px;background:#f2b33d24;border:1px solid rgba(242,179,61,.35);font-size:14px;line-height:1.45;color:#f7e6bd}.tr-notice[hidden]{display:none}.tr-notice>span{flex:1;min-width:0}.tr-notice svg{flex:none;color:#f7d68d}.tr-notice.is-error{background:#b5463c2e;border-color:#f3c3bd52}.tr-room .tr-notice .speaking-error{font-size:14px;color:#ffdcd6!important}.tr-presence{display:grid;justify-items:center;align-content:center;gap:16px;padding:18px 0 8px}.tr-status{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 10px;min-height:24px;margin:0;font:600 15px var(--font-text);color:#f4efe2;text-align:center}.tr-status small{font:500 14px var(--font-text);color:#b8cbbd}.tr-bars{display:none;gap:3px;align-items:center;height:16px}.tr-bars i{width:3px;height:5px;border-radius:2px;background:var(--sun);animation:tr-eq .9s ease-in-out infinite}.tr-bars i:nth-child(2){animation-delay:.15s}.tr-bars i:nth-child(3){animation-delay:.3s}.tr-bars i:nth-child(4){animation-delay:.45s}.tr-room[data-presence=speaking] .tr-bars,.tr-room[data-presence=hearing] .tr-bars{display:inline-flex}.tr-room[data-presence=hearing] .tr-bars i{background:#bfe3cf;animation:none;height:calc(4px + var(--level) * 12px);transition:height .08s linear}.tr-room[data-presence=hearing] .tr-bars i:nth-child(2n){height:calc(4px + var(--level) * 7px)}.tr-captions{position:relative;display:grid;gap:14px;align-content:start;width:min(680px,100%);margin:6px auto 0;min-height:0;overflow-y:auto;overflow-x:hidden;padding:2px 2px 8px;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.tr-line{position:relative;padding:20px 24px 18px;border-radius:22px;background:#fbf6ea;color:#14231c;box-shadow:0 18px 40px #00000040;animation:tr-rise .35s ease-out}.tr-line.is-empty{background:#fbf6ea14;border:1px dashed rgba(251,246,234,.24);box-shadow:none;color:#e9efe6;text-align:center}.tr-line.is-empty .tr-de{font-size:20px;color:#fbf6ea}.tr-empty-hint{margin:6px 0 0;font-size:14px;color:#b8cbbd}.tr-de{margin:0;font:600 25px/1.45 var(--font-display);letter-spacing:-.3px;overflow-wrap:anywhere;text-wrap:pretty}.tw{all:unset;cursor:pointer;border-radius:6px;padding:0 2px;margin:0 -2px;transition:color .3s ease,background-color .3s ease;-webkit-tap-highlight-color:transparent}.tw.is-ahead{color:#6f7d75}.tw.is-said{color:#14231c}.tw.is-now{background:#f6d77a}.tw.is-new{text-decoration:underline dotted #b07d16 2px;text-underline-offset:6px}.tw:hover{background:#f2b33d3d}.tr-room .tw:focus-visible{box-shadow:0 0 0 2px #0e5c45}.tr-en{margin:12px 0 0;padding-top:12px;border-top:1px solid #e9e0cc}.tr-en-label,.tr-en-note{display:flex;gap:8px;align-items:center;margin:0;font-size:13px;font-weight:600;color:#5a6a61}.tr-en-words{display:flex;flex-wrap:wrap;gap:6px 8px;margin:8px 0 0;padding:0;list-style:none}.tr-en-words li{display:inline-flex;gap:6px;align-items:baseline;padding:4px 10px;border-radius:999px;background:#f1e9d6;font-size:14px;color:#3d5047}.tr-en-words b{font-weight:650;color:#14231c}.tr-en-toggle{all:unset;position:absolute;top:12px;right:12px;display:none;place-items:center;width:36px;height:30px;border-radius:999px;border:1px solid #e3d9c2;font:700 12px var(--font-text);color:#5a6a61;cursor:pointer}.tr-en-toggle[aria-pressed=true]{background:#0d4535;border-color:#0d4535;color:#fbf6ea}.tr-you{justify-self:end;max-width:78%;padding:12px 18px;border-radius:20px 20px 6px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);font-size:17px;line-height:1.5;color:#e9efe6;overflow-wrap:anywhere;animation:tr-rise .35s ease-out}.tr-you[hidden]{display:none}.tr-you small{display:block;margin-bottom:4px;font:600 11px var(--font-text);letter-spacing:.08em;text-transform:uppercase;color:#c3d4c8}.tr-you.is-live span{opacity:.75}.tr-word-layer{position:absolute;inset:0;pointer-events:none;z-index:6}.tr-word-card{--arrow:34px;position:absolute;pointer-events:auto;display:grid;gap:8px;width:272px;box-sizing:border-box;padding:16px 18px;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 24px 50px #00000052;animation:tr-pop .18s ease-out;outline:none}.tr-word-card:before{content:"";position:absolute;left:calc(var(--arrow) - 7px);top:-7px;width:14px;height:14px;background:#fff;transform:rotate(45deg);border-radius:2px}.tr-wc-head{display:grid;gap:2px;padding-right:28px}.tr-wc-head b{font:700 20px/1.25 var(--font-display);color:var(--ink)}.tr-wc-head span{font-size:13px;color:var(--ink-3)}.tr-wc-en{margin:0;font-size:15px;line-height:1.5;color:var(--ink-2)}.tr-wc-en.is-quiet{color:var(--ink-3)}.tr-wc-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.tr-wc-note{margin:0;font-size:13px;color:var(--success-ink)}.tr-wc-note:empty{display:none}.tr-mini{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--border-2);background:#fff;font:600 13px var(--font-text);color:var(--ink);cursor:pointer}.tr-mini.keep{background:var(--brand);border-color:var(--brand);color:#fff}.tr-mini.is-kept{background:var(--success-tint);border-color:var(--success-tint);color:var(--success-ink)}.tr-x{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:var(--surface-2);color:var(--ink-2);cursor:pointer}.tr-x:hover{background:var(--border)}.tr-bottom{display:grid;gap:14px;padding-top:14px}.tr-help{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;width:min(680px,100%);margin:0 auto;padding:12px 16px;box-sizing:border-box;border-radius:18px;background:#f2b33d1a;border:1px solid rgba(242,179,61,.3);animation:tr-rise .3s ease-out}.tr-help-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;min-width:0}.tr-help b{font:600 13px var(--font-text);color:#f7d68d}.tr-help-starter{font-size:16px;font-weight:600;color:#fbf6ea}.tr-help-words{display:inline-flex;flex-wrap:wrap;gap:6px}.tr-help-words span{padding:2px 10px;border-radius:999px;background:#ffffff14;font-size:14px;color:#dfe8de}.tr-help-acts{display:flex;flex-wrap:wrap;gap:8px}.tr-room .tr-help-acts .btn.secondary,.tr-room .tr-quick .btn.secondary{min-height:36px;padding:0 14px;font-size:13px;background:#ffffff14;border-color:#ffffff29;color:#f4efe2}.tr-room .tr-help-acts .btn.secondary:hover:not(:disabled),.tr-room .tr-quick .btn.secondary:hover:not(:disabled){background:#ffffff29;border-color:#ffffff3d}.tr-room .tr-pill{background:#ffffff14;border-color:#ffffff29;color:#f4efe2}.tr-room .tr-pill.is-strong{background:var(--sun);border-color:var(--sun);color:#2a1d00}.tr-dock{display:flex;align-items:flex-start;justify-content:center;gap:14px}.tr-round{position:relative;display:grid;justify-items:center;gap:6px;min-width:56px;padding:0;border:0;background:none;font:600 12px var(--font-text);color:#cfdcd2;cursor:pointer}.tr-round>span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#f4efe2;transition:background-color .2s,transform .15s}.tr-round:hover:not(:disabled)>span{background:#ffffff26}.tr-round:active:not(:disabled)>span{transform:scale(.95)}.tr-round[aria-pressed=true]>span{background:#fbf6ea;border-color:#fbf6ea;color:#0d4535}.tr-round:disabled{opacity:.45;cursor:not-allowed}.tr-round[data-count]:not([data-count=""]):after{content:attr(data-count);position:absolute;top:-4px;right:4px;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:999px;background:var(--sun);color:#2a1d00;font:700 11px/18px var(--font-text);text-align:center}.tr-end{color:#f3c3bd}.tr-end>span{background:#b5463c;border-color:#b5463c;color:#fff}.tr-end:hover:not(:disabled)>span{background:#c4524a}.tr-end.is-confirm>span{box-shadow:0 0 0 4px #b5463c59}.tr-mic{position:relative;display:grid;justify-items:center;gap:8px;width:76px;margin:0 10px;padding:0;border:0;background:none;font:600 12px var(--font-text);color:#f4efe2;cursor:pointer}.tr-mic em{justify-self:center;font-style:normal;white-space:nowrap}.tr-mic-core{position:relative;z-index:1;display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:var(--sun);color:#2a1d00;box-shadow:0 12px 30px #0000004d;transition:background-color .25s,color .25s,transform .15s}.tr-mic-ring{position:absolute;top:0;left:50%;width:76px;height:76px;margin-left:-38px;border-radius:50%;box-shadow:0 0 0 calc(8px + var(--level) * 12px) #f2b33d33;transition:box-shadow .1s linear}.tr-mic:active:not(:disabled) .tr-mic-core{transform:scale(.96)}.tr-mic[data-mode=tap][data-on=false] .tr-mic-core{background:#fbf6ea;color:#0d4535}.tr-mic[data-mode=tap][data-on=false] .tr-mic-ring{box-shadow:0 0 0 10px #fbf6ea1f;animation:tr-invite 2.6s ease-in-out infinite}.tr-mic[data-mode=open][data-on=true] .tr-mic-core{background:#3c5a4f;color:#f4efe2}.tr-mic[data-mode=open][data-on=true] .tr-mic-ring{box-shadow:0 0 0 8px #ffffff0f}.tr-mic:disabled{cursor:default}.tr-mic:disabled .tr-mic-core{background:#ffffff24;color:#b8cbbd;box-shadow:none}.tr-mic:disabled .tr-mic-ring{box-shadow:none}.tr-room .tr-mic:focus-visible{box-shadow:none}.tr-room .tr-mic:focus-visible .tr-mic-core{box-shadow:0 0 0 3px #0d4535,0 0 0 6px #f7d68d}.tr-phone-only{display:none}.tr-pocket{display:flex;flex-direction:column;gap:14px;min-width:0;min-height:0;padding:22px 20px;background:#0000002e;border-left:1px solid rgba(255,255,255,.08);overflow:hidden}.tr-pocket-grip,.tr-pocket-close{display:none}.tr-pocket-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.tr-pocket-head h2{margin:0;font:700 17px var(--font-display);color:#fbf6ea}.tr-pocket-head em{font-style:normal;font:600 12px var(--font-text);background:#f2b33d33;color:#f7d68d;border-radius:999px;padding:4px 10px}.tr-pocket-head em[hidden]{display:none}.tr-hint{margin:0;font-size:13px;line-height:1.5;color:#a9bfb1}.tr-words{flex:1 1 auto;display:grid;gap:10px;align-content:start;margin:0;padding:0;list-style:none;overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.tr-word{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 10px 10px 14px;border-radius:14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);transition:background-color .6s,border-color .6s;animation:tr-slide .4s ease-out}.tr-word.is-fresh{border-color:#f2b33d73;background:#f2b33d1a}.tr-word-open,.tr-word-copy{display:grid;gap:2px;min-width:0;padding:0;border:0;background:none;font:inherit;text-align:left;color:inherit;cursor:pointer}.tr-word-copy{cursor:default}.tr-word b{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;font:600 16px var(--font-text);color:#fbf6ea;overflow-wrap:anywhere}.tr-word b small{font:500 12px var(--font-text);color:#9fb5a7;white-space:nowrap}.tr-word-open>span,.tr-word-copy>span{font-size:13px;color:#b8cbbd}.tr-word.is-pending .tr-word-open>span{font-style:italic;color:#9fb5a7}.tr-keep{flex:none;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:none;color:#f4efe2;cursor:pointer;transition:background-color .2s,transform .15s}.tr-keep:hover{background:#ffffff1a}.tr-keep:active{transform:scale(.92)}.tr-keep[aria-pressed=true]{background:var(--sun);border-color:var(--sun);color:#2a1d00}.tr-keep.is-wait{border-style:dashed;opacity:.5;cursor:default}.tr-pocket-empty{margin:0;padding:14px;border-radius:14px;border:1px dashed rgba(255,255,255,.16);font-size:13px;line-height:1.55;color:#a9bfb1}.tr-pocket-empty[hidden]{display:none}.tr-pocket-note{margin:0;font-size:13px;line-height:1.45;color:#f7d68d}.tr-pocket-note:empty{display:none}.tr-privacy{display:flex;gap:10px;align-items:flex-start;margin:0;font-size:12px;line-height:1.5;color:#9fb5a7}.tr-privacy svg{flex:none;margin-top:1px}.tr-drawer{position:absolute;inset:0;z-index:20;display:flex;justify-content:flex-end;background:#05140f66;animation:tr-fade .2s ease-out}.tr-drawer[hidden]{display:none}.tr-drawer-panel{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(420px,100%);height:100%;box-sizing:border-box;padding:22px 22px 18px;background:#fbf6ea;color:var(--ink);box-shadow:-20px 0 40px #00000040;animation:tr-drawer .28s ease-out}.tr-drawer-panel header{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px}.tr-drawer-panel h2{margin:0;font:700 18px var(--font-display)}.tr-drawer-panel .tr-x{position:relative;top:auto;right:auto}.tr-drawer .voice-lyrics{height:auto;min-height:0;padding:8px 2px 16px;overflow:auto}.tr-drawer .voice-line span{font-size:19px;line-height:1.45;letter-spacing:-.01em}.tr-drawer .voice-line{margin-bottom:18px}.tr-drawer .voice-empty{font-size:22px}.tr-drawer-note{margin:0;font-size:12px;line-height:1.5;color:var(--ink-3)}.tr-room-foot{margin-top:var(--space-4)}.tr-room+.ta-launch{margin-top:var(--space-4)}.tr-review-hero{display:flex;align-items:center;gap:var(--space-5)}.tr-review-hero .tutor-face{--tf:96px}.tr-review-thanks{margin:var(--space-2) 0 0!important;font-size:var(--text-md)!important;color:var(--ink-3)!important}.tr-review-words{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin:0 0 var(--space-5)}.tr-rw-col{display:grid;gap:var(--space-3);align-content:start;padding:var(--space-5);border-radius:var(--radius-lg);background:linear-gradient(170deg,#0f4d3b,#0b3b2e);color:#f4efe2;box-shadow:var(--shadow-sm)}.tr-rw-col header{display:flex;align-items:center;justify-content:space-between}.tr-rw-col h2{margin:0;font:700 17px var(--font-display);color:#fbf6ea}.tr-rw-col header span{min-width:24px;padding:2px 9px;box-sizing:border-box;border-radius:999px;background:#f2b33d33;font:700 12px/20px var(--font-text);color:#f7d68d;text-align:center}.tr-rw-col .tr-words{overflow:visible}.tr-rw-empty{margin:0;font-size:14px;line-height:1.55;color:#b8cbbd}.tr-kept-mark{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:#f2b33d33;font:600 12px var(--font-text);color:#f7d68d}.tr-rw-link.text-link{justify-self:start;color:#f7d68d!important}.tr-rw-col .tr-pocket-note{color:#f7d68d}.speaking-consent{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-sm);line-height:1.6;color:var(--ink);cursor:pointer}.speaking-consent input{flex:none;width:18px;height:18px;margin-top:3px;accent-color:var(--brand)}.speaking-review-request small{display:block;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.speaking-availability{margin:0;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.speaking-error{margin:0;font-size:var(--text-md);line-height:1.6;color:var(--danger-ink)!important}.speaking-error:empty{display:none}.speaking-footnote{margin:var(--space-8) 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.ta-launch{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);margin:var(--space-3) 0 0;padding:var(--space-4) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.ta-launch p{flex:1 1 320px;margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.speaking-history{margin-top:var(--space-10)}#app[data-shell=bar] .speaking-history .section-heading{margin-top:0}.speaking-history article{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.speaking-history small{display:block;margin-top:2px;font-size:var(--text-sm);color:var(--ink-3)}.speaking-caption-empty{margin:var(--space-12) 0;text-align:center;font-size:var(--text-md);line-height:1.8;color:var(--ink-3)}.speaking-caption{margin:var(--space-3) var(--space-5) var(--space-3) 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);overflow-wrap:anywhere}.speaking-caption.user{margin:var(--space-3) 0 var(--space-3) var(--space-5);background:var(--brand-tint)}.speaking-caption small{display:block;margin-bottom:4px;font-size:var(--text-xs);font-weight:650;letter-spacing:.08em;color:var(--ink-3)}.speaking-caption span{font-size:var(--text-lg);line-height:1.6}.speaking-review-hero{margin:0 0 var(--space-6)}.speaking-review-hero h1{margin:var(--space-2) 0;font-size:clamp(30px,3.4vw,var(--text-4xl));line-height:1.15}.speaking-review-hero p{margin:0;font-size:var(--text-lg);color:var(--ink-2)}.speaking-review-request,.speaking-feedback{margin:0 0 var(--space-5);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.speaking-review-request h2{margin:0 0 var(--space-2);font-size:var(--text-xl)}.speaking-review-request p{margin:0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.speaking-review-request .btn{margin:var(--space-5) 0 var(--space-3)}.speaking-success{margin-bottom:var(--space-6);padding:var(--space-5);border-radius:var(--radius-md);background:var(--success-tint)}.speaking-success h2{margin:var(--space-1) 0;font-size:var(--text-xl);line-height:1.4}.speaking-success p{margin:0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.speaking-feedback>h2{margin:0 0 var(--space-2);font-size:var(--text-xl)}.speaking-feedback article{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2) var(--space-5);padding:var(--space-4) 0;border-bottom:1px solid var(--border)}.speaking-feedback article:last-of-type{border-bottom:0}.speaking-feedback article small{font-size:var(--text-xs);font-weight:650;letter-spacing:.08em;color:var(--ink-3)}.speaking-feedback article div:nth-child(2) p{font-weight:600;color:var(--success-ink)}.speaking-feedback article p{margin:var(--space-1) 0;font-size:var(--text-md);line-height:1.6;overflow-wrap:anywhere}.speaking-feedback article>p{grid-column:1/-1;font-size:var(--text-sm);color:var(--ink-3)}.speaking-next{padding-top:var(--space-5)}.speaking-next p{color:var(--ink-2)}.speaking-review-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.speaking-transcript-review{margin-top:var(--space-6);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.speaking-transcript-review summary{min-height:44px;padding-block:10px;box-sizing:border-box;font-weight:650;color:var(--ink);cursor:pointer}.speaking-transcript-review .speaking-caption .speaking-caption-en{display:block;margin-top:4px;font-size:var(--text-sm);font-weight:400;line-height:1.6;letter-spacing:normal;color:var(--ink-3)}.speaking-translation-note{margin:var(--space-3) 0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}.speaking-translation-error{font-size:var(--text-sm);line-height:1.5;color:var(--danger-ink)}@media(min-width:701px){.tr-room:not(.is-compact) .tr-captions{align-content:center}}@media(min-width:701px)and (max-height:820px){.tr-presence{gap:10px;padding:10px 0 4px}.tr-presence .tutor-face{--tf:136px}.tr-stage{padding-top:18px;padding-bottom:20px}}@media(min-width:701px)and (max-height:680px){.tr-presence .tutor-face{--tf:104px}}@keyframes tr-eq{0%,to{height:5px}50%{height:15px}}@keyframes tr-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes tr-pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}@keyframes tr-slide{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}@keyframes tr-fade{0%{opacity:0}to{opacity:1}}@keyframes tr-drawer{0%{transform:translate(24px);opacity:.4}to{transform:none;opacity:1}}@keyframes tr-sheet{0%{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}@keyframes tr-invite{0%,to{box-shadow:0 0 0 8px #fbf6ea1a}50%{box-shadow:0 0 0 14px #fbf6ea0a}}@media(max-width:980px){.tr-room{grid-template-columns:minmax(0,1fr)}.tr-pocket{position:absolute;left:0;right:0;bottom:0;z-index:15;max-height:72%;padding:10px 18px 22px;border:0;border-radius:26px 26px 0 0;background:#fbf6ea;color:var(--ink);box-shadow:0 -20px 40px #0000004d;transform:translateY(105%);visibility:hidden;transition:transform .3s ease,visibility 0s .3s}.tr-pocket.is-open{transform:none;visibility:visible;transition:transform .3s ease}.tr-room:has(.tr-pocket.is-open) .tr-stage:after{content:"";position:absolute;inset:0;z-index:10;background:#05140f73;animation:tr-fade .2s ease-out}.tr-pocket-grip{display:block;width:40px;height:5px;margin:0 auto;border-radius:3px;background:#d7cfbd}.tr-pocket-close{display:grid;position:relative;top:auto;right:auto}.tr-pocket-head h2{color:var(--ink)}.tr-pocket-head em{color:#8a5a00;background:#fbecc9}.tr-hint,.tr-privacy{color:var(--ink-3)}.tr-pocket-empty{border-color:var(--border-2);color:var(--ink-3)}.tr-pocket .tr-word{background:#fff;border-color:var(--border)}.tr-pocket .tr-word.is-fresh{background:var(--sun-tint);border-color:#f2d58e}.tr-pocket .tr-word b{color:var(--ink)}.tr-pocket .tr-word b small,.tr-pocket .tr-word-open>span{color:var(--ink-3)}.tr-pocket .tr-keep{border-color:var(--border-2);color:var(--ink)}.tr-pocket .tr-keep[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}.tr-pocket .tr-pocket-note{color:var(--sun-ink)}.tr-phone-only{display:inline-grid}.tr-wide-only{display:none}.tr-en-toggle{display:grid}.tr-line:has(.tr-en-toggle) .tr-de{padding-right:36px}}@media(max-width:700px){.tr-studio-head{align-items:flex-start}.tr-studio-tutors{display:none}.tr-studio-copy p{font-size:var(--text-md)}.tr-next{flex-direction:column;align-items:stretch;gap:var(--space-4);padding:var(--space-5) var(--space-4)}.tr-group-head{flex-direction:column;gap:2px}.tr-group-head span{text-align:left}.tr-cards{grid-template-columns:minmax(0,1fr);gap:var(--space-2)}.tr-card{min-height:0;padding:14px}.tr-card-copy>span{-webkit-line-clamp:1}.tr-lobby{border-radius:24px}.tr-meet{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;padding:22px 18px}.tr-meet:before{width:260px;height:260px}.tr-meet-person .tutor-face{--tf:84px}.tr-meet-name strong{font-size:22px}.tr-meet-name span{font-size:14px}.tr-promise{gap:10px;padding:14px 16px}.tr-promise li{font-size:13px}.tr-plan{gap:20px;padding:24px 18px}.tr-plan-head h1,.tr-plan-head h2{font-size:27px;letter-spacing:-.5px}.tr-lede{font-size:16px}.tr-focus{flex:1 1 100%;min-width:0}.tr-mode{grid-template-columns:minmax(0,1fr)}.tr-miccheck{grid-template-columns:auto minmax(0,1fr)}.tr-mc-acts,.tr-miccheck .tr-meter{grid-column:1/-1;justify-content:flex-start}.tr-miccheck .tr-meter{margin-left:50px}.tr-start{display:grid;gap:10px}.tr-start-btn.btn.primary{width:100%}.tr-start small{text-align:center}.tr-seg,.tr-tutors{grid-template-columns:minmax(0,1fr)}body:has(.tr-room:not(.is-compact)){overflow:hidden}.tr-room:not(.is-compact){position:fixed;inset:0;z-index:80;min-height:0;height:100dvh;border-radius:0;box-shadow:none}.tr-room:not(.is-compact) .tr-stage{grid-template-rows:auto auto auto minmax(0,1fr) auto;padding:calc(14px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom))}.tr-room:not(.is-compact) .tr-pocket{padding-bottom:calc(22px + env(safe-area-inset-bottom))}.tr-chip-btn span,.tr-meta .tr-chip:not(.tr-clock,.tr-chip-btn){display:none}.tr-chip-btn{width:36px;padding:0;justify-content:center}.tr-title .tr-chip.is-sun{display:none}.tr-presence{gap:12px;padding:20px 0 6px}.tr-presence .tutor-face{--tf:128px}.tr-status{font-size:14px}.tr-status small{font-size:13px}.tr-captions{margin-top:14px;overflow:auto;padding-bottom:4px}.tr-line{padding:16px 18px;border-radius:20px}.tr-de{font-size:21px}.tr-you{max-width:88%;font-size:16px}.tr-help{padding:10px 14px}.tr-help-starter{font-size:15px}.tr-dock{gap:8px}.tr-round{min-width:50px}.tr-round>span{width:46px;height:46px}.tr-mic{margin:0 4px}.tr-mic{width:68px}.tr-mic-core,.tr-mic-ring{width:68px;height:68px}.tr-mic-ring{margin-left:-34px}.tr-word-card{position:fixed!important;left:0!important;right:0;bottom:0;top:auto!important;width:auto;padding:20px 20px calc(22px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;box-shadow:0 -20px 40px #0000004d;animation:tr-sheet .25s ease-out}.tr-word-card:before{left:50%;top:10px;width:40px;height:5px;margin-left:-20px;border-radius:3px;background:#d7cfbd;transform:none}.tr-word-card .tr-x{top:14px;right:14px}.tr-wc-head{padding-top:10px}.tr-wc-head b{font-size:24px}.tr-wc-en{font-size:17px}.tr-mini{min-height:44px;padding:0 18px;font-size:14px}.tr-drawer{align-items:flex-end}.tr-drawer-panel{width:100%;height:82%;border-radius:26px 26px 0 0;padding-bottom:calc(18px + env(safe-area-inset-bottom));animation:tr-sheet .28s ease-out}.tr-review-hero{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.tr-review-hero .tutor-face{--tf:64px}.tr-review-words{grid-template-columns:minmax(0,1fr)}.tr-rw-col,.ta-launch{padding:var(--space-4)}.ta-launch .btn{width:100%}.speaking-feedback,.speaking-review-request{padding:var(--space-5) var(--space-4)}.speaking-feedback article{grid-template-columns:1fr}.speaking-history article{flex-wrap:wrap}}@media(max-width:380px){.tr-dock{gap:2px}.tr-round{min-width:46px}.tr-round>span{width:44px;height:44px}.tr-mic{width:62px}.tr-mic-core,.tr-mic-ring{width:62px;height:62px}.tr-mic-ring{margin-left:-31px}}@media(prefers-reduced-motion:reduce){.tr-line,.tr-you,.tr-help,.tr-word,.tr-word-card,.tr-drawer,.tr-drawer-panel,.tr-card,.tr-mc-dot,.tr-avail:before{animation:none!important;transition:none!important}.tr-bars i,.tr-mic-ring{animation:none!important}.tr-pocket{transition:none!important}.tw{transition:none}}body .tutor-disclosure{font-size:var(--text-sm);line-height:1.6}body .speaking-translation-note{font-size:var(--text-sm)}body .speaking-consent+small{display:block;margin:var(--space-2) 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.tr-entry{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-4);width:100%;margin:var(--space-5) 0;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-xl);background:linear-gradient(100deg,#fbf6ea 0%,var(--surface) 55%);box-shadow:var(--shadow-sm);font:inherit;text-align:left;color:var(--ink);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.tr-entry:hover{border-color:var(--brand-tint-2);box-shadow:var(--shadow-md);transform:translateY(-1px)}.tr-entry:focus-visible{outline:none;box-shadow:var(--focus)}.tr-entry .tutor-face{--tf:56px}.tr-entry .tf-disc{box-shadow:0 4px 12px #10231b1f}.tr-entry-copy{display:grid;gap:2px;min-width:0}.tr-entry-copy strong{font:700 var(--text-md)/1.35 var(--font-display);color:var(--ink)}.tr-entry-copy small{font-size:var(--text-sm);line-height:1.45;color:var(--ink-3)}.tr-entry-go{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--brand);color:#fff}.tr-entry.is-compact{margin:var(--space-3) 0 var(--space-4)}.tr-entry.is-compact .tutor-face{--tf:44px}@media(max-width:700px){.tr-entry{gap:var(--space-3)}.tr-entry .tutor-face{--tf:48px}.tr-entry-go{width:36px;height:36px}}@media(prefers-reduced-motion:reduce){.tr-entry{transition:none}.tr-entry:hover{transform:none}}:is(.tr-chip-btn,.tr-mini,.tr-pill,.tr-keep){position:relative}:is(.tr-chip-btn,.tr-en-toggle):after{content:"";position:absolute;inset:-7px}.tr-x:after{content:"";position:absolute;inset:-6px}:is(.tr-mini,.tr-pill):after{content:"";position:absolute;inset:-4px 0}.tr-keep:after{content:"";position:absolute;inset:-2px}.tr-word-note{display:block;margin-top:1px;font:500 12px/1.35 var(--font-text);color:#a9bfb1}.tr-word.is-missing{background:#ffffff08;border-style:dashed}.tr-word.is-missing .tr-word-open>span,.tr-word.is-pending .tr-word-open>span{font-style:italic;color:#9fb5a7}.tr-pocket .tr-word-note{color:#a9bfb1}.tr-word-card.is-above:before{top:auto;bottom:-7px}.tr-word-card.is-floating:before{display:none}.tr-en-line{margin:0;font-size:16px;line-height:1.5;color:#3d5047}.tr-en-note.is-waiting{font-weight:500;color:#7a8780}.tr-en-note+.tr-en-words{margin-top:8px}@media(max-width:980px){.tr-pocket .tr-word-note{color:var(--ink-3)}.tr-pocket .tr-word.is-missing{background:var(--surface-2)}.tr-pocket .tr-word.is-missing .tr-word-open>span,.tr-pocket .tr-word.is-pending .tr-word-open>span{color:var(--ink-3)}}@media(max-width:700px){.tr-word-card.is-above:before,.tr-word-card.is-floating:before{display:block;top:10px;bottom:auto}}.a2-studio-group{margin-top:var(--space-10)}.a2-studio-group>h2{margin:0 0 var(--space-1);font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.01em;color:var(--ink)}.a2-studio-group>p{margin:0 0 var(--space-4);color:var(--ink-2);line-height:1.55}.a2-studio-list{display:grid;gap:var(--space-3)}.a2-studio-list>.tr-entry{margin:0}.a2-studio-note{margin:var(--space-10) 0 0;padding-top:var(--space-5);border-top:1px solid var(--border);font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.speaking-dock{position:fixed;right:28px;bottom:28px;width:76px;height:76px;z-index:45;font-family:var(--font-text);color:var(--ink)}.speaking-dock[hidden]{display:none}.tutor-launcher{position:relative;width:76px;height:76px;padding:4px;border:2px solid var(--surface);border-radius:50%;background:var(--brand-tint);box-shadow:var(--shadow-lg);color:var(--brand-ink);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.tutor-launcher:before,.tutor-launcher:after{content:"";position:absolute;inset:-3px;border:1px solid var(--brand);border-radius:50%;opacity:0;animation:tutor-beam 4s ease-out infinite;pointer-events:none}.tutor-launcher:after{animation-delay:2s}.tutor-launcher .speaking-avatar{width:64px;height:64px;border-radius:50%}.tutor-launcher .tutor-face{--tf:64px}.tutor-launcher .tf-disc{box-shadow:none}.tutor-presence{position:absolute;right:3px;bottom:3px;width:14px;height:14px;border:3px solid var(--surface);border-radius:50%;background:var(--success)}.tutor-launcher-label{position:absolute;right:88px;top:22px;padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-md);white-space:nowrap;font-size:var(--text-sm);font-weight:600;color:var(--ink);pointer-events:none;opacity:0;transform:translate(6px);transition:opacity .2s,transform .2s}.tutor-launcher:hover .tutor-launcher-label,.tutor-launcher:focus-visible .tutor-launcher-label{opacity:1;transform:none}.tutor-launcher:focus-visible{outline:none;box-shadow:var(--focus),var(--shadow-lg)}.speaking-dock button:focus-visible,.speaking-dock select:focus-visible,.speaking-dock summary:focus-visible{outline:none;box-shadow:var(--focus)}.is-dragging .tutor-launcher{cursor:grabbing;box-shadow:var(--shadow-lg)}.is-dragging .tutor-launcher-label,.is-open .tutor-launcher-label{display:none}.is-open .tutor-launcher:before,.is-open .tutor-launcher:after{animation:none;opacity:0}.is-open .tutor-launcher{visibility:hidden}body:has(#app .tr-entry) .speaking-dock:not(.is-open){display:none}@media(max-width:1000px){.tutor-launcher-label{display:none}}.tutor-panel{position:fixed;display:flex;flex-direction:column;width:420px;max-height:calc(100dvh - 32px);overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);visibility:hidden;opacity:0;transform:translateY(18px) scale(.97);transform-origin:bottom right;transition:opacity .25s,transform .35s cubic-bezier(.16,1,.3,1),visibility .35s;pointer-events:none}.is-open .tutor-panel{visibility:visible;opacity:1;transform:none;pointer-events:auto}.tutor-panel-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);background:var(--surface)}.tutor-panel-header>div{position:relative;padding-left:16px}.tutor-panel-header strong{display:block;font-family:var(--font-display);font-size:var(--text-md);font-weight:700}.tutor-panel-header small{display:block;margin-top:2px;font-size:var(--text-xs);font-weight:600;color:var(--ink-3)}.tutor-online-dot{position:absolute;top:7px;left:0;width:8px;height:8px;border-radius:50%;background:var(--success)}.tutor-close{flex:none;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--surface-2);color:var(--ink-2);font-size:24px;line-height:1;cursor:pointer}.tutor-close:hover{background:var(--border);color:var(--ink)}.tutor-panel-body{min-height:0;padding:0 var(--space-5) var(--space-5);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scroll-padding-block:16px}.tutor-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.tutor-welcome{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-4);align-items:center;margin:var(--space-5) 0 0;text-align:left}.tutor-welcome .tutor-face{--tf:56px}.tr-welcome-copy{display:grid;gap:2px;min-width:0}.tr-welcome-copy strong{font:700 var(--text-lg)/1.2 var(--font-display);color:var(--ink)}.tr-welcome-copy span{font-size:var(--text-sm);line-height:1.45;color:var(--ink-3)}.tr-lobby-compact{display:block;margin:var(--space-4) 0 0;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}.tr-lobby-compact .tr-plan{gap:18px;padding:0}.tr-lobby-compact .tr-plan-head h2{margin:6px 0;font-size:var(--text-2xl);letter-spacing:-.4px;line-height:1.2}.tr-lobby-compact .tr-lede{font-size:var(--text-sm);line-height:1.55}.tr-lobby-compact .tr-goals li{font-size:var(--text-sm)}.tr-lobby-compact .tr-goals i{width:22px;height:22px;font-size:11px}.tr-lobby-compact .tr-focus{flex:1 1 100%;min-width:0;padding:10px 14px}.tr-lobby-compact .tr-mode{grid-template-columns:1fr 1fr}.tr-lobby-compact .tr-mode button{padding:12px;gap:2px 10px}.tr-lobby-compact .tr-mode button small{font-size:12px}.tr-lobby-compact .tr-miccheck{grid-template-columns:auto minmax(0,1fr);padding:12px 14px}.tr-lobby-compact .tr-mc-acts,.tr-lobby-compact .tr-miccheck .tr-meter{grid-column:1/-1;justify-content:flex-start}.tr-lobby-compact .tr-miccheck .tr-meter{margin-left:50px}.tr-lobby-compact .tr-start{display:grid;gap:8px}.tr-lobby-compact .tr-start-btn.btn.primary{width:100%;min-height:50px}.tr-lobby-compact .tr-start small{text-align:center}.tr-lobby-compact .tr-seg,.tr-lobby-compact .tr-tutors{grid-template-columns:minmax(0,1fr)}.tr-picker{display:grid;gap:6px;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.tr-picker select{width:100%;min-height:44px;padding:0 var(--space-3);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-sm);font-weight:500}.tr-promise-line{display:flex;gap:8px;align-items:flex-start;margin:var(--space-4) 0 0;font-size:var(--text-xs);line-height:1.5;color:var(--ink-3)}.tr-promise-line svg{flex:none;margin-top:2px;color:var(--brand)}.speaking-dock .speaking-availability{margin:-6px 0 -8px}.tr-room.is-compact{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-height:min(560px,calc(100dvh - 140px));border-radius:22px;box-shadow:var(--shadow-md)}.tr-room.is-compact .tr-stage{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;min-height:inherit;box-sizing:border-box;padding:16px 16px 18px}.tr-room.is-compact .tr-title .tutor-face{--tf:42px}.tr-room.is-compact .tr-title b{font-size:14px}.tr-room.is-compact .tr-meta{gap:6px}.tr-room.is-compact .tr-chip-btn span{display:none}.tr-room.is-compact .tr-chip-btn{width:34px;padding:0;justify-content:center}.tr-room.is-compact .tr-title .tr-chip.is-sun{display:none}.tr-room.is-compact .tr-presence{padding:14px 0 2px}.tr-room.is-compact .tr-status{font-size:14px}.tr-room.is-compact .tr-status small{font-size:13px}.tr-room.is-compact .tr-captions{margin-top:12px;overflow:auto}.tr-room.is-compact .tr-line{padding:14px 16px;border-radius:18px}.tr-room.is-compact .tr-de{font-size:19px;line-height:1.45}.tr-room.is-compact .tr-line.is-empty .tr-de{font-size:17px}.tr-room.is-compact .tr-you{font-size:15px;padding:10px 14px}.tr-room.is-compact .tr-en-toggle{display:grid}.tr-room.is-compact .tr-line:has(.tr-en-toggle) .tr-de{padding-right:36px}.tr-room.is-compact .tr-bottom{gap:12px;padding-top:12px}.tr-quick{display:flex;justify-content:center;gap:6px;overflow-x:auto;scrollbar-width:none}.tr-quick::-webkit-scrollbar{display:none}.tr-room .tr-quick .btn.secondary{flex:none;min-height:34px;padding:0 12px;font-size:12.5px}.tr-room.is-compact .tr-help{flex-direction:column;align-items:stretch;padding:10px 12px}.tr-room.is-compact .tr-help-starter{font-size:15px}.tr-dock-mini{gap:10px}.tr-dock-mini .tr-round{min-width:48px}.tr-dock-mini .tr-round>span{width:44px;height:44px}.tr-dock-mini .tr-mic{margin:0 4px}.tr-dock-mini .tr-mic{width:64px}.tr-dock-mini .tr-mic-core,.tr-dock-mini .tr-mic-ring{width:64px;height:64px}.tr-dock-mini .tr-mic-ring{margin-left:-32px}.tr-room.is-compact .tr-pocket{position:absolute;left:0;right:0;bottom:0;z-index:15;max-height:78%;padding:10px 16px 18px;border:0;border-radius:22px 22px 0 0;background:#fbf6ea;color:var(--ink);box-shadow:0 -16px 34px #0000004d;transform:translateY(105%);visibility:hidden;transition:transform .3s ease,visibility 0s .3s}.tr-room.is-compact .tr-pocket.is-open{transform:none;visibility:visible;transition:transform .3s ease}.tr-room.is-compact:has(.tr-pocket.is-open) .tr-stage:after{content:"";position:absolute;inset:0;z-index:10;background:#05140f73}.tr-room.is-compact .tr-pocket-grip{display:block;width:40px;height:5px;margin:0 auto;border-radius:3px;background:#d7cfbd}.tr-room.is-compact .tr-pocket-close{display:grid;position:relative;top:auto;right:auto}.tr-room.is-compact .tr-pocket-head h2{color:var(--ink)}.tr-room.is-compact .tr-pocket-head em{color:#8a5a00;background:#fbecc9}.tr-room.is-compact :is(.tr-hint,.tr-privacy){color:var(--ink-3)}.tr-room.is-compact .tr-pocket-empty{border-color:var(--border-2);color:var(--ink-3)}.tr-room.is-compact .tr-pocket .tr-word{background:#fff;border-color:var(--border)}.tr-room.is-compact .tr-pocket .tr-word.is-fresh{background:var(--sun-tint);border-color:#f2d58e}.tr-room.is-compact .tr-pocket .tr-word b{color:var(--ink)}.tr-room.is-compact .tr-pocket :is(.tr-word b small,.tr-word-open>span){color:var(--ink-3)}.tr-room.is-compact .tr-pocket .tr-keep{border-color:var(--border-2);color:var(--ink)}.tr-room.is-compact .tr-pocket .tr-keep[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}.tr-room.is-compact .tr-pocket .tr-pocket-note{color:var(--sun-ink)}.tr-room.is-compact .tr-drawer{align-items:flex-end;border-radius:inherit;overflow:hidden}.tr-room.is-compact .tr-drawer-panel{width:100%;height:86%;border-radius:22px 22px 0 0;padding:18px;animation:tr-sheet .28s ease-out}.tr-room.is-compact .tr-word-card{width:248px}.tr-disclosure{margin:var(--space-3) 0 0;font-size:var(--text-xs)!important;line-height:1.5;color:var(--ink-3);text-align:center}.speaking-dock .tutor-panel:has(.tr-room.is-compact){background:#0b3b2e;border-color:#0b3b2e}.speaking-dock .tutor-panel:has(.tr-room.is-compact) .tutor-panel-header{background:#0b3b2e;border-color:#ffffff14}.speaking-dock .tutor-panel:has(.tr-room.is-compact) .tutor-panel-header strong{color:#fbf6ea}.speaking-dock .tutor-panel:has(.tr-room.is-compact) .tutor-panel-header small{color:#9fb5a7}.speaking-dock .tutor-panel:has(.tr-room.is-compact) .tutor-close{background:#ffffff14;color:#f4efe2}.speaking-dock .tutor-panel:has(.tr-room.is-compact) .tutor-panel-body{padding:0}.speaking-dock .tr-room.is-compact{border-radius:0;box-shadow:none;min-height:0;height:min(620px,calc(100dvh - 190px))}.speaking-dock .tutor-panel:has(.tr-room.is-compact) .tr-disclosure{margin:0;padding:10px 16px 14px;color:#9fb5a7}.speaking-dock .speaking-review-hero{padding:var(--space-4) 0}.speaking-dock .tr-review-hero .tutor-face{--tf:56px}.speaking-dock .speaking-review-hero h1{font-size:var(--text-2xl)}.speaking-dock .speaking-review-hero p{font-size:var(--text-sm);line-height:1.55}.speaking-dock .tr-review-words{grid-template-columns:minmax(0,1fr)}.speaking-dock .speaking-review-request,.speaking-dock .speaking-feedback{padding:var(--space-4)}.speaking-dock .speaking-review-request h2{font-size:var(--text-lg)}.speaking-dock .speaking-review-request p,.speaking-dock .speaking-feedback p{font-size:var(--text-sm)}.speaking-dock .speaking-feedback article{grid-template-columns:1fr}.speaking-dock .speaking-success{padding:var(--space-4)}.speaking-dock .speaking-success h2{font-size:var(--text-lg)}.speaking-dock .a1-back{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);margin:var(--space-4) 0}.speaking-dock .a1-back .btn,.speaking-dock .speaking-review-actions .btn{font-size:var(--text-sm)}.speaking-dock .speaking-footnote{margin:var(--space-4) 0 0;font-size:var(--text-xs)}.speaking-dock .speaking-caption span{font-size:var(--text-md);line-height:1.55}.speaking-dock .speaking-caption small{font-size:var(--text-xs)}.speaking-dock .speaking-transcript-review .speaking-caption .speaking-caption-en{margin-top:var(--space-1);font-size:var(--text-sm);line-height:1.55;color:var(--ink-3)}.speaking-dock .speaking-translation-note{font-size:var(--text-xs);line-height:1.5}.speaking-dock .speaking-error{font-size:var(--text-sm)}@keyframes tutor-beam{0%{transform:scale(1);opacity:.5}85%,to{transform:scale(1.5);opacity:0}}@media(max-width:640px){.speaking-dock .tutor-panel{left:0!important;top:0!important;width:100%!important;max-height:none!important;height:100dvh;border-radius:0;border:0}.speaking-dock .tutor-panel-header{padding-top:calc(var(--space-3) + env(safe-area-inset-top))}.speaking-dock .tr-room.is-compact{height:calc(100dvh - 118px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.speaking-dock .tutor-panel:has(.tr-room.is-compact) .tr-disclosure{padding-bottom:calc(14px + env(safe-area-inset-bottom))}}@media(max-width:700px){.tutor-panel-body{padding-inline:var(--space-4)}.tutor-panel-header{padding:var(--space-3) var(--space-4)}.tutor-field select,.speaking-dock .speaking-caption span{font-size:var(--text-md)}}@media(prefers-reduced-motion:reduce){.tutor-launcher:before,.tutor-launcher:after{animation:none;opacity:0}.tutor-panel,.tutor-launcher-label{transition:none;transform:none}}@media(max-width:900px){.speaking-dock .tutor-launcher .speaking-avatar{width:44px;height:44px}.speaking-dock .tutor-launcher .tutor-face{--tf:44px}}.tr-room.is-compact .tr-pocket .tr-word-note{color:var(--ink-3)}.tr-room.is-compact .tr-pocket .tr-word.is-missing{background:var(--surface-2)}.tr-room.is-compact .tr-pocket :is(.tr-word.is-missing,.tr-word.is-pending) .tr-word-open>span{color:var(--ink-3)}.tutor-activity{max-width:760px;margin:0 auto;color:var(--ink)}.ta-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.ta-header h2{font-size:var(--text-3xl);letter-spacing:-1px;margin:6px 0 12px}.ta-header>.btn{min-width:42px;padding:8px;font-size:var(--text-2xl)}.ta-status{display:flex;align-items:center;gap:8px;color:var(--ink-3);font-size:var(--text-xs);margin:0 0 22px}.ta-dot{height:7px;width:7px;background:var(--brand);border-radius:50%}.ta-intro{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.ta-orb{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--brand-tint);color:var(--brand);font-size:var(--text-2xl);margin-bottom:18px}.ta-intro h3{font-size:var(--text-2xl);letter-spacing:-.5px;margin:0 0 12px}.ta-intro p{font-size:var(--text-sm);line-height:1.7;color:var(--ink-3)}.ta-intro label{display:block;font-size:var(--text-sm);font-weight:650;margin-top:20px}.ta-intro label small{font-weight:400;color:var(--ink-3)}.ta-intro select,.ta-intro input,.ta-answer-label textarea{display:block;width:100%;box-sizing:border-box;margin-top:8px;padding:12px 13px;border-radius:var(--radius-md);border:1px solid var(--border-2);background:var(--surface);color:var(--ink);font:inherit;line-height:1.5;min-height:45px}.ta-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);animation:ta-appear .22s ease-out}.ta-card-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:20px}.ta-card-meta>span{background:var(--surface-2);color:var(--ink-3);font-size:var(--text-xs);padding:6px 9px;border-radius:var(--radius-xl);font-weight:700}.ta-card-meta small{font-size:var(--text-xs);color:var(--ink-3)}.ta-card h3{font-size:var(--text-xl);letter-spacing:-.5px;line-height:1.4;margin:0 0 16px}.ta-question{font-size:var(--text-2xl);line-height:1.5;font-weight:650;letter-spacing:-.5px;margin:15px 0}.ta-english{font-size:var(--text-sm);line-height:1.65;color:var(--ink-3);margin:0 0 22px}.ta-input-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0 16px}.ta-input-tabs .btn{font-size:var(--text-sm);padding:8px 14px;min-height:40px}.ta-input-tabs [aria-pressed=true]{background:var(--brand-tint);border-color:var(--brand);color:var(--brand-ink)}.ta-choices{display:grid;gap:10px}.ta-choices .btn{justify-content:flex-start;text-align:left;white-space:normal;line-height:1.5;padding:15px;font-size:var(--text-md);gap:12px}.ta-choices .btn>span{font-size:var(--text-xs);background:var(--surface-2);padding:5px 8px;border-radius:var(--radius-sm);color:var(--ink-3)}.ta-choices [aria-pressed=true]{background:var(--brand-tint);border:1px solid var(--brand)}.ta-answer-label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.ta-answer-label textarea{font-size:var(--text-lg);font-weight:400;resize:vertical;min-height:110px}.ta-answer-label textarea:focus{outline:2px solid var(--brand);outline-offset:2px}.ta-slots{border:1px dashed var(--border-2);border-radius:var(--radius-lg);min-height:83px;background:var(--surface-2);padding:13px;display:flex;gap:7px;align-content:center;flex-wrap:wrap}.ta-slots>span{font-size:var(--text-sm);color:var(--ink-3);align-self:center}.ta-tiles{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0}.ta-build .btn{font-size:var(--text-sm);padding:10px 12px}.ta-tiles .btn:disabled{opacity:.3}.ta-hint{font-size:var(--text-sm);line-height:1.7;background:var(--sun-tint);color:var(--ink);padding:14px;border-radius:var(--radius-md);margin-top:18px}.ta-feedback{border:1px solid #f2cdc8;border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);background:var(--danger-tint);margin-top:var(--space-5)}.ta-feedback.success{background:var(--success-tint);border-color:#bfe3cf}.ta-feedback.clarify{background:var(--surface-2);border-color:var(--border-2)}.ta-feedback strong{font-size:var(--text-lg)}.ta-feedback p{font-size:var(--text-sm);line-height:1.65}.ta-feedback .ta-model{font-size:var(--text-lg);font-weight:600}.ta-feedback details{font-size:var(--text-sm)}.ta-feedback summary{min-height:44px;padding-block:10px;box-sizing:border-box;cursor:pointer}.ta-consent{margin:19px 0 14px}.ta-consent label{display:flex;align-items:flex-start;gap:9px;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.ta-consent input{margin-top:3px;accent-color:var(--brand);flex-shrink:0}.ta-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.ta-actions .btn{white-space:normal;font-size:var(--text-sm);min-height:44px;padding:10px 16px}.ta-actions>.primary{flex:1}.ta-small{font-size:var(--text-sm);line-height:1.65;color:var(--ink-3)}.ta-error{font-size:var(--text-sm);line-height:1.6;color:var(--danger-ink);background:var(--danger-tint);padding:12px;border-radius:var(--radius-md)}.ta-working{font-size:var(--text-sm);display:flex;gap:10px;align-items:center;min-height:38px;color:var(--brand)}.ta-working span{width:12px;height:12px;border:2px solid var(--border-2);border-top-color:var(--brand);border-radius:50%;animation:ta-spin 1s linear infinite}.ta-history{margin:20px 0;border-top:1px solid var(--border);padding-top:15px;font-size:var(--text-sm);color:var(--ink-3)}.ta-history summary{min-height:44px;padding-block:10px;box-sizing:border-box;cursor:pointer}.ta-history p{display:flex;justify-content:space-between;gap:15px;font-size:var(--text-sm)}.ta-history strong{font-weight:550}.ta-audio{padding:14px;background:var(--surface-2);border-radius:var(--radius-lg);display:flex;gap:8px;flex-direction:column;margin:17px 0}.ta-audio small{font-size:var(--text-xs);color:var(--ink-3)}.tutor-panel:has(.tutor-activity){max-width:520px}.tutor-panel-body:has(.tutor-activity){padding-top:22px}@keyframes ta-appear{0%{transform:translateY(6px)}to{transform:none}}@keyframes ta-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ta-card,.ta-working span{animation:none}}@media(max-width:600px){.ta-card{padding:18px}.ta-question{font-size:var(--text-2xl)}.ta-choices .btn{font-size:var(--text-lg);min-height:50px}.ta-intro{padding:18px}.ta-answer-label textarea{font-size:var(--text-lg)}.ta-consent label{font-size:var(--text-sm)}}.tutor-activity>label{display:block;font-size:var(--text-sm);color:var(--ink-3);margin:18px 0 0}.tutor-activity>label select{display:block;width:100%;padding:11px 13px;min-height:43px;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-md);font:inherit;color:var(--ink);margin-top:7px}.ta-consent summary{min-height:44px;padding-block:10px;box-sizing:border-box;font-size:var(--text-sm);color:var(--ink-3);cursor:pointer}.ta-consent[open]>summary{margin-bottom:12px}.ta-plan{margin:6px 0 26px;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.ta-plan-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.ta-plan-top .eyebrow{font-size:var(--text-xs);line-height:1.6}.ta-ready{flex-shrink:0;font-size:var(--text-xs);font-weight:600;background:var(--surface-2);color:var(--ink-3);padding:6px 10px;border-radius:var(--radius-xl)}.ta-plan h3{font-size:var(--text-3xl);line-height:1.15;letter-spacing:-.8px;margin:20px 0 10px}.ta-plan>p{font-size:var(--text-sm);color:var(--ink-3);line-height:1.7}.ta-plan-settings{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:19px}.ta-plan-settings label{font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.ta-plan select{display:block;width:100%;font:inherit;font-weight:400;font-size:var(--text-sm);color:var(--ink);padding:11px 7px;border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);margin-top:7px;min-height:44px}.ta-plan-metrics{display:flex;border-top:1px solid var(--border-2);border-bottom:1px solid var(--border-2);padding:16px 0;margin:20px 0;gap:30px}.ta-plan-metrics>div{display:flex;align-items:center;gap:10px}.ta-plan-metrics strong{font-size:var(--text-3xl);font-weight:600}.ta-plan-metrics span{font-size:var(--text-xs);max-width:80px;line-height:1.6;color:var(--ink-3)}.ta-prepared-list{display:grid;gap:9px}.ta-prepared-list article{display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-lg);padding:13px}.ta-step{color:var(--ink-3);font-size:var(--text-xs);width:22px;height:22px;border-radius:50%;background:var(--surface-2);display:grid;place-items:center;flex-shrink:0}.ta-prepared-list article>div{flex:1;min-width:0}.ta-prepared-list strong{display:block;font-size:var(--text-sm)}.ta-prepared-list small{display:block;font-size:var(--text-xs);color:var(--ink-3);margin-top:5px;line-height:1.5}.ta-prepared-list .btn{font-size:var(--text-sm);padding:8px 14px;min-height:44px}.ta-review-schedule{margin:-3px 0 20px}.ta-review-schedule summary,.ta-browse summary,.ta-plan-drawer>summary{cursor:pointer;font-size:var(--text-sm);font-weight:600;color:var(--brand-ink);padding:10px 0}.ta-review-schedule>div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-2)}.ta-review-schedule strong{display:block;font-size:var(--text-xs)}.ta-review-schedule small{display:block;font-size:var(--text-xs);line-height:1.5;color:var(--ink-3);margin-top:4px}.ta-due{white-space:nowrap;font-size:var(--text-xs);padding-top:3px;color:var(--ink-3)}.ta-due.now{color:var(--sun-ink);font-weight:700}.ta-browse{margin-top:12px}.ta-browse .btn{display:flex;justify-content:flex-start;width:100%;text-align:left;margin:6px 0;font-size:var(--text-sm)}.ta-plan-drawer{margin:20px 0}.ta-plan-drawer>.ta-plan{margin-top:12px}.ta-picture{margin:0 0 18px}.ta-picture img{display:block;width:100%;height:auto;border-radius:var(--radius-lg)}.ta-picture figcaption{font-size:var(--text-xs);color:var(--ink-3);line-height:1.6;margin-top:7px}.ta-partner{margin:15px 0 22px;background:var(--surface-2);border-radius:3px 18px 18px;padding:18px;border-left:3px solid var(--brand)}.ta-partner small{font-size:var(--text-xs);letter-spacing:1.3px;color:var(--ink-3)}.ta-partner p{font-size:var(--text-xl);line-height:1.6;margin:9px 0 0}.ta-story-steps{display:flex;align-items:center;gap:7px;margin:8px 0 20px}.ta-story-steps>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-size:var(--text-xs);background:var(--surface-2);color:var(--ink-3)}.ta-story-steps>.current{background:var(--brand);color:#fff;box-shadow:0 0 0 4px #edf2e3}.ta-story-steps>.done{background:var(--brand-tint-2);color:var(--brand-ink)}.ta-story-steps small{font-size:var(--text-xs);color:var(--ink-3);margin-left:10px}.ta-form-source{background:var(--brand-tint);border:1px solid var(--border-2);padding:19px;border-radius:var(--radius-lg);margin:14px 0 22px}.ta-form-source p{font-size:var(--text-lg);line-height:1.7}.ta-form-source small{font-size:var(--text-xs);color:var(--sun-ink);line-height:1.6}.ta-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.ta-form-fields label{font-size:var(--text-sm);color:var(--ink-3)}.ta-form-fields input{display:block;width:100%;box-sizing:border-box;font:inherit;font-size:var(--text-lg);color:var(--ink);padding:12px;border:1px solid var(--border-2);border-radius:var(--radius-md);margin-top:7px;background:var(--surface);min-height:46px}.ta-form-fields input:focus{outline:2px solid var(--brand);outline-offset:2px}@media(max-width:600px){.ta-plan{padding:17px}.ta-plan h3{font-size:var(--text-2xl)}.ta-plan-metrics{gap:19px}.ta-form-fields{grid-template-columns:1fr}.ta-prepared-list article{gap:8px}.ta-prepared-list strong,.ta-plan-settings select{font-size:var(--text-sm)}}[data-tutor-card-heading]{scroll-margin-block-start:24px}.class-facts{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.class-receptive-entry{display:grid;gap:var(--space-3)}.class-receptive-entry article,.class-writing-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:var(--space-5);row-gap:var(--space-1);padding:var(--space-5) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.class-receptive-entry small,.class-writing-entry small{grid-column:1;font-size:var(--text-sm);font-weight:600;color:var(--brand-ink)}.class-receptive-entry h2,.class-writing-entry h2{grid-column:1;margin:0;font-size:var(--text-xl);line-height:1.3}.class-receptive-entry p,.class-writing-entry p{grid-column:1;margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.class-receptive-entry article>.btn{grid-column:2;grid-row:1/4}.class-writing-entry{margin-top:var(--space-3)}.class-writing-entry>div:not(.write-entry-icon){display:grid;gap:var(--space-1);grid-column:1}.class-writing-entry>.btn{grid-column:2}#app[data-page=a1-exam-class] .class-receptive-entry+.class-writing-entry+.section-heading{margin-top:var(--space-10)}#app:is([data-page=a1-exam-class],[data-page^=a2-exam-class]) .section-heading .eyebrow{display:block;margin-bottom:var(--space-1);color:var(--brand)}.class-format{display:grid;gap:0;margin:0 0 var(--space-3);padding:var(--space-2) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.class-format article{display:grid;grid-template-columns:36px 1fr;column-gap:var(--space-4);align-items:start;padding:var(--space-4) 0}.class-format article+article{border-top:1px solid var(--border)}.class-format article>span{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--brand-tint);font-size:var(--text-sm);font-weight:700;color:var(--brand)}.class-format h2{margin:0;font-size:var(--text-lg);line-height:1.4}.class-format p{margin:2px 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.class-words{margin:0 0 var(--space-8);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.class-words-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-5);margin-bottom:var(--space-5)}.class-words-head h2{margin:var(--space-1) 0 0;font-size:var(--text-xl);line-height:1.3}.class-words-head p{margin:var(--space-1) 0 0;max-width:60ch;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.class-words-cover{display:inline-flex;align-items:center;gap:var(--space-2);flex:none;min-height:44px;padding:0 var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:600;color:var(--brand-ink);cursor:pointer}.class-words-cover input{width:18px;height:18px;margin:0;accent-color:var(--brand)}.class-words-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-6)}.class-words-grid article{min-width:0}.class-words-grid h3{margin:0;font-size:var(--text-md);line-height:1.4}.class-words-grid article>small{display:block;font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;color:var(--ink-3)}.class-words-grid ul{list-style:none;margin:var(--space-3) 0 0;padding:0}.class-words-grid li{display:grid;gap:2px;padding:var(--space-2) 0;border-top:1px solid var(--border);border-radius:2px}.class-words-grid li strong{font-size:var(--text-sm);font-weight:650;line-height:1.45;color:var(--ink)}.class-words-grid li span,.class-words-grid li em{font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.class-words-grid li em{font-style:normal;color:var(--brand-ink)}.class-words-grid .class-word-en{transition:filter .15s,opacity .15s}.class-words:has([data-class-words-cover]:checked) .class-word-en{filter:blur(6px);opacity:.45;-webkit-user-select:none;user-select:none}.class-words:has([data-class-words-cover]:checked) li:is(:hover,:focus) .class-word-en{filter:none;opacity:1;-webkit-user-select:auto;user-select:auto}.class-prepare{display:grid;gap:var(--space-5);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.class-prepare h2{margin:var(--space-2) 0 var(--space-2);font-size:var(--text-2xl)}.class-prepare p{margin:0 0 var(--space-2);font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.class-prepare>div:last-child{display:grid;gap:var(--space-3);padding-top:var(--space-5);border-top:1px solid var(--border)}.class-prepare>div:last-child>.btn.primary{justify-self:start}.class-prepare small,.class-ready>small{font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.class-loading{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-sm);color:var(--ink-2);animation:class-pulse 2s ease-in-out infinite}.class-details{margin:var(--space-3) 0 0;padding:var(--space-4) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);line-height:1.6;color:var(--ink-2)}.class-details summary{min-height:44px;padding-block:10px;box-sizing:border-box;font-weight:650;color:var(--ink);cursor:pointer}.class-details p{font-size:var(--text-sm)}.class-sources{margin:var(--space-8) 0 0;font-size:var(--text-xs);line-height:1.8;color:var(--ink-3)}.class-sources a{color:var(--ink-2);text-underline-offset:3px}.class-history{margin-top:var(--space-10)}.class-history h2{margin:0 0 var(--space-3);font-size:var(--text-xl)}.class-history article{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.class-history article span{display:block;margin-top:2px;font-size:var(--text-sm);color:var(--ink-3)}.class-cast{display:flex;justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-2) 0}.class-cast>div{flex:1;min-width:0;text-align:center}.class-portrait{width:120px;max-width:100%;margin:auto;--class-mouth:1}.class-portrait svg{width:100%;overflow:visible;animation:class-breathe 8s infinite ease-in-out}.class-mouth{transform-box:fill-box;transform-origin:center;transform:scaleY(var(--class-mouth));transition:transform .1s}.class-eyes{transform-origin:80px 70px;animation:class-blink 6s infinite}.class-portrait[data-talking=true]{filter:drop-shadow(0 0 8px rgba(14,92,69,.35))}.class-cast strong{display:block;margin:var(--space-2) 0 2px;font-size:var(--text-md)}.class-cast span{font-size:var(--text-sm);color:var(--ink-3)}.class-cast-you{align-self:center;padding:var(--space-5) var(--space-3);border:1px dashed var(--border-2);border-radius:var(--radius-lg);background:var(--surface-2)}.class-cast-you>span{font-size:var(--text-xs);font-weight:650;letter-spacing:.12em}.class-cast-you strong{font-size:var(--text-md);line-height:1.4;color:var(--ink-2)}.class-ready{padding:var(--space-8) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center}.class-ready .class-cast{max-width:440px;margin:0 auto var(--space-4)}.class-ready .class-portrait{width:96px}.class-ready h1{margin:var(--space-2) 0 var(--space-3);font-size:clamp(28px,3.2vw,var(--text-4xl));line-height:1.15;letter-spacing:-.025em}.class-ready p{max-width:56ch;margin:0 auto var(--space-3);font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.class-ready ul{display:inline-block;margin:var(--space-2) 0 var(--space-4);padding-left:1.2em;text-align:left;font-size:var(--text-md);line-height:1.8;color:var(--ink-2)}.class-ready>small{display:block;max-width:60ch;margin:var(--space-3) auto}.class-ready .speaking-consent{text-align:left}.class-ready>.btn{min-height:48px;margin:var(--space-4) 0 0;padding:12px 28px;font-size:var(--text-md)}.class-duration{display:grid;gap:6px;max-width:30rem;margin:var(--space-6) auto var(--space-2);text-align:left;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.class-duration select{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--border-2);border-radius:var(--radius-md);background-color:var(--surface);font:inherit;font-size:var(--text-md);color:var(--ink)}.class-duration-note{max-width:34rem;margin:var(--space-2) auto var(--space-5);font-size:var(--text-sm);color:var(--ink-3)}.class-room-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);margin:0 0 var(--space-4)}.class-room-heading h1{margin:var(--space-2) 0 0;font-size:clamp(26px,3vw,var(--text-3xl));line-height:1.2}.class-stepper{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);list-style:none;margin:0 0 var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:var(--text-sm);color:var(--ink-3)}.class-stepper li{display:flex;align-items:center;gap:8px}.class-stepper li>span{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--surface-2);font-size:var(--text-xs);font-weight:700}.class-stepper li[aria-current]{font-weight:650;color:var(--ink)}.class-stepper li[aria-current]>span{background:var(--brand);color:#fff}.class-room{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.class-table{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:350px;padding:var(--space-8);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.class-task-paper{display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(100%,460px);min-height:230px;padding:var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;animation:class-reveal .35s ease-out}.class-task-paper>small{font-size:var(--text-xs);font-weight:650;letter-spacing:.08em;color:var(--brand)}.class-task-paper h2{margin:var(--space-2) 0;font-size:var(--text-2xl);line-height:1.35}.class-task-paper p{margin:0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.class-keywords{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-8);margin-top:var(--space-6);text-align:left;font-size:var(--text-xl);color:var(--ink)}.class-large-mark{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:800;letter-spacing:.04em;color:var(--brand)}.class-revealed>strong{max-width:100%;margin:var(--space-8) 0 var(--space-5);font-family:var(--font-display);font-size:var(--text-5xl);line-height:1.2;overflow-wrap:anywhere}.class-picture{width:160px;height:160px;margin-top:var(--space-3);color:var(--ink-2)}.class-draw{width:100%;text-align:center}.class-draw h2{margin:0;font-size:var(--text-2xl)}.class-draw>p{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--ink-3)}.class-deck{display:flex;justify-content:center;gap:var(--space-5);margin:var(--space-8) 0 var(--space-4)}.class-card-back{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);width:128px;min-height:200px;border:4px solid var(--surface);outline:1px solid var(--brand);border-radius:var(--radius-lg);background:var(--brand);box-shadow:var(--shadow-md);font:inherit;color:#f5c766;cursor:pointer;transition:transform .2s}.class-card-back:nth-child(1){rotate:-4deg}.class-card-back:nth-child(3){rotate:4deg}.class-card-back:hover:not(:disabled){transform:translateY(-8px)}.class-card-back:focus-visible{outline:3px solid var(--brand);outline-offset:5px}.class-card-back>span{font-size:var(--text-4xl)}.class-card-back small{font-size:var(--text-xs);font-weight:650;letter-spacing:.16em;color:#eaf4ee}.class-card-back:disabled{opacity:.6;cursor:default}.class-table-status{max-width:46ch;margin-top:var(--space-6);text-align:center;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.class-room-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-4) 0}.class-room-controls>div{display:flex;flex-wrap:wrap;gap:var(--space-2)}.class-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-4) 0;border-top:1px solid var(--border)}.class-bottom>span{flex:1 1 240px;font-size:var(--text-sm);color:var(--ink-3)}.class-live-captions{max-height:240px;overflow:auto;padding:var(--space-1) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.class-torch-seats{position:sticky;top:calc(var(--bar) + var(--space-2));z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:0 0 var(--space-4);padding:6px;border-radius:var(--radius-lg);background:#f6f7f3f0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.class-seat{position:relative;display:block;padding:var(--space-4) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);font:inherit;text-align:center;color:var(--ink-2);cursor:pointer;transition:background .25s,box-shadow .25s,border-color .25s}.class-seat.has-torch{border-color:var(--sun);background:var(--sun-tint);box-shadow:0 0 0 3px #f2b33d40}.class-seat:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.class-seat:disabled{cursor:default}.class-seat .class-portrait{width:80px}.class-seat strong,.class-seat small,.class-seat-status{display:block}.class-seat strong{margin:var(--space-2) 0 2px;font-size:var(--text-md);color:var(--ink)}.class-seat small{font-size:var(--text-sm);color:var(--ink-3)}.class-seat-status{margin-top:var(--space-2);font-size:var(--text-xs);font-weight:600;color:var(--ink-3)}.has-torch .class-seat-status{font-weight:700;color:var(--sun-ink)}.class-you-avatar{display:grid;place-items:center;width:80px;height:80px;margin:auto;border-radius:50%;background:var(--brand-tint);color:var(--brand)}.class-torch-light{position:absolute;right:var(--space-3);top:var(--space-3);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--sun);color:#2a1d00;opacity:0;transform:scale(.65);transition:opacity .25s,transform .25s}.has-torch .class-torch-light{opacity:1;transform:scale(1);animation:torch-glow 3s ease-in-out infinite}.class-torch-banner{display:flex;align-items:center;gap:var(--space-4);margin:0 0 var(--space-4);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--sun);border-radius:var(--radius-md);color:var(--ink-2)}.class-torch-symbol{font-size:var(--text-2xl);color:var(--sun-ink)}.class-torch-banner strong{font-size:var(--text-md);color:var(--ink)}.class-torch-banner p{margin:2px 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.class-result-hero{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:var(--space-6);margin:0 0 var(--space-6)}.class-result-hero h1{margin:var(--space-2) 0 var(--space-2);font-size:clamp(28px,3.2vw,var(--text-4xl));line-height:1.15;letter-spacing:-.025em}.class-result-hero p{max-width:60ch;margin:0;font-size:var(--text-lg);line-height:1.6;color:var(--ink-2)}.class-score{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-5) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center}.class-score>strong{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:800;line-height:1.1;letter-spacing:-.03em;color:var(--brand)}.class-score>span{font-size:var(--text-md);font-weight:600;color:var(--ink-3)}.class-score>small{max-width:150px;margin-top:var(--space-2);font-size:var(--text-xs);line-height:1.5;color:var(--ink-3)}.class-review-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin:0 0 var(--space-6)}.class-review-columns section{padding:var(--space-5) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.class-review-columns h2{margin:0 0 var(--space-2);font-size:var(--text-lg)}.class-review-columns ul{margin:0;padding-left:1.2em;font-size:var(--text-md);line-height:1.7;color:var(--ink-2)}.class-marking{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.class-marking details{padding:0 var(--space-6);border-bottom:1px solid var(--border)}.class-marking details:last-child{border-bottom:0}.class-marking summary{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);min-height:56px;font-size:var(--text-md);cursor:pointer}.class-marking summary strong{font-size:var(--text-sm);white-space:nowrap;color:var(--ink-2)}.class-marking p{font-size:var(--text-sm);line-height:1.7;color:var(--ink-2)}.class-marking blockquote{margin:var(--space-3) 0;padding-left:var(--space-4);border-left:3px solid var(--border-2);color:var(--ink)}.class-marking small{font-size:var(--text-xs);font-weight:650;letter-spacing:.08em;color:var(--ink-3)}.class-marking+p,.class-marking~p:not(.class-result-note):not(.class-sources){margin:var(--space-4) 0 var(--space-1);font-size:var(--text-sm);color:var(--ink-2)}.class-result-note{margin:var(--space-6) 0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}@keyframes class-breathe{50%{transform:translateY(-2px)}}@keyframes class-blink{0%,45%,49%,to{transform:scaleY(1)}47%{transform:scaleY(.1)}}@keyframes class-pulse{50%{opacity:.65}}@keyframes class-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes torch-glow{50%{box-shadow:0 0 0 6px #f2b33d40}}@keyframes class-speaking{to{transform:scaleY(2.8)}}.class-portrait.examiner[data-talking=true] .class-mouth{animation:class-speaking .35s alternate infinite}@media(max-width:700px){.class-receptive-entry article,.class-writing-entry{grid-template-columns:1fr;padding:var(--space-5) var(--space-4)}.class-receptive-entry article>.btn,.class-writing-entry>.btn{grid-column:1;grid-row:auto;margin-top:var(--space-3);width:100%}.class-format{padding:var(--space-1) var(--space-4)}.class-words{padding:var(--space-5) var(--space-4)}.class-words-head{flex-direction:column;gap:var(--space-3)}.class-words-grid{grid-template-columns:1fr;gap:var(--space-5)}.class-prepare,.class-ready{padding:var(--space-5) var(--space-4)}.class-prepare>div:last-child>.btn.primary{justify-self:stretch}.class-details{padding:var(--space-4)}.class-ready .class-portrait{width:72px}.class-cast{gap:var(--space-2)}.class-cast-you{padding:var(--space-3) var(--space-2)}.class-cast-you strong{font-size:var(--text-sm)}.class-ready>.btn{width:100%}.class-room-heading{flex-direction:column}.class-stepper{gap:var(--space-2) var(--space-3)}.class-table{min-height:310px;padding:var(--space-5) var(--space-4)}.class-task-paper{min-height:220px;padding:var(--space-6) var(--space-4)}.class-keywords{gap:var(--space-3) var(--space-6);font-size:var(--text-lg)}.class-card-back{width:84px;min-height:150px;gap:var(--space-3)}.class-deck{gap:var(--space-2)}.class-revealed>strong{font-size:var(--text-4xl)}.class-torch-seats{gap:var(--space-2)}.class-seat{padding:var(--space-3) 4px}.class-seat .class-portrait,.class-you-avatar{width:56px;height:56px}.class-seat strong{font-size:var(--text-sm)}.class-seat small,.class-seat-status{font-size:var(--text-xs)}.class-torch-light{right:6px;top:6px;width:22px;height:22px}.class-torch-banner{gap:var(--space-3);padding:var(--space-3) var(--space-4)}.class-room-controls{flex-direction:column;align-items:stretch}.class-result-hero{grid-template-columns:1fr;gap:var(--space-4)}.class-score{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:var(--space-2);text-align:left}.class-score>small{max-width:none;margin:0;flex-basis:100%}.class-review-columns{grid-template-columns:1fr}.class-marking details{padding:0 var(--space-4)}}@media(prefers-reduced-motion:reduce){.class-portrait svg,.class-eyes,.class-loading,.class-task-paper,.class-portrait.examiner[data-talking=true] .class-mouth,.has-torch .class-torch-light{animation:none}.class-card-back,.class-mouth,.class-seat,.class-torch-light{transition:none}}.class-ready .class-duration-note{font-size:var(--text-sm);color:var(--ink-3)}@media(max-width:900px){.class-torch-seats{top:calc(60px + var(--space-2))}}.class-word-en .rule-de{white-space:nowrap}.cx-honest{display:flex;gap:var(--space-3);align-items:flex-start;margin:0 0 var(--space-6);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--info-tint);font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.cx-honest svg{flex:none;margin-top:2px;color:var(--info)}.cx-papers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--space-4)}.cx-paper{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.cx-paper-head{display:flex;gap:var(--space-4);align-items:center}.cx-paper-number{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:var(--radius-md);background:var(--brand-tint);font-family:var(--font-display);font-weight:750;color:var(--brand)}.cx-paper-head small{font-size:var(--text-sm);font-weight:600;color:var(--brand-ink)}.cx-paper-head h2{margin:2px 0 0;font-size:var(--text-xl);line-height:1.3}.cx-skill-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.cx-skill-list li{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--border);font-size:var(--text-sm)}.cx-skill-list li>span{font-weight:600}.cx-skill-list small{font-size:var(--text-sm);color:var(--ink-3);text-align:right}.cx-paper-estimate{margin:0;font-size:var(--text-sm);color:var(--ink-2)}.cx-paper>.btn{align-self:flex-start;margin-top:auto}.cx-retake{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--ink-3)}.cx-papers+.section-heading,.cx-retake+.section-heading{margin-top:var(--space-10)}.write-exam-launch.cx-next{margin-top:var(--space-6)}.cx-skills .cx-status{font-weight:600;color:var(--ink)}.cx-skills article>.btn,.cx-skills article>span.btn{grid-column:2;grid-row:1/5}.cx-estimate{margin:var(--space-6) 0 0;padding:var(--space-5) var(--space-6);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.cx-empty{margin:var(--space-4) 0 0}.cx-estimate.is-pass{border-left-color:var(--success)}.cx-estimate.is-below{border-left-color:var(--sun)}.cx-estimate p{margin:var(--space-2) 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.cx-estimate-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-3)}.cx-estimate-row strong{display:block;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:800;line-height:1.1;color:var(--brand);font-variant-numeric:tabular-nums}.cx-estimate-row span{display:block;margin-top:2px;font-size:var(--text-sm);color:var(--ink-3)}.xs-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin:0 0 var(--space-4)}.xs-parts button{position:relative;display:grid;gap:2px;min-height:56px;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);font:inherit;text-align:left;cursor:pointer;color:var(--ink)}.xs-parts button small{font-size:var(--text-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.xs-parts button span{font-size:var(--text-sm);font-weight:600;line-height:1.3}.xs-parts button b{position:absolute;top:var(--space-2);right:var(--space-3);color:var(--success)}.xs-parts button.current{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.xs-parts button:disabled{cursor:default;opacity:.6}.xs-part{padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.xs-cards{margin-top:var(--space-4)}.xs-cards>small,.xs-card-big>small,.xs-diary>small{display:block;margin-bottom:var(--space-2);font-size:var(--text-xs);font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.xs-cards ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin:0;padding:0;list-style:none}.xs-cards li{display:grid;gap:var(--space-2);align-content:space-between;min-height:96px;padding:var(--space-3);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--page)}.xs-cards li span{font-size:var(--text-xs);color:var(--ink-3)}.xs-cards li strong{font-family:var(--font-display);font-size:var(--text-xl);text-align:center;overflow-wrap:anywhere}.xs-card-big{margin-top:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--page)}.xs-card-big p{margin:0;font-size:var(--text-lg);line-height:1.5}.xs-card-big ul{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0 0;padding:0;list-style:none}.xs-card-big li{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--surface-2);font-size:var(--text-sm)}.xs-situation{margin:var(--space-4) 0 0;font-size:var(--text-md);line-height:1.6}.xs-diaries{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--space-3);margin-top:var(--space-4)}.xs-diary{padding:var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--page)}.xs-diary ol{margin:0;padding:0;list-style:none}.xs-diary li{display:grid;grid-template-columns:96px 1fr;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--border);font-size:var(--text-sm);line-height:1.5}.xs-diary li:first-child{border-top:0}.xs-diary time{font-variant-numeric:tabular-nums;font-weight:600}.xs-partner{margin-top:var(--space-6)}.xs-choose{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.xs-choose article{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--page)}.xs-choose h3{margin:0;font-size:var(--text-lg)}.xs-choose p{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.xs-choose .btn{align-self:flex-start;margin-top:auto}.xs-model-partner>p{margin:0 0 var(--space-3);font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.xs-lines{display:grid;gap:var(--space-2);margin:0 0 var(--space-3);padding:0;list-style:none}.xs-lines li{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-2)}.xs-lines small{font-size:var(--text-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.xs-lines p{margin:2px 0 0;font-size:var(--text-md);line-height:1.6}.xs-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0}.xs-done{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--success-tint);color:var(--success-ink)}.xs-done p{margin:0;color:var(--ink)}.xs-evidence,.xs-better{margin:var(--space-2) 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.xs-again{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border)}.xs-again h3{margin:0 0 var(--space-2);font-size:var(--text-lg)}.xs-again>p{margin:0 0 var(--space-2);font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.xs-ticks{display:grid;gap:var(--space-2)}.xs-ticks label{display:flex;gap:var(--space-2);align-items:center;min-height:44px;font-size:var(--text-sm)}.xs-voice{margin-bottom:var(--space-3)}@media(max-width:700px){.cx-estimate-row{grid-template-columns:1fr}.cx-paper{padding:var(--space-5) var(--space-4)}.cx-paper>.btn{align-self:stretch}.cx-skills article>.btn,.cx-skills article>span.btn{grid-column:1;grid-row:auto}.xs-parts{grid-template-columns:repeat(3,minmax(0,1fr))}.xs-parts button{min-height:48px;place-content:center;text-align:center}.xs-parts button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.xs-parts button small{font-size:var(--text-sm);letter-spacing:.02em}.xs-parts button b{top:2px;right:6px}.xs-part{padding:var(--space-5) var(--space-4)}.xs-cards ul{grid-template-columns:repeat(2,minmax(0,1fr))}.xs-choose{grid-template-columns:1fr}.xs-choose .btn,.xs-actions .btn{width:100%}.xs-diary li{grid-template-columns:84px 1fr}}.xs-lines li.is-you{background:var(--brand-tint)}.xs-lines li.is-you p{font-size:var(--text-sm);color:var(--brand-ink)}.write-exam-hero .speaking-pills{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.write-entry-icon{display:none}.write-exam-outline{display:grid;gap:0;margin:0 0 var(--space-4);padding:var(--space-2) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.write-exam-outline article{padding:var(--space-4) 0}.write-exam-outline article+article{border-top:1px solid var(--border)}.write-exam-outline article>span{font-size:var(--text-xs);font-weight:650;letter-spacing:.08em;color:var(--brand)}.write-exam-outline h2{margin:var(--space-1) 0;font-size:var(--text-lg)}.write-exam-outline p,.write-exam-launch p{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.write-exam-launch{display:grid;grid-template-columns:1fr auto;gap:var(--space-6);align-items:center;margin:0 0 var(--space-4);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.write-exam-launch h2{margin:0 0 var(--space-2);font-size:var(--text-xl)}.write-exam-launch small{display:block;margin-top:var(--space-3);font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.write-exam-history{margin:var(--space-10) 0 0}.write-exam-history h2{margin:0 0 var(--space-3)}.write-exam-history article{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.write-exam-history small{display:block;margin-top:2px;font-size:var(--text-sm);color:var(--ink-3)}.write-exam-heading{position:sticky;top:var(--bar);z-index:4;display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin:0 0 var(--space-4);padding:var(--space-3) 0;background:var(--page);border-bottom:1px solid var(--border)}.write-exam-heading h1{margin:var(--space-1) 0 0;font-size:clamp(24px,3vw,var(--text-3xl));letter-spacing:-.02em}.write-exam-clock{min-width:132px;padding:var(--space-2) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:center}.write-exam-clock small{display:block;font-size:var(--text-xs);font-weight:650;letter-spacing:.08em;color:var(--ink-3)}.write-exam-clock strong{display:block;margin-top:2px;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:750;font-variant-numeric:tabular-nums;color:var(--brand)}.write-exam-status{display:flex;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--ink-3)}.write-exam-part{margin:0 0 var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.write-exam-part>header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border)}.write-exam-part>header>span{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:var(--radius-md);background:var(--brand-tint);font-family:var(--font-display);font-size:var(--text-md);font-weight:750;color:var(--brand)}.write-exam-part>header>strong{margin-left:auto;font-size:var(--text-sm);white-space:nowrap;color:var(--ink-2)}.write-exam-part header small{font-size:var(--text-xs);font-weight:650;letter-spacing:.08em;color:var(--ink-3)}.write-exam-part h2{margin:2px 0 0;font-size:var(--text-xl)}.write-form-grid,.write-message-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6);padding:var(--space-6)}.write-exam-prompt{color:var(--ink)}.write-exam-prompt>p{margin:0 0 var(--space-4);font-size:var(--text-lg);line-height:1.7;white-space:pre-line}.write-exam-prompt>.eyebrow{display:block;margin-bottom:var(--space-3)}.write-exam-prompt .write-instruction{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border);font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.write-exam-prompt ol{padding-left:1.4em;font-size:var(--text-lg);line-height:1.6}.write-exam-prompt li{padding:var(--space-1) 0}.write-form-paper{padding:var(--space-5);background:var(--surface-2);border-radius:var(--radius-md)}.write-form-paper h3{margin:0 0 var(--space-4);font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--ink)}.write-form-example{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border:1px dashed var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink-2)}.write-form-example small{display:block;margin-bottom:4px;font-size:var(--text-xs);font-weight:650;letter-spacing:.08em;color:var(--ink-3)}.write-form-example>span{display:block;margin-bottom:2px;font-size:var(--text-sm)}.write-form-example strong{font-size:var(--text-md);font-weight:600}.write-form-paper label{display:flex;flex-direction:column;gap:6px;margin:var(--space-4) 0 0;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.write-form-paper label b{margin-right:6px;font-size:var(--text-xs);color:var(--ink-3)}.write-form-paper input{width:100%;min-height:48px;padding:0 var(--space-3);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);font:inherit;font-size:var(--text-lg);color:var(--ink);box-sizing:border-box}.write-form-paper input:focus-visible,.write-message-paper textarea:focus-visible{outline:none;border-color:var(--brand);box-shadow:var(--focus)}.write-message-paper{min-width:0}.write-message-paper label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.write-message-paper textarea{width:100%;min-height:280px;padding:var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);font:inherit;font-size:var(--text-lg);line-height:1.8;color:var(--ink);resize:vertical;box-sizing:border-box}.write-message-paper>div{display:flex;justify-content:space-between;margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ink-3)}.write-exam-part input:disabled{background:var(--surface-2);color:var(--ink-2)}.write-exam-submit{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-3);margin:var(--space-6) 0}.write-exam-submit p{max-width:44ch;margin:0 auto 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.write-recovery{margin:var(--space-4) 0;padding:var(--space-4) var(--space-5);background:var(--warning-tint);border:1px solid #f0d9a8;border-radius:var(--radius-md)}.write-recovery summary{min-height:44px;padding-block:10px;box-sizing:border-box;font-weight:650;cursor:pointer}.write-recovery p{font-size:var(--text-sm);line-height:1.6}.write-recovery pre{font:inherit;font-size:var(--text-sm);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.write-exam-result{display:grid;grid-template-columns:1fr auto;gap:var(--space-6);align-items:center;margin:0 0 var(--space-6)}.write-exam-result h1{margin:var(--space-2) 0;font-size:clamp(28px,3.2vw,var(--text-4xl));letter-spacing:-.025em}.write-exam-result p{max-width:60ch;margin:0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.write-result-score{min-width:170px;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center}.write-result-score strong{display:block;font-family:var(--font-display);font-size:var(--text-5xl);font-weight:800;line-height:1.1;color:var(--brand)}.write-result-score span{display:block;margin:var(--space-1) 0;font-size:var(--text-sm);color:var(--ink-3)}.write-result-score small{display:block;font-size:var(--text-xs);color:var(--ink-3)}.write-result-part{margin:0 0 var(--space-4);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.write-result-part h2{font-size:var(--text-xl)}#app[data-shell=bar] .write-result-part .section-heading{margin:0 0 var(--space-4);align-items:center}.write-result-part .section-heading>strong{font-size:var(--text-md);white-space:nowrap;color:var(--ink-2)}.write-form-results{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.write-form-results article{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--success-tint);font-size:var(--text-sm)}.write-form-results article.incorrect{background:var(--danger-tint)}.write-form-results article>span{font-size:var(--text-lg);color:var(--success-ink)}.write-form-results article.incorrect>span{color:var(--danger-ink)}.write-form-results p{margin:2px 0 0;line-height:1.5;color:var(--ink-2);overflow-wrap:anywhere}.write-submitted-message{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-lg);line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.write-message-marking article{padding:var(--space-4) 0;border-bottom:1px solid var(--border)}.write-message-marking article>div{display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-md);font-weight:600}.write-message-marking article>div>span{white-space:nowrap;color:var(--ink-2)}.write-message-marking p{margin:var(--space-1) 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.write-next-step{margin:var(--space-5) 0;padding:var(--space-4) var(--space-5);border-left:4px solid var(--sun);border-radius:var(--radius-md);background:var(--sun-tint)}.write-next-step small{font-size:var(--text-xs);font-weight:650;letter-spacing:.08em;color:var(--sun-ink)}.write-next-step p{margin:var(--space-1) 0 0;font-size:var(--text-md);line-height:1.6;color:var(--ink)}.write-improved summary{min-height:44px;padding-block:10px;box-sizing:border-box;font-size:var(--text-sm);font-weight:650;color:var(--brand-ink);cursor:pointer}.write-improved p{font-size:var(--text-lg);line-height:1.8;white-space:pre-wrap}.write-review-request{margin-top:var(--space-5)}.write-review-request h3{font-size:var(--text-lg)}.write-review-request p{font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.write-review-request .btn{margin-top:var(--space-4)}.write-review-request>small{display:block;margin-top:var(--space-3);font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.write-continue{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin:var(--space-6) 0;padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.write-continue h2{margin:0 0 var(--space-1);font-size:var(--text-xl);line-height:1.3}.write-continue p{max-width:58ch;margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.write-continue .btn{flex-shrink:0}@media(max-width:700px){.write-exam-outline{padding:var(--space-1) var(--space-4)}.write-exam-launch,.write-exam-result{grid-template-columns:1fr}.write-exam-launch,.write-result-part,.write-continue{padding:var(--space-5) var(--space-4)}.write-exam-launch .btn{width:100%}.write-exam-heading{align-items:flex-start}.write-exam-clock{min-width:104px;padding:var(--space-2)}.write-exam-clock strong{font-size:var(--text-xl)}.write-exam-part>header{padding:var(--space-4);gap:var(--space-3);flex-wrap:wrap}.write-form-grid,.write-message-grid,.write-form-paper{padding:var(--space-4)}.write-form-results{grid-template-columns:1fr}.write-exam-submit{flex-wrap:wrap}.write-exam-submit p{max-width:none;width:100%}.write-exam-submit>.btn{flex:1 1 auto}.write-continue{flex-direction:column;align-items:stretch}.write-result-score{min-width:0}}@media(max-width:900px){.write-exam-heading{top:60px}}.write-course-points{margin:var(--space-3) 0 0;padding-left:var(--space-5);line-height:1.7}.write-course-points li+li{margin-top:var(--space-1)}.write-course-instruction{margin:0 0 var(--space-2);font-size:var(--text-md);line-height:1.6;color:var(--ink)}.write-course-count{margin:var(--space-2) 0 var(--space-4);font-size:var(--text-sm);color:var(--ink-3)}.write-self-check{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border)}.write-self-check h3{margin:0 0 var(--space-1);font-size:var(--text-lg)}.write-self-check>p{margin:0 0 var(--space-4);font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.write-self-criterion{margin:0 0 var(--space-4);padding:0;border:0;min-width:0}.write-self-criterion legend{padding:0;margin-bottom:var(--space-2);font-weight:650;line-height:1.4}.write-self-criterion legend small{display:block;font-weight:400;font-size:var(--text-sm);color:var(--ink-3)}.write-self-steps{display:grid;gap:var(--space-2)}.write-self-step{position:relative;display:grid;grid-template-columns:44px 1fr;align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.write-self-step:hover{border-color:var(--border-2)}.write-self-step input{position:absolute;opacity:0;pointer-events:none}.write-self-step b{display:grid;place-items:center;width:44px;height:32px;border-radius:var(--radius-sm);background:var(--surface-2);font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--ink)}.write-self-step.is-chosen{border-color:var(--brand);background:var(--brand-tint);color:var(--ink)}.write-self-step.is-chosen b{background:var(--brand);color:var(--on-brand)}.write-self-step:has(input:focus-visible){box-shadow:var(--focus)}.write-self-step:has(input:disabled){cursor:default;opacity:.7}.write-course-review{margin-top:var(--space-5)}.write-course-criteria article{padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.write-course-criteria article>div{display:flex;justify-content:space-between;gap:var(--space-4);font-weight:600}.write-course-criteria article>div>span{white-space:nowrap;color:var(--ink-2)}.write-course-criteria p{margin:var(--space-1) 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.write-course-coverage{display:grid;gap:var(--space-2);margin:var(--space-4) 0;padding:0;list-style:none}.write-course-coverage li{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-sm);line-height:1.5}.write-course-coverage li.is-full{background:var(--success-tint)}.write-course-coverage li.is-missing{background:var(--danger-tint)}.write-course-coverage li.is-partial{background:var(--sun-tint)}.write-course-coverage p{margin:var(--space-1) 0 0;color:var(--ink-2)}.write-course-corrections{display:grid;gap:var(--space-3);padding-left:var(--space-5);font-size:var(--text-md);line-height:1.6}.write-course-corrections del{color:var(--danger-ink)}.write-course-corrections ins{text-decoration:none;font-weight:600;color:var(--success-ink)}.write-course-corrections p{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--ink-2)}.write-course-rewrite .write-message-paper{margin-top:var(--space-4)}.write-course-rewrite .write-message-paper textarea{min-height:160px}.write-course-actions{display:flex;justify-content:flex-end;margin-top:var(--space-4)}.write-course-rewrite-review{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border)}.write-course-rewrite-review>small{display:block;margin-top:var(--space-3);font-size:var(--text-sm);color:var(--ink-3)}@media(max-width:700px){.write-course-actions .btn{width:100%}.write-self-step{grid-template-columns:40px 1fr;padding:var(--space-2)}.write-self-step b{width:40px}}.write-self-step:has(input:checked){border-color:var(--brand);background:var(--brand-tint);color:var(--ink)}.write-self-step:has(input:checked) b{background:var(--brand);color:var(--on-brand)}.focus-pill{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px;border:1px solid var(--border-2);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-2);font:600 var(--text-sm)/1 var(--font-text);white-space:nowrap;cursor:pointer}.focus-pill svg{width:16px;height:16px}.focus-pill i{width:6px;height:6px;border-radius:50%;background:var(--ink-4)}.focus-pill.is-running i{background:var(--brand);box-shadow:0 0 0 4px var(--brand-tint);animation:focus-breathe 2.4s ease-in-out infinite}.focus-panel{position:fixed;z-index:140;right:var(--focus-right,var(--space-6));top:calc(var(--bar) + var(--space-2));width:min(380px,calc(100vw - 24px));max-height:calc(100dvh - var(--bar) - var(--space-6));overflow:auto;box-sizing:border-box;padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);color:var(--ink);font-family:var(--font-text)}.focus-panel[hidden]{display:none}.focus-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.focus-panel h2{margin:var(--space-1) 0 0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:700}.focus-close{flex:none;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--surface-2);color:var(--ink-2);font-size:24px;line-height:1;cursor:pointer}.focus-close:hover{background:var(--border);color:var(--ink)}.focus-dial{display:grid;place-items:center;width:184px;height:184px;margin:var(--space-5) auto var(--space-4);padding:6px;box-sizing:border-box;border-radius:50%;background:conic-gradient(var(--brand) var(--focus-progress),var(--surface-2) 0);transition:background .4s}.focus-dial>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);width:100%;height:100%;border-radius:50%;background:var(--surface)}.focus-dial strong{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink)}.focus-dial span{max-width:130px;text-align:center;font-size:var(--text-sm);line-height:1.3;color:var(--ink-3)}.focus-presets{display:flex;gap:var(--space-2)}.focus-presets button{flex:1;min-height:44px;padding:0 var(--space-2);border:1px solid var(--border-2);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-2);font:600 var(--text-sm)/1 var(--font-text);cursor:pointer}.focus-presets button:hover{border-color:var(--brand);color:var(--brand-ink)}.focus-presets button[aria-pressed=true]{border-color:var(--brand);background:var(--brand-tint);color:var(--brand-ink)}.focus-custom{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin:var(--space-3) 0;font-size:var(--text-sm);color:var(--ink-2)}.focus-custom input{width:72px;min-height:44px;box-sizing:border-box;padding:0 var(--space-3);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-md)}.focus-custom input:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus)}.focus-buttons{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.focus-buttons .btn{flex:1;justify-content:center}.focus-explainer{margin:var(--space-4) 0 0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}.focus-message{margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--warning-tint);font-size:var(--text-sm);line-height:1.5;color:var(--sun-ink)}.focus-message:empty{display:none}.focus-session-summary{margin:0;text-align:center;font-size:var(--text-sm);color:var(--ink-2)}.focus-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin:var(--space-5) 0 0;padding-top:var(--space-4);border-top:1px solid var(--border)}.focus-totals div{display:flex;flex-direction:column;gap:2px;text-align:center}.focus-totals strong{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.focus-totals span{font-size:var(--text-xs);font-weight:600;color:var(--ink-3)}.focus-history{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--ink-2)}.focus-history summary{display:list-item;padding:var(--space-3) 0;cursor:pointer;font-weight:600;color:var(--ink)}.focus-history>div{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--border)}.focus-history>div>span:last-child{font-size:var(--text-xs);color:var(--ink-3)}.focus-presets button:focus-visible,.focus-close:focus-visible,.focus-history summary:focus-visible{outline:none;box-shadow:var(--focus)}@keyframes focus-breathe{50%{box-shadow:0 0 0 6px var(--brand-tint)}}@media(max-width:900px){.focus-panel{top:68px;right:12px;left:12px;width:auto;max-width:420px;margin-left:auto;padding:var(--space-5);max-height:calc(100dvh - 152px - env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.focus-pill.is-running i{animation:none}.focus-dial{transition:none}}.flash-launch{display:flex;align-items:center;gap:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);margin:0 0 var(--space-6)}.flash-launch>div:nth-child(2){flex:1;min-width:0}.flash-launch h2{font-size:var(--text-xl);margin:var(--space-2) 0 var(--space-1)}.flash-launch p{margin:0;line-height:1.55;color:var(--ink-2)}.flash-launch>.btn{flex-shrink:0}.flash-stack-mini{height:72px;width:62px;position:relative;flex-shrink:0}.flash-stack-mini i,.flash-stack-mini span{position:absolute;inset:0;border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--surface);transform:rotate(-10deg)}.flash-stack-mini i:nth-child(2){transform:rotate(8deg);background:var(--brand-tint)}.flash-stack-mini span{display:grid;place-items:center;color:var(--brand);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:750;transform:rotate(-2deg)}.my-words{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);margin:0 0 var(--space-6)}.my-words-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4) var(--space-6);flex-wrap:wrap}.my-words-head>div:first-child{flex:1 1 320px;min-width:0}.my-words-head h2{font-size:var(--text-xl);margin:var(--space-2) 0 var(--space-1)}.my-words-head p{margin:0;line-height:1.55;color:var(--ink-2)}.my-words-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.my-words-empty{display:flex;gap:var(--space-4);align-items:flex-start;margin-top:var(--space-5);padding:var(--space-5);border:1px dashed var(--border-2);border-radius:var(--radius-md);background:var(--surface)}.my-words-empty .hub-art{flex:none}.my-words-empty strong{display:block;font-family:var(--font-display);font-size:var(--text-md);color:var(--ink)}.my-words-empty p{margin:var(--space-1) 0 var(--space-2);line-height:1.55;color:var(--ink-2)}.my-words-empty .text-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:var(--text-sm);font-weight:600;color:var(--brand-ink);text-decoration:none}.my-words-note{margin:var(--space-4) 0 0;color:var(--ink-2)}.my-words-list{list-style:none;margin:var(--space-5) 0 0;padding:0;border-top:1px solid var(--border)}.my-words-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.my-words-row>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-3);min-width:0}.my-words-row strong{font-family:var(--font-display);font-size:var(--text-md);color:var(--ink);overflow-wrap:anywhere}.my-words-row span{color:var(--ink-2);font-size:var(--text-sm);overflow-wrap:anywhere}.my-words-row .my-words-kind{font-size:var(--text-xs);font-weight:600;color:var(--ink-3);white-space:nowrap}.my-words-row .icon-btn:hover{color:var(--danger-ink)}.my-words-more summary{min-height:44px;display:flex;align-items:center;font-size:var(--text-sm);font-weight:600;color:var(--brand-ink);cursor:pointer}.my-words-more .my-words-list{margin-top:0}.flash-practice{max-width:var(--content-narrow);margin:0 auto}.flash-top{display:flex;align-items:center;gap:var(--space-4)}.flash-top>.icon-btn{flex:none;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--border-2);border-radius:50%;background:var(--surface);color:var(--ink-2);cursor:pointer}.flash-top>.icon-btn:hover{border-color:var(--brand);color:var(--brand-ink)}.flash-progress{flex:1;min-width:0}.flash-progress>div:first-child{display:flex;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--ink-2)}.flash-progress>div:first-child strong{font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums}.flash-progress .progress-track{height:6px;border-radius:var(--radius-pill);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border);overflow:hidden}.flash-progress .progress-track i{display:block;height:100%;border-radius:inherit;background:var(--brand);transition:width .3s}.flash-preferences{display:flex;gap:var(--space-1);flex-wrap:wrap}.flash-preferences .btn{font-size:var(--text-sm);min-height:40px;padding:8px 12px;color:var(--ink-2)}.flash-preferences [aria-pressed=true]{background:var(--brand-tint);color:var(--brand-ink)}.flash-heading{text-align:center;margin:var(--space-6) 0 var(--space-5);outline:none}.flash-practice .flash-heading:focus,.flash-practice .flash-heading:focus-visible{box-shadow:none;outline:none}.flash-heading h1{font-size:var(--text-2xl);letter-spacing:-.015em;margin:var(--space-2) 0 0}.flash-stage{perspective:1400px;max-width:620px;margin:0 auto}.flash-card{min-height:340px;display:grid;transform-style:preserve-3d;transition:transform .58s cubic-bezier(.22,.8,.28,1);cursor:pointer;position:relative}.flash-card.is-flipped{transform:rotateY(180deg)}.flash-face{grid-area:1/1;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-8) var(--space-6);background:var(--surface);box-shadow:var(--shadow-md);display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.flash-back{transform:rotateY(180deg);background:var(--surface);border-color:var(--brand-tint-2);box-shadow:inset 0 4px 0 var(--brand),var(--shadow-md)}.flash-language{align-self:flex-start;display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);letter-spacing:.08em;font-weight:650;color:var(--ink-3)}.flash-language i{width:4px;height:4px;border-radius:50%;background:currentColor}.flash-back>.flash-language{color:var(--brand-ink)}.flash-word-line{display:flex;align-items:center;justify-content:center;gap:var(--space-4);width:100%;margin:var(--space-10) 0 var(--space-5)}.flash-word-line h2{min-width:0}.flash-face h2{font-size:clamp(28px,3.2vw,var(--text-4xl));line-height:1.2;letter-spacing:-.02em;margin:0;color:var(--ink);overflow-wrap:anywhere}.flash-speaker{border:0;background:var(--brand-tint);border-radius:50%;color:var(--brand);min-width:48px;min-height:48px;display:grid;place-items:center;cursor:pointer;flex:none}.flash-speaker:hover:not(:disabled){background:var(--brand-tint-2)}.flash-speaker:disabled{opacity:.4;cursor:default}.flash-audio-soon{flex:none;padding:4px 10px;border-radius:var(--radius-pill);background:var(--surface-2);font-family:var(--font-text);font-size:var(--text-xs);font-weight:600;letter-spacing:0;line-height:1.4;color:var(--ink-3);white-space:nowrap}.flash-example{display:flex;align-items:center;gap:var(--space-3);justify-content:center;min-height:44px;border:0;background:none;font:inherit;font-size:var(--text-lg);line-height:1.55;color:var(--ink-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer}.flash-example svg{flex-shrink:0;color:var(--brand)}.flash-example:hover:not(:disabled){color:var(--ink);background:var(--surface-2)}.flash-example:disabled{color:var(--ink-2);cursor:default}.flash-plural{font-size:var(--text-sm);color:var(--ink-3);margin:calc(var(--space-2) * -1) 0 var(--space-2)}.flash-example.is-text{cursor:default;margin:0}.flash-example.is-text:hover{color:var(--ink-2);background:none}.flash-word-note{font-size:var(--text-sm);line-height:1.5;color:var(--ink-2);margin:calc(var(--space-2) * -1) 0 var(--space-4);max-width:42ch}.flash-long .flash-word-line h2{font-size:clamp(25px,2.5vw,var(--text-3xl));letter-spacing:-.01em}.flash-card-bottom{margin-top:auto;padding-top:var(--space-6);font-size:var(--text-sm);color:var(--ink-3)}.flash-back>h2{margin:var(--space-10) 0 var(--space-5)}.flash-english-example{font-size:var(--text-lg);line-height:1.55;color:var(--ink-2);margin:0}.flash-english-example>span[lang=en]{display:block;color:var(--ink);font-weight:600}.flash-notes{width:100%;display:grid;gap:var(--space-2);margin:0 0 var(--space-4);text-align:left}.flash-notes p{margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);font-size:var(--text-sm);line-height:1.55;color:var(--ink)}.flash-notes .flash-note-label{display:block;font-size:var(--text-xs);font-weight:650;letter-spacing:.06em;color:var(--brand-ink);margin-bottom:2px}.flash-notes p:last-child{background:var(--sun-tint);border-color:transparent;color:var(--ink)}.flash-notes p:last-child .flash-note-label{color:var(--sun-ink)}.flash-card.has-notes{min-height:380px}.flash-card.has-notes .flash-back{padding-top:var(--space-6);padding-bottom:var(--space-5)}.flash-card.has-notes .flash-back>h2{font-size:clamp(25px,2.6vw,var(--text-3xl));margin:var(--space-2) 0 var(--space-3)}.flash-card.has-notes .flash-english-example{margin:0;line-height:1.45}.flash-card.has-notes .flash-back .flash-notes{margin-bottom:var(--space-3)}.flash-card.has-notes .flash-back .flash-card-bottom{display:none}.flash-card.has-notes .flash-front .flash-word-line{margin-top:auto}.flash-under-card{text-align:center;margin-top:var(--space-5)}.flash-under-card>.btn{font-size:var(--text-sm)}.flash-under-card p{font-size:var(--text-sm);color:var(--ink-2);margin:var(--space-2) 0;line-height:1.5}.flash-under-card [data-flash-audio-status]{min-height:20px;color:var(--brand-ink);font-size:var(--text-sm);margin:0}.flash-practice kbd{font-family:var(--font-text);font-size:var(--text-xs);font-weight:600;line-height:1;border:1px solid var(--border-2);border-radius:6px;background:var(--surface);color:var(--ink-2);padding:3px 6px;margin-left:var(--space-2)}.flash-rating{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);max-width:620px;margin:var(--space-5) auto 0}.flash-rating>button{min-height:72px;border:1px solid transparent;border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);text-align:left;font:inherit;cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s}.flash-rating span{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.flash-rating small{display:block;margin:var(--space-1) 0 0 30px;font-size:var(--text-sm);opacity:.9}.flash-rating small kbd{margin-left:var(--space-2)}.flash-rating>.flash-again{background:var(--surface);border-color:var(--border-2);color:var(--ink)}.flash-again svg{color:var(--sun-ink)}.flash-rating>.flash-again:hover:not(:disabled){border-color:var(--sun);background:var(--sun-tint)}.flash-known{background:var(--brand);color:#fff}.flash-known:hover:not(:disabled){background:var(--brand-hover)}.flash-known kbd{background:transparent;border-color:#ffffff80;color:#fff}.flash-rating>button:disabled{opacity:.45;cursor:default}.flash-small{text-align:center;font-size:var(--text-sm);color:var(--ink-3);line-height:1.6;margin-top:var(--space-4)}.flash-keys{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-4);margin:var(--space-5) auto 0;max-width:620px;font-size:var(--text-xs);color:var(--ink-3)}.flash-keys kbd{font-family:var(--font-text);font-size:var(--text-xs);font-weight:600;line-height:1;border:1px solid var(--border-2);border-radius:6px;background:var(--surface);color:var(--ink-2);padding:3px 6px;margin-left:0;margin-right:4px}kbd.study-kbd{display:inline-grid;place-items:center;flex:none;box-sizing:border-box;min-width:24px;height:24px;padding:0 6px;border:1px solid var(--border-2);border-radius:6px;background:var(--surface);color:var(--ink-2);font:600 var(--text-xs)/1 var(--font-text)}.btn.primary kbd.study-kbd{background:transparent;border-color:#ffffff80;color:#fff}.flash-practice.is-hands-free .flash-progress .progress-track i{background:var(--sun)}.flash-finish{max-width:620px;margin:var(--space-10) auto;text-align:center;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-md);padding:var(--space-10) var(--space-8)}.flash-complete-orb{display:grid;place-items:center;margin:0 auto var(--space-6);background:var(--brand-tint);color:var(--brand);width:80px;height:80px;border-radius:50%;animation:flash-bloom .5s ease-out}.flash-finish h1{font-size:var(--text-3xl);line-height:1.2;margin:var(--space-2) 0}.flash-finish>p{line-height:1.6;color:var(--ink-2)}.flash-result-stats{display:flex;justify-content:center;gap:var(--space-12);margin:var(--space-8) 0}.flash-result-stats strong,.flash-result-stats span{display:block}.flash-result-stats strong{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:750;color:var(--brand)}.flash-result-stats span{font-size:var(--text-sm);color:var(--ink-3);margin-top:var(--space-1)}.flash-finish-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}@keyframes flash-bloom{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@media not all and (hover:hover)and (pointer:fine){.flash-keys,.flash-rating kbd,.flash-under-card kbd,kbd.study-kbd{display:none}}.flash-more{display:none}.flash-face[data-more]>.flash-more{display:flex;justify-content:center;position:sticky;bottom:0;height:0;width:100%;margin:0;padding:0;border:0;background:none;overflow:visible;cursor:pointer;z-index:1}.flash-more>span{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 var(--space-3) 0 var(--space-2);border-radius:var(--radius-pill);background:var(--brand);color:var(--on-brand);font:600 var(--text-xs)/1 var(--font-text);box-shadow:var(--shadow-md);transform:translateY(calc(-100% - 2px));white-space:nowrap}.flash-more svg{transform:rotate(90deg)}.flash-more:hover>span{background:var(--brand-hover)}@media(min-width:701px)and (max-height:900px){.flash-heading{margin:var(--space-3) 0}.flash-heading h1{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.flash-card{min-height:270px}.flash-card.has-notes{min-height:350px}.flash-face{padding:var(--space-6) var(--space-8) var(--space-5)}.flash-word-line{margin:var(--space-6) 0 var(--space-3)}.flash-back>h2{margin:var(--space-6) 0 var(--space-4)}.flash-card-bottom{padding-top:var(--space-4)}.flash-example,.flash-english-example{font-size:var(--text-md);line-height:1.5}.flash-under-card{margin-top:var(--space-3)}.flash-under-card p{margin:var(--space-1) 0}.flash-rating{margin-top:var(--space-3)}.flash-rating>button{min-height:64px;padding:var(--space-3) var(--space-5)}.flash-small{margin-top:var(--space-3)}}@media(min-width:701px)and (max-height:800px){.flash-plural{font-size:var(--text-xs);margin:0 0 var(--space-1)}}@media(max-width:700px){.flash-launch{padding:var(--space-5);gap:var(--space-4);flex-wrap:wrap}.flash-launch>div:nth-child(2){flex-basis:calc(100% - 90px)}.flash-launch>.btn{width:100%}.my-words{padding:var(--space-5)}.my-words-actions,.my-words-actions .btn{width:100%}.my-words-row{gap:var(--space-2)}.my-words-row .my-words-kind{display:none}.flash-top{gap:var(--space-3);flex-wrap:wrap}.flash-progress{min-width:180px}.flash-preferences{width:100%;justify-content:flex-end}.flash-preferences .btn{padding:8px 10px}.flash-heading{margin:var(--space-3) 0}.flash-heading h1{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.flash-face{padding:var(--space-5) var(--space-5) var(--space-4)}.flash-face h2{font-size:var(--text-3xl)}.flash-word-line{margin:var(--space-8) 0 var(--space-4)}.flash-example,.flash-english-example{font-size:var(--text-md)}.flash-keys,[data-flash-hint],.flash-back .flash-card-bottom,.flash-under-card kbd{display:none}.flash-under-card{margin-top:var(--space-2)}}@media(max-width:700px){body:has(.flash-practice){overflow:hidden;--flash-bar: calc(80px + env(safe-area-inset-bottom)) }body:has(.flash-practice) #app[data-shell=bar] main,body:has(.flash-practice) #app[data-shell=bar] .main-shell>footer{visibility:hidden}body:has(.flash-practice) #app[data-shell=bar] .main-shell>footer{display:none}.flash-practice{visibility:visible;position:fixed;z-index:25;top:61px;left:0;right:0;bottom:var(--flash-bar);max-width:none;margin:0;padding:var(--space-3) var(--space-4) var(--space-2);display:flex;flex-direction:column;background:var(--page);overflow-y:auto;overscroll-behavior:contain}.flash-top,.flash-heading,.flash-under-card{flex:none}.flash-stage{flex:1 1 auto;min-height:200px;width:100%;display:flex;flex-direction:column}.flash-card,.flash-card.has-notes{flex:1 1 auto;min-height:0;grid-template-rows:minmax(0,1fr)}.flash-face{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.flash-card.has-notes .flash-back{padding-top:var(--space-5)}.flash-card .flash-front{justify-content:flex-start}.flash-front .flash-word-line{margin-top:auto}.flash-word-line{flex-wrap:wrap;row-gap:var(--space-2)}.flash-face h2{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}.flash-back{background:linear-gradient(var(--surface) 30%,rgba(255,255,255,0)) center top/100% 32px no-repeat local,linear-gradient(rgba(255,255,255,0),var(--surface) 70%) center bottom/100% 32px no-repeat local,radial-gradient(farthest-side at 50% 0,#10231b24,#10231b00) center top/100% 10px no-repeat scroll,radial-gradient(farthest-side at 50% 100%,#10231b24,#10231b00) center bottom/100% 10px no-repeat scroll,var(--surface)}.flash-practice:after{content:"";position:fixed;left:0;right:0;bottom:0;z-index:1;height:var(--flash-bar);box-sizing:border-box;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -4px 16px #10231b0d}.flash-under-card>.btn,.flash-rating{position:fixed;z-index:2;left:var(--space-4);right:var(--space-4);bottom:calc(var(--space-3) + env(safe-area-inset-bottom));margin:0;max-width:none}.flash-practice:not(.is-back) .flash-under-card>.btn{min-height:56px;justify-content:center;border:0;border-radius:var(--radius-lg);background:var(--brand);color:var(--on-brand);font-size:var(--text-md);font-weight:650}.flash-practice:not(.is-back) .flash-under-card>.btn:hover{background:var(--brand-hover);color:var(--on-brand)}.flash-practice.is-back .flash-under-card>.btn{position:static;min-height:44px;margin:0 auto}.flash-under-card{min-height:44px;margin-top:var(--space-1);display:flex;align-items:center;justify-content:center;gap:var(--space-1) var(--space-3)}.flash-under-card [data-flash-audio-status]{min-height:0;margin:0;font-size:13px;line-height:1.3;text-align:left;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.flash-under-card [data-flash-audio-status]:empty{width:0;margin-inline-start:calc(var(--space-3) * -1)}.flash-practice.is-back .flash-under-card>.btn{flex:none}.flash-practice:not(.is-back) .flash-rating{display:none}.flash-rating{gap:var(--space-3)}.flash-rating>button{min-height:56px;padding:var(--space-2) var(--space-4);display:flex;align-items:center;justify-content:center}.flash-rating small{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.flash-rating span{white-space:nowrap}}@media(max-width:380px){.flash-preferences{gap:0;justify-content:space-between;flex-wrap:nowrap}.flash-preferences .btn{padding:8px 6px}.flash-rating>button{padding:var(--space-2) var(--space-3)}.flash-rating span{gap:var(--space-2);font-size:var(--text-md)}}@media(max-width:700px)and (max-height:500px){body:has(.flash-practice){overflow:auto}body:has(.flash-practice) #app[data-shell=bar] main{visibility:visible}.flash-practice{position:static;display:block;overflow:visible;padding:0 0 calc(var(--flash-bar) + var(--space-3))}.flash-card,.flash-card.has-notes{min-height:240px;grid-template-rows:auto}.flash-face{overflow:visible}.flash-under-card{min-height:0}}@media(max-width:700px)and (max-height:700px){.flash-top{gap:var(--space-2) var(--space-3)}.flash-heading{margin:var(--space-2) 0}.flash-word-line{margin:var(--space-5) 0 var(--space-3)}.flash-front .flash-card-bottom{display:none}.flash-front:after{content:"";margin-top:auto}}@media(max-width:700px){.flash-finish{padding:var(--space-8) var(--space-5)}.flash-finish h1{font-size:var(--text-2xl)}.flash-finish-actions{flex-direction:column}.flash-finish-actions .btn{width:100%}body:has(.flash-practice) .speaking-dock{visibility:hidden}}@media(prefers-reduced-motion:reduce){.flash-card,.flash-progress .progress-track i,.flash-rating>button{transition:none}.flash-complete-orb{animation:none}}.receptive-outline{display:grid;gap:0;margin:0 0 var(--space-5);padding:var(--space-2) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.receptive-outline article{display:grid;grid-template-columns:36px 1fr;column-gap:var(--space-4);padding:var(--space-4) 0}.receptive-outline article+article{border-top:1px solid var(--border)}.receptive-outline article>span{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--brand-tint);font-size:var(--text-sm);font-weight:700;color:var(--brand)}.receptive-outline h2{margin:0;font-size:var(--text-lg);line-height:1.4}.receptive-outline p{margin:2px 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.receptive-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-5);margin:0 0 var(--space-4)}.receptive-toolbar h1{margin:0 0 var(--space-1);font-size:var(--text-3xl);letter-spacing:-.02em}.receptive-toolbar small{font-size:var(--text-sm);color:var(--ink-3)}.receptive-time{display:grid;min-width:100px;padding:var(--space-2) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:center;color:var(--ink)}.receptive-time>span{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:750;font-variant-numeric:tabular-nums}.receptive-time small{font-size:var(--text-xs);color:var(--ink-3)}.receptive-map{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 var(--space-4)}.receptive-map button{width:44px;height:44px;border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-sm);font-weight:650;color:var(--ink-2);cursor:pointer}.receptive-map button:hover{border-color:var(--brand)}.receptive-map button.answered{background:var(--brand-tint);border-color:var(--brand-tint-2);color:var(--brand-ink)}.receptive-map button.current{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 0 0 3px var(--brand-tint)}.receptive-map button.right{border-bottom:4px solid var(--success)}.receptive-map button.wrong{border-bottom:4px solid var(--danger)}.receptive-question{padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.receptive-question-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.receptive-instruction{margin:var(--space-2) 0 0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.receptive-question h2{margin:var(--space-5) 0 var(--space-4);font-size:var(--text-xl);line-height:1.45}.receptive-text{margin:var(--space-4) 0;padding:var(--space-4) var(--space-5);border-left:3px solid var(--sun);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--surface-2);font-size:var(--text-lg);line-height:1.7;white-space:pre-wrap;color:var(--ink)}.receptive-listen{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin:var(--space-4) 0 var(--space-5)}.receptive-listen>span{font-size:var(--text-sm);color:var(--ink-3)}.receptive-options{display:grid;gap:var(--space-2)}.receptive-option{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:52px;padding:var(--space-3) var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);font:inherit;font-size:var(--text-md);text-align:left;color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}.receptive-option:not(:disabled):hover{border-color:var(--brand);background:var(--brand-tint)}.receptive-option>span{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border:1px solid var(--border-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:700;color:var(--ink-2)}.receptive-option.selected{border-color:var(--brand);background:var(--brand-tint);box-shadow:inset 0 0 0 1px var(--brand)}.receptive-option.selected>span{background:var(--brand);border-color:var(--brand);color:#fff}.receptive-option.correct{border-color:var(--success);background:var(--success-tint);box-shadow:none}.receptive-option.correct>span{background:var(--success);border-color:var(--success);color:#fff}.receptive-option.incorrect{border-color:var(--danger);background:var(--danger-tint);box-shadow:none}.receptive-option.incorrect>span{background:var(--danger);border-color:var(--danger);color:#fff}.receptive-option:disabled{opacity:1;cursor:default}.receptive-move,.receptive-submit{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-6)}.receptive-move{padding-top:var(--space-5);border-top:1px solid var(--border)}.receptive-submit{margin:var(--space-5) 0 var(--space-8)}.receptive-submit>span{font-size:var(--text-sm);color:var(--ink-3)}.receptive-explanation{margin-top:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-sm);line-height:1.6}.receptive-explanation p{margin:var(--space-2) 0}.receptive-explanation summary{min-height:44px;padding-block:10px;box-sizing:border-box;font-weight:650;color:var(--brand-ink);cursor:pointer}.receptive-result{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin:0 0 var(--space-5);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.receptive-result h1{margin:var(--space-2) 0;font-size:var(--text-5xl);line-height:1;letter-spacing:-.03em;color:var(--brand)}.receptive-result h1 small{font-size:var(--text-2xl);letter-spacing:0;color:var(--ink-3)}.receptive-result p{max-width:56ch;margin:0;font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.receptive-result small{color:var(--ink-3)}.receptive-result>div{min-width:0}.receptive-result>.btn{flex:none}@media(max-width:700px){.receptive-outline{padding:var(--space-1) var(--space-4)}.receptive-toolbar h1{font-size:var(--text-2xl)}.receptive-time{min-width:84px;padding:var(--space-2)}.receptive-question{padding:var(--space-5) var(--space-4)}.receptive-text{padding:var(--space-4)}.receptive-map button{width:44px;height:44px}.receptive-result{display:block;padding:var(--space-5) var(--space-4)}.receptive-result>.btn{width:100%;margin-top:var(--space-4)}.receptive-submit{flex-direction:column;align-items:stretch}}@media(prefers-reduced-motion:reduce){.receptive-option{transition:none}}.receptive-option.correct:after,.receptive-option.incorrect:after{margin-left:auto;padding-left:var(--space-3);font-size:var(--text-sm);font-weight:700;white-space:nowrap}.receptive-option.correct:after{content:"✓ Correct";content:"✓ Correct" / "correct answer";color:var(--success-ink)}.receptive-option.incorrect:after{content:"✗ Your answer";content:"✗ Your answer" / "your answer, incorrect";color:var(--danger-ink)}.receptive-map button.right:after{content:"✓";content:"✓" / "";display:block;margin-top:-4px;font-size:var(--text-xs);color:var(--success-ink)}.receptive-map button.wrong:after{content:"✗";content:"✗" / "";display:block;margin-top:-4px;font-size:var(--text-xs);color:var(--danger-ink)}.receptive-map button.current:after{color:#fff}.receptive-hero .speaking-pills{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.receptive-options.receptive-pictures{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.receptive-pictures .receptive-option{flex-direction:column;align-items:stretch;gap:var(--space-2);padding:var(--space-2);text-align:center}.receptive-pictures .receptive-option>span{align-self:flex-start}.receptive-pictures .receptive-option img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:var(--radius-sm);background:var(--surface-2)}.receptive-pictures .receptive-option.correct:after,.receptive-pictures .receptive-option.incorrect:after{margin:0 auto;padding:0}.receptive-options.receptive-letters{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}.receptive-letters .receptive-option{flex-direction:column;justify-content:flex-start;gap:2px;min-height:56px;padding:var(--space-3) var(--space-2) var(--space-2)}.receptive-letters .receptive-option>span{width:32px;height:32px;font-size:var(--text-sm);text-transform:none}.receptive-letters .receptive-option small{font-size:var(--text-xs);color:var(--ink-3);white-space:nowrap}.receptive-letters .receptive-option.correct:after,.receptive-letters .receptive-option.incorrect:after{margin:0;padding:0;font-size:var(--text-xs)}.receptive-letters .receptive-option.correct:after{content:"✓";content:"✓" / "correct answer"}.receptive-letters .receptive-option.incorrect:after{content:"✗";content:"✗" / "your answer, incorrect"}.receptive-question .exam-group{margin:var(--space-4) 0 0}.receptive-result p+p{margin-top:var(--space-2)}.receptive-explanation .exam-transcript{margin-top:var(--space-2)}@media(max-width:700px){.receptive-options.receptive-pictures{grid-template-columns:1fr}.receptive-pictures .receptive-option img{max-width:320px;margin:0 auto}}.receptive-option>.sr-only{width:1px;height:1px;padding:0;border:0}.receptive-item+.receptive-item{margin-top:var(--space-5);border-top:1px solid var(--border)}.receptive-item h2{display:flex;align-items:baseline;gap:var(--space-3)}.receptive-number{display:inline-grid;place-items:center;flex:none;min-width:28px;height:28px;padding:0 6px;border-radius:var(--radius-sm);background:var(--brand-tint);font-size:var(--text-sm);font-weight:700;color:var(--brand-ink)}.receptive-question .exam-group.is-pictures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);padding:var(--space-4)}.receptive-question .exam-group.is-pictures li{flex:none;min-width:0}@media(max-width:560px){.receptive-question .exam-group.is-pictures{grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--space-3)}}.speaking-room.voice-room{grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);gap:24px;align-items:stretch}.voice-session{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink-2);box-shadow:var(--shadow-sm)}.voice-visual{--voice-level:0;display:flex;flex-direction:column;align-items:center;padding:28px 16px 4px}.voice-orbit{position:relative;display:grid;place-items:center;width:134px;height:134px}.voice-orbit>i{position:absolute;inset:7px;border-radius:43% 57% 55% 45%;background:linear-gradient(135deg,#8ac6ac55,#dbd6f022,#f5d9b166);border:1px solid #ffffffaa;transform:scale(calc(1 + var(--voice-level)*.22));transition:transform .16s ease-out}.voice-orbit>i:nth-child(2){inset:0;border-radius:57% 43% 44% 56%;transform:rotate(70deg) scale(calc(1 + var(--voice-level)*.33));background:linear-gradient(70deg,#badcbd44,#fff9ed22)}.voice-core{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:linear-gradient(140deg,#fefffbe6,#d2e7dd);border:1px solid var(--border);box-shadow:0 12px 28px #416c5320,inset 0 2px 9px #fff;transform:scale(calc(1 + var(--voice-level)*.065));transition:transform .12s ease-out;color:var(--ink-2)}.voice-core svg{width:31px;height:31px}.voice-ribbon{display:flex;align-items:center;justify-content:center;gap:4px;height:26px;margin-top:8px}.voice-ribbon i{width:3px;height:4px;border-radius:4px;background:var(--brand);transform:scaleY(calc(1 + var(--voice-level)*var(--bar)*5));transition:transform .12s ease-out;opacity:calc(.3 + var(--voice-level)*.6)}.voice-state{font-size:var(--text-xs);letter-spacing:.035em;font-weight:600;margin:9px 0 0;min-height:20px;color:var(--ink-2);text-align:center}.voice-visual[data-voice-state=hearing] .voice-core{box-shadow:0 12px 32px #547e5740,inset 0 2px 9px #fff}.voice-visual[data-voice-state=speaking] .voice-core{background:linear-gradient(140deg,#fffafc,#dedcf0);color:var(--info)}.voice-visual[data-voice-state=muted] .voice-core,.voice-visual[data-voice-state=idle] .voice-core{background:var(--border);color:var(--ink-3)}.voice-visual[data-voice-state=muted] .voice-orbit:after{content:"";position:absolute;width:34px;height:2px;transform:rotate(-45deg);background:var(--brand);box-shadow:var(--shadow-sm)}.voice-visual[data-voice-state=listening] .voice-orbit>i,.voice-visual[data-voice-state=hearing] .voice-orbit>i,.voice-visual[data-voice-state=speaking] .voice-orbit>i{animation:voice-drift 8s ease-in-out infinite alternate}.voice-visual[data-voice-state=processing] .voice-ribbon{animation:voice-wait 1.6s ease-in-out infinite}.voice-lyrics{height:275px;overflow:auto;padding:28px clamp(24px,5vw,58px) 32px;scrollbar-width:thin;scrollbar-color:#a3b9a76b transparent;overscroll-behavior:contain;overflow-anchor:none;scroll-padding-block:30px}.voice-lyrics:focus-visible{outline:2px solid var(--brand);outline-offset:-5px;border-radius:var(--radius-md)}.voice-line{margin:0 0 26px;color:var(--ink-3);transition:color .5s ease,opacity .5s ease;animation:voice-line-in .45s ease-out;overflow-wrap:anywhere}.voice-line:last-child{margin-bottom:0}.voice-line small{display:block;letter-spacing:.13em;font-size:var(--text-xs);font-weight:700;margin-bottom:8px;color:var(--ink-3)}.voice-line span{display:block;font-size:clamp(23px,2.6vw,34px);line-height:1.35;letter-spacing:-.035em;font-weight:650;text-wrap:pretty}.voice-line.is-current{color:var(--ink)}.voice-line.is-current small{color:var(--ink-3)}.voice-empty{font-size:var(--text-3xl);line-height:1.3;letter-spacing:-.04em;font-weight:600;color:var(--ink-2);margin:20px 0;text-align:center}.voice-empty small{display:block;font-size:var(--text-xs);letter-spacing:0;font-weight:400;line-height:1.5;margin-top:18px;color:var(--ink-3)}.voice-caption-note{text-align:center;font-size:var(--text-xs);letter-spacing:.02em;color:var(--ink-3);margin:0 14px 20px}.speaking-stage.voice-controls{padding:32px 25px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:var(--surface);text-align:left;min-width:0}.voice-controls h2{font-size:var(--text-3xl);line-height:1.2;letter-spacing:-.04em;margin:14px 0}.voice-controls>p{line-height:1.7}.voice-controls .speaking-tools{justify-content:flex-start;margin:20px 0 10px}.voice-controls>small{margin-top:16px;line-height:1.6;color:var(--ink-3)}.voice-session-compact{border-radius:var(--radius-xl);margin:12px -4px}.voice-session-compact .voice-visual,.voice-answer .voice-visual{padding-top:14px}.voice-session-compact .voice-orbit,.voice-answer .voice-orbit{width:100px;height:100px}.voice-session-compact .voice-core,.voice-answer .voice-core{width:66px;height:66px}.voice-session-compact .voice-lyrics{height:185px;padding:18px 22px 24px}.voice-session-compact .voice-line span{font-size:var(--text-2xl)}.voice-session-compact .voice-empty{font-size:var(--text-2xl);margin:6px 0}.voice-session-compact .voice-empty small{font-size:var(--text-xs);margin-top:12px}.voice-answer{margin:20px 0}.voice-answer .voice-lyrics{height:180px;padding:20px 25px}.voice-answer .voice-line span{font-size:var(--text-2xl)}.voice-answer .voice-empty{font-size:var(--text-2xl);margin:6px 0}.voice-answer .voice-empty small{font-size:var(--text-xs)}@keyframes voice-drift{0%{border-radius:43% 57% 55% 45%}to{border-radius:56% 44% 42% 58%}}@keyframes voice-line-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes voice-wait{50%{opacity:.25}}@media(max-width:800px){.speaking-room.voice-room{grid-template-columns:1fr}.voice-controls h2{font-size:var(--text-2xl)}.voice-lyrics{height:240px}.voice-line span{font-size:var(--text-3xl)}}@media(prefers-reduced-motion:reduce){.voice-session *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.voice-orbit>i,.voice-core,.voice-ribbon i{transform:none!important}}.voice-answer-actions{display:flex;justify-content:center;padding:0 20px 22px}.ta-answer-label[hidden]{display:none}.tutor-live-intro .speaking-avatar{width:48px;height:48px}.tutor-live-intro{gap:12px;padding:14px 0 0}.tutor-live-intro h2{font-size:var(--text-xl);margin:5px 0 7px}.voice-session-compact .voice-visual{padding-top:10px}.voice-session-compact .voice-orbit{width:76px;height:76px}.voice-session-compact .voice-core{width:54px;height:54px}.voice-session-compact .voice-core svg{width:25px;height:25px}.voice-session-compact .voice-ribbon{height:18px;margin-top:4px}.voice-session-compact .voice-state{font-size:var(--text-xs);margin-top:4px}.voice-session-compact .voice-lyrics{height:145px;padding:16px 22px 22px}.tutor-face{--tf:176px;--level:0;--out:0;position:relative;isolation:isolate;display:grid;place-items:center;flex:none;width:var(--tf);height:var(--tf)}.tf-xl{--tf:200px}.tf-lg{--tf:188px}.tf-md{--tf:112px}.tf-sm{--tf:64px}.tf-xs{--tf:40px}.tf-disc{position:absolute;inset:0;z-index:1;overflow:hidden;border-radius:50%;background:radial-gradient(circle at 50% 36%,#f6eedc 0,#eadfc6 60%,#dccfb2);box-shadow:inset 0 -8px 18px #503c1e1a,0 12px 30px #00000029;transition:filter .45s ease}.tp-svg{position:absolute;left:-10%;top:-5%;width:120%;height:120%;overflow:visible}.tp-figure{transform-box:fill-box;transform-origin:50% 100%;animation:tp-breathe 5.8s ease-in-out infinite}.tp-eyes{transform-box:fill-box;transform-origin:center;animation:tp-blink 6.4s infinite}.tp-mouth{transform-box:fill-box;transform-origin:50% 0;transform:scaleY(min(var(--mouth,1),2.3));transition:transform 70ms linear}.tf-ring{position:absolute;inset:-9px;z-index:0;border-radius:50%;border:2px solid transparent;transition:border-color .45s ease,transform .12s linear}.tf-wave{position:absolute;inset:-22px;z-index:0;border-radius:50%;background:radial-gradient(circle,#f2b33d57 0,#f2b33d00 68%);opacity:0;transition:opacity .4s ease,transform .1s linear}.tf-badge{position:absolute;right:2%;bottom:2%;z-index:3;display:grid;place-items:center;width:30%;max-width:36px;min-width:16px;aspect-ratio:1;border-radius:50%;background:#b5463c;color:#fff;box-shadow:0 0 0 3px #0d4535;opacity:0;transform:scale(.6);transition:opacity .25s,transform .25s}.tf-sm .tf-badge svg,.tf-xs .tf-badge svg{width:10px;height:10px}.tutor-face[data-presence=listening] .tf-ring{border-color:#bfe3cf6b;transform:scale(calc(1 + var(--level) * .12))}.tutor-face[data-presence=hearing] .tf-ring{border-color:#d6f0e0d9;transform:scale(calc(1.02 + var(--level) * .16))}.tutor-face[data-presence=hearing] .tf-wave{opacity:calc(var(--level) * .5);background:radial-gradient(circle,#bfe3cf47 0,#bfe3cf00 68%)}.tutor-face[data-presence=speaking] .tf-wave{opacity:calc(.55 + var(--out) * .45);transform:scale(calc(.96 + var(--out) * .2))}.tutor-face[data-presence=speaking] .tf-ring{border-color:#f2b33d8c;transform:scale(calc(1 + var(--out) * .05))}.tutor-face[data-presence=thinking] .tf-ring{border:0;background:conic-gradient(from 0deg,#f2b33d00,#f2b33d99,#bfe3cf66,#f2b33d00 70%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));animation:tf-spin 2.8s linear infinite}.tutor-face:is([data-presence=connecting],[data-presence=permission]) .tf-ring{border-color:#f4efe261;animation:tf-pulse 2.2s ease-in-out infinite}.tutor-face[data-presence=waiting] .tf-ring{border-color:#f4efe23d}.tutor-face[data-presence=muted] .tf-disc{filter:saturate(.4) brightness(.78)}.tutor-face[data-presence=muted] .tf-badge{opacity:1;transform:none}.tutor-face[data-presence=blocked] .tf-disc{filter:saturate(.6) brightness(.88)}.tutor-face:is([data-presence=closing],[data-presence=ended]) .tf-disc{filter:saturate(.8)}@keyframes tp-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-1.2%) scale(1.008)}}@keyframes tp-blink{0%,46%,49%,to{transform:scaleY(1)}47.5%{transform:scaleY(.08)}}@keyframes tf-spin{to{transform:rotate(1turn)}}@keyframes tf-pulse{0%,to{transform:scale(.97);opacity:.5}50%{transform:scale(1.05);opacity:1}}@keyframes tf-breathe{0%,to{transform:scale(.96);opacity:.65}50%{transform:scale(1.04);opacity:1}}@media(prefers-reduced-motion:reduce){.tp-figure,.tp-eyes,.tf-ring,.tf-wave{animation:none!important}.tf-ring,.tf-wave{transform:none!important}.tp-mouth{transition:none}}.b1-course{max-width:var(--content-narrow);margin:0 auto;color:var(--ink);font-size:var(--text-md)}.b1-course p{line-height:1.65}.b1-breadcrumb{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4);margin:calc(var(--space-2) * -1) 0 var(--space-2)}.b1-breadcrumb a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:var(--text-sm);font-weight:600;color:var(--brand-ink);text-decoration:none}.b1-breadcrumb a:hover{text-decoration:underline;text-underline-offset:3px}.b1-chapter-title{margin:0 0 var(--space-6)}.b1-chapter-title h1{margin:var(--space-2) 0 var(--space-2);font-size:clamp(28px,3.2vw,var(--text-4xl))}.b1-chapter-title p{margin:0;font-size:var(--text-lg);color:var(--ink-2)}.b1-step-nav{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-6);padding:0}.b1-step-nav a{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px 0 8px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-2);font-size:var(--text-sm);font-weight:600;white-space:nowrap;text-decoration:none;transition:border-color .15s,background-color .15s}.b1-step-nav a:hover{border-color:var(--border-2);color:var(--ink)}.b1-step-nav a>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-2);color:var(--ink-3);font-size:var(--text-xs);font-weight:700}.b1-step-nav a[aria-current]{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);color:var(--ink);font-weight:700}.b1-step-nav a[aria-current]>span{background:var(--brand-tint);color:var(--brand-ink)}.b1-stage{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-8);animation:b1-arrive .25s ease-out}.b1-stage>header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6)}.b1-stage-meta{display:block;font-size:var(--text-sm);font-weight:600;color:var(--ink-3)}.b1-stage>header h2{margin:var(--space-1) 0 0;font-size:var(--text-3xl);font-weight:750;letter-spacing:-.02em}.b1-bridge-link{flex:none;display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-sm);font-weight:600;color:var(--brand-ink);text-decoration:underline;text-decoration-color:var(--border-2);text-underline-offset:3px}.b1-bridge-link:hover{text-decoration-color:currentColor}.b1-stage h3{margin:var(--space-8) 0 var(--space-3);font-size:var(--text-xl);font-weight:700;line-height:1.35}.b1-stage>h3:first-of-type,.b1-stage>div>h3:first-child,.b1-bridge>h3,.b1-reading>h3{margin-top:0}.b1-stage p{margin:0 0 var(--space-4)}.b1-stage ul,.b1-stage ol{margin:0 0 var(--space-4);padding-left:22px}.b1-stage li{margin:6px 0;line-height:1.6}.b1-lead{font-size:var(--text-lg);color:var(--ink-2)}.b1-support-pill{display:inline-flex;align-items:center;min-height:28px;padding:4px 12px;margin-bottom:var(--space-3);border-radius:var(--radius-pill);background:var(--brand-tint);color:var(--brand-ink);font-size:var(--text-xs);font-weight:600}.b1-stage blockquote{margin:var(--space-5) 0;padding:var(--space-5) var(--space-6);background:var(--surface-2);border-left:3px solid var(--brand);border-radius:0 var(--radius-md) var(--radius-md) 0}.b1-stage blockquote>span{display:block;font-size:var(--text-xl);line-height:1.5;color:var(--ink)}.b1-stage blockquote>small{display:block;margin-top:var(--space-1);font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.b1-stage blockquote .btn{margin:var(--space-2) 0 0 -12px}.b1-section-tools{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.b1-section-tools .btn:first-child{margin-left:-12px}.b1-reading>p[lang=de]{margin:0 0 var(--space-1);font-size:var(--text-lg);line-height:1.75}.b1-course .b1-english{margin:0 0 var(--space-5);font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.b1-pattern{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-2);margin:var(--space-5) 0}.b1-pattern>div{padding:var(--space-3) var(--space-4);background:var(--surface-2);border-radius:var(--radius-md)}.b1-pattern small{display:block;margin-bottom:var(--space-1);font-size:var(--text-xs);font-weight:600;color:var(--ink-3)}.b1-pattern strong{font-size:var(--text-lg);font-weight:650}.b1-questions{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border)}.b1-stage fieldset{border:0;padding:0;margin:0 0 var(--space-6);min-width:0}.b1-stage legend{padding:0;margin-bottom:var(--space-3);font-size:var(--text-lg);font-weight:650;line-height:1.5}.b1-option{display:flex;align-items:center;gap:var(--space-3);min-height:52px;margin:var(--space-2) 0;padding:12px var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-md);line-height:1.5;cursor:pointer;transition:border-color .15s,background-color .15s}.b1-option:hover{border-color:var(--brand)}.b1-option:has(input:checked){border-color:var(--brand);background:var(--brand-tint)}.b1-option:has(input:disabled){cursor:default}.b1-option:has(input:disabled):hover{border-color:var(--border-2)}.b1-option input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--brand)}.b1-option:has(input:focus-visible){box-shadow:var(--focus)}.b1-option.correct,.b1-option.correct:hover,.b1-option.correct:has(input:checked),.b1-option.correct:has(input:disabled):hover{border-color:var(--success);background:var(--success-tint)}.b1-option.wrong,.b1-option.wrong:hover,.b1-option.wrong:has(input:checked),.b1-option.wrong:has(input:disabled):hover{border-color:var(--danger);background:var(--danger-tint)}.b1-answer-feedback{margin:var(--space-3) 0 0;padding:var(--space-3) var(--space-4);border-left:3px solid var(--danger);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--danger-tint);font-size:var(--text-sm)!important;line-height:1.6}.b1-answer-feedback.good{border-left-color:var(--success);background:var(--success-tint)}.b1-result{margin:var(--space-6) 0 0;padding:var(--space-5);border-radius:var(--radius-md);background:var(--surface-2)}.b1-result>strong{font-family:var(--font-display);font-size:var(--text-xl);font-weight:750}.b1-result>strong{display:block}.b1-result p{margin:var(--space-1) 0 var(--space-4);font-size:var(--text-sm);color:var(--ink-2)}.b1-assessment-feedback{margin:var(--space-8) 0 0;padding:var(--space-6);border:1px solid var(--border-2);border-radius:var(--radius-lg);background:var(--surface)}.b1-assessment-feedback h3{margin:var(--space-2) 0 var(--space-3);font-size:var(--text-4xl);font-weight:800;letter-spacing:-.03em}.b1-assessment-feedback p,.b1-assessment-feedback li{font-size:var(--text-md);line-height:1.65}.b1-assessment-feedback ul{padding-left:20px}.b1-rubric{display:grid;gap:0;margin:var(--space-4) 0;border-top:1px solid var(--border)}.b1-rubric p{display:grid;grid-template-columns:minmax(180px,.8fr) 1.2fr;gap:var(--space-2) var(--space-5);margin:0;padding:var(--space-3) 0;border-bottom:1px solid var(--border);font-size:var(--text-sm)!important}.b1-rubric span{color:var(--ink-2)}.b1-assessment-feedback details{margin:var(--space-4) 0}.b1-assessment-feedback summary{min-height:44px;display:flex;align-items:center;font-weight:600;color:var(--brand-ink);cursor:pointer}.b1-stage>.btn.ghost:first-of-type{margin-left:-12px}.b1-dialogue{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-4) 0 var(--space-8)}.b1-dialogue article{max-width:86%;padding:var(--space-4) var(--space-5);background:var(--surface-2);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-sm)}.b1-dialogue article.reply{align-self:flex-end;background:var(--brand-tint);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg)}.b1-dialogue small{display:block;font-size:var(--text-xs);font-weight:650;color:var(--ink-3)}.b1-dialogue p{margin:var(--space-1) 0;font-size:var(--text-lg);line-height:1.55}.b1-dialogue article>span{display:block;font-size:var(--text-sm);line-height:1.55;color:var(--ink-2)}.b1-phrases{border-top:1px solid var(--border)}.b1-phrases article{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--border)}.b1-phrases strong{font-size:var(--text-lg);font-weight:650}.b1-phrases article>div>span{display:block;margin-top:2px;font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.b1-phrases article .btn{flex:none}.b1-mission{margin:var(--space-6) 0 0;padding:var(--space-5) var(--space-6);border-radius:var(--radius-md);background:var(--sun-tint)}.b1-mission small{display:block;font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--sun-ink)}.b1-mission p{margin:var(--space-2) 0 0;font-size:var(--text-md)}.b1-listen-focus{display:grid;justify-items:center;gap:var(--space-2);margin-bottom:var(--space-6);padding:var(--space-8) var(--space-6);text-align:center;background:var(--surface-2);border-radius:var(--radius-lg)}.b1-listen-focus>svg{width:28px;height:28px;padding:14px;box-sizing:content-box;border-radius:50%;background:var(--surface);color:var(--brand)}.b1-stage .b1-listen-focus h3{margin:var(--space-2) 0 0}.b1-listen-focus p{margin:0;max-width:44ch;font-size:var(--text-sm);color:var(--ink-2)}.b1-listen-focus .btn.ghost{margin-top:var(--space-2);background:var(--surface);border-color:var(--border-2)}.b1-disclosure{margin:var(--space-5) 0 0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.b1-disclosure summary{display:flex;align-items:center;gap:var(--space-2);min-height:52px;padding:0 var(--space-5);font-size:var(--text-md);font-weight:600;color:var(--brand-ink);cursor:pointer;list-style-position:inside}.b1-disclosure summary:hover{color:var(--brand)}.b1-disclosure>p,.b1-disclosure>ul,.b1-disclosure>div,.b1-disclosure>.btn{margin-left:var(--space-5);margin-right:var(--space-5)}.b1-disclosure>.btn{margin-bottom:var(--space-5)}.b1-disclosure p{font-size:var(--text-md)}.b1-disclosure details{margin:0 var(--space-5) var(--space-5);border-top:1px solid var(--border)}.b1-disclosure details summary{padding:0}.b1-disclosure details p{margin:0 0 var(--space-3)}.b1-disclosure[open]>:last-child:not(summary){margin-bottom:var(--space-5)}.b1-course .b1-small{margin:var(--space-4) 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.b1-footnote{margin-top:var(--space-8);font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.b1-writing>h3{margin-top:var(--space-2)}.b1-writing textarea,.b1-memory textarea,.b1-live-exercise textarea{display:block;width:100%;box-sizing:border-box;margin-top:var(--space-2);padding:var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-lg);line-height:1.7;resize:vertical;transition:border-color .15s,box-shadow .15s}.b1-writing textarea:hover,.b1-memory textarea:hover,.b1-live-exercise textarea:hover{border-color:var(--ink-4)}.b1-writing textarea:focus,.b1-memory textarea:focus,.b1-live-exercise textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint-2)}.b1-writing textarea::placeholder,.b1-memory textarea::placeholder{color:var(--ink-4)}.b1-writing>label:not(.b1-consent),.b1-memory>label,.b1-live-exercise label{display:block;margin:var(--space-6) 0 0;font-size:var(--text-sm);font-weight:650;color:var(--ink)}.b1-draft-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ink-3)}.b1-draft-meta [data-b1-wordcount]{font-weight:600;color:var(--ink-2)}.b1-consent{display:flex;align-items:flex-start;gap:var(--space-3);margin:var(--space-5) 0;font-size:var(--text-sm);line-height:1.55;color:var(--ink-2);cursor:pointer}.b1-consent input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--brand)}.b1-step-footer{display:flex;justify-content:space-between;gap:var(--space-3);margin:var(--space-6) 0 0}.b1-step-footer+.b1-small{text-align:center}.b1-checkpoint-intro h3{margin-top:0}.b1-checkpoint-intro p{color:var(--ink-2)}.b1-skill-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-5) 0 var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--border)}.b1-skill-tabs .btn[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}.b1-skill-tabs .btn.secondary[aria-pressed=true]:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover);color:#fff}.b1-test-reading{margin:0 0 var(--space-6);padding:var(--space-6);white-space:pre-line;font-size:var(--text-lg);line-height:1.75;background:var(--surface-2);border-radius:var(--radius-md)}.b1-test-task>.btn,.b1-speaking-task>.btn,.b1-writing>.btn{margin-top:var(--space-2)}.b1-error{margin:var(--space-5) 0 0;padding:var(--space-4) var(--space-5);border-left:3px solid var(--danger);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--danger-tint);color:var(--ink);font-size:var(--text-sm);line-height:1.6}.b1-inline-tutor{margin:var(--space-6) 0;padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.b1-tutor-intro h3{margin:var(--space-2) 0 var(--space-2)}.b1-tutor-intro>p{font-size:var(--text-md);color:var(--ink-2)}.b1-tutor-host{max-width:620px;margin:auto}.b1-tutor-host .tutor-welcome{margin-inline:0}.b1-tutor-host .tutor-live-intro{padding-top:8px}.b1-tutor-host .voice-session-compact .voice-lyrics{height:220px}.b1-tutor-host .tutor-live>.btn.primary{width:100%}.b1-tutor-host .speaking-consent{font-size:var(--text-sm)}.b1-tutor-host .ta-launch{margin-top:24px}.b1-context-tools{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.b1-live-exercise{margin-top:var(--space-5);padding:var(--space-5);border-radius:var(--radius-md);background:var(--surface-2)}.b1-live-exercise h3{margin:var(--space-2) 0}.b1-live-exercise p{color:var(--ink-2)}.b1-memory h1,.b1-exam-intro h1{margin:var(--space-2) 0 var(--space-2);font-size:clamp(30px,3.4vw,var(--text-4xl))}.b1-memory>p:first-of-type,.b1-exam-intro>p{margin:0 0 var(--space-8);max-width:60ch;font-size:var(--text-lg);color:var(--ink-2)}.b1-memory>label:first-of-type{margin-top:0}.b1-memory>.btn{margin:var(--space-5) 0 var(--space-3)}.b1-memory pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-sm);line-height:1.7}.b1-memory-outcomes article{padding:var(--space-4) 0;border-top:1px solid var(--border)}.b1-memory-outcomes p{margin-bottom:0;color:var(--ink-2)}.b1-exam-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.b1-exam-grid .btn{white-space:normal;text-align:center}.b1-exam-grid article{padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.b1-exam-grid h2{margin:var(--space-2) 0 var(--space-2);font-size:var(--text-2xl);font-weight:750}.b1-exam-grid p{font-size:var(--text-md);color:var(--ink-2)}.b1-exam-grid dl{margin:var(--space-5) 0}.b1-exam-grid dl>div{display:grid;grid-template-columns:140px 1fr;gap:var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--border);font-size:var(--text-sm);line-height:1.55}.b1-exam-grid dl>div:last-child{border-bottom:1px solid var(--border)}.b1-exam-grid dt{font-weight:650}.b1-exam-grid dd{margin:0;color:var(--ink-2)}.b1-exam-grid article>div{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.b1-loading{max-width:var(--content-narrow);margin:0 auto;padding:var(--space-12) 0;text-align:center}.b1-loading h1{margin:var(--space-2) 0;font-size:var(--text-3xl)}.b1-loading p{color:var(--ink-2)}.b1-loading-dots{display:flex;gap:8px;justify-content:center;margin-top:var(--space-6)}.b1-loading-dots i{width:8px;height:8px;background:var(--brand);border-radius:50%;animation:b1-dot 1.2s infinite alternate}.b1-loading-dots i:nth-child(2){animation-delay:.2s}.b1-loading-dots i:nth-child(3){animation-delay:.4s}@keyframes b1-arrive{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes b1-dot{to{opacity:.25;transform:translateY(-5px)}}@media(max-width:700px){.b1-chapter-title{margin-bottom:var(--space-5)}.b1-chapter-title p{font-size:var(--text-md)}.b1-step-nav{flex-wrap:nowrap;overflow-x:auto;margin:-6px calc(-1 * var(--space-4)) var(--space-5);padding:6px var(--space-4);scroll-padding-inline:var(--space-4);scrollbar-width:none}.b1-step-nav::-webkit-scrollbar{display:none}.b1-stage{padding:var(--space-5) var(--space-4)}.b1-stage>header{flex-direction:column;gap:0;margin-bottom:var(--space-5)}.b1-stage>header h2{font-size:var(--text-2xl)}.b1-bridge-link{margin-top:var(--space-1)}.b1-stage blockquote{padding:var(--space-4)}.b1-stage blockquote>span{font-size:var(--text-lg)}.b1-option{padding:12px var(--space-3)}.b1-dialogue article{max-width:94%}.b1-phrases article{align-items:flex-start;flex-direction:column;gap:var(--space-1)}.b1-phrases article .btn{margin-left:-12px}.b1-step-footer .btn{flex:1;padding-inline:var(--space-3)}.b1-rubric p{grid-template-columns:1fr;gap:var(--space-1)}.b1-assessment-feedback{padding:var(--space-5) var(--space-4)}.b1-inline-tutor{padding:var(--space-4)}.b1-exam-grid article{padding:var(--space-5) var(--space-4)}.b1-exam-grid dl>div{grid-template-columns:1fr;gap:2px}.b1-exam-grid article>div .btn{width:100%}.b1-memory>p:first-of-type,.b1-exam-intro>p{font-size:var(--text-md);margin-bottom:var(--space-6)}}@media(prefers-reduced-motion:reduce){.b1-course *,.b1-loading *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.b1-stage{animation:none}}.b1-tutor-host :is(.tutor-welcome .eyebrow,.tutor-steps span,.tutor-disclosure){font-size:var(--text-xs)}.b1-tutor-host :is(.tutor-welcome p,.tutor-field,.tutor-field span,.tutor-field strong,.tutor-recommendation summary,.tutor-recommendation p,.tutor-recommendation .btn){font-size:var(--text-sm)}.b1-disclosure summary,.b1-assessment-feedback summary{list-style:none}.b1-disclosure summary::-webkit-details-marker,.b1-assessment-feedback summary::-webkit-details-marker{display:none}.b1-disclosure summary:before,.b1-assessment-feedback summary:before{content:"";flex:none;width:7px;height:7px;margin:0 6px 3px 2px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s}.b1-disclosure[open]>summary:before,.b1-disclosure details[open]>summary:before,.b1-assessment-feedback details[open]>summary:before{transform:rotate(45deg);margin-bottom:6px}.b1-option:has(input:checked:disabled):after{content:"Your answer";margin-left:auto;padding-left:var(--space-3);font-size:var(--text-xs);font-weight:650;color:var(--ink-2);white-space:nowrap}.b1-missing{padding:var(--space-12) 0;text-align:center}.b1-missing h1{font-size:var(--text-3xl)}.b1-missing p{color:var(--ink-2)}.bc-rhythm{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-6);font-size:var(--text-sm);font-weight:600;color:var(--ink-3)}.bc-rhythm i{flex:0 1 32px;height:1px;background:var(--border-2)}.bc-rhythm span{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:var(--radius-pill);background:var(--surface-2);white-space:nowrap}.bc-rhythm .active{background:var(--brand);color:#fff}.bc-rhythm .done{background:var(--brand-tint);color:var(--brand-ink)}.bc-card-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--ink-3)}.bc-card-meta>span:first-child{font-weight:650;color:var(--ink-2);font-variant-numeric:tabular-nums}.bc-dot-progress{display:flex;gap:4px;margin:var(--space-3) 0 var(--space-8)}.bc-dot-progress i{flex:1;height:6px;border-radius:var(--radius-pill);background:var(--surface-2);transition:background-color .3s}.bc-dot-progress i.done{background:var(--brand)}.bc-dot-progress i.active{background:var(--sun)}.b1-stage .bc-spelling>h3{margin:var(--space-2) 0 var(--space-2);font-size:var(--text-3xl);font-weight:750;letter-spacing:-.02em}.b1-stage .bc-instructions{max-width:52ch;margin:0;font-size:var(--text-md);color:var(--ink-2)}.bc-listen{margin:var(--space-5) 0 var(--space-6)}.bc-listen .btn.ghost{border-color:var(--border-2);background:var(--surface)}.bc-spelling form label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:650;color:var(--ink)}.bc-input-wrap input{display:block;width:100%;box-sizing:border-box;min-height:60px;padding:var(--space-3) var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-2xl);line-height:1.4;transition:border-color .15s,box-shadow .15s}.bc-input-wrap input:hover{border-color:var(--ink-4)}.bc-input-wrap input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint-2)}.bc-input-wrap input::placeholder{color:var(--ink-4)}.bc-input-wrap input[readonly]{background:var(--surface-2);color:var(--ink-2)}.bc-letters{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:var(--space-2) 0 var(--space-6)}.bc-letters .btn.ghost{min-width:44px;min-height:44px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:var(--text-lg);font-weight:600}.bc-letters .btn.ghost:hover:not(:disabled){border-color:var(--brand);background:var(--brand-tint)}.bc-check-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.b1-stage .bc-footnote{max-width:none;margin:var(--space-6) 0 0;line-height:1.6;text-align:left;font-size:var(--text-sm);color:var(--ink-3)}.bc-hint{margin-top:var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--sun-tint);font-size:var(--text-sm);line-height:1.6}.bc-hint>strong{display:block;font-size:var(--text-md);color:var(--ink)}.b1-stage .bc-hint p{margin:var(--space-1) 0 0;color:var(--ink-2)}.bc-hint>span{display:block;margin-top:var(--space-2);font-size:var(--text-xl);letter-spacing:.12em;color:var(--sun-ink);overflow-wrap:anywhere}.b1-stage .bc-feedback{display:flex;margin-left:0;margin-right:0;gap:var(--space-3);align-items:flex-start;margin-top:var(--space-6);padding:var(--space-5);border-left:3px solid var(--danger);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--danger-tint);animation:bc-arrive .25s ease both}.b1-stage .bc-feedback.correct{border-left-color:var(--success);background:var(--success-tint)}.b1-stage .bc-feedback>div{min-width:0}.b1-stage .bc-feedback-symbol{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--surface);color:var(--danger);font-size:var(--text-lg)}.b1-stage .bc-feedback.correct .bc-feedback-symbol{color:var(--success)}.b1-stage .bc-feedback h3{margin:2px 0 var(--space-2);font-size:var(--text-lg)}.b1-stage .bc-feedback p{margin:0 0 var(--space-2);font-size:var(--text-sm);line-height:1.6;color:var(--ink)}.b1-stage .bc-feedback small{display:block;letter-spacing:0;text-transform:none;font-weight:400;margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ink-2);overflow-wrap:anywhere}.bc-correction{margin:var(--space-3) 0;font-size:var(--text-2xl);font-weight:650;letter-spacing:.02em;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}.bc-correction .notice{border-radius:4px;background:var(--sun-tint);box-shadow:0 2px 0 var(--sun)}.bc-extra{border-radius:3px;background:var(--surface);text-decoration:line-through;text-decoration-color:var(--danger)}.b1-stage .bc-feedback small[lang],.b1-stage .bc-feedback small span{white-space:pre-wrap}.b1-stage .bc-pattern{margin:var(--space-3) 0 0!important;padding-top:var(--space-3);border-top:1px solid var(--border-2);font-size:var(--text-sm)!important;color:var(--ink-2)}.bc-say-it{margin-top:var(--space-5);padding:var(--space-5);border-radius:var(--radius-md);background:var(--surface-2)}.b1-stage .bc-say-it>p[lang]{margin:var(--space-2) 0 var(--space-1);font-size:var(--text-xl);line-height:1.5;color:var(--ink)}.bc-say-it small{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--ink-2)}.bc-say-it .btn{margin-left:-12px}.b1-stage .bc-say-it>p:last-child{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--ink-3)}.bc-next{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-6)}.bc-complete{padding:var(--space-6) 0;text-align:center}.bc-success-orbit{display:grid;place-items:center;width:56px;height:56px;margin:0 auto var(--space-4);border-radius:50%;background:var(--success-tint);color:var(--success);font-size:var(--text-2xl)}.b1-stage .bc-complete h3{margin:var(--space-2) auto var(--space-3);max-width:24ch;font-size:var(--text-3xl)}.b1-stage .bc-complete p{max-width:48ch;margin:0 auto var(--space-6);color:var(--ink-2)}.bc-complete>div:last-of-type{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-2)}.bc-complete small{display:block;margin-top:var(--space-5);font-size:var(--text-sm);color:var(--ink-3)}.bc-inline-invitation{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-1) var(--space-4);margin-top:var(--space-8);padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--ink-2);font-size:var(--text-sm);text-decoration:none;transition:border-color .15s,box-shadow .15s}.bc-inline-invitation:hover{border-color:var(--border-2);box-shadow:var(--shadow-md)}.bc-inline-invitation strong{font-size:var(--text-md);color:var(--brand-ink)}.b1-stage .bc-speak-heading h3{margin:var(--space-2) 0 var(--space-2);font-size:var(--text-2xl)}.b1-stage .bc-speak-heading p{margin:0;max-width:58ch;color:var(--ink-2)}.bc-rehearsal{margin-top:var(--space-6);padding:var(--space-5) var(--space-6);border-radius:var(--radius-md);background:var(--surface-2)}.bc-rehearsal .bc-card-meta>span:first-child{font-weight:650;color:var(--ink-2)}.b1-stage .bc-rehearsal>p{margin:var(--space-3) 0 var(--space-1);font-size:var(--text-2xl);line-height:1.45;color:var(--ink)}.bc-rehearsal>small{display:block;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.bc-rehearsal>div:not(.bc-card-meta){display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);margin:var(--space-3) 0 var(--space-2) -12px}.bc-rehearsal>small:last-child{color:var(--ink-3)}.bc-speaking h4{margin:var(--space-8) 0 var(--space-3);font-size:var(--text-lg);font-weight:700}.bc-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.bc-modes>button{display:grid;grid-template-columns:auto 1fr;align-content:start;gap:2px var(--space-3);padding:var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s}.bc-modes>button:hover{border-color:var(--brand)}.bc-modes>button[aria-pressed=true]{border-color:var(--brand);background:var(--brand-tint);box-shadow:inset 0 0 0 1px var(--brand)}.bc-mode-icon{grid-row:span 2;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-2);color:var(--brand);font-size:var(--text-sm)}.bc-modes>button[aria-pressed=true] .bc-mode-icon{background:var(--surface)}.bc-modes strong{font-size:var(--text-md);font-weight:650}.bc-modes small{font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.bc-mission{margin:var(--space-5) 0 var(--space-2);padding:var(--space-5) var(--space-6);border-radius:var(--radius-md);background:var(--sun-tint)}.bc-mission .eyebrow{color:var(--sun-ink)}.b1-stage .bc-mission>p{margin:var(--space-2) 0 var(--space-4);font-size:var(--text-lg);line-height:1.55;color:var(--ink)}.bc-mission>div{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}.bc-mission small{font-size:var(--text-sm);color:var(--sun-ink)}.bc-error{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--danger-tint);color:var(--ink);font-size:var(--text-sm)}.bc-speaking~.b1-inline-tutor{scroll-margin-top:calc(var(--bar) + var(--space-4))}@keyframes bc-arrive{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:700px){.bc-rhythm{gap:var(--space-1)}.bc-rhythm i{flex-basis:12px}.bc-rhythm span{padding:0 10px}.b1-stage .bc-spelling>h3{font-size:var(--text-2xl)}.bc-input-wrap input{font-size:var(--text-xl)}.bc-letters .btn.ghost{flex:1 0 40px;min-width:40px;padding:0}.bc-check-row .btn.primary{flex:1 1 100%}.b1-stage .bc-feedback{padding:var(--space-4)}.b1-stage .bc-feedback-symbol{display:none}.bc-correction{font-size:var(--text-xl)}.bc-rehearsal,.bc-mission{padding:var(--space-4)}.b1-stage .bc-rehearsal>p{font-size:var(--text-xl)}.bc-modes{grid-template-columns:1fr;gap:var(--space-2)}.bc-next .btn{flex:1 1 auto}.bc-speaking~.b1-inline-tutor{scroll-margin-top:calc(60px + var(--space-4))}}@media(prefers-reduced-motion:reduce){.b1-stage .bc-feedback{animation:none}.bc-modes>button,.bc-dot-progress i{transition:none}}.bx-studio{max-width:var(--content-narrow);margin:0 auto;color:var(--ink)}.bx-studio p{line-height:1.65}.bx-toolbar>a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:var(--text-sm);font-weight:600;color:var(--brand-ink);text-decoration:none}.bx-toolbar>a svg{transform:rotate(180deg);flex:none}.bx-toolbar>a:hover{text-decoration:underline;text-underline-offset:3px}.bx-head{margin:0 0 var(--space-6)}.bx-head h1{margin:var(--space-2) 0 var(--space-2);font-size:clamp(30px,3.4vw,var(--text-4xl))}.bx-head>p{margin:0;max-width:56ch;font-size:var(--text-lg);color:var(--ink-2)}.bx-hero-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.bx-exam-notice{display:flex;align-items:flex-start;gap:var(--space-3);margin:0 0 var(--space-8);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--info-tint);color:var(--ink-2);font-size:var(--text-sm);line-height:1.6}.bx-exam-notice svg{flex:none;margin-top:1px;color:var(--info)}.bx-exam-notice p{margin:0}.bx-modules{display:grid;gap:var(--space-3)}.bx-module-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-5);padding:var(--space-4) var(--space-5) var(--space-4) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}.bx-module-card:hover{border-color:var(--border-2);box-shadow:var(--shadow-md)}.bx-module-card:focus-visible{border-radius:var(--radius-lg)}.bx-module-num{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--radius-md);background:var(--brand-tint);color:var(--brand);font-family:var(--font-display);font-size:var(--text-lg);font-weight:750;font-variant-numeric:tabular-nums}.bx-module-copy{display:grid;gap:2px;min-width:0}.bx-module-copy h2{margin:0;font-size:var(--text-xl);font-weight:700}.bx-module-copy p{margin:0;font-size:var(--text-sm);color:var(--ink-2)}.bx-module-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--space-2)}.bx-module-status{margin-top:var(--space-1);font-size:var(--text-sm);font-weight:600;color:var(--brand-ink)}.bx-module-go{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface-2);color:var(--brand-ink)}.bx-how{margin:var(--space-10) 0 0}.bx-how h2,.bx-history h2{margin:0 0 var(--space-4);font-size:var(--text-xl);font-weight:700}.bx-how ol{list-style:none;counter-reset:step;margin:0;padding:0;display:grid;gap:var(--space-3)}.bx-how li{counter-increment:step;display:grid;grid-template-columns:32px 1fr;gap:2px var(--space-3)}.bx-how li:before{content:counter(step);grid-row:span 2;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--surface);border:1px solid var(--border-2);color:var(--ink-2);font-size:var(--text-sm);font-weight:700}.bx-how strong{font-size:var(--text-md);font-weight:650}.bx-how span{font-size:var(--text-sm);color:var(--ink-2)}.bx-how .text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:var(--space-3);font-size:var(--text-sm);font-weight:600;color:var(--brand-ink)}.bx-history{margin-top:var(--space-10)}.bx-history button{display:flex;align-items:center;gap:var(--space-4);width:100%;min-height:56px;margin-bottom:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--ink);font-size:var(--text-md);text-align:left;cursor:pointer;transition:border-color .15s}.bx-history button:hover{border-color:var(--border-2)}.bx-history button span{flex:1}.bx-history button strong{font-size:var(--text-sm);font-weight:650;color:var(--ink-2);font-variant-numeric:tabular-nums}.bx-history button svg{color:var(--ink-3)}.bx-brief{margin:var(--space-2) 0 0;padding:var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.bx-brief h1{margin:var(--space-2) 0 var(--space-1);font-size:clamp(30px,3.4vw,var(--text-4xl))}.bx-brief>p{margin:0;font-size:var(--text-lg);color:var(--ink-2)}.bx-stage-list{margin:var(--space-6) 0;border-top:1px solid var(--border)}.bx-stage-list article{display:flex;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--border)}.bx-stage-list article>span{flex:none;width:28px;padding-top:2px;font-size:var(--text-sm);font-weight:700;color:var(--ink-3);font-variant-numeric:tabular-nums}.bx-stage-list h3{margin:0 0 var(--space-1);font-size:var(--text-md);font-weight:650}.bx-stage-list p{margin:0 0 var(--space-1);font-size:var(--text-sm);color:var(--ink-2)}.bx-stage-list small{font-size:var(--text-sm);color:var(--ink-3)}.bx-start-note{margin-bottom:var(--space-6);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-sm)}.bx-start-note strong{font-size:var(--text-md)}.bx-start-note p{margin:var(--space-1) 0 0;color:var(--ink-2)}.bx-audio-pending{margin:0 0 var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--warning-tint);font-size:var(--text-sm)}.bx-brief>.btn{margin:0 var(--space-2) var(--space-2) 0}.bx-toolbar{position:sticky;top:var(--bar);z-index:20;display:flex;align-items:center;gap:var(--space-5);margin:calc(-1 * var(--space-4)) 0 var(--space-5);padding:var(--space-2) 0;background:var(--page);border-bottom:1px solid var(--border)}.bx-toolbar>div:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.bx-toolbar [data-bx-save]{font-size:var(--text-sm);color:var(--ink-3)}.bx-clock{display:flex;flex-direction:column;align-items:flex-end;min-width:72px}.bx-clock strong{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:750;line-height:1.15;letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums}.bx-clock small{font-size:var(--text-xs);color:var(--ink-3)}.bx-parts{display:flex;flex-wrap:wrap;gap:var(--space-2);overflow-x:auto;margin:-6px -6px var(--space-4);padding:6px 6px var(--space-2);scrollbar-width:thin}.bx-parts .btn.ghost{flex:none;gap:var(--space-2);padding:0 16px 0 8px;border:1px solid var(--border);background:var(--surface);color:var(--ink-2);white-space:nowrap}.bx-parts .btn.ghost:hover:not(:disabled){border-color:var(--border-2);background:var(--surface);color:var(--ink)}.bx-parts .btn span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-2);color:var(--ink-3);font-size:var(--text-xs);font-weight:700}.bx-parts .btn.ghost[aria-current=step]{border-color:var(--brand);background:var(--brand);color:#fff}.bx-parts .btn.ghost[aria-current=step]:hover:not(:disabled){background:var(--brand-hover);color:#fff}.bx-parts [aria-current=step] span{background:#ffffff2e;color:#fff}.bx-paper{padding:var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);scroll-margin-top:calc(var(--bar) + 96px)}.bx-paper header{margin-bottom:var(--space-6)}.bx-paper h1{margin:var(--space-2) 0 var(--space-3);font-size:var(--text-3xl);font-weight:750}.bx-paper h2{margin:var(--space-6) 0 var(--space-2);font-size:var(--text-xl)}.bx-paper header>p,.bx-paper>p{margin:0 0 var(--space-4);font-size:var(--text-md);color:var(--ink-2)}.bx-paper>p.bx-prompt{font-size:var(--text-lg);color:var(--ink)}.bx-paper ul,.bx-paper ol{margin:0 0 var(--space-4);padding-left:22px}.bx-paper li{margin:6px 0;font-size:var(--text-md);line-height:1.6}.bx-paper>label{display:block;margin-top:var(--space-6);font-size:var(--text-sm);font-weight:650}.bx-paper textarea{display:block;width:100%;box-sizing:border-box;margin-top:var(--space-2);padding:var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-lg);line-height:1.7;resize:vertical;transition:border-color .15s,box-shadow .15s}.bx-paper textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint-2)}.bx-paper textarea[readonly]{background:var(--surface-2);color:var(--ink-2)}.bx-wordcount{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ink-3)}.bx-wordcount [data-bx-count]{font-weight:600;color:var(--ink-2)}.bx-passages{display:grid;gap:var(--space-3);margin:var(--space-6) 0}.bx-passages article{padding:var(--space-5) var(--space-6);background:var(--surface-2);border-radius:var(--radius-md)}.bx-passages article h3{margin:0 0 var(--space-3);font-size:var(--text-lg);font-weight:700}.bx-passages article p{margin:0 0 var(--space-3);font-size:var(--text-md);line-height:1.75}.bx-passages article p:last-child{margin-bottom:0}.bx-passages.ads{grid-template-columns:repeat(2,minmax(0,1fr))}.bx-passages.ads article{padding:var(--space-4) var(--space-5)}.bx-passages.ads article p{font-size:var(--text-md);line-height:1.6}.bx-example{margin:0 0 var(--space-6);padding:var(--space-4) var(--space-5);border:1px dashed var(--border-2);border-radius:var(--radius-md)}.bx-example strong{font-size:var(--text-sm)}.bx-paper .bx-example p{margin:var(--space-1) 0;font-size:var(--text-md);color:var(--ink)}.bx-example small{font-size:var(--text-sm);color:var(--ink-2)}.bx-question-grid{display:grid;gap:var(--space-8);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border)}.bx-question{min-width:0;margin:0;padding:0;border:0}.bx-question legend{display:flex;gap:var(--space-3);float:none;width:100%;margin-bottom:var(--space-3);padding:0;font-size:var(--text-md);font-weight:650;line-height:1.5}.bx-question legend>span{flex:none;display:grid;place-items:center;min-width:28px;height:28px;padding:0 6px;box-sizing:border-box;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums}.bx-option{display:flex;align-items:flex-start;gap:var(--space-3);min-height:52px;box-sizing:border-box;margin:var(--space-2) 0;padding:13px var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-md);line-height:1.5;cursor:pointer;transition:border-color .15s,background-color .15s}.bx-option:hover{border-color:var(--brand)}.bx-option:has(input:checked){border-color:var(--brand);background:var(--brand-tint)}.bx-option:has(input:disabled){cursor:default}.bx-option:has(input:disabled):hover{border-color:var(--border-2)}.bx-option:has(input:focus-visible){box-shadow:var(--focus)}.bx-option input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--brand)}.bx-option b{margin-right:var(--space-2);font-weight:700;color:var(--ink-3)}.bx-option b:empty{display:none}.bx-option.correct,.bx-option.correct:hover,.bx-option.correct:has(input:checked),.bx-option.correct:has(input:disabled):hover{border-color:var(--success);background:var(--success-tint)}.bx-option.wrong,.bx-option.wrong:hover,.bx-option.wrong:has(input:checked),.bx-option.wrong:has(input:disabled):hover{border-color:var(--danger);background:var(--danger-tint)}.bx-answer-note{margin:var(--space-2) 0 0;padding:var(--space-3) var(--space-4);border-left:3px solid var(--danger);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--danger-tint);font-size:var(--text-sm);line-height:1.6}.bx-answer-note.good{border-left-color:var(--success);background:var(--success-tint)}.bx-match-label{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.bx-match-label select{flex:0 1 68%;min-width:180px;min-height:48px;padding:0 var(--space-3);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-md);font-weight:400}.bx-match-label select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint-2)}.bx-match-label select:disabled{background:var(--surface-2);color:var(--ink-2)}.bx-tracks{display:grid;gap:var(--space-2);margin:var(--space-6) 0}.bx-tracks article{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);background:var(--surface-2);border-radius:var(--radius-md)}.bx-tracks article>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 var(--space-3);min-width:0}.bx-tracks article>div svg{grid-row:span 2;color:var(--brand)}.bx-tracks strong{font-size:var(--text-md);font-weight:650}.bx-tracks small{font-size:var(--text-sm);color:var(--ink-2);font-variant-numeric:tabular-nums}.bx-tracks .btn{flex:none}.bx-transcripts{margin:var(--space-5) 0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.bx-transcripts summary{display:flex;align-items:center;min-height:52px;padding:0 var(--space-5);font-weight:600;color:var(--brand-ink);cursor:pointer}.bx-transcripts>:not(summary){margin-left:var(--space-5);margin-right:var(--space-5)}.bx-transcripts h3{margin-top:var(--space-4);font-size:var(--text-md)}.bx-transcripts p{font-size:var(--text-md);line-height:1.7}.bx-transcripts[open]{padding-bottom:var(--space-3)}.bx-part-footer{display:flex;justify-content:space-between;gap:var(--space-3);margin:var(--space-5) 0 0}.bx-submit-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--border);font-size:var(--text-sm);color:var(--ink-3)}.bx-confirm,.bx-evaluate{margin:var(--space-6) 0 0;padding:var(--space-6);background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.bx-confirm h2,.bx-evaluate h2{margin:var(--space-1) 0 var(--space-2);font-size:var(--text-2xl);font-weight:750}.bx-confirm p,.bx-evaluate p{margin:0 0 var(--space-4);color:var(--ink-2)}.bx-confirm .btn{margin:0 var(--space-2) var(--space-2) 0}.bx-evaluate label{display:flex;align-items:flex-start;gap:var(--space-3);margin:var(--space-4) 0 var(--space-5);font-size:var(--text-sm);line-height:1.55;color:var(--ink-2);cursor:pointer}.bx-evaluate input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--brand)}.bx-score{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-6);margin-bottom:var(--space-6);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.bx-score h2{margin:var(--space-1) 0 var(--space-1);font-size:var(--text-5xl);font-weight:800;line-height:1.05;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.bx-score h2 small{display:inline;font-size:var(--text-2xl);font-weight:600;color:var(--ink-3)}.bx-score p{margin:0 0 var(--space-2);font-size:var(--text-md);color:var(--ink-2)}.bx-score small{display:block;font-size:var(--text-sm);color:var(--ink-3)}.bx-feedback{display:grid;gap:var(--space-3);margin-bottom:var(--space-6)}.bx-feedback article{padding:var(--space-5) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.bx-feedback h3{margin:0 0 var(--space-2);font-size:var(--text-lg)}.bx-feedback article p{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--ink-2)}.bx-feedback article p strong{color:var(--ink)}.bx-next-step{margin:0 0 var(--space-6);padding:var(--space-5) var(--space-6);border-radius:var(--radius-md);background:var(--sun-tint)}.bx-next-step .eyebrow{color:var(--sun-ink)}.bx-next-step p{margin:var(--space-2) 0;font-size:var(--text-md)}.bx-next-step a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-sm);font-weight:600;color:var(--brand-ink)}.bx-after{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-6) 0 0}.bx-topic-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin:var(--space-5) 0}.bx-topic-options label{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-md);cursor:pointer;transition:border-color .15s,background-color .15s}.bx-topic-options label:hover{border-color:var(--brand)}.bx-topic-options label:has(input:checked){border-color:var(--brand);background:var(--brand-tint)}.bx-topic-options label:has(input:focus-visible){box-shadow:var(--focus)}.bx-topic-options input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--brand)}.bx-topic-options strong{font-weight:600}.bx-prep-plan,.bx-topic-summary{margin:var(--space-6) 0;padding:var(--space-4) var(--space-5);background:var(--surface-2);border-radius:var(--radius-md)}.bx-prep-plan h3{margin:0 0 var(--space-1);font-size:var(--text-md)}.bx-prep-plan p{margin:0;color:var(--ink-2)}.bx-topic-summary ol{margin:var(--space-2) 0 0}.bx-stage-saved{margin:var(--space-6) 0 0;padding:var(--space-5);border-left:3px solid var(--success);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--success-tint)}.bx-stage-saved p{margin:var(--space-1) 0 0;color:var(--ink-2)}.bx-stage-saved details{margin-top:var(--space-3)}.bx-stage-saved summary{display:flex;align-items:center;min-height:44px;font-weight:600;color:var(--brand-ink);cursor:pointer}.bx-stage-saved details p{margin:var(--space-2) 0;padding:var(--space-3);background:var(--surface);border-radius:var(--radius-sm);font-size:var(--text-md);color:var(--ink)}.bx-stage-saved details small{font-size:var(--text-xs);font-weight:650;color:var(--ink-3)}.bx-voice-host{margin-top:var(--space-5);min-width:0}.bx-error{position:sticky;bottom:var(--space-4);z-index:25;display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-5);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);border:1px solid var(--danger);border-radius:var(--radius-md);background:var(--danger-tint);font-size:var(--text-sm);line-height:1.55;box-shadow:var(--shadow-md)}.bx-error .btn{flex:none;margin-left:auto}.bx-loading{max-width:var(--content-narrow);margin:0 auto;padding:var(--space-12) 0;text-align:center}.bx-loading h1{font-size:var(--text-3xl)}.bx-loading p{color:var(--ink-2)}@media(max-width:900px){.bx-toolbar{top:60px}.bx-paper{scroll-margin-top:170px}.bx-error{bottom:calc(76px + env(safe-area-inset-bottom))}}@media(max-width:700px){.bx-head>p,.bx-brief>p{font-size:var(--text-md)}.bx-module-card{grid-template-columns:auto 1fr;gap:var(--space-4);padding:var(--space-4)}.bx-module-num{width:48px;height:48px;font-size:var(--text-md)}.bx-module-go{display:none}.bx-brief,.bx-paper{padding:var(--space-5) var(--space-4)}.bx-paper h1{font-size:var(--text-2xl)}.bx-toolbar{gap:var(--space-3);margin-top:calc(-1 * var(--space-3))}.bx-toolbar>a{width:44px;justify-content:center;flex:none}.bx-toolbar>a span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.bx-toolbar [data-bx-save]{font-size:var(--text-xs)}.bx-clock strong{font-size:var(--text-xl)}.bx-parts{flex-wrap:nowrap;margin-inline:calc(-1 * var(--space-4));padding-inline:var(--space-4);scrollbar-width:none}.bx-parts::-webkit-scrollbar{display:none}.bx-passages article{padding:var(--space-4)}.bx-passages.ads{grid-template-columns:1fr}.bx-match-label{flex-direction:column;align-items:stretch;gap:var(--space-2)}.bx-match-label select{flex:none;width:100%;min-width:0}.bx-tracks article{flex-direction:column;align-items:stretch;padding:var(--space-4)}.bx-tracks .btn{width:100%}.bx-part-footer .btn{flex:1}.bx-submit-bar>span{display:none}.bx-submit-bar .btn{width:100%}.bx-confirm,.bx-evaluate{padding:var(--space-5) var(--space-4)}.bx-confirm .btn,.bx-evaluate .btn{width:100%;margin-right:0}.bx-score{grid-template-columns:1fr;gap:var(--space-3);padding:var(--space-5) var(--space-4)}.bx-feedback article,.bx-next-step{padding:var(--space-4)}.bx-topic-options{grid-template-columns:1fr}.bx-voice-host .speaking-layout{display:block}.bx-error{flex-direction:column;align-items:stretch;gap:var(--space-2)}.bx-error .btn{margin-left:0}.bx-history button{padding:var(--space-3) var(--space-4);font-size:var(--text-sm)}}@media(prefers-reduced-motion:reduce){.bx-module-card,.bx-option,.bx-history button{transition:none}}.bx-voice-host .tutor-welcome .eyebrow{font-size:var(--text-xs)}.bx-voice-host :is(.tutor-welcome p,.tutor-field,.tutor-field span,.tutor-field strong,.tutor-recommendation summary,.tutor-recommendation p,.tutor-recommendation .btn){font-size:var(--text-sm)}.bx-transcripts summary,.bx-stage-saved summary{list-style:none;gap:var(--space-2)}.bx-transcripts summary::-webkit-details-marker,.bx-stage-saved summary::-webkit-details-marker{display:none}.bx-transcripts summary:before,.bx-stage-saved summary:before{content:"";flex:none;width:7px;height:7px;margin:0 4px 3px 2px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s}.bx-transcripts[open]>summary:before,.bx-stage-saved details[open]>summary:before{transform:rotate(45deg);margin-bottom:6px}.bx-option:has(input:checked:disabled):after{content:"Your answer";align-self:center;margin-left:auto;padding-left:var(--space-3);font-size:var(--text-xs);font-weight:650;color:var(--ink-2);white-space:nowrap}.course-path-page{max-width:var(--content-narrow);margin:0 auto;color:var(--ink)}.course-path-page .sr-only,.path-items .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.path-back{display:inline-flex;align-items:flex-start;gap:6px;min-height:44px;box-sizing:border-box;padding:12px 0;margin:calc(var(--space-2) * -1) 0 var(--space-2);font-size:var(--text-sm);line-height:20px;font-weight:600;color:var(--brand-ink);text-decoration:none}.path-back svg{transform:rotate(180deg);flex:none;margin-top:2px}.path-back:hover span{text-decoration:underline}.path-heading{margin:0 0 var(--space-6)}.path-heading h1{margin:var(--space-2) 0 var(--space-2);font-size:clamp(30px,3.4vw,var(--text-4xl))}.path-heading p{margin:0;max-width:60ch;font-size:var(--text-lg);line-height:1.55;color:var(--ink-2)}.path-progress{margin:0 0 var(--space-6)}.path-total{display:flex;align-items:baseline;gap:var(--space-2);margin:0 0 var(--space-2)}.path-total strong{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:750;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.path-total span{font-size:var(--text-sm);color:var(--ink-2)}.path-meter{height:6px;overflow:hidden;border-radius:var(--radius-pill);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border)}.path-meter span{display:block;height:100%;border-radius:inherit;background:var(--brand);transition:width .4s ease}.path-next{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin:0 0 var(--space-4);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:inset 4px 0 0 var(--brand),var(--shadow-md)}.path-next-copy{min-width:0}.path-next h2{margin:var(--space-2) 0 var(--space-1);font-size:var(--text-xl);font-weight:700;letter-spacing:-.01em}.path-next p{margin:0;font-size:var(--text-md);line-height:1.55;color:var(--ink-2)}.path-next-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);flex:none}.path-next:has(.flash-modes){flex-direction:column;align-items:stretch}.path-next:has(.flash-modes) .path-next-actions{align-items:center}.path-next-actions .flash-modes{margin-top:0}.path-next.path-finished{box-shadow:inset 4px 0 0 var(--sun),var(--shadow-md)}.path-next.path-finished .eyebrow{color:var(--sun-ink)}.path-active-note{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--sun-tint);color:var(--sun-ink);font-size:var(--text-sm);line-height:1.45}.path-active-note>svg{flex:none}.path-active-note>span{flex:1 1 200px}.path-active-note .text-link{display:inline-flex;align-items:center;gap:4px;min-height:32px;font-size:var(--text-sm);font-weight:650;color:var(--sun-ink)}.path-finish-definition{margin:0 0 var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.path-finish-definition summary{display:flex;align-items:center;gap:var(--space-3);min-height:52px;padding:0 var(--space-5);list-style:none;cursor:pointer;font-size:var(--text-sm);font-weight:600;color:var(--ink-2);border-radius:var(--radius-lg)}.path-finish-definition summary::-webkit-details-marker{display:none}.path-finish-definition summary>svg{flex:none;color:var(--brand)}.path-finish-definition summary:after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg) translateY(-2px);transition:transform .15s}.path-finish-definition[open] summary:after{transform:rotate(225deg) translateY(-2px)}.path-finish-definition summary:hover{color:var(--brand-ink)}.path-finish-body{padding:0 var(--space-5) var(--space-5);border-top:1px solid var(--border)}.path-finish-body p{margin:var(--space-3) 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.path-how{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);list-style:none;padding:0;margin:var(--space-4) 0 0}.path-how li{display:flex;gap:var(--space-3);align-items:flex-start}.path-how-icon{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-md);background:var(--brand-tint);color:var(--brand)}.path-how b{display:block;font-size:var(--text-sm);font-weight:650;color:var(--ink)}.path-how small{display:block;margin-top:2px;font-size:var(--text-sm);line-height:1.4;color:var(--ink-3)}.path-list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin:var(--space-10) 0 var(--space-4)}.path-list-heading h2{margin:0;font-size:var(--text-xl);font-weight:700}.path-list-heading span{font-size:var(--text-sm);color:var(--ink-3)}.path-sections,.path-stages,.path-lessons,.path-items{list-style:none;padding:0;margin:0}.path-sections{display:grid;gap:var(--space-4)}.path-section>article{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.path-section.is-current>article{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand),var(--shadow-md)}.path-section>article>header{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:var(--space-4);align-items:start;padding:var(--space-5) var(--space-6) var(--space-4)}.path-stop-number{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--surface-2);color:var(--ink-2);font-family:var(--font-display);font-size:var(--text-md);font-weight:750;font-variant-numeric:tabular-nums}.path-section.is-current .path-stop-number{background:var(--brand);color:#fff}.path-section.is-complete .path-stop-number{background:var(--brand-tint);color:var(--brand)}.path-section-title{min-width:0}.path-section-title small{display:block;font-size:var(--text-sm);font-weight:600;color:var(--ink-3)}.path-section h3{margin:2px 0 var(--space-1);font-size:var(--text-xl);font-weight:700;letter-spacing:-.01em}.path-section-title p{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--ink-2)}.chip.path-chip{display:inline-flex;align-items:center;min-height:28px;padding:4px 12px;border:0;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-xs);font-weight:650;white-space:nowrap}.chip.path-chip.is-active{background:var(--brand-tint);color:var(--brand-ink)}.chip.path-chip.is-done{background:var(--success-tint);color:var(--brand-ink)}.path-section-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-6);border-top:1px solid var(--border);background:var(--surface)}.path-section-meta>span{font-size:var(--text-sm);color:var(--ink-3)}.path-final>article>header{padding-bottom:var(--space-5)}.path-items{padding:0 var(--space-3) var(--space-3)}.path-items>li+li{border-top:1px solid var(--border)}.path-item{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:var(--space-4);width:100%;min-height:60px;padding:var(--space-2) var(--space-3);margin:0;border:0;border-radius:var(--radius-md);background:none;color:var(--ink);font:inherit;text-align:left;text-decoration:none;cursor:pointer;box-sizing:border-box}.path-item:hover{background:var(--surface-2)}.path-item-copy{display:grid;gap:1px;min-width:0}.path-item-copy strong{font-size:var(--text-md);font-weight:600;line-height:1.35}.path-item-copy small{font-size:var(--text-sm);color:var(--ink-3);line-height:1.4}.path-items .is-next .path-item-copy strong{color:var(--brand-ink)}.path-tag{display:inline-flex;align-items:center;min-height:24px;padding:2px 10px;border:1px solid var(--border-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;color:var(--ink-2);white-space:nowrap}.path-mark{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--ink-3);background:var(--surface);color:#fff;box-sizing:border-box}.path-mark.is-next{border-color:var(--brand)}.path-mark.is-next:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--brand)}.path-mark.is-done{border-color:var(--brand);background:var(--brand)}.path-mark svg{width:14px;height:14px;stroke-width:3}.path-stages{display:grid;gap:var(--space-4)}.path-stage{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6)}.path-stage.is-current{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand),var(--shadow-md)}.path-stage>header{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:var(--space-4);align-items:start}.path-stage>header>div{min-width:0}.path-stage-number{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface-2);color:var(--ink-2);font-family:var(--font-display);font-weight:750;font-size:var(--text-md)}.path-stage.is-current .path-stage-number{background:var(--brand);color:#fff}.path-stage.is-complete .path-stage-number{background:var(--brand-tint);color:var(--brand)}.path-stage small{display:block;font-size:var(--text-sm);font-weight:600;color:var(--ink-3)}.path-stage.is-current>header small{color:var(--brand-ink)}.path-stage h2{margin:2px 0 var(--space-1);font-size:var(--text-xl);font-weight:700;letter-spacing:-.01em}.path-stage header p{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--ink-2)}.path-stage-body{margin:var(--space-4) 0 0 52px}.path-stage-status{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--ink-2)}.path-stage-status strong{color:var(--ink);font-weight:650}.path-lessons{margin:var(--space-5) 0 0 52px;border-top:1px solid var(--border)}.path-lesson{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:var(--space-4);align-items:start;padding:var(--space-5) 0;border-bottom:1px solid var(--border)}.path-lesson:last-child{border-bottom:0;padding-bottom:0}.path-lesson>.path-mark{margin-top:2px}.path-lesson-copy{min-width:0}.path-lesson-copy>strong{display:block;font-size:var(--text-md);font-weight:650;line-height:1.35}.path-lesson-copy>small{display:block;margin-top:2px;font-size:var(--text-sm);color:var(--ink-3)}.path-lesson-copy>p{margin:var(--space-2) 0 0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.path-lesson.is-current .path-lesson-copy>strong{color:var(--brand-ink)}.path-lesson>.btn{align-self:start}.path-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-5);list-style:none;padding:0;margin:var(--space-3) 0 0}.path-checklist li{display:flex;align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-sm);color:var(--ink-2)}.path-checklist li>span:not(.path-mark){flex:1;min-width:0}.path-checklist .path-mark{width:18px;height:18px;border-width:1.5px}.path-checklist .path-mark svg{width:11px;height:11px}.path-checklist b{font-size:var(--text-xs);font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums}.path-checklist .is-complete{color:var(--ink)}.path-lesson-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-5);margin-top:var(--space-4)}.path-lesson-links .follow-entry-compact{margin:0}.path-unit-notes{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:var(--text-sm);font-weight:600;color:var(--brand-ink);text-decoration:none}.path-unit-notes:hover{text-decoration:underline}.path-section-nav{display:flex;justify-content:space-between;gap:var(--space-3);margin:var(--space-8) 0 0;flex-wrap:wrap}.path-section-nav .btn{font-size:var(--text-sm)}.path-loading{margin:0 0 var(--space-4);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.path-loading h2{margin:0 0 var(--space-2);font-size:var(--text-xl)}.path-loading p{margin:0 0 var(--space-4);color:var(--ink-2)}.path-overview .path-course-grid{display:grid;gap:var(--space-3)}.path-course-card .hub-copy>.path-card-bottom{display:grid;grid-template-columns:minmax(80px,220px) auto;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}.path-course-card .hub-copy>.path-course-title{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-3);color:var(--ink)}.path-card-bottom>span{display:block;min-width:0}.path-card-bottom small{font-size:var(--text-sm);color:var(--ink-3)}.path-footnote{margin:var(--space-8) 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.path-footnote .text-link{font-size:var(--text-sm);color:var(--brand-ink)}.path-word-heading{margin:0}.path-word-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;padding:var(--space-2) var(--space-5);margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);column-gap:var(--space-8)}.path-word-grid li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:60px;padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.path-word-grid li:last-child,.path-word-grid li:nth-last-child(2):nth-child(odd){border-bottom:0}.path-word-copy{display:grid;min-width:0}.path-word-grid strong{font-size:var(--text-md);font-weight:650;color:var(--ink);overflow-wrap:anywhere}.path-word-grid small{font-size:var(--text-sm);color:var(--ink-3)}.path-word-state{display:inline-flex;align-items:center;gap:4px;flex:none;min-height:24px;padding:2px 10px;border-radius:var(--radius-pill);background:var(--surface-2);font-size:var(--text-xs);font-weight:650;color:var(--ink-2)}.path-word-grid .is-known .path-word-state{background:var(--success-tint);color:var(--brand-ink)}.path-word-grid .is-due .path-word-state{background:var(--sun-tint);color:var(--sun-ink)}.path-word-grid .is-review .path-word-state{background:var(--info-tint);color:var(--info)}.path-flashcards{max-width:var(--content-narrow);margin:0 auto}.path-flashcards>.path-back{margin-bottom:var(--space-2)}.path-return{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);margin:0 auto var(--space-5);max-width:var(--content-narrow);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ink-2)}.path-return>span{display:grid;place-items:center;flex:none;color:var(--brand)}.path-return p{flex:1;margin:0;font-size:var(--text-sm);line-height:1.5}.path-return strong{color:var(--ink);font-weight:650}.path-return .btn{flex:none}.path-return .icon-btn{flex:none;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:none;color:var(--ink-3);cursor:pointer}.path-return .icon-btn:hover{background:var(--surface-2);color:var(--ink)}.path-home-link,.path-banner{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-6);margin:0 0 var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ink)}.path-home-link{text-decoration:none}.path-home-link>span:nth-child(2){flex:1}.path-home-link strong{display:block;font-family:var(--font-display);font-size:var(--text-xl)}.path-home-link small{display:block;margin-top:4px;font-size:var(--text-sm);color:var(--ink-2)}.path-home-link b{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--brand-ink)}.path-banner-symbol{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:var(--radius-md);background:var(--brand-tint);color:var(--brand)}.path-banner-copy{flex:1;min-width:0}.path-banner h2{margin:var(--space-1) 0;font-size:var(--text-xl)}.path-banner p{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--ink-2)}.path-banner .path-meter{max-width:420px}.path-banner-actions{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-3)}.path-banner-actions .text-link{font-size:var(--text-sm);color:var(--brand-ink)}.stage-track{display:flex;gap:6px;list-style:none;padding:0;margin:var(--space-3) 0 0;flex-wrap:wrap}.stage-track li{display:flex;align-items:center;gap:6px;min-height:32px;padding:4px 12px 4px 5px;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border);font-size:var(--text-xs);color:var(--ink-2)}.stage-track li>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--surface);color:var(--ink-3)}.stage-track b{font-weight:600}.stage-track li.is-done{background:var(--brand-tint);border-color:var(--brand-tint-2);color:var(--brand-ink)}.stage-track li.is-done>span{background:var(--brand);color:#fff}.stage-track li.is-next{background:var(--surface);border-color:var(--brand);color:var(--brand-ink)}.stage-track li.is-next>span{background:var(--brand);color:#fff}.section-check{max-width:var(--content-narrow);margin:0 auto}.section-back{margin-bottom:var(--space-2)}.section-check-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin:0 0 var(--space-5)}.section-check-head h1{margin:var(--space-2) 0 0;font-size:clamp(30px,3.4vw,var(--text-4xl))}.section-lede{margin:0 0 var(--space-6);max-width:60ch;font-size:var(--text-lg);line-height:1.55;color:var(--ink-2)}.section-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:0 0 var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.section-facts li{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-5);color:var(--brand)}.section-facts li+li{border-left:1px solid var(--border)}.section-facts li>svg{flex:none;margin-top:2px}.section-facts strong{display:block;font-size:var(--text-md);font-weight:650;color:var(--ink)}.section-facts span{display:block;margin-top:2px;font-size:var(--text-sm);line-height:1.45;color:var(--ink-2)}.section-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin:var(--space-5) 0 0}.section-note{display:flex;gap:var(--space-2);align-items:flex-start;margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--sun-tint);color:var(--sun-ink);font-size:var(--text-sm);line-height:1.5}.section-note>svg{flex:none;margin-top:2px}.section-history{margin-top:var(--space-10)}.section-history h2{margin:0 0 var(--space-1);font-size:var(--text-xl)}.section-history p{margin:0;font-size:var(--text-sm);color:var(--ink-2)}.section-history ol{list-style:none;padding:0;margin:var(--space-4) 0 0;display:grid;gap:var(--space-2)}.section-history li{position:relative;display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:hidden;font-size:var(--text-sm);color:var(--ink-2)}.section-history li>*{position:relative;z-index:1}.section-history li>i{position:absolute;inset:0 auto 0 0;z-index:0;background:var(--surface-2)}.section-history li>i.is-pass{background:var(--success-tint)}.section-pass-chip{display:inline-flex;align-items:center;gap:4px;color:var(--brand-ink);font-weight:650}.section-progress{display:flex;align-items:center;gap:var(--space-4);margin:0 0 var(--space-4);font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.section-progress>span{flex:none;font-variant-numeric:tabular-nums}.section-progress .path-meter{flex:1}.section-progress .btn{flex:none}.section-timer{display:flex;align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border-2);color:var(--ink);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.section-timer b{font-family:var(--font-display);font-size:var(--text-lg);font-weight:750}.section-timer.is-low{background:var(--danger-tint);border-color:var(--danger);color:var(--ink)}.section-timer.is-low svg{color:var(--danger)}.section-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-8)}.section-question{margin:0 0 var(--space-4);font-size:var(--text-2xl);line-height:1.35;letter-spacing:-.01em}.section-question:focus{outline:none;box-shadow:none}.section-cue{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin:0 0 var(--space-5);padding:var(--space-5);border-radius:var(--radius-md);background:var(--surface-2)}.section-cue strong{font-family:var(--font-display);font-size:var(--text-3xl);letter-spacing:-.02em;color:var(--ink)}.section-cue.is-audio{justify-content:center;padding:var(--space-6)}.section-translation{margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--ink-2)}.section-translation summary{display:inline-flex;align-items:center;min-height:36px;cursor:pointer;font-weight:600;color:var(--brand-ink)}.section-translation p{margin:var(--space-1) 0 0}.section-audio-status{margin:0;font-size:var(--text-sm);color:var(--sun-ink)}.section-audio-status:empty{display:none}.section-context{margin:0 0 var(--space-5);padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.section-context>div:first-child{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--space-2)}.section-context strong{font-size:var(--text-md)}.section-context>.btn{float:right;margin:-48px 0 0}.section-context p{margin:var(--space-1) 0;font-size:var(--text-md);line-height:1.55;color:var(--ink)}.section-image{display:block;max-width:100%;max-height:300px;margin:0 auto var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border)}.section-options{display:grid;gap:var(--space-3);margin:var(--space-2) 0 0}.section-option{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-3) var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);font:inherit;font-size:var(--text-md);text-align:left;color:var(--ink);cursor:pointer;transition:border-color .15s,background-color .15s}.section-option:hover:not(:disabled){border-color:var(--ink-4);background:var(--surface-2)}.section-option[aria-pressed=true]:hover:not(:disabled){border-color:var(--brand);background:var(--brand-tint)}.section-option:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.section-check .section-question:focus-visible,.section-check [data-section-result-heading]:focus-visible{outline:none;box-shadow:none}.section-option kbd{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);font-size:var(--text-xs);font-weight:650;color:var(--ink-2)}.section-option>span{flex:1;min-width:0;overflow-wrap:anywhere}.section-option>svg{flex:none}.section-option[aria-pressed=true]{border-color:var(--brand);background:var(--brand-tint);box-shadow:inset 0 0 0 1px var(--brand)}.section-option[aria-pressed=true] kbd{background:var(--brand);border-color:var(--brand);color:#fff}.section-option.is-correct{border-color:var(--success);background:var(--success-tint);color:var(--ink);box-shadow:inset 0 0 0 1px var(--success)}.section-option.is-correct kbd{background:var(--success);border-color:var(--success);color:#fff}.section-option.is-correct>svg{color:var(--success)}.section-option.is-wrong{border-color:var(--danger);background:var(--danger-tint);color:var(--ink);box-shadow:inset 0 0 0 1px var(--danger)}.section-option.is-wrong kbd{background:var(--danger);border-color:var(--danger);color:#fff}.section-option:disabled{cursor:default;opacity:1}.section-option.is-muted{color:var(--ink-3);border-color:var(--border)}.section-option.is-muted kbd{color:var(--ink-3)}.section-feedback{margin-top:var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);border-left:4px solid;font-size:var(--text-md);line-height:1.55}.section-feedback.is-right{background:var(--success-tint);border-color:var(--success);color:var(--ink)}.section-feedback.is-wrong{background:var(--danger-tint);border-color:var(--danger);color:var(--ink)}.section-feedback p{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--ink-2)}.section-nav{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin:var(--space-5) 0 0}.section-nav .btn.primary{margin-left:auto}.section-hint{font-size:var(--text-sm);color:var(--ink-3)}.section-sheet{margin-top:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:0 var(--space-5)}.section-sheet summary{display:flex;align-items:center;min-height:52px;cursor:pointer;font-weight:600;font-size:var(--text-sm);color:var(--ink-2)}.section-sheet>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:var(--space-2);margin:0 0 var(--space-4)}.section-sheet>div button{height:44px;border-radius:var(--radius-sm);border:1px solid var(--border-2);background:var(--surface);font:600 var(--text-sm)/1 var(--font-text);color:var(--ink-2);cursor:pointer}.section-sheet>div button.is-answered{background:var(--brand-tint);border-color:var(--brand-tint-2);color:var(--brand-ink)}.section-sheet>div button.is-here{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.section-sheet>.btn{margin:0 0 var(--space-4)}.section-score{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-8);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.section-score h2{margin:var(--space-2) 0;font-size:var(--text-2xl);letter-spacing:-.01em}.section-score h2:focus{outline:none;box-shadow:none}.section-score p{margin:0;line-height:1.6;color:var(--ink-2)}.section-score .section-actions{margin-top:var(--space-5)}.section-score-ring{--score:0;flex:none;width:136px;height:136px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(closest-side,var(--surface) 79%,transparent 80%),conic-gradient(var(--danger) calc(var(--score)*1%),var(--surface-2) 0)}.is-pass .section-score-ring{background:radial-gradient(closest-side,var(--surface) 79%,transparent 80%),conic-gradient(var(--success) calc(var(--score)*1%),var(--surface-2) 0)}.section-score-ring strong{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:750;letter-spacing:-.02em;line-height:1}.section-score-ring span{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--ink-3)}.section-result.is-pass .section-score .eyebrow{color:var(--brand-ink)}.section-result.is-retry .section-score .eyebrow{color:var(--danger)}.section-review-cue{display:block;margin-top:2px;font-size:var(--text-md);color:var(--ink)}.section-review{margin:var(--space-5) 0 0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);padding:0 var(--space-5)}.section-review>summary{display:flex;align-items:center;min-height:56px;cursor:pointer;font-weight:650;color:var(--ink)}.section-review ol{list-style:none;padding:0;margin:0 0 var(--space-2)}.section-review li{display:flex;gap:var(--space-3);padding:var(--space-4) 0;border-top:1px solid var(--border)}.section-review-mark{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;margin-top:2px}.section-review .is-right .section-review-mark{background:var(--success-tint);color:var(--success)}.section-review .is-wrong .section-review-mark{background:var(--danger-tint);color:var(--danger)}.section-review small{font-size:var(--text-xs);font-weight:600;color:var(--ink-3)}.section-review strong{display:block;margin:2px 0;font-size:var(--text-md)}.section-review p{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--ink-2)}.section-review p b{color:var(--ink)}.section-explain{color:var(--ink-3)!important}.section-perfect{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-5) 0 0;color:var(--brand-ink);font-weight:600}.section-perfect svg{color:var(--success)}.section-empty{padding:var(--space-6);border:1px dashed var(--border-2);border-radius:var(--radius-lg);background:var(--surface)}.exam-instruction{margin:0 0 var(--space-3);max-width:62ch;font-size:var(--text-sm);line-height:1.55;color:var(--ink-2)}.exam-group{list-style:none;display:grid;padding:0 var(--space-4);margin:0 0 var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.exam-group li{display:flex;align-items:flex-start;gap:var(--space-3);min-width:0;padding:var(--space-3) 0}.exam-group li+li{border-top:1px solid var(--border)}.exam-group-key{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border-2);font-size:var(--text-sm);font-weight:700;line-height:1;color:var(--ink)}.exam-group p{flex:1;min-width:0;margin:2px 0 0;font-size:var(--text-md);line-height:1.55;color:var(--ink);overflow-wrap:anywhere}.exam-group.is-pictures{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);padding:var(--space-3)}.exam-group.is-pictures li{flex:0 1 160px;min-width:84px;flex-direction:column;align-items:center;gap:var(--space-2);padding:0;border:0}.exam-group figure{width:100%;margin:0}.exam-group img,.exam-picture img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:var(--radius-sm);background:var(--surface)}.section-options.exam-letters{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}.section-option.exam-letter{justify-content:center;gap:var(--space-2);min-height:56px;padding:var(--space-2)}.exam-answer-label{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.section-option.exam-letter kbd{width:32px;height:32px;border-color:transparent;background:transparent;font-family:var(--font-display);font-size:var(--text-lg);font-weight:750;color:var(--ink)}.section-option.exam-letter.is-none{grid-column:span 2}.section-option.exam-letter[aria-pressed=true] kbd{background:var(--brand);color:#fff}.section-option.exam-letter.is-correct kbd{background:var(--success);color:#fff}.section-option.exam-letter.is-wrong kbd{background:var(--danger);color:#fff}.section-option.exam-letter.is-muted kbd{color:var(--ink-3)}.section-option.exam-letter>span{flex:none;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.section-options.exam-pictures{grid-template-columns:repeat(3,minmax(0,1fr))}.section-option.exam-picture{flex-direction:column;align-items:stretch;gap:var(--space-2);padding:var(--space-2)}.exam-picture-key{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:28px}.exam-picture-key>svg{flex:none}.section-option.is-correct .exam-picture-key>svg{color:var(--success)}.section-option.is-wrong .exam-picture-key>svg,.section-option.exam-letter.is-wrong>svg{color:var(--danger)}.section-option.exam-letter.is-correct>svg{color:var(--success)}.exam-match{min-width:0}.exam-match-heading{font-size:var(--text-xl);line-height:1.4}.exam-match>.exam-group{margin-bottom:var(--space-2)}.exam-match>.exam-clip,.exam-match>.exam-transcript{margin:var(--space-4) 0 var(--space-2)}.exam-match-stems{list-style:none;margin:0;padding:0}.exam-match-stem{display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--space-3);align-items:start;padding:var(--space-5) 0}.exam-match-stem+.exam-match-stem{border-top:1px solid var(--border)}.exam-match-stem:last-child{padding-bottom:0}.exam-match-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--brand-tint);color:var(--brand-ink);font-weight:700;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.exam-match-body{min-width:0}.exam-match-prompt{margin:4px 0 var(--space-3);font-size:var(--text-lg);font-weight:650;line-height:1.45;overflow-wrap:anywhere}.exam-match .section-options.exam-letters{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:var(--space-2);margin:0}.exam-match .section-option.exam-letter{min-height:48px;padding:var(--space-1)}.exam-match .section-option.exam-letter kbd{width:30px;height:30px}.exam-match .section-option.exam-letter>svg{display:none}.exam-match-feedback{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--text-sm)}.exam-match-feedback strong{font-weight:650}.exam-match-waiting{margin:var(--space-4) 0 0;font-size:var(--text-sm);color:var(--ink-3)}.exam-match-locked{border:0;margin:0;padding:0;min-width:0}.exam-match-locked .section-option{opacity:.55}.exam-clip{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3) var(--space-4);margin:0 0 var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-2)}.exam-clip-count{font-size:var(--text-sm);color:var(--ink-2);font-variant-numeric:tabular-nums}.exam-clip .btn[aria-disabled=true]{opacity:.55;pointer-events:none;box-shadow:none}.exam-clip.is-missing{display:block;padding:0;background:none}.exam-clip.is-missing .section-note{margin-bottom:var(--space-2)}.exam-transcript{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--ink-2)}.exam-transcript summary{display:inline-flex;align-items:center;min-height:36px;cursor:pointer;font-weight:600;color:var(--brand-ink)}.exam-transcript p{margin:var(--space-1) 0;font-size:var(--text-md);line-height:1.55;color:var(--ink)}.exam-transcript b{font-weight:650}.exam-review-clip{margin-top:var(--space-2)}.exam-review-clip .exam-clip{margin:0;padding:0;background:none}.exam-review-clip .exam-clip .btn{min-height:40px;padding:8px 16px}@media(max-width:900px){.path-how{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.path-heading p,.section-lede{font-size:var(--text-md)}.path-next{flex-direction:column;align-items:stretch;gap:var(--space-4);padding:var(--space-5)}.path-next-actions{flex-direction:column}.path-next-actions .btn{width:100%}.path-section>article>header{grid-template-columns:32px minmax(0,1fr);gap:var(--space-3);padding:var(--space-4)}.path-section>article>header>.path-chip{grid-column:2;justify-self:start;margin-top:calc(var(--space-1) * -1)}.path-stop-number{width:32px;height:32px;font-size:var(--text-sm)}.path-section h3{font-size:var(--text-lg)}.path-items{padding:0 var(--space-2) var(--space-2)}.path-item{gap:var(--space-3);padding:var(--space-2)}.path-section-meta{padding:var(--space-3) var(--space-4)}.path-section-meta .btn{width:100%}.path-stage{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:var(--space-3);padding:var(--space-4)}.path-stage>header{display:contents}.path-stage>header>.btn{order:2;grid-column:1 / -1;width:100%;margin-top:var(--space-4)}.path-stage-body{order:1;grid-column:2;margin:var(--space-3) 0 0}.path-lessons{order:1;grid-column:1 / -1;margin-left:0}.path-stage-number{width:32px;height:32px;font-size:var(--text-sm)}.path-stage h2{font-size:var(--text-lg)}.path-lesson{grid-template-columns:24px minmax(0,1fr);gap:var(--space-3)}.path-lesson>.btn{grid-column:1 / -1;width:100%}.path-lesson-links .follow-entry-compact{flex:0 0 calc(100% + 24px + var(--space-3));margin-left:calc(-24px - var(--space-3))}.path-lesson-links .follow-entry-button{box-sizing:border-box;width:100%}.path-checklist{grid-template-columns:1fr}.path-section-nav .btn{width:100%}.path-word-grid{grid-template-columns:1fr;padding:var(--space-1) var(--space-4)}.path-word-grid li:nth-last-child(2):nth-child(odd){border-bottom:1px solid var(--border)}.path-course-card .hub-copy>.path-card-bottom{grid-template-columns:1fr;gap:var(--space-2)}.path-return{flex-wrap:wrap;padding:var(--space-3) var(--space-2) var(--space-3) var(--space-4)}.path-return p{flex-basis:calc(100% - 90px)}.path-return .btn{order:3;width:100%;margin-right:var(--space-2)}.path-home-link,.path-banner{flex-wrap:wrap;padding:var(--space-5)}.path-banner>.path-banner-symbol{display:none}.path-banner-copy{flex-basis:100%}.path-banner-actions{width:100%;align-items:stretch}.section-check-head{flex-direction:column;align-items:flex-start}.section-facts{grid-template-columns:1fr}.section-facts li+li{border-left:0;border-top:1px solid var(--border)}.section-facts li{padding:var(--space-4)}.section-card{padding:var(--space-5) var(--space-4)}.section-question{font-size:var(--text-xl)}.section-cue strong{font-size:var(--text-2xl)}.section-nav{flex-wrap:wrap}.section-nav .btn{flex:1}.section-progress{flex-wrap:wrap;gap:var(--space-2)}.section-progress .path-meter{order:3;flex-basis:100%}.section-progress .btn{margin-left:auto}.section-score{flex-direction:column;align-items:flex-start;gap:var(--space-5);padding:var(--space-5)}.section-score-ring{width:112px;height:112px}.section-actions .btn{width:100%}.section-context>.btn{float:none;margin:0 0 var(--space-2)}.exam-clip{padding:var(--space-4)}.exam-clip>.btn{width:100%}.exam-review-clip .exam-clip>.btn{width:auto}.section-options.exam-pictures{grid-template-columns:1fr}.section-option.exam-picture{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3)}.exam-picture-key{order:-1;flex-direction:column}.section-option.exam-picture img{max-height:132px}.exam-group{padding:0 var(--space-3)}.exam-match-heading{font-size:var(--text-lg)}.exam-match-stem{grid-template-columns:28px minmax(0,1fr);gap:var(--space-2);padding:var(--space-4) 0}.exam-match-number{width:28px;height:28px}.exam-match-prompt{font-size:var(--text-md);margin-top:3px}.exam-match .section-options.exam-letters{grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}.exam-match .section-option.exam-letter{min-height:44px;gap:var(--space-1);padding:2px}}@media(max-width:480px){.path-how{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.path-meter span,.section-option,.path-finish-definition summary:after{transition:none}}[data-course-path=a2]>.path-footnote{margin-bottom:var(--space-5)}[data-course-path=a2] .path-stage-body .path-lessons{margin:0}[data-course-path=a2] .path-stage-body dd{margin:var(--space-1) 0 var(--space-4);color:var(--ink-2);line-height:1.6}.path-subtotal{margin:calc(var(--space-1) * -1) 0 var(--space-2);font-size:var(--text-sm);line-height:1.45;color:var(--ink-2);font-variant-numeric:tabular-nums}.path-welcome{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4);margin:0 0 var(--space-6);padding:var(--space-3) var(--space-4) var(--space-3) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.path-welcome-film{flex:1 1 320px;display:flex;align-items:center;gap:var(--space-4);min-width:0;color:inherit;text-decoration:none}.path-welcome-thumb{position:relative;flex:none;display:grid;place-items:center;width:112px;aspect-ratio:16/9;overflow:hidden;border-radius:var(--radius-md);background:var(--brand-hover)}.path-welcome-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.path-welcome-thumb>span{position:relative;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--sun);color:var(--on-sun)}.path-welcome-thumb svg{margin-left:2px;fill:currentColor}.path-welcome-copy{display:grid;gap:2px;min-width:0}.path-welcome-copy small{font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-ink)}.path-welcome-copy strong{font-size:var(--text-md);color:var(--ink)}.path-welcome-copy .nowrap{white-space:nowrap}.path-welcome-copy>span{font-size:var(--text-sm);line-height:1.45;color:var(--ink-2)}.path-welcome-film:hover strong{text-decoration:underline;text-underline-offset:3px}.path-welcome-film:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--radius-md)}.path-welcome-about{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:650}@media(max-width:700px){.path-welcome-thumb{width:88px}.path-welcome-about{margin-left:calc(88px + var(--space-4))}}.path-section.is-planned>article{background:var(--surface-2);border-style:dashed;border-color:var(--border-2);box-shadow:none}.path-section.is-planned .path-stop-number{background:var(--surface);color:var(--ink-3);border:1px dashed var(--border-2)}.path-section.is-planned h3,.path-section.is-planned .path-section-title p{color:var(--ink-2)}.path-lesson.is-planned .path-mark{border-style:dashed}.path-lesson.is-planned .path-lesson-copy>strong{color:var(--ink-2)}.path-lesson.is-planned .path-lesson-copy>small{color:var(--ink-3)}.path-next.is-planned,.section-empty.is-planned{background:var(--surface-2)}.section-empty.is-planned h2{margin:0 0 var(--space-2);font-size:var(--text-lg)}.section-empty.is-planned p{margin:0;color:var(--ink-2);line-height:1.55}.a2-preview-body{display:grid;gap:var(--space-2);margin-top:var(--space-6)}.a2-preview-body h2{margin:var(--space-4) 0 0;font-size:var(--text-lg);font-weight:700}.a2-preview-list{margin:0;padding-left:1.25em;display:grid;gap:var(--space-2);color:var(--ink-2);line-height:1.55}.path-welcome-text .path-welcome-copy{flex:1 1 320px;min-width:0}.path-welcome:has(+.path-welcome-deck){margin-bottom:var(--space-3)}.path-deck-progress{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3);margin-top:var(--space-2)}.path-deck-progress .path-meter{flex:1 1 160px;max-width:280px;margin:0}.path-deck-progress b{font-size:var(--text-sm);font-weight:650;color:var(--ink-2)}.unit-start:has(+.unit-assess){margin-bottom:var(--space-3)}.unit-assess{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:var(--space-4) var(--space-6);align-items:center;margin:0 0 var(--space-10);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.unit-assess h2{margin:var(--space-1) 0 var(--space-1);font-size:var(--text-xl);font-weight:700}.unit-assess p{margin:0;color:var(--ink-2);font-size:var(--text-sm)}.unit-assess-links{display:grid;gap:var(--space-2)}.unit-assess-link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:48px;box-sizing:border-box;padding:var(--space-2) var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--brand-ink);text-decoration:none;transition:border-color .15s,background-color .15s}.unit-assess-link:hover{border-color:var(--brand);background:var(--brand-tint)}.unit-assess-link span{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px var(--space-2);min-width:0}.unit-assess-link strong{font-size:var(--text-sm);font-weight:650}.unit-assess-link small{font-size:var(--text-xs);font-weight:600;color:var(--ink-3)}.unit-assess-link svg{flex:none}@media(max-width:760px){.unit-assess{grid-template-columns:1fr;padding:var(--space-5)}}.ua-quiz [data-ua-feedback]:focus{outline:none}.ua-quiz [data-ua-feedback]:focus-visible{outline:2px solid var(--focus-quiet);outline-offset:3px}.ua-forms{display:flex;gap:var(--space-2);flex-wrap:wrap}.ua-forms .chip{min-height:36px;padding:6px 16px;font-size:var(--text-sm);text-decoration:none;color:var(--ink-2)}.ua-forms .chip:hover{border-color:var(--brand);color:var(--brand-ink)}.ua-forms .chip.is-current{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.ua-mock .section-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.ua-mock .section-facts li+li{border-left:0}.ua-mock .section-facts li:nth-child(2n){border-left:1px solid var(--border)}.ua-mock .section-facts li:nth-child(n+3){border-top:1px solid var(--border)}.ua-part{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-8);margin:0 0 var(--space-5)}.ua-part-head{margin:0 0 var(--space-5)}.ua-part-head h2{margin:var(--space-1) 0 var(--space-2);font-size:var(--text-2xl)}.ua-part-head h2:focus{outline:none}.ua-part-head p{margin:0;color:var(--ink-2);max-width:60ch}.ua-part-score{display:flex;align-items:baseline;gap:var(--space-2);margin:0 0 var(--space-5);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-sm)}.ua-part-score strong{font-family:var(--font-display);font-size:var(--text-xl);color:var(--ink)}.ua-text{margin:0 0 var(--space-6);padding:var(--space-5) var(--space-6);border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);font-size:var(--text-lg);line-height:1.7;color:var(--ink)}.ua-text p{margin:0}.ua-text p+p{margin-top:var(--space-3)}.ua-questions{display:grid;gap:var(--space-6)}.ua-question{display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--space-3);align-items:start}.ua-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--brand-tint);color:var(--brand-ink);font-weight:700;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.ua-question-body{min-width:0}.ua-question-body :is(h3,h4){margin:4px 0 var(--space-3);font-size:var(--text-lg);font-weight:650;line-height:1.4}.ua-question .section-options{margin:0;gap:var(--space-2)}.ua-question .section-option{min-height:48px;padding:var(--space-2) var(--space-4)}.ua-locked{border:0;margin:0;padding:0;min-width:0}.ua-locked .section-option{opacity:.55}.ua-hint{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--ink-3)}.ua-verdict{margin:var(--space-3) 0 0;font-size:var(--text-sm);font-weight:600}.ua-verdict.is-right{color:var(--success-ink)}.ua-verdict.is-wrong{color:var(--danger-ink)}.ua-verdict b{color:var(--ink)}.ua-explain{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--ink-2)}.ua-listening{display:grid;gap:var(--space-3)}.ua-listening+.ua-listening{padding-top:var(--space-6);border-top:1px solid var(--border)}.ua-listening>.exam-clip{margin:0}.ua-listening>.exam-transcript{margin:0}.ua-tasks{display:grid;gap:var(--space-5)}.ua-task{padding:var(--space-5) var(--space-6);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.ua-instruction{margin:var(--space-2) 0 var(--space-4);font-size:var(--text-md);color:var(--ink);max-width:62ch}.ua-label{display:block;margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:650;color:var(--ink)}.ua-draft{display:block;box-sizing:border-box;width:100%;min-height:150px;padding:var(--space-3) var(--space-4);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-family:var(--font-text);font-size:var(--text-md);line-height:1.6;resize:vertical}.ua-draft:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.ua-count{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--ink-3);font-variant-numeric:tabular-nums}.ua-count.is-enough{color:var(--success-ink);font-weight:600}.ua-count.is-over{color:var(--danger-ink);font-weight:600}.ua-checks{margin:var(--space-4) 0 0;padding:0;border:0;min-width:0;display:grid;gap:var(--space-2)}.ua-checks legend{padding:0;margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:650;color:var(--ink)}.ua-checks label{display:flex;align-items:flex-start;gap:var(--space-3);min-height:44px;box-sizing:border-box;padding:10px var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);font-size:var(--text-sm);color:var(--ink-2);cursor:pointer}.ua-checks label:has(input:checked){background:var(--brand-tint);border-color:var(--brand-tint-2);color:var(--ink)}.ua-checks input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--brand)}.ua-checks:disabled label{cursor:default}.ua-submitted-text{padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-2)}.ua-submitted-text h4,.ua-review h4,.ua-feedback h4{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:700;color:var(--ink)}.ua-submitted-text p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.ua-evidence{display:flex;align-items:flex-start;gap:var(--space-2);margin:var(--space-4) 0 0;font-size:var(--text-sm);color:var(--ink-2)}.ua-evidence svg{flex:none;margin-top:3px;color:var(--brand)}.ua-model{margin:var(--space-4) 0 0;border-top:1px solid var(--border);padding-top:var(--space-3)}.ua-model summary{min-height:44px;display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-weight:650;color:var(--brand-ink);list-style:none}.ua-model summary::-webkit-details-marker{display:none}.ua-model summary:before{content:"";flex:none;width:7px;height:7px;margin:0 4px 2px 2px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s}.ua-model[open] summary:before{transform:rotate(45deg);margin-bottom:4px}.ua-model p{margin:var(--space-2) 0 0}.ua-model p+p{color:var(--ink-3);font-size:var(--text-sm)}.ua-review{margin:var(--space-4) 0 0;padding:var(--space-4);border:1px dashed var(--border-2);border-radius:var(--radius-md)}.ua-review>p{margin:0;font-size:var(--text-sm);color:var(--ink-2)}.ua-review .writing-consent{margin:var(--space-4) 0}.ua-error{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--danger-ink)}.ua-error:empty{margin:0}.ua-error:focus{outline:none}.ua-feedback h4:focus{outline:none}.ua-review .btn[aria-disabled=true]{opacity:.55;cursor:default}.ua-feedback{margin:var(--space-4) 0 0;padding:var(--space-4);border-radius:var(--radius-md);background:var(--brand-tint)}.ua-feedback>p{margin:0 0 var(--space-3)}.ua-coverage,.ua-corrections{list-style:none;padding:0;margin:0 0 var(--space-3);display:grid;gap:var(--space-2);font-size:var(--text-sm)}.ua-coverage li{display:flex;gap:var(--space-2);align-items:flex-start;color:var(--danger-ink)}.ua-coverage li.is-covered{color:var(--success-ink)}.ua-coverage svg{flex:none;margin-top:3px}.ua-coverage span{color:var(--ink-2)}.ua-corrections li{display:flex;flex-wrap:wrap;gap:4px 8px}.ua-corrections del{color:var(--danger-ink)}.ua-corrections ins{text-decoration:none;color:var(--success-ink);font-weight:600}.ua-corrections span{flex-basis:100%;color:var(--ink-2)}.ua-feedback details summary{cursor:pointer;font-weight:650;min-height:44px;display:flex;align-items:center}.ua-next{margin:var(--space-3) 0 0;font-size:var(--text-sm)}.ua-tutor{margin-top:var(--space-5)}.ua-tutor .tr-entry{width:100%}.ua-submit{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-6);padding:var(--space-6) var(--space-8);margin:0 0 var(--space-5);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border-2);box-shadow:var(--shadow-sm)}.ua-submit h2{margin:0 0 var(--space-2);font-size:var(--text-xl)}.ua-submit p{margin:0;color:var(--ink-2);max-width:52ch}.ua-submit .section-actions{margin:0;flex:none}.ua-status{list-style:none;padding:0;margin:var(--space-4) 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-5)}.ua-status li{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm)}.ua-status li>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.ua-status strong{color:var(--ink)}.ua-status small{color:var(--ink-3)}.ua-status-mark{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:2px solid var(--border-2);box-sizing:border-box;color:var(--on-brand)}.ua-status li.is-done .ua-status-mark{background:var(--success);border-color:var(--success)}.ua-result{display:grid;gap:var(--space-5);margin:0 0 var(--space-5);padding:var(--space-6) var(--space-8);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md)}.ua-result:focus{outline:none}.ua-result:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.ua-result h2{margin:var(--space-1) 0 var(--space-2);font-size:var(--text-2xl)}.ua-result-copy p{margin:0;color:var(--ink-2);max-width:62ch}.ua-tiles{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.ua-tile{display:flex;flex-direction:column;gap:2px;padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);min-width:0}.ua-tile strong{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.3;color:var(--ink-2)}.ua-tile.is-scored strong{font-size:var(--text-3xl);color:var(--ink);font-variant-numeric:tabular-nums}.ua-tile small{font-size:var(--text-xs);color:var(--ink-3)}.ua-mock .exam-transcript{border-radius:var(--radius-md)}.ua-subpart+.ua-subpart{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border)}.ua-subpart-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:0 0 var(--space-4)}.ua-questions .ua-subpart-head{margin-top:var(--space-6)}.ua-questions .ua-subpart-head:first-child{margin-top:0}.ua-subpart-head h3{margin:var(--space-1) 0 0;font-size:var(--text-lg);font-weight:700}.ua-subpart-score{margin:0;font-size:var(--text-sm);color:var(--ink-3)}.ua-subpart-score strong{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink)}.ua-breakdown{margin:0;padding:var(--space-5) 0 0;border-top:1px solid var(--border)}.ua-quiz .ua-breakdown{margin-top:var(--space-6)}.ua-breakdown h2{margin:0 0 var(--space-2);font-size:var(--text-lg)}.ua-breakdown>p{margin:0 0 var(--space-4);color:var(--ink-2);max-width:62ch}.ua-breakdown-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-5)}.ua-breakdown-list li{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-sm);min-width:0}.ua-breakdown-list li>a,.ua-breakdown-list li>span{min-width:0;overflow-wrap:anywhere}.ua-breakdown-list li.is-missed b{color:var(--danger-ink)}.ua-breakdown-list li.is-right b{color:var(--success-ink)}.ua-breakdown-list b{flex:none;font-variant-numeric:tabular-nums}@media(max-width:760px){.ua-part{padding:var(--space-5) var(--space-4)}.ua-text{padding:var(--space-4);font-size:var(--text-md)}.ua-task{padding:var(--space-4)}.ua-submit{flex-direction:column;align-items:stretch;padding:var(--space-5) var(--space-4)}.ua-submit .section-actions{flex-wrap:wrap}.ua-result{padding:var(--space-5) var(--space-4)}.ua-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.ua-breakdown-list{grid-template-columns:1fr}}@media(max-width:420px){.ua-mock .section-facts{grid-template-columns:1fr}.ua-mock .section-facts li:nth-child(2n){border-left:0}.ua-mock .section-facts li+li{border-top:1px solid var(--border)}.ua-status{grid-template-columns:1fr}.ua-question{grid-template-columns:28px minmax(0,1fr);gap:var(--space-2)}.ua-number{width:28px;height:28px}.ua-part-head h2{font-size:var(--text-xl)}}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:200 800;src:url(fonts/plus-jakarta-sans-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:200 800;src:url(fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/inter-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/inter-latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--font-display:"Plus Jakarta Sans",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-text:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--text-xs:12px;--text-sm:14px;--text-md:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--text-4xl:38px;--text-5xl:48px;--ink:#10231b;--ink-2:#3d5047;--ink-3:#5b6962;--ink-4:#8f9a94;--page:#f6f7f3;--surface:#ffffff;--surface-2:#f1f4ef;--border:#e2e7e0;--border-2:#d3dbd2;--brand:#0e5c45;--brand-hover:#0a4a37;--brand-ink:#0b4434;--brand-tint:#e6f1eb;--brand-tint-2:#d2e7dc;--sun:#f2b33d;--sun-hover:#e3a326;--sun-ink:#6b4500;--sun-tint:#fdf1d8;--on-brand:#ffffff;--on-brand-2:#eaf4ee;--on-brand-3:#cfe3d7;--on-brand-accent:#f5c766;--on-sun:#2a1d00;--sun-line:#f3dca6;--tone-coral:#a84a26;--tone-coral-tint:#fdebe4;--tone-violet:#6b4fb0;--tone-violet-tint:#efeafa;--tone-teal:#127069;--tone-teal-tint:#e1f3f2;--success:#1f8a5b;--success-ink:#17694a;--success-tint:#e3f4ea;--danger-ink:#a3352e;--warning:#b7791f;--warning-tint:#fdf3dc;--danger:#c2453d;--danger-tint:#fbe9e7;--info:#2f6fa8;--info-tint:#e7f0f9;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--radius-pill:999px;--shadow-sm:0 1px 2px rgba(16,35,27,.06);--shadow-md:0 1px 2px rgba(16,35,27,.05),0 6px 20px rgba(16,35,27,.06);--shadow-lg:0 2px 4px rgba(16,35,27,.05),0 16px 40px rgba(16,35,27,.1);--focus:0 0 0 3px #ffffff,0 0 0 5px #1f7a5c;--focus-quiet:var(--ink-3);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--content:1120px;--content-narrow:760px;--bar:68px}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--page);color:var(--ink);font-family:var(--font-text);font-size:var(--text-md);line-height:1.6;font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);letter-spacing:-.015em;line-height:1.2}main h1,.page-heading h1{font-size:clamp(28px,3.2vw,var(--text-4xl));font-weight:750;letter-spacing:-.025em}main h2{font-weight:700}main h3{font-weight:700}p,a{color:inherit}:is(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--brand);outline-offset:3px;box-shadow:none}[tabindex="-1"]:not(a,button,summary,input,select,textarea):is(:focus,:focus-visible){outline:none;box-shadow:none}#content:focus,#content:focus-visible,main:focus,main:focus-visible{outline:none;box-shadow:none}::selection{background:var(--brand-tint-2)}.eyebrow{font-family:var(--font-text);font-size:var(--text-xs);font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}kbd{font-family:var(--font-text);font-size:var(--text-xs)}.btn{font-family:var(--font-text);font-size:var(--text-sm);font-weight:600;line-height:1.2;min-height:44px;padding:10px 20px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color .15s,box-shadow .15s,color .15s,border-color .15s}.btn.primary{background:var(--brand);color:#fff;border:1px solid var(--brand);box-shadow:var(--shadow-sm)}.btn.primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.btn.secondary{background:var(--surface);color:var(--brand-ink);border:1px solid var(--border-2)}.btn.secondary:hover:not(:disabled){border-color:var(--brand);background:var(--brand-tint)}.btn.ghost{background:transparent;color:var(--brand-ink);border:1px solid transparent}.btn.ghost:hover:not(:disabled){background:var(--brand-tint)}.btn.accent{background:var(--sun);color:#2a1d00;border:1px solid var(--sun)}.btn.accent:hover:not(:disabled){background:var(--sun-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.card,.ui-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.tag,.badge{font-family:var(--font-text);font-size:var(--text-xs);font-weight:600;letter-spacing:.02em}.chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 12px;border:1px solid var(--border-2);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--text-xs);font-weight:600;color:var(--ink-2)}input,select,textarea,button{font-family:var(--font-text)}.toast,#toast{font-family:var(--font-text);font-size:var(--text-sm)}#app[data-shell=bar]{display:block}#app[data-shell=bar] .main-shell{margin-left:0;min-height:100vh;display:flex;flex-direction:column}#app[data-shell=bar] main{width:100%;max-width:var(--content);margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-12);box-sizing:border-box;flex:1}#app[data-shell=bar] .main-shell>footer{width:calc(100% - 2 * var(--space-6));max-width:var(--content-narrow);box-sizing:border-box;margin:0 auto;padding:var(--space-6) 0;border-top:1px solid var(--border);font-size:var(--text-sm);color:var(--ink-3);display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}#app[data-shell=bar] .main-shell>footer a{color:var(--brand-ink);font-weight:600}#app[data-shell=bar] .main-shell>footer.footer-mark{justify-content:center}#app[data-shell=bar] .main-shell>footer:has(>.made-in-de:nth-child(2):not(:last-child)){display:grid;grid-template-columns:auto auto;grid-template-areas:"status info" "mark mark";justify-content:space-between;align-items:center;row-gap:var(--space-4)}#app[data-shell=bar] .main-shell>footer>.made-in-de:nth-child(2):not(:last-child){grid-area:mark;justify-self:center}#app[data-shell=bar] .main-shell>footer>.made-in-de:nth-child(2):not(:last-child)+*{grid-area:info;text-align:right}@media(max-width:900px){#app[data-shell=bar] .main-shell>footer:has(>.made-in-de:nth-child(2):not(:last-child)){grid-template-columns:1fr;grid-template-areas:"status" "info" "mark";justify-content:stretch;justify-items:center;text-align:center;row-gap:var(--space-2)}#app[data-shell=bar] .main-shell>footer>.made-in-de:nth-child(2):not(:last-child)+*{text-align:center}}.made-in-de{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-weight:600;color:var(--ink-2)}.de-flag{flex:none;width:20px;height:13px;border-radius:2.5px;background:linear-gradient(#000 0 33.34%,#d00 33.34% 66.67%,#ffce00 66.67%);box-shadow:0 0 0 1px #10231b26}@media(forced-colors:active){.de-flag{forced-color-adjust:none}}#app[data-shell=bar]:is([data-page=home],[data-page=a1-speaking]:has(.tr-room:not(.is-compact))) .main-shell>footer{max-width:calc(var(--content) - 2 * var(--space-6))}.app-bar{position:sticky;top:0;z-index:30;background:#ffffffeb;backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--border)}.app-bar-inner{max-width:var(--content);margin:0 auto;height:var(--bar);padding:0 var(--space-6);display:flex;align-items:center;gap:var(--space-5);box-sizing:border-box}.app-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--font-display);font-weight:800;font-size:19px;letter-spacing:-.02em;flex:none}.app-logo img{width:32px;height:32px;border-radius:9px}.app-course{position:relative;flex:none}.app-course>summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:38px;padding:6px 12px 6px 10px;border:1px solid var(--border-2);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--text-sm);font-weight:650;color:var(--ink);cursor:pointer;white-space:nowrap}.app-course>summary::-webkit-details-marker{display:none}.app-course>summary:hover{border-color:var(--brand)}.app-course .course-dot{width:28px;height:26px;border-radius:7px;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:12px;font-weight:800;letter-spacing:0}.app-course .chev{transform:rotate(90deg);transition:transform .15s;color:var(--ink-3)}.app-course[open] .chev{transform:rotate(-90deg)}.course-menu{position:absolute;left:0;top:calc(100% + 8px);width:300px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:40}.course-menu a{display:grid;grid-template-columns:36px 1fr;gap:2px 12px;align-items:center;padding:10px;border-radius:var(--radius-md);text-decoration:none;color:var(--ink)}.course-menu a:hover,.course-menu a[aria-current=true]{background:var(--brand-tint)}.course-menu .course-dot{grid-row:span 2;width:36px;height:36px;border-radius:10px;font-size:12px}.course-menu strong{font-size:var(--text-sm);font-weight:650}.course-menu small{font-size:var(--text-xs);color:var(--ink-3)}.course-menu .course-menu-all{display:block;text-align:center;margin-top:4px;padding:10px;border-top:1px solid var(--border);border-radius:0 0 var(--radius-md) var(--radius-md);font-size:var(--text-sm);font-weight:600;color:var(--brand-ink)}.app-tabs{display:flex;align-items:stretch;align-self:stretch;gap:4px;margin-left:var(--space-2)}.app-tabs a{position:relative;display:flex;align-items:center;padding:0 14px;text-decoration:none;font-size:15px;font-weight:600;color:var(--ink-2);white-space:nowrap}.app-tabs a:hover{color:var(--brand-ink)}.app-tabs a[aria-current=page]{color:var(--brand)}.app-tabs a[aria-current=page]:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--brand)}.app-actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-2);min-width:0}.app-actions .language-pill{font-size:var(--text-xs)}.course-dot[data-course=a1]{background:#0e5c45}.course-dot[data-course=a2]{background:#1f6f78}.course-dot[data-course=b1]{background:#2f6fa8}.course-dot[data-course=lid]{background:#b5542f}.course-dot[data-course=driving]{background:#6b5aa8}.course-dot[data-course=hub]{background:#10231b}.app-tabbar{display:none}@media(max-width:900px){.app-tabs{display:none}.app-bar-inner{height:60px;padding:0 var(--space-4);gap:var(--space-3)}.app-logo span{display:none}#app[data-shell=bar] main{padding:var(--space-6) var(--space-4) var(--space-12)}.app-tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fffffff5;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}.app-tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;border-radius:var(--radius-md);text-decoration:none;font-size:var(--text-xs);font-weight:600;color:var(--ink-3)}.app-tabbar a svg{width:22px;height:22px}.app-tabbar a[aria-current=page]{color:var(--brand);background:var(--brand-tint)}#app[data-shell=bar] .main-shell>footer{width:calc(100% - 2 * var(--space-4));padding-bottom:calc(var(--space-6) + 72px)}}@media(max-width:520px){.app-course>summary .course-name{display:none}.course-menu{left:auto;right:auto;width:min(300px,calc(100vw - 76px))}}@media(max-width:400px){.app-tabbar{grid-auto-columns:minmax(max-content,1fr);column-gap:2px}.app-tabbar a{padding:0 6px;white-space:nowrap}}@media(prefers-reduced-motion:reduce){.app-course .chev{transition:none}}.app-actions .pron-launch,.app-actions .focus-pill,.app-actions .profile-header,.app-actions .language-pill,.app-actions .state-chip{display:inline-flex;align-items:center;gap:7px;height:38px;min-height:38px;padding:0 13px;border:1px solid var(--border-2);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-2);font-family:var(--font-text);font-size:var(--text-sm);font-weight:600;line-height:1;box-shadow:none;text-decoration:none;white-space:nowrap;cursor:pointer}.app-actions .pron-launch:hover,.app-actions .focus-pill:hover,.app-actions .language-pill:hover,.app-actions .state-chip:hover{border-color:var(--brand);color:var(--brand-ink)}.app-actions .pron-launch.is-paused,.app-actions .pron-launch.is-paused:hover{border-color:var(--border);background:var(--surface-2);color:var(--ink-4);cursor:not-allowed}.app-actions .pron-launch svg,.app-actions .focus-pill svg,.app-actions .profile-header svg{width:17px;height:17px}.app-actions .profile-header{background:var(--surface);border-color:var(--border-2);color:var(--brand-ink)}.app-actions .profile-header:hover{border-color:var(--brand);background:var(--brand-tint)}.app-actions .pron-launch span,.app-actions .focus-pill:not(.is-running) [data-focus-pill-label]{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-actions .pron-launch,.app-actions .focus-pill:not(.is-running){width:38px;padding:0;justify-content:center}.app-actions .focus-pill:not(.is-running) i{display:none}.app-actions .focus-pill.is-running{border-color:var(--brand);color:var(--brand-ink);background:var(--brand-tint)}.app-actions .state-chip{width:38px;padding:0;justify-content:center;font-size:0;gap:0}@media(max-width:1120px){.app-actions .profile-header span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-actions .profile-header{width:38px;padding:0;justify-content:center}}@media(max-width:900px){.app-actions .profile-header span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-actions .profile-header,.app-actions .language-pill{padding:0 11px}}@media(min-width:901px)and (max-width:1000px){.speaking-dock{right:12px;bottom:12px;width:48px;height:48px}.speaking-dock .tutor-launcher{width:48px;height:48px;padding:2px;box-shadow:var(--shadow-md)}.speaking-dock .tutor-launcher .speaking-avatar{width:44px;height:44px}.speaking-dock .tutor-launcher .tutor-face{--tf:44px}.speaking-dock .tutor-launcher:before,.speaking-dock .tutor-launcher:after{display:none}}@media(min-width:901px){body:has(#app[data-page=home]) .speaking-dock:not(.is-open){display:none}}@media(max-width:900px){body:has(.speaking-dock:not([hidden])):not(:has(#app .tr-entry,[data-em-tutor-mount],#app[data-page=session])) .app-tabbar{padding-right:64px}}@media(max-width:900px){.speaking-dock{left:auto!important;top:auto!important;right:10px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;width:48px;height:48px}.speaking-dock .tutor-launcher{width:48px;height:48px;padding:2px;box-shadow:var(--shadow-md)}.speaking-dock:before,.speaking-dock:after,.speaking-dock .tutor-launcher:before,.speaking-dock .tutor-launcher:after{display:none}}@media(max-width:1280px){.app-actions .language-pill{width:38px;padding:0;justify-content:center;gap:0;font-size:0;position:relative}.app-actions .language-pill span{display:none}.app-actions .language-pill i{position:absolute;right:5px;top:5px;width:8px;height:8px;border-radius:50%;background:var(--border-2)}.app-actions .language-pill i.on{background:var(--brand)}.app-actions .language-pill i:after,.app-actions .language-pill i:before{display:none}}#app[data-shell=bar][data-page=session] .main-shell>footer{display:none}@media(max-width:900px){#app[data-shell=bar][data-page=session] main{padding-bottom:calc(160px + env(safe-area-inset-bottom))}}.today-stats[data-count]{grid-template-columns:repeat(var(--today-cols,4),minmax(0,1fr))}.today-stats[data-count]>.today-stat{align-content:start}.today-stats[data-count="1"]{--today-cols:1}.today-stats[data-count="2"]{--today-cols:2}.today-stats[data-count="3"]{--today-cols:3}.today-stats[data-count="5"],.today-stats[data-count="6"]{--today-cols:6}.today-stats[data-count="5"]>.today-stat:nth-child(-n+3),.today-stats[data-count="6"]>.today-stat{grid-column:span 2}.today-stats[data-count="5"]>.today-stat:nth-child(n+4){grid-column:span 3}@media(max-width:760px){.today-stats[data-count]{grid-template-columns:repeat(2,minmax(0,1fr))}.today-stats[data-count]>.today-stat.today-stat{grid-column:auto}.today-stats[data-count]>.today-stat:last-child:nth-child(odd){grid-column:1/-1}}:is(.class-details,.class-marking details,.write-recovery,.write-improved,.receptive-explanation details,.speaking-transcript-review)>summary{display:flex;align-items:center;gap:var(--space-2);list-style:none}:is(.class-details,.class-marking details,.write-recovery,.write-improved,.receptive-explanation details,.speaking-transcript-review)>summary::-webkit-details-marker{display:none}:is(.class-details,.class-marking details,.write-recovery,.write-improved,.receptive-explanation details,.speaking-transcript-review)>summary:after{content:"";flex:none;width:7px;height:7px;margin:0 var(--space-1);border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s}:is(.class-details,.class-marking details,.write-recovery,.write-improved,.receptive-explanation details,.speaking-transcript-review)[open]>summary:after{transform:translateY(2px) rotate(225deg)}.class-marking details>summary{justify-content:flex-start;gap:var(--space-4)}.class-marking summary strong{margin-left:auto}@media(prefers-reduced-motion:reduce){:is(.class-details,.class-marking details,.write-recovery,.write-improved,.receptive-explanation details,.speaking-transcript-review)>summary:after{transition:none}}.text-link{font-size:var(--text-sm);font-weight:600;color:var(--brand-ink)}@media(max-width:900px){body:has(#app[data-page=session]) .speaking-dock{display:none}}.app-tabbar .course-dot{width:30px;height:24px;border-radius:7px;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:800;letter-spacing:0}@media(max-width:900px){body:has(.flash-practice) .app-tabbar,body:has(.flash-practice) .speaking-dock{display:none}body:has(.flash-practice) #app[data-shell=bar] main{padding-bottom:var(--space-8)}}.skip-link:not(:focus){top:-120px!important;box-shadow:none!important}.course-crumb{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);max-width:var(--content-narrow);margin:calc(var(--space-2) * -1) auto var(--space-2);min-width:0}.course-crumb a{display:inline-flex;align-items:center;gap:6px;min-height:44px;min-width:0;font-size:var(--text-sm);line-height:20px;font-weight:600;color:var(--brand-ink);text-decoration:none}.course-crumb a:hover>span{text-decoration:underline;text-underline-offset:3px}.course-crumb a:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--radius-sm)}.course-crumb a>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-crumb a svg{flex:none}.course-crumb-back svg{transform:rotate(180deg)}.course-crumb-back strong{font-weight:750}.course-crumb-mine{flex:none;color:var(--ink-2)}.crumb-short{display:none}@media(max-width:420px){.crumb-long{display:none}.crumb-short{display:inline}}.course-crumb.has-parent{justify-content:flex-start;gap:var(--space-2)}.course-crumb.has-parent .course-crumb-back,.course-crumb.has-parent .course-crumb-parent{flex:0 1 auto}.course-crumb.has-parent .course-crumb-mine{margin-left:auto;padding-left:var(--space-2)}.course-crumb-sep{flex:none;font-size:var(--text-sm);line-height:20px;color:var(--ink-3)}.course-crumb-parent{display:inline-flex;align-items:center;min-height:44px;min-width:0;padding:0;border:0;background:none;font-family:var(--font-text);font-size:var(--text-sm);line-height:20px;font-weight:600;color:var(--brand-ink);text-decoration:none;cursor:pointer}.course-crumb-parent>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-crumb-parent:hover>span{text-decoration:underline;text-underline-offset:3px}.course-crumb-parent:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--radius-sm)}button.course-crumb-parent:disabled{opacity:.5;cursor:not-allowed}button.course-crumb-parent:disabled:hover>span{text-decoration:none}@media(max-width:640px){.course-crumb.has-parent .crumb-where,.course-crumb.has-parent .course-crumb-mine{display:none}.course-crumb.has-parent .course-crumb-back{flex:none}}.site-banner{background:var(--sun-tint);border-bottom:1px solid var(--sun-line);color:var(--ink)}.site-banner__inner{max-width:var(--content);margin:0 auto;padding:var(--space-3) var(--space-6);font-size:var(--text-sm);line-height:1.5;overflow-wrap:anywhere}.site-banner__title{font-weight:650;color:var(--sun-ink)}.site-banner__text{color:var(--ink-2)}.site-banner__note{display:block;margin-top:var(--space-1);color:var(--ink);white-space:pre-line}@media(max-width:640px){.site-banner__inner{padding:var(--space-3) var(--space-4)}}.site-banner:empty{display:none}.hub{max-width:var(--content-narrow);margin:0 auto}.hub-head{margin:0 0 var(--space-8)}.hub-head h1{margin:var(--space-2) 0 var(--space-2);font-size:clamp(30px,3.4vw,var(--text-4xl))}.hub-head p{margin:0;max-width:56ch;font-size:var(--text-lg);color:var(--ink-2)}.hub-group{margin-top:var(--space-8)}.hub-group h2{margin:0 0 var(--space-4);font-size:var(--text-xl);font-weight:700}.hub-group.has-note h2{margin-bottom:var(--space-1)}.hub-group-note{margin:0 0 var(--space-4);max-width:64ch;font-size:var(--text-sm);line-height:1.55;color:var(--ink-2)}.hub-group-note .text-link{display:inline;min-height:0;padding:0;font-weight:600;color:var(--brand-ink);white-space:nowrap}.hub-list{display:grid;gap:var(--space-3)}.hub-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-5);padding:var(--space-4) var(--space-5) var(--space-4) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}.hub-card:hover{border-color:var(--border-2);box-shadow:var(--shadow-md);transform:translateY(-1px)}.hub-card:focus-visible{box-shadow:var(--focus);border-radius:var(--radius-lg)}.hub-card.is-planned{grid-template-columns:auto 1fr;background:transparent;border-style:dashed;box-shadow:none;cursor:default}.hub-card.is-planned:hover{border-color:var(--border);box-shadow:none;transform:none}.hub-card.is-planned .hub-art{opacity:.8}.hub-art{width:72px;height:72px;border-radius:var(--radius-md);display:grid;place-items:center}.hub-art svg{stroke-width:1.8}.hub-art[data-tone=green]{background:var(--brand-tint);color:var(--brand)}.hub-art[data-tone=saffron]{background:var(--sun-tint);color:var(--sun-ink)}.hub-art[data-tone=blue]{background:var(--info-tint);color:var(--info)}.hub-art[data-tone=coral]{background:var(--tone-coral-tint);color:var(--tone-coral)}.hub-art[data-tone=violet]{background:var(--tone-violet-tint);color:var(--tone-violet)}.hub-art[data-tone=teal]{background:var(--tone-teal-tint);color:var(--tone-teal)}.hub-copy{display:grid;gap:4px;min-width:0}.hub-copy strong{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em}.hub-copy>span:not(.hub-chips){font-size:var(--text-sm);color:var(--ink-2);line-height:1.5}.hub-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.hub-go{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--ink-3);transition:transform .15s,background-color .15s,color .15s}.hub-card:hover .hub-go{background:var(--brand);color:var(--on-brand)}.hub-card:hover .hub-go{transform:translate(2px)}@media(max-width:600px){.hub-card{grid-template-columns:auto 1fr;gap:var(--space-4);padding:var(--space-4)}.hub-art{width:56px;height:56px}.hub-go{display:none}.hub-head p{font-size:var(--text-md)}}@media(prefers-reduced-motion:reduce){.hub-card,.hub-go{transition:none}.hub-card:hover{transform:none}}.today{max-width:var(--content-narrow);margin:0 auto}.today-head{margin:0 0 var(--space-6)}.today-head h1{margin:var(--space-2) 0 var(--space-1);font-size:clamp(30px,3.4vw,var(--text-4xl))}.today-head p{margin:0;font-size:var(--text-lg);color:var(--ink-2)}.today-continue{display:grid;grid-template-columns:1fr auto;gap:var(--space-6);align-items:center;padding:var(--space-6) var(--space-8);background:var(--brand);color:var(--on-brand-2);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.today-continue:after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--sun) 28%,transparent),transparent 70%);pointer-events:none}.today-continue .eyebrow{color:var(--on-brand-accent)}.today-continue h2{margin:var(--space-2) 0 var(--space-1);font-size:var(--text-2xl);color:var(--on-brand);font-weight:750}.today-continue p{margin:0;color:var(--on-brand-3);font-size:var(--text-md)}.today-continue-copy{min-width:0;position:relative;z-index:1}.today-continue-actions{display:grid;justify-items:center;gap:var(--space-3);position:relative;z-index:1}.today-continue .btn.primary{background:var(--sun);border-color:var(--sun);color:var(--on-sun);min-height:48px;padding:12px 24px;font-size:var(--text-md)}.today-continue .btn.primary:hover{background:var(--sun-hover);border-color:var(--sun-hover)}.today-continue .text-link{color:var(--on-brand-3);font-size:var(--text-sm);font-weight:600}.today-continue .path-active-note a{color:var(--on-brand);text-decoration:underline;text-underline-offset:2px}.today-block{margin-top:var(--space-10)}.today-block-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.today-block-head h2{margin:0;font-size:var(--text-xl);font-weight:700}.today-block-head .text-link{font-size:var(--text-sm);font-weight:600;color:var(--brand-ink)}.today-list{display:grid;gap:var(--space-3)}.today-row{display:grid;grid-template-columns:auto 1fr minmax(0,auto) auto;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5) var(--space-3) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--ink);transition:border-color .15s,box-shadow .15s}.today-row:hover{border-color:var(--border-2);box-shadow:var(--shadow-md)}.today-row .hub-art{width:52px;height:52px}.today-row-copy{display:grid;gap:2px;min-width:0}.today-row-copy small{font-size:var(--text-xs);font-weight:600;color:var(--ink-3)}.today-row-copy strong{font-size:var(--text-md);font-weight:650}.today-row-go{grid-column:4;color:var(--ink-3)}.today-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-3)}.today-stat{display:grid;gap:4px;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.today-stat strong{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:750;letter-spacing:-.02em;color:var(--ink)}.today-stat span{font-size:var(--text-sm);color:var(--ink-3)}.today-stat-bar{display:block;height:6px;margin-top:var(--space-2);border-radius:var(--radius-pill);background:var(--surface-2);overflow:hidden}.today-stat-bar b{display:block;height:100%;border-radius:inherit;background:var(--brand)}@media(max-width:700px){.today-continue{grid-template-columns:1fr;padding:var(--space-6)}.today-continue-actions{justify-items:stretch}.today-row{grid-template-columns:auto 1fr auto;padding-right:var(--space-4)}.today-row-go{display:none}}.today-continue .stage-track{margin-top:var(--space-4);gap:var(--space-2)}.today-continue .stage-track li{background:color-mix(in srgb,var(--on-brand) 8%,transparent);border-color:color-mix(in srgb,var(--on-brand) 16%,transparent);color:var(--on-brand-3)}.today-continue .stage-track li span{background:color-mix(in srgb,var(--on-brand) 12%,transparent);color:var(--on-brand)}.today-continue .stage-track li.is-next{background:var(--on-brand);border-color:var(--on-brand);color:var(--brand-ink)}.today-continue .stage-track li.is-next span{background:var(--brand-tint);color:var(--brand)}.today-continue .stage-track li.is-done{background:color-mix(in srgb,var(--sun) 18%,transparent);border-color:color-mix(in srgb,var(--sun) 35%,transparent);color:var(--sun-line)}.today-continue .stage-track li.is-done span{background:var(--sun);color:var(--on-sun)}.today-continue .path-active-note{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:var(--space-4) 0 0;padding:10px 14px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--on-brand) 10%,transparent);border:1px solid color-mix(in srgb,var(--on-brand) 16%,transparent);color:var(--on-brand-2);font-size:var(--text-sm)}.today-continue .path-active-note>svg{flex:none;color:var(--on-brand-accent)}.today-continue .path-active-note span{flex:1 1 220px}.home{max-width:var(--content);margin:0 auto}.home-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--space-10);align-items:center;padding:var(--space-6) 0 var(--space-4)}.home-hero-copy h1{margin:var(--space-3) 0 var(--space-4);font-size:clamp(38px,5vw,60px);line-height:1.05;letter-spacing:-.035em;font-weight:800}.home-hero-copy h1 span{display:block;color:var(--brand)}.home-hero-copy p{margin:0;max-width:52ch;font-size:var(--text-lg);color:var(--ink-2)}.home-hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}.home-cta{min-height:52px;padding:14px 28px;font-size:var(--text-md)}.home-proof{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-8);margin:var(--space-8) 0 0;padding:var(--space-5) 0 0;border-top:1px solid var(--border)}.home-proof li{display:grid;gap:2px}.home-proof strong{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:800;letter-spacing:-.03em;color:var(--ink)}.home-proof span{font-size:var(--text-sm);color:var(--ink-3)}.home-hero-art{position:relative;border-radius:28px;overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/3}.home-hero-art img{width:100%;height:100%;object-fit:cover;display:block}.home-section{margin-top:var(--space-12)}.home-section-head{margin-bottom:var(--space-5)}.home-section-head h2{margin:0 0 var(--space-1);font-size:var(--text-3xl);font-weight:750}.home-section-head p{margin:0;color:var(--ink-3)}.home-courses{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}.home-course{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm);text-decoration:none;color:var(--ink);transition:box-shadow .15s,transform .15s,border-color .15s}.home-course:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--border-2)}.home-course-art{position:relative;display:block;aspect-ratio:16/10;background:var(--surface-2)}.home-course-art img{width:100%;height:100%;object-fit:cover;display:block}.home-course-art .course-dot{position:absolute;left:var(--space-4);bottom:-18px;width:40px;height:40px;border-radius:12px;font-size:12px;border:3px solid var(--surface);display:grid;place-items:center;color:var(--on-brand);font-weight:800}.home-course-body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-8) var(--space-5) var(--space-5);flex:1}.home-course-body small{font-size:var(--text-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.home-course-body strong{font-family:var(--font-display);font-size:var(--text-xl);font-weight:750}.home-course-body>span{font-size:var(--text-sm);color:var(--ink-2)}.home-course-body ul{list-style:none;margin:var(--space-2) 0 var(--space-4);padding:0;display:grid;gap:6px}.home-course-body li{display:flex;gap:8px;align-items:flex-start;font-size:var(--text-sm);color:var(--ink-2)}.home-course-body li svg{flex:none;margin-top:3px;color:var(--brand)}.home-course-body b{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:var(--space-4);border-top:1px solid var(--border);font-size:var(--text-sm);font-weight:650;color:var(--brand-ink)}.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:1100px){.home-courses{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.home-hero{grid-template-columns:1fr;gap:var(--space-6)}.home-hero-art{order:-1;aspect-ratio:16/9}.hub-grid{grid-template-columns:1fr}}@media(max-width:560px){.home-courses{grid-template-columns:1fr}.home-proof{gap:var(--space-5)}.home-proof strong{font-size:var(--text-2xl)}}@media(prefers-reduced-motion:reduce){.home-course{transition:none}.home-course:hover{transform:none}}.home-proof{display:grid;grid-template-columns:repeat(3,minmax(0,max-content));justify-content:start;column-gap:clamp(var(--space-5),3vw,var(--space-8))}.home-proof li{align-content:start}.home-proof span{text-wrap:balance}.home-course-art img{position:absolute;inset:0}@media(min-width:1101px){.home-courses{grid-template-columns:repeat(6,minmax(0,1fr))}.home-course{grid-column:span 2}.home-course:nth-child(3n+1):nth-last-child(2),.home-course:nth-child(3n+1):nth-last-child(2)+.home-course{grid-column:span 3}.home-course:nth-child(3n+1):last-child{grid-column:1/-1}.home-course:nth-child(3n+1):nth-last-child(-n+2),.home-course:nth-child(3n+1):nth-last-child(2)+.home-course{flex-direction:row}.home-course:nth-child(3n+1):nth-last-child(-n+2) .home-course-art,.home-course:nth-child(3n+1):nth-last-child(2)+.home-course .home-course-art{flex:0 0 40%;aspect-ratio:auto;min-height:100%}.home-course:nth-child(3n+1):nth-last-child(-n+2) .course-dot,.home-course:nth-child(3n+1):nth-last-child(2)+.home-course .course-dot{bottom:var(--space-4)}.home-course:nth-child(3n+1):nth-last-child(-n+2) .home-course-body,.home-course:nth-child(3n+1):nth-last-child(2)+.home-course .home-course-body{padding-top:var(--space-5)}}@media(min-width:561px)and (max-width:1100px){.home-course:nth-child(odd):last-child{grid-column:1/-1;flex-direction:row}.home-course:nth-child(odd):last-child .home-course-art{flex:0 0 42%;aspect-ratio:auto;min-height:100%}.home-course:nth-child(odd):last-child .course-dot{bottom:var(--space-4)}.home-course:nth-child(odd):last-child .home-course-body{padding-top:var(--space-5)}}.today-row-meta:empty{display:none}.today-row-meta{justify-self:end}.today-row-meta .chip{white-space:nowrap}@media(max-width:700px){.today-row:has(>.today-row-meta:empty){grid-template-columns:auto 1fr}}@media(max-width:560px){.today-row{grid-template-columns:auto 1fr}.today-row:has(>.today-row-meta:not(:empty)){row-gap:var(--space-2)}.today-row:has(>.today-row-meta:not(:empty))>.hub-art{grid-row:1/3}.today-row-meta{grid-column:2;justify-self:start}}.today-links{display:flex;flex-wrap:wrap;gap:var(--space-4)}.today-state{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-decoration:none;color:var(--ink)}.today-state>svg{color:var(--brand);flex:none}.today-state span{display:grid;flex:1}.today-state small{font-size:var(--text-xs);color:var(--ink-3);font-weight:600}.today-state strong{font-size:var(--text-md);font-weight:650}.today-state b{font-size:var(--text-sm);color:var(--brand-ink)}.today-state:hover{border-color:var(--brand)}.hub-grid>.hub-card:last-child:nth-child(odd){grid-column:1/-1}@media(max-width:700px){.today-block-head{flex-wrap:wrap;row-gap:var(--space-2)}.today-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.today-stat{padding:var(--space-4)}}@media(max-width:520px){.today-links .text-link:not(:last-child){display:none}}.today-welcome{display:grid;grid-template-columns:minmax(0,240px) 1fr;gap:var(--space-5);align-items:center;margin-top:var(--space-4);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.today-welcome-poster{position:relative;display:grid;place-items:center;aspect-ratio:16/9;overflow:hidden;border-radius:var(--radius-md);background:var(--brand-hover)}.today-welcome-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.today-welcome-play{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--sun);color:var(--on-sun);box-shadow:0 6px 16px #0003}.today-welcome-play svg{margin-left:3px;fill:currentColor}.today-welcome-copy small{display:block;font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-ink)}.today-welcome-copy h2{margin:var(--space-1) 0;font-size:var(--text-xl);line-height:1.25;color:var(--ink)}.today-welcome-copy p{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--ink-2)}.today-welcome-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.today-welcome-actions .btn{min-height:44px}.today-welcome-link{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--space-6);margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--ink-3)}.today-welcome-link svg{flex:none;color:var(--brand)}.today-welcome-link .text-link{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;font-weight:650}.today-welcome-link+.today-block{margin-top:var(--space-8)}@media(max-width:700px){.today-welcome{grid-template-columns:1fr;gap:var(--space-3)}.today-welcome-actions .btn{flex:1 1 auto;justify-content:center}}.a2-exam-parts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--space-4)}.a2-exam-part{padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.a2-exam-part h3{margin:0 0 var(--space-3);font-size:var(--text-md);font-weight:700}.a2-exam-part h3 small{display:block;margin-top:2px;font-size:var(--text-sm);font-weight:600;color:var(--ink-3)}.a2-exam-part ul{margin:0;padding-left:1.15em;display:grid;gap:var(--space-2);font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.hub-group-note.a2-exam-pass{margin:var(--space-4) 0 0}.a1w,.a1m{max-width:var(--content-narrow);margin:0 auto}.a1w-head h1,.a1m-head h1{margin:var(--space-2) 0 var(--space-3);font-family:var(--font-display);font-size:clamp(30px,4.2vw,var(--text-4xl));line-height:1.12;letter-spacing:-.02em;color:var(--ink)}.a1w-head p,.a1m-head p{margin:0;max-width:62ch;font-size:var(--text-lg);line-height:1.55;color:var(--ink-2)}.a1w-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}.a1w-actions .btn{min-height:48px;padding:12px 24px;font-size:var(--text-md)}.a1w-film{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);margin-top:var(--space-8);background:var(--brand);color:var(--on-brand-2);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;text-decoration:none;transition:box-shadow .2s}.a1w-film:hover{box-shadow:var(--shadow-lg)}.a1w-film:focus-visible{outline:none;box-shadow:var(--focus)}.a1w-poster{position:relative;display:grid;place-items:center;min-height:220px;overflow:hidden;background:var(--brand-hover)}.a1w-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:35% 55%}.a1w-poster:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0a4a3700 70%,#0a4a372e);pointer-events:none}.a1w-play{position:relative;z-index:1;display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--sun);color:var(--on-sun);box-shadow:0 8px 24px #00000038;transition:transform .2s}.a1w-play svg{margin-left:4px;fill:currentColor}.a1w-film:hover .a1w-play{transform:scale(1.06)}.a1w-film-copy{display:grid;align-content:center;gap:var(--space-2);padding:var(--space-8)}.a1w-film-copy .eyebrow{color:var(--on-brand-accent)}.a1w-film-copy strong{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.2;color:var(--on-brand)}.a1w-film-copy span:not(.eyebrow):not(.chip){color:var(--on-brand-3);line-height:1.55}.a1w-film-copy .chip{justify-self:start;margin-top:var(--space-2);background:#ffffff1a;border-color:#fff3;color:var(--on-brand)}.a1w-block{margin-top:var(--space-12)}.a1w-block>h2,.a1m-block>h2{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.01em;color:var(--ink)}.a1w-block>p,.a1m-block>p{margin:0 0 var(--space-5);color:var(--ink-2);line-height:1.6}.a1w-block h3{margin:var(--space-8) 0 var(--space-3);font-size:var(--text-lg);color:var(--ink)}.a1w-card{padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.a1w-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:0;padding:0;list-style:none}.a1w-facts li{display:grid;align-content:start;gap:2px;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.a1w-facts strong{font-family:var(--font-display);font-size:var(--text-4xl);line-height:1;font-weight:750;letter-spacing:-.03em;color:var(--brand)}.a1w-facts b{margin-top:var(--space-2);font-size:var(--text-md);color:var(--ink)}.a1w-facts small{font-size:var(--text-sm);line-height:1.45;color:var(--ink-3)}.a1w-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-3)}.a1w-half{padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.a1w-half header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.a1w-half header strong{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink)}.a1w-half header span{font-size:var(--text-sm);color:var(--ink-3)}.a1w-half ol{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.a1w-half li{display:grid;grid-template-columns:28px 1fr;gap:var(--space-3);align-items:center;font-size:var(--text-sm);color:var(--ink-2)}.a1w-half li span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand-tint);color:var(--brand-ink);font-weight:700;font-size:var(--text-xs)}.a1w-final{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--sun-tint);border-radius:var(--radius-lg);color:var(--sun-ink);font-size:var(--text-sm);line-height:1.45}.a1w-final svg{flex:none}.a1w-final strong{color:var(--sun-ink)}.a1w-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);margin:0;padding:0;list-style:none;counter-reset:step}.a1w-steps li{display:grid;align-content:start;gap:var(--space-1);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.a1w-steps li span{font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;color:var(--brand)}.a1w-steps li strong{font-size:var(--text-sm);line-height:1.35;color:var(--ink)}.a1w-routine{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-6);align-items:start}.a1w-time strong{display:block;font-family:var(--font-display);font-size:var(--text-3xl);line-height:1.1;letter-spacing:-.02em;color:var(--ink)}.a1w-time span{display:block;margin-top:var(--space-1);color:var(--ink-3);font-size:var(--text-sm)}.a1w-tips{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.a1w-tips li{display:grid;grid-template-columns:22px 1fr;gap:var(--space-3);line-height:1.5;color:var(--ink-2)}.a1w-tips svg{margin-top:2px;color:var(--success)}.a1w-goal{grid-column:1/-1;display:grid;gap:var(--space-2);padding-top:var(--space-5);border-top:1px solid var(--border)}.a1w-goal label{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);font-weight:650;color:var(--ink)}.a1w-goal select{min-height:44px;padding:8px 36px 8px 14px;border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-md);color:var(--ink)}.a1w-goal small{font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}.a1w-skills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin:0;padding:0;list-style:none}.a1w-skills li{display:grid;gap:var(--space-2);justify-items:start;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.a1w-skills strong{font-family:var(--font-display);font-size:var(--text-xl);color:var(--ink)}.a1w-skills small{font-size:var(--text-sm);color:var(--ink-3)}.a1w-skills .hub-art{width:44px;height:44px}.a1w-note{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);margin:var(--space-4) 0 0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}.a1w-note a{display:inline-flex;align-items:center;gap:4px;min-height:44px;font-weight:650;color:var(--brand-ink)}.a1w-helpers{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.a1w-helpers li{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);align-items:center;padding:var(--space-4) var(--space-5) var(--space-4) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.a1w-helpers .hub-art{width:52px;height:52px}.a1w-helpers strong{display:block;font-size:var(--text-md);color:var(--ink)}.a1w-helpers p{margin:2px 0 0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.a1w-tutors{display:flex;width:52px;height:52px;align-items:center}.a1w-tutors .tutor-face{flex:none;width:34px;height:34px}.a1w-tutors .tutor-face+.tutor-face{margin-left:-16px}.a1w-tutors .tf-badge,.a1w-tutors .tf-wave,.a1w-tutors .tf-ring{display:none}.a1w-avatar{display:grid;place-items:center;width:52px;height:52px;border-radius:var(--radius-md);background:var(--info-tint);color:var(--info);font-family:var(--font-display);font-size:var(--text-xl);font-weight:750}.a1w-start{display:grid;grid-template-columns:1fr auto;gap:var(--space-6);align-items:center;margin-top:var(--space-12);padding:var(--space-6) var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.a1w-start h2{margin:var(--space-2) 0 var(--space-1);font-family:var(--font-display);font-size:var(--text-2xl);color:var(--ink)}.a1w-start p{margin:0;color:var(--ink-2);line-height:1.55}.a1w-start .a1w-actions{margin:0;flex-direction:column;align-items:stretch}.a1w-honest{margin:var(--space-6) 0 0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-3);text-align:center}.a1m-hero{position:relative;display:grid;grid-template-columns:auto 1fr;gap:var(--space-6);align-items:center;padding:var(--space-8);background:var(--brand);color:var(--on-brand-2);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden}.a1m-hero:after{content:"";position:absolute;right:-70px;top:-70px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,#f2b33d4d,#f2b33d00 70%);pointer-events:none}.a1m-hero .eyebrow{color:var(--on-brand-accent)}.a1m-hero h1{margin:var(--space-2) 0 var(--space-2);font-family:var(--font-display);font-size:clamp(28px,4vw,var(--text-4xl));line-height:1.12;letter-spacing:-.02em;color:var(--on-brand)}.a1m-hero p{margin:0;max-width:56ch;font-size:var(--text-lg);line-height:1.55;color:var(--on-brand-3)}.a1m-hero>*{position:relative;z-index:1}.a1m-seal{display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:var(--sun);color:var(--on-sun);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;box-shadow:0 0 0 6px #f2b33d38}.a1m-block{margin-top:var(--space-10)}.a1m-rows{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.a1m-rows li{display:grid;grid-template-columns:36px 1fr;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.a1m-rows .a1m-num{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--brand-tint);color:var(--brand-ink);font-weight:750}.a1m-rows .a1m-num.is-done{background:var(--brand);color:var(--on-brand)}.a1m-rows strong{display:block;font-size:var(--text-md);color:var(--ink)}.a1m-rows p{margin:2px 0 0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.a1m-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.a1m-quote,.a1m-block>.a1m-quote{margin:var(--space-5) 0 0;padding:var(--space-4) var(--space-5);background:var(--surface-2);border-radius:var(--radius-md);color:var(--ink-2);line-height:1.55}.a1m-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-10)}.a1m-actions .btn{min-height:48px;padding:12px 24px;font-size:var(--text-md)}.a1m-locked{margin-top:var(--space-8);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.a1m-locked h2{margin:0 0 var(--space-2);font-size:var(--text-xl);color:var(--ink)}.a1m-locked p{margin:0 0 var(--space-4);color:var(--ink-2);line-height:1.55}.a1m-bar{height:6px;margin:var(--space-2) 0 var(--space-5);border-radius:var(--radius-pill);background:var(--surface-2);overflow:hidden}.a1m-bar b{display:block;height:100%;border-radius:inherit;background:var(--brand)}.a1c-cert{position:relative;margin-top:var(--space-8);padding:var(--space-10) var(--space-8);background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-xl);box-shadow:inset 0 0 0 8px var(--surface),inset 0 0 0 9px var(--brand-tint-2),var(--shadow-md);text-align:center}.a1c-top{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-6)}.a1c-brand{font-family:var(--font-display);font-size:var(--text-sm);font-weight:750;letter-spacing:.16em;text-transform:uppercase;color:var(--brand)}.a1c-seal{display:grid;place-items:center;width:76px;height:76px;margin:0 auto var(--space-4);border-radius:50%;background:var(--sun);color:var(--on-sun);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;box-shadow:0 0 0 5px var(--sun-tint),0 0 0 6px #6b45002e}.a1c-kicker{margin:0;font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.a1c-cert h2{margin:var(--space-2) 0 var(--space-5);font-family:var(--font-display);font-size:clamp(30px,5vw,var(--text-5xl));line-height:1.05;letter-spacing:-.03em;color:var(--ink)}.a1c-name{margin:0 0 var(--space-2);padding-block:.12em;font-family:var(--font-display);font-size:var(--text-3xl);line-height:1.25;font-weight:700;color:var(--brand-ink);overflow-wrap:anywhere;overflow:hidden;overflow:clip;contain:paint;text-align:center;unicode-bidi:isolate}.a1c-statement{max-width:48ch;margin:0 auto;color:var(--ink-2);line-height:1.6}.a1c-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:var(--space-8) 0 0;padding:0;list-style:none}.a1c-meta li{display:grid;gap:2px;padding:var(--space-4);background:var(--surface-2);border-radius:var(--radius-md)}.a1c-meta small{font-size:var(--text-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.a1c-meta strong{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink)}.a1c-table{width:100%;margin-top:var(--space-6);border-collapse:collapse;text-align:left;font-size:var(--text-sm)}.a1c-table caption{padding-bottom:var(--space-2);font-weight:700;text-align:left;color:var(--ink)}.a1c-table th,.a1c-table td{padding:10px var(--space-2);border-bottom:1px solid var(--border)}.a1c-table thead th{font-size:var(--text-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.a1c-table td:not(:first-child),.a1c-table thead th:not(:first-child){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.a1c-table tbody th{font-weight:600;color:var(--ink)}.a1c-table tbody th small{display:block;font-weight:400;color:var(--ink-3)}.a1c-cando{margin:var(--space-6) 0 0;padding:0;list-style:none;display:grid;gap:var(--space-2);text-align:left}.a1c-cando li{display:grid;grid-template-columns:20px 1fr;gap:var(--space-2);font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.a1c-cando svg{margin-top:2px;color:var(--success)}.a1c-subhead{margin:var(--space-8) 0 0;font-family:var(--font-text);font-size:var(--text-sm);font-weight:700;text-align:left;color:var(--ink)}.a1c-disclaimer{display:flex;gap:var(--space-3);align-items:flex-start;margin:var(--space-8) 0 0;padding:var(--space-4);background:var(--info-tint);border-radius:var(--radius-md);text-align:left;font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.a1c-disclaimer svg{flex:none;margin-top:1px;color:var(--info)}.a1c-disclaimer strong{color:var(--ink)}.a1c-tools{display:flex;justify-content:center;margin-top:var(--space-4)}.a1c-next{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.a1c-next li{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-4);align-items:center;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.a1c-next .hub-art{width:52px;height:52px}.a1c-next strong{display:block;font-size:var(--text-md);color:var(--ink)}.a1c-next p{margin:2px 0 0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.a1m-notice{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-4);align-items:center;margin-top:var(--space-4);padding:var(--space-4) var(--space-5) var(--space-4) var(--space-4);background:var(--sun-tint);border:1px solid var(--sun-line);border-radius:var(--radius-lg);color:var(--sun-ink);text-decoration:none}.a1m-notice:hover{border-color:var(--sun)}.a1m-notice .hub-art{width:48px;height:48px;background:var(--surface)}.a1m-notice small{display:block;font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.a1m-notice strong{display:block;font-size:var(--text-md);color:var(--ink)}.path-milestone{margin-top:var(--space-4)}.path-milestone>a,.path-milestone>div{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-4);align-items:center;padding:var(--space-4) var(--space-5);border:1px dashed var(--border-2);border-radius:var(--radius-lg);background:transparent;color:var(--ink-2);text-decoration:none}.path-milestone>a{border-style:solid;border-color:var(--sun-line);background:var(--sun-tint)}.path-milestone>a:hover{border-color:var(--sun)}.path-milestone .path-milestone-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--surface-2);color:var(--ink-3)}.path-milestone>a .path-milestone-icon{background:var(--sun);color:var(--on-sun)}.path-milestone strong{display:block;color:var(--ink)}.path-milestone small{font-size:var(--text-sm);color:var(--ink-3)}.path-heading .path-about{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:var(--space-1)}.gl-done{scroll-margin-top:calc(var(--bar) + var(--space-4));margin:0 0 var(--space-8);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--success);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.gl-done.is-partial{border-top-color:var(--sun)}.gl-done-head{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);align-items:center}.gl-done-seal{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--success-tint);color:var(--success-ink)}.gl-done.is-partial .gl-done-seal{background:var(--sun-tint);color:var(--sun-ink)}.gl-done-head h2{margin:2px 0 var(--space-1);font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.2;color:var(--ink)}.gl-done-head h2:focus{outline:none}.gl-done-head p{margin:0;color:var(--ink-2);line-height:1.5}.gl-done h3{margin:var(--space-6) 0 var(--space-3);font-size:var(--text-md);color:var(--ink)}.gl-done-goals{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.gl-done-goals li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface-2);border-radius:var(--radius-md);line-height:1.45;color:var(--ink)}.gl-done-goals li>span:first-child{display:flex;gap:var(--space-2);align-items:flex-start}.gl-done-goals svg{flex:none;margin-top:2px;color:var(--success)}.gl-done-goals [data-rating=supported] svg{color:var(--ink-3)}.gl-done-goals [data-rating=again] svg{color:var(--sun-ink)}.gl-done-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:var(--space-5) 0 0;padding:0;list-style:none}.gl-done-stats li{display:grid;gap:2px;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md)}.gl-done-stats strong{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:750;color:var(--ink)}.gl-done-stats span{font-size:var(--text-sm);line-height:1.4;color:var(--ink-3)}.gl-done-review{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.gl-done-review li{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md)}.gl-done-review .gl-q{margin:0 0 var(--space-2);font-weight:650;color:var(--ink)}.gl-done-review dl{display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-3);margin:0;font-size:var(--text-sm)}.gl-done-review dt{color:var(--ink-3)}.gl-done-review dd{margin:0}.gl-done-review .is-yours{color:var(--danger-ink)}.gl-done-review .is-answer{font-weight:700;color:var(--success-ink)}.gl-done-review .gl-why{margin:var(--space-2) 0 0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.gl-done-todo{display:grid;gap:var(--space-2);margin:var(--space-5) 0 0;padding:0;list-style:none}.gl-done-todo li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);background:var(--sun-tint);border-radius:var(--radius-md);color:var(--ink)}.gl-done-todo small{display:block;color:var(--ink-2)}.gl-done-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}.gl-done-actions .btn{min-height:48px}.gl-done-next-note{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--ink-3)}@media(max-width:700px){.a1w-film{grid-template-columns:1fr;margin-top:var(--space-6)}.a1w-poster{min-height:190px}.a1w-film-copy{padding:var(--space-5) var(--space-5) var(--space-6)}.a1w-film-copy strong{font-size:var(--text-xl)}.a1w-block{margin-top:var(--space-10)}.a1w-facts li{padding:var(--space-4) var(--space-3)}.a1w-facts strong{font-size:var(--text-3xl)}.a1w-facts b{font-size:var(--text-sm)}.a1w-facts small{font-size:var(--text-xs)}.a1w-map,.a1w-routine{grid-template-columns:1fr}.a1w-steps,.a1w-skills{grid-template-columns:repeat(2,minmax(0,1fr))}.a1w-actions .btn,.a1m-actions .btn{flex:1 1 100%}.a1w-start{grid-template-columns:1fr;padding:var(--space-6)}.a1m-hero{grid-template-columns:1fr;gap:var(--space-4);padding:var(--space-6)}.a1m-seal{width:64px;height:64px;font-size:var(--text-xl)}.a1c-cert{padding:var(--space-8) var(--space-4)}.a1c-meta{grid-template-columns:1fr;gap:var(--space-2)}.a1c-meta li{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.a1c-meta strong{font-size:var(--text-md);text-align:right}.a1c-next li{grid-template-columns:auto 1fr}.a1c-next li .btn{grid-column:1/-1}.gl-done{padding:var(--space-5) var(--space-4)}.gl-done-head{grid-template-columns:44px 1fr;align-items:start;gap:var(--space-3)}.gl-done-seal{width:44px;height:44px}.gl-done-head h2{font-size:var(--text-xl)}.gl-done-stats{grid-template-columns:1fr;gap:var(--space-2)}.gl-done-stats li{display:flex;align-items:baseline;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.gl-done-stats strong{flex:none;min-width:4.5em;font-size:var(--text-xl)}.gl-done-actions .btn{flex:1 1 100%}}@media(prefers-reduced-motion:reduce){.a1w-film,.a1w-play{transition:none}.a1w-film:hover .a1w-play{transform:none}}@media print{@page{margin:12mm}body:has(.a1c-cert){background:#fff}body:has(.a1c-cert) .app-bar,body:has(.a1c-cert) .app-tabbar,body:has(.a1c-cert) footer,body:has(.a1c-cert) .skip-link,body:has(.a1c-cert) #toast,body:has(.a1c-cert) .tutor-launcher,.a1c>:not(.a1c-cert){display:none!important}body:has(.a1c-cert) main{padding:0!important;margin:0!important}.a1c{max-width:none}.a1c-cert{margin:0;padding:22px 28px 20px;break-inside:avoid;page-break-inside:avoid;font-size:12px;box-shadow:inset 0 0 0 6px var(--surface),inset 0 0 0 7px var(--brand-tint-2);-webkit-print-color-adjust:exact;print-color-adjust:exact}.a1c-top{margin-bottom:var(--space-3)}.a1c-seal{width:52px;height:52px;margin-bottom:var(--space-2);font-size:var(--text-lg)}.a1c-cert h2{margin:2px 0 var(--space-2);font-size:34px}.a1c-name{margin-bottom:2px;font-size:var(--text-2xl)}.a1c-statement{max-width:60ch;font-size:12.5px;line-height:1.5}.a1c-meta{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--space-4);gap:var(--space-2)}.a1c-meta li{display:grid;padding:8px 10px}.a1c-meta strong{font-size:var(--text-md);text-align:inherit}.a1c-table{margin-top:var(--space-4);font-size:12px}.a1c-table caption{padding-bottom:4px}.a1c-table th,.a1c-table td{padding:5px var(--space-2)}.a1c-subhead{margin-top:var(--space-4);font-size:12.5px}.a1c-cando{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px var(--space-4);margin-top:var(--space-2)}.a1c-cando li{font-size:11.5px;line-height:1.4}.a1c-disclaimer{margin-top:var(--space-4);padding:8px 12px;font-size:11.5px;line-height:1.45}}.gl-done-head .gl-done-open{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3);margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ink-2)}.gl-done-open .btn{min-height:40px;padding:6px 14px;white-space:nowrap}@media(max-width:380px){.a1w-start{padding:var(--space-5)}.a1w-start .a1w-actions .btn{padding-inline:var(--space-4)}}.a2w-ready{margin:var(--space-4) 0 0;font-size:var(--text-sm);line-height:1.55;color:var(--ink-3)}.a2w-after{display:flex;align-items:flex-start;gap:var(--space-3);margin:var(--space-3) 0 0;padding:var(--space-4) var(--space-5);background:var(--brand-tint);border-radius:var(--radius-lg);color:var(--brand-ink);font-size:var(--text-sm);line-height:1.5}.a2w-after svg{flex:none;margin-top:1px}.a2w-deck-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4) var(--space-6)}.a2w-deck-copy{flex:1 1 320px;display:grid;gap:var(--space-3);min-width:0}.a2w-deck-copy>strong{font-size:var(--text-lg);color:var(--ink)}.a2w-deck-copy>p{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.a2w-deck-words{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.a2w-deck-words li{padding:4px 10px;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border);font-size:var(--text-sm);font-weight:600;color:var(--ink)}.a2w-deck-card .path-meter{max-width:320px}.a2m-cando{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.a2m-cando .a1w-card{padding:var(--space-5)}.a2m-cando h3{margin:0;font-family:var(--font-text);font-size:var(--text-md);font-weight:700;line-height:1.35;color:var(--ink)}.a2m-cando .a1c-cando{margin-top:var(--space-3)}.a2m-cando .a1c-cando li{font-size:var(--text-sm)}.a2m-facts{margin-bottom:var(--space-5)}.a2m-facts strong{font-size:var(--text-3xl)}@media(max-width:700px){.a2m-cando{grid-template-columns:1fr}.a2m-facts{grid-template-columns:1fr;gap:var(--space-2)}.a2m-facts li{padding:var(--space-4)}.a2m-facts strong{font-size:var(--text-2xl)}.a2m-facts b{margin-top:var(--space-1)}}@keyframes loader-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes loader-spin{to{transform:rotate(360deg)}}@keyframes loader-draw{0%{stroke-dashoffset:1.1}40%,70%{stroke-dashoffset:0}to{stroke-dashoffset:-1.1}}@keyframes loader-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@keyframes loader-breathe{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.08);opacity:1}}@keyframes loader-dot{0%,80%,to{opacity:.25}40%{opacity:1}}.boot-loader{min-height:100vh;min-height:100dvh;box-sizing:border-box;padding:var(--space-6,24px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;animation:loader-in .35s ease-out .15s both}.boot-mark{width:76px;height:76px;filter:drop-shadow(0 10px 24px #0e5c4529)}.boot-mark .boot-tile{fill:#174e40}.boot-mark path{fill:none;stroke:#ebddac;stroke-width:4;stroke-linecap:round;stroke-dasharray:1 1.2;stroke-dashoffset:1.1;animation:loader-draw 2.4s cubic-bezier(.65,0,.35,1) infinite}.boot-mark .boot-ground{animation-delay:0s}.boot-mark .boot-outer{animation-delay:.18s}.boot-mark .boot-inner{animation-delay:.36s}.boot-name{margin:4px 0 0;font-family:var(--font-display,inherit);font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--ink,#10231b)}.boot-text{margin:0;font-size:var(--text-sm,15px);color:var(--ink-3,#5b6962)}.boot-bar{display:block;width:148px;height:4px;margin-top:4px;border-radius:999px;background:var(--brand-tint-2,#d2e7dc);overflow:hidden}@keyframes boot-slow{0%{visibility:hidden;opacity:0}to{visibility:visible;opacity:1}}.boot-slow{max-width:300px;margin:6px 0 0;font-size:var(--text-sm,15px);color:var(--ink-2,#3d5047);visibility:hidden;animation:boot-slow .4s ease-out 12s both}.boot-bar i{display:block;width:40%;height:100%;border-radius:inherit;background:var(--brand,#0e5c45);animation:loader-slide 1.3s ease-in-out infinite}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:min(46vh,420px);box-sizing:border-box;text-align:center;color:var(--ink-3);font-size:var(--text-sm);animation:loader-in .3s ease-out .15s both}.loading:before{content:"";width:34px;height:34px;box-sizing:border-box;border-radius:50%;border:3px solid var(--brand-tint-2);border-top-color:var(--brand);animation:loader-spin .9s linear infinite}.film-loading .skeleton{display:inline-block;vertical-align:middle;border-radius:999px;background:var(--border-2);overflow:hidden;position:relative}.film-loading .skeleton:after{content:"";position:absolute;inset:0;width:40%;background:linear-gradient(90deg,transparent,#ffffffb3,transparent);animation:loader-slide 1.6s ease-in-out infinite}.film-loading .eyebrow-line{width:130px;height:11px}.film-loading .title-line{width:min(380px,78%);height:28px}.film-loading .subtitle-line{width:min(300px,64%);height:14px}.film-loading .follow-duration{color:var(--ink-4)}.film-loading-controls{min-height:208px;border-top:1px solid #f4f2df14}@media(max-width:800px){.film-loading-controls{min-height:264px}}.film-loading .film-loading-cinema .follow-stage{box-sizing:content-box;min-height:0;aspect-ratio:16/9;padding:0 0 41px;place-items:start center;cursor:default}.film-loading .film-loader{margin-top:clamp(36px,9vh,84px)}@media(max-width:700px){.film-loading .film-loading-cinema .follow-stage{aspect-ratio:4/3;padding-bottom:60px}.film-loading .film-loader{margin-top:20px;gap:14px}}.film-loader{display:flex;flex-direction:column;align-items:center;gap:18px;color:#f4f2df;text-align:center;animation:loader-in .35s ease-out .15s both}.film-loader-mark{position:relative;width:88px;height:88px;display:grid;place-items:center}.film-loader-mark svg{position:absolute;inset:0;width:100%;height:100%;animation:loader-spin 1.6s linear infinite}.film-loader-mark svg circle{fill:none;stroke-width:3;stroke-linecap:round}.film-loader-mark .film-ring-track{stroke:#f4f2df26}.film-loader-mark .film-ring-arc{stroke:#ebddac;stroke-dasharray:62 300}.film-loader-play{width:0;height:0;margin-left:6px;border-style:solid;border-width:15px 0 15px 25px;border-color:transparent transparent transparent #f4f2df;animation:loader-breathe 1.6s ease-in-out infinite}.film-loader-text{margin:0;font-size:var(--text-md);font-weight:600;letter-spacing:.01em}.film-loader-text b{font-weight:inherit}.film-loader-text span{display:inline-block;animation:loader-dot 1.4s ease-in-out infinite}.film-loader-text span:nth-child(2){animation-delay:.2s}.film-loader-text span:nth-child(3){animation-delay:.4s}.film-loading-aside .skeleton-row{display:block;height:44px;margin:0 0 10px;border-radius:var(--radius-md);background:var(--border)}.film-loading-aside .skeleton-row:nth-child(2){width:88%}.film-loading-aside .skeleton-row:nth-child(3){width:76%}@media(forced-colors:active){.boot-mark,.boot-bar,.loading:before,.film-loader-mark{forced-color-adjust:none}.boot-bar,.loading:before{background:transparent;border-color:GrayText}.boot-bar{border:1px solid GrayText}.boot-bar i{background:CanvasText}.loading:before{border-top-color:CanvasText}.film-loader-mark .film-ring-track{stroke:GrayText}.film-loader-mark .film-ring-arc{stroke:CanvasText}.film-loader-play{border-color:transparent transparent transparent CanvasText}}@media(prefers-reduced-motion:reduce){.boot-loader,.loading,.film-loader{animation:none}.boot-mark path{animation:none;stroke-dashoffset:0}.boot-bar i{animation:none;width:60%}.film-loading .skeleton:after{animation:none;content:none}.loading:before,.film-loader-mark svg,.film-loader-play,.film-loader-text span{animation:none}}.ai-access{margin:var(--space-3) 0;font-size:var(--text-sm);line-height:1.5;color:var(--ink-2);overflow-wrap:anywhere}.ai-access[hidden]{display:none}.ai-access--guest,.ai-access--off,.ai-access--used{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.ai-access--guest{border-color:color-mix(in srgb,var(--brand) 28%,var(--border));background:var(--brand-tint)}.ai-access--used{border-color:var(--sun-line);background:var(--sun-tint)}.ai-access__text{flex:1 1 16rem;margin:0;color:var(--ink)}.ai-access__signin{flex:none;min-height:44px}.ai-access__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.ai-access__label{flex:none;font-weight:600;color:var(--ink-2)}.ai-access__bar{position:relative;flex:1 1 8rem;max-width:16rem;height:8px;border-radius:var(--radius-pill);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border);overflow:hidden}.ai-access__fill{position:absolute;inset:0 auto 0 0;width:var(--ai-left,0%);border-radius:inherit;background:var(--brand)}.ai-access__fill[data-low=true]{background:var(--sun)}[data-ai-access]:empty{display:none}@media(max-width:420px){.ai-access__signin{flex:1 1 100%;justify-content:center}.ai-access__bar{max-width:none}}@media(forced-colors:active){.ai-access__fill{background:Highlight}.ai-access__bar{border:1px solid CanvasText}}.tr-signin{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);margin:var(--space-5) 0 0;padding:var(--space-4) var(--space-5);border:1px solid color-mix(in srgb,var(--brand) 28%,var(--border));border-radius:var(--radius-lg);background:var(--brand-tint);overflow-wrap:anywhere}.tr-signin p{margin:0;font-size:var(--text-md);font-weight:650;line-height:1.55;color:var(--ink)}.tr-signin .btn{min-height:48px}@media(max-width:420px){.tr-signin{padding:var(--space-4)}.tr-signin .btn{align-self:stretch;justify-content:center}}.b1-memory--signin .btn{margin-top:var(--space-4)}[data-ai-action][hidden]{display:none!important}.preview-ribbon{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-2);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--sun-line);border-left:4px solid var(--sun);border-radius:var(--radius-md);background:var(--sun-tint);color:var(--sun-ink);font-size:var(--text-sm);line-height:1.45}.preview-ribbon strong{font-weight:700;color:var(--sun-ink)}.preview-ribbon span{color:var(--sun-ink)}.preview-tag{display:inline-block;margin-left:var(--space-1);padding:1px 7px;border-radius:var(--radius-pill);background:var(--sun-tint);border:1px solid var(--sun-line);color:var(--sun-ink);font-family:var(--font-text);font-size:var(--text-xs);font-weight:700;letter-spacing:.02em;line-height:1.5;text-transform:none;vertical-align:middle;white-space:nowrap}@media(max-width:420px){.preview-ribbon{padding:var(--space-2) var(--space-3)}}
