@font-face{font-family:study-system;src:local("Hiragino Sans"),local("Yu Gothic UI");font-display:swap}
:root{--paper:#f7f8f5;--surface:#fff;--ink:#243b36;--muted:#63736e;--line:#dfe6e1;--accent:#246b5d;--accent-soft:#e9f3ee;--gold:#987137;--bad:#a13d35;--bad-soft:#fff0ed;--radius:16px;color-scheme:light;font-family:study-system,-apple-system,BlinkMacSystemFont,"Noto Sans JP",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:calc(15px * var(--study-text-scale, 1));line-height:1.8}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:.48}button{border:0;background:none}a{color:var(--accent);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #9fbe71;outline-offset:4px}svg{width:22px;height:22px;flex-shrink:0;vertical-align:middle}h1,h2,h3,p{margin:0}h1{font-size:calc(27px * var(--study-text-scale, 1));font-weight:700;letter-spacing:.03em;line-height:1.55}h2{font-size:calc(19px * var(--study-text-scale, 1));line-height:1.6}h3{font-size:calc(16px * var(--study-text-scale, 1));line-height:1.7}p+p{margin-top:14px}img{max-width:100%;height:auto}button,a{touch-action:manipulation}label{cursor:pointer}small{font-size:calc(12px * var(--study-text-scale, 1))}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:white;padding:12px 20px}.skip:focus{top:12px}.loading{padding:80px 30px;text-align:center}.layout{min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:#fff;border-right:1px solid var(--line);padding:32px 19px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:11px;align-items:center;color:var(--ink);text-decoration:none;padding:0 5px}.brand img{width:38px;height:38px}.brand strong{display:block;font-size:calc(15px * var(--study-text-scale, 1));letter-spacing:.02em}.brand small{display:block;color:var(--muted);font-size:calc(11px * var(--study-text-scale, 1));letter-spacing:.04em}.sidebar nav{display:grid;gap:6px;margin-top:40px}.nav-link{display:flex;gap:14px;align-items:center;min-height:48px;padding:11px 16px;border-radius:10px;color:var(--muted);text-decoration:none;font-size:calc(14px * var(--study-text-scale, 1));font-weight:600}.nav-link:hover{background:#f3f6f3;color:var(--accent)}.nav-link.active{background:var(--accent-soft);color:var(--accent)}.nav-link .nav-number{margin-left:auto;font-size:calc(11px * var(--study-text-scale, 1));background:#fff;min-width:22px;padding:0 5px;text-align:center;border-radius:6px}.workspace{margin-left:236px}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-bottom:1px solid var(--line);background:#fff}.topbar>span{font-size:calc(12px * var(--study-text-scale, 1));color:var(--muted)}.main{padding:36px 42px 48px;max-width:1230px;margin:0 auto;min-height:calc(100dvh - 140px)}.main:focus{outline:none}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-head p{color:var(--muted);font-size:calc(12px * var(--study-text-scale, 1));margin-top:6px}.eyebrow{font-size:calc(11px * var(--study-text-scale, 1));font-weight:600;letter-spacing:.1em;color:var(--accent);margin-bottom:7px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:9px 18px;border:1px solid var(--line);background:white;border-radius:9px;text-decoration:none;color:var(--ink);font-size:calc(13px * var(--study-text-scale, 1));font-weight:600;transition:background .15s,border-color .15s}.button:hover{background:#f2f6f2;border-color:#b9c9c0}.button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.button.primary:hover{background:#1b554a}.button.quiet{background:transparent}.button svg{width:18px;height:18px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;min-height:44px;border-radius:9px;border:1px solid var(--line);background:#fff;flex-shrink:0}.icon-button:hover{background:var(--accent-soft)}.icon-button.saved{color:var(--accent);background:var(--accent-soft)}.text-link{display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-size:calc(13px * var(--study-text-scale, 1));font-weight:600;text-decoration:none}.text-link svg{width:17px;height:17px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:30px 0 15px}.section-head h2{font-size:calc(17px * var(--study-text-scale, 1))}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);margin-bottom:26px}.stat{padding:20px 25px}.stat+.stat{border-left:1px solid var(--line)}.stat-label{font-size:calc(12px * var(--study-text-scale, 1));color:var(--muted)}.stat-value{display:block;font-size:calc(28px * var(--study-text-scale, 1));line-height:1.5;font-weight:600;letter-spacing:.01em;font-variant-numeric:tabular-nums}.stat-value small{font-size:calc(12px * var(--study-text-scale, 1));color:var(--muted);font-weight:400;margin-left:6px}.stat-foot{font-size:calc(11px * var(--study-text-scale, 1));color:var(--muted)}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.module{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.module-head{padding:20px 22px 14px;display:flex;align-items:flex-start;gap:13px}.module-icon{display:grid;place-items:center;border:1px solid var(--line);width:36px;height:36px;border-radius:9px;color:var(--accent);background:#f8faf7;flex-shrink:0}.module-icon svg{width:19px}.module-head h2{font-size:calc(16px * var(--study-text-scale, 1))}.module-head p{font-size:calc(11px * var(--study-text-scale, 1));color:var(--muted);margin-top:3px}.module-count{margin-left:auto;font-size:calc(11px * var(--study-text-scale, 1));color:var(--muted);white-space:nowrap}.lesson-row{display:flex;gap:12px;align-items:center;min-height:57px;padding:13px 22px;color:var(--ink);text-decoration:none;border-top:1px solid #edf0ed;font-size:calc(13px * var(--study-text-scale, 1));line-height:1.65}.lesson-row:hover{background:#f8fbf8}.lesson-row .lesson-circle{border:1.5px solid #c8d5cc;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;flex-shrink:0;color:white}.lesson-row.done .lesson-circle{background:var(--accent);border-color:var(--accent)}.lesson-circle svg{width:12px;height:12px}.lesson-row small{margin-left:auto;white-space:nowrap;color:var(--muted);font-size:calc(10px * var(--study-text-scale, 1))}.lesson-row>svg{width:14px;color:var(--muted)}.reading-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:24px;align-items:start}.reading{min-width:0}.article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px 34px}.article-title{border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:26px}.article-title h1{font-size:calc(25px * var(--study-text-scale, 1));line-height:1.75}.article-title .objective{font-size:calc(13px * var(--study-text-scale, 1));color:var(--muted);margin-top:14px}.reading-section{margin:28px 0 34px}.reading-section+.reading-section{border-top:1px solid var(--line);padding-top:28px}.body-copy{white-space:pre-line;font-size:calc(15px * var(--study-text-scale, 1));line-height:2.15;overflow-wrap:anywhere}.phase-tag{font-size:calc(10px * var(--study-text-scale, 1));font-weight:700;color:var(--accent);letter-spacing:.07em;margin-bottom:12px;display:block}.dialogue{margin-top:23px;background:#f5f7f3;border-radius:12px;padding:19px 22px;border-left:3px solid #aac0aa}.dialogue-question{font-size:calc(14px * var(--study-text-scale, 1));line-height:1.95;white-space:pre-line}.dialogue-question .phase-tag{color:var(--muted);margin-bottom:7px}.dialogue details{margin-top:13px}.dialogue summary{font-size:calc(12px * var(--study-text-scale, 1));font-weight:600;color:var(--accent);cursor:pointer;min-height:42px;display:flex;align-items:center;gap:8px}.dialogue summary:after{content:'＋';margin-left:auto;font-size:calc(18px * var(--study-text-scale, 1))}.dialogue details[open] summary:after{content:'−'}.dialogue-answer{border-top:1px solid var(--line);padding-top:14px;font-size:calc(14px * var(--study-text-scale, 1));white-space:pre-line;line-height:2}.diagram{margin:24px 0;background:#fbfcfa;border:1px solid var(--line);border-radius:12px;padding:19px;overflow:hidden}.diagram figcaption{font-size:calc(12px * var(--study-text-scale, 1));font-weight:700;margin-bottom:14px}.diagram img{display:block;max-height:560px;object-fit:contain;width:auto;margin:auto}.diagram-image{width:100%;display:block;padding:6px;background:white;border:1px solid #e7ece7;border-radius:8px}.diagram-image:focus-visible{outline-offset:0}.diagram-nodes{display:grid;gap:10px}.diagram-nodes.comparison{grid-template-columns:repeat(2,minmax(0,1fr))}.diagram-node{padding:14px;background:#fff;border:1px solid #cdded1;border-radius:8px}.diagram-node strong{font-size:calc(12px * var(--study-text-scale, 1));display:block;color:var(--accent);margin-bottom:5px}.diagram-node p{font-size:calc(12px * var(--study-text-scale, 1));line-height:1.85}.diagram-arrow{font-size:calc(10px * var(--study-text-scale, 1));text-align:center;color:var(--muted);padding:0 4px}.diagram-arrow:before{content:'↓';display:block;font-size:calc(17px * var(--study-text-scale, 1));color:#91ad98;line-height:1.3}.diagram-caption{font-size:calc(11px * var(--study-text-scale, 1));color:var(--muted);margin-top:13px;line-height:1.85}.diagram-notes{margin:8px 0 0;padding-left:16px;color:var(--muted);font-size:calc(11px * var(--study-text-scale, 1))}.key-points{padding:18px 22px;border:1px solid var(--line);border-radius:12px;margin-top:24px}.key-points h2{font-size:calc(14px * var(--study-text-scale, 1));margin-bottom:10px}.key-points ul{padding-left:19px;font-size:calc(13px * var(--study-text-scale, 1));margin:0;line-height:2}.read-side{position:sticky;top:24px}.side-box{background:white;border:1px solid var(--line);border-radius:12px;padding:19px;margin-bottom:15px}.side-box h2{font-size:calc(13px * var(--study-text-scale, 1));margin-bottom:11px}.side-box a{font-size:calc(12px * var(--study-text-scale, 1))}.side-box .lesson-row{padding:10px 0;border-top:0;min-height:40px}.term-pill{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:6px;padding:3px 8px;font-size:calc(11px * var(--study-text-scale, 1));color:var(--accent);background:#fff;margin:3px 3px 3px 0;text-decoration:none}.article-footer{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-top:28px}.source-details{margin-top:24px;border-top:1px solid var(--line);padding-top:17px;font-size:calc(12px * var(--study-text-scale, 1));color:var(--muted)}.source-details summary{cursor:pointer;min-height:36px}.source-details ul{padding-left:18px;font-size:calc(11px * var(--study-text-scale, 1))}.source-note{font-size:calc(11px * var(--study-text-scale, 1));color:var(--muted);margin-top:16px}.check-box{border:1px solid var(--line);padding:23px;border-radius:12px;margin-top:24px}.check-box h2{font-size:calc(14px * var(--study-text-scale, 1));margin-bottom:13px}.check-box .body-copy{font-size:calc(14px * var(--study-text-scale, 1));line-height:1.9}.check-choice{width:100%;text-align:left;font-size:calc(13px * var(--study-text-scale, 1));display:block;border:1px solid var(--line);padding:11px 14px;border-radius:8px;margin-top:9px;background:#fff;min-height:44px}.check-choice:hover{background:#f4f8f2}.check-choice.correct{border-color:var(--accent);background:var(--accent-soft)}.check-feedback{font-size:calc(12px * var(--study-text-scale, 1));margin-top:13px;line-height:1.9}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:24px 0 20px}.field{display:grid;gap:6px;min-width:145px;flex:1}.field.search{flex:2.5;min-width:220px}.field label{font-size:calc(11px * var(--study-text-scale, 1));color:var(--muted);font-weight:600}.field input,.field select{min-height:46px;padding:10px 13px;background:#fff;border:1px solid #cdd7cf;border-radius:9px;max-width:100%;min-width:0;width:100%;font-size:calc(13px * var(--study-text-scale, 1))}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin:24px 0}.tab{padding:11px 16px;border-bottom:2px solid transparent;color:var(--muted);font-size:calc(13px * var(--study-text-scale, 1));min-height:46px}.tab.active{color:var(--accent);border-color:var(--accent);font-weight:700}.list-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.question-row{display:flex;align-items:center;gap:17px;min-height:84px;border-bottom:1px solid #e9eeea;padding:18px 22px;color:var(--ink);text-decoration:none}.question-row:last-child{border-bottom:0}.question-row:hover{background:#f7faf6}.q-number{font-size:calc(11px * var(--study-text-scale, 1));color:var(--muted);width:66px;flex-shrink:0;line-height:1.9}.q-number strong{display:block;color:var(--ink);font-size:calc(13px * var(--study-text-scale, 1))}.q-row-title{font-size:calc(13px * var(--study-text-scale, 1));line-height:1.8}.q-row-title small{display:block;color:var(--muted);font-size:calc(11px * var(--study-text-scale, 1));margin-top:2px}.status-icon{margin-left:auto;color:var(--muted);flex-shrink:0;font-size:calc(11px * var(--study-text-scale, 1))}.status-icon.correct{color:var(--accent)}.status-icon.incorrect{color:var(--bad)}.exam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quiz-layout{max-width:850px;margin:0 auto}.quiz-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.quiz-top a{font-size:calc(12px * var(--study-text-scale, 1));text-decoration:none}.quiz-meta{font-size:calc(12px * var(--study-text-scale, 1));color:var(--muted)}.question-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:28px 32px}.question-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:14px}.question-head h1{font-size:calc(19px * var(--study-text-scale, 1))}.question-head small{font-size:calc(11px * var(--study-text-scale, 1));color:var(--muted)}.question-text{font-size:calc(15px * var(--study-text-scale, 1));line-height:2.05;white-space:pre-line;margin-bottom:16px;overflow-wrap:anywhere}.question-text em{font-style:normal;font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.question-figure{margin:14px 0;display:block;padding:10px;border:1px solid var(--line);border-radius:8px;background:white;max-width:100%;width:100%}.question-figure img{max-height:520px;display:block;margin:auto;object-fit:contain}.choices{display:grid;gap:12px;border:0;padding:0;margin:23px 0 0;min-width:0}.choices legend{font-size:calc(11px * var(--study-text-scale, 1));color:var(--muted);margin-bottom:11px}.choice{display:flex;text-align:left;align-items:flex-start;gap:14px;border:1.5px solid var(--line);border-radius:10px;background:#fff;padding:16px 18px;width:100%;min-height:58px;font-size:calc(14px * var(--study-text-scale, 1));line-height:1.95}:root:not(.keyboard-mode) .choice:hover:not(:disabled):not(.selected){background:#f6faf6;border-color:#a9c7b4}.choice .choice-label{display:grid;place-items:center;width:27px;height:27px;border:1px solid #cdd9d0;border-radius:7px;font-size:calc(13px * var(--study-text-scale, 1));flex-shrink:0;line-height:1.5;margin-top:2px}.choice .choice-body{flex:1;min-width:0;white-space:pre-line;overflow-wrap:anywhere}.choice .choice-body .question-text{font-size:calc(14px * var(--study-text-scale, 1));line-height:1.95;margin:0}.choice.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.choice.selected .choice-label{background:var(--accent);color:#fff;border-color:var(--accent)}.choice:disabled{opacity:1}.choice.is-correct{border-color:var(--accent);background:#f0f8f0}.choice.is-incorrect{border-color:#c3796d;background:var(--bad-soft)}.choice>.choice-result{width:18px;margin-top:6px}.quiz-actions{display:flex;gap:12px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:22px;margin-top:23px}.quiz-actions .button.primary{min-width:140px}.quiz-source{font-size:calc(10px * var(--study-text-scale, 1));display:flex;gap:15px;margin:18px 0 0;flex-wrap:wrap}.feedback{padding:18px 21px;border-radius:10px;background:var(--accent-soft);color:var(--accent);margin-top:24px;display:flex;gap:13px}.feedback.bad{background:var(--bad-soft);color:var(--bad)}.feedback strong{font-size:calc(16px * var(--study-text-scale, 1))}.feedback p{font-size:calc(12px * var(--study-text-scale, 1));margin-top:4px}.explanation{margin-top:25px;border-top:1px solid var(--line);padding-top:23px}.explanation h2{font-size:calc(16px * var(--study-text-scale, 1));margin-bottom:13px}.explanation p{font-size:calc(14px * var(--study-text-scale, 1));line-height:2.1;white-space:pre-line}.choice-reason{margin-top:13px;border:1px solid var(--line);border-radius:8px;padding:11px 14px;font-size:calc(12px * var(--study-text-scale, 1))}.choice-reason summary{cursor:pointer;min-height:24px;color:var(--muted)}.choice-reason p{margin-top:10px;font-size:calc(12px * var(--study-text-scale, 1));line-height:2}.full-progress{display:flex;gap:5px;flex-wrap:wrap;margin:19px 0}.full-progress button{width:31px;height:34px;border:1px solid var(--line);background:#fff;border-radius:5px;font-size:calc(11px * var(--study-text-scale, 1))}.full-progress button.active{box-shadow:0 0 0 2px var(--accent)}.full-progress button.correct{background:var(--accent-soft);color:var(--accent)}.full-progress button.incorrect{background:var(--bad-soft);color:var(--bad)}.term-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.term-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:21px 23px}.term-card h2{font-size:calc(19px * var(--study-text-scale, 1));display:flex;align-items:center;justify-content:space-between;gap:10px}.term-card .full-name{font-size:calc(10px * var(--study-text-scale, 1));color:var(--muted);line-height:1.7;letter-spacing:.01em;margin-top:2px;overflow-wrap:anywhere}.term-card .meaning{font-size:calc(13px * var(--study-text-scale, 1));margin-top:13px;line-height:1.95}.term-card .exam-note{font-size:calc(11px * var(--study-text-scale, 1));margin-top:12px;background:#f6f8f3;border-radius:7px;padding:10px 12px;line-height:1.9}.term-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px}.term-bottom .button{font-size:calc(10px * var(--study-text-scale, 1));min-height:38px;padding:6px 10px}.flash-wrap{max-width:680px;margin:0 auto}.flash-counter{font-size:calc(12px * var(--study-text-scale, 1));color:var(--muted);text-align:center;margin-bottom:16px}.flash-card{min-height:340px;width:100%;padding:32px;border:1px solid var(--line);border-radius:18px;background:white;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-shadow:0 6px 22px #243b3606}.flash-card .flash-term{font-size:calc(30px * var(--study-text-scale, 1));line-height:1.6;overflow-wrap:anywhere}.flash-card p{font-size:calc(15px * var(--study-text-scale, 1));line-height:2;margin-top:18px}.flash-card small{display:block;color:var(--muted);font-size:calc(11px * var(--study-text-scale, 1));margin-top:22px}.flash-answer{text-align:left;width:100%;font-size:calc(14px * var(--study-text-scale, 1));line-height:2;white-space:pre-line}.flash-actions{display:flex;gap:12px;justify-content:center;margin-top:23px}.flash-actions .button{flex:1}.empty{padding:48px 25px;text-align:center;color:var(--muted);font-size:calc(13px * var(--study-text-scale, 1));background:#fff;border:1px dashed #ccd8cf;border-radius:12px}.empty p{margin-bottom:15px}.history-list{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.history-row{display:flex;align-items:center;gap:15px;padding:16px 22px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:calc(13px * var(--study-text-scale, 1))}.history-row:last-child{border:0}.history-row small{display:block;color:var(--muted);font-size:calc(11px * var(--study-text-scale, 1))}.history-row .status-icon{margin-left:0}.settings-panel{margin-top:25px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:23px}.settings-panel h2{font-size:calc(15px * var(--study-text-scale, 1));margin-bottom:9px}.settings-panel p{font-size:calc(12px * var(--study-text-scale, 1));color:var(--muted)}.settings-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:17px}.notice{padding:13px 17px;margin-bottom:18px;border:1px solid #e3c48f;background:#fff8eb;border-radius:9px;font-size:calc(12px * var(--study-text-scale, 1));color:#775a2a}.content-count{font-size:calc(11px * var(--study-text-scale, 1));color:var(--muted);margin:12px 0}.footer{padding:15px 42px 27px;max-width:1230px;margin:0 auto;font-size:calc(10px * var(--study-text-scale, 1));color:var(--muted);display:flex;gap:9px;flex-wrap:wrap}.footer a{color:var(--muted)}.mobile-nav{display:none}.pager{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:23px;font-size:calc(12px * var(--study-text-scale, 1))}.listen-wrap{max-width:700px;margin:0 auto}.listen-deck{height:min(650px,calc(100dvh - 270px));min-height:340px;overflow-y:auto;scroll-snap-type:y mandatory;border:1px solid var(--line);border-radius:16px;background:white;overscroll-behavior:contain}.listen-card{height:100%;min-height:100%;scroll-snap-align:start;scroll-snap-stop:always;padding:25px 30px;overflow-y:auto;display:flex;flex-direction:column;gap:17px}.listen-card h2{font-size:calc(20px * var(--study-text-scale, 1))}.listen-card .listen-label{font-size:calc(11px * var(--study-text-scale, 1));color:var(--accent);font-weight:600}.listen-diagram{flex:1;min-height:70px;overflow:auto;display:flex;align-items:center;justify-content:center}.listen-diagram .diagram{width:100%;margin:0;padding:15px}.listen-diagram .diagram img{max-height:265px}.listen-diagram .diagram-notes{display:none}.listen-diagram .diagram-node{padding:10px}.listen-diagram .diagram-node p{font-size:calc(10px * var(--study-text-scale, 1));line-height:1.6}.listen-caption{min-height:110px;padding:18px 20px;border-radius:12px;background:#f2f6ee;display:flex;flex-direction:column;justify-content:center}.listen-caption .caption-role{font-size:calc(10px * var(--study-text-scale, 1));color:var(--accent);margin-bottom:7px;font-weight:700}.listen-caption p{font-size:calc(17px * var(--study-text-scale, 1));line-height:1.85;white-space:pre-line}.caption-steps{display:flex;gap:4px;height:4px}.caption-steps span{height:3px;background:#e4eae1;flex:1;border-radius:4px}.caption-steps span.done{background:var(--accent)}.listen-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin:16px 0 12px}.listen-controls .play{width:56px;height:56px;background:var(--accent);color:white;border-radius:50%;display:grid;place-items:center}.listen-controls .play svg{width:25px;height:25px}.listen-help{font-size:calc(10px * var(--study-text-scale, 1));color:var(--muted);text-align:center;margin-top:12px}.listen-card .reading-link{font-size:calc(11px * var(--study-text-scale, 1));align-self:flex-end}.bottom-message{font-size:calc(12px * var(--study-text-scale, 1));color:var(--accent);margin-top:14px}.record-chart{display:flex;align-items:end;gap:8px;height:100px;margin:20px 0 0}.chart-day{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:6px;font-size:calc(10px * var(--study-text-scale, 1));color:var(--muted)}.chart-bar{background:#abc5ad;width:70%;max-width:36px;min-height:3px;border-radius:4px 4px 0 0}.chart-day:last-child .chart-bar{background:var(--accent)}#image-dialog{width:min(1050px,calc(100vw - 28px));max-height:92dvh;border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff;color:var(--ink)}#image-dialog::backdrop{background:#152a2570}#close-image{display:flex;margin-left:auto;position:sticky;top:0;z-index:1}#zoom-content{overflow:auto;margin-top:15px}#zoom-content img{max-width:none;width:auto;display:block;margin:auto}.flash-back-label{font-size:calc(10px * var(--study-text-scale, 1));color:var(--accent);letter-spacing:.1em;margin-bottom:20px}
@media(min-width:1300px){.main{padding-top:42px}.module-grid{gap:18px}.article{padding:35px 42px}}
@media(max-width:1100px){.sidebar{width:210px;padding:26px 15px}.workspace{margin-left:210px}.main{padding:28px}.topbar{padding:0 28px}.footer{padding-left:28px;padding-right:28px}.reading-layout{grid-template-columns:minmax(0,1fr)}.read-side{position:static;display:grid;grid-template-columns:1fr 1fr;gap:15px}.side-box{margin:0}.article{padding:28px}.stat{padding:18px}}
@media(max-width:800px){.sidebar{width:185px;padding:23px 11px}.brand{gap:8px}.brand strong{font-size:calc(13px * var(--study-text-scale, 1))}.brand img{width:32px;height:32px}.brand small{font-size:calc(9px * var(--study-text-scale, 1))}.workspace{margin-left:185px}.nav-link{padding:10px 13px;gap:10px;font-size:calc(12px * var(--study-text-scale, 1))}.main{padding:26px 22px}.module-grid{grid-template-columns:1fr}.module-grid{gap:13px}.topbar{height:64px;padding:0 22px}.stat{padding:16px 13px}.stat-value{font-size:calc(25px * var(--study-text-scale, 1))}.term-grid{grid-template-columns:1fr}.exam-grid{grid-template-columns:1fr}.page-head{gap:12px}.page-head h1{font-size:calc(24px * var(--study-text-scale, 1))}.listen-card{padding:23px}.footer{padding-left:22px;padding-right:22px}.question-card{padding:25px}}
@media(max-width:620px){body{font-size:calc(14px * var(--study-text-scale, 1))}.sidebar{display:none}.workspace{margin-left:0}.topbar{height:59px;padding:0 20px}.topbar>span.date{font-size:calc(10px * var(--study-text-scale, 1))}.main{padding:23px 18px 32px;min-height:calc(100dvh - 180px)}.main.listening-main{padding-top:18px}.page-head{margin-bottom:22px}.page-head h1{font-size:calc(23px * var(--study-text-scale, 1))}.page-head p{font-size:calc(11px * var(--study-text-scale, 1))}.page-head .button{padding:8px 11px;font-size:calc(11px * var(--study-text-scale, 1));min-height:42px}.page-head .button svg{width:16px}.eyebrow{font-size:calc(10px * var(--study-text-scale, 1))}.stats{margin-bottom:20px;border-radius:12px}.stat{padding:15px 10px}.stat-label{font-size:calc(10px * var(--study-text-scale, 1))}.stat-value{font-size:calc(23px * var(--study-text-scale, 1))}.stat-value small{display:block;font-size:calc(10px * var(--study-text-scale, 1));margin:1px 0 0}.stat-foot{font-size:calc(9px * var(--study-text-scale, 1));line-height:1.6;display:block;margin-top:6px}.section-head{margin-top:25px}.section-head h2{font-size:calc(16px * var(--study-text-scale, 1))}.section-head .text-link{font-size:calc(11px * var(--study-text-scale, 1))}.module-head{padding:19px 18px 13px}.module-head h2{font-size:calc(15px * var(--study-text-scale, 1))}.lesson-row{padding:12px 18px;font-size:calc(12px * var(--study-text-scale, 1));min-height:55px}.module-grid{gap:15px}.module{border-radius:13px}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:#fffffff5;backdrop-filter:blur(10px);border-top:1px solid var(--line);z-index:30;padding:6px 7px calc(8px + env(safe-area-inset-bottom))}.mobile-nav .nav-link{padding:5px 1px;gap:3px;min-height:48px;border-radius:8px;display:flex;flex-direction:column;justify-content:center;font-size:calc(9px * var(--study-text-scale, 1));line-height:1.7;position:relative;font-weight:500}.mobile-nav .nav-link svg{width:21px;height:21px}.mobile-nav .nav-link .nav-number{position:absolute;top:0;right:8px;background:var(--accent);color:white;font-size:calc(8px * var(--study-text-scale, 1));min-width:15px;padding:0 3px;border-radius:6px}.footer{padding:8px 18px calc(95px + env(safe-area-inset-bottom));font-size:calc(9px * var(--study-text-scale, 1));gap:2px}.article{padding:23px 20px;border-radius:12px}.article-title h1{font-size:calc(23px * var(--study-text-scale, 1))}.body-copy{font-size:calc(14px * var(--study-text-scale, 1));line-height:2.1}.article-title{padding-bottom:20px;margin-bottom:22px}.article-title .objective{font-size:calc(12px * var(--study-text-scale, 1))}.dialogue{padding:15px 16px}.dialogue-question,.dialogue-answer{font-size:calc(13px * var(--study-text-scale, 1))}.diagram{padding:14px;margin:22px 0}.diagram-node{padding:12px}.diagram-node strong{font-size:calc(11px * var(--study-text-scale, 1))}.diagram-node p{font-size:calc(11px * var(--study-text-scale, 1));line-height:1.8}.diagram-notes{font-size:calc(10px * var(--study-text-scale, 1))}.diagram-caption{font-size:calc(10px * var(--study-text-scale, 1))}.read-side{grid-template-columns:1fr}.toolbar{gap:10px}.field{min-width:120px}.field.search{min-width:100%;flex-basis:100%}.field input,.field select{font-size:calc(12px * var(--study-text-scale, 1))}.question-row{padding:15px 17px;gap:12px}.q-number{width:57px;font-size:calc(10px * var(--study-text-scale, 1))}.q-row-title{font-size:calc(12px * var(--study-text-scale, 1))}.q-row-title small{font-size:calc(10px * var(--study-text-scale, 1))}.status-icon{font-size:calc(10px * var(--study-text-scale, 1))}.question-card{padding:22px 18px;border-radius:12px}.question-head h1{font-size:calc(17px * var(--study-text-scale, 1))}.question-head{gap:10px}.question-text{font-size:calc(14px * var(--study-text-scale, 1));line-height:2}.choice{padding:13px 12px;gap:11px;font-size:calc(13px * var(--study-text-scale, 1))}.choice .choice-body .question-text{font-size:calc(13px * var(--study-text-scale, 1))}.choice .choice-label{width:25px;height:25px;font-size:calc(12px * var(--study-text-scale, 1))}.quiz-actions{gap:10px;flex-wrap:wrap}.quiz-actions .button{font-size:calc(11px * var(--study-text-scale, 1));padding:9px 13px;flex:1;min-width:0}.quiz-actions .button.primary{min-width:0}.question-head .icon-button{width:40px;min-height:40px}.quiz-meta{font-size:calc(10px * var(--study-text-scale, 1))}.quiz-top a{font-size:calc(11px * var(--study-text-scale, 1))}.explanation p{font-size:calc(13px * var(--study-text-scale, 1))}.full-progress{gap:5px}.full-progress button{width:28px;height:31px}.term-card{padding:20px}.term-card h2{font-size:calc(18px * var(--study-text-scale, 1))}.tabs .tab{padding:10px 14px;font-size:calc(12px * var(--study-text-scale, 1))}.flash-card{padding:25px;min-height:320px}.flash-card .flash-term{font-size:calc(27px * var(--study-text-scale, 1))}.flash-card p{font-size:calc(14px * var(--study-text-scale, 1))}.history-row{padding:15px 16px;font-size:calc(12px * var(--study-text-scale, 1))}.history-row small{font-size:calc(10px * var(--study-text-scale, 1))}.history-row>.status-icon{margin-left:0}.listen-deck{height:calc(100dvh - 305px - env(safe-area-inset-bottom));min-height:330px;border-radius:13px}.listen-card{padding:21px 20px;gap:14px}.listen-card h2{font-size:calc(18px * var(--study-text-scale, 1))}.listen-caption{padding:15px 16px;min-height:100px}.listen-caption p{font-size:calc(16px * var(--study-text-scale, 1));line-height:1.85}.listen-diagram .diagram img{max-height:180px}.listen-diagram .diagram{padding:10px}.listen-diagram .diagram-node p{font-size:calc(10px * var(--study-text-scale, 1))}.listen-diagram .diagram-caption{font-size:calc(9px * var(--study-text-scale, 1))}.listen-controls{margin:12px 0 9px;gap:14px}.listen-controls .play{height:50px;width:50px}.listen-help{font-size:calc(9px * var(--study-text-scale, 1))}.listen-wrap .page-head{margin-bottom:15px}.content-count{font-size:calc(10px * var(--study-text-scale, 1))}.notice{font-size:calc(11px * var(--study-text-scale, 1));padding:12px 14px}.settings-panel{padding:20px}.settings-actions .button{font-size:calc(11px * var(--study-text-scale, 1))}.article-footer .button{flex:1;font-size:calc(12px * var(--study-text-scale, 1))}.q-row-title{overflow-wrap:anywhere}}
@media(max-width:360px){.main{padding-left:13px;padding-right:13px}.stat-value{font-size:calc(21px * var(--study-text-scale, 1))}.stat-foot{font-size:calc(8px * var(--study-text-scale, 1))}.page-head h1{font-size:calc(21px * var(--study-text-scale, 1))}.question-card{padding:19px 15px}.choice{padding:12px 10px;gap:9px}.diagram-nodes.comparison{grid-template-columns:1fr}.listen-card{padding:16px}.read-side{display:block}.side-box+.side-box{margin-top:13px}.listen-deck{min-height:310px}.listen-caption p{font-size:calc(15px * var(--study-text-scale, 1))}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.listen-deck{scroll-snap-type:y proximity}}
@media print{.sidebar,.topbar,.mobile-nav,.footer,.quiz-actions,.read-side,.button{display:none}.workspace{margin:0}.main{padding:0}.article,.question-card{border:0;padding:0}.diagram{break-inside:avoid}}

.figure-tools{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}.figure-tools .button{font-size:calc(12px * var(--study-text-scale, 1))}

/* Keyboard help stays compact so the learning content keeps its space. */
.top-actions{display:flex;align-items:center;gap:22px}.top-actions .date{font-size:calc(11px * var(--study-text-scale, 1));color:var(--muted)}
kbd{display:inline-block;font-family:inherit;font-size:calc(11px * var(--study-text-scale, 1));line-height:1.5;padding:1px 5px;background:#fff;border:1px solid #ced8cf;border-bottom-width:2px;border-radius:4px;white-space:nowrap;color:#3e5549}
.keyboard-help-button{min-height:44px;padding:6px 2px;display:flex;gap:7px;align-items:center;font-size:calc(11px * var(--study-text-scale, 1));color:var(--muted)}
.keyboard-hints{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;margin:-9px 0 23px;font-size:calc(11px * var(--study-text-scale, 1));color:var(--muted)}
.quiz-top+.keyboard-hints{margin:0 0 20px}.keyboard-hints .text-link{font-size:calc(11px * var(--study-text-scale, 1));min-height:36px;margin-left:auto}.keyboard-hints>span{white-space:nowrap}
#keyboard-dialog{width:min(760px,calc(100vw - 28px));max-height:88dvh;overflow:auto;border:1px solid var(--line);border-radius:14px;padding:27px;color:var(--ink);background:#fff}
#keyboard-dialog::backdrop{background:#152a2570}.keyboard-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.keyboard-dialog-head h2{font-size:calc(21px * var(--study-text-scale, 1))}.keyboard-dialog-head .button{font-size:calc(12px * var(--study-text-scale, 1));flex-shrink:0}
#keyboard-dialog>p{font-size:calc(13px * var(--study-text-scale, 1))}.keyboard-setting{display:flex;align-items:center;gap:9px;min-height:44px;margin-top:15px;font-size:calc(13px * var(--study-text-scale, 1))}.keyboard-setting input{width:17px;height:17px;accent-color:var(--accent)}
#keyboard-dialog .keyboard-note{font-size:calc(11px * var(--study-text-scale, 1));color:var(--muted);line-height:1.9;margin:4px 0 10px}.keyboard-guide{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;margin-top:24px}.keyboard-guide h3{font-size:calc(14px * var(--study-text-scale, 1));color:var(--accent)}
.key-list{margin:10px 0 0}.key-list>div{display:flex;gap:12px;align-items:baseline;padding:7px 0;border-bottom:1px solid #edf0ed;font-size:calc(12px * var(--study-text-scale, 1))}.key-list dt{min-width:60px}.key-list dd{margin:0}.key-list kbd{font-size:calc(10px * var(--study-text-scale, 1))}
.reading-section,.dialogue-answer,.feedback,.check-feedback{scroll-margin-block:24px}.reading-section:focus-visible,.dialogue-answer:focus-visible,.feedback:focus-visible,.check-feedback:focus-visible{outline:3px solid #7b9e52;outline-offset:8px;border-radius:4px}
#listen-deck:focus-visible{outline:3px solid #7b9e52;outline-offset:4px}summary{scroll-margin-block:24px}#zoom-content{max-height:72dvh}#zoom-content:focus-visible{outline:3px solid #7b9e52;outline-offset:2px}
.choice-key{margin-left:auto;align-self:center}.choice-body{min-width:0}a,button,summary{scroll-margin-block:18px}
@media(max-width:800px){.top-actions{gap:12px}.top-actions .date{display:none}.keyboard-hints{gap:6px 12px}}
@media(max-width:620px){.keyboard-help-button{font-size:0;min-width:40px;justify-content:center}.keyboard-help-button kbd{font-size:calc(12px * var(--study-text-scale, 1))}.keyboard-hints{font-size:calc(10px * var(--study-text-scale, 1));gap:6px 12px}.keyboard-hints kbd{font-size:calc(10px * var(--study-text-scale, 1))}.keyboard-hints .text-link{font-size:calc(10px * var(--study-text-scale, 1))}.keyboard-hints>span{white-space:normal}#keyboard-dialog{padding:20px}.keyboard-guide{grid-template-columns:1fr;gap:22px}.keyboard-dialog-head h2{font-size:calc(19px * var(--study-text-scale, 1))}.choice-key{font-size:calc(9px * var(--study-text-scale, 1));padding:1px 4px}.quiz-top+.keyboard-hints{margin-bottom:16px}}
@media(hover:none) and (pointer:coarse){.choice-key{display:none}}
@media print{.keyboard-hints,.keyboard-help-button{display:none}}

/* Dialogue lessons use a small classroom stage with the original figures. */
.sidebar-toggle{width:40px;min-width:40px;background:transparent;border-color:transparent}.sidebar-toggle:hover{border-color:var(--line)}.sidebar-close{display:none}.workspace{transition:margin-left .18s ease}
@media(min-width:621px){.sidebar-collapsed .sidebar{display:none}.sidebar-collapsed .workspace{margin-left:0}}
.main.listening-main{max-width:1500px;padding:28px 34px 36px}.listen-wrap{max-width:1240px}.listen-wrap .page-head{margin-bottom:20px}
.listen-deck{height:clamp(510px,calc(100dvh - 330px),780px);min-height:510px;background:#e9eee5;border:1px solid #c8d7c9;border-radius:16px;box-shadow:0 10px 30px #193c3010}.listen-card{padding:0;gap:0;background:#fff;overflow-y:auto}.video-heading{position:relative;padding:17px 24px 18px;flex-shrink:0;min-height:85px}.video-heading .listen-label{display:block;margin-bottom:5px;font-size:calc(10px * var(--study-text-scale, 1));letter-spacing:.04em}.video-heading h2{font-size:calc(20px * var(--study-text-scale, 1));max-width:calc(100% - 160px)}.dialogue-badge{position:absolute;top:27px;right:24px;padding:5px 11px;border-radius:20px;background:#f0f5e9;color:#506747;font-size:calc(10px * var(--study-text-scale, 1));font-weight:600}
.chalk-stage{flex:1;min-height:365px;position:relative;isolation:isolate;overflow:hidden;background-color:#173f34;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:32px 32px;border:7px solid #d2b889;border-bottom:10px solid #b09568;box-shadow:inset 0 0 35px #0b281940}.board-topline{position:absolute;inset:12px 20px auto;display:flex;justify-content:space-between;gap:12px;font-size:calc(10px * var(--study-text-scale, 1));color:#c1d9c5;letter-spacing:.06em}.board-topline>span:first-child{font-weight:700;color:#e3edc7}
.chalk-stage .listen-diagram{position:absolute;inset:44px 23% 175px;min-height:60px;padding:0;display:flex;align-items:center;justify-content:center;overflow:auto;z-index:2}.chalk-stage .diagram{width:100%;margin:0;border:1px solid #d6e3d1;border-radius:9px;background:#fffdf5;padding:16px}.chalk-stage .diagram-image{background:#fff;border-color:#e6eadf}.chalk-stage .diagram img{max-height:320px}.chalk-stage .diagram figcaption{font-size:calc(13px * var(--study-text-scale, 1));color:#334e36}.chalk-stage .diagram-node{padding:11px;background:white}.chalk-stage .diagram-node p{font-size:calc(11px * var(--study-text-scale, 1))}.chalk-stage .diagram-caption{font-size:calc(10px * var(--study-text-scale, 1))}.listen-key-points{width:100%;color:#f6f6df;padding:10px 4px}.listen-key-points>span{font-size:calc(11px * var(--study-text-scale, 1));display:inline-block;color:#dfe8b1;padding-bottom:7px;border-bottom:1px solid #bfd09270}.listen-key-points ul{margin:15px 0 0;padding-left:21px;display:grid;gap:12px;font-size:calc(17px * var(--study-text-scale, 1));line-height:1.8}.listen-key-points li::marker{color:#cde58c}
.stage-character{position:absolute;bottom:90px;height:255px;width:20%;max-width:205px;overflow:hidden;z-index:3;opacity:.55;transition:opacity .18s,filter .18s}.stage-character img{display:block;width:100%;max-width:none;height:auto}.stage-character.teacher{left:8px}.stage-character.student{right:6px}.listen-card[data-speaker=teacher] .teacher,.listen-card[data-speaker=student] .student{opacity:1;filter:drop-shadow(0 0 8px #e8e9b340)}
.chalk-stage .listen-caption{position:absolute;inset:auto 18px 16px;min-height:107px;z-index:5;background:#fffdf7f5;border:1px solid #ebd5e4;border-left:5px solid #bb739e;border-radius:11px;padding:15px 22px;box-shadow:0 7px 20px #0b201b35}.chalk-stage .caption-role{color:#8e4e78;font-size:calc(11px * var(--study-text-scale, 1));letter-spacing:.02em;margin-bottom:7px}.chalk-stage .listen-caption p{font-size:clamp(16px,1.65vw,23px);line-height:1.75;color:#23362b;overflow-wrap:anywhere}.chalk-stage .listen-caption.student-caption{background:#f6ffeef5;border-color:#c2deab;border-left-color:#6b9c38}.chalk-stage .student-caption .caption-role{color:#4a7628}.video-card-footer{display:flex;align-items:center;gap:24px;padding:11px 22px;min-height:44px;background:#fffdf8;flex-shrink:0}.video-card-footer .caption-steps{flex:1}.video-card-footer .reading-link{font-size:calc(11px * var(--study-text-scale, 1));min-height:30px;align-self:auto;display:flex;align-items:center;white-space:nowrap;text-decoration:none}.audio-timeline{display:flex;gap:14px;align-items:center;margin:15px 2px 9px}.audio-timeline progress{flex:1;width:100%;height:5px;border:0;border-radius:4px;overflow:hidden;appearance:none;background:#dce5d6;accent-color:#769d42}.audio-timeline progress::-webkit-progress-bar{background:#dce5d6;border-radius:4px}.audio-timeline progress::-webkit-progress-value{background:#769d42;border-radius:4px}.narration-position{font-size:calc(11px * var(--study-text-scale, 1));color:var(--muted);font-variant-numeric:tabular-nums;min-width:74px;text-align:right}.listen-help{font-size:calc(11px * var(--study-text-scale, 1));margin-top:14px}.narration-credit{text-align:center;color:var(--muted);font-size:calc(10px * var(--study-text-scale, 1));line-height:1.9;margin-top:9px}.narration-credit a{color:var(--muted)}
@media(max-width:1000px){.chalk-stage .listen-diagram{inset:38px 21% 172px}.stage-character{bottom:94px;height:205px;width:22%}.chalk-stage .listen-caption p{font-size:calc(18px * var(--study-text-scale, 1))}.dialogue-badge{display:none}.video-heading h2{max-width:none}.video-heading{padding:16px 20px}.chalk-stage .diagram{padding:12px}.listen-key-points ul{font-size:calc(15px * var(--study-text-scale, 1));gap:8px}}
@media(max-width:800px){.main.listening-main{padding:24px 22px 30px}.chalk-stage .listen-diagram{inset:38px 19% 183px}.stage-character{height:175px;width:22%;bottom:105px}.chalk-stage .listen-caption{padding:13px 16px;inset:auto 12px 13px}.chalk-stage .listen-caption p{font-size:calc(16px * var(--study-text-scale, 1))}.listen-deck{height:max(530px,calc(100dvh - 350px))}.chalk-stage .diagram-node p{font-size:calc(10px * var(--study-text-scale, 1))}.listen-key-points ul{font-size:calc(13px * var(--study-text-scale, 1))}.board-topline{font-size:calc(9px * var(--study-text-scale, 1));inset:10px 12px auto}.board-topline>span:last-child{display:none}}
@media(max-width:620px){.topbar{padding:0 13px}.top-actions{gap:6px}.sidebar-toggle{min-width:36px;width:36px}.main.listening-main{padding:20px 14px 26px}.listen-wrap .page-head h1{font-size:calc(22px * var(--study-text-scale, 1))}.listen-wrap .page-head p{font-size:calc(10px * var(--study-text-scale, 1))}.listen-deck{height:540px;min-height:540px;border-radius:12px}.video-heading{padding:13px 15px;min-height:76px}.video-heading h2{font-size:calc(17px * var(--study-text-scale, 1))}.video-heading .listen-label{font-size:calc(9px * var(--study-text-scale, 1))}.chalk-stage{border-width:5px;border-bottom-width:8px;min-height:370px}.chalk-stage .listen-diagram{inset:35px 14px 207px;align-items:center}.chalk-stage .diagram{padding:10px}.chalk-stage .diagram img{max-height:165px}.chalk-stage .diagram figcaption{font-size:calc(11px * var(--study-text-scale, 1))}.chalk-stage .diagram-nodes.comparison{grid-template-columns:repeat(2,minmax(0,1fr))}.chalk-stage .diagram-node{padding:8px}.chalk-stage .diagram-node strong{font-size:calc(10px * var(--study-text-scale, 1))}.chalk-stage .diagram-node p{font-size:calc(9px * var(--study-text-scale, 1));line-height:1.65}.chalk-stage .diagram-caption{font-size:calc(9px * var(--study-text-scale, 1))}.stage-character{height:139px;width:100px;bottom:86px}.stage-character.teacher{left:1px}.stage-character.student{right:1px}.chalk-stage .listen-caption{inset:auto 9px 10px;min-height:111px;padding:12px 13px;border-left-width:4px}.chalk-stage .listen-caption p{font-size:calc(15px * var(--study-text-scale, 1));line-height:1.8}.chalk-stage .caption-role{font-size:calc(10px * var(--study-text-scale, 1));margin-bottom:6px}.video-card-footer{padding:8px 13px;gap:12px;min-height:40px}.video-card-footer .reading-link{font-size:calc(10px * var(--study-text-scale, 1))}.listen-key-points{padding:0 8px}.listen-key-points>span{font-size:calc(10px * var(--study-text-scale, 1))}.listen-key-points ul{font-size:calc(13px * var(--study-text-scale, 1));gap:7px;margin-top:9px}.audio-timeline{margin-top:12px}.listen-help{font-size:calc(10px * var(--study-text-scale, 1))}.narration-credit{font-size:calc(9px * var(--study-text-scale, 1))}}
@media(max-width:360px){.listen-deck{height:555px;min-height:555px}.chalk-stage .listen-caption p{font-size:calc(14px * var(--study-text-scale, 1))}.chalk-stage .listen-diagram{bottom:214px}.stage-character{width:90px;height:129px;bottom:94px}}
.listen-deck{height:clamp(590px,calc(100dvh - 330px),780px);min-height:590px}.chalk-stage .listen-diagram{align-items:flex-start}.chalk-stage .listen-diagram>.diagram{flex-shrink:0}
@media(max-width:620px){.listen-deck{height:635px;min-height:635px}.chalk-stage .listen-diagram{bottom:220px}}
.stage-character{--mouth:0;--eyes:0}.stage-character[data-mouth="1"]{--mouth:1}.stage-character[data-mouth="2"]{--mouth:2}.stage-character[data-eyes="closed"]{--eyes:1}.character-sprite{display:block;position:relative;width:100%;overflow:hidden}.stage-character .character-sprite img{display:block;width:300%;max-width:none;transform:translate(calc(var(--mouth)*-100%/3),calc(var(--eyes)*-50%));transition:none}
.stage-character.teacher .character-sprite{transform:scaleX(-1)}

/* A lecture stays in place while the page and its catalogue scroll normally. */
.listen-wrap.lecture-page{max-width:none;container-type:inline-size}.lecture-page .page-head{margin-bottom:12px}.lecture-page .keyboard-hints{margin-bottom:24px}.lecture-layout{display:grid;gap:28px;align-items:start}.lecture-view{min-width:0}.lecture-status{display:flex;justify-content:space-between;gap:12px;margin:0 2px 12px;color:var(--muted);font-size:calc(11px * var(--study-text-scale, 1))}.lecture-status>span:first-child{color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums}.lecture-page .listen-deck{height:590px;min-height:0;overflow:visible;scroll-snap-type:none;overscroll-behavior:auto;background:#fff}.lecture-page .listen-card{height:100%;min-height:0;overflow:visible;scroll-snap-align:none;border-radius:inherit}.lecture-page .listen-card[hidden]{display:none}.lecture-page .video-heading{border-radius:16px 16px 0 0}.lecture-page .video-card-footer{border-radius:0 0 16px 16px}.lecture-page .chalk-stage{flex:1;min-height:0}.lecture-page .video-heading h2{max-width:none}.lecture-page .dialogue-badge{display:none}.lecture-page .audio-timeline{margin:16px 0 12px}.caption-next-button{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:calc(12px * var(--study-text-scale, 1));font-weight:600}.caption-next-button:hover{color:var(--accent)}.caption-next-button svg{width:17px}#caption-count{font-size:calc(10px * var(--study-text-scale, 1));color:var(--muted);white-space:nowrap}.replay-button{font-size:calc(11px * var(--study-text-scale, 1));min-height:44px}.replay-button svg{width:17px}.lecture-settings{margin-top:12px;border-bottom:1px solid var(--line)}.lecture-settings summary,.lecture-notes summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;list-style:none;cursor:pointer;font-size:calc(12px * var(--study-text-scale, 1));font-weight:600}.lecture-settings summary::-webkit-details-marker,.lecture-notes summary::-webkit-details-marker,.lecture-group summary::-webkit-details-marker{display:none}.lecture-settings summary>svg,.lecture-notes summary>svg{width:15px;transition:transform .15s}.lecture-settings[open] summary>svg,.lecture-notes[open] summary>svg{transform:rotate(180deg)}.lecture-settings select{max-width:240px}.lecture-page .listen-help{text-align:left;min-height:21px;margin-top:10px}.lecture-neighbors{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.lecture-neighbors button{display:flex;align-items:center;gap:10px;min-width:0;text-align:left;padding:14px 16px;border:1px solid var(--line);background:#fff;border-radius:12px;min-height:86px}.lecture-neighbors button:hover:enabled{border-color:#9fbbac;background:#f1f7f1}.lecture-neighbors button>span{min-width:0}.lecture-neighbors button>svg{width:17px;color:var(--accent)}.lecture-neighbors button:last-child{justify-content:space-between}.lecture-neighbors small{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:calc(10px * var(--study-text-scale, 1))}.lecture-neighbors strong{display:block;font-size:calc(12px * var(--study-text-scale, 1));line-height:1.6;font-weight:500;margin-top:5px}.lecture-neighbors kbd{font-size:calc(9px * var(--study-text-scale, 1))}.lecture-notes{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 2px}.lecture-notes>p{color:var(--muted);font-size:calc(11px * var(--study-text-scale, 1));margin:0 0 14px}.lecture-notes ol{padding:0;list-style:none;margin:0 0 12px}.lecture-notes li+li{border-top:1px solid var(--line)}.lecture-notes li button{display:flex;align-items:flex-start;gap:13px;width:100%;padding:14px 10px;text-align:left;border-radius:8px;font-size:calc(12px * var(--study-text-scale, 1));line-height:1.9}.lecture-notes li button>span:first-child{font-size:calc(10px * var(--study-text-scale, 1));color:var(--muted);white-space:nowrap}.lecture-notes li button>svg{width:13px;margin:4px 0 0 auto;flex-shrink:0}.lecture-notes li button:hover,.lecture-notes li button[aria-pressed=true]{background:var(--accent-soft)}.lecture-page .narration-credit{text-align:left;margin-top:22px;font-size:calc(9px * var(--study-text-scale, 1))}.lecture-catalog{min-width:0;border:1px solid var(--line);border-radius:14px;background:white;scroll-margin-top:24px}.lecture-catalog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 20px 16px}.lecture-catalog-head h2{font-size:calc(16px * var(--study-text-scale, 1))}.lecture-catalog-head p{color:var(--muted);font-size:calc(10px * var(--study-text-scale, 1));margin-top:4px}.lecture-catalog-head>span{background:var(--accent-soft);border-radius:6px;padding:2px 7px;color:var(--accent);font-size:calc(10px * var(--study-text-scale, 1));white-space:nowrap}.lecture-filters{padding:0 20px 18px;display:grid;gap:10px;border-bottom:1px solid var(--line)}.lecture-search{display:flex;align-items:center;gap:8px;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:0 10px}.lecture-search>svg{width:16px;color:var(--muted)}.lecture-search input{width:100%;min-width:0;border:0;background:transparent;font-size:calc(12px * var(--study-text-scale, 1));padding:10px 0;outline-offset:0}.lecture-search kbd{font-size:calc(9px * var(--study-text-scale, 1))}.lecture-filters select{width:100%;min-height:40px;border:1px solid var(--line);border-radius:8px;padding:7px 10px;background:#fafbf8;font-size:calc(11px * var(--study-text-scale, 1))}#lecture-list{padding:12px 12px 20px}.lecture-module+.lecture-module{margin-top:20px}.lecture-module>h3{font-size:calc(10px * var(--study-text-scale, 1));color:var(--muted);font-weight:600;letter-spacing:.04em;padding:3px 8px 8px}.lecture-group{border-bottom:1px solid #edf0ec}.lecture-group:last-child{border-bottom:0}.lecture-group summary{display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none;font-size:calc(12px * var(--study-text-scale, 1));font-weight:600;line-height:1.7;padding:13px 8px;min-height:48px}.lecture-group summary:hover{background:#f6f9f4}.lecture-group summary>span{flex:1}.lecture-group summary>small{font-size:calc(10px * var(--study-text-scale, 1));font-weight:400;color:var(--muted);white-space:nowrap}.lecture-group summary>svg{width:13px;transition:transform .15s}.lecture-group[open] summary>svg{transform:rotate(180deg)}.lecture-entries{display:grid;gap:5px;padding-bottom:10px}.lecture-entry{width:100%;display:flex;align-items:flex-start;gap:10px;padding:11px 9px;text-align:left;border-radius:8px;border:1px solid transparent;font-size:calc(11px * var(--study-text-scale, 1));line-height:1.8}.lecture-entry:hover{background:#f5f8f2}.lecture-entry.is-current{background:var(--accent-soft);border-color:#cddfd3;color:var(--accent)}.lecture-entry-number{font-size:calc(10px * var(--study-text-scale, 1));font-variant-numeric:tabular-nums;flex-shrink:0;opacity:.75;min-width:18px;padding-top:14px}.lecture-entry>span:nth-child(2){min-width:0;flex:1}.lecture-entry small{font-size:calc(9px * var(--study-text-scale, 1));color:var(--muted)}.lecture-entry-title{display:block;overflow-wrap:anywhere}.lecture-entry>svg{width:12px;margin-top:20px;opacity:0}.lecture-entry.is-current>svg{opacity:1}.lecture-empty{padding:16px 8px;color:var(--muted);font-size:calc(12px * var(--study-text-scale, 1))}.study-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.study-path{display:flex;align-items:flex-start;flex-direction:column;text-decoration:none;text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;color:var(--ink);min-width:0;transition:background .15s,border-color .15s}.study-path:hover{background:#fcfefb;border-color:#98b7a7}.study-path .icon-tile{display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);height:38px;width:38px;border-radius:10px;margin-bottom:15px}.study-path strong{font-size:calc(17px * var(--study-text-scale, 1));font-weight:600}.study-path p{color:var(--muted);font-size:calc(11px * var(--study-text-scale, 1));line-height:1.9;margin:6px 0 18px}.path-action{display:flex;align-items:center;gap:10px;font-size:calc(11px * var(--study-text-scale, 1));color:var(--accent);margin-top:auto}.path-action svg{width:16px}.review-reminder{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:calc(12px * var(--study-text-scale, 1));margin-top:8px}.review-reminder>span{display:flex;gap:9px;align-items:center}.review-reminder svg{width:17px}.home-review-links{display:flex;flex-wrap:wrap;gap:22px;align-items:center;border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.home-review-links a{display:inline-flex;gap:9px;align-items:center;font-size:calc(12px * var(--study-text-scale, 1));text-decoration:none}.home-review-links svg{width:17px}
@container(min-width:1000px){.lecture-layout{grid-template-columns:minmax(0,1fr) 292px;gap:26px}.lecture-catalog{position:sticky;top:24px}.lecture-catalog #lecture-list{max-height:calc(100dvh - 275px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}}
@media(min-width:1001px){.lecture-page .chalk-stage .listen-diagram{left:21%;right:21%}.lecture-page .stage-character{height:220px;width:22%}.lecture-page .chalk-stage .listen-caption p{font-size:calc(18px * var(--study-text-scale, 1))}.lecture-page .listen-key-points ul{font-size:calc(15px * var(--study-text-scale, 1))}}
@media(max-width:800px){.study-paths{gap:12px}.study-path{padding:18px}.study-path strong{font-size:calc(15px * var(--study-text-scale, 1))}.lecture-page .listen-deck{height:590px}}
@media(max-width:620px){.lecture-page .keyboard-hints{margin-bottom:18px}.lecture-page .page-head{gap:10px}.lecture-page .page-head p{font-size:calc(10px * var(--study-text-scale, 1))}.lecture-page .listen-deck{height:610px;min-height:0}.lecture-status{font-size:calc(10px * var(--study-text-scale, 1));margin-bottom:10px}.lecture-page .video-heading{border-radius:12px 12px 0 0}.lecture-page .video-card-footer{border-radius:0 0 12px 12px}.lecture-page .chalk-stage .listen-diagram{bottom:220px}.caption-next-button{font-size:calc(11px * var(--study-text-scale, 1));gap:3px}#caption-count{display:none}.replay-button{font-size:calc(10px * var(--study-text-scale, 1));gap:4px}.replay-button svg{width:15px}.lecture-neighbors{gap:9px;margin-top:18px}.lecture-neighbors button{padding:12px 10px;gap:6px}.lecture-neighbors strong{font-size:calc(11px * var(--study-text-scale, 1))}.lecture-neighbors button>svg{width:14px}.lecture-neighbors small{font-size:calc(9px * var(--study-text-scale, 1))}.lecture-neighbors kbd{display:none}.lecture-catalog-head{padding:20px 17px 14px}.lecture-filters{padding:0 17px 17px}.lecture-layout{gap:24px}.lecture-entry{font-size:calc(12px * var(--study-text-scale, 1));min-height:60px}.study-paths{grid-template-columns:1fr;gap:10px;margin-bottom:20px}.study-path{position:relative;padding:16px 16px 16px 70px;min-height:105px}.study-path .icon-tile{position:absolute;left:16px;top:19px;width:36px;height:36px;margin:0}.study-path strong{font-size:calc(15px * var(--study-text-scale, 1))}.study-path p{margin:3px 0 7px}.path-action{font-size:calc(10px * var(--study-text-scale, 1))}.review-reminder{font-size:calc(11px * var(--study-text-scale, 1))}.review-reminder .text-link{font-size:calc(11px * var(--study-text-scale, 1))}.home-review-links{gap:14px;font-size:calc(11px * var(--study-text-scale, 1))}.lecture-page .narration-credit{font-size:calc(9px * var(--study-text-scale, 1))}}
