:root{color-scheme:light;--ink:#25382f;--muted:#68766d;--teal:#245e51;--teal-dark:#194c40;--soft:#eaf2ed;--line:#dfe6df;--paper:#fff;--background:#f5f6f2;--font:19px;--header:68px;--radius:12px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:136px}body{margin:0;background:var(--background);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB",sans-serif;font-size:16px;line-height:1.6}button,input,textarea,select{font:inherit}button,summary,a{-webkit-tap-highlight-color:transparent}button,.button{min-height:44px;padding:9px 15px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:14px;line-height:1.4;cursor:pointer;transition:background .12s,border-color .12s}button:hover,.button:hover{border-color:#a8beb1;background:#f0f5f0}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--teal);text-underline-offset:3px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #78a994;outline-offset:3px}button.primary,a.primary{border-color:var(--teal);background:var(--teal);color:#fff}button.primary:hover,a.primary:hover{background:var(--teal-dark)}button.selected,button[aria-pressed=true],.is-done{background:var(--soft);border-color:#b5cebe;color:var(--teal-dark)}[hidden]{display:none!important}.muted,.summary-meta{color:var(--muted)}.summary-meta{font-size:13px;font-weight:400}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--paper);padding:12px 20px;border-radius:8px}.skip-link:focus{top:12px}
.app-header{height:var(--header);position:sticky;top:0;z-index:40;border-bottom:1px solid var(--line);background:var(--paper);display:flex;align-items:center;gap:16px;padding:0 28px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-size:18px;font-weight:650;letter-spacing:.02em;white-space:nowrap}.brand small{display:block;font-size:11px;line-height:1.5;font-weight:400;letter-spacing:.03em;color:var(--muted);margin-top:2px}.brand-mark{display:flex;align-items:baseline;justify-content:center;width:40px;height:40px;line-height:40px;background:var(--teal);color:white;border-radius:10px;font-family:Georgia,serif;font-size:27px}.brand-mark span{font-size:18px;font-style:italic;margin-left:-2px}.header-actions{display:flex;align-items:center;gap:9px;margin-left:auto}.status{font-size:12px;color:var(--muted);margin-right:12px}.status:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#71967b;margin-right:7px}.catalog-toggle{display:none}.records-menu,.reading-settings,.playback-settings{position:relative;font-size:14px}.records-menu>summary,.reading-settings>summary,.playback-settings>summary{min-height:44px;display:flex;align-items:center;justify-content:center;padding:9px 14px;border:1px solid var(--line);border-radius:8px;cursor:pointer;list-style:none;background:var(--paper);gap:8px}.records-menu>summary:after,.reading-settings>summary:after,.playback-settings>summary:after{content:"⌄";color:var(--muted);font-size:14px}summary::-webkit-details-marker{display:none}.menu-content{position:absolute;right:0;top:calc(100% + 8px);z-index:35;min-width:210px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:0 12px 32px #25382f16;display:grid;gap:8px}.menu-content p{font-size:12px;color:var(--muted);margin:0 0 4px}.menu-content button{width:100%;text-align:left}.menu-content .font-controls{display:flex;gap:8px}.font-controls button{text-align:center}.setting-label{font-size:12px;color:var(--muted)}
.layout{display:grid;grid-template-columns:276px minmax(0,1fr);max-width:1640px;margin:auto}#nav-dock{min-width:0;border-right:1px solid var(--line);background:var(--paper)}#course-sidebar{height:calc(100dvh - var(--header));overflow-y:auto;position:sticky;top:var(--header);padding:24px 18px 32px;scrollbar-width:thin;scrollbar-color:#c5d2c8 transparent}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 22px}.sidebar-heading>a{font-size:16px;font-weight:650;text-decoration:none;color:var(--ink)}.sidebar-close{display:none}.search-label{display:block;font-size:11px;color:var(--muted);margin-bottom:7px;letter-spacing:.04em}#search{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--paper);font-size:14px;color:var(--ink)}#search::placeholder{color:var(--muted)}.filters{display:flex;gap:5px;padding:4px;background:var(--soft);border-radius:9px;margin:12px 0 22px}.filters button{flex:1;border-color:transparent;min-height:44px;padding:7px 9px;font-size:13px;background:transparent}.filters button.selected{background:var(--paper);color:var(--teal);border-color:#d8e2d8;box-shadow:0 1px 2px #20332906}#catalog details{border-bottom:1px solid #edf0eb}#catalog summary{list-style:none;display:flex;align-items:center;gap:8px;padding:14px 2px;font-size:13px;line-height:1.5;font-weight:600;cursor:pointer;min-height:48px}#catalog summary:before{content:"›";font-size:19px;line-height:1;color:#7e9082;transition:transform .12s}#catalog details[open]>summary:before{transform:rotate(90deg)}.module-count{font-size:11px;color:#7b887e;margin-left:auto;font-weight:400;white-space:nowrap}.module-lessons{padding-bottom:12px}#catalog a{display:flex;align-items:flex-start;gap:9px;padding:11px 10px;margin:2px 0;text-decoration:none;color:#47574b;font-size:13px;line-height:1.6;border-radius:7px;min-height:44px}#catalog a:hover{background:var(--soft)}#catalog a.active{background:var(--soft);color:var(--teal-dark);font-weight:600;box-shadow:inset 3px 0 var(--teal)}.lesson-number{font-size:10px;line-height:2.1;font-variant-numeric:tabular-nums;color:#8a958c;flex-shrink:0}.lesson-check{margin-left:auto;color:var(--teal)}.sidebar-foot{font-size:11px;color:#7b887e;line-height:1.9;padding:24px 6px 0}.sidebar-foot a{color:var(--muted)}main{min-width:0;padding:32px clamp(24px,4.2vw,70px) 70px;max-width:1360px;width:100%;margin:0 auto}main:focus{outline:none}.meta{display:flex;gap:11px;align-items:center;flex-wrap:wrap;margin:0 0 12px;font-size:12px;color:var(--muted)}.meta a{text-decoration:none}.meta>span{color:#b7c1b6}h1{font-size:clamp(27px,2.5vw,36px);line-height:1.35;letter-spacing:-.02em;font-weight:650;margin:0 0 20px}h2{font-size:21px;line-height:1.5;font-weight:650}h3{line-height:1.5}.lesson-heading{max-width:1100px}.lesson-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}.record-actions{display:flex;gap:8px}.lesson-jumps{position:sticky;top:var(--header);z-index:20;display:flex;align-items:center;gap:4px;background:var(--background);border-bottom:1px solid var(--line);padding:6px 0;margin:0 0 20px;overflow-x:auto;scrollbar-width:none}.lesson-jumps button{border:0;background:transparent;border-radius:6px;color:var(--muted);white-space:nowrap;padding:10px 15px}.lesson-jumps button.selected{background:var(--soft);color:var(--teal-dark);font-weight:600}.lesson-jumps button span{margin-left:4px;font-size:11px;color:#788679}.panel{border:1px solid var(--line);border-radius:var(--radius);padding:26px 30px;background:var(--paper);margin:0 0 24px;scroll-margin-top:138px}.reading-paper{padding:28px 32px}#content{font-size:var(--font);line-height:1.9;color:#26332c;overflow-wrap:break-word}#content>div>p:first-child{margin-top:0}#content p{margin:1em 0}#content h2,#content h3,#content h4{font-size:1.12em;line-height:1.6;font-weight:650;margin:1.65em 0 .8em}#content hr{border:0;border-top:1px solid var(--line);margin:1.7em 0}#content img{max-width:100%;height:auto}#content audio{max-width:100%;height:36px;vertical-align:middle}#content video{max-width:100%}#content .hidden{display:none}.show-word,[data-word]{cursor:pointer;text-decoration-skip-ink:auto}.show-word{border-bottom:1px dotted #a2b5a7}#content [data-word]:hover{background:var(--soft);border-radius:3px}.table-scroll{max-width:100%;overflow-x:auto;margin:18px 0;scrollbar-color:#bdcdbf #f2f5f0;scrollbar-width:thin}.table-scroll table{margin:0}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}td,th{border-bottom:1px solid var(--line);padding:14px 12px;text-align:left;vertical-align:top}th{font-size:.9em;font-weight:650;background:var(--soft)}tr:last-child td{border-bottom:0}@media(hover:hover) and (pointer:fine){tbody tr:hover{background:var(--soft)}}.table-scroll.is-overflowing{border-bottom:1px solid var(--line)}.sentence-div{cursor:pointer;border-radius:5px;transition:background .12s}.sentence-div:hover,.sentence-div.playing{background:#edf4e9}.sentence-div.playing{box-shadow:inset 3px 0 #7da286}.translation{color:#687b70;font-size:.85em;padding:5px 0 5px 16px;border-left:2px solid #d5e2d4;line-height:1.8;margin:8px 0 16px}.sentence-play,.sentence-save{min-height:36px;min-width:32px;padding:5px 6px;border:0;border-radius:5px;background:transparent;vertical-align:middle}.sentence-play{color:var(--teal);font-size:13px}.sentence-save{color:#9d792b;font-size:19px;margin-right:3px}.inline-source-audio{display:none!important}.inline-audio-controls{display:inline-flex;align-items:center;gap:0;margin:3px 6px;vertical-align:middle;border:1px solid var(--line);border-radius:7px;background:#f9fbf7;white-space:nowrap}.inline-audio-controls>button{font-size:12px;padding:7px 9px;background:transparent;border:0;min-height:44px;border-radius:6px}.audio-options{position:relative;display:inline-block;vertical-align:middle}.audio-options>summary{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;font-size:20px;line-height:1;cursor:pointer;list-style:none;border-left:1px solid var(--line);color:var(--muted)}.audio-menu{position:fixed;right:auto;z-index:60;display:flex;flex-direction:column;gap:4px;min-width:116px;padding:7px;border:1px solid var(--line);border-radius:9px;background:var(--paper);box-shadow:0 8px 24px #25382f14}.audio-menu button{font-size:13px;min-height:40px;white-space:nowrap;text-align:left}.player{background:#eef4ed;border-color:#d7e4d5;padding:22px 24px}.section-eyebrow{font-size:12px;font-weight:600;color:#58775f;margin-bottom:12px;letter-spacing:.03em}.player audio,.player video{width:100%;max-height:420px}.player audio{height:42px}.player-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:12px}.player-controls button{font-size:13px}.speed-label{display:flex;gap:6px;align-items:center;font-size:12px;margin-left:auto;color:var(--muted)}.speed-label select{min-height:44px;border:1px solid #cfddcc;border-radius:7px;background:var(--paper);padding:7px 8px;color:var(--ink);font-size:13px}.playback-settings>summary{font-size:12px;padding:9px 10px}.player .save-hint{margin:12px 0 0}#loopinfo:not(:empty){display:inline-block;margin-right:12px;color:var(--teal);font-weight:600}.online{padding:17px 22px}.online>summary{cursor:pointer;display:flex;align-items:center;gap:12px;min-height:32px;list-style:none;font-size:14px;font-weight:600}.online>summary:before,.course-notes>summary:before,.word-section>summary:before{content:"+";font-weight:400;color:#6c8b71;font-size:20px;line-height:1}.online[open]>summary:before,.course-notes[open]>summary:before,.word-section[open]>summary:before{content:"−"}.online .summary-meta{margin-left:auto;font-size:11px}.online p{font-size:14px}.embed iframe{border:0;width:100%;aspect-ratio:16/9;margin-top:10px;border-radius:6px}.save-hint{font-size:12px;color:var(--muted);line-height:1.7}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:18px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.notes label{font-size:17px;font-weight:600}textarea{width:100%;min-height:150px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fcfdfb;font-size:16px;line-height:1.8;color:var(--ink);resize:vertical}.notes .save-hint{display:block;margin-top:9px}.course-notes>summary,.word-section>summary{cursor:pointer;display:flex;align-items:center;gap:12px;min-height:44px;font-weight:600;font-size:16px;list-style:none}.course-notes label{display:block;font-size:13px;color:var(--muted);margin:22px 0 8px}.course-notes input[type=search]{width:100%;min-height:44px;padding:10px 13px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:14px;background:#f9fbf7}.course-note{border-top:1px solid var(--line);padding:24px 0;line-height:1.85;font-size:16px;overflow-wrap:anywhere}.course-note:first-child{border-top:0}.course-note>hr{display:none}.course-note p{margin:.6em 0}.course-note>ul{padding-left:20px}.course-note[hidden]{display:none!important}.course-note .inline-audio-controls{margin:4px 6px}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:32px 0}.footer-nav>a{display:flex;flex-direction:column;gap:6px;min-height:84px;padding:16px 20px;background:var(--paper);border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink);font-size:14px;line-height:1.7}.footer-nav>a:hover{border-color:#9db69f}.footer-nav>a:last-child{text-align:right}.footer-nav small{font-size:11px;color:var(--muted)}.source,.home-foot{font-size:11px;color:#68766d;line-height:1.9}.source a{color:#667b6b}.notice{font-size:14px;line-height:1.8;background:#fbf6e9;border:1px solid #ece1bf;border-radius:8px;padding:15px 18px;color:#79652f}.card-input{min-height:50px;padding:12px 14px;width:100%;border:1px solid #cbd8ca;border-radius:8px;margin:9px 0 16px;font-size:17px;line-height:1.5;background:var(--paper);color:var(--ink)}#cards h2{font-size:20px;margin:0 0 20px;display:flex;align-items:center;justify-content:space-between;gap:10px}#cards h2 small{font-size:12px;color:var(--muted);font-weight:400}#cards .cards-question{font-size:19px;line-height:1.9;margin-bottom:22px}#answerform label{display:block;font-size:14px;color:var(--muted)}#answerform fieldset{padding:0;border:0;margin:0;min-width:0}#answerform fieldset:has([data-field]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.answer{margin:18px 0;white-space:pre-wrap;font-size:16px;line-height:1.9}.answer:empty{margin:0}.answer.correct,.answer.wrong{border-radius:8px;padding:15px 18px}.correct{color:#286c42;background:#eef6e9}.wrong{color:#9c4338;background:#fff0ec}.empty-state{font-size:13px;color:var(--muted);line-height:1.8;padding:14px 4px}.saved-sentence{padding:22px 0;border-bottom:1px solid var(--line);line-height:1.85}.saved-sentence p{margin:0 0 10px;font-size:18px}.saved-sentence .muted{font-size:15px}.saved-sentence small{font-size:12px;color:var(--muted)}
.welcome{max-width:960px;margin:24px auto}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:600;color:#68766d;margin:0 0 22px}.welcome h1{font-size:clamp(33px,3.5vw,46px);line-height:1.35;letter-spacing:-.035em;margin-bottom:20px;font-weight:620}.welcome-copy{color:#68766d;font-size:16px;line-height:1.9;margin:0 0 28px}.home-start{display:inline-flex;gap:50px;justify-content:space-between;align-items:center;text-decoration:none;min-height:48px;padding:12px 20px;border-radius:8px;font-size:15px}.resume-title{font-size:12px;color:var(--muted);margin:10px 0 0}.learning-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:28px 0;margin:36px 0 32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.learning-summary>div{display:flex;flex-direction:column;gap:5px}.learning-summary strong{font-size:30px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.3}.learning-summary strong small{font-size:14px;color:#68766d;font-weight:400}.learning-summary span{font-size:12px;color:var(--muted)}.home-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 18px}.home-section-title h2{font-size:19px;margin:0}.home-section-title>span{font-size:12px}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.module-entry{display:flex;align-items:center;gap:16px;min-height:90px;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}.module-entry:hover{color:var(--teal);background:#eef3ea}.module-index{font-family:Georgia,serif;font-size:24px;color:#a1afa0;min-width:34px}.module-entry strong{display:block;font-size:14px;font-weight:600;line-height:1.7}.module-entry small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.module-entry>span:last-child{margin-left:auto;color:#8eaa92;font-size:18px}.home-foot{margin-top:30px}
dialog{max-width:900px;width:calc(100% - 40px);max-height:88dvh;overflow:auto;border:1px solid #d5dfd3;border-radius:14px;padding:0;color:var(--ink);box-shadow:0 24px 80px #132b2940;scrollbar-width:thin;scrollbar-color:#bbcbbb transparent}dialog::backdrop{background:#18332e70;backdrop-filter:blur(2px)}.dialog-head{position:sticky;top:0;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;height:64px;padding:0 24px;background:var(--paper);border-bottom:1px solid var(--line)}.dialog-head h2{font-size:16px;margin:0}.dialog-head button{min-width:44px;font-size:25px;line-height:1;padding:2px 10px;background:transparent;border:0;color:var(--muted)}#wordbody{padding:24px 32px 32px;font-size:17px;line-height:1.9;overflow-wrap:break-word}#wordbody h3{font-size:30px;margin:18px 0 14px;font-weight:600;line-height:1.4}#wordbody hr{border:0;border-top:1px solid var(--line);margin:24px 0}#wordbody ul{padding-left:24px}#wordbody li{padding:3px 0}#wordbody #examples-div a{margin-left:.65rem;font-size:12px;white-space:nowrap}#wordbody #examples-div{font-size:16px;line-height:1.9}#wordbody #cards-div{font-size:15px}.word-jumps{position:sticky;top:64px;z-index:30;display:flex;gap:6px;margin:-24px -32px 22px;padding:8px 28px;background:var(--paper);border-bottom:1px solid var(--line)}.word-jumps button{border:0;min-height:44px;font-size:13px;padding:8px 18px;background:#f4f7f1}.word-jumps button:hover{background:var(--soft)}.word-section,.word-notes{border:1px solid var(--line);border-radius:9px;padding:12px 18px;margin:18px 0;scroll-margin-top:130px}.word-section[open]>summary{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}.word-section .table-scroll{margin:12px 0}.word-notes{background:var(--paper)}#sentence-list{padding:10px 28px 24px}#course-drawer{max-width:350px;width:88vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;inset:0 auto 0 0}#course-drawer #course-sidebar{height:100%;position:static;top:auto;max-height:none;padding:20px}#course-drawer .sidebar-close{display:block;font-size:26px;line-height:1;min-width:44px;padding:0;border:0}#course-drawer .sidebar-heading{margin-bottom:22px}
@media(min-width:1450px){main{padding-left:70px;padding-right:70px}.reading-paper{padding:40px 44px}}
@media(max-width:1100px){.status{display:none}.layout{grid-template-columns:248px minmax(0,1fr)}main{padding:32px 24px 50px}.reading-paper{padding:28px}.player-controls{gap:6px}.speed-label{margin-left:0}}
@media(min-width:961px){body.reading-course .layout{grid-template-columns:minmax(0,1fr)}body.reading-course #nav-dock{display:none}body.reading-course .catalog-toggle{display:block;white-space:nowrap}body.reading-course main{max-width:1640px}}
@media(max-width:960px){.catalog-toggle{display:block;white-space:nowrap}.layout{display:block}#nav-dock{display:none}.app-header{padding:0 18px;gap:12px}.brand small{display:none}main{padding:28px 24px 48px;max-width:960px}.welcome{margin:10px auto}.learning-summary{margin-top:30px}.lesson-jumps{margin-left:-2px;margin-right:-2px}.sidebar-heading>a{font-size:17px}.player-controls .speed-label{margin-left:auto}}
@media(max-width:600px){:root{--header:64px}.app-header{padding:0 12px;gap:8px}.brand{font-size:16px;gap:0}.brand-mark{display:none}.header-actions{gap:4px}.header-actions>button,.records-menu>summary,.catalog-toggle{font-size:12px;padding:8px 10px}.records-menu>summary:after{display:none}.menu-content{min-width:200px}.layout main{padding:24px 14px 38px}.meta{gap:8px;font-size:11px}h1{font-size:27px;line-height:1.45;margin-bottom:20px}.lesson-actions{gap:10px;margin-bottom:18px}.lesson-actions button,.reading-settings>summary{font-size:12px;padding:9px 12px}.lesson-jumps{margin:0 -2px 18px;padding:7px 0;gap:1px}.lesson-jumps button{font-size:12px;padding:9px 12px;flex:1}.panel{padding:20px 18px;margin-bottom:18px;border-radius:10px}.reading-paper{padding:24px 18px}#content{line-height:1.9}td,th{padding:12px 11px}.table-scroll.is-overflowing:before{content:"左右滑动查看完整表格";display:block;font-size:11px;color:var(--muted);padding-bottom:8px}.table-scroll table{min-width:520px}.course-note{font-size:15px;padding:20px 0}.course-notes>summary{font-size:15px}.online{padding:13px 17px}.online>summary{font-size:13px;gap:8px}.online .summary-meta{font-size:10px}.player{padding:18px 16px}.player-controls{gap:5px}.player-controls button{font-size:12px;padding:9px 11px}.player-controls .speed-label{margin-left:0}.playback-settings{margin-left:auto}.save-hint{font-size:11px}.section-heading{align-items:baseline;gap:8px}.notes label{font-size:16px}.section-heading .summary-meta{font-size:11px}textarea{padding:13px;font-size:16px}.footer-nav{gap:10px;margin:24px 0}.footer-nav>a{padding:14px 12px;font-size:12px;min-height:80px}.source{font-size:10px}.welcome h1{font-size:36px}.eyebrow{font-size:10px;margin-bottom:20px}.welcome-copy{font-size:14px;line-height:1.9}.welcome-copy br{display:none}.home-start{min-height:48px;padding:12px 18px;font-size:14px}.learning-summary{gap:12px;margin:28px 0;padding:22px 0}.learning-summary strong{font-size:27px}.learning-summary strong small{font-size:11px}.learning-summary span{font-size:11px}.home-section-title{margin-bottom:10px}.home-section-title h2{font-size:18px}.home-section-title>span{font-size:11px}.module-grid{grid-template-columns:1fr}.module-entry{min-height:78px;padding:15px 2px}.home-foot{font-size:10px}dialog{width:calc(100% - 20px);max-height:92dvh;border-radius:12px}.dialog-head{padding:0 16px}#wordbody{padding:20px 20px 24px;font-size:16px}#wordbody h3{font-size:28px}.word-jumps{margin:-20px -20px 20px;padding:6px 16px;gap:4px}.word-jumps button{flex:1;font-size:12px;padding:8px}.word-section,.word-notes{padding:10px 13px}.word-section>summary{font-size:15px}#sentence-list{padding:6px 18px 18px}.saved-sentence p{font-size:16px}.saved-sentence .muted{font-size:14px}#answerform fieldset:has([data-field]){grid-template-columns:1fr}.inline-audio-controls>button,.audio-options>summary,.audio-menu button{min-height:44px}.audio-options>summary{min-width:44px}.sentence-play,.sentence-save{min-height:44px;min-width:36px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{body{background:white;color:#000}.app-header,#nav-dock,.toolbar,.lesson-actions,.lesson-jumps,.player,.online,.notes,#cards,.footer-nav,.source,.sentence-play,.sentence-save,.inline-audio-controls,.course-notes{display:none!important}.layout{display:block}main{padding:0;max-width:none}.panel{border:0;padding:0;margin:0}#content{font-size:15px;line-height:1.7}.translation{display:block!important}.table-scroll{overflow:visible}.table-scroll table{min-width:0}.table-scroll:before{display:none}.lesson-heading h1{font-size:25px}.meta{font-size:11px}dialog{display:none!important}}

.online:not([open]){background:transparent;border-color:transparent;padding:0 2px;margin-bottom:18px}.online>summary{min-height:44px}

.sentence-div.saved-local{background:var(--soft)}.sentence-div.saved-local.playing{box-shadow:inset 3px 0 #72977b}

.word-jumps button.selected{background:var(--soft);color:var(--teal-dark);font-weight:600}.word-jumps small{font-size:10px;color:var(--muted);font-weight:400;margin-left:4px}.word-tab-panel{padding-top:3px}.word-tab-panel>div>hr:first-child{display:none}.word-tab-panel>.word-notes{margin-top:0}
#word{top:0;bottom:auto;margin:24px auto;max-height:calc(100dvh - 48px)}
@media(max-width:600px){#word{margin:12px auto;max-height:calc(100dvh - 24px)}}
.daily-link{text-decoration:none;display:inline-flex;align-items:center;white-space:nowrap}.daily-page{max-width:960px;margin:0 auto}.daily-page h1{font-size:36px;line-height:1.35;margin:12px 0 18px}.daily-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}.daily-stats>div{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:22px;display:grid;gap:6px}.daily-stats strong{font-size:32px;color:var(--teal)}.daily-stats span{font-size:14px;color:var(--muted)}.daily-page .panel{margin-bottom:20px}.daily-page summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}.daily-settings form{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:20px}.daily-settings label{display:grid;gap:8px;font-size:14px}.daily-settings input,.daily-settings select{min-height:44px;width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}.daily-settings form>p{grid-column:1/-1}.daily-card-meta{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted);padding:14px 0}.rating-buttons{display:flex;gap:10px;flex-wrap:wrap}#daily-stage{scroll-margin-top:90px}.daily-page .toolbar{flex-wrap:wrap}.daily-page .cards-question{font-size:22px;line-height:1.8}.daily-page .answer{white-space:pre-wrap}.daily-settings-status{font-size:13px;color:var(--muted)}
@media(max-width:960px){.app-header .daily-link{font-size:12px;padding:8px;min-height:44px}.app-header .header-actions{gap:5px}.daily-page h1{font-size:28px}.daily-stats{gap:8px}.daily-stats>div{padding:15px 10px}.daily-stats strong{font-size:26px}.daily-stats span{font-size:12px}.daily-settings form{grid-template-columns:1fr}.daily-page .cards-question{font-size:19px}.daily-card-meta{flex-wrap:wrap}.rating-buttons{display:grid;grid-template-columns:1fr 1fr}.daily-page .panel{padding:20px}.app-header .brand{font-size:14px}.app-header .records-menu>summary{padding:8px}.app-header{gap:6px}}
.daily-queue-list{list-style:none;margin:16px 0 0;padding:0}.daily-queue-list li{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:14px 0;border-top:1px solid var(--line)}.daily-queue-list strong{font-size:18px}.daily-queue-list small{display:block;color:var(--muted);font-size:13px;margin-top:3px}.daily-queue-list a{font-size:13px;max-width:45%;text-align:right}@media(max-width:600px){.daily-queue-list li{align-items:flex-start;flex-direction:column;gap:6px}.daily-queue-list a{max-width:100%;text-align:left}}
/* Private-device synchronization */
.sync-status{font-size:12px;max-width:180px;white-space:normal;color:var(--accent,#225e54)}
.sync-status[data-state="offline"],.sync-status[data-state="error"],.sync-status[data-state="conflict"],.sync-status[data-state="storage-error"]{color:#8c3f18;background:#fff2df}
.sync-dialog{width:min(720px,calc(100vw - 24px));max-height:85dvh;padding:24px;overflow-y:auto;border:1px solid #d8e2dc;border-radius:16px;color:#233932}
.sync-dialog::backdrop{background:rgb(16 38 31 / .45)}
.sync-dialog pre{white-space:pre-wrap;word-break:break-word;font-size:14px;max-height:200px;overflow:auto;background:#f0f4f0;padding:12px}
.sync-dialog h3{font-size:17px}.sync-dialog .toolbar{flex-wrap:wrap}.sync-conflict{border-top:1px solid #d8e2dc;padding:16px 0}
.pair-code{font-size:25px;font-weight:700;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.pair-page{max-width:480px;margin:8vh auto;padding:24px}.pair-page form{display:grid;gap:12px}.pair-page h1{font-size:30px}.pair-page input{width:100%;box-sizing:border-box;min-height:48px}.pair-page .brand-mark{margin-bottom:24px}
@media(max-width:600px){.sync-dialog{padding:16px}.sync-status{max-width:140px;font-size:11px}.app-header{padding-top:max(10px,env(safe-area-inset-top))}.pair-page{margin-top:3vh}}
[data-study-readonly]{opacity:.55;cursor:not-allowed}

@media print{
 @page{size:A4;margin:14mm 13mm 16mm}
 html,body{margin:0!important;padding:0!important;background:#fff!important;color:#111!important;scroll-padding:0!important}
 .skip-link,.brand,.app-header,#nav-dock,.lesson-actions,.lesson-jumps,.player,.online,.notes,#cards,.footer-nav,.source,.sentence-play,.sentence-save,.inline-audio-controls,.course-notes,dialog{display:none!important}
 .layout,.layout main,#main{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
 .lesson-heading{margin:0 0 5mm!important;padding:0 0 3mm!important;border-bottom:.5pt solid #b7c8bd}
 .lesson-heading h1{font-size:21pt!important;margin:0!important;line-height:1.35}.meta{margin:0 0 2mm!important}
 .reading-paper,#content{padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;background:#fff!important}
 #content{font-size:11pt!important;line-height:1.6!important}#content [style]{margin-top:0!important;margin-bottom:3mm!important;max-width:100%!important}
 #content p{margin:0 0 3mm!important;orphans:3;widows:3}#content h1,#content h2,#content h3,#content h4,#content h5{break-after:avoid;margin:4mm 0 2mm!important}
 #content table{width:100%!important;min-width:0!important;border-collapse:collapse;break-inside:auto;font-size:10pt!important;margin:2mm 0 4mm!important}
 #content tr{break-inside:avoid}#content th,#content td{padding:2mm 2.5mm!important;border:.5pt solid #ccd5cf!important;overflow-wrap:anywhere}
 #content thead{display:table-header-group}#content audio,#content video,#content button,#content svg{display:none!important}
 #content img{max-width:100%!important;height:auto!important}.table-scroll{overflow:visible!important;margin:0!important}.table-scroll:before{display:none!important}.translation{display:block!important}
}

/* Distraction-free learning also works when the browser cannot enter native fullscreen. */
#leave-immersive{position:fixed;top:12px;right:18px;z-index:100;box-shadow:0 3px 16px #20332915;background:var(--paper)}
#leave-immersive[hidden]{display:none!important}
body.immersive-learning{--header:0px}
body.immersive-learning .app-header,body.immersive-learning #nav-dock{display:none}
body.immersive-learning .layout{grid-template-columns:minmax(0,1fr)}
body.immersive-learning main{max-width:1640px;padding-top:64px}
body.immersive-learning .lesson-jumps{padding-right:152px}
@media(max-width:600px){body.immersive-learning main{padding-top:64px}#leave-immersive{top:8px;right:10px;font-size:12px}body.immersive-learning .lesson-jumps{padding-right:0;top:54px}}
@media print{#leave-immersive{display:none!important}}

/* Answer labels override the generic text-field label rule. */
.card-choices{display:grid;gap:10px;margin:18px 0 22px}
#answerform .card-choice{display:flex;align-items:center;gap:16px;border:1px solid #dfe6de;border-radius:8px;padding:12px 16px;cursor:pointer;min-height:58px;background:var(--paper);color:var(--ink);font-size:inherit}
#answerform .card-choice:hover{background:#f8faf7;border-color:#a4b8aa}
#answerform .card-choice:has(input:checked){background:#f0f6f1;border-color:var(--teal);box-shadow:inset 3px 0 var(--teal)}
#answerform .card-choice:focus-within{outline:2px solid var(--teal);outline-offset:3px}
.card-choice input{width:18px;height:18px;margin:0;flex-shrink:0;accent-color:var(--teal)}
.choice-label{font-size:24px;line-height:1.5;overflow-wrap:anywhere;color:var(--ink)}
.choice-label i,.choice-label em{font-style:italic}.choice-label img{max-width:100%}
body.exercise-page main{max-width:960px;padding:32px 30px 64px}
.exercise-heading{max-width:760px;margin:0 auto 24px}.exercise-heading h1{font-size:26px;margin-bottom:16px}.exercise-heading .toolbar{margin:12px 0 0}
.exercise-paper{max-width:760px;margin-left:auto;margin-right:auto;padding:28px 32px}
.exercise-paper h2{font-size:14px!important;color:var(--muted);font-weight:500;margin-bottom:18px!important}
#cards.exercise-paper .cards-question{font-size:19px;line-height:1.7;margin-bottom:16px}
.answer-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.answer-actions button{min-height:44px;padding:9px 18px}
#answerresult:empty{display:none}.exercise-paper>.toolbar{border-top:1px solid var(--line);padding-top:18px;margin-top:24px;margin-bottom:0}
@media(max-width:600px){body.exercise-page main{padding:24px 14px 40px}.exercise-paper{padding:22px 18px}.exercise-heading h1{font-size:22px}#answerform .card-choice{padding:11px 13px;gap:14px;min-height:54px}.choice-label{font-size:23px}}

.exercise-index summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}.exercise-links a{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line);text-decoration:none}.exercise-links a:hover{color:var(--teal)}.exercise-links{margin-top:12px}

body.immersive-learning.exercise-page main{padding-top:64px}

@media(min-width:700px){.card-choices.short-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}

.choice-hint{font-size:12px;color:var(--muted);margin:0 0 10px}.answer-actions button[hidden]{display:none!important}

.daily-mix{color:var(--teal);font-size:14px;font-weight:600}.daily-deck-summary{font-size:12px;color:var(--muted)}.daily-categories{border:1px solid var(--line);border-radius:8px;padding:16px;grid-column:1/-1}.daily-categories legend{font-size:13px;padding:0 6px}.daily-categories label{display:inline-flex!important;align-items:center;gap:8px;margin:6px 20px 6px 0!important}.daily-categories input{width:18px!important;min-height:18px!important;margin:0!important;accent-color:var(--teal)}

.exercise-entry{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--line)}.exercise-entry>div{display:flex;gap:14px;flex-shrink:0}.exercise-entry a{display:inline-flex;padding:4px;border:0;font-size:13px}.memory-card-list{list-style:none;padding:0;background:var(--paper);border:1px solid var(--line);border-radius:10px}.memory-card-list li{padding:20px 24px;border-bottom:1px solid var(--line);line-height:1.7}.memory-card-list li:last-child{border:0}.memory-card-list a{display:block;text-decoration:none}.memory-card-list span{display:block;font-size:12px;color:var(--muted);margin-top:6px}@media(max-width:600px){.exercise-entry{align-items:flex-start;flex-direction:column;gap:8px}.memory-card-list li{padding:16px}}
/* Lookup is separate from the radio label: reading a definition cannot submit an answer. */
.card-word-lookup{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:18px 0 8px;padding-top:14px;border-top:1px solid var(--line)}
.card-word-lookup[hidden]{display:none}.card-word-lookup>span{font-size:13px;color:var(--muted);width:100%}
.card-word-lookup button{font-size:17px;line-height:1.4;min-height:44px;padding:8px 14px;text-decoration:underline;text-underline-offset:4px}
/* Shared learning workspace: one task and one primary action. */
.daily-page{max-width:880px;margin:0 auto}.daily-heading h1{font-size:clamp(28px,4vw,40px);line-height:1.3;margin:8px 0 12px}.daily-heading .eyebrow{font-size:13px;letter-spacing:.08em}.daily-heading>p.muted{max-width:42em}
.daily-page .daily-stats{margin:24px 0;gap:12px}.daily-page .daily-stats>div{padding:20px}.daily-page .daily-plan{margin-bottom:20px}.daily-page details.panel{padding:18px 22px}.daily-page details>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}.daily-page .daily-startbar{margin:24px 0 0}.daily-startbar .primary{min-width:180px;min-height:50px}.daily-page .text-button{border:0;padding:8px;color:var(--teal);background:transparent;font-size:14px}.daily-page .daily-settings form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}.daily-settings form>p,.daily-settings form>fieldset,.daily-settings form>.toolbar{grid-column:1/-1}.daily-settings label{display:grid;gap:8px}.daily-settings label.check-setting{display:flex;align-items:center;gap:10px;grid-column:1/-1}.daily-settings input[type=checkbox]{width:20px;height:20px;min-height:20px}.daily-settings form input:not([type=checkbox]),.daily-settings form select{width:100%;min-height:44px}.daily-explanation p{font-size:15px;line-height:1.8}.daily-resume-status:empty{display:none}
.card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.card-heading h2{margin:0}.card-heading small{white-space:nowrap;color:var(--muted);font-size:14px}.answer.seen{background:#f0f3ec;color:var(--ink)}.answer button{margin-top:12px}.card-navigation{border-top:1px solid var(--line);padding-top:20px}
body.daily-page-active .layout{grid-template-columns:minmax(0,1fr)}body.daily-page-active #nav-dock{display:none}body.daily-page-active .catalog-toggle{display:inline-flex}
body.daily-in-session .daily-page>:not(#daily-stage){display:none!important}.daily-in-session #daily-stage{max-width:760px;margin:auto}.daily-in-session .daily-card-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--muted);margin-bottom:16px}.daily-in-session .cards-question{font-size:21px;line-height:1.75}.daily-in-session #daily-stage>.toolbar{justify-content:space-between}
@media(max-width:600px){.daily-page .daily-stats>div{padding:16px 8px}.daily-page .daily-stats strong{font-size:30px}.daily-page .daily-stats span{font-size:12px}.daily-page .section-heading{align-items:center}.daily-page .daily-settings form{grid-template-columns:1fr}.daily-page .daily-startbar{display:grid;grid-template-columns:minmax(0,1fr)}.daily-startbar .button{text-align:center}.daily-in-session .cards-question{font-size:19px}.daily-page details.panel{padding:14px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media screen {:root[data-theme="dark"]{color-scheme:dark;--ink:#e7efe9;--muted:#b2c3b6;--teal:#a2d8bd;--teal-dark:#d1efde;--soft:#294536;--line:#40594a;--paper:#1d2c25;--background:#122019}:root[data-theme="dark"] body:not(.ios-app) .app-header,:root[data-theme="dark"] body:not(.ios-app) #nav-dock,:root[data-theme="dark"] body:not(.ios-app) .panel,:root[data-theme="dark"] body:not(.ios-app) .reading-paper,:root[data-theme="dark"] body:not(.ios-app) #content,:root[data-theme="dark"] body:not(.ios-app) dialog,:root[data-theme="dark"] body:not(.ios-app) .dialog-head,:root[data-theme="dark"] body:not(.ios-app) .word-jumps,:root[data-theme="dark"] body:not(.ios-app) .menu-content,:root[data-theme="dark"] body:not(.ios-app) .audio-menu,:root[data-theme="dark"] body:not(.ios-app) .inline-audio-controls,:root[data-theme="dark"] body:not(.ios-app) .audio-options>summary,:root[data-theme="dark"] body:not(.ios-app) .daily-stats>div{background:var(--paper);color:var(--ink)}:root[data-theme="dark"] body:not(.ios-app) button,:root[data-theme="dark"] body:not(.ios-app) .button,:root[data-theme="dark"] body:not(.ios-app) input,:root[data-theme="dark"] body:not(.ios-app) select,:root[data-theme="dark"] body:not(.ios-app) textarea,:root[data-theme="dark"] body:not(.ios-app) .records-menu>summary,:root[data-theme="dark"] body:not(.ios-app) .reading-settings>summary,:root[data-theme="dark"] body:not(.ios-app) .playback-settings>summary{background:var(--paper);color:var(--ink);border-color:var(--line)}:root[data-theme="dark"] body:not(.ios-app) button:hover,:root[data-theme="dark"] body:not(.ios-app) .button:hover,:root[data-theme="dark"] body:not(.ios-app) button.selected,:root[data-theme="dark"] body:not(.ios-app) button[aria-pressed=true],:root[data-theme="dark"] body:not(.ios-app) .sentence-div:hover,:root[data-theme="dark"] body:not(.ios-app) .sentence-div.playing{background:var(--soft)}:root[data-theme="dark"] body:not(.ios-app) button.primary,:root[data-theme="dark"] body:not(.ios-app) a.primary{background:#386d55;color:#fff;border-color:#79b797}:root[data-theme="dark"] body:not(.ios-app) #answerform .card-choice{background:var(--paper);color:var(--ink);border-color:#688575}:root[data-theme="dark"] body:not(.ios-app) #answerform .card-choice:hover,:root[data-theme="dark"] body:not(.ios-app) #answerform .card-choice:has(input:checked){background:var(--soft)}:root[data-theme="dark"] body:not(.ios-app) #answerform .choice-label{color:var(--ink)}:root[data-theme="dark"] body:not(.ios-app) .answer.correct{background:#203f31;color:#bce8ce}:root[data-theme="dark"] body:not(.ios-app) .answer.wrong{background:#422b27;color:#ffd2c5}:root[data-theme="dark"] .answer.seen,:root[data-theme="dark"] .answer.revealed{background:var(--soft);color:var(--ink)}:root[data-theme="dark"] body:not(.ios-app) #content th,:root[data-theme="dark"] body:not(.ios-app) .word-notes{background:#263b2e;color:var(--ink)}:root[data-theme="dark"] #content [style*="color:black"],:root[data-theme="dark"] #content [style*="color: black"],:root[data-theme="dark"] #wordbody [style*="color:black"],:root[data-theme="dark"] #wordbody [style*="color: black"],:root[data-theme="dark"] .cards-question [style*="color:black"],:root[data-theme="dark"] .cards-question [style*="color: black"],:root[data-theme="dark"] .choice-label [style*="color:black"],:root[data-theme="dark"] .choice-label [style*="color: black"]{color:var(--ink)!important}:root[data-theme="dark"] body:not(.ios-app) .notice{background:#343a28;color:#ece5bc}
}
.learning-library{max-width:880px;margin:auto}.learning-library h1{font-size:clamp(28px,4vw,40px)}.learning-library .daily-stats{margin:24px 0}.library-actions{display:flex;gap:12px;flex-wrap:wrap}.library-actions button,.library-actions .button{min-height:44px;text-align:center}.learning-library details>summary{min-height:44px;cursor:pointer;display:flex;align-items:center;font-weight:600}.library-lesson{display:flex;gap:16px;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none}.library-note{display:block;color:var(--ink);text-decoration:none;padding:16px 0;border-bottom:1px solid var(--line)}.library-note p{white-space:pre-wrap;color:var(--muted);margin:8px 0;font-size:15px}.library-list{margin-top:12px}.answer.seen,.answer.revealed{border-radius:12px;padding:16px 18px;line-height:1.8}
@media(max-width:600px){.library-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.learning-library .daily-stats>div{padding:16px 8px}.learning-library .daily-stats strong{font-size:30px}}

/* Editing uses the available viewport, with no fixed answer overlay. */
@media(max-width:700px){
 body.answer-editing .app-header,body.answer-editing .exercise-heading,body.answer-editing #cards>.card-heading{display:none}
 body.answer-editing main{padding:12px 14px 32px!important}
 body.answer-editing #cards{padding:16px!important}
 body.answer-editing .cards-question{margin-top:0;font-size:19px;line-height:1.6}
 body.answer-editing .card-input{margin-top:8px;margin-bottom:12px}
 #answerform fieldset:has([data-field]){grid-template-columns:1fr}
}
html:has(body.answer-editing){scroll-behavior:auto;scroll-padding-top:12px}

.appearance-menu label{font-weight:600}.appearance-menu select{width:100%;min-height:44px;padding:8px 12px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px}.appearance-menu [data-appearance-status]:empty{display:none}



/* Account identity stays compact; the full account name is also shown in My. */
.account-mode #account-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
@media(max-width:600px){.account-mode #account-name{max-width:76px}.account-mode #status{display:none}}
#account-form input{border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);padding:12px 14px;font-size:16px}#account-form label{font-weight:600}#account-form #confirm-row{display:grid;gap:12px}#account-form .primary{margin-top:8px;min-height:48px}#account-form #auth-result{min-height:1.6em;margin:0}
