@charset "UTF-8";
:root{--bg:#f4f7fc;--paper:#fff;--ink:#293d59;--muted:#64758b;--blue:#285ca8;--blue-light:#e9f1fc;--line:#e2e9f3;--amber:#9b742d;--radius:18px;font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none;color:var(--ink);background:var(--bg);font-size:14px}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;line-height:1.5;background:none;color:inherit;transition:background .18s,transform .18s}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}a{color:var(--blue);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #93a9c5;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:600}h1{font-size:30px;letter-spacing:-.8px;line-height:1.5;margin-bottom:10px}h2{font-size:17px;line-height:1.5;margin-bottom:8px}h3{font-size:15px;line-height:1.6;margin-bottom:5px}p{line-height:1.8}small{font-size:12px}strong{font-weight:600}.icon{width:20px;height:20px;flex:none}.muted{color:var(--muted);font-size:13px;line-height:1.9}.eyebrow{font-size:11px;letter-spacing:1.9px;color:#6d829d;font-weight:600;margin-bottom:13px}.primary{background:var(--blue);color:#fff;border:1px solid var(--blue);padding:12px 21px;border-radius:9px;font-weight:500}.primary:hover{background:#204b8b}.secondary{background:#fff;border:1px solid #d4dce6;padding:11px 19px;border-radius:9px;color:var(--blue);font-weight:500}.secondary:hover{background:#ebf0f6}.cream{padding:13px 21px;border-radius:8px;background:#c4d9f4;color:#213753;font-weight:600}.cream:hover{background:#dbe8f8}.small{padding:9px 14px;font-size:12px}.text-btn{color:var(--blue);font-size:12px;padding:7px 0}.text-btn .icon{width:16px;height:16px}.text-btn:hover{color:#55759e}.icon-btn{width:36px;height:36px;border-radius:8px;color:#8294ab}.icon-btn:hover{background:#e7edf4;color:var(--blue)}.wide{width:100%;padding:14px 20px}.danger{background:#a84d42;color:#fff;padding:11px 21px;border-radius:9px}.fine-print{font-size:12px;color:#7a8da6;line-height:1.9;margin-bottom:0}.notice{background:#e8eef7;color:#516784;border:1px solid #d4dfee;padding:12px 16px;border-radius:9px;font-size:12px;line-height:1.9}.notice.error{color:#9b5348;background:#fff1ec;border-color:#f0d9d1}.amber-text{color:var(--amber)!important}
.sidebar{width:228px;position:fixed;inset:0 auto 0 0;background:#f7fafd;border-right:1px solid var(--line);padding:37px 22px 26px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:0 11px;color:var(--ink);width:fit-content}.brand>span{font-size:27px;letter-spacing:4px;font-family:"STKaiti","KaiTi","Songti SC",serif;line-height:1.1}.brand small{display:block;font-family:Inter,"Segoe UI",sans-serif;font-size:9px;letter-spacing:3.8px;font-weight:500;margin-top:9px}.sidebar-caption{font-size:10px;letter-spacing:1px;color:#8395ac;margin:27px 0 31px 12px}.sidebar nav{display:flex;flex-direction:column;gap:10px}.nav-link{width:100%;padding:14px 14px;justify-content:flex-start;border-radius:9px;font-size:13px;gap:13px;color:#677d9a}.nav-link.active{background:#e0e8f2;color:var(--blue);font-weight:600}.nav-link i{margin-left:auto;width:5px;height:5px;border-radius:100%;background:#485e7a}.nav-link:hover{background:#e9eef5}.sidebar-bottom{margin-top:auto;padding:24px 15px 4px}.sidebar-bottom .little-leaf{color:#6480a5;margin-bottom:13px;transform:rotate(-16deg);transform-origin:bottom left}.little-leaf .icon{width:28px;height:28px}.sidebar-bottom p{font-family:"Songti SC","SimSun",serif;font-size:20px;line-height:1.9;letter-spacing:2px;color:#627792;margin-bottom:24px}.sidebar-bottom small{color:#92a2b6;font-size:10px;line-height:1.8}.workspace{margin-left:228px;min-height:100vh}.topbar{height:88px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line);padding:0 4.2%;background:rgba(255,255,255,.45)}.crumb{font-size:11px;color:#798da6;display:flex;gap:15px;align-items:center;margin-right:auto}.crumb>span{color:#b6c1cf}.local-badge{display:flex;align-items:center;gap:7px;font-size:10px;color:#8395ac}.local-badge i{width:5px;height:5px;background:#7998c0;border-radius:100%}main{max-width:1320px;margin:0 auto;padding:36px 4.2% 0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}.page-heading .muted{margin:0}.page-heading .eyebrow{font-size:11px;letter-spacing:1px;margin-bottom:8px}.streak-badge{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #d5dfed;border-radius:8px;background:#e5edf7;font-size:11px;color:#516c90;white-space:nowrap}.streak-badge .icon{width:17px;height:17px}.streak-badge b{font-size:16px;font-weight:500;padding:0 3px}.hero{position:relative;border-radius:18px;min-height:278px;overflow:hidden;background:#285ca8;color:#edf3fa;display:flex;align-items:center;justify-content:space-between;padding:35px 40px}.hero:after{content:"";position:absolute;inset:-170px -90px auto auto;width:480px;height:480px;border:1px solid #ffffff08;border-radius:100%;pointer-events:none}.hero-copy{z-index:1;flex:1}.hero-kicker{font-size:8px;letter-spacing:2.1px;color:#acbdd3;display:flex;align-items:center;gap:8px;margin-bottom:20px}.hero-kicker>span{width:6px;height:6px;background:#99bbe8;border-radius:100%}.hero h2{font-size:26px;letter-spacing:.1px;line-height:1.5;margin-bottom:12px}.hero-copy>p{color:#aebbcd;font-size:12px;max-width:480px;margin-bottom:24px;line-height:1.9}.hero-meta{display:flex;align-items:center;gap:7px;margin-top:17px;color:#98a8be;font-size:10px}.hero-meta .icon{width:12px;height:12px}.hero-meta>span{padding:0 4px}.hero-orbit{position:relative;flex:none;margin-left:20px;width:224px;display:flex;align-items:center;flex-direction:column}.orbit-label{font-size:10px;letter-spacing:2px;color:#b3c0d1;margin-bottom:16px}.progress-ring{width:164px;height:164px;border-radius:100%;background:conic-gradient(#9cbeeb var(--progress),#3c5371 0);padding:7px;transform:rotate(-30deg);box-shadow:0 0 0 14px #ffffff03,0 0 0 15px #ffffff04}.progress-ring>div{background:#285ca8;width:100%;height:100%;border-radius:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(30deg)}.progress-ring strong{font-size:50px;letter-spacing:-2px;font-weight:400;line-height:1.3;color:#d1e1f6}.progress-ring strong small{font-size:17px;letter-spacing:0;color:#99a8bb}.progress-ring span{font-size:9px;color:#99a8bb;margin-top:7px;letter-spacing:.6px}.orbit-sprout{position:absolute;right:16px;bottom:-8px;color:#87abda;transform:rotate(25deg)}.orbit-sprout .icon{width:28px;height:28px}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0 28px}.stat-card{background:#fff;display:flex;align-items:center;gap:16px;padding:22px 24px;border:1px solid var(--line);border-radius:13px}.stat-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:12px}.sage{color:#617b9c;background:#e4ecf7}.sand{color:#ab9467;background:#f6f1e5}.lavender{color:#8a8fa9;background:#f0f0f7}.stat-card>div{display:flex;flex-direction:column;gap:8px}.stat-card>div>span{font-size:11px;color:#7f91a9}.stat-card strong{font-size:25px;font-weight:500;color:#343f4e;line-height:1}.stat-card strong small{font-weight:400;font-size:11px;color:#8697ae}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(275px,1fr);gap:24px;align-items:start}.panel{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:24px}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:19px}.section-heading h2{font-size:15px;margin-bottom:6px}.section-heading p{font-size:10px;color:#8395ad;margin-bottom:0;line-height:1.8}.section-heading .text-btn{white-space:nowrap;font-size:10px}.count{background:#e7edf5;color:#6d83a0;font-size:10px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:6px;margin-left:6px}.word-row{display:flex;align-items:center;gap:14px;padding:17px 0;border-top:1px solid #eceff4;min-height:77px}.row-number{font-size:10px;color:#97a6ba;width:20px;flex:none}.row-number.done{color:#607ea6}.row-number .icon{width:17px;height:17px}.word-content{min-width:0;flex:1;display:flex;flex-direction:column;gap:7px}.word-content strong{font-size:13px;line-height:1.4;overflow-wrap:anywhere}.word-content>span{font-size:10px;line-height:1.5;color:#8697ae;overflow-wrap:anywhere}.tag{display:inline-flex;align-items:center;justify-content:center;font-size:10px;padding:4px 8px;border-radius:5px;white-space:nowrap;background:#edf0f5;color:#7a8ea7;line-height:1.5}.tag.green{background:#e4ecf6;color:#53729b}.tag.amber{background:#faf1df;color:#ad8b48}.row-state{font-size:10px;white-space:nowrap;color:#6b809c;min-width:28px;text-align:right}.panel-note{margin:14px 0 0;padding:12px;background:#eff4fa;border-radius:8px;font-size:11px;color:#7185a0}.right-stack{display:flex;flex-direction:column;gap:18px}.rhythm{background:#f8fbfe}.rhythm .section-heading{margin-bottom:5px}.curve{width:100%;height:auto;max-height:106px;display:block;margin:12px 0 15px}.mini-nodes{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:500;color:#577192;margin-bottom:17px}.mini-nodes small{font-size:9px;color:#8fa0b5;font-weight:400;margin-left:3px}.mini-nodes i{color:#b6c3d3;font-style:normal}.rhythm .fine-print{font-size:10px;line-height:2}.rhythm .text-btn{font-size:10px;margin-top:7px}.week-panel{padding-top:21px}.week-panel>h2{font-size:14px;margin-bottom:19px}.week-days{display:flex;justify-content:space-between;gap:8px}.week-day{display:flex;align-items:center;flex-direction:column;gap:11px}.week-day>span{font-size:10px;color:#8899af}.week-day b{width:28px;height:28px;border-radius:100%;display:grid;place-items:center;background:#edf2f8;color:#b3becd;font-weight:400;font-size:18px}.week-day b.has-activity{background:#cfddef;color:#55739b}.week-day .icon{width:15px;height:15px}.week-day.is-today b{outline:1px solid #9db3cf;outline-offset:3px}.week-panel .fine-print{font-size:10px;margin-top:18px}.empty-inline{text-align:center;padding:43px 12px 39px}.empty-symbol{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#e9eff7;color:#7790b0;margin:0 auto 20px}.empty-symbol .icon{width:26px;height:26px}.empty-inline h3{font-size:14px;color:#546881}.empty-inline p{font-size:11px;color:#8697ae;margin:10px auto 20px;max-width:340px}.empty-inline .secondary{font-size:11px;padding:10px 15px}.page-footer{text-align:center;font-size:9px;color:#99a8bb;padding:30px 20px;letter-spacing:1px}.page-footer>span{padding:0 8px}.mobile-nav{display:none}
.library-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px}.filters{display:flex;gap:4px;background:#f0f3f8;padding:4px;border-radius:9px}.filters button{font-size:12px;padding:8px 14px;border-radius:6px;color:#8093ab;white-space:nowrap}.filters button.selected{background:#fff;box-shadow:0 1px 4px #293d5910;color:var(--blue)}.search-box{display:flex;align-items:center;border:1px solid #d9e1eb;border-radius:8px;padding:0 10px;gap:8px;min-width:0}.search-box>.icon{width:16px;height:16px;color:#90a0b5}.search-box>input{border:0;min-width:0;width:190px;outline:none;background:none;padding:10px 0;font-size:12px;color:var(--ink)}.collection-summary{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#8597ae;margin:20px 0 8px}.collection-row{display:flex;align-items:center;gap:20px;border-top:1px solid #e5ebf3;padding:22px 0}.collection-main{flex:1;min-width:0}.collection-main h3{font-size:16px;margin:8px 0;overflow-wrap:anywhere}.collection-main p{color:#7488a3;font-size:12px;margin:0;overflow-wrap:anywhere}.collection-progress{display:flex;flex-direction:column;align-items:flex-end;gap:11px;min-width:130px}.collection-progress>small{color:#8597ae;font-size:10px}.stage-dots{display:flex;gap:4px}.stage-dots i{width:14px;height:4px;border-radius:3px;background:#dfe7f1}.stage-dots i.filled{background:#6990c3}.row-actions{display:flex;margin-left:8px;gap:3px}.row-actions .icon{width:16px;height:16px}.journey{display:grid;grid-template-columns:repeat(6,1fr);position:relative;gap:15px;text-align:center;padding:18px 0 12px}.journey:before{content:"";height:1px;background:#d1dceb;position:absolute;left:7%;right:7%;top:43px}.journey>div{display:flex;flex-direction:column;align-items:center;gap:14px;z-index:1}.journey-node{width:50px;height:50px;background:#e5edf7;border:5px solid #fff;box-sizing:content-box;border-radius:100%;display:flex;align-items:center;justify-content:center;color:#5074a2;font-size:21px;font-weight:400}.journey-node>small{font-size:9px;margin-left:3px}.journey strong{font-size:24px;font-weight:400}.journey>div>small{font-size:10px;color:#8a9bb1}.progress-grid{margin-top:24px}.forecast>div{display:flex;align-items:center;gap:13px;margin:19px 0;font-size:11px}.forecast>div>span{width:92px;flex:none;color:#6e839e}.forecast-track{height:7px;background:#eaeff6;border-radius:5px;flex:1}.forecast-track>i{height:100%;display:block;background:#a2bada;border-radius:5px}.forecast b{font-size:13px;min-width:14px;text-align:right;font-weight:500}.forecast small{font-size:9px;color:#8596ad}.history>div{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid #eaeff6;font-size:11px}.history>div>span{flex:1;color:#8294ab}.history strong{font-weight:400}.history small{font-size:10px;color:#b19a71}.compact{padding:24px 0}.settings-panel{margin-bottom:22px;padding:27px 30px}.settings-panel>h2{margin-bottom:14px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:21px 0;border-bottom:1px solid #e7edf5}.setting-row:last-of-type{border-bottom:0}.setting-row h3{font-size:13px;margin-bottom:7px}.setting-row p{font-size:11px;color:#8193ab;margin-bottom:0;line-height:1.8}.setting-row select{flex:none;width:130px}.switch{appearance:none;-webkit-appearance:none;width:38px;height:22px;flex:none;border-radius:20px;background:#d4dde8;position:relative;cursor:pointer;transition:background .2s}.switch:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:100%;background:white;box-shadow:0 1px 2px #0002;transition:transform .2s}.switch:checked{background:#546b88}.switch:checked:before{transform:translateX(16px)}.backup-actions{display:flex;gap:12px;margin:8px 0 20px}.backup-actions button{font-size:12px}.about p{font-size:12px;color:#778ba5}.about>a{font-size:11px}
.study-top{display:flex;justify-content:space-between;align-items:center;margin:4px auto 18px;max-width:780px;font-size:12px;color:#7689a3}.study-top b{color:var(--blue);font-weight:500}.study-progress{height:4px;border-radius:5px;background:#d5dfed;max-width:780px;margin:0 auto}.study-progress>i{display:block;height:100%;background:#6b8bb4;border-radius:5px;transition:width .3s}.study-steps{display:flex;align-items:center;justify-content:center;gap:16px;margin:31px 0;font-size:11px;color:#8f9fb4}.study-steps i{width:36px;height:1px;background:#ced9e8}.study-steps .active{color:var(--blue);font-weight:600}.study-card{max-width:720px;margin:0 auto;padding:29px 55px 38px;text-align:center;box-shadow:0 9px 40px #212f4104}.study-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px;font-size:10px;color:#8b9cb2}.study-card h1{font-size:25px;margin-bottom:10px}.study-card .eyebrow{font-size:9px;letter-spacing:2px}.study-card>.muted{font-size:12px}.bilingual{padding:28px 15px 30px;background:#edf3fa;border:1px solid #e3ebf5;border-radius:12px;margin:30px 0;overflow-wrap:anywhere}.bilingual>strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:30px;line-height:1.5;font-weight:400;color:#354b68}.bilingual p{font-size:14px;color:#7185a0;margin:12px 0 0}.restart-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:#b0935c;margin-bottom:25px}.restart-note .icon{width:15px;height:15px}.previous-answer{font-size:11px;line-height:1.8;padding:14px;border-radius:8px;background:#fbf0ea;color:#ac8675;margin-top:25px;overflow-wrap:anywhere}.previous-answer+.bilingual{margin-top:12px}.chinese-prompt{background:#edf3fa;padding:25px;border-radius:12px;text-align:left;margin:30px 0}.chinese-prompt>span{color:#8698af;font-size:10px}.chinese-prompt>p{color:#425267;font-size:20px;line-height:1.7;margin:9px 0 0;overflow-wrap:anywhere}#answer-form{text-align:left}.input-label{font-size:12px;color:#677d9a;display:block;margin-bottom:11px}textarea,input[type=search],select{font-family:inherit}textarea{resize:vertical;width:100%;border:1px solid #cfdae8;border-radius:9px;padding:14px 16px;color:var(--ink);line-height:1.7;background:#fff}textarea::placeholder{color:#a1aec0}#answer{font-size:19px;min-height:100px;letter-spacing:.3px}#answer:focus{outline:2px solid #809dc2;outline-offset:1px}.answer-hint{display:flex;justify-content:space-between;font-size:9px;color:#8f9fb4;margin:10px 0 28px}.reveal{margin-top:14px;color:#7689a3;font-size:11px}.success-mark,.completion-mark{display:grid;place-items:center;border-radius:100%;width:54px;height:54px;background:#dbe7f6;color:#547db3;margin:0 auto 24px}.success-mark .icon{width:27px;height:27px}.next-review{font-size:12px;color:#7087a5;margin:0 0 28px}.study-footnote{display:flex;justify-content:center;align-items:center;gap:7px;font-size:10px;color:#8f9fb5;margin:25px 0}.study-footnote .icon{width:14px;height:14px}.completion{max-width:760px;margin:35px auto;text-align:center;padding:50px 45px}.completion-mark{width:75px;height:75px;margin-bottom:30px}.completion-mark .icon{width:35px;height:35px}.completion h1{font-size:27px}.completion>p:not(.eyebrow){font-size:12px;color:#8597ae}.completion-stats{display:flex;justify-content:center;margin:35px 0;gap:40px}.completion-stats>div{display:flex;align-items:center;flex-direction:column;gap:13px}.completion-stats strong{font-size:37px;font-weight:400;color:#435a78}.completion-stats span{font-size:11px;color:#8294ac}.completion>.primary{margin-top:20px}.completion>.text-btn{display:block;margin:15px auto 0}
dialog{border:1px solid #cedae9;border-radius:19px;padding:28px;width:min(500px,calc(100% - 32px));max-height:calc(100dvh - 40px);color:var(--ink);box-shadow:0 24px 90px #0d24422a;background:#fff}dialog::backdrop{background:#0e254359;backdrop-filter:blur(4px)}dialog.modal-wide{width:min(630px,calc(100% - 32px))}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.modal-header h2{font-size:20px;margin:0}.modal-header+.muted{font-size:12px}.field-label{display:flex;flex-direction:column;gap:10px;font-size:12px;color:#647a97;margin:19px 0}.field-label textarea{font-size:15px}select{color:var(--ink);background:#f5f8fd;border:1px solid #cedae9;border-radius:8px;padding:10px 13px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:23px}.modal-actions button{font-size:12px}.form-error{color:#a3634c;font-size:12px;line-height:1.8}.rules>div{display:flex;gap:18px;margin:28px 0}.rules>div>b{color:#7f9bc0;font-size:16px;font-weight:400;padding-top:4px}.rules h3{font-size:14px}.rules p{font-size:12px;color:#7488a2;margin-bottom:0}.rules+.fine-print{margin:10px 0 25px}.bulk-input{font-size:13px;margin:12px 0}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;padding:12px 22px;border-radius:10px;background:#1e2f45;color:#eaf0f8;font-size:12px;line-height:1.8;max-width:min(92vw,550px);text-align:center;box-shadow:0 7px 30px #0002;z-index:100;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1600px){main{padding-top:47px}.hero{min-height:300px}.hero h2{font-size:30px}.hero-copy>p{font-size:13px}.hero-orbit{width:260px}.progress-ring{width:182px;height:182px}.word-row{min-height:86px}.word-content strong{font-size:15px}.word-content>span{font-size:11px}.panel{padding:27px}.stat-card{padding:27px}}
@media(max-width:1190px){.sidebar{width:190px;padding-left:14px;padding-right:14px}.workspace{margin-left:190px}.topbar{padding:0 28px;height:77px}main{padding:30px 28px 0}.hero{padding:30px}.hero h2{font-size:23px}.hero-orbit{width:170px;margin-left:25px}.progress-ring{width:144px;height:144px}.progress-ring strong{font-size:44px}.dashboard-grid{gap:18px;grid-template-columns:minmax(0,1.6fr) minmax(254px,1fr)}.stat-card{padding:20px 18px;gap:12px}.panel{padding:21px}.word-row{gap:10px}.type-tag{display:none}.library-toolbar{flex-wrap:wrap;gap:15px}.search-box{flex:1;min-width:200px}.search-box input{width:100%}.collection-row{gap:12px}.row-actions{margin-left:0;flex-direction:column}.study-card{padding:28px 45px 35px}.journey{gap:8px}}
@media(max-width:960px){.sidebar{width:176px}.workspace{margin-left:176px}.sidebar-caption{font-size:9px;letter-spacing:0}.brand{padding-left:8px}.brand>span{font-size:25px}.nav-link{gap:10px;padding:13px 12px;font-size:12px}.local-badge{display:none}h1{font-size:27px}.streak-badge{padding:8px 10px;font-size:10px}.hero-orbit{width:135px;margin-left:15px}.progress-ring{width:125px;height:125px}.progress-ring strong{font-size:37px}.progress-ring span{font-size:8px;letter-spacing:0}.hero h2{font-size:21px}.hero-copy>p{font-size:11px}.hero-kicker{font-size:7px;letter-spacing:1.5px}.hero{padding:28px 24px}.stat-grid{gap:10px}.stat-card{padding:18px 13px;gap:10px}.stat-icon{width:33px;height:33px;border-radius:9px}.stat-icon .icon{width:17px;height:17px}.stat-card>div>span{font-size:9px}.stat-card strong{font-size:22px}.dashboard-grid{grid-template-columns:1fr}.right-stack{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}.week-panel .fine-print{margin-top:22px}.rhythm .section-heading p{font-size:10px}.word-row{min-height:75px}.type-tag{display:inline-flex}.word-content strong{font-size:14px}.word-content>span{font-size:11px}.hero-meta{font-size:9px}.collection-progress{min-width:115px}.journey>div>small{font-size:8px}.journey-node{width:40px;height:40px}.journey:before{top:39px}}
@media(max-width:700px){:root{font-size:14px}.sidebar{display:none}.workspace{margin-left:0}.topbar{height:71px;padding:0 20px;gap:10px;background:#f6f9fd}.crumb{font-size:12px;color:var(--blue);gap:8px;letter-spacing:.3px}.crumb:before{content:"渐记";font-family:"STKaiti","KaiTi",serif;font-size:24px;font-weight:600;letter-spacing:2px;margin-right:4px}.crumb{font-size:0;gap:0}.crumb>span{display:none}.topbar>.primary{font-size:11px;padding:8px 12px}.topbar>.primary .icon{width:16px;height:16px}main{padding:24px 18px 0}.page-heading{align-items:flex-start;gap:12px;margin-bottom:22px}.page-heading .eyebrow{font-size:10px;margin-bottom:7px}h1{font-size:24px;letter-spacing:-.5px;margin-bottom:7px}.page-heading .muted{font-size:11px;max-width:260px;line-height:1.8}.streak-badge{font-size:0;padding:8px 9px;margin-top:4px;gap:4px;white-space:nowrap}.streak-badge b{font-size:15px;padding:0 1px}.streak-badge b:after{content:"天";font-size:9px;margin-left:3px}.streak-badge .icon{width:15px;height:15px}.hero{min-height:253px;padding:26px 23px;align-items:center;border-radius:15px}.hero-copy{max-width:100%}.hero h2{font-size:22px;max-width:230px;line-height:1.55;margin-bottom:12px}.hero-copy>p{font-size:11px;max-width:240px;line-height:1.9;margin-bottom:23px;padding-right:12px}.hero-kicker{font-size:7px;letter-spacing:1.5px;margin-bottom:17px}.hero .cream{font-size:12px;padding:11px 16px}.hero .cream>.icon{width:17px;height:17px}.hero-orbit{width:104px;margin-left:0;position:absolute;right:18px;bottom:30px;opacity:.93}.orbit-label{font-size:8px;letter-spacing:1px;margin-bottom:14px}.progress-ring{width:88px;height:88px;padding:4px;box-shadow:0 0 0 9px #ffffff03,0 0 0 10px #ffffff04}.progress-ring strong{font-size:28px;letter-spacing:-1px}.progress-ring strong small{font-size:12px}.progress-ring span{display:none}.orbit-sprout{right:0;bottom:-4px}.orbit-sprout .icon{width:18px;height:18px}.hero-meta{font-size:8px;gap:5px;margin-top:15px;max-width:245px}.hero-meta .icon{width:10px;height:10px}.hero-meta>span{padding:0 1px}.stat-grid{margin:16px 0 22px;gap:8px}.stat-card{flex-direction:column;align-items:flex-start;gap:11px;padding:15px 14px;border-radius:12px}.stat-icon{width:28px;height:28px;border-radius:8px}.stat-icon .icon{width:15px;height:15px}.stat-card>div{gap:9px}.stat-card>div>span{font-size:9px;white-space:nowrap}.stat-card strong{font-size:24px}.stat-card strong small{font-size:9px}.dashboard-grid{gap:16px}.panel{border-radius:14px;padding:20px}.section-heading{gap:6px}.section-heading h2{font-size:14px}.section-heading p{font-size:10px}.section-heading .text-btn{font-size:9px;gap:4px}.section-heading .text-btn .icon{width:13px;height:13px}.word-row{gap:10px;padding:16px 0}.row-number{width:15px;font-size:9px}.word-content strong{font-size:13px}.word-content>span{font-size:10px}.row-state{font-size:9px}.type-tag{display:none}.right-stack{grid-template-columns:1fr}.rhythm .curve{max-height:110px}.rhythm .mini-nodes{max-width:100%;padding:0 7px}.rhythm .fine-print{font-size:11px}.week-panel{padding:22px}.week-days{padding:0 3px}.week-day b{width:33px;height:33px}.week-day>span{font-size:11px}.page-footer{padding:28px 18px 102px}.mobile-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);padding:8px 8px calc(9px + env(safe-area-inset-bottom));background:#f8fbfef5;backdrop-filter:blur(15px);border-top:1px solid #d8e1ed}.mobile-nav button{flex-direction:column;gap:5px;font-size:9px;padding:6px 4px;color:#8e9eb3;border-radius:9px}.mobile-nav button.active{color:#304a6c}.mobile-nav button.active .icon{stroke-width:2}.mobile-nav .icon{width:21px;height:21px}.mobile-nav button.active:after{content:"";position:absolute;bottom:2px;width:3px;height:3px;background:#5b7faf;border-radius:100%}.mobile-nav button{position:relative}.empty-inline{padding:34px 4px}.empty-inline p{font-size:11px}.empty-inline h3{font-size:13px}.empty-symbol{width:52px;height:52px}.library-toolbar{gap:15px;align-items:stretch;flex-direction:column}.filters{width:100%;justify-content:space-between}.filters button{font-size:11px;padding:8px 13px}.search-box input{font-size:12px;padding:12px 0}.library-panel{padding:18px}.page-heading>.primary{display:none}.collection-row{flex-wrap:wrap;align-items:flex-start;gap:10px;padding:21px 0}.collection-main{flex-basis:calc(100% - 100px);min-width:150px}.collection-main h3{font-size:16px}.collection-main p{font-size:11px}.collection-progress{min-width:78px;max-width:120px;gap:13px}.collection-progress>small{font-size:9px}.collection-progress .stage-dots{gap:3px}.stage-dots i{width:11px}.row-actions{flex-direction:row;width:100%;justify-content:flex-end;margin-top:-6px}.row-actions .icon-btn{width:30px;height:28px}.journey{grid-template-columns:repeat(3,1fr);gap:25px 10px;padding:15px 0}.journey:before{display:none}.journey>div{gap:7px}.journey>div>small{font-size:9px}.journey-node{width:48px;height:48px}.journey strong{font-size:22px}.progress-grid{margin-top:17px}.settings-panel{padding:22px;margin-bottom:17px}.settings-panel>h2{font-size:16px}.setting-row{gap:18px;padding:19px 0}.setting-row p{font-size:10px}.setting-row h3{font-size:12px}.setting-row select{width:104px;font-size:11px;padding:9px}.setting-row .tag{font-size:9px}.backup-actions{flex-wrap:wrap;gap:10px}.backup-actions button{font-size:11px;padding:10px 14px}.about p{font-size:11px}.settings-panel .fine-print{font-size:10px}.study-top{font-size:11px;margin-top:0}.study-top .text-btn{font-size:11px}.study-steps{font-size:10px;gap:10px;margin:25px 0}.study-steps i{width:22px}.study-card{padding:23px 22px 28px}.study-card-head{margin-bottom:30px}.study-card h1{font-size:21px}.study-card>.muted{font-size:11px}.study-card .eyebrow{font-size:8px}.bilingual{padding:26px 13px;margin:25px 0}.bilingual>strong{font-size:27px}.bilingual p{font-size:12px}.study-card .primary{font-size:12px;padding:13px 15px}.restart-note{font-size:10px;line-height:1.7}.chinese-prompt{padding:22px;margin:26px 0}.chinese-prompt>p{font-size:18px}#answer{font-size:18px;padding:13px}.answer-hint{font-size:8px;gap:10px;margin-bottom:24px}.answer-hint>span:last-child{display:none}.study-footnote{font-size:9px}.reveal{font-size:10px;line-height:1.9}.completion{margin:15px 0;padding:35px 22px}.completion h1{font-size:23px}.completion-stats{gap:24px;margin:30px 0}.completion-stats strong{font-size:30px}.completion-stats span{font-size:9px}.completion>p:not(.eyebrow){font-size:11px}dialog{padding:23px;max-height:calc(100dvh - 35px);border-radius:15px}.modal-header h2{font-size:18px}.field-label{font-size:12px}.modal-actions{gap:10px}.modal-actions button{padding:11px 16px}.rules>div{gap:14px}.rules p{font-size:11px}.rules h3{font-size:13px}#toast{bottom:100px;padding:12px 18px;font-size:11px}}
@media(max-width:370px){main{padding-left:13px;padding-right:13px}.hero{padding:24px 20px}.hero h2{font-size:20px;max-width:205px}.hero-copy>p{max-width:200px;font-size:10px}.hero-orbit{width:85px;right:10px;bottom:29px}.progress-ring{width:73px;height:73px}.progress-ring strong{font-size:25px}.progress-ring strong small{font-size:10px}.hero-meta{font-size:7px}.hero .cream{font-size:11px;padding:10px 13px}.stat-card{padding:14px 10px}.stat-card>div>span{font-size:8px}.page-heading h1{font-size:22px}.page-heading .muted{font-size:10px}.study-card{padding:21px 17px}.study-card h1{font-size:19px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Reading comfort: prompts and learning content stay legible on small screens. */
.word-content>span,.section-heading p{color:#677d99}.stat-card>div>span{color:#647a96}.fine-print{color:#677d99}.setting-row p,.about p{font-size:12px;color:#677d9a}.collection-main p{color:#667c99}.study-card>.muted{color:#657b97}.word-content strong{font-size:15px}.word-content>span{font-size:12px}.section-heading p{font-size:11px}
@media(max-width:700px){.word-content strong{font-size:15px}.word-content>span{font-size:12px}.hero-copy>p{font-size:12px;max-width:218px}.stat-card>div>span{font-size:10px}.page-heading .muted{font-size:12px}.study-card>.muted{font-size:12px}.study-card-head{font-size:11px}.bilingual p{font-size:14px}.restart-note{font-size:11px}.next-review{font-size:13px}.reveal{font-size:12px}.settings-panel .fine-print,.about p{font-size:12px}.setting-row p{font-size:12px}.setting-row h3{font-size:14px}.mobile-nav button{font-size:10px}.collection-main p{font-size:12px}.empty-inline p{font-size:12px}.study-footnote{font-size:10px}.hero-meta{max-width:190px;flex-wrap:wrap}.hero{min-height:280px}}
@media(max-width:370px){.hero-copy>p{max-width:184px;font-size:11px}.stat-card>div>span{font-size:9px}}
/* Compact practice: one bilingual pair or answer per row. */
.practice-view .topbar{height:60px}
.practice-view main{padding-top:12px;padding-bottom:24px}
.practice-view .page-footer{display:none}
.batch-top{max-width:960px;margin:0 auto 8px;min-height:32px;font-size:12px}
.batch-top .text-btn{font-size:12px}
.batch-study{max-width:960px;margin:0 auto;padding:18px 22px;border-radius:12px}
.batch-heading{text-align:left;margin:0 0 12px}
.batch-heading h1{font-size:20px;line-height:1.4;letter-spacing:0;margin:0 0 4px}
.batch-heading h1>span{font-size:14px;font-weight:400;color:#64758b}
.batch-heading .muted{font-size:12px;margin:0;line-height:1.5}
.batch-number{font-size:11px;color:#7689a3;min-width:20px;font-variant-numeric:tabular-nums}
.batch-write-list,.batch-review-list,.batch-results{border-top:1px solid var(--line)}
.batch-write-row{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:center;gap:20px;padding:3px 0;border-bottom:1px solid var(--line)}
.batch-prompt{display:flex;align-items:baseline;gap:12px;min-width:0;color:#2e415a;font-size:15px;line-height:1.5;cursor:text}
.batch-prompt>span:last-child{min-width:0;overflow-wrap:anywhere}
.batch-answer{min-width:0}
.batch-answer textarea{display:block;min-height:44px;height:44px;border-radius:6px;padding:10px 12px;font-size:16px;line-height:22px;resize:none;overflow:hidden}
.batch-answer textarea::placeholder{font-size:14px}
.batch-answer textarea:focus{border-color:#7087a4;outline:2px solid #c1ccdb;outline-offset:0}
.batch-review-row{display:flex;align-items:baseline;gap:12px;min-height:51px;padding:12px 0;border-bottom:1px solid var(--line)}
.batch-review-row>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 20px;align-items:baseline;flex:1;min-width:0}
.batch-review-row strong{font-size:17px;font-weight:500;color:#2c4565;line-height:1.5;overflow-wrap:anywhere}
.batch-review-row p{font-size:14px;color:#5f748f;margin:0;overflow-wrap:anywhere;line-height:1.5}
.batch-mistake{grid-column:1/-1;font-size:11px;color:#a98756;line-height:1.5;overflow-wrap:anywhere}
.batch-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:12px}
.batch-actions p{font-size:12px;color:#5f738e;margin:0;line-height:1.5}
.batch-actions .primary{font-size:13px;min-height:44px;padding:9px 16px;flex-shrink:0;border-radius:7px}
.batch-actions .primary .icon{width:17px;height:17px}
.batch-actions .form-error{flex-basis:100%;color:#ae6d54}
.batch-actions .form-error:empty{display:none}
.batch-result-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.batch-result-row>.batch-number{padding-top:3px}
.batch-result-content{flex:1;min-width:0}
.batch-result-content>p{font-size:14px;color:#475b75;margin:0 0 6px;overflow-wrap:anywhere}
.result-answer{display:flex;gap:10px;align-items:baseline;margin:4px 0;line-height:1.5}
.result-answer>span:first-child{font-size:11px;color:#778aa4;width:48px;flex:none}
.result-answer>strong{font-size:16px;font-weight:500;overflow-wrap:anywhere;min-width:0}
.result-answer>span:last-child{font-size:14px;color:#6c819d;overflow-wrap:anywhere;min-width:0}
.is-wrong .result-answer>span:last-child{color:#b08150}
.batch-results+.notice{margin:12px 0 0}
@media(max-width:700px){
  .practice-view .topbar{height:54px;padding:0 14px}
  .practice-view main{padding:8px 12px calc(84px + env(safe-area-inset-bottom))}
  .batch-top{margin:0 auto 6px;font-size:11px;min-height:30px}
  .batch-study{padding:12px;border-radius:10px}
  .batch-heading{margin:0 0 10px}
  .batch-heading h1{font-size:18px}
  .batch-heading h1>span{font-size:13px}
  .batch-heading .muted{font-size:11px}
  .batch-number{min-width:17px;font-size:10px}
  .batch-write-row{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10px;padding:2px 0}
  .batch-prompt{gap:7px;font-size:14px}
  .batch-answer textarea{padding:10px 8px}
  .batch-answer textarea::placeholder{font-size:13px}
  .batch-review-row{gap:7px;min-height:49px;padding:12px 0}
  .batch-review-row>div{gap:4px 12px}
  .batch-review-row strong{font-size:16px}
  .batch-review-row p{font-size:13px}
  .batch-actions{padding-top:10px;gap:8px}
  .batch-actions p{font-size:11px}
  .batch-actions .primary{font-size:12px;padding:9px 12px}
  .batch-result-row{gap:7px;flex-wrap:wrap}
  .batch-result-content{flex-basis:calc(100% - 26px)}
  .batch-result-row>.tag{margin-left:24px}
}
.entry-back{margin:0 0 12px}.simple-entry-heading{margin-bottom:18px}.simple-entry-heading h1{font-size:25px}.combined-entry{padding:24px;max-width:960px}.combined-entry .field-label{margin:0 0 10px;color:#476383}.combined-entry textarea{font-size:16px;line-height:1.85;padding:14px 16px;min-height:230px}.combined-entry textarea[aria-invalid=true]{border-color:#b76b58}.combined-entry .fine-print{font-size:12px;color:#657a95;margin-top:10px}.entry-savebar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:18px}.entry-savebar strong{font-size:14px;font-weight:500}.entry-savebar p{font-size:12px;line-height:1.6;color:#6c809b;margin:5px 0 0}.entry-savebar .entry-invalid,.entry-savebar .form-error{color:#a85e48}.entry-savebar .form-error{flex-basis:100%;margin:0}.entry-savebar .form-error:empty{display:none}.entry-savebar .primary{flex-shrink:0;min-height:44px}.entry-preview{max-width:960px;margin-top:22px}.entry-preview:empty{display:none}.entry-preview h2{font-size:14px;margin:0 0 8px;color:#526e91}.parsed-entry{display:grid;grid-template-columns:22px minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:baseline;padding:12px 4px;border-bottom:1px solid #e0e8f4;font-size:14px;line-height:1.6}.parsed-entry>*{min-width:0;overflow-wrap:anywhere}.parsed-entry strong{font-weight:500;color:#254e88}.parsed-entry>span:nth-child(3){color:#5b7290}.parsed-entry small,.entry-number{font-size:11px;color:#7b8eaa}.entry-draft-note{font-size:11px;line-height:1.7;color:#7187a2;margin:16px 0}
@media(max-width:700px){.simple-entry-heading h1{font-size:22px}.combined-entry{padding:18px}.combined-entry textarea{padding:12px;min-height:215px}.entry-savebar{gap:14px}.entry-savebar>div{width:100%}.entry-savebar .primary{width:100%;font-size:13px}.parsed-entry{grid-template-columns:18px minmax(0,1fr) minmax(0,1fr);gap:6px 10px;font-size:13px}.parsed-entry small{grid-column:2/-1;font-size:10px}}

.daily-feedback{background:#edf4ff;border:1px solid #dce8fb;border-radius:14px;text-align:center;padding:23px 18px 21px;margin:0 0 22px;color:#294e86;overflow:hidden}
.feedback-face{position:relative;display:inline-grid;place-items:center;width:112px;height:108px;margin-bottom:10px;border-radius:50%;background:#e1edff}
.face-emoji{display:block;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;font-size:68px;line-height:1.2;transform-origin:50% 80%}
.face-accent{position:absolute;right:-9px;top:1px;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;font-size:30px;line-height:1.3;transform:rotate(8deg)}
.daily-feedback h2{font-size:21px;margin:0 0 7px;line-height:1.5}.daily-feedback p{font-size:13px;line-height:1.7;margin:0 0 9px;color:#577398}.daily-feedback small{font-size:12px;line-height:1.7;color:#6a83a5;display:block}
.completion .daily-feedback{margin:0 auto 22px;max-width:540px}.completion .completion-stats{margin:24px 0}
.daily-feedback.feedback-compact{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:18px;text-align:left;align-items:center;margin:18px 0 0;padding:16px 20px}.feedback-compact .feedback-face{grid-row:1/4;width:64px;height:64px;margin:0}.feedback-compact .face-emoji{font-size:42px}.feedback-compact .face-accent{font-size:20px;right:-4px;top:-3px}.feedback-compact h2{font-size:17px}.feedback-compact p{font-size:12px;margin-bottom:4px}
.daily-feedback.is-animated[data-feedback=perfect] .face-emoji{animation:face-jump 750ms ease-in-out 3}
.daily-feedback.is-animated[data-feedback=perfect] .face-accent{animation:face-sparkle 900ms ease-in-out 3}
.daily-feedback.is-animated[data-feedback=steady] .face-emoji{animation:face-sway 1000ms ease-in-out 2}
.daily-feedback.is-animated[data-feedback=steady] .face-accent{animation:face-clap 500ms ease-in-out 4}
.daily-feedback.is-animated[data-feedback=effort] .face-emoji{animation:face-nod 1100ms ease-in-out 2}
.daily-feedback.is-animated[data-feedback=effort] .face-accent{animation:face-cheer 1100ms ease-in-out 2}
@keyframes face-jump{0%,100%{transform:translateY(0) scale(1)}35%{transform:translateY(-12px) scale(1.06)}70%{transform:translateY(0) scale(1.02,.95)}}
@keyframes face-sparkle{0%,100%{transform:rotate(8deg) scale(1)}50%{transform:rotate(24deg) scale(1.25)}}
@keyframes face-sway{0%,100%{transform:rotate(0)}25%{transform:rotate(-9deg)}75%{transform:rotate(9deg)}}
@keyframes face-clap{0%,100%{transform:rotate(8deg) scale(1)}50%{transform:rotate(-8deg) scale(1.14)}}
@keyframes face-nod{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(5px) rotate(-5deg)}}
@keyframes face-cheer{0%,100%{transform:translateY(0) rotate(8deg)}50%{transform:translateY(-7px) rotate(-5deg)}}
@media(max-width:700px){.daily-feedback{padding:20px 14px;margin-bottom:16px}.daily-feedback h2{font-size:19px}.daily-feedback p{font-size:12px}.daily-feedback small{font-size:11px}.feedback-face{width:100px;height:96px}.face-emoji{font-size:60px}.face-accent{font-size:27px}}
@media(prefers-reduced-motion:reduce){.daily-feedback .face-emoji,.daily-feedback .face-accent{animation:none!important}}
