:root{--bg:#f6f7f4;--paper:#fff;--ink:#26352f;--muted:#737d77;--line:#e5e9e2;--purple:#7063d8;--purple-soft:#eeeafa;--green:#397b63;--green-soft:#e8f2e7;--lime:#d7eab3;--orange:#c5814c;--orange-soft:#faeee0;--red:#bd4d58;--red-soft:#fcf0f0;--shadow:0 10px 38px #24342c07;--radius:24px;--reading:20px;--sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{cursor:default;opacity:.45}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #a69ae9;outline-offset:4px}button svg,a svg{width:20px;height:20px;flex-shrink:0;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.3;font-weight:650;letter-spacing:-.04em}h1{font-size:36px}h2{font-size:24px}h3{font-size:18px}strong{font-weight:650}small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:700;text-transform:uppercase}.skip{position:fixed;top:-60px;left:20px;background:var(--ink);color:var(--paper);padding:10px;z-index:200}.skip:focus{top:10px}.shell{min-height:100dvh}.sidebar{width:224px;position:fixed;top:0;bottom:0;left:0;padding:35px 22px 22px;border-right:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;text-align:left;padding:0 8px}.brand-mark{width:41px;height:41px;background:var(--purple);color:#fff;border-radius:14px;display:grid;place-items:center;box-shadow:0 4px 10px #7063d827}.brand-mark svg{width:25px;height:25px}.brand-name{font-size:24px;letter-spacing:.12em;font-weight:750;line-height:1.2}.brand-sub{font-size:10px;letter-spacing:.02em;color:var(--muted);margin-top:4px}.side-caption{color:#9baba0;font-size:10px;letter-spacing:.2em;padding:44px 14px 12px}.mainnav{display:grid;gap:7px}.nav-btn{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:550;border-radius:14px;padding:13px 17px;text-align:left;min-height:49px;transition:background .18s,color .18s}.nav-btn:hover{background:var(--bg)}.nav-btn.active{color:var(--purple);background:var(--purple-soft)}.nav-btn.active::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--purple);margin-left:auto}.nav-btn svg{width:21px;height:21px}.side-footer{margin-top:auto}.side-note{border-radius:19px;background:var(--green-soft);padding:18px 16px;margin:25px 0 14px}.side-note svg{width:22px;height:22px;color:var(--green)}.side-note p{font-size:13px;font-weight:550;margin:8px 0 4px}.side-note small{font-size:11px;color:var(--muted)}.text-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;font-size:13px;color:var(--muted);padding:7px 9px;border-radius:10px}.text-btn:hover{background:var(--bg);color:var(--purple)}.side-source{width:100%;justify-content:flex-start;padding-left:15px}.main{margin-left:224px;padding:0 44px 64px;min-width:0}.page-wrap{max-width:1152px;margin:0 auto}.topbar{height:94px;display:flex;align-items:center;justify-content:space-between;gap:15px}.breadcrumb{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.breadcrumb b{font-weight:550;color:var(--ink)}.top-actions{display:flex;align-items:center;gap:14px}.today-label{display:flex;gap:7px;align-items:center;font-size:11px;color:var(--muted)}.today-label::before{content:"";width:6px;height:6px;background:#91ac78;border-radius:50%}.icon-btn{width:44px;height:44px;min-width:44px;display:inline-grid;place-items:center;border-radius:50%;background:var(--paper);border:1px solid var(--line)}.icon-btn:hover{border-color:#b5adc9;color:var(--purple)}.avatar{width:35px;height:35px;display:grid;place-items:center;border:1px solid #ded9c6;background:#f0eddd;border-radius:50%;font:18px var(--serif);color:#797252}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:20px 0 30px}.page-head h1{margin:8px 0 12px}.page-head p{font-size:13px;color:var(--muted);line-height:1.9}.greeting{color:var(--green);font-size:12px;display:flex;align-items:center;gap:6px}.greeting svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5}.hero-title em{font-style:normal;color:var(--purple);position:relative;white-space:nowrap}.hero-title em::after{content:"";position:absolute;height:6px;border-radius:50%;border-bottom:2px solid #c6bfe9;left:0;right:0;bottom:-6px;transform:rotate(-2deg)}.date-note{font:italic 13px var(--serif);color:#a0a79e;padding-bottom:5px;white-space:nowrap}.dashboard-top{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:21px}.hero{background:#ece8fa;border-radius:28px;min-height:270px;position:relative;padding:32px;overflow:hidden;color:#3a3257}.hero .eyebrow{color:#81779d;font-size:10px}.hero h2{font-size:30px;line-height:1.5;margin:17px 0 8px;position:relative;z-index:2;letter-spacing:-.05em}.hero p{font-size:12px;color:#817591;margin-bottom:24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:14px;padding:12px 21px;font-size:14px;font-weight:600;background:var(--purple);color:#fff;transition:transform .15s,box-shadow .15s}.btn:hover{box-shadow:0 5px 15px #7063d825;transform:translateY(-1px)}.btn:active{transform:scale(.97)}.btn.dark{background:#334d3d}.btn.soft{background:var(--purple-soft);color:var(--purple)}.btn.secondary{background:var(--paper);color:var(--ink);border:1px solid var(--line)}.btn.green{background:var(--green);color:#fff}.btn.small{min-height:41px;font-size:12px;padding:9px 15px;border-radius:12px}.hero .btn{position:relative;z-index:2;background:#4b416c;font-size:12px;min-height:44px;border-radius:12px}.hero-art{position:absolute;right:-8px;bottom:-20px;width:260px;height:260px;pointer-events:none;transform:rotate(-3deg)}.goal-card{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.goal-card .goal-title{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.goal-card svg.goal-icon{width:15px;height:15px;stroke:#a7ad9f;fill:none;stroke-width:1.5}.progress-ring{width:111px;height:111px;position:relative;margin:15px auto 8px}.progress-ring>svg{width:100%;height:100%;transform:rotate(-90deg);fill:none;stroke-width:6;stroke-linecap:round}.ring-bg{stroke:#edf1e8}.ring-value{stroke:#9ab77b;transition:stroke-dashoffset .5s}.ring-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:3px}.ring-center strong{font-size:32px;font-weight:600;line-height:1}.ring-center span{font-size:12px;color:var(--muted);margin-top:10px}.goal-card .goal-tip{font-size:11px;color:var(--muted);margin-top:5px}.daily-pips{display:flex;gap:4px;margin:13px 0 0}.daily-pips i{width:17px;height:4px;border-radius:3px;background:var(--line)}.daily-pips i.done{background:#a5ba84}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:34px 0 17px}.section-title h2{font-size:19px}.section-title .label{font-size:11px;color:var(--muted)}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.quick-card{background:var(--paper);border:1px solid var(--line);border-radius:19px;display:flex;align-items:center;gap:14px;text-align:left;padding:18px;min-width:0;transition:transform .18s,border-color .18s}.quick-card:hover{transform:translateY(-3px);border-color:#c1bbd8}.quick-icon{width:43px;height:43px;min-width:43px;border-radius:14px;display:grid;place-items:center;background:var(--purple-soft);color:var(--purple)}.quick-icon svg{width:23px;height:23px}.quick-card:nth-child(2) .quick-icon{background:var(--green-soft);color:var(--green)}.quick-card:nth-child(3) .quick-icon{background:var(--orange-soft);color:var(--orange)}.quick-card strong{font-size:13px;display:block;font-weight:600}.quick-card small{font-size:10px;color:var(--muted)}.quick-arrow{margin-left:auto;color:#a2a99e}.quick-arrow svg{width:14px}.unit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.unit-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:transform .2s,border-color .2s}.unit-card:hover{transform:translateY(-3px);border-color:#b8b4c3}.unit-cover{height:101px;position:relative;background:var(--purple-soft);overflow:hidden;padding:22px}.unit-cover.u2{background:var(--green-soft)}.unit-cover.u3{background:var(--orange-soft)}.unit-number{font-size:10px;letter-spacing:.14em;color:#81779c}.unit-drawing{position:absolute;right:10px;top:1px;width:143px;height:120px}.unit-body{padding:21px}.unit-body .eyebrow{font-size:9px;color:var(--muted);letter-spacing:.1em}.unit-body h3{font-size:20px;margin:6px 0}.unit-body>p{font-size:11px;color:var(--muted)}.unit-metrics{font-size:10px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 14px}.unit-footer{display:flex;align-items:center;justify-content:space-between;font-size:11px;border-top:1px solid var(--line);padding-top:14px}.unit-footer>span{color:var(--muted)}.unit-footer button{color:var(--purple);display:flex;gap:7px;align-items:center;min-height:30px;font-weight:600}.unit-footer svg{width:15px;height:15px}.bottom-quote{margin:32px 0 0;text-align:center;color:#a1a798;font:italic 12px var(--serif)}.bottom-quote span{font-family:var(--sans);font-size:10px;font-style:normal;margin-left:10px}.page-label{color:var(--purple);font-size:11px;letter-spacing:.14em}.pill-row{display:flex;align-items:center;gap:9px;overflow-x:auto;max-width:100%;padding:3px 2px 12px;scrollbar-width:none}.pill-row::-webkit-scrollbar{display:none}.pill{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-height:40px;padding:9px 17px;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:12px;background:var(--paper)}.pill.active{color:var(--paper);background:var(--ink);border-color:var(--ink)}.pill em{font-style:normal;font-size:10px;opacity:.7}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:10px 0 20px}.segmented{display:inline-flex;gap:3px;padding:4px;background:#e9ece5;border-radius:13px;max-width:100%;overflow-x:auto}.segmented button{flex-shrink:0;font-size:11px;padding:7px 13px;min-height:34px;border-radius:10px;color:var(--muted);white-space:nowrap}.segmented button.active{background:var(--paper);color:var(--ink);box-shadow:0 2px 5px #25302608}.search{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--paper);padding:0 13px;border-radius:13px;min-height:43px;min-width:0}.search svg{width:17px;height:17px;stroke:var(--muted);fill:none;stroke-width:1.5}.search input{background:none;border:0;outline:0;min-width:0;width:170px;color:var(--ink);font-size:12px;height:42px}.flash-layout{display:grid;grid-template-columns:minmax(0,1fr) 244px;gap:24px}.flash-stage{min-width:0}.flash-header{display:flex;justify-content:space-between;align-items:center;padding:0 4px 14px;color:var(--muted);font-size:11px}.flash-header div{display:flex;align-items:center;gap:8px}.flash-header .icon-btn{width:35px;height:35px;min-width:35px;background:transparent}.flash-header .icon-btn svg{width:17px}.flash-card{width:100%;min-height:280px;background:var(--paper);border:1px solid #dfdceb;border-radius:27px;padding:30px 25px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;position:relative;box-shadow:0 8px 0 -3px #e9e7ed,0 16px 0 -7px #efedf1;transition:background .25s,transform .2s;touch-action:pan-y}.flash-card:active{transform:scale(.99)}.flash-card.flipped{background:#f1eefb;border-color:#d9d1ef}.flash-card .word{font-family:var(--serif);font-size:45px;font-weight:500;letter-spacing:-.03em;line-height:1.2;overflow-wrap:anywhere;max-width:100%}.flash-card .word.long{font-size:32px}.flash-card .ipa{font-size:14px;color:var(--muted);margin-top:14px}.flash-card .flash-meaning{font-size:22px;line-height:1.6;max-width:95%;margin:18px 0 2px}.flash-card .back-word{color:var(--purple);font:22px var(--serif)}.flash-card .flip-hint{font-size:10px;position:absolute;bottom:23px;color:#9a93a8;display:flex;align-items:center;gap:5px}.flip-hint svg{width:13px;height:13px}.flash-dots{display:flex;gap:5px;justify-content:center;margin:26px 0 18px;flex-wrap:wrap}.flash-dots i{width:5px;height:5px;border-radius:3px;background:#dce0d7}.flash-dots i.current{width:20px;background:var(--purple)}.flash-dots i.past{background:#a9bc8b}.flash-actions{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:21px 0 10px}.flash-actions .btn{min-height:50px}.swipe-note{text-align:center;font-size:10px;color:#959f96;margin-top:13px}.word-aside{background:var(--green-soft);padding:25px 22px;border-radius:23px;align-self:start;margin-top:49px}.word-aside .eyebrow{color:#7c9479;font-size:9px}.word-aside h3{font-size:19px;line-height:1.6;margin:13px 0}.word-aside p{color:#788c79;font-size:11px;line-height:1.9}.tiny-progress{height:5px;background:#d9e4d2;border-radius:5px;overflow:hidden;margin:20px 0 7px}.tiny-progress>div{background:#91ad75;height:100%;border-radius:5px;transition:width .3s}.word-aside small{font-size:10px;color:#7e927c}.word-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.word-row{padding:17px 18px;background:var(--paper);border:1px solid var(--line);border-radius:15px;display:flex;align-items:center;gap:10px;min-width:0;text-align:left}.word-row:hover{border-color:#b5acd7}.word-row .word-text{min-width:0}.word-row strong{font:19px var(--serif);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.word-row small{font-size:10px;color:var(--muted);display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.word-state{width:21px;height:21px;min-width:21px;margin-left:auto;border:1px solid #e5e8df;border-radius:50%;color:#9fb684;display:grid;place-items:center}.word-state.known{background:#edf3e4;border-color:transparent}.word-state svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2}.word-detail{margin-top:23px;background:var(--paper);padding:20px;border:1px solid var(--line);border-radius:18px;white-space:pre-line;font-size:13px;line-height:2}.pager{display:flex;justify-content:center;align-items:center;gap:12px;margin:23px 0;font-size:12px;color:var(--muted)}.pager .icon-btn{width:35px;height:35px;min-width:35px}.empty{border:1px dashed #d7ded1;background:var(--paper);border-radius:24px;text-align:center;padding:45px 24px}.empty-icon{width:62px;height:62px;background:var(--green-soft);border-radius:23px;margin:0 auto 20px;display:grid;place-items:center;color:var(--green)}.empty-icon svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:1.4}.empty h3{font-size:21px;margin-bottom:10px}.empty p{font-size:12px;color:var(--muted);line-height:1.9;max-width:360px;margin:0 auto 20px}.reader-layout{display:grid;grid-template-columns:215px minmax(0,1fr);gap:32px;margin-top:15px}.lesson-nav{align-self:start;position:sticky;top:20px}.lesson-nav .eyebrow{font-size:9px;color:var(--muted);margin:5px 0 15px}.lesson-link{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:17px 14px;border-radius:16px;min-width:0;width:100%;margin-bottom:5px}.lesson-link.active{background:var(--purple-soft)}.lesson-link small{font-size:9px;color:var(--muted);line-height:1.5}.lesson-link strong{font-size:12px;line-height:1.5;margin:6px 0;font-weight:550}.lesson-link span{font-size:10px;color:var(--purple)}.reader{background:var(--paper);border:1px solid var(--line);border-radius:27px;overflow:hidden;min-width:0}.reader-header{padding:30px 34px 24px;border-bottom:1px solid var(--line)}.reader-header .eyebrow{color:var(--purple);font-size:9px}.reader-header h2{font:30px/1.2 var(--serif);letter-spacing:-.02em;margin:14px 0;overflow-wrap:break-word}.reader-header>p{font-size:11px;color:var(--muted)}.reader-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:22px}.toggle-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;font-size:11px;min-height:37px;padding:7px 11px;background:var(--paper);color:var(--muted)}.toggle-btn.on{background:var(--green-soft);border-color:#d9e5d4;color:var(--green)}.toggle-btn svg{width:15px;height:15px}.reader-body{padding:0 34px}.reading-paragraph{padding:26px 0;border-bottom:1px solid var(--line)}.para-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.para-num{font:italic 12px var(--serif);color:#b2b7aa}.para-actions{display:flex;gap:6px}.para-actions button{min-width:36px;min-height:34px;display:grid;place-items:center;color:#a1a99e;border-radius:10px}.para-actions button:hover{background:var(--bg);color:var(--purple)}.para-actions button.saved{color:var(--purple)}.para-actions svg{width:15px;height:15px}.english{font-family:var(--serif);font-size:var(--reading);line-height:1.95;letter-spacing:.005em;overflow-wrap:break-word;white-space:pre-line}.lookup-word{font:inherit;line-height:inherit;display:inline;padding:0;margin:0;border-bottom:1px dashed #bcb3e0;color:inherit;border-radius:0;vertical-align:baseline}.lookup-word:hover,.lookup-word:focus{color:var(--purple);background:var(--purple-soft)}.translation{font-size:13px;color:#80877e;background:#f5f6f1;padding:16px 18px;border-radius:14px;line-height:2;margin-top:15px}.para-notes{margin-top:13px;font-size:11px;color:var(--muted)}.para-notes summary{cursor:pointer;display:list-item;min-height:30px;padding-top:4px}.notes-content{white-space:pre-line;padding:14px 17px;background:var(--purple-soft);color:#6c6381;font-size:12px;line-height:1.95;border-radius:12px;margin:5px 0}.reader-bottom{padding:26px 34px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.reader-bottom small{font-size:10px;color:var(--muted)}.practice-intro{border-radius:25px;background:var(--green-soft);padding:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:10px 0 23px}.practice-intro h2{font-size:22px;margin:6px 0 10px}.practice-intro p{font-size:12px;color:var(--muted)}.practice-intro svg.art-spark{width:80px;height:80px;stroke:#769568;fill:none;stroke-width:1.1;flex-shrink:0}.practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:20px 0}.practice-type{border:1px solid var(--line);background:var(--paper);padding:24px;border-radius:22px;text-align:left;position:relative;min-width:0}.practice-type.selected{border-color:#aaa0d6;box-shadow:0 0 0 1px #aaa0d6;background:#faf8ff}.practice-type .type-icon{width:39px;height:39px;border-radius:12px;background:var(--purple-soft);color:var(--purple);display:grid;place-items:center;margin-bottom:18px}.practice-type:nth-child(2) .type-icon{background:var(--green-soft);color:var(--green)}.practice-type:nth-child(3) .type-icon{background:var(--orange-soft);color:var(--orange)}.practice-type h3{font-size:16px;margin-bottom:9px}.practice-type p{font-size:11px;color:var(--muted)}.type-check{position:absolute;right:20px;top:22px;border:1px solid var(--line);width:21px;height:21px;border-radius:50%;display:grid;place-items:center}.selected .type-check{border-color:var(--purple);background:var(--purple);color:#fff}.type-check svg{width:13px;height:13px}.practice-launch{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0}.practice-launch .label{font-size:12px;color:var(--muted)}.practice-launch .segmented{margin-top:9px}.quiz-wrap{max-width:800px;margin:14px auto 0}.quiz-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.quiz-top .text-btn{padding-left:0}.quiz-top span{font-size:11px;color:var(--muted)}.progress-track{height:5px;background:var(--line);border-radius:5px;margin:20px 0 27px;overflow:hidden}.progress-track>div{height:100%;background:var(--purple);border-radius:5px;transition:width .3s}.quiz-card{background:var(--paper);border:1px solid var(--line);border-radius:25px;padding:32px}.quiz-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;margin-bottom:24px}.quiz-label{background:var(--purple-soft);color:var(--purple);padding:5px 10px;border-radius:7px;font-size:10px}.quiz-prompt{font:25px/1.8 var(--serif);letter-spacing:0;overflow-wrap:break-word;white-space:pre-line;margin:15px 0 22px}.quiz-prompt.zh{font:21px/1.8 var(--sans)}.quiz-input{border:1.5px solid #dcd7e9;background:var(--bg);color:var(--ink);border-radius:14px;min-height:56px;padding:15px 18px;width:100%;font-size:20px;font-family:var(--serif)}.quiz-input:focus{outline:3px solid #ece7fc;border-color:#a69cd5}.quiz-input:disabled{opacity:1;-webkit-text-fill-color:var(--ink)}.input-note{font-size:10px;color:var(--muted);margin-top:10px}.quiz-options{display:grid;gap:10px}.option{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:14px;padding:13px 16px;min-height:52px;text-align:left;background:var(--paper);font:17px/1.5 var(--serif)}.option .option-key{font:11px var(--sans);color:var(--muted);display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;width:28px;height:28px;min-width:28px}.option.selected{background:var(--purple-soft);border-color:#b2a4db}.option.correct{background:var(--green-soft);border-color:#b1c9a3}.option.wrong{background:var(--red-soft);border-color:#d8adb1}.option:disabled{opacity:1}.option.selected .option-key{border-color:#b2a4db;color:var(--purple)}.feedback{margin-top:22px;padding:20px;border-radius:16px;background:var(--green-soft);color:var(--green);font-size:12px}.feedback.incorrect{background:var(--red-soft);color:var(--red)}.feedback h3{font-size:16px;display:flex;align-items:center;gap:8px;margin-bottom:10px}.feedback h3 svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}.feedback .answer{font-family:var(--serif);font-size:20px;margin:5px 0 13px;color:var(--ink)}.feedback p{white-space:pre-line;line-height:1.9;color:var(--muted)}.feedback .source-note{margin-top:12px;font-size:10px;opacity:.7}.quiz-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:23px 0}.quiz-controls>span{font-size:11px;color:var(--muted)}.quiz-passage{margin-bottom:20px;border-radius:13px;background:var(--bg);font-size:12px}.quiz-passage summary{cursor:pointer;padding:14px 17px;min-height:44px;color:var(--green)}.quiz-passage .passage-body{max-height:330px;overflow-y:auto;overscroll-behavior:contain;white-space:pre-line;font:18px/1.95 var(--serif);padding:0 20px 20px;overflow-wrap:break-word}.gap-highlight{background:#ded7f7;color:#5c4b9c;padding:1px 7px;border-radius:5px;font-weight:bold}.result-card{max-width:650px;margin:20px auto;padding:44px 35px;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:30px}.result-art{width:89px;height:89px;margin:0 auto 22px;border-radius:50%;background:var(--lime);display:grid;place-items:center;transform:rotate(-8deg)}.result-art svg{width:45px;height:45px;stroke:#587244;stroke-width:1.3;fill:none}.result-card h2{font-size:29px;margin-bottom:12px}.result-card>p{font-size:12px;color:var(--muted);line-height:1.9}.result-numbers{display:grid;grid-template-columns:repeat(3,1fr);margin:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.result-numbers strong{font-size:25px;display:block;font-weight:550}.result-numbers small{color:var(--muted);font-size:10px}.result-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.result-answers{margin:26px 0 5px;text-align:left}.result-item{padding:16px 0;border-top:1px solid var(--line);font-size:12px}.result-item p{font:16px/1.7 var(--serif);margin:5px 0}.result-item small{color:var(--muted);font-size:11px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:10px 0 24px}.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:21px}.stat-card small{display:block;font-size:11px;color:var(--muted)}.stat-card strong{display:block;font-size:27px;font-weight:550;line-height:1.4;margin-top:8px}.stat-card strong span{font-size:12px;color:var(--muted);font-weight:400;margin-left:3px}.review-list{display:grid;gap:13px;margin-top:18px}.review-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px 23px}.review-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;color:var(--muted);margin-bottom:12px}.review-card p{font:18px/1.8 var(--serif);white-space:pre-line;overflow-wrap:break-word}.review-card summary{cursor:pointer;font-size:11px;min-height:35px;padding-top:13px;color:var(--purple)}.review-card details>div{font-size:12px;white-space:pre-line;color:var(--muted);padding-top:12px;line-height:1.9}.review-card .answer-value{color:var(--green);font:21px var(--serif);display:block;margin-bottom:9px}.review-tabs{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:28px 0 18px}.history-note{font-size:10px;line-height:1.9;color:var(--muted);text-align:center;margin:25px 0 5px}.starred{color:var(--purple)!important}.book-button{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:18px;padding:19px 22px;width:100%;margin-top:22px}.book-button .quick-icon{background:var(--green-soft);color:var(--green)}.book-button strong{font-size:13px;display:block}.book-button small{font-size:11px;color:var(--muted)}.book-button>svg{margin-left:auto;color:#9baba0;width:18px}.mobile-nav{display:none}.overlay{position:fixed;inset:0;background:#1f2c2454;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:90;display:flex;align-items:center;justify-content:center;padding:25px;animation:fade .15s ease}.sheet{background:var(--paper);border-radius:27px;max-width:480px;width:100%;max-height:85dvh;overflow-y:auto;padding:24px;position:relative;box-shadow:0 25px 80px #13241625;overscroll-behavior:contain}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.sheet-head h2{font-size:20px}.sheet-head .icon-btn{width:35px;height:35px;min-width:35px;background:var(--bg);border:0}.sheet-handle{display:none}.sheet .word-big{font:36px/1.4 var(--serif);overflow-wrap:anywhere;margin-bottom:4px}.sheet .word-ipa{font-size:13px;color:var(--muted)}.sheet .word-meaning{font-size:19px;margin:25px 0 15px}.sheet .word-full{font-size:12px;line-height:2;color:var(--muted);white-space:pre-line;background:var(--bg);border-radius:15px;padding:17px}.sheet .word-buttons{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.setting-row{padding:18px 0;border-top:1px solid var(--line)}.setting-row h3{font-size:13px;margin-bottom:12px}.setting-row p{font-size:11px;color:var(--muted);margin-top:10px;line-height:1.9}.setting-row .segmented{width:100%}.setting-row .segmented button{flex:1}.setting-row select{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px;background:var(--paper);color:var(--ink);min-height:44px}.import-label{display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:10px 16px;font-size:12px}.import-label input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(100%)}.book-sheet{max-width:1000px;max-height:90dvh;padding:0;display:flex;flex-direction:column;overflow:hidden}.book-sheet .sheet-head{padding:23px 26px 0;margin-bottom:12px}.book-sheet .sheet-head small{font-size:10px;color:var(--muted);font-weight:400;display:block;margin-top:6px;letter-spacing:0}.book-controls{padding:0 26px 15px;border-bottom:1px solid var(--line)}.book-controls .toolbar{margin:2px 0 0}.book-controls .pill-row{padding-bottom:10px}.book-content{padding:20px 30px 40px;overflow-y:auto;min-height:0;overscroll-behavior:contain}.book-content p{font-size:13px;line-height:1.95;white-space:pre-line;overflow-wrap:anywhere;margin:9px 0}.book-content h3{font-size:17px;margin:25px 0 12px;line-height:1.7}.book-content h4{font-size:14px;margin:19px 0 9px;line-height:1.8}.book-content table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:12px;margin:17px 0;border:1px solid var(--line)}.book-content td{padding:15px;white-space:pre-line;vertical-align:top;border:1px solid var(--line);overflow-wrap:anywhere;line-height:1.9}.book-content tr td:first-child{background:var(--bg)}.book-content mark{background:#e6e2b3;color:var(--ink);border-radius:2px}.book-results-note{font-size:11px;color:var(--muted);margin:0 0 15px}.sheet-foot{padding:13px 25px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;gap:15px}.toast{position:fixed;left:50%;bottom:35px;transform:translate(-50%,20px);background:#293c32;color:#fff;font-size:12px;border-radius:13px;padding:12px 21px;max-width:calc(100vw - 40px);text-align:center;opacity:0;transition:opacity .2s,transform .2s;z-index:150;pointer-events:none;box-shadow:0 10px 30px #24342c20}.toast.visible{opacity:1;transform:translate(-50%,0)}#celebration{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:130}.confetti{position:absolute;width:7px;height:11px;border-radius:2px;top:-20px;animation:confetti 1.7s ease-in forwards}.disclaimer{font-size:10px;color:var(--muted);line-height:1.8;margin-top:12px}.saved-para-text{font:17px/1.8 var(--serif);max-height:116px;overflow:hidden;position:relative}.saved-para-text.expanded{max-height:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body.modal-open{overflow:hidden}button.pending-speech{color:var(--purple);background:var(--purple-soft)}.return-link{margin-bottom:12px;display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px;min-height:38px}.return-link svg{width:16px;height:16px}.session-chip{font-size:10px;color:var(--green);background:var(--green-soft);border-radius:99px;padding:5px 10px}.page-enter{animation:rise .24s ease}.start-note{font-size:11px;color:var(--muted);line-height:1.9;margin-top:22px;padding:16px 19px;border-radius:15px;border:1px solid var(--line)}
@keyframes rise{from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes confetti{to{transform:translate(var(--dx),105vh) rotate(550deg);opacity:0}}
[data-theme="dark"]{--bg:#19231e;--paper:#222e27;--ink:#e4eade;--muted:#9ba79c;--line:#364238;--purple:#b3a4f1;--purple-soft:#3c3551;--green:#9cbea0;--green-soft:#2c3e30;--lime:#819967;--orange:#d0a372;--orange-soft:#423829;--red:#e3a2a9;--red-soft:#463039;--shadow:none}[data-theme="dark"] .hero{background:#3a3450;color:#eee7ff}[data-theme="dark"] .hero p,[data-theme="dark"] .hero .eyebrow{color:#b5a9cf}[data-theme="dark"] .hero .btn{background:#cec2f0;color:#302841}[data-theme="dark"] .segmented{background:#344036}[data-theme="dark"] .translation{background:#2e382e;color:#b1bcaa}[data-theme="dark"] .practice-type.selected{background:#342f42}[data-theme="dark"] .flash-card.flipped{background:#393248;border-color:#554865}[data-theme="dark"] .flash-card{box-shadow:none}[data-theme="dark"] .btn{color:#231b38}[data-theme="dark"] .btn.green,[data-theme="dark"] .btn.dark{color:#eef5e8;background:#3d6247}[data-theme="dark"] .btn.secondary{color:var(--ink)}[data-theme="dark"] .btn.soft{color:var(--purple)}
@media(min-width:1450px){.main{padding-left:65px;padding-right:65px}.dashboard-top{grid-template-columns:minmax(0,1fr) 285px}.hero-art{right:10px;width:290px;height:290px}.hero h2{font-size:34px}.hero{min-height:285px}}
@media(max-width:1190px){.sidebar{width:192px;padding-left:16px;padding-right:16px}.main{margin-left:192px;padding:0 28px 50px}.dashboard-top{grid-template-columns:minmax(0,1fr) 228px;gap:16px}.hero{padding:27px;min-height:260px}.hero-art{right:-38px;width:228px}.hero h2{font-size:27px}.unit-grid{gap:14px}.unit-body{padding:18px}.quick-card{padding:16px 13px;gap:10px}.quick-icon{width:37px;height:37px;min-width:37px}.word-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flash-layout{grid-template-columns:minmax(0,1fr) 205px;gap:20px}.reader-layout{grid-template-columns:175px minmax(0,1fr);gap:20px}.reader-header{padding:27px}.reader-body{padding:0 27px}.reader-bottom{padding:24px 27px}}
@media(max-width:980px){.sidebar{width:80px;padding:28px 12px 20px}.brand{padding:0;justify-content:center}.brand-copy,.side-caption,.nav-btn span,.side-note,.side-source span{display:none}.mainnav{margin-top:42px;gap:12px}.nav-btn{justify-content:center;padding:14px 0}.nav-btn.active::after{display:none}.nav-btn svg{width:22px;height:22px}.side-source{padding:0;justify-content:center}.main{margin-left:80px;padding-left:28px;padding-right:28px}.dashboard-top{grid-template-columns:minmax(0,1fr) 220px}.hero-art{right:-40px;opacity:.7}.hero h2{font-size:27px}.hero p{max-width:210px}.hero .eyebrow{position:relative;z-index:1}.unit-cover{height:92px}.unit-drawing{width:130px;right:0}.unit-body h3{font-size:18px}.unit-body>p{font-size:10px}.quick-card{flex-wrap:wrap;position:relative;gap:12px}.quick-card .quick-arrow{position:absolute;right:13px;top:22px}.quick-card>div:not(.quick-icon){width:100%}.flash-layout{grid-template-columns:1fr}.word-aside{display:none}.reader-layout{grid-template-columns:1fr;gap:13px}.lesson-nav{position:static;display:flex;gap:7px;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}.lesson-nav .eyebrow{display:none}.lesson-link{width:auto;flex:0 0 200px;min-height:94px;border:1px solid var(--line);background:var(--paper);margin:0;padding:12px 15px}.lesson-link.active{border-color:#c7bedf}.lesson-link strong{font-size:11px;max-width:170px}.stats-grid{gap:10px}.stat-card{padding:16px}.stat-card strong{font-size:24px}}
@media(max-width:700px){html{scroll-padding-top:70px}body{font-size:14px}.sidebar{display:none}.main{margin-left:0;padding:0 21px calc(102px + env(safe-area-inset-bottom));width:100%;overflow-x:clip}.topbar{height:77px;padding-top:env(safe-area-inset-top)}.breadcrumb{font-size:10px;gap:7px}.top-actions{gap:10px}.today-label{display:none}.top-actions .icon-btn{width:36px;height:36px;min-width:36px;border:0;background:transparent}.avatar{width:31px;height:31px;font-size:16px}.page-head{margin:17px 0 26px;gap:10px}.page-head h1{font-size:29px;margin:7px 0 12px;line-height:1.45}.hero-title{font-size:31px!important;letter-spacing:-.06em;white-space:nowrap}.page-head p{font-size:11px;line-height:1.9;max-width:320px}.date-note{display:none}.greeting{font-size:11px}.greeting svg{width:14px;height:14px}.dashboard-top{grid-template-columns:minmax(0,1fr) 112px;gap:10px}.hero{min-height:244px;padding:22px 19px;border-radius:23px}.hero .eyebrow{font-size:8px;letter-spacing:.1em}.hero h2{font-size:22px;margin:15px 0 10px;line-height:1.45;max-width:180px}.hero p{font-size:9px;max-width:134px;line-height:1.8;margin-bottom:23px;position:relative;z-index:2}.hero .btn{font-size:10px;gap:6px;padding:10px 12px;min-height:40px;white-space:nowrap}.hero .btn svg{width:14px;height:14px}.hero-art{width:150px;height:150px;right:-49px;bottom:-14px;opacity:.65}.goal-card{border-radius:23px;padding:17px 8px}.goal-card .goal-title{font-size:9px;gap:4px}.goal-card svg.goal-icon{display:none}.progress-ring{width:78px;height:78px;margin:16px auto 10px}.progress-ring>svg{stroke-width:5}.ring-center strong{font-size:26px}.ring-center span{font-size:9px;margin-top:8px}.goal-card .goal-tip{font-size:8px;line-height:1.8;max-width:86px}.daily-pips{gap:3px;margin-top:13px}.daily-pips i{width:11px;height:3px}.section-title{margin-top:29px;margin-bottom:15px}.section-title h2{font-size:17px}.section-title .label{font-size:9px}.quick-grid{gap:9px}.quick-card{padding:15px 11px;border-radius:17px;gap:10px}.quick-icon{width:34px;height:34px;min-width:34px;border-radius:11px}.quick-icon svg{width:19px;height:19px}.quick-card .quick-arrow{display:none}.quick-card strong{font-size:11px;margin-bottom:3px}.quick-card small{font-size:8px}.unit-grid{grid-template-columns:1fr;gap:13px}.unit-card{display:grid;grid-template-columns:101px minmax(0,1fr);border-radius:20px}.unit-cover{height:100%;padding:18px 13px}.unit-number{font-size:8px;position:relative;z-index:1}.unit-drawing{width:142px;height:150px;right:-23px;top:33px;transform:rotate(-7deg)}.unit-body{padding:19px 17px 13px;min-width:0}.unit-body .eyebrow{font-size:8px;letter-spacing:.1em}.unit-body h3{font-size:18px;margin:5px 0}.unit-body>p{font-size:10px}.unit-metrics{font-size:9px;gap:8px;margin:12px 0 10px}.unit-footer{padding-top:9px;font-size:9px}.unit-footer button{font-size:10px;min-height:30px}.unit-footer svg{width:13px;height:13px}.bottom-quote{font-size:11px;line-height:1.9;margin-top:27px}.bottom-quote span{display:block;font-size:9px;margin:2px 0 0}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:10px 10px calc(8px + env(safe-area-inset-bottom));background:#fffffff0;border-top:1px solid #e5e9e2bb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:30}.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:43px;min-width:0;font-size:9px;color:#959e93;position:relative}.mobile-nav button svg{width:21px;height:21px;stroke-width:1.7}.mobile-nav button.active{color:var(--purple)}.mobile-nav button.active::before{content:"";position:absolute;top:-11px;background:var(--purple);height:2px;width:20px;border-radius:4px}.book-button{padding:15px;margin-top:20px;gap:10px}.book-button strong{font-size:11px}.book-button small{font-size:9px}.book-button>.quick-icon{width:33px;height:33px;min-width:33px}.pill-row{gap:7px}.pill{font-size:10px;padding:8px 13px;min-height:38px}.pill em{font-size:9px}.toolbar{margin:10px 0 18px;gap:10px}.segmented button{font-size:10px;padding:7px 11px;min-height:34px}.toolbar .search{width:100%}.search input{width:100%;font-size:12px}.flash-header{padding-bottom:13px}.flash-card{min-height:281px;border-radius:25px;padding:26px 19px}.flash-card .word{font-size:40px}.flash-card .word.long{font-size:29px}.flash-card .ipa{font-size:13px}.flash-card .flash-meaning{font-size:20px}.flash-card .back-word{font-size:22px}.flash-header{font-size:10px}.flash-actions{gap:10px}.flash-actions .btn{font-size:12px}.word-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.word-row{padding:14px 12px;border-radius:14px;gap:5px}.word-row strong{font-size:17px}.word-row small{font-size:9px;margin-top:6px}.word-state{width:17px;height:17px;min-width:17px}.word-detail{font-size:12px;padding:17px;line-height:2}.reader-layout{margin-top:3px}.lesson-nav{margin-right:-21px;padding-right:21px}.lesson-link{flex-basis:184px;min-height:87px;padding:11px 13px}.lesson-link strong{font-size:11px}.lesson-link small{font-size:8px}.lesson-link span{font-size:9px}.reader{border-radius:22px}.reader-header{padding:24px 22px 20px}.reader-header h2{font-size:27px;margin:13px 0}.reader-header>p{font-size:10px}.reader-tools{gap:6px;margin-top:17px}.toggle-btn{font-size:10px;padding:7px 9px;min-height:36px}.toggle-btn svg{width:13px;height:13px}.reader-body{padding:0 22px}.reading-paragraph{padding:21px 0}.english{font-size:var(--reading);line-height:1.9}.translation{padding:13px 14px;font-size:12px;line-height:2}.notes-content{font-size:11px;padding:12px 14px}.reader-bottom{padding:22px}.reader-bottom .btn{font-size:12px;min-height:44px}.reader-bottom small{font-size:9px;max-width:120px}.practice-intro{padding:23px 21px;border-radius:22px;margin-top:4px;gap:10px}.practice-intro h2{font-size:20px}.practice-intro p{font-size:10px}.practice-intro svg.art-spark{width:55px;height:55px}.practice-grid{gap:11px;margin-top:16px}.practice-type{padding:20px 16px;border-radius:19px}.practice-type .type-icon{width:34px;height:34px;margin-bottom:15px}.practice-type .type-icon svg{width:19px}.practice-type h3{font-size:14px}.practice-type p{font-size:10px;line-height:1.8}.type-check{right:15px;top:18px;width:17px;height:17px}.type-check svg{width:11px;height:11px}.practice-launch{padding:10px 0;gap:15px}.practice-launch .label{font-size:10px}.practice-launch>.btn{font-size:12px;min-height:48px;padding:12px 18px;align-self:flex-end}.practice-launch .segmented button{padding:6px 12px}.quiz-wrap{margin-top:6px}.quiz-top span{font-size:10px}.quiz-card{border-radius:23px;padding:23px 20px}.quiz-meta{font-size:9px;align-items:flex-start;margin-bottom:18px}.quiz-prompt{font-size:23px;line-height:1.7;margin:15px 0 20px}.quiz-prompt.zh{font-size:19px}.quiz-input{font-size:19px;min-height:54px;padding:13px 15px}.quiz-options{gap:9px}.option{font-size:16px;padding:12px 13px;gap:10px}.option .option-key{width:26px;height:26px;min-width:26px;font-size:10px}.quiz-controls{margin-top:21px}.quiz-controls .btn{font-size:12px;padding:12px 17px}.quiz-controls>span{font-size:9px;max-width:115px}.quiz-passage .passage-body{font-size:17px;padding:0 15px 17px;max-height:300px}.feedback{padding:17px;font-size:11px}.feedback h3{font-size:15px}.feedback p{font-size:11px}.result-card{padding:32px 23px;border-radius:25px;margin-top:5px}.result-card h2{font-size:26px}.result-card>p{font-size:11px}.result-card .btn{font-size:12px;padding:12px 17px}.result-numbers strong{font-size:24px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.stat-card{padding:18px}.stat-card small{font-size:10px}.stat-card strong{font-size:26px;margin-top:9px}.stat-card strong span{font-size:11px}.review-tabs{margin-top:23px;gap:12px}.review-tabs .btn{min-height:37px;font-size:10px;padding:9px 12px}.review-card{padding:19px}.review-card p{font-size:17px}.review-card-top{font-size:9px}.overlay{align-items:flex-end;padding:0;background:#1e2b2559}.sheet{border-radius:27px 27px 0 0;padding:14px 23px calc(23px + env(safe-area-inset-bottom));max-height:90dvh;animation:rise .2s ease}.sheet-handle{display:block;width:35px;height:4px;border-radius:3px;background:var(--line);margin:0 auto 16px}.sheet-head h2{font-size:18px}.sheet-head{margin-bottom:17px}.sheet .word-big{font-size:33px}.sheet .word-meaning{font-size:18px;margin:20px 0 13px}.sheet .word-buttons .btn{font-size:12px;min-height:43px}.book-sheet{max-height:95dvh;padding:0}.book-sheet .sheet-head{padding:19px 21px 0;align-items:flex-start}.book-sheet .sheet-head h2{font-size:17px}.book-sheet .sheet-head small{font-size:9px;max-width:245px;line-height:1.8}.book-controls{padding:0 21px 12px}.book-controls .search{width:100%;margin-top:9px}.book-controls .segmented{width:100%}.book-controls .segmented button{flex:1;padding-left:8px;padding-right:8px}.book-content{padding:14px 21px 30px}.book-content p{font-size:12px}.book-content h3{font-size:16px}.book-content table,.book-content tbody,.book-content tr{display:block}.book-content td{display:block;width:100%;padding:13px;border:0}.book-content td+td{border-top:1px solid var(--line)}.book-content tr{border-bottom:1px solid var(--line)}.book-content td:empty{display:none}.sheet-foot{padding:12px 21px calc(12px + env(safe-area-inset-bottom));font-size:9px}.toast{bottom:calc(92px + env(safe-area-inset-bottom));font-size:11px;padding:12px 17px;max-width:calc(100vw - 36px);width:max-content}.session-active .mobile-nav{display:none}.session-active .main{padding-bottom:calc(25px + env(safe-area-inset-bottom))}[data-theme="dark"] .mobile-nav{background:#222e27eb;border-color:#364238}.start-note{font-size:10px;margin-top:19px}}
@media(max-width:370px){.main{padding-left:16px;padding-right:16px}.hero-title{font-size:28px!important}.dashboard-top{grid-template-columns:minmax(0,1fr) 101px;gap:9px}.hero{padding:20px 16px}.hero h2{font-size:21px}.goal-card{padding:14px 6px}.progress-ring{width:72px;height:72px}.unit-card{grid-template-columns:90px minmax(0,1fr)}.unit-body{padding-left:14px;padding-right:14px}.unit-metrics{gap:6px;font-size:8px}.segmented button{padding:7px 9px}.practice-launch .segmented button{padding:6px 9px}.quick-card small{font-size:7px}.quick-card strong{font-size:10px}.quiz-card{padding:21px 17px}.reader-body{padding:0 19px}.reader-header{padding:23px 19px}.hero .btn{padding:9px 10px}.pill{padding:8px 11px;font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Comfortable touch targets and readable captions on compact screens. */
.start-note>svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;vertical-align:-3px;margin-right:6px}.quiz-passage summary>svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;vertical-align:-3px;margin-right:5px}.brand-sub{display:block}.feedback:focus{outline:0}.quiz-card:focus{outline:0}
@media(max-width:700px){.hero .eyebrow{font-size:9px}.hero p{font-size:11px;max-width:143px}.hero .btn{font-size:11px}.goal-card .goal-title{font-size:11px}.goal-card .goal-tip{font-size:10px}.quick-card strong{font-size:12px}.quick-card small{font-size:10px;line-height:1.7}.quick-card{align-content:start}.section-title .label{font-size:10px}.unit-number{font-size:9px}.unit-body .eyebrow{font-size:9px}.unit-body>p{font-size:11px}.unit-metrics{font-size:10px}.unit-footer{font-size:10px}.unit-footer button{font-size:11px;min-height:40px}.mobile-nav button{font-size:10px;min-height:44px}.page-head p{font-size:12px}.pill{font-size:11px;min-height:44px}.pill em{font-size:10px}.flash-header{font-size:11px}.flash-header .icon-btn{width:44px;height:44px;min-width:44px}.flash-card .flip-hint{font-size:11px}.swipe-note{font-size:11px}.word-row small{font-size:11px}.word-detail{font-size:13px}.lesson-link small{font-size:10px}.lesson-link span{font-size:10px}.lesson-link{min-height:104px}.reader-header>p{font-size:11px}.reader-tools .toggle-btn{font-size:11px;min-height:44px}.para-actions button{min-width:44px;min-height:44px}.para-notes summary{min-height:44px;padding-top:11px}.notes-content{font-size:12px}.practice-intro p{font-size:11px}.practice-type p{font-size:11px}.practice-launch .label{font-size:11px}.quiz-meta{font-size:11px}.quiz-label{font-size:11px}.input-note{font-size:11px;line-height:1.8}.feedback p{font-size:13px}.feedback .source-note{font-size:11px}.review-card-top{font-size:11px}.book-content p{font-size:14px}.book-content td{font-size:13px}.book-button strong{font-size:12px}.book-button small{font-size:11px}.history-note{font-size:11px}.sheet-foot{font-size:10px}.start-note{font-size:12px}.bottom-quote span{font-size:10px}}
@media(max-width:370px){.hero .btn{font-size:10px}.quick-card strong{font-size:11px}.quick-card small{font-size:10px}.unit-metrics{font-size:9px}.hero p{font-size:10px}.pill{font-size:10px}.pill em{font-size:9px}}
