:root{--ink:#132138;--muted:#5a687b;--blue:#174ea6;--light:#eef4fc;--line:#dce4ee}html{scroll-behavior:smooth;scroll-padding-top:95px}body{color:var(--ink);background:#fff}.english-shell{max-width:1480px;margin:auto;display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px;padding:0 48px}.rail{position:sticky;top:105px;height:calc(100vh - 130px);padding:30px 24px 20px 0;border-right:1px solid var(--line);overflow:auto}.rail-brand{font-weight:800;letter-spacing:2px;font-size:12px;display:flex;justify-content:space-between;margin-bottom:40px}.small-label{font-size:11px;letter-spacing:1.5px;font-weight:750;color:var(--muted)}.current-note{display:flex;gap:15px;align-items:center;background:var(--light);padding:18px 15px;border-radius:12px;color:var(--blue);margin:16px 0 26px;font-size:14px}.current-note>span{font-family:Georgia,serif;font-size:27px}.activities{display:grid;gap:6px}.activities a{display:flex;align-items:center;gap:9px;padding:12px 2px;font-size:12px;color:var(--muted)}.activities i{font-style:normal;font-size:10px;color:#91a0b6}.activities a>span{margin-left:auto;color:var(--blue)}.rail-progress{border-top:1px solid var(--line);margin-top:32px;padding-top:26px}.rail-progress strong{display:block;font-size:35px;margin:10px 0}progress{width:100%;height:6px;accent-color:var(--blue);border:0;border-radius:9px;overflow:hidden}progress::-webkit-progress-bar{background:#e8edf4}progress::-webkit-progress-value{background:var(--blue)}.rail-progress p,.rail-progress small{font-size:11px;color:var(--muted)}.journey-link{display:block;font-size:12px;margin-top:28px;color:var(--blue)}.note-main{min-width:0;max-width:960px;padding-bottom:40px}.note-hero{padding:66px 0 30px}.note-hero h1{font-size:clamp(42px,4.5vw,68px);line-height:1.06;letter-spacing:-2px;margin:22px 0}.note-hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--blue)}.intro{font-size:18px;line-height:1.7;max-width:650px;color:var(--muted)}.meta{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:11px;color:var(--muted);margin:25px 0 32px}.goal{display:flex;align-items:center;gap:22px;background:var(--light);border-left:3px solid var(--blue);padding:18px 24px;border-radius:0 12px 12px 0}.goal>span{font-size:30px;color:var(--blue)}.goal p{margin:0;font-size:13px;line-height:1.7}.practice-section{padding:42px 0;border-bottom:1px solid var(--line);scroll-margin-top:85px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.practice-section h2{font-size:32px;line-height:1.2;letter-spacing:-1px;margin:10px 0 18px}.practice-section>p{font-size:14px;line-height:1.7;color:var(--muted);max-width:730px}.time-pill{font-size:11px;border:1px solid var(--line);padding:7px 12px;border-radius:30px;white-space:nowrap}.film{margin-top:24px;background:#0e223e;border-radius:16px;overflow:hidden;box-shadow:0 12px 35px #13213812;aspect-ratio:16/9}.film iframe{border:0;width:100%;height:100%;display:block}.film-bottom{display:flex;justify-content:space-between;align-items:center;padding:16px 0;gap:15px}.film-bottom strong{font-size:14px}.film-bottom p{font-size:11px;margin:5px 0;color:var(--muted)}.speed{font-size:11px;display:flex;align-items:center;gap:8px}select{background:white;border:1px solid var(--line);border-radius:8px;padding:8px;color:var(--ink)}.fine{font-size:11px!important;color:var(--muted)}details{border:1px solid var(--line);border-radius:12px;padding:15px 18px;margin:18px 0}summary{font-size:13px;font-weight:650;cursor:pointer}details p,details li{font-size:13px;line-height:1.7}button{font:inherit;cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:10px 15px;background:white;color:var(--ink);font-size:12px;transition:background .15s}button:hover{background:var(--light);border-color:#a9bedb}button:disabled{cursor:default;opacity:.55}.primary{background:var(--blue);color:white;border-color:var(--blue)}.primary:hover{background:#0e3e8a;color:white}.complete{border:0;background:var(--light);color:var(--blue);margin-top:18px}.complete[aria-pressed=true]{background:#e7f4ef;color:#185a45}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,[contenteditable]:focus-visible{outline:3px solid #5b91d7;outline-offset:4px}.dialogue-line{display:grid;grid-template-columns:70px 1fr;gap:14px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px 3px;line-height:1.7}.dialogue-line strong{color:var(--blue);font-size:12px}.dialogue-line.active{background:var(--light)}.three-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.three-steps article{border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;flex-direction:column;align-items:flex-start}.three-steps b{color:var(--blue);background:var(--light);border-radius:50%;width:30px;height:30px;text-align:center;line-height:30px;font-size:13px}.three-steps h3{font-size:15px;line-height:1.5;margin:15px 0 6px}.three-steps p{font-size:12px;line-height:1.7;color:var(--muted);flex:1}.three-steps button{font-size:11px;padding:9px 11px}.speak-prompt{padding:24px 28px;background:#f8faff;border-radius:12px;margin-top:20px}.speak-prompt p{font-size:19px;line-height:1.9;margin-bottom:0}.speak-prompt mark{background:#e2edfc;color:var(--blue);padding:1px 5px;border-radius:4px}.question-label{font-size:12px;color:var(--muted)}.question-title{font-size:21px;line-height:1.5}.answers{display:grid;gap:10px}.answers button{text-align:left;font-size:14px;padding:16px 20px}.answers button.correct{background:#e7f4ef;border-color:#3b896e}.answers button.wrong{background:#fff0ed;border-color:#c7624e}.explanation{background:var(--light);padding:18px;border-radius:10px;font-size:13px;line-height:1.7;margin-top:15px}.quiz-controls{display:flex;gap:10px;margin-top:20px}.editor-wrap{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:22px 0 18px}.editor-toolbar{padding:10px;background:#f8faff;border-bottom:1px solid var(--line);display:flex;gap:6px;flex-wrap:wrap}.editor-toolbar button{font-size:11px;padding:7px 11px}#writing{min-height:280px;padding:24px;line-height:1.9;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}#writing:empty:before{content:'Start writing here…';color:#8290a2;pointer-events:none}.editor-footer{display:flex;gap:6px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}#save-state{margin-left:auto}.self-check{font-size:12px;line-height:1.7;margin-top:16px}.self-check input{accent-color:var(--blue)}.card-top{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:25px 0 12px}.flashcard{position:relative;min-height:255px;width:100%;border-radius:16px;background:linear-gradient(135deg,#f4f8ff,#fff);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px;gap:22px;box-shadow:0 8px 30px #16345d07}.flashcard[aria-pressed=true]{background:#eaf2ff}.flashcard #card-text{font-family:Georgia,serif;font-size:27px;line-height:1.5;max-width:620px}.flashcard small{font-size:12px;line-height:1.7;color:var(--muted)}.flip-icon{position:absolute;bottom:16px;right:22px;font-size:23px;color:var(--blue)}.card-controls{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:18px 0}#card-review{display:block;margin:0 auto;font-size:11px}.roadmap{padding:0;list-style:none;margin:30px 0}.roadmap li{display:flex;gap:22px;align-items:center;padding:21px 0;border-bottom:1px solid var(--line)}.roadmap li>span{font:24px Georgia,serif;color:#8899af}.roadmap h3{font-size:15px;margin:0 0 6px}.roadmap p{font-size:12px;color:var(--muted);margin:0}.roadmap small,.roadmap a{margin-left:auto;font-size:10px;white-space:nowrap}.roadmap .available>span,.roadmap .available a{color:var(--blue)}.import-label{display:inline-block;font-size:11px;margin-left:12px}.import-label input{max-width:180px;font-size:10px}.english-footer{display:flex;align-items:center;justify-content:space-between;padding:35px 0;font-size:11px;color:var(--muted)}audio{width:100%;margin:10px 0}[hidden]{display:none!important}
@media(max-width:1100px){.english-shell{gap:32px;padding:0 28px;grid-template-columns:210px minmax(0,1fr)}.rail{padding-right:16px}.three-steps{grid-template-columns:1fr}.three-steps article{display:block}.three-steps b{display:inline-block}}@media(max-width:760px){.english-shell{display:block;padding:0 20px}.rail{position:static;height:auto;overflow:visible;border-right:0;border-bottom:1px solid var(--line);padding:20px 0 12px}.rail-brand{margin:0 0 14px}.rail>.small-label,.current-note,.rail-progress,.journey-link{display:none}.activities{display:flex;gap:18px;overflow-x:auto}.activities a{white-space:nowrap;font-size:11px}.activities a i{display:none}.note-hero{padding-top:36px}.note-hero h1{font-size:44px}.intro{font-size:16px}.practice-section{padding:32px 0}.practice-section h2{font-size:29px}.meta{gap:12px;font-size:10px}.film-bottom{align-items:flex-start;flex-direction:column}.flashcard{padding:26px 20px}.flashcard #card-text{font-size:23px}.roadmap li{gap:14px}.roadmap p{max-width:230px}.roadmap small{font-size:9px}.english-footer{gap:16px}.speak-prompt{padding:20px}.speak-prompt p{font-size:16px}.nav-inner{flex-wrap:wrap}.nav-links{gap:10px}.nav-links a{font-size:11px}.dialogue-line{grid-template-columns:50px 1fr}.goal{padding:17px;gap:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

.video-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:18px 0 24px}.video-links a{font-weight:700;color:var(--blue,#174EA6);text-underline-offset:4px}.practice-days{display:flex;align-items:baseline;gap:10px;margin:14px 0}.practice-days strong{font-size:24px}.practice-days span{font-size:12px}
/* Compact topic-led practice layout */
.note-hero{padding:38px 0 12px}.note-hero h1{font-size:clamp(30px,3vw,44px);letter-spacing:-1px;line-height:1.15;margin:16px 0}.intro{font-size:16px}.meta{font-size:13px;margin:20px 0}.rail{padding-top:38px}.topic-menu{border:0;padding:0;margin:0}.topic-menu>summary{font-size:15px;color:var(--blue);padding:0 0 18px}.topic-menu nav{display:grid;gap:8px}.topic-menu nav>a,.planned-topic{display:flex;gap:12px;align-items:center;padding:14px 12px;font-size:14px;border-radius:10px;line-height:1.5}.topic-menu nav>a[aria-current]{background:var(--light);font-weight:700;color:var(--blue)}.topic-menu nav>a span{font-size:12px;color:var(--muted)}.planned-topic{flex-wrap:wrap;color:var(--muted);font-size:12px}.planned-topic small{font-size:10px}.film-bottom{padding:16px 0 0}.film-bottom strong{font-size:25px}.film-bottom p{font-size:14px}.speed{font-size:13px}.film{margin-top:18px}#transcript{background:#f8faff;padding:20px;border-radius:18px}#transcript>summary{display:flex;justify-content:space-between;font-size:19px}#dialogue{display:grid;gap:14px;padding-top:12px}.dialogue-line{grid-template-columns:1fr;gap:5px;background:white;border:1px solid var(--line);border-radius:16px 16px 16px 3px;padding:18px 22px;font-size:17px;line-height:1.8;margin-right:35px;width:calc(100% - 35px)}.dialogue-line.reply{margin-left:35px;margin-right:0;background:#edf4ff;border-radius:16px 16px 3px 16px}.dialogue-line strong{font-size:12px;text-transform:uppercase;letter-spacing:.8px}.dialogue-line.active{outline:2px solid var(--blue)}.reading-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.reading-box{padding:24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#f6f9ff,#fff);display:flex;flex-direction:column;align-items:flex-start}.reading-number{font-size:13px;font-weight:700;color:var(--blue);background:#e8f0fd;padding:7px 11px;border-radius:8px}.reading-box>p:first-of-type{font-size:17px;line-height:1.8;flex:1}.reading-box button{color:var(--blue);font-weight:650}.record-status{font-size:12px;line-height:1.5}.reading-box audio{max-width:100%}#story{padding:24px;background:#f8faff;border-radius:18px}#story>summary{font-size:19px}#story-text{counter-reset:story}#story-text p{font-size:18px;line-height:1.9;color:var(--ink);padding:10px 0;border-bottom:1px solid var(--line);margin:0}#story-text p:last-child{border:0}#writing{font-size:18px}.flashcard{min-height:300px;border:1px solid #b9cce8;border-radius:24px;box-shadow:0 14px 35px #16345d0c;background:radial-gradient(ellipse at top left,#e6efff,transparent 65%),#fff}.flashcard #card-text{font-family:inherit;font-weight:650;font-size:27px;letter-spacing:-.5px}.flashcard[aria-pressed=true]{background:#eaf5f0;border-color:#a7cdbf}.flashcard[aria-pressed=true] #card-side{color:#216149}.progress-box{position:fixed;right:24px;bottom:20px;z-index:25;width:240px;padding:0;margin:0;background:white;border:1px solid #b9cce8;box-shadow:0 8px 32px #16345d20;border-radius:14px}.progress-box>summary{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;gap:12px;font-size:14px}.progress-box>summary strong{color:var(--blue)}.progress-details{padding:0 18px 18px;max-height:60vh;overflow:auto}.progress-details p,.progress-details small{font-size:12px}.progress-details .activities{display:grid;gap:0}.progress-details .activities a{font-size:13px;padding:10px 0}.note-pagination{display:flex;justify-content:space-between;gap:20px;padding-top:30px}.note-pagination>a,.disabled-nav{display:grid;gap:8px;padding:18px;border:1px solid var(--line);border-radius:12px;max-width:48%;font-size:14px}.note-pagination>a:last-child{text-align:right;margin-left:auto}.disabled-nav{color:var(--muted)}.note-pagination small{font-size:12px}.english-footer{padding-bottom:100px}
@media(max-width:760px){.rail{padding:18px 0}.topic-menu>summary{padding-bottom:10px}.topic-menu nav{grid-template-columns:1fr 1fr}.planned-topic{grid-column:1/-1;padding:4px 12px}.topic-menu nav>a{font-size:12px}.note-hero{padding-top:26px}.note-hero h1{font-size:32px}.reading-grid{grid-template-columns:1fr}.film-bottom{flex-direction:row;align-items:center;flex-wrap:wrap}.film-bottom strong{font-size:22px}.film-bottom p{font-size:12px}.dialogue-line{font-size:16px;padding:14px;margin-right:16px;width:calc(100% - 16px)}.dialogue-line.reply{margin-left:16px}.progress-box{right:12px;bottom:12px;width:210px}.progress-box>summary{padding:12px 15px}#story-text p{font-size:17px}.flashcard #card-text{font-size:23px}}

.film video{display:block;width:100%;height:100%;object-fit:contain}

.note-main{padding-bottom:120px}.progress-box>summary{flex-wrap:wrap}.progress-action{flex-basis:100%;font-size:11px;color:var(--blue);font-weight:500;margin-top:-5px}.progress-hide{display:none}.progress-box[open] .progress-hide{display:block}.progress-box[open] .progress-show{display:none}.reset-progress{display:block;width:100%;margin-top:16px;font-size:12px;color:var(--blue)}.reset-actions{display:flex;gap:8px}.reset-actions button{font-size:11px;padding:8px}.progress-details #reset-status{font-size:11px;line-height:1.6}.progress-details #reset-confirm p{font-size:12px;line-height:1.6}

.progress-backup{display:grid;gap:.65rem;margin:1rem 0}.progress-backup input{display:block;max-width:100%;margin-top:.4rem}.progress-backup p:empty{display:none}
