:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-surface:#f8f3e9;--color-surface-raised:#fefbf7;--color-surface-sunk:#ede7db;--color-text:#16231a;--color-text-muted:#515448;--color-accent:#134e34;--color-accent-hover:#003b24;--color-on-accent:#f8f5ec;--color-accent-wash:#cfe9d4;--color-border:#cfcabc;--color-focus:#1762b6;--color-support-wash:#dcf1fa;--color-support-border:#89b2c3;--shadow-color:80 60% 15%;--font-serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--font-sans:Seravek, "Gill Sans Nova", "Segoe UI", Candara, Calibri, "Trebuchet MS", sans-serif;--text-eyebrow:.8125rem;--text-body:clamp(1.0625rem, 1rem + .3vw, 1.1875rem);--text-small:.9375rem;--text-lesson-title:clamp(1.25rem, 1.1rem + .7vw, 1.5rem);--text-title:clamp(2.5rem, 1.6rem + 4vw, 4.25rem);--leading-body:1.65;--leading-tight:1.12;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2.25rem;--space-7:3.5rem;--space-gutter:max(1rem, 4vw);--measure:40rem;--measure-player:70rem;--size-dot:.5rem;--size-status:5.5rem;--size-teacher-mark:2rem;--size-check:2.5rem;--measure-stacked:40rem;--space-scroll-below:40vh;--space-scroll-above:8rem;--highlight-card:transparent;--radius-card:1rem;--radius-pill:999px;--touch-target:2.75rem;--shadow-card:inset 0 1px 0 var(--highlight-card), 0 1px 1px hsl(var(--shadow-color) / .08), 0 4px 10px hsl(var(--shadow-color) / .08), 0 14px 28px -8px hsl(var(--shadow-color) / .12);--shadow-card-lifted:inset 0 1px 0 var(--highlight-card), 0 2px 2px hsl(var(--shadow-color) / .08), 0 10px 20px hsl(var(--shadow-color) / .12), 0 26px 44px -12px hsl(var(--shadow-color) / .2);--duration-fast:.15s;--duration-normal:.28s;--duration-pulse:1.2s;--ease-out:cubic-bezier(.16, 1, .3, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@supports (color:lab(0% 0 0)){:root{--color-surface:lab(95.9951% .418663 5.35024);--color-surface-raised:lab(98.8684% .194192 2.66498);--color-surface-sunk:lab(91.9494% .563592 6.89657);--color-text:lab(12.1723% -7.82755 4.01859);--color-text-muted:lab(35.2458% -3.31418 6.68631);--color-accent:lab(29.0703% -24.9454 9.80663);--color-accent-hover:lab(20.8804% -23.4512 9.19972);--color-on-accent:lab(96.581% -.0038147 4.59459);--color-accent-wash:lab(90.0932% -11.8422 7.56418);--color-border:lab(81.5379% .0583231 7.70414);--color-focus:lab(40.8907% 2.76372 -51.5247);--color-support-wash:lab(93.7428% -5.79968 -6.71815);--color-support-border:lab(70.0679% -11.2167 -13.2575)}}@media (prefers-color-scheme:dark){:root{--color-surface:#0b1710;--color-surface-raised:#1b2a22;--highlight-card:#ffffff0f;--color-surface-sunk:#06100a;--color-text:#e9e4d7;--color-text-muted:#abac9e;--color-accent:#82d2a8;--color-accent-hover:#9fe7c0;--color-on-accent:#091a11;--color-accent-wash:#173526;--color-border:#2d3c33;--color-focus:#7bbdff;--color-support-wash:#152a32;--color-support-border:#3d6473;--shadow-color:160 60% 2%}@supports (color:lab(0% 0 0)){:root{--color-surface:lab(6.44705% -5.76741 2.28187);--color-surface-raised:lab(15.6686% -8.4542 3.34592);--highlight-card:lab(100% 0 0/.06);--color-surface-sunk:lab(3.86188% -3.71011 1.46722);--color-text:lab(90.8094% .0309944 6.91785);--color-text-muted:lab(70.0173% -2.27454 7.21797);--color-accent:lab(78.1349% -32.7114 12.9231);--color-accent-hover:lab(86.1254% -29.3074 11.5939);--color-on-accent:lab(7.60561% -8.64483 3.41446);--color-accent-wash:lab(19.3984% -14.8012 5.83787);--color-border:lab(23.7764% -8.09234 3.20707);--color-focus:lab(74.1011% -7.69091 -40.9642);--color-support-wash:lab(15.4452% -6.46858 -7.8598);--color-support-border:lab(39.8918% -10.8527 -13.1229)}}}
.player{max-width:var(--measure-player);padding:var(--space-4) var(--space-gutter) var(--space-6);margin:0 auto}.player-header{max-width:var(--measure-stacked);margin:0 auto var(--space-4)}.player-back{margin:0 0 var(--space-1);font-size:var(--text-small)}.player-back a{min-height:var(--touch-target);min-width:var(--touch-target);align-items:center;display:inline-flex}.player-title{font-family:var(--font-serif);font-size:var(--text-lesson-title);text-wrap:balance;margin:0;line-height:1.2}.player-bar{justify-content:space-between;align-items:flex-start;gap:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}.player-bar .teacher-line{margin-top:var(--space-2)}.teacher-subject{font-size:var(--text-small)}.loading{color:var(--color-text-muted)}.text-link{color:var(--color-accent);text-underline-offset:.2em}.text-link:hover{color:var(--color-accent-hover)}.button{min-height:var(--touch-target);padding:var(--space-2) var(--space-5);border:1px solid var(--color-accent);border-radius:var(--radius-pill);color:var(--color-accent);font:inherit;font-size:var(--text-small);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);background:0 0;justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}@media (hover:hover){.button:hover{background:var(--color-accent-wash)}}.button:active{transform:scale(.98)}.button-primary{background:var(--color-accent);color:var(--color-on-accent)}.button-primary:hover{background:var(--color-accent-hover)}.button-quiet{border-color:var(--color-border);color:var(--color-text)}.button:disabled{border-color:var(--color-border);background:var(--color-surface-sunk);color:var(--color-text-muted);cursor:not-allowed}.button[aria-disabled=true]{opacity:.7;cursor:default}.support-toggle{max-width:var(--measure)}.support-toggle:has(.support){flex-basis:100%}.support{margin-top:var(--space-3);padding:var(--space-4) var(--space-5);border:1px solid var(--color-support-border);border-radius:var(--radius-card);background:var(--color-support-wash)}.support-title{margin:0 0 var(--space-2);font-family:var(--font-serif);font-size:var(--text-lesson-title)}.support p{margin:0 0 var(--space-2)}.support-link{min-height:var(--touch-target);align-items:center;display:inline-flex}.support-lines{padding-left:var(--space-5);margin:0;font-weight:600}.workspace{gap:var(--space-4);max-width:var(--measure-stacked);align-items:start;margin-inline:auto;display:grid}.card,.teacher-panel,.end{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-raised);box-shadow:var(--shadow-card)}.teacher-panel{background:color-mix(in oklch, var(--color-accent-wash) 35%, var(--color-surface-raised));box-shadow:none;border-left:4px solid var(--color-accent)}.end{box-shadow:var(--shadow-card)}.card-recall{background:var(--color-surface-sunk);box-shadow:none}.card .eyebrow{margin-bottom:var(--space-1)}.card-title{margin:0 0 var(--space-3);font-family:var(--font-serif);font-size:var(--text-lesson-title);text-wrap:balance;line-height:1.2}.card-body{margin:0 0 var(--space-4);max-width:60ch}.report{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.report-status{color:var(--color-text-muted);font-size:var(--text-small);margin:0}.report-status:empty{display:none}.answer-box{gap:var(--space-3);display:grid}.question{font-family:var(--font-serif);font-size:var(--text-lesson-title);font-weight:700;line-height:1.25}.answer-input{scroll-margin-top:var(--space-scroll-above);scroll-margin-bottom:var(--space-scroll-below);width:100%;min-height:7.5rem;padding:var(--space-3) var(--space-4);border:1px solid var(--color-text-muted);border-radius:var(--space-3);background:var(--color-surface-raised);color:var(--color-text);font:inherit;line-height:var(--leading-body);resize:vertical}.answer-input[aria-invalid=true]{border-width:2px}.count{text-align:end;color:var(--color-text-muted);font-size:var(--text-small);margin:0}.count-over{color:var(--color-text);font-weight:600}.actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.your-answer{margin:0 0 var(--space-4);padding-left:var(--space-4);border-left:3px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-small);overflow-wrap:anywhere}.your-answer-text{white-space:pre-wrap;display:block}.teacher-mark{width:var(--size-teacher-mark);height:var(--size-teacher-mark);background:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-serif);font-size:var(--text-small);border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}.reply-closing{margin:0 0 var(--space-4);color:var(--color-text-muted)}.reply .support{margin-bottom:var(--space-5)}.question-preview{display:none}.question-preview-text{margin:0 0 var(--space-4);font-family:var(--font-serif);font-size:var(--text-lesson-title);line-height:1.25}.question-context{color:var(--color-text-muted);font-size:var(--text-small);margin:0}.quiet-label{color:var(--color-text-muted);font-size:var(--text-eyebrow);letter-spacing:.08em;text-transform:uppercase;font-weight:600;display:block}.reply-title{align-items:center;gap:var(--space-3);margin:0 0 var(--space-2);font-family:var(--font-serif);font-size:var(--text-lesson-title);display:flex}.reply-text{margin:0 0 var(--space-4);white-space:pre-wrap}.failure{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-support-border);border-radius:var(--radius-card);background:var(--color-support-wash)}.failure p{margin:0}.failure-note{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-small)}.waiting-line{align-items:center;gap:var(--space-3);margin:0;font-weight:600;display:flex}.waiting-slow{margin:var(--space-3) 0 0;color:var(--color-text-muted)}.dots{gap:var(--space-1);display:inline-flex}.dots i{width:var(--size-dot);height:var(--size-dot);background:var(--color-accent);animation:dot-pulse var(--duration-pulse) ease-in-out infinite;border-radius:50%}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.end-line{margin:var(--space-3) 0 var(--space-1);font-family:var(--font-serif);font-size:var(--text-lesson-title);line-height:1.25}.end-count{margin:0 0 var(--space-4);color:var(--color-text-muted)}.end-show-all{margin-top:var(--space-3)}.end-got{margin-top:var(--space-4)}.end-got summary{min-height:var(--touch-target);cursor:pointer;font-family:var(--font-serif);align-items:center;font-weight:700;display:flex}.end h3{margin:var(--space-4) 0 var(--space-2);font-family:var(--font-serif)}.end-title{font-family:var(--font-serif);font-size:var(--text-lesson-title);margin:0}.end ul{padding-left:var(--space-5);margin:0}.end-note{color:var(--color-text-muted)}[data-focus-target]:focus:not(:focus-visible){outline:none}@media (max-width:30rem){.player-title{font-size:1.125rem}.teacher-subject{display:none}.player-bar .button-quiet{padding-inline:var(--space-2);text-underline-offset:.2em;border-color:#0000;font-size:.875rem;text-decoration:underline}}@media (min-width:60rem){.workspace:not(.workspace-end){gap:var(--space-5);grid-template-columns:minmax(0,3fr) minmax(0,2fr);max-width:none}.player-header{max-width:none;margin-inline:0}.workspace-end{max-width:var(--measure);margin-inline:0}.teacher-panel{top:var(--space-4);position:sticky}.question-preview{display:block}.question-context{display:none}}@media (prefers-reduced-motion:reduce){.dots i{opacity:.7;animation:none}.button:active{transform:none}}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background-color:var(--color-surface);background-image:radial-gradient(ellipse 80% 40% at 50% -10%, var(--color-accent-wash), transparent 70%);min-height:100dvh;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);background-repeat:no-repeat;margin:0}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.home{max-width:var(--measure);padding:var(--space-7) var(--space-gutter) var(--space-7);margin:0 auto}.home-header{margin-bottom:var(--space-6)}.eyebrow{margin:0 0 var(--space-2);color:var(--color-accent);font-size:var(--text-eyebrow);letter-spacing:.14em;text-transform:uppercase;font-weight:600}.home-title{font-family:var(--font-serif);font-size:var(--text-title);font-weight:700;line-height:var(--leading-tight);letter-spacing:-.015em;text-wrap:balance;margin:0}.subject-section{margin-top:var(--space-7)}.subject-section:first-of-type{margin-top:0}.subject-header{margin-bottom:var(--space-5)}.subject-title{font-family:var(--font-serif);font-size:calc(var(--text-lesson-title) * 1.4);font-weight:700;line-height:var(--leading-tight);letter-spacing:-.01em;text-wrap:balance;margin:0}.teacher-line{align-items:center;gap:var(--space-3);margin:var(--space-4) 0 0;color:var(--color-text-muted);flex-wrap:wrap;display:flex}.teacher-name{font-family:var(--font-serif);color:var(--color-text);font-size:1.25rem}.teacher-badge{padding:.125rem var(--space-3);border:1px solid var(--color-accent);border-radius:var(--radius-pill);color:var(--color-accent);font-size:var(--text-small);font-weight:600}.empty{padding:var(--space-5);border:1px dashed var(--color-border);border-radius:var(--radius-card);color:var(--color-text-muted)}.lesson-list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.lesson-link{column-gap:var(--space-4);min-height:var(--touch-target);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-raised);box-shadow:var(--shadow-card);color:inherit;transition:transform var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"number title status""number minutes status";align-items:baseline;text-decoration:none;display:grid}@media (hover:hover){.lesson-link:hover{box-shadow:var(--shadow-card-lifted);transform:translateY(-3px)}.lesson-link:hover .lesson-title{color:var(--color-accent-hover);text-underline-offset:.2em;text-decoration:underline}}.lesson-link:active{box-shadow:var(--shadow-card);transform:translateY(0)scale(.995)}.lesson-number{min-width:2.5rem;color:var(--color-accent);font-family:var(--font-serif);text-align:center;grid-area:number;align-self:center;font-size:2rem;font-weight:700;line-height:1}.lesson-title{font-family:var(--font-serif);font-size:var(--text-lesson-title);grid-area:title;font-weight:700;line-height:1.25}.lesson-status{min-width:var(--size-status);color:var(--color-accent);font-size:var(--text-small);text-align:end;grid-area:status;align-self:center;font-weight:600}@media (max-width:30rem){.lesson-link{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"number title title""number minutes status"}.lesson-status{align-self:baseline;min-width:5.5rem}}.lesson-title{overflow-wrap:anywhere}.lesson-minutes{color:var(--color-text-muted);font-size:var(--text-small);grid-area:minutes}.lesson-link:has(.lesson-status-done){background:var(--color-accent-wash)}.lesson-link:has(.lesson-status-done) .lesson-number{width:var(--size-check);height:var(--size-check);background:var(--color-accent);color:var(--color-on-accent);border-radius:50%;place-items:center;font-size:0;display:grid}.lesson-link:has(.lesson-status-done) .lesson-number:before{content:"✓";font-size:1.25rem}.lesson-link:has(.lesson-status-in-progress){box-shadow:var(--shadow-card), inset 0 -4px 0 var(--color-accent)}.progress-line{min-height:calc(var(--leading-body) * 1em);margin:var(--space-4) 0 0;color:var(--color-text-muted)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.lesson-link:hover,.lesson-link:active{transform:none}}.sign-in{max-width:30rem}.sign-in-lead{margin:var(--space-4) 0 0;color:var(--color-text-muted)}.sign-in-form{gap:var(--space-4);display:grid}.sign-in-field{gap:var(--space-2);display:grid}.sign-in-field label{font-weight:600}.sign-in-field .answer-input{min-height:var(--touch-target);resize:none}.sign-in-code{font-size:var(--text-lesson-title);letter-spacing:.3em;font-variant-numeric:tabular-nums}.sign-in-notice{color:var(--color-text-muted);margin:0}.sign-in-notice:empty{display:none}.sign-in-error{padding:var(--space-3) var(--space-4);border:1px solid var(--color-support-border);border-radius:var(--radius-card);background:var(--color-support-wash);margin:0}.sign-in-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.sign-out{align-items:center;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.sign-out .sign-in-error{padding:var(--space-2) var(--space-3);font-size:var(--text-small)}.notice{max-width:36rem}.notice-section{margin:0 0 var(--space-5)}.notice-section p{margin:0 0 var(--space-2)}.notice-heading{margin:0 0 var(--space-2);font-size:var(--text-lesson-title)}.notice-section .support-lines{padding-left:var(--space-5);margin:0;font-weight:600}.notice-actions{gap:var(--space-3);margin-top:var(--space-6);justify-items:start;display:grid}.notice-link{margin:var(--space-3) 0 0}.topic-group+.topic-group{margin-top:var(--space-6)}.topic-title{margin:0 0 var(--space-4);font-family:var(--font-serif);font-size:var(--text-lesson-title);font-weight:700}.install-hint{margin:0 0 var(--space-6);padding:var(--space-5);border:1px solid var(--color-support-border);border-radius:var(--radius-card);background:var(--color-support-wash)}.install-hint-title{margin:0 0 var(--space-3);font-size:var(--text-lesson-title)}.install-hint-steps{margin:0 0 var(--space-4);padding-left:var(--space-5)}.digest-list{margin:0 0 var(--space-3);padding-left:var(--space-5)}
