:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","PingFang SC",sans-serif;color:#29302b;background:#f5f3ee}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.shell{max-width:720px;margin:auto;padding:20px 18px calc(50vh + 70px);padding-bottom:calc(50dvh + 70px)}.topbar{display:flex;justify-content:space-between;align-items:end;gap:16px}.eyebrow{color:#a65e39;font-size:.71rem;font-weight:700;letter-spacing:.1em}h1{font-size:1.65rem;margin:4px 0 0;line-height:1.16}.top-actions{display:flex;gap:8px;align-items:end}.day-picker{display:grid;gap:4px;color:#747b74;font-size:.75rem}.day-picker select,.sync-btn{height:39px;border:1px solid #d6dbd3;border-radius:9px;background:#fffefa;color:#374039;padding:0 11px}.day-picker select{min-width:175px}.sync-btn{white-space:nowrap;font-size:.81rem}.sync-btn:disabled{opacity:.5}.sync-status{min-height:17px;color:#8a9089;font-size:.75rem;margin-top:9px}
.list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:17px 0 11px}h2{font-size:1.12rem;margin:0}.list-head p{margin:4px 0 0;color:#828981;font-size:.77rem}.restore-btn{border:0;background:none;color:#a25b38;font-size:.8rem;white-space:nowrap}.restore-btn:disabled{opacity:.4}
.word-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:7px}.word{display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center;min-height:62px;background:#fffefa;border:1px solid #e3e6de;border-radius:10px;padding:9px 10px;cursor:pointer}.word.current{border-color:#ae673f;background:#fff3e9;box-shadow:0 0 0 2px #ae673f32}.word:focus-visible{outline:2px solid #ae673f;outline-offset:2px}.number{font-size:.75rem;color:#969d96;font-variant-numeric:tabular-nums}.jp{font-weight:650;font-size:.97rem;line-height:1.28}.reading{font-size:.75rem;font-weight:400;color:#838b83;margin-left:7px}.zh{font-size:.77rem;color:#6c756d;line-height:1.32;margin-top:3px}.word-delete{border:1px solid #c6825c;background:#fff0e5;color:#94502e;border-radius:9px;min-width:62px;min-height:44px;font-size:.85rem;font-weight:700;padding:0 11px;white-space:nowrap;box-shadow:0 2px 4px #94502e1a}.word-delete:active{background:#f8d9c5}
.dock{position:fixed;bottom:0;left:0;right:0;z-index:10;background:#fffefaec;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid #dfe2da;box-shadow:0 -8px 25px #29312915;padding:8px 14px calc(8px + env(safe-area-inset-bottom))}.dock-inner{max-width:720px;margin:auto}.dock-controls{display:flex;justify-content:space-between;align-items:center;gap:4px;max-width:390px;margin:auto}.dock-controls button{display:grid;place-items:center;flex:0 0 auto;border:0;background:transparent;color:#38453a;border-radius:50%;width:46px;height:46px}.dock-controls .transport{font-size:1.42rem}.dock-controls .mode{font-size:1.5rem;color:#69746a}.dock-controls .mode.active{color:#ae6037;background:#fff0e6}.dock-controls .primary{width:58px;height:58px;background:#314437;color:white;box-shadow:0 3px 9px #31443733;font-size:1.3rem}.dock-controls .primary span{margin-left:2px}.dock-controls .speed{font-size:.83rem;font-weight:700;border-radius:11px;width:51px;height:44px;background:#edf0eb;color:#415045}
@media(max-width:700px){.shell{padding:14px 11px calc(50vh + 70px);padding-bottom:calc(50dvh + 70px)}.topbar{display:block}h1{font-size:1.43rem}.top-actions{margin-top:11px}.day-picker{flex:1}.day-picker select{width:100%;min-width:0}.dock{padding:8px 11px calc(8px + env(safe-area-inset-bottom))}}
.custom-panel{margin:7px 0 3px;border:1px solid #e0e3dc;border-radius:10px;background:#fffefa}.custom-panel summary{min-height:43px;display:flex;align-items:center;padding:0 13px;color:#745c4c;font-size:.84rem;font-weight:650;cursor:pointer}.custom-panel summary::marker{color:#a56b46}.custom-panel[open] summary{border-bottom:1px solid #e7e8e1}.custom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:12px 13px 9px}.custom-grid label{display:grid;gap:5px;color:#68716a;font-size:.75rem}.custom-grid input{width:100%;height:39px;border:1px solid #d6dbd3;border-radius:8px;background:white;color:#29302b;font:inherit;font-size:1rem;padding:0 10px}.custom-actions{display:flex;align-items:center;gap:10px;padding:3px 13px 13px}.custom-actions button{min-height:44px;border:0;border-radius:9px;background:#314437;color:white;font-size:.84rem;font-weight:650;padding:0 15px}.custom-actions button:disabled{opacity:.5}.custom-actions span{font-size:.74rem;color:#8a9089}
@media(max-width:700px){.custom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lesson-tabs{display:flex;gap:6px;margin-top:16px;padding:4px;background:#e9e8e0;border-radius:12px}.lesson-tabs button{flex:1;min-height:43px;border:0;border-radius:9px;background:transparent;color:#747b74;font-weight:650}.lesson-tabs button[aria-pressed=true]{background:#fffefa;color:#94502e;box-shadow:0 2px 5px #29312910}.sentence-mode .jp{font-size:1rem;line-height:1.6;overflow-wrap:anywhere}.sentence-mode .zh{font-size:.84rem;line-height:1.6}.sentence-source{font-size:.68rem;color:#969d96;margin-bottom:4px}.sentence-mode .word{align-items:start;padding:13px 10px}.sentence-mode .number{padding-top:5px}.play-status{position:fixed;bottom:calc(85px + env(safe-area-inset-bottom));left:12px;right:12px;pointer-events:none;text-align:center;color:#745c4c;font-size:.76rem}.play-status:empty{display:none}.play-status{background:#fffefaed;border-radius:8px;max-width:696px;margin:auto;padding:5px 10px}
.sentence-mode{--bg:#f5f3ee;--surface:#fffefa;--ink:#374039;--ink-2:#68716a;--ink-3:#969d96;--live:#ae6037;--font-mono:ui-monospace,monospace}.sentence-mode .word{display:block;border-radius:15px;padding:15px 18px}.sentence-mode .number{display:inline-block;margin-bottom:8px}.sentence-mode .word-delete{float:right;min-height:36px}.sentence-mode .zh{margin-top:9px;padding-top:9px;border-top:1px solid #eeeae1}.sentence-mode .clip-bar{margin:17px 3px 1px}.sentence-mode .sentence-source{display:inline-block;margin:0 0 8px 8px}.sentence-mode .word>div{min-width:0}
.sentence-mode .lesson-layout{display:grid;grid-template-columns:230px minmax(0,720px);gap:20px;max-width:1020px;margin:auto;padding:0 18px}.sentence-mode .shell{width:100%;padding-left:0;padding-right:0}.question-sidebar{position:sticky;top:20px;align-self:start;max-height:calc(100dvh - 120px);overflow-y:auto;margin-top:20px;border:1px solid #e0e3dc;border-radius:14px;background:#fffefa;padding:17px 11px}.question-sidebar-head{display:flex;justify-content:space-between;align-items:start;padding:0 5px 12px}.question-sidebar-head h2{font-size:1rem}.question-sidebar-head p{font-size:.75rem;color:#828981;margin:6px 0 0}.question-sidebar-head button{display:none;border:0;background:transparent;font-size:1.5rem;color:#68716a;min-width:40px;min-height:40px}.question-list{display:grid;gap:7px}.question-list>button{width:100%;text-align:left;border:1px solid transparent;border-radius:10px;background:transparent;color:#68716a;padding:12px 10px;min-height:44px}.question-list>button[aria-pressed=true]{background:#fff0e6;border-color:#e3bd9f;color:#94502e}.question-list>button.is-playing{box-shadow:inset 3px 0 0 #ae6037}.question-item b{display:block;font-size:.85rem;line-height:1.4}.question-item span{display:block;font-size:.69rem;color:#8a9089;line-height:1.6;margin-top:5px}.question-item small{display:block;font-size:.72rem;margin-top:5px}.question-all{font-size:.85rem;font-weight:650}.question-tools{display:flex;align-items:center;gap:10px;color:#828981;font-size:.77rem;margin-top:12px}.question-tools button{display:none;min-height:40px;border:1px solid #d6dbd3;border-radius:9px;background:#fffefa;color:#745c4c;padding:0 11px;white-space:nowrap}.question-backdrop{display:none}.question-list>button:focus-visible{outline:2px solid #ae6037;outline-offset:2px}
@media(max-width:820px){.sentence-mode .lesson-layout{display:block;padding:0}.sentence-mode .shell{padding-left:11px;padding-right:11px}.question-tools button,.question-sidebar-head button{display:block}.question-sidebar{position:fixed;z-index:31;top:0;left:0;bottom:0;width:min(310px,85vw);max-height:none;margin:0;border-radius:0 16px 16px 0;padding:22px 12px calc(90px + env(safe-area-inset-bottom));transform:translateX(-110%);visibility:hidden;transition:transform .18s,visibility .18s}.question-menu-open .question-sidebar{transform:translateX(0);visibility:visible}.question-backdrop{position:fixed;inset:0;z-index:30;border:0;background:#29302b60}.question-menu-open .question-backdrop:not(.hidden){display:block}}
.sentence-scope{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px}.sentence-scope button{min-height:40px;padding:0 13px;border:1px solid #d6dbd3;border-radius:9px;background:#fffefa;color:#68716a;font-size:.82rem;font-weight:650}.sentence-scope button[aria-pressed=true]{border-color:#c6825c;background:#fff0e6;color:#94502e}.sentence-scope span{color:#828981;font-size:.75rem;line-height:1.6}@media(max-width:700px){.sentence-scope span{width:100%}}

.question-choice{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;border-radius:10px}.question-check{display:grid;place-items:center;min-height:44px;cursor:pointer}.question-check input{width:18px;height:18px;accent-color:#ae6037;cursor:pointer}.question-choice>.question-item{width:100%;text-align:left;border:1px solid transparent;border-radius:10px;background:transparent;color:#68716a;padding:12px 8px;min-height:44px}.question-choice>.question-item[aria-pressed=true]{background:#fff0e6;border-color:#e3bd9f;color:#94502e}.question-choice>.question-item.is-playing{box-shadow:inset 3px 0 0 #ae6037}.question-choice>.question-item:focus-visible{outline:2px solid #ae6037;outline-offset:2px}

.question-help{font-size:.72rem;color:#8a9089;line-height:1.6;margin:0 5px 9px}

.brand h1 img{vertical-align:-5px;border-radius:7px}.top-actions a{text-decoration:none;display:flex;align-items:center;font-size:12px}.course-review-panel{padding:14px 16px;margin:12px 0;border:1px solid #d5d1c5;border-radius:14px;background:#faf8f1}.course-review-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px}.course-review-head label{margin-left:auto}.course-review-list{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0;max-height:140px;overflow:auto}.course-review-panel button{border:1px solid #ddd5c4;background:#fffaf0;color:#544222;border-radius:8px;padding:6px 10px;font:inherit;font-size:12px;cursor:pointer}.course-grade{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.course-grade span{font-size:12px;margin-right:auto}.course-grade [aria-pressed=true]{background:#a76b0b;color:white}.course-review-panel p,.course-review-panel small{font-size:11px;color:#706b5d;margin:7px 0 0}.course-review-panel #courseSyncCode{padding:2px 6px;font-size:11px}@media(max-width:600px){.top-actions{gap:6px}.top-actions a{font-size:11px;padding:5px}.course-review-panel{padding:10px}.course-grade span{flex-basis:100%}.topbar h1{font-size:23px}}
