:root{font-family:DM Sans,Noto Sans SC,sans-serif;color:#2d382f;background:#f8f9f5;font-synthesis:none;font-weight:400;font-size:14px;--green:#2d5340;--green-dark:#234332;--ink:#2d382f;--muted:#80867e;--line:#e6e9e0;--surface:#fff;--background:#f8f9f5;--radius:16px;--serif:"Noto Serif SC",serif}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}button:disabled{cursor:not-allowed;opacity:.5}button,a{touch-action:manipulation}a{color:var(--green);text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #91ad77;outline-offset:4px}button:focus:not(:focus-visible){outline:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600}h1{font-size:35px;line-height:1.22;letter-spacing:-1.3px}h2{font-size:19px;letter-spacing:-.45px;line-height:1.35}h3{font-size:16px;letter-spacing:-.25px}p{line-height:1.7}svg{flex-shrink:0}button svg{pointer-events:none}::selection{background:#dce7c6;color:var(--green-dark)}.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}.skip-link{position:fixed;z-index:100;left:20px;top:-100px;background:var(--green);color:#fff;padding:14px;border-radius:8px}.skip-link:focus{top:20px}.muted{color:var(--muted)}.capitalize{text-transform:capitalize}.hanzi{font-family:var(--serif)}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.8px;line-height:1.6;color:#71816b}.small-note{display:inline-flex;align-items:center;gap:7px;font-size:10px;color:#8b9187}.tiny-dot{display:inline-block;width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.5}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:12px 19px;border-radius:9px;font-size:12px;font-weight:550;line-height:1.4;transition:background .2s,transform .2s,box-shadow .2s;white-space:nowrap}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary{background:var(--green);color:#fff}.button-primary:hover:not(:disabled){background:var(--green-dark);box-shadow:0 4px 14px #244d3920}.button-secondary{background:#fff;border:1px solid #dfe4d8;color:#4b5b49}.button-secondary:hover:not(:disabled){background:#f3f6ee}.button-quiet{color:#66745f;background:transparent}.button-quiet:hover{background:#eef2e9}.button-danger{color:#a1483e;background:#f9e9e5}.button-full{width:100%}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;color:#727d6e;transition:background .18s,color .18s;flex-shrink:0}.icon-button:hover:not(:disabled){background:#edf1e7;color:var(--green)}.icon-button.subtle{color:#939b8b}.text-button{display:inline-flex;align-items:center;gap:7px;font-weight:550;font-size:11px;padding:6px 0;line-height:1.6;color:#4d6850}.text-button:hover{color:#163e27}.tag{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:5px 9px;font-size:9px;background:#eff2e9;color:#77816b;font-weight:500}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.section-icon{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:13px;flex-shrink:0}.green{color:#4c6c49;background:#eef3e5}.amber{color:#af9055;background:#f8f2e4}.lavender{color:#8b7aaf;background:#f0edf7}.peach{color:#bf8666;background:#fbede3}.page-enter{animation:page-in .35s ease-out}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;padding:35px 22px 0;border-right:1px solid var(--line);background:#fcfcf9;z-index:30;display:flex;flex-direction:column}.brand-button{text-align:left;padding:0;display:inline-flex;align-items:center;align-self:flex-start}.brand{display:inline-flex;align-items:center;gap:10px;font-size:31px;font-weight:650;letter-spacing:-1.8px;color:var(--green-dark);line-height:1}.brand-symbol{display:inline-flex;align-items:center;justify-content:center;width:35px;height:38px;border-radius:10px;background:#32533e;color:#edf1d6;font-family:var(--serif);font-size:24px;font-weight:500;letter-spacing:0;transform:rotate(-4deg)}.brand-dot{color:#a5b38a}.brand-caption{font-size:10px;color:#939989;margin-top:12px;padding-left:46px;letter-spacing:.35px}.sidebar-divider{height:1px;background:var(--line);margin:29px 0 25px}.nav-label{font-size:8px;font-weight:600;letter-spacing:1.6px;color:#9a9e91;padding-left:13px;margin-bottom:13px}.desktop-nav{display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;min-height:44px;text-align:left;padding:11px 13px;border-radius:8px;font-size:11px;color:#7c8375;transition:background .2s,color .2s;position:relative}.nav-item:hover{background:#f0f3e9;color:var(--green)}.nav-item.active{background:#eaf0e2;color:#3f5d3f;font-weight:600}.nav-active-dot{width:5px;height:5px;background:#7c965f;border-radius:50%;margin-left:auto}.nav-count{font-size:9px;margin-left:auto;background:#e6edd9;border-radius:5px;min-width:20px;padding:2px 4px;text-align:center}.sidebar-bottom{margin-top:auto;padding-top:35px}.sidebar-plant{width:109px;margin:0 auto -1px;opacity:.7}.sidebar-plant svg{width:100%;stroke:#748767;fill:#e3ead9;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.sidebar-note{text-align:center;border-top:1px solid #e8ebdf;padding:17px 0 21px}.sidebar-note .eyebrow{font-size:7px;letter-spacing:1.5px;color:#9aa28e}.sidebar-note h3{font-size:17px;line-height:1.5;font-weight:500;margin-top:9px;letter-spacing:-.35px;color:#526448}.sidebar-note p{font-size:9px;line-height:1.8;color:#959b8b;margin-top:8px}.sidebar-goal{display:flex;align-items:center;gap:9px;border:1px solid #e5eadb;border-radius:9px;padding:11px 10px;width:100%;text-align:left;background:#f5f7ef;margin-bottom:22px}.sidebar-goal-icon{width:28px;height:28px;border-radius:50%;background:#e9eedf;display:flex;align-items:center;justify-content:center;color:#7f9366}.sidebar-goal>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:3px}.sidebar-goal strong{font-size:9px;font-weight:550}.sidebar-goal small{font-size:8px;color:#9ca18e}.sidebar-goal>svg{color:#8c977c}.sidebar-profile{border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;margin:0 -22px;padding:20px 17px}.profile-avatar{width:31px;height:31px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-family:var(--serif);background:#e9eddf;color:#6b7b56;font-size:17px}.sidebar-profile>span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1}.sidebar-profile strong{font-size:9px;font-weight:550}.sidebar-profile small{font-size:8px;color:#949b8b}.sidebar-profile .icon-button{width:26px}.main-shell{margin-left:224px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:76px;padding:0 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fcfcf980;gap:15px}.desktop-breadcrumb{display:flex;align-items:center;gap:14px;font-size:10px;color:#9a9f92}.desktop-breadcrumb svg{color:#bbc1b1}.desktop-breadcrumb strong{font-weight:500;color:#65725d}.topbar-right{display:flex;align-items:center;gap:18px}.topbar-date{font-size:10px;color:#8c9581}.topbar-separator{width:1px;height:16px;background:#e4e8dc}.streak-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;background:#f7f1e6;color:#ab8854;border:1px solid #efe5d2;border-radius:7px;font-size:9px}.topbar-avatar{width:32px;height:32px;border:3px solid #fff;outline:1px solid #e4e8db;border-radius:50%;background:#e8eddf;display:flex;align-items:center;justify-content:center;font-family:var(--serif);color:#6f805a;font-size:16px}.main-content{padding:35px 40px 20px;width:100%;max-width:1450px;margin:0 auto;flex:1}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.page-heading .eyebrow{margin-bottom:9px;font-size:8px;letter-spacing:2px}.page-description{margin-top:9px;color:#899080;font-size:11px;letter-spacing:.04px}.heading-action{flex-shrink:0;align-self:center}.language-label{display:flex;gap:8px;align-items:center;font-size:9px;color:#8b9480;border:1px solid #e6e9de;background:#fcfcf9;border-radius:6px;padding:8px 11px}.language-label>span{border:1px solid #cbd2c0;font-size:9px;line-height:1.2;border-radius:3px;padding:2px;color:#7c8b6e}.device-save-note{display:flex;align-items:center;justify-content:center;gap:7px;font-size:8px;color:#a3aa99;padding:16px 20px 20px}.save-dot{width:4px;height:4px;border-radius:50%;background:#9db182}.save-dot.warning{background:#c58b61}.device-save-note svg{margin-left:3px}.mobile-brand,.mobile-nav{display:none}.hero-row{display:grid;grid-template-columns:minmax(0,2.25fr) minmax(245px,1fr);gap:20px}.daily-hero{min-height:285px;border-radius:15px;background:#305440;position:relative;overflow:hidden;color:#fff;display:flex;align-items:center}.hero-content{position:relative;z-index:2;padding:29px 30px 27px;max-width:66%}.hero-eyebrow{font-size:7px;letter-spacing:1.6px;color:#c1d1ad;display:flex;align-items:center;gap:6px;font-weight:500}.tiny-spark{font-size:13px;color:#c6d69e}.hero-content h2{font-size:31px;line-height:1.25;letter-spacing:-.9px;font-weight:500;color:#fbfcf2;margin-top:12px}.hero-content p{font-size:10px;color:#bdcbb5;line-height:1.8;margin-top:11px;white-space:pre-line}.hero-button{background:#e9eecb;color:#3d5634;margin-top:22px;min-height:38px;padding:10px 16px;gap:21px;font-size:10px;border-radius:7px;box-shadow:0 3px 8px #18392320}.hero-button:hover{background:#f2f5dd}.hero-time{display:inline-flex;align-items:center;gap:5px;font-size:8px;color:#a7b99c;margin-left:12px;white-space:nowrap}.hero-time>span{width:3px;height:3px;border-radius:50%;background:#a8bd8e}.hero-orbit{position:absolute;border:1px solid #63815830;border-radius:50%;pointer-events:none}.orbit-one{width:430px;height:430px;right:-130px;top:-95px}.orbit-two{width:330px;height:330px;right:-77px;top:-46px}.hero-art{width:230px;height:255px;position:absolute;right:10px;top:18px;pointer-events:none}.mini-flashcard{width:153px;height:203px;border-radius:10px;position:absolute;box-shadow:0 10px 20px #183c2925}.back-card{background:#c8d2ae;transform:rotate(-11deg);top:16px;left:25px;border:1px solid #d2daba;display:flex;align-items:center;justify-content:center;color:#789066;font-family:var(--serif);font-size:90px}.front-card{background:#f9f8ed;transform:rotate(9deg);top:27px;left:54px;display:flex;align-items:center;flex-direction:column;padding:17px 13px 10px;color:#42563b;border:1px solid #fff}.mini-card-label{font-size:5px;letter-spacing:1.2px;color:#9d9f89;white-space:nowrap}.mini-grid{position:relative;width:98px;height:98px;margin-top:9px;display:flex;align-items:center;justify-content:center}.mini-grid:before,.mini-grid:after{content:"";position:absolute;opacity:.65}.mini-grid:before{left:50%;top:0;bottom:0;border-left:1px dashed #d4d8c4}.mini-grid:after{top:50%;left:0;right:0;border-top:1px dashed #d4d8c4}.mini-grid>span{font-family:var(--serif);font-size:76px;z-index:1;line-height:1}.mini-pinyin{font-size:14px;margin-top:4px;letter-spacing:1px}.mini-meaning{font-size:7px;color:#9a9d87;margin-top:5px}.mini-card-footer{display:flex;gap:5px;align-items:center;border-top:1px solid #e8e9d8;width:100%;justify-content:center;padding-top:9px;margin-top:11px;color:#a3a58c;font-size:5px;letter-spacing:.5px}.art-spark{position:absolute;color:#d9e3a9;z-index:3}.spark-one{font-size:34px;top:0;right:11px;transform:rotate(15deg);line-height:1}.spark-two{font-size:20px;bottom:13px;left:2px}.hero-sticker{display:flex;align-items:center;gap:5px;background:#dbe5b2;color:#5b7345;border:3px solid #305440;border-radius:6px;padding:7px 9px;position:absolute;font-size:7px;right:0;bottom:8px;transform:rotate(-6deg)}.daily-goal{padding:17px 20px 15px;display:flex;flex-direction:column;align-items:center;min-height:285px}.card-heading{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px}.card-heading h2{font-size:12px;font-weight:550;letter-spacing:-.1px}.card-heading .icon-button{height:24px;width:24px}.goal-visual{width:146px;height:146px;position:relative;margin:7px auto 0}.goal-visual>svg{width:100%;transform:rotate(-90deg);overflow:visible}.goal-track,.goal-fill{stroke-width:8;fill:none}.goal-track{stroke:#edf1e4}.goal-fill{stroke:#8fa56d;stroke-linecap:round;transition:stroke-dasharray .6s}.goal-numbers{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}.goal-numbers>span{font-size:35px;letter-spacing:-1.5px;font-weight:500;line-height:1.3}.goal-numbers small{font-size:18px;letter-spacing:-1px;color:#9aa38c;font-weight:400}.goal-numbers p{font-size:8px;color:#a0a68f;margin-top:4px}.goal-sprout{position:absolute;right:8px;bottom:15px;display:flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:50%;border:3px solid #fff;background:#e9efd8;color:#8da166}.goal-message{font-size:8px;color:#949c87;margin-top:1px;white-space:nowrap}.goal-week{display:flex;justify-content:space-between;gap:9px;width:100%;padding:13px 8px 0;margin-top:auto}.goal-week>div{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:7px;color:#acb29f}.goal-week .day-check{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#b9c1ab;font-size:16px}.goal-week .is-today>span:first-child{color:#6e8457;font-weight:600}.goal-week .is-today .day-check{background:#f0f3e6;border:1px solid #e3e9d3}.day-check>span{width:4px;height:4px;border-radius:50%;background:#a5b488}.goal-week .day-check.is-complete{background:#8da76c;color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:19px}.stat-card{position:relative;display:flex;gap:11px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:11px;text-align:left;padding:17px 15px;min-height:86px;transition:border .2s,transform .2s}.stat-card:hover{border-color:#b6c4a2;transform:translateY(-2px)}.stat-icon{width:37px;height:37px;display:flex;align-items:center;justify-content:center;border-radius:10px;flex-shrink:0}.stat-label{font-size:8px;color:#8b9381;display:block;margin-bottom:4px}.stat-value{display:flex;align-items:baseline;gap:6px;font-size:25px;font-weight:550;letter-spacing:-.9px;line-height:1.25;flex-wrap:wrap}.stat-value>span{font-size:7px;color:#a2a894;letter-spacing:0;font-weight:400;max-width:95px;line-height:1.5}.stat-arrow{position:absolute;right:10px;top:10px;color:#c1c8b7;width:11px}.practice-section{margin-top:31px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.section-heading h2{font-size:19px;font-weight:550;letter-spacing:-.55px}.section-heading p{font-size:10px;color:#929987;margin-top:5px;line-height:1.6}.practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.practice-card{padding:21px 21px 0;border-radius:12px;text-align:left;border:1px solid transparent;transition:transform .2s,border-color .2s;overflow:hidden}.practice-card:hover{transform:translateY(-3px);border-color:#b5c0a7}.flashcards-card{background:#edf1e7;color:#526748}.pronunciation-card{background:#fbf0e5;color:#ac8064}.quiz-card{background:#efedf6;color:#8878a0}.practice-card-top{display:flex;gap:12px;align-items:center;margin-bottom:17px}.practice-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9px;background:#e0e8d5}.pronunciation-card .practice-icon{background:#f3e2d2}.quiz-card .practice-icon{background:#e4dff0}.mode-tag{font-size:6px;letter-spacing:1.15px;font-weight:500;opacity:.9}.practice-arrow{margin-left:auto;opacity:.55;width:16px}.practice-card h3{font-size:18px;letter-spacing:-.5px;font-weight:550;color:#42523c}.pronunciation-card h3{color:#80604c}.quiz-card h3{color:#6f6085}.practice-card>p{font-size:10px;line-height:1.8;color:#8b977c;margin-top:7px}.pronunciation-card>p{color:#b19880}.quiz-card>p{color:#a095b4}.practice-card-footer{display:flex;align-items:center;gap:7px;border-top:1px solid #dfe6d5;margin-top:18px;padding:13px 0;font-size:7px;color:#82936d}.practice-card-footer svg{margin-left:auto;width:13px}.pronunciation-card .practice-card-footer{border-color:#efdfcf;color:#b09579}.quiz-card .practice-card-footer{border-color:#e1dce9;color:#a092b3}.explore-section{margin-top:31px}.heading-spark{display:inline-block;font-size:20px;color:#b1bb91;font-weight:400;margin-left:5px;vertical-align:middle;transform:rotate(15deg)}.explore-layout{display:grid;grid-template-columns:minmax(0,3.2fr) minmax(195px,1fr);gap:17px}.dashboard-characters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.character-tile{border:1px solid var(--line);border-radius:11px;background:#fff;position:relative;transition:border-color .2s,transform .2s,box-shadow .2s;overflow:hidden;min-width:0}.character-tile:hover{transform:translateY(-3px);border-color:#c1ccaf;box-shadow:0 5px 15px #35492a06}.character-tile-top{display:flex;align-items:center;justify-content:space-between;padding:9px 9px 0 11px;position:absolute;top:0;left:0;right:0;z-index:2;pointer-events:none}.status-dot{width:5px;height:5px;background:#e1e6d8;border-radius:50%;display:inline-block;flex-shrink:0}.status-dot.learning{background:#dbc48c}.status-dot.familiar{background:#9eb77a}.status-dot.mastered{background:#3d6b4b}.bookmark-button{width:23px;height:23px;display:flex;align-items:center;justify-content:center;border-radius:5px;color:#c0c7b6;pointer-events:auto}.bookmark-button:hover{background:#eef2e7;color:#7c9364}.bookmark-button.is-saved,.is-saved{color:#7f9763}.character-tile-body{width:100%;display:flex;flex-direction:column;align-items:center;padding:31px 9px 17px;min-height:175px}.character-glyph{font-family:var(--serif);font-size:44px;color:#3b4d32;line-height:1.35;font-weight:400}.character-pinyin{font-size:11px;line-height:1.6;margin-top:7px;color:#788567}.character-meaning{color:#a1a790;font-size:8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;line-height:1.6}.tile-explore{display:flex;align-items:center;gap:5px;font-size:8px;color:#6b8253;margin-top:7px;opacity:0;max-height:0;transition:opacity .2s}.character-tile:hover .tile-explore{opacity:1}.learning-tip{position:relative;overflow:hidden;background:#f2f3e9;border:1px solid #e8ebdd;border-radius:11px;padding:19px;text-align:left}.tip-eyebrow{display:flex;align-items:center;gap:6px;font-size:6px;letter-spacing:1.1px;color:#9aa382}.tip-eyebrow svg{width:12px}.learning-tip h3{font-size:16px;font-weight:500;line-height:1.45;margin-top:11px;letter-spacing:-.4px;color:#6b7757}.learning-tip>p{font-size:8px;color:#a2a98e;line-height:1.8;margin-top:7px;max-width:150px}.learning-tip>span:last-of-type{display:flex;align-items:center;gap:4px;color:#87956e;font-size:7px;margin-top:12px}.tip-decoration{position:absolute;font-size:74px;line-height:1;color:#e1e6d2;right:-19px;bottom:-16px;transform:rotate(10deg)}.dashboard-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);margin-top:28px;padding-top:18px;font-size:8px;color:#a1a892}.dashboard-footer>span{display:flex;gap:7px;align-items:center}.dashboard-footer>span:last-child{font-size:7px}.footer-dot{color:#c2c9b4;margin:0 2px}.study-setup-grid,.quiz-setup-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:55px;max-width:1060px;margin:35px auto}.setup-panel{padding:29px}.setup-heading{display:flex;align-items:center;gap:14px;margin-bottom:29px}.setup-heading h2{font-size:19px;letter-spacing:-.5px}.setup-heading p{font-size:11px;color:#929a87;margin-top:4px}.form-field{margin-bottom:24px;display:flex;flex-direction:column;gap:9px}.form-field>label{font-size:11px;font-weight:550;color:#5b6c50}.field-hint{font-size:10px;color:#98a08a;line-height:1.7}.field-description{font-size:11px;color:#919a85;margin-top:-3px}.select-wrap{position:relative;display:flex;align-items:center;min-width:145px}.select-wrap select{appearance:none;width:100%;border:1px solid #e2e7d9;background:#fff;border-radius:8px;color:#607153;font-size:11px;min-height:42px;padding:11px 34px 11px 13px;cursor:pointer}.select-wrap>svg{position:absolute;right:12px;pointer-events:none;color:#9aa58a}.segmented-control{display:flex;gap:5px;background:#f4f6ef;padding:5px;border-radius:9px}.segmented-control>button{flex:1;border-radius:6px;padding:10px 5px;font-size:11px;color:#8e997e;border:1px solid transparent;transition:background .2s}.segmented-control>button.selected{background:#fff;border-color:#e0e7d4;color:#526d41;box-shadow:0 1px 3px #3d4e2810}.direction-options{display:flex;flex-direction:column;gap:9px}.direction-option{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:9px;border:1px solid #e7ebdf;text-align:left}.direction-option.selected{border-color:#9fb58a;background:#f7f9f1}.direction-sample{width:42px;height:39px;display:flex;align-items:center;justify-content:center;background:#f0f3e9;border-radius:7px;color:#70865c;font-size:11px;flex-shrink:0}.direction-sample.hanzi{font-size:27px}.direction-option>span:nth-child(2){display:flex;flex-direction:column;gap:5px;flex:1}.direction-option strong{font-size:11px;font-weight:550;color:#607052}.direction-option small{font-size:9px;color:#98a08b}.radio-indicator{width:15px;height:15px;border:1px solid #ced7bf;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.selected .radio-indicator{border-color:#78945f}.radio-indicator>span{width:7px;height:7px;border-radius:50%;background:#819d64}.setup-footnote{display:flex;align-items:center;justify-content:center;gap:6px;color:#a0a88f;font-size:9px;margin-top:15px}.setup-aside{padding:0 17px}.study-illustration{height:282px;position:relative;max-width:310px;margin:0 auto 10px}.illustration-card{width:180px;height:230px;position:absolute;border-radius:13px;box-shadow:0 8px 20px #43573208}.illustration-back{background:#e0e8d0;transform:rotate(-12deg);top:18px;left:36px;border:1px solid #d6e0c4;display:flex;align-items:center;justify-content:center;color:#adbda1;font-size:120px;font-family:var(--serif)}.illustration-front{background:#fffefa;transform:rotate(7deg);border:1px solid #e7eadc;top:32px;left:89px;display:flex;flex-direction:column;align-items:center;padding:20px;color:#8b9679;font-size:9px}.illustration-front .eyebrow{font-size:6px;letter-spacing:1.5px}.large-hanzi{font-family:var(--serif);color:#4a613c;font-size:96px;line-height:1.3}.illustration-front .pinyin{font-size:17px;color:#627a51;margin:4px 0 8px}.illustration-front>svg{margin-top:16px;color:#b9c5a6;width:16px}.illustration-spark{position:absolute;top:4px;right:0;font-size:42px;color:#b4c28e}.setup-aside>h2,.quiz-aside>h2,.pronunciation-aside>h2{font-size:27px;font-weight:500;line-height:1.35;letter-spacing:-.8px;color:#4e6642}.setup-aside>p,.quiz-aside>p,.pronunciation-aside>p{font-size:11px;color:#949e86;margin-top:14px;line-height:1.9;max-width:320px}.method-steps{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-direction:column;gap:21px}.method-steps>li{display:flex;align-items:flex-start;gap:11px}.method-steps>li>span{width:23px;height:23px;background:#ecf0e2;border:1px solid #e3e9d5;color:#8ba26d;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:9px}.method-steps strong{font-size:11px;font-weight:550;color:#687b57}.method-steps p{font-size:9px;color:#9da68d;margin-top:4px}.session-main{display:flex;flex-direction:column}.study-session{width:100%;max-width:760px;margin:3px auto 22px}.session-topline{display:flex;align-items:center;justify-content:space-between;gap:15px}.session-type{display:flex;align-items:center;gap:7px;color:#8c9a7c;font-size:10px}.session-counter{font-size:13px;font-weight:550;color:#698253}.session-counter>span{font-size:11px;color:#a5ad96;font-weight:400}.session-progress{height:4px;background:#e8eddd;border-radius:4px;overflow:hidden;margin-top:17px}.session-progress>span{height:100%;background:#8ba26d;display:block;border-radius:4px;transition:width .3s}.session-instruction{text-align:center;margin:33px 0 22px}.session-instruction .eyebrow{font-size:9px;letter-spacing:1.5px}.session-instruction p{font-size:10px;color:#a0a88f;margin-top:7px}.study-card{position:relative;max-width:575px;min-height:360px;background:#fffefa;border:1px solid #e3e8d8;border-radius:19px;box-shadow:0 6px 0 -2px #f5f6ed,0 7px 0 -1px #e6eadd,0 10px 22px #42552a04;margin:0 auto;animation:page-in .25s ease-out}.study-card-corner{display:flex;align-items:center;justify-content:space-between;padding:17px 21px 0;position:absolute;top:0;left:0;right:0;z-index:2;pointer-events:none}.study-card-corner button{pointer-events:auto}.study-card-corner .tag{font-size:8px;font-weight:400;background:#f1f4e8;color:#9aa688}.card-reveal-area{width:100%;min-height:360px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:53px 35px 42px;position:relative;border-radius:19px}.study-glyph{font-family:var(--serif);font-size:117px;line-height:1.35;font-weight:400;color:#3f5933}.study-prompt{font-size:29px;max-width:100%;line-height:1.6;color:#577347;font-weight:450}.study-prompt.pinyin-prompt{font-size:53px;letter-spacing:1px}.hidden-answer{display:flex;gap:7px;padding-top:21px}.hidden-answer>span{width:5px;height:5px;border-radius:50%;background:#d6dfc6}.flip-hint{position:absolute;bottom:19px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:7px;color:#a8b298;font-size:8px}.flip-hint kbd{font:inherit;font-size:7px;padding:2px 5px;border:1px solid #e1e7d5;border-radius:3px;color:#9fac8c;margin-left:4px}.revealed-answer{display:flex;flex-direction:column;align-items:center;gap:11px;animation:page-in .25s ease-out}.study-pinyin{font-size:21px;color:#849b68;font-weight:400}.study-meaning{font-size:13px;color:#8e9d7c;max-width:400px;line-height:1.8}.card-listen{position:absolute;bottom:35px;right:27px;color:#93a77a;background:#f2f5e8;width:41px;height:41px;border-radius:50%}.recall-ratings{max-width:650px;margin:30px auto 0;text-align:center}.recall-ratings>p{font-size:10px;color:#a2ac91;margin-bottom:13px}.rating-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.rating-button{display:flex;align-items:center;flex-direction:column;border:1px solid;border-radius:10px;padding:17px 8px 11px;gap:5px;position:relative;transition:transform .15s,box-shadow .15s}.rating-button:hover{transform:translateY(-3px);box-shadow:0 3px 12px #65764810}.rating-button strong{font-size:13px;font-weight:550}.rating-button>span:not(.rating-key){font-size:8px;opacity:.8}.rating-button small{font-size:9px;margin-top:5px;padding-top:8px;border-top:1px solid #ffffff80;width:85%;opacity:.85}.rating-button .rating-key{position:absolute;top:6px;right:8px;font-size:7px;opacity:.5}.rating-button.again{background:#fbefea;border-color:#f0ddd4;color:#b78b76}.rating-button.hard{background:#f8f2e3;border-color:#ede4ca;color:#b39c66}.rating-button.good{background:#edf2e5;border-color:#dce6ce;color:#7b945e}.rating-button.easy{background:#e8f0e9;border-color:#d1e2d4;color:#5e8768}.reveal-controls{display:flex;align-items:center;flex-direction:column;margin-top:31px;gap:20px}.reveal-controls .button{min-width:240px;gap:15px}.reveal-controls>p{display:flex;align-items:center;gap:6px;font-size:9px;color:#9ca98a}.session-complete{text-align:center;max-width:650px;margin:15px auto;padding:0 20px}.completion-emblem{display:flex;justify-content:center;margin-bottom:22px}.sprout-illustration{width:150px;height:150px;position:relative;border-radius:50%;background:#e8efdc;display:flex;align-items:center;justify-content:center;border:1px solid #dde7cd}.sprout-illustration>span{font-family:var(--serif);font-size:81px;color:#6a8550}.sprout-illustration>svg:first-child{position:absolute;left:2px;top:5px;color:#b8c78b}.sprout-illustration>svg:nth-last-child(2){position:absolute;right:-4px;top:18px;color:#91aa6d;transform:rotate(30deg)}.sprout-illustration .sprout-check{position:absolute;right:4px;bottom:7px;width:32px;height:32px;padding:6px;background:#7e9e65;border:3px solid #f8f9f5;color:#fff;border-radius:50%}.session-complete h1{margin-top:12px;font-size:35px;color:#3e5832}.session-complete>p{font-size:12px;margin-top:15px;color:#8e9d7e;line-height:1.9}.completion-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:28px 10px;margin:25px 0;border:1px solid #e3e8d9;border-radius:14px;background:#fff}.completion-stats>div{display:flex;flex-direction:column;gap:9px;align-items:center;border-right:1px solid #e9eddf}.completion-stats>div:last-child{border:0}.completion-stats strong{font-weight:500;font-size:27px;letter-spacing:-.5px;color:#557044}.completion-stats strong small{font-size:13px}.completion-stats>div>span{font-size:9px;color:#9ca88b}.completion-note{display:flex;align-items:center;gap:10px;justify-content:center;font-size:10px;color:#8a9c75;background:#edf2e4;border-radius:9px;padding:14px}.completion-actions{display:flex;gap:12px;justify-content:center;margin-top:27px}.practice-tabs{display:flex;gap:25px;border-bottom:1px solid #e3e8d9;margin-bottom:30px}.practice-tabs>button{display:flex;align-items:center;gap:8px;padding:0 4px 15px;color:#9aa68d;font-size:12px;border-bottom:2px solid transparent;margin-bottom:-1px}.practice-tabs>button.active{color:#5a7549;border-bottom-color:#789460}.quiz-setup-grid{margin-top:0;gap:50px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.quiz-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quiz-mode{position:relative;display:flex;flex-direction:column;text-align:left;border:1px solid #e5e9dd;border-radius:9px;padding:13px 12px;gap:5px}.quiz-mode.selected{border-color:#a6b995;background:#f5f8ee}.quiz-mode-sample{font-family:var(--serif);font-size:22px;color:#83976c;height:32px}.quiz-mode strong{font-size:10px;font-weight:550;color:#6c7d5c}.quiz-mode small{font-size:8px;color:#a1aa92}.quiz-mode>svg{position:absolute;right:11px;top:13px;color:#91aa72}.quiz-mode:last-child{grid-column:1/-1;display:grid;grid-template-columns:32px 1fr;column-gap:9px}.quiz-mode:last-child .quiz-mode-sample{grid-row:1/3;align-self:center;font-family:inherit}.quiz-mode:last-child strong{margin-top:2px}.quiz-aside{padding:15px 5px}.quiz-art{position:relative;width:235px;height:235px;margin:0 auto 30px;display:flex;align-items:center;justify-content:center}.quiz-art:before{content:"";position:absolute;inset:10px;background:#ece9f2;border-radius:50%;border:1px solid #e1dce9}.quiz-art-word{position:relative;font-family:var(--serif);font-size:115px;color:#9587a8;margin-bottom:22px}.quiz-art-pin{position:absolute;bottom:34px;right:8px;display:flex;align-items:center;justify-content:center;background:#dfe8d2;border-radius:50%;border:5px solid #f8f9f5;width:53px;height:53px;color:#8ea773}.quiz-art-star{position:absolute;left:13px;top:0;font-size:43px;color:#c0b4cd}.quiz-art-note{position:absolute;bottom:44px;left:55px;font-size:10px;color:#a59ab5}.quiz-tip{display:flex;gap:12px;padding:19px;background:#f0f2e8;border:1px solid #e7ebdc;border-radius:10px;margin:25px 0 24px;color:#96a482}.quiz-tip h3{font-size:11px;line-height:1.6;font-weight:550;color:#788c63}.quiz-tip p{font-size:9px;color:#a0a98e;margin-top:6px}.quiz-reassurance{display:flex;align-items:center;gap:8px;color:#8c9b7a;font-size:10px;margin:13px 0}.quiz-reassurance>svg{color:#9fb784}.quiz-session{max-width:760px;margin:0 auto;padding:24px 32px 30px}.quiz-question-heading{text-align:center;font-size:16px;font-weight:500;margin-top:30px;color:#7c9068}.quiz-prompt{font-family:var(--serif);text-align:center;font-size:105px;line-height:1.5;margin:13px 0 24px;color:#465f37}.quiz-prompt.english-prompt{font-family:inherit;font-size:28px;line-height:1.6;padding:26px 15px;color:#5c744b}.quiz-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quiz-choice{display:flex;align-items:center;gap:12px;padding:16px 13px;border:1px solid #e1e7d5;border-radius:9px;font-size:12px;text-align:left;color:#6d815b;min-height:62px}.quiz-choice>span:nth-child(2){flex:1;line-height:1.6}.choice-letter{width:24px;height:24px;background:#f1f4e9;border-radius:5px;display:flex;align-items:center;justify-content:center;color:#a3ae94;font-size:9px}.quiz-choice>span:last-child{width:19px}.quiz-choice:hover:not(:disabled){background:#f6f8f1;border-color:#aec297}.quiz-choice:disabled{opacity:1;cursor:default}.quiz-choice.is-correct{background:#edf4e4;border-color:#a7bf90;color:#6e8d52}.quiz-choice.is-incorrect{background:#fbede6;border-color:#e9bda5;color:#b9876c}.character-choices .quiz-choice>span:nth-child(2){font-family:var(--serif);font-size:31px;text-align:center}.character-choices .quiz-choice{padding-top:11px;padding-bottom:11px}.pinyin-form{text-align:center;max-width:450px;margin:0 auto}.pinyin-form input{width:100%;border:1px solid #cbdab9;background:#fcfdf8;border-radius:10px;padding:16px;text-align:center;font-size:22px;color:#6c8557}.pinyin-form input::placeholder{color:#bec8ae;font-size:17px}.pinyin-form>p{font-size:9px;color:#a4af94;margin:10px 0 20px}.quiz-feedback{margin-top:23px;background:#f0f5e8;padding:19px 20px;border-radius:11px;border:1px solid #dce8cd;animation:page-in .2s}.quiz-feedback.incorrect{background:#fbf4e8;border-color:#efe3ca}.feedback-top{display:flex;gap:11px;align-items:flex-start;color:#8fa874}.incorrect .feedback-top{color:#c0a06c}.feedback-top strong{font-size:12px;font-weight:550;color:#6d8756}.incorrect .feedback-top strong{color:#a58b60}.feedback-top p{font-size:11px;color:#95a681;margin-top:6px}.incorrect .feedback-top p{color:#ad9b7b}.feedback-top small{font-size:9px;color:#9fae8d;display:block;line-height:1.6;margin-top:6px}.feedback-actions{display:flex;align-items:center;justify-content:space-between;margin-top:17px;padding-top:14px;border-top:1px solid #e0e9d4}.feedback-actions .button{min-height:38px;font-size:10px;padding:10px 13px}.quiz-complete{max-width:740px;margin:0 auto;text-align:center;padding:35px}.completion-quiz-icon{width:72px;height:72px;border-radius:50%;background:#e9efdc;color:#9cb77c;display:flex;align-items:center;justify-content:center;margin:0 auto 22px}.quiz-complete>.eyebrow{font-size:8px}.quiz-complete>h2{font-size:28px;font-weight:500;letter-spacing:-.8px;margin-top:11px;color:#557044}.quiz-complete>p{font-size:12px;color:#96a287;margin-top:12px}.quiz-result-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:22px auto;max-width:400px}.quiz-result-dots>span{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center}.quiz-result-dots .correct{color:#80a262;background:#eaf2df}.quiz-result-dots .incorrect{color:#c0a272;background:#f9f1e1}.quiz-complete .quiz-summary-note{font-size:11px;max-width:400px;margin:0 auto;line-height:1.8}.quiz-recap{margin:23px auto;display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:285px;overflow-y:auto;text-align:left}.quiz-recap>div{display:flex;align-items:center;gap:10px;border:1px solid #e9edde;border-radius:8px;padding:10px 12px;min-width:0}.quiz-recap>div>span{font-family:var(--serif);font-size:25px;color:#768b63}.quiz-recap>div>div{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.quiz-recap strong{font-size:10px;color:#7d916a;font-weight:500}.quiz-recap small{font-size:8px;color:#a6af98;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quiz-recap svg{color:#8dab6e}.pronunciation-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:40px;max-width:1100px;margin:0 auto}.pronunciation-panel{padding:23px 26px 13px}.pronunciation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.pronunciation-toolbar .select-wrap{min-width:160px}.pronunciation-toolbar .select-wrap select{font-size:10px;min-height:36px;padding-top:8px;padding-bottom:8px}.pronunciation-toolbar .text-button{font-size:10px}.pronunciation-character{text-align:center;padding-top:30px}.pronunciation-character>.eyebrow{font-size:7px;letter-spacing:1.8px}.character-grid{background-image:linear-gradient(to right,transparent calc(50% - .5px),#e5ead9 calc(50% - .5px),#e5ead9 calc(50% + .5px),transparent calc(50% + .5px)),linear-gradient(to bottom,transparent calc(50% - .5px),#e5ead9 calc(50% - .5px),#e5ead9 calc(50% + .5px),transparent calc(50% + .5px));background-size:100% 100%;border:1px solid #e5ead9}.pronunciation-glyph{width:154px;height:154px;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:112px;color:#4d673d;margin:25px auto 17px;border-radius:3px;background-color:#fbfcf7}.pronunciation-character h2{font-size:24px;font-weight:400;color:#7a9264;letter-spacing:1px}.pronunciation-character>p{font-size:12px;color:#9da88e;margin-top:8px}.listen-actions{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:21px}.listen-actions .button{font-size:10px;min-height:37px;padding:9px 15px}.recording-area{display:flex;align-items:center;flex-direction:column;padding-top:24px}.recording-wave{display:flex;align-items:center;gap:4px;height:43px;justify-content:center;width:100%;margin-bottom:10px}.recording-wave>span{width:3px;border-radius:3px;background:#d8e1ca;max-height:6px;transition:max-height .25s}.recording-wave.is-recording>span{background:#9db87d;max-height:40px;animation:record-wave .8s ease-in-out infinite alternate}@keyframes record-wave{to{transform:scaleY(.3)}}.record-button{width:62px;height:62px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#6f8f55;color:#fff;box-shadow:0 0 0 7px #f0f4e7;transition:background .2s,transform .2s}.record-button:hover:not(:disabled){transform:scale(1.04);background:#5a7845}.record-button.is-recording{background:#b17b62;box-shadow:0 0 0 7px #f8eee7;animation:record-pulse 1.5s ease-in-out infinite}@keyframes record-pulse{50%{box-shadow:0 0 0 12px #f8eee780}}.record-label{font-size:10px;color:#9aa78b;margin-top:17px}.audio-playback{width:100%;max-width:380px;margin-top:22px;padding:17px;background:#f4f7ed;border:1px solid #e4ecd8;border-radius:10px;display:flex;align-items:center;flex-direction:column;gap:11px}.audio-playback>span{display:flex;align-items:center;gap:7px;font-size:10px;color:#82976c}.audio-playback audio{width:100%;height:36px}.audio-playback>.text-button{font-size:10px}.recognition-result{width:100%;max-width:380px;margin-top:15px;padding:15px;background:#f6f4ed;border-radius:9px;text-align:center}.recognition-result.recognized{background:#edf4e5}.recognition-result>span{display:flex;gap:6px;justify-content:center;align-items:center;font-size:10px;color:#83956e}.recognition-result>p{font-family:var(--serif);color:#819b67;font-size:21px;margin-top:9px}.recognition-result>small{font-size:8px;display:block;color:#9fa991;margin-top:8px;line-height:1.7}.recording-area>.field-hint{margin:17px 0 0;text-align:center}.pronunciation-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #e9edde;margin-top:27px;padding-top:13px}.pronunciation-bottom>span{font-size:9px;color:#a5af95}.pronunciation-bottom>.button{font-size:9px;min-height:32px;padding:7px}.pronunciation-aside{padding:18px 4px}.pronunciation-aside>.section-icon{margin-bottom:20px}.pronunciation-aside>h2{font-size:26px}.tone-guide{margin:26px 0 22px;border:1px solid #e4e9d9;border-radius:12px;padding:18px;background:#fffefa}.tone-guide>h3{font-size:11px;color:#7e8f6a;font-weight:550;margin-bottom:13px}.tone-row{display:flex;align-items:center;gap:13px;width:100%;padding:11px 2px;border-bottom:1px solid #edf0e5;text-align:left}.tone-row:last-of-type{border:0}.tone-number{display:flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;color:#adb99b;background:#f0f3e8;font-size:8px}.tone-row>svg:nth-child(2){width:42px;height:30px;fill:none;stroke:#9eb783;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tone-row>span:nth-last-child(2){display:flex;flex-direction:column;gap:3px;flex:1}.tone-row strong{font-size:15px;font-weight:450;color:#81986b}.tone-row small{font-size:8px;color:#a4af96}.tone-row>svg:last-child{color:#bac6ab;width:13px}.neutral-tone{font-size:9px;color:#a4af95;border-top:1px solid #edf0e5;padding-top:12px;margin-top:9px;line-height:1.8}.neutral-tone strong{font-weight:500}.recording-privacy{display:flex;align-items:flex-start;gap:9px;color:#a5b098;margin-bottom:17px}.recording-privacy p{font-size:9px;line-height:1.8}.recognition-toggle{display:flex;align-items:flex-start;gap:8px;font-size:9px;line-height:1.7;color:#8a9a79;cursor:pointer}.recognition-toggle input{accent-color:#7d9864;width:14px;height:14px;margin-top:2px;flex-shrink:0}.recognition-toggle small{display:block;color:#aab29d;font-size:8px;line-height:1.8;margin-top:4px}.library-total{display:flex;align-items:center;gap:7px;font-size:9px;color:#9ba68c}.library-banner{position:relative;overflow:hidden;background:#eaf0e1;border:1px solid #dfe7d4;padding:29px 33px;border-radius:14px;margin-bottom:26px;min-height:180px}.library-banner .eyebrow{font-size:7px;letter-spacing:1.8px}.library-banner h2{font-size:25px;font-weight:500;color:#587348;letter-spacing:-.7px;margin-top:9px}.library-banner p{font-size:11px;color:#8c9e7a;margin-top:7px;max-width:65%}.library-banner .text-button{font-size:10px;color:#6b8a52;margin-top:12px}.library-banner-art{position:absolute;right:55px;top:16px;height:155px;width:230px}.library-banner-art>span:not(.library-art-spark){position:absolute;display:flex;align-items:center;justify-content:center;width:108px;height:124px;background:#fafbf4;border:1px solid #dce5ce;border-radius:9px;font-family:var(--serif);font-size:74px;box-shadow:0 7px 14px #60764a05;color:#80996a}.library-banner-art>span:first-child{transform:rotate(-12deg);top:4px;left:10px}.library-banner-art>span:nth-child(2){transform:rotate(9deg);top:19px;left:112px;background:#f5f8eb;color:#94a77f}.library-art-spark{font-size:34px;color:#b1c492;position:absolute;top:-7px;right:-18px;transform:rotate(15deg)}.library-controls{display:flex;gap:15px;margin-bottom:20px}.search-input{display:flex;align-items:center;gap:10px;border:1px solid #e0e6d6;border-radius:9px;background:#fff;padding:0 14px;flex:1;min-width:0;color:#a3af94}.search-input input{border:0;outline:none;background:transparent;font-size:11px;min-height:45px;flex:1;min-width:0;color:#627a4f;padding:0}.search-input:focus-within{border-color:#9db385;box-shadow:0 0 0 2px #a6bc8c15}.search-input input:focus-visible{outline:none}.search-input input::placeholder{color:#a8b19c}.search-input>kbd{font-family:var(--serif);font-size:11px;border:1px solid #e5eadd;background:#f8faf4;min-width:22px;height:22px;border-radius:4px;text-align:center;line-height:20px;color:#bdc6ae}.library-controls>.select-wrap{min-width:175px}.library-filter-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px;border-bottom:1px solid #e4e9da}.filter-tabs{display:flex;gap:19px;overflow-x:auto;scrollbar-width:none}.filter-tabs::-webkit-scrollbar{display:none}.filter-tabs>button{display:flex;align-items:center;gap:5px;color:#9aa78b;white-space:nowrap;font-size:10px;padding:0 0 13px;border-bottom:2px solid transparent;flex-shrink:0}.filter-tabs>button.active{color:#64824d;border-bottom-color:#8da872;font-weight:550}.filter-tabs>button>span{font-size:8px;background:#edf2e3;padding:2px 5px;border-radius:4px;margin-left:1px}.results-count{font-size:9px;color:#a7b096;white-space:nowrap;padding-bottom:12px}.library-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px}.library-grid .character-tile-body{min-height:190px;padding-top:35px;padding-bottom:22px}.library-grid .character-glyph{font-size:49px}.library-grid .character-pinyin{font-size:12px;margin-top:10px}.library-grid .character-meaning{font-size:9px;margin-top:4px}.load-more{text-align:center;margin:30px 0}.load-more>p{font-size:10px;color:#a3af93;margin-bottom:12px}.load-more .button{font-size:10px}.saved-practice{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 25px;background:#edf3e3;border-radius:10px;margin-top:23px}.saved-practice>span{display:flex;gap:8px;align-items:center;font-size:12px;color:#80966b}.library-source-note{text-align:center;font-size:8px;color:#afb8a0;margin-top:27px;line-height:1.8}.library-source-note a{color:#97a785}.empty-state{text-align:center;padding:60px 20px;display:flex;flex-direction:column;align-items:center}.empty-icon{display:flex;align-items:center;justify-content:center;width:65px;height:65px;background:#edf2e3;border-radius:50%;color:#9ab67c;margin-bottom:21px}.empty-state h3{font-size:19px;font-weight:500;color:#6f875a}.empty-state>p{font-size:11px;line-height:1.9;max-width:390px;color:#9da98e;margin-top:11px;margin-bottom:21px}.progress-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:25px}.progress-stat{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid #e3e9d9;border-radius:12px;padding:21px 19px;gap:8px;position:relative}.progress-stat>.stat-icon{position:absolute;top:19px;right:16px;width:30px;height:30px;border-radius:8px}.progress-stat>.stat-icon svg{width:16px}.progress-stat>span:nth-child(2){font-size:9px;color:#93a181;padding-right:27px;min-height:23px}.progress-stat>strong{font-size:31px;font-weight:500;letter-spacing:-1px;color:#5c7649;line-height:1.5}.progress-stat>strong small{font-size:13px;font-weight:400;letter-spacing:0;color:#a2af93}.progress-stat>small{font-size:8px;color:#a7b198;line-height:1.7}.progress-middle{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:22px;margin-bottom:23px}.weekly-panel,.memory-panel{padding:25px}.weekly-panel .section-heading h2,.memory-panel .section-heading h2{font-size:17px}.weekly-chart{position:relative;height:208px;margin-top:30px;padding-left:26px}.chart-grid-lines{position:absolute;inset:0 0 30px;display:flex;flex-direction:column;justify-content:space-between}.chart-grid-lines>span{display:flex;align-items:center;gap:10px;font-size:8px;color:#b6c0a7}.chart-grid-lines>span:after{content:"";display:block;height:1px;background:#eef1e6;flex:1}.chart-bars{display:grid;grid-template-columns:repeat(7,1fr);gap:20px;position:relative;height:100%;padding:0 8px}.chart-day{height:100%;display:flex;align-items:center;flex-direction:column;position:relative}.bar-track{height:calc(100% - 30px);width:100%;display:flex;align-items:flex-end;justify-content:center}.chart-bar{background:#c7d5b4;border-radius:5px 5px 0 0;width:100%;max-width:40px;min-height:3px;transition:height .5s}.chart-bar.today-bar{background:#78975c}.chart-day>span:last-child{font-size:8px;color:#b1bba2;padding-top:13px}.chart-day>span.today-label{color:#7b955f;font-weight:600}.bar-value{position:absolute;top:-20px;font-size:9px;color:#a7b594}.memory-panel>.section-heading>svg{color:#a0b984}.familiarity-visual{position:relative;width:140px;height:145px;margin:14px auto}.familiarity-circle{width:135px;height:135px;border-radius:50%;background:#f1f5e8;border:9px solid #e6edd9;display:flex;align-items:center;flex-direction:column;justify-content:center;outline:1px solid #f5f7ef;outline-offset:5px}.familiarity-circle>span{font-family:var(--serif);font-size:47px;line-height:1.3;color:#88a26e}.familiarity-circle>small{font-size:8px;color:#a6b794;margin-top:5px}.familiarity-leaf{position:absolute;display:flex;align-items:center;justify-content:center;width:29px;height:29px;background:#fff;border-radius:50%;border:1px solid #e7eddd;color:#a9bf8d}.leaf-one{left:-2px;top:12px}.leaf-two{right:0;bottom:13px}.familiarity-bar{display:flex;position:relative;height:7px;border-radius:5px;overflow:hidden;gap:2px}.familiarity-bar .learning{background:#e2cfa1}.familiarity-bar .familiar{background:#a9bd8d}.familiarity-bar .mastered{background:#658555}.familiarity-bar .empty-bar{position:absolute;inset:0;background:#edf1e4}.familiarity-legend{display:flex;justify-content:space-between;gap:9px;margin-top:15px}.familiarity-legend>div{display:flex;align-items:center;gap:5px;font-size:8px;color:#a3ae91;flex-wrap:wrap}.familiarity-legend strong{font-weight:500;font-size:9px;color:#7d926a}.memory-panel>.field-hint{font-size:8px;line-height:1.7;margin-top:16px}.consistency-panel{padding:24px 27px;margin-bottom:24px}.heatmap{display:grid;grid-template-columns:repeat(28,minmax(0,1fr));gap:5px;padding-top:5px}.heatmap-cell{aspect-ratio:1;border-radius:3px;border:1px solid #819c5f07;min-height:10px}.intensity-0{background:#eff3e7}.intensity-1{background:#dbe7c8}.intensity-2{background:#b9cf9d}.intensity-3{background:#8ba86b}.intensity-4{background:#557c43}.heatmap-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:15px;font-size:8px;color:#a7b197}.heatmap-footer>span:last-child{display:flex;gap:4px;align-items:center}.heatmap-footer i{width:10px;height:10px;border-radius:2px}.heatmap-footer i:first-of-type{margin-left:5px}.heatmap-footer i:last-of-type{margin-right:5px}.recent-activity{padding:24px 26px}.recent-activity>.section-heading{margin-bottom:13px}.activity-row{display:flex;align-items:center;gap:15px;padding:14px 0;border-bottom:1px solid #eff2e8}.activity-row:last-child{border:0;padding-bottom:0}.activity-glyph{display:flex;align-items:center;justify-content:center;width:41px;height:44px;background:#f4f7ed;border:1px solid #e9eede;border-radius:7px;font-family:var(--serif);font-size:28px;color:#8ba475}.activity-character{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.activity-character strong{font-size:11px;color:#80956b;font-weight:500}.activity-character>span{font-size:9px;color:#abb69b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.activity-source{font-size:9px;color:#a4b093;min-width:85px}.activity-result{display:flex;align-items:center;gap:5px;font-size:9px;color:#b5a17d;min-width:105px}.activity-result.positive{color:#8ca675}.activity-row>time{font-size:8px;color:#b3bca4;width:45px;text-align:right}.modal-backdrop{position:fixed;inset:0;z-index:70;background:#1e352954;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:25px;animation:fade-in .2s}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:545px;max-height:90dvh;overflow-y:auto;background:#fcfdf8;border:1px solid #e3e9d7;border-radius:19px;box-shadow:0 20px 70px #172b2626;padding:23px 28px 25px;outline:none;animation:page-in .25s}.modal-wide{max-width:700px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:17px;border-bottom:1px solid #e7eddd;margin-bottom:22px}.modal-header h2{font-size:17px;font-weight:550;color:#627d50}.modal-header .icon-button{background:#f0f4e7;color:#9cab8b;width:29px;height:29px}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;border-top:1px solid #e6ecd9;padding-top:21px;margin-top:23px}.modal-actions>.button{font-size:11px;padding:11px 16px}.detail-character{text-align:center;display:flex;align-items:center;flex-direction:column}.detail-character>.tag{font-size:8px;color:#9bad87;margin-bottom:19px}.detail-glyph{font-family:var(--serif);font-size:104px;color:#597747;width:142px;height:142px;display:flex;align-items:center;justify-content:center;background-color:#f7faef;border-radius:3px}.detail-pinyin{font-size:23px;color:#8ca972;display:flex;align-items:center;gap:8px;margin-top:13px;padding-left:30px;font-weight:400}.detail-pinyin .icon-button{color:#a5ba8d}.detail-meaning{font-size:12px;line-height:1.8;color:#9ba98b;max-width:390px;margin-top:5px}.detail-facts{display:grid;grid-template-columns:repeat(3,1fr);background:#f2f6e9;border:1px solid #e6ecd9;border-radius:10px;padding:16px 10px;margin:24px 0 19px}.detail-facts>div{display:flex;align-items:center;flex-direction:column;gap:9px;border-right:1px solid #e1e8d3}.detail-facts>div:last-child{border:0}.detail-facts span{font-size:8px;color:#a6b293}.detail-facts strong{font-size:11px;font-weight:500;color:#879e6e}.detail-facts strong[lang]{font-family:var(--serif);font-size:17px;line-height:1}.memory-note{display:flex;align-items:flex-start;gap:10px;padding:15px 17px;border:1px solid #e5ecda;border-radius:9px;color:#9ab383;background:#f8faf2}.memory-note h3{font-size:10px;font-weight:550;color:#859c6d}.memory-note p{font-size:10px;color:#a1af90;line-height:1.8;margin-top:6px}.example-box{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:17px;padding:0 4px}.example-box .eyebrow{font-size:7px;letter-spacing:1.5px;color:#a3b18e}.example-box p{display:flex;align-items:center;gap:10px;margin-top:7px;color:#8fa579;font-size:10px}.example-box p>span[lang]{font-family:var(--serif);font-size:18px;color:#7e9869}.example-box>div>span:last-child{font-size:9px;color:#a9b499;line-height:1.9}.example-box .muted{color:#a8b797}.example-box .icon-button{background:#f1f5e7;color:#a1b58b}.settings-intro{display:flex;align-items:center;gap:13px;margin-bottom:24px}.settings-intro>p{font-size:12px;color:#91a37f;line-height:1.8}.goal-options{display:flex;gap:8px}.goal-options>button{flex:1;padding:10px 3px;border:1px solid #e5ecdb;border-radius:8px;display:flex;align-items:center;flex-direction:column;gap:5px;font-size:20px;font-weight:450;color:#9caf87;background:#fff}.goal-options>button.selected{background:#eaf2df;border-color:#adbf96;color:#78965d}.goal-options small{font-size:8px;font-weight:400}.settings-section{border-top:1px solid #e7eddd;padding-top:20px;margin-top:21px}.settings-section>h3{display:flex;align-items:center;gap:8px;font-size:12px;color:#81986a;font-weight:550}.settings-section>p{font-size:10px;color:#a2af92;margin-top:9px;line-height:1.9}.storage-status{display:flex;align-items:center;gap:6px;font-size:8px;color:#a4b292;margin-top:11px}.storage-status>span{width:4px;height:4px;border-radius:50%;background:#a6bc8d}.storage-warning{color:#b79773}.storage-warning>span{background:#c1a27e}.backup-actions{display:flex;gap:10px;margin-top:15px}.backup-actions .button{flex:1;font-size:10px;padding:10px 12px;min-height:38px}.settings-credits{font-size:8px;line-height:1.9;color:#adb79c;margin-top:23px}.settings-credits strong{font-size:9px;color:#96a783;font-weight:500}.settings-credits>p{margin-top:6px;line-height:1.9}.settings-credits a{color:#8fa57b}.settings-credits a>svg{vertical-align:middle}.reset-section>.text-button{font-size:9px;color:#a6ac96}.reset-confirm{background:#faf0e9;border:1px solid #eedfce;border-radius:9px;padding:14px;margin-top:13px}.reset-confirm>p{font-size:10px;line-height:1.8;color:#b39c7e}.reset-confirm>div{display:flex;gap:9px;margin-top:13px}.reset-confirm .button{font-size:9px;padding:9px 11px;min-height:35px}.import-preview{background:#edf4e4;border:1px solid #e0e9d4;border-radius:9px;padding:15px;margin-top:15px}.import-preview p{font-size:10px;color:#95a781;line-height:1.8}.import-preview p+p{margin-top:6px}.import-preview>div{display:flex;gap:10px;margin-top:15px}.import-preview .button{font-size:9px;min-height:34px;padding:8px 10px}.inline-error{font-size:10px;line-height:1.8;color:#b18b70;background:#fcf0e7;padding:12px 14px;border:1px solid #f0dfcf;border-radius:8px;margin-top:15px;max-width:100%}.toast{position:fixed;bottom:25px;left:calc(50% + 112px);transform:translate(-50%);max-width:540px;width:calc(100% - 45px);background:#fffefa;border:1px solid #dbe5ce;border-radius:11px;padding:13px 12px 13px 16px;box-shadow:0 7px 30px #2f442419;z-index:90;display:flex;align-items:center;gap:11px;animation:fade-in .2s}.toast-icon{display:flex;align-items:center;justify-content:center;width:27px;height:27px;flex-shrink:0;border-radius:50%;background:#eaf1de;color:#8fa975}.toast>p{font-size:11px;color:#839671;line-height:1.7;flex:1}.toast>.icon-button{width:26px;height:26px;color:#9eaf8e}.loading-screen{min-height:65vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;text-align:center;color:#8fa379}.loading-screen>p{font-size:12px;color:#a1af90;max-width:390px;line-height:1.9}.loading-screen>h1{font-size:30px;color:#6d875a}.loading-spinner{animation:spin 1.2s linear infinite;color:#9bb782;margin-top:15px}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1550px){.sidebar{width:245px;padding-left:26px;padding-right:26px}.main-shell{margin-left:245px}.main-content{padding:40px 55px 20px}.topbar{padding:0 55px}.sidebar-profile{margin:0 -26px;padding-left:23px;padding-right:23px}.hero-content{padding-left:36px}.daily-hero{min-height:310px}.hero-content h2{font-size:36px}.hero-content p{font-size:12px}.hero-art{right:23px;top:30px;transform:scale(1.1)}.hero-eyebrow{font-size:8px}.hero-button{font-size:11px}.hero-time{font-size:9px}.daily-goal{min-height:310px}.goal-visual{width:160px;height:160px}.goal-message{font-size:9px}.goal-week{padding-top:16px}.stat-label{font-size:9px}.stat-value>span{font-size:8px}.stat-card{min-height:95px}.practice-card{padding-top:24px}.practice-card h3{font-size:21px}.practice-card>p{font-size:11px}.practice-card-footer{font-size:8px;margin-top:22px;padding-top:15px;padding-bottom:15px}.mode-tag{font-size:7px}.character-tile-body{min-height:191px}.character-glyph{font-size:48px}.character-pinyin{font-size:12px}.character-meaning{font-size:9px}.toast{left:calc(50% + 122.5px)}}@media(max-width:1220px){.sidebar{width:204px;padding-left:17px;padding-right:17px}.main-shell{margin-left:204px}.topbar{padding:0 28px}.main-content{padding:30px 28px 20px}.sidebar-profile{margin-left:-17px;margin-right:-17px;padding-left:12px;padding-right:12px}.nav-item{gap:10px;padding-left:10px;padding-right:10px;font-size:10px}.nav-label{padding-left:10px;font-size:7px}.brand{font-size:29px}.brand-caption{font-size:9px}.sidebar-note h3{font-size:16px}.hero-row{gap:16px;grid-template-columns:minmax(0,2.1fr) minmax(230px,1fr)}.hero-content{padding:25px;max-width:68%}.hero-content h2{font-size:27px}.hero-content p{font-size:9px;max-width:230px}.hero-art{transform:scale(.88);transform-origin:right center;right:5px}.hero-time{display:flex;margin-left:0;margin-top:10px}.hero-button{margin-top:17px}.daily-goal{padding-left:16px;padding-right:16px}.stats-grid{gap:10px}.stat-card{padding:14px 12px;gap:9px}.stat-icon{width:32px;height:32px;border-radius:9px}.stat-icon>svg{width:17px}.stat-label{font-size:7px}.stat-value{font-size:23px;gap:5px}.stat-value>span{font-size:6px;max-width:65px}.practice-grid{gap:13px}.practice-card{padding:18px 17px 0}.practice-card-top{gap:8px}.mode-tag{font-size:5px;letter-spacing:1px}.practice-card-top .practice-icon{width:32px;height:32px}.practice-card-top .practice-icon>svg{width:21px}.practice-card h3{font-size:17px}.practice-card>p{font-size:9px}.practice-card-footer{font-size:6px;gap:5px}.explore-layout{grid-template-columns:minmax(0,3fr) 190px;gap:13px}.dashboard-characters{gap:8px}.character-glyph{font-size:38px}.character-tile-body{min-height:173px;padding-left:5px;padding-right:5px}.character-pinyin{font-size:10px}.character-meaning{font-size:7px}.learning-tip{padding:17px 15px}.learning-tip h3{font-size:15px}.tip-eyebrow{font-size:5px;letter-spacing:.9px}.page-heading h1{font-size:30px}.page-description{font-size:10px}.language-label{font-size:8px;padding:7px 9px}.page-heading{gap:12px}.library-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.study-setup-grid,.quiz-setup-grid{gap:30px}.setup-panel{padding:24px}.setup-heading h2{font-size:17px}.setup-heading{gap:11px}.setup-aside{padding-left:5px;padding-right:5px}.quiz-aside>h2,.setup-aside>h2,.pronunciation-aside>h2{font-size:25px}.quiz-art{transform:scale(.9);margin-bottom:10px}.pronunciation-layout{gap:26px;grid-template-columns:minmax(0,1.5fr) minmax(210px,1fr)}.pronunciation-panel{padding:19px 21px 13px}.tone-guide{padding:15px}.tone-row{gap:9px}.progress-summary{gap:12px}.progress-stat{padding:18px 14px}.progress-stat>.stat-icon{right:12px;top:15px;width:26px;height:26px}.progress-stat>small{font-size:7px}.weekly-panel,.memory-panel{padding:21px}.chart-bars{gap:15px}.progress-middle{gap:18px}.familiarity-legend{gap:5px}.familiarity-legend>div{font-size:7px}.library-banner-art{right:34px;transform:scale(.9);transform-origin:right center}.library-banner{padding:25px 28px}.library-banner h2{font-size:24px}.library-banner p{font-size:10px;max-width:60%}.toast{left:calc(50% + 102px)}}@media(max-width:1050px){.sidebar{width:187px;padding-left:13px;padding-right:13px}.main-shell{margin-left:187px}.main-content{padding:27px 24px 20px}.topbar{padding-left:24px;padding-right:24px;height:68px}.nav-item{font-size:9px;padding-left:9px;gap:9px}.nav-item>svg{width:17px}.nav-label{font-size:6px;letter-spacing:1.3px}.brand{font-size:27px;gap:9px}.brand-symbol{width:32px;height:34px;font-size:21px}.brand-caption{font-size:8px;padding-left:41px}.sidebar-profile{margin-left:-13px;margin-right:-13px;padding-left:11px;padding-right:11px;gap:6px}.sidebar-profile strong{font-size:8px}.sidebar-profile small{font-size:7px}.profile-avatar{width:28px;height:28px;font-size:16px}.sidebar-profile .icon-button{width:23px}.sidebar-profile .icon-button>svg{width:16px}.sidebar-note p{font-size:8px}.sidebar-goal{padding:10px 8px;gap:7px}.sidebar-goal strong{font-size:8px}.sidebar-goal small{font-size:7px}.sidebar-goal-icon{width:25px;height:25px}.sidebar-plant{width:95px}.hero-row{grid-template-columns:minmax(0,1.9fr) minmax(205px,1fr);gap:14px}.daily-hero{min-height:278px}.hero-content{padding:24px 21px;max-width:76%}.hero-content h2{font-size:25px}.hero-content p{font-size:9px;max-width:200px}.hero-art{transform:scale(.72);right:-7px;opacity:.96}.hero-eyebrow{font-size:6px;letter-spacing:1.4px}.front-card{left:65px}.hero-button{padding:9px 12px;font-size:9px;gap:10px}.daily-goal{min-height:278px;padding-left:14px;padding-right:14px}.card-heading h2{font-size:11px}.goal-week{gap:5px;padding-left:1px;padding-right:1px}.goal-message{font-size:7px}.goal-visual{width:142px;height:142px}.stats-grid{gap:9px}.stat-card{padding:13px 10px;gap:8px;align-items:flex-start;min-height:81px}.stat-icon{width:29px;height:29px;margin-top:4px}.stat-icon>svg{width:15px}.stat-label{font-size:6px;line-height:1.5;white-space:normal;margin-right:6px;margin-bottom:3px}.stat-value{font-size:22px;align-items:flex-start;gap:2px;flex-direction:column;line-height:1.1}.stat-value>span{font-size:6px;max-width:none;white-space:nowrap;line-height:1.7}.stat-arrow{width:9px;top:8px;right:8px}.page-heading h1{font-size:28px}.language-label{display:none}.practice-card{padding-left:15px;padding-right:15px}.practice-card-top{margin-bottom:15px}.mode-tag{font-size:5px;letter-spacing:.7px}.practice-card-top .practice-arrow{width:12px}.practice-icon{width:30px;height:30px}.practice-card h3{font-size:16px}.practice-card>p{font-size:8px}.practice-card-footer{font-size:6px;gap:4px}.practice-grid{gap:11px}.explore-layout{display:block}.learning-tip{display:none}.dashboard-characters{gap:11px}.character-glyph{font-size:44px}.character-pinyin{font-size:11px}.character-meaning,.small-note{font-size:8px}.section-heading h2{font-size:18px}.section-heading p{font-size:9px}.dashboard-footer>span:last-child{display:none}.dashboard-footer{font-size:8px}.study-setup-grid,.quiz-setup-grid{gap:22px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.setup-panel{padding:20px}.setup-heading{gap:9px}.setup-heading .section-icon{width:37px;height:37px;border-radius:10px}.setup-heading h2{font-size:15px}.setup-heading p{font-size:9px}.setup-aside>h2,.quiz-aside>h2{font-size:23px}.study-illustration{transform:scale(.85);transform-origin:center top;height:240px;left:-5px}.setup-aside>p,.quiz-aside>p{font-size:10px}.direction-option{padding:11px 10px;gap:9px}.direction-option strong{font-size:9px}.direction-option small{font-size:8px}.direction-sample{width:32px}.quiz-mode{padding:12px 10px}.quiz-mode strong{font-size:9px}.quiz-mode small{font-size:7px}.quiz-art{transform:scale(.8);transform-origin:top left;height:205px;margin-left:0}.pronunciation-layout{grid-template-columns:minmax(0,1.5fr) minmax(180px,1fr);gap:21px}.pronunciation-panel{padding:17px 18px 12px}.pronunciation-toolbar .select-wrap{min-width:137px}.pronunciation-toolbar .text-button{font-size:8px;gap:4px}.pronunciation-toolbar .text-button svg{width:13px}.pronunciation-aside>h2{font-size:21px}.pronunciation-aside>p{font-size:10px}.tone-row{gap:7px}.tone-row>svg:nth-child(2){width:33px}.tone-row small{font-size:7px}.tone-guide{padding:14px 12px}.pronunciation-bottom>span{font-size:8px}.pronunciation-bottom>.button{font-size:8px;gap:3px}.pronunciation-bottom>.button>svg{width:14px}.library-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.library-banner h2{font-size:22px}.library-banner-art{right:22px;transform:scale(.75)}.library-banner p{max-width:62%;font-size:9px}.library-total{display:none}.filter-tabs{gap:15px}.filter-tabs>button{font-size:9px}.results-count{font-size:8px}.progress-stat{padding:16px 13px}.progress-stat>.stat-icon{position:static;width:29px;height:29px;margin:0 0 2px}.progress-stat>span:nth-child(2){padding-right:0;font-size:8px;min-height:auto}.progress-stat>strong{font-size:28px}.progress-stat>small{font-size:7px}.progress-middle{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px}.weekly-panel,.memory-panel{padding:18px}.weekly-panel .section-heading h2,.memory-panel .section-heading h2{font-size:14px}.weekly-panel .section-heading .tag{font-size:7px}.weekly-panel .section-heading{gap:8px}.weekly-panel .section-heading p{font-size:8px}.familiarity-legend{flex-wrap:wrap;gap:10px}.chart-bars{gap:12px}.heatmap{grid-template-columns:repeat(21,minmax(0,1fr))}.progress-page>.page-heading .button{font-size:9px;padding:10px 13px;min-height:38px}.activity-row{gap:10px}.activity-source{font-size:8px;min-width:65px}.activity-result{font-size:8px;min-width:90px}.toast{left:calc(50% + 93.5px)}}@media(max-width:800px){.sidebar{display:none}.main-shell{margin-left:0}.topbar{height:67px;padding:0 24px;background:#fcfcf9}.desktop-breadcrumb{display:none}.mobile-brand{display:inline-flex}.mobile-brand .brand{font-size:27px}.mobile-brand .brand-symbol{width:31px;height:33px;font-size:21px;border-radius:9px}.topbar-right{gap:14px}.topbar-date{font-size:9px}.topbar-separator{height:14px}.streak-pill{font-size:9px}.topbar-avatar{width:30px;height:30px;font-size:15px}.main-content{padding:28px 25px 20px}.page-heading h1{font-size:29px}.page-heading .eyebrow{font-size:7px;margin-bottom:9px}.page-description{font-size:10px}.mobile-nav{display:flex;align-items:center;justify-content:space-around;position:fixed;bottom:0;left:0;right:0;z-index:40;background:#fdfef9ee;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid #e2e8d7;padding:8px 12px max(8px,env(safe-area-inset-bottom));height:calc(65px + env(safe-area-inset-bottom));box-shadow:0 -3px 17px #47632b04}.mobile-nav>button{display:flex;align-items:center;flex-direction:column;gap:5px;min-width:60px;color:#a4af95;position:relative;min-height:44px;justify-content:center;padding:4px 8px}.mobile-nav>button>span{font-size:8px;font-weight:450}.mobile-nav>button.active{color:#65834e}.mobile-nav>button.active:before{content:"";position:absolute;width:38px;height:28px;border-radius:9px;background:#eaf1de;top:0;z-index:-1}.mobile-nav>button.active>span{font-weight:600}.device-save-note{padding-bottom:calc(85px + env(safe-area-inset-bottom));font-size:7px}.hero-row{grid-template-columns:minmax(0,2fr) minmax(210px,1fr);gap:15px}.hero-content h2{font-size:27px}.hero-content p{font-size:9px;max-width:210px}.hero-art{transform:scale(.8);right:0}.hero-content{max-width:68%}.daily-hero,.daily-goal{min-height:282px}.hero-content{padding:24px}.stats-grid{gap:11px}.stat-card{padding:14px 12px;align-items:center}.stat-label{font-size:7px}.stat-value{font-size:23px}.stat-value>span{font-size:6px}.practice-card{padding:18px 17px 0}.practice-card h3{font-size:17px}.practice-card>p{font-size:9px}.practice-card-footer{font-size:7px}.practice-card-top{gap:9px}.mode-tag{font-size:5px}.practice-grid,.dashboard-characters{gap:13px}.character-tile-body{min-height:181px}.character-glyph{font-size:46px}.character-pinyin{font-size:11px}.character-meaning{font-size:8px}.dashboard-footer{margin-top:25px;padding-top:17px}.toast{left:50%;bottom:calc(80px + env(safe-area-inset-bottom))}.library-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.library-grid .character-glyph{font-size:44px}.library-grid .character-tile-body{min-height:175px}.library-grid .character-meaning{font-size:8px}.library-banner-art{right:30px;transform:scale(.85)}.study-setup-grid,.quiz-setup-grid{gap:30px;max-width:720px}.setup-aside{padding-top:10px}.study-session{max-width:650px}.study-card{min-height:360px;max-width:550px}.study-glyph{font-size:115px}.study-session .session-instruction{margin-top:28px}.session-complete{margin-top:18px}.progress-summary{gap:13px}.progress-stat{padding:17px}.progress-middle{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:19px}.weekly-panel,.memory-panel{padding:23px 20px}.weekly-panel .section-heading h2,.memory-panel .section-heading h2{font-size:16px}.heatmap{grid-template-columns:repeat(28,minmax(0,1fr))}.pronunciation-layout{grid-template-columns:minmax(0,1.6fr) minmax(200px,1fr);gap:28px}.pronunciation-aside>h2{font-size:23px}.tone-guide{padding:16px}.tone-row{gap:9px}.tone-row>svg:nth-child(2){width:38px}.tone-row small{font-size:8px}}@media(max-width:640px){.main-content{padding:26px 20px 15px}.topbar{padding:0 20px;height:65px}.topbar-right{gap:11px}.topbar-date,.topbar-separator{display:none}.streak-pill{font-size:8px;gap:5px;padding:6px 8px}.streak-pill>svg{width:13px}.topbar-avatar{width:29px;height:29px}.mobile-brand .brand{font-size:27px}.mobile-brand .brand-symbol{width:30px;height:32px;font-size:21px}.page-heading{margin-bottom:23px}.page-heading h1{font-size:27px;line-height:1.3;letter-spacing:-1px;max-width:390px}.page-heading .eyebrow{font-size:6px;letter-spacing:1.6px;margin-bottom:9px}.page-description{font-size:10px;line-height:1.8;margin-top:8px;max-width:330px}.hero-row{grid-template-columns:1fr;gap:15px}.daily-hero{min-height:265px;border-radius:13px}.hero-content{padding:26px;max-width:70%}.hero-content h2{font-size:29px;margin-top:12px;line-height:1.28}.hero-eyebrow{font-size:6px;letter-spacing:1.3px}.hero-content p{font-size:9px;margin-top:10px;max-width:250px}.hero-art{transform:scale(.9);top:12px;right:12px}.hero-button{font-size:10px;padding:10px 14px;gap:12px;margin-top:20px;min-height:37px}.hero-time{display:inline-flex;margin-left:11px;font-size:7px;margin-top:0}.daily-goal{min-height:0;display:grid;grid-template-columns:1fr 130px;grid-template-rows:30px 23px 45px;padding:16px 21px 16px 24px;column-gap:20px;position:relative}.daily-goal .card-heading{grid-column:1;grid-row:1;align-self:start}.daily-goal .card-heading h2{font-size:12px;line-height:24px}.daily-goal .card-heading .icon-button{position:absolute;right:10px;top:8px}.goal-visual{grid-column:2;grid-row:1/4;width:105px;height:105px;margin:0;justify-self:center}.goal-numbers>span{font-size:27px}.goal-numbers small{font-size:14px}.goal-numbers p{font-size:6px;margin-top:3px}.goal-sprout{width:24px;height:24px;right:0;bottom:10px}.goal-sprout>svg{width:13px}.goal-message{grid-column:1;grid-row:2;align-self:start;white-space:normal;font-size:7px;margin:0}.goal-week{grid-column:1;grid-row:3;padding:0;max-width:240px;align-self:end;gap:5px;margin-top:0}.goal-week>div{gap:5px;font-size:7px}.goal-week .day-check{width:18px;height:18px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:15px}.stat-card{min-height:79px;padding:15px;gap:11px;align-items:center;border-radius:10px}.stat-icon{width:33px;height:33px;margin-top:0}.stat-icon>svg{width:17px}.stat-label{font-size:8px;margin-bottom:4px}.stat-value{flex-direction:row;align-items:baseline;font-size:24px;gap:6px;flex-wrap:wrap}.stat-value>span{font-size:7px;max-width:83px;white-space:normal}.stat-arrow{top:9px;right:10px;width:11px}.practice-section{margin-top:27px}.section-heading{margin-bottom:16px;gap:12px}.section-heading h2{font-size:19px}.section-heading p{font-size:9px;margin-top:5px;max-width:250px}.section-heading .small-note{display:none}.practice-grid{gap:11px}.practice-card{padding:16px 13px 0;min-width:0;border-radius:11px}.practice-card-top{gap:0;justify-content:space-between;margin-bottom:14px}.mode-tag{display:none}.practice-card-top .practice-icon{width:34px;height:34px}.practice-card-top .practice-icon>svg{width:21px}.practice-card-top .practice-arrow{width:14px}.practice-card h3{font-size:16px;letter-spacing:-.5px}.practice-card>p{font-size:8px;line-height:1.8;margin-top:8px}.practice-card>p>br{display:none}.practice-card-footer{font-size:6px;flex-wrap:wrap;gap:4px;margin-top:15px;padding-top:11px;padding-bottom:11px}.practice-card-footer>span:first-child{display:none}.practice-card-footer .tiny-dot{display:none}.practice-card-footer>svg{width:12px}.explore-section{margin-top:27px}.explore-section .text-button{font-size:9px;gap:5px;white-space:nowrap}.explore-section .text-button>svg{width:13px}.heading-spark{font-size:16px;margin-left:3px}.dashboard-characters{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.character-tile{border-radius:9px}.character-tile-body{padding:29px 5px 16px;min-height:150px}.character-glyph{font-size:36px}.character-pinyin{font-size:9px;margin-top:8px}.character-meaning{font-size:6px}.character-tile-top{padding:7px 6px 0 8px}.bookmark-button{width:21px;height:21px}.bookmark-button>svg{width:12px}.status-dot{width:4px;height:4px}.dashboard-footer{font-size:7px;margin-top:24px;padding-top:16px}.dashboard-footer>span{gap:6px}.dashboard-footer svg{width:13px}.device-save-note{font-size:6px;gap:5px;padding-top:13px}.device-save-note svg{width:10px}.mobile-nav{height:calc(63px + env(safe-area-inset-bottom));padding-top:7px;padding-left:7px;padding-right:7px}.mobile-nav>button>span{font-size:8px}.mobile-nav>button{min-width:53px}.mobile-nav>button>svg{width:20px}.study-setup-grid,.quiz-setup-grid{grid-template-columns:1fr;gap:32px;margin-top:26px;margin-bottom:15px;max-width:480px}.setup-panel{padding:24px}.setup-heading{gap:13px;margin-bottom:27px}.setup-heading h2{font-size:18px}.setup-heading p{font-size:10px}.setup-heading .section-icon{width:42px;height:42px;border-radius:11px}.form-field>label{font-size:11px}.direction-option{padding:12px 14px;gap:13px}.direction-option strong{font-size:11px}.direction-option small{font-size:9px}.direction-sample{width:40px}.setup-aside{padding:0 12px}.study-illustration{display:none}.setup-aside>h2,.quiz-aside>h2{font-size:25px}.setup-aside>p,.quiz-aside>p{font-size:11px;max-width:none}.method-steps{gap:18px}.method-steps strong{font-size:11px}.method-steps p{font-size:9px}.method-steps>li>span{width:23px;height:23px}.setup-footnote{font-size:9px}.session-main{padding-top:20px}.study-session .session-instruction{margin:29px 0 21px}.session-type{font-size:8px;gap:5px}.session-type>svg{width:13px}.session-topline .text-button{font-size:10px;gap:6px}.session-counter{font-size:12px}.session-counter>span{font-size:10px}.session-instruction>.eyebrow{font-size:8px;letter-spacing:1.3px}.session-instruction p{font-size:10px}.study-card{min-height:355px;border-radius:15px}.card-reveal-area{min-height:355px;padding:57px 28px 48px}.study-glyph{font-size:111px}.study-card-corner{padding:15px 16px 0}.study-card-corner .tag{font-size:7px}.study-card-corner>.icon-button{width:29px;height:29px}.study-card-corner>.icon-button>svg{width:17px}.study-pinyin{font-size:22px}.study-meaning{font-size:12px}.card-listen{right:21px;bottom:26px;width:36px;height:36px}.card-listen>svg{width:21px}.rating-grid{gap:9px}.rating-button{padding:16px 5px 9px}.rating-button strong{font-size:12px}.rating-button>span:not(.rating-key){font-size:7px}.rating-button small{font-size:8px}.recall-ratings>p{font-size:9px}.reveal-controls>p{font-size:8px;gap:5px}.reveal-controls>p>svg{width:12px}.reveal-controls .button{min-height:43px;font-size:11px}.session-complete{padding:0 4px}.completion-emblem{margin-bottom:19px}.sprout-illustration{width:135px;height:135px}.sprout-illustration>span{font-size:73px}.session-complete>.eyebrow{font-size:8px}.session-complete h1{font-size:30px}.session-complete>p{font-size:11px}.completion-stats{padding:23px 5px;gap:6px}.completion-stats strong{font-size:25px}.completion-stats>div>span{font-size:8px}.completion-note{font-size:9px;padding:13px;gap:9px}.completion-actions>.button{font-size:10px;padding:11px 14px}.practice-tabs{margin-bottom:24px;gap:26px}.practice-tabs>button{font-size:11px;padding-bottom:14px}.practice-tabs>button>svg{width:17px}.quiz-mode strong{font-size:10px}.quiz-mode small{font-size:8px}.quiz-mode{padding:14px}.quiz-aside{padding:0 12px}.quiz-art{display:none}.quiz-tip{margin:22px 0}.quiz-setup-grid{margin-top:0}.quiz-session{padding:20px 20px 23px}.quiz-session>.session-topline>.tag{font-size:7px}.quiz-question-heading{font-size:15px;line-height:1.7;margin-top:27px}.quiz-prompt{font-size:96px;margin:15px 0 24px}.quiz-prompt.english-prompt{font-size:25px}.quiz-choices{gap:10px}.quiz-choice{padding:13px 11px;gap:8px;font-size:11px;min-height:65px}.choice-letter{width:21px;height:21px;font-size:8px}.quiz-choice>svg{width:16px}.quiz-choice>span:last-child{width:16px}.character-choices .quiz-choice>span:nth-child(2){font-size:30px}.quiz-feedback{padding:15px;margin-top:21px}.feedback-top{gap:9px}.feedback-top>span>svg{width:19px}.feedback-top strong{font-size:11px}.feedback-top p{font-size:10px}.feedback-top small{font-size:8px}.feedback-actions .button{font-size:9px;padding:9px 11px;gap:6px;min-height:35px}.feedback-actions>.text-button{font-size:9px}.feedback-actions .button>svg{width:14px}.quiz-complete{padding:27px 20px}.quiz-complete>h2{font-size:25px}.quiz-complete>p{font-size:11px}.quiz-complete .quiz-summary-note{font-size:10px}.quiz-recap{gap:7px}.quiz-recap>div{gap:8px;padding:10px}.quiz-recap>div>span{font-size:23px}.quiz-recap>div>svg{width:15px}.quiz-recap strong{font-size:9px}.quiz-recap small{font-size:7px}.pronunciation-layout{grid-template-columns:1fr;gap:24px;max-width:480px}.pronunciation-panel{padding:19px 22px 13px}.pronunciation-toolbar .text-button{font-size:10px;gap:6px}.pronunciation-toolbar .select-wrap{min-width:155px}.pronunciation-character{padding-top:29px}.pronunciation-character>.eyebrow{font-size:7px;letter-spacing:1.5px}.pronunciation-glyph{width:150px;height:150px;font-size:112px;margin-top:23px}.pronunciation-character h2{font-size:24px}.pronunciation-character>p{font-size:11px}.recording-area{padding-top:19px}.recording-wave{margin-bottom:10px}.recording-area .field-hint{font-size:9px}.pronunciation-bottom>span{font-size:9px}.pronunciation-bottom>.button{font-size:9px;gap:5px}.pronunciation-aside{padding:0 10px;display:grid;grid-template-columns:1fr;gap:0}.pronunciation-aside>.section-icon{display:none}.pronunciation-aside>h2{font-size:25px}.pronunciation-aside>h2>br{display:none}.pronunciation-aside>p{font-size:11px;max-width:none;margin-top:10px}.tone-guide{padding:19px 22px;margin-top:22px}.tone-guide>h3{font-size:12px;margin-bottom:12px}.tone-row{gap:21px;padding:12px 4px}.tone-row>svg:nth-child(2){width:49px;height:30px}.tone-row strong{font-size:16px}.tone-row small{font-size:9px}.tone-row>svg:last-child{width:15px}.neutral-tone,.recording-privacy p,.recognition-toggle{font-size:10px}.recognition-toggle small{font-size:9px}.library-banner{padding:24px;min-height:179px;margin-bottom:22px}.library-banner .eyebrow{font-size:6px;letter-spacing:1.3px}.library-banner h2{font-size:22px;line-height:1.4;max-width:230px}.library-banner p{font-size:9px;max-width:65%;margin-top:7px}.library-banner .text-button{font-size:9px;margin-top:12px}.library-banner-art{right:13px;top:15px;transform:scale(.67)}.library-controls{gap:10px;margin-bottom:18px}.search-input{padding:0 12px;gap:8px}.search-input>svg{width:16px}.search-input input{font-size:10px;min-height:42px}.search-input>kbd{display:none}.library-controls>.select-wrap{min-width:140px;max-width:145px}.library-controls .select-wrap select{font-size:10px;min-height:43px;padding-left:11px;padding-right:26px}.library-controls .select-wrap>svg{width:13px;right:9px}.library-filter-row{margin-bottom:18px;display:block}.filter-tabs{gap:20px;padding-bottom:0;margin-bottom:0}.filter-tabs>button{font-size:9px;padding-bottom:13px}.results-count{display:none}.library-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.library-grid .character-tile-body{min-height:173px;padding-top:34px;padding-bottom:19px}.library-grid .character-glyph{font-size:42px}.library-grid .character-pinyin{font-size:11px;margin-top:8px}.library-grid .character-meaning{font-size:8px}.library-grid .character-tile-top{padding:8px 7px 0 10px}.library-grid .bookmark-button{width:22px;height:22px}.library-grid .bookmark-button>svg{width:13px}.load-more{margin-top:26px}.load-more>p{font-size:9px}.load-more>.button{font-size:10px}.library-source-note{font-size:7px;margin-top:23px}.saved-practice{flex-direction:column;gap:15px;padding:20px}.saved-practice>span{font-size:11px}.saved-practice>.button{font-size:10px;width:100%}.empty-state{padding:40px 18px}.empty-state h3{font-size:18px;line-height:1.5}.empty-state>p{font-size:10px;line-height:1.9;max-width:320px}.empty-state .button{font-size:10px}.progress-page>.page-heading{display:block}.progress-page>.page-heading .heading-action{margin-top:16px}.progress-page>.page-heading .button{font-size:10px;padding:10px 14px;min-height:36px}.progress-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.progress-stat{padding:18px 16px;gap:8px}.progress-stat>.stat-icon{position:absolute;top:15px;right:14px;width:29px;height:29px}.progress-stat>span:nth-child(2){font-size:8px;padding-right:30px;min-height:26px;line-height:1.6}.progress-stat>strong{font-size:29px}.progress-stat>small{font-size:8px}.progress-middle{grid-template-columns:1fr;gap:19px;margin-bottom:20px}.weekly-panel,.memory-panel{padding:23px}.weekly-panel .section-heading h2,.memory-panel .section-heading h2{font-size:17px}.weekly-panel .section-heading p{font-size:9px}.weekly-panel .section-heading .tag{font-size:8px}.weekly-chart{height:210px}.chart-bars{gap:23px;padding-left:12px;padding-right:12px}.chart-day>span:last-child{font-size:9px}.chart-grid-lines>span{font-size:8px}.bar-value{font-size:10px}.memory-panel{position:relative;display:grid;grid-template-columns:1fr 140px;column-gap:24px}.memory-panel>.section-heading{grid-column:1/-1;margin-bottom:0}.familiarity-visual{grid-column:2;grid-row:2/5;margin:15px 0 0;align-self:center}.familiarity-bar{grid-column:1;grid-row:2;align-self:end;margin-top:28px}.familiarity-legend{grid-column:1;grid-row:3;flex-direction:column;gap:12px;margin-top:18px;margin-bottom:4px}.familiarity-legend>div{font-size:9px;gap:8px}.familiarity-legend strong{margin-left:auto;font-size:11px}.memory-panel>.field-hint{grid-column:1/-1;margin-top:19px;font-size:8px;line-height:1.8}.consistency-panel{padding:23px;margin-bottom:20px}.heatmap{grid-template-columns:repeat(14,minmax(0,1fr));gap:5px}.heatmap-footer{font-size:7px;gap:9px;flex-wrap:wrap;margin-top:15px}.heatmap-footer i{width:9px;height:9px}.recent-activity{padding:23px 20px}.activity-row{gap:11px;padding:13px 0}.activity-glyph{width:36px;height:40px;font-size:25px}.activity-source{display:none}.activity-character strong{font-size:10px}.activity-character>span{font-size:8px}.activity-result{font-size:8px;min-width:85px;gap:4px}.activity-row>time{font-size:7px;width:35px}.recent-activity .section-heading h2{font-size:18px}.recent-activity .section-heading>.tag{font-size:7px}.modal-backdrop{padding:18px}.modal{padding:21px 23px 22px;max-height:calc(100dvh - 36px);border-radius:16px}.modal-header{padding-bottom:16px;margin-bottom:21px}.modal-header h2{font-size:17px}.modal-actions{gap:9px}.modal-actions>.button{font-size:10px;padding:11px 13px;min-height:40px}.modal-actions>.button>svg{width:15px}.detail-meaning{font-size:11px}.detail-facts{margin-top:23px}.detail-facts>div>span{font-size:7px}.detail-facts>div>strong{font-size:10px}.detail-facts>div>strong[lang]{font-size:17px}.memory-note{padding:14px}.memory-note p{font-size:9px}.goal-options{gap:7px}.goal-options>button{font-size:19px}.settings-intro>p{font-size:11px}.settings-section>p{font-size:10px}.settings-credits{font-size:7px}.settings-credits strong{font-size:8px}.toast{max-width:calc(100% - 32px);padding:12px;gap:9px;bottom:calc(76px + env(safe-area-inset-bottom))}.toast>p{font-size:10px}.toast-icon{width:25px;height:25px}}@media(max-width:430px){.main-content{padding:23px 17px 14px}.topbar{padding:0 18px;height:64px}.page-heading{margin-bottom:22px}.page-heading h1{font-size:25px;letter-spacing:-.85px;max-width:350px}.page-description{font-size:9px;max-width:320px;line-height:1.8}.page-heading .eyebrow{font-size:6px;letter-spacing:1.5px}.daily-hero{min-height:265px}.hero-content{padding:25px 21px;max-width:73%}.hero-content h2{font-size:27px;letter-spacing:-.7px}.hero-content p{font-size:8px;max-width:205px;line-height:1.9}.hero-eyebrow{font-size:5px;letter-spacing:1.2px}.hero-art{transform:scale(.73);right:-8px;top:10px}.hero-button{margin-top:18px;padding:10px 13px;font-size:9px;gap:13px;min-height:36px}.hero-button>svg{width:15px}.hero-time{display:flex;margin-left:0;margin-top:9px;font-size:6px}.daily-goal{padding:15px 14px 15px 19px;grid-template-columns:1fr 107px;column-gap:15px;grid-template-rows:27px 22px 44px}.daily-goal .card-heading h2{font-size:11px}.goal-message{font-size:6px}.goal-visual{width:100px;height:100px}.goal-week{max-width:210px;padding-right:6px;gap:4px}.goal-week>div{font-size:6px;gap:4px}.goal-week .day-check{width:17px;height:17px}.goal-numbers p{font-size:6px}.goal-sprout{width:22px;height:22px;right:1px;bottom:8px}.stats-grid{gap:10px;margin-top:14px}.stat-card{padding:14px 11px;gap:9px;min-height:79px}.stat-icon{width:30px;height:30px;border-radius:8px}.stat-icon>svg{width:15px}.stat-label{font-size:7px;line-height:1.4;margin-right:7px}.stat-value{font-size:22px;gap:5px}.stat-value>span{font-size:6px;max-width:64px;line-height:1.6}.stat-arrow{width:9px;right:8px;top:8px}.section-heading h2{font-size:18px}.section-heading p{font-size:8px;max-width:220px}.practice-section{margin-top:26px}.practice-grid{gap:9px}.practice-card{padding:15px 11px 0}.practice-card-top{margin-bottom:13px}.practice-card-top .practice-icon{width:30px;height:30px;border-radius:8px}.practice-card-top .practice-icon>svg{width:19px}.practice-card-top .practice-arrow{width:12px}.practice-card h3{font-size:14px;letter-spacing:-.4px;white-space:nowrap}.practice-card>p{font-size:7px;line-height:1.9;margin-top:7px;min-height:40px}.practice-card-footer{margin-top:12px;font-size:6px;padding-top:10px;padding-bottom:11px}.practice-card-footer>svg{width:11px}.explore-section{margin-top:26px}.explore-section .section-heading{gap:7px}.explore-section .text-button{font-size:8px;gap:4px}.explore-section .text-button>svg{width:12px}.heading-spark{font-size:15px;margin-left:0}.dashboard-characters{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.character-tile-body{padding:29px 4px 15px;min-height:137px}.character-glyph{font-size:31px}.character-pinyin{font-size:8px;margin-top:9px}.character-meaning{font-size:6px;max-width:54px}.character-tile-top{padding:6px 4px 0 7px}.bookmark-button{width:20px;height:20px}.bookmark-button>svg{width:11px}.status-dot{width:3px;height:3px}.tile-explore{font-size:6px;gap:2px}.tile-explore>svg{width:9px}.dashboard-footer{font-size:6px;margin-top:22px;letter-spacing:.1px}.dashboard-footer>span{gap:5px}.dashboard-footer>span>svg{width:11px}.mobile-nav>button>span{font-size:7px}.mobile-nav>button>svg{width:19px}.mobile-nav>button.active:before{width:35px;height:27px}.study-setup-grid,.quiz-setup-grid{gap:29px;margin-top:23px}.setup-panel{padding:21px}.setup-heading{gap:11px}.setup-heading h2{font-size:16px}.setup-heading p{font-size:9px}.setup-heading .section-icon{width:39px;height:39px}.setup-heading .section-icon>svg{width:21px}.direction-option strong{font-size:10px}.direction-option small{font-size:8px}.direction-option{padding:11px;gap:11px}.direction-sample{width:35px}.form-field{margin-bottom:22px}.form-field>label{font-size:10px}.segmented-control>button{font-size:10px}.setup-panel>.button{font-size:11px}.setup-footnote{font-size:8px}.select-wrap select{font-size:10px}.field-hint{font-size:9px}.setup-aside>h2{font-size:24px}.setup-aside>p{font-size:10px}.method-steps strong{font-size:10px}.study-session .session-topline>.session-type{font-size:7px}.study-session .session-topline>.session-type>svg{width:12px}.study-card{min-height:337px}.card-reveal-area{min-height:337px;padding:56px 23px 44px}.study-glyph{font-size:105px}.study-prompt{font-size:24px}.study-prompt.pinyin-prompt{font-size:48px}.study-pinyin{font-size:21px}.study-meaning{font-size:11px}.card-listen{width:34px;height:34px;right:15px;bottom:26px}.card-listen>svg{width:19px}.rating-grid{gap:7px}.rating-button{padding:15px 4px 9px;border-radius:8px}.rating-button strong{font-size:11px}.rating-button>span:not(.rating-key){font-size:6px}.rating-button small{font-size:7px}.recall-ratings>p{font-size:8px;line-height:1.8}.rating-button .rating-key{font-size:6px;right:6px;top:5px}.reveal-controls>p{font-size:7px}.study-session .session-instruction>.eyebrow{font-size:7px;letter-spacing:1.2px}.study-session .session-instruction>p{font-size:9px}.study-session .session-instruction{margin-top:26px}.completion-stats{padding:22px 3px}.completion-stats>div>span{font-size:7px}.completion-stats strong{font-size:24px}.completion-note{font-size:8px;gap:8px}.completion-note>svg{width:16px}.completion-actions{gap:9px}.completion-actions>.button{font-size:9px;padding:10px 13px;min-height:39px}.quiz-session{padding:18px 17px 21px}.quiz-choices{gap:9px}.quiz-choice{padding:12px 10px;gap:7px;font-size:10px}.choice-letter{width:19px;height:19px;font-size:7px}.quiz-question-heading{font-size:14px}.quiz-prompt{font-size:94px}.quiz-feedback{padding:13px}.feedback-top strong{font-size:10px}.feedback-top p{font-size:9px}.feedback-top>span>svg{width:18px}.feedback-actions .button{font-size:8px;padding:9px 10px}.feedback-actions>.text-button{font-size:8px}.pinyin-form>p{font-size:8px}.pinyin-form>input{font-size:21px}.pinyin-form>input::placeholder{font-size:16px}.pinyin-form>.button{font-size:10px}.quiz-mode{padding:12px}.quiz-mode strong{font-size:9px}.quiz-mode small{font-size:7px}.quiz-aside>p{font-size:10px}.quiz-recap>div{padding:9px;gap:7px}.quiz-recap>div>span{font-size:22px}.quiz-complete>h2{font-size:23px}.pronunciation-panel{padding:19px 17px 12px}.pronunciation-toolbar .select-wrap{min-width:142px;max-width:145px}.pronunciation-toolbar .text-button{font-size:9px;gap:5px}.pronunciation-toolbar .text-button>svg{width:13px}.pronunciation-bottom>span{font-size:8px}.pronunciation-bottom>.button{font-size:8px}.pronunciation-character>.eyebrow{font-size:6px;letter-spacing:1.3px}.pronunciation-aside>h2{font-size:23px}.pronunciation-aside>p{font-size:10px}.tone-guide{padding:18px 20px}.tone-row{gap:16px}.tone-row small{font-size:8px}.recognition-toggle{font-size:9px}.recognition-toggle small{font-size:8px}.library-banner{padding:22px;min-height:188px}.library-banner h2{font-size:21px;max-width:192px}.library-banner p{max-width:64%;font-size:8px;line-height:1.9}.library-banner-art{right:7px;transform:scale(.57);top:26px}.library-banner .text-button{font-size:8px;margin-top:10px}.library-controls{gap:8px;flex-wrap:wrap}.search-input{width:100%;min-width:100%;padding:0 12px}.search-input input{font-size:10px;min-height:43px}.library-controls>.select-wrap{max-width:100%;min-width:100%;margin-top:3px}.library-controls>.select-wrap select{min-height:37px;padding-top:9px;padding-bottom:9px}.library-filter-row{margin-top:3px}.filter-tabs{gap:17px}.filter-tabs>button{font-size:8px;padding-bottom:12px}.filter-tabs>button>svg{width:12px}.filter-tabs>button>span{font-size:7px}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.library-grid .character-tile-body{min-height:173px;padding-top:32px;padding-bottom:20px}.library-grid .character-glyph{font-size:45px}.library-grid .character-pinyin{font-size:11px}.library-grid .character-meaning{font-size:8px;max-width:100%}.library-grid .bookmark-button>svg{width:13px}.library-grid .status-dot{width:4px;height:4px}.library-grid .character-tile-top{padding-left:11px;padding-right:8px}.library-source-note{font-size:7px;line-height:2}.progress-stat{padding:16px 14px;gap:7px}.progress-stat>strong{font-size:28px}.progress-stat>span:nth-child(2){font-size:7px;line-height:1.7;min-height:24px;padding-right:25px}.progress-stat>.stat-icon{right:12px;width:26px;height:26px}.progress-stat>.stat-icon>svg{width:14px}.progress-stat>small{font-size:7px}.weekly-panel,.memory-panel{padding:21px}.weekly-panel .section-heading h2,.memory-panel .section-heading h2{font-size:16px}.weekly-panel .section-heading p{font-size:8px}.weekly-panel .section-heading>.tag{font-size:7px;padding:5px 7px}.weekly-chart{height:194px;margin-top:31px}.chart-bars{gap:17px;padding-left:8px;padding-right:8px}.chart-day>span:last-child{font-size:8px}.memory-panel{column-gap:17px;grid-template-columns:1fr 128px}.familiarity-visual{width:128px;height:135px;margin-top:15px}.familiarity-circle{width:125px;height:125px}.familiarity-circle>span{font-size:44px}.familiarity-legend>div{font-size:8px}.familiarity-legend strong{font-size:10px}.memory-panel>.field-hint{font-size:7px}.consistency-panel{padding:21px}.heatmap{gap:5px}.heatmap-footer{font-size:6px}.heatmap-footer i{width:8px;height:8px}.recent-activity{padding:21px 17px}.recent-activity .section-heading h2{font-size:16px}.recent-activity .section-heading>div>p{font-size:8px}.recent-activity .section-heading>.tag{display:none}.activity-row{gap:9px}.activity-character>span{font-size:7px}.activity-result{font-size:7px;min-width:74px}.activity-result>svg{width:12px}.activity-row>time{font-size:6px;width:30px}.activity-character strong{font-size:9px}.activity-glyph{width:34px;height:38px;font-size:24px}.modal-backdrop{padding:13px}.modal{padding:18px 20px 21px;max-height:calc(100dvh - 26px)}.modal-header h2{font-size:16px}.modal-actions{gap:8px}.modal-actions>.button{font-size:9px;gap:6px;padding:10px 12px;min-height:38px}.modal-actions>.button>svg{width:14px}.detail-facts>div>span{font-size:6px}.detail-facts>div>strong{font-size:9px}.detail-glyph{width:134px;height:134px;font-size:98px}.detail-pinyin{font-size:21px}.detail-meaning{font-size:10px}.goal-options{gap:6px}.goal-options>button{font-size:18px;padding:10px 2px}.goal-options small{font-size:7px}.backup-actions .button{font-size:9px;gap:6px;padding:10px}.backup-actions .button>svg{width:14px}.settings-section>h3{font-size:11px}.settings-section>p{font-size:9px}.field-description{font-size:10px}.settings-credits>p{font-size:7px}.toast>p{font-size:9px}.reset-confirm .button{font-size:8px;padding:9px}.reset-confirm>p{font-size:9px}.import-preview .button{font-size:8px}.import-preview p{font-size:9px}}@media(max-width:360px){.main-content{padding-left:14px;padding-right:14px}.page-heading h1{font-size:23px;letter-spacing:-.8px}.page-description{font-size:8px}.hero-content{padding-left:18px;padding-right:18px}.hero-content h2{font-size:25px}.hero-content p{font-size:7px;max-width:185px}.hero-art{right:-13px;transform:scale(.65)}.hero-eyebrow{font-size:5px;letter-spacing:1px}.daily-hero{min-height:249px}.daily-goal{padding-left:16px;grid-template-columns:1fr 94px;column-gap:9px}.goal-visual{width:94px;height:94px}.goal-week{padding-right:3px}.stat-card{padding-left:10px;padding-right:9px;gap:8px}.stat-icon{width:27px;height:27px}.stat-label{font-size:6px}.stat-value{font-size:21px;gap:4px}.stat-value>span{font-size:5px;max-width:59px}.practice-card{padding-left:9px;padding-right:9px}.practice-card h3{font-size:13px}.practice-card>p{font-size:6px}.section-heading h2{font-size:16px}.section-heading p,.explore-section .text-button{font-size:7px}.heading-spark{font-size:13px}.character-glyph{font-size:28px}.character-tile-body{min-height:130px}.character-pinyin{font-size:7px}.character-meaning{font-size:5px}.dashboard-characters{gap:6px}.character-tile-top{padding-left:5px;padding-right:3px}.bookmark-button>svg{width:10px}.dashboard-footer{font-size:5px}.setup-panel{padding:18px}.setup-heading h2{font-size:15px}.quiz-choice{font-size:9px;gap:5px;padding-left:8px;padding-right:8px}.quiz-choices{gap:8px}.quiz-prompt.english-prompt{font-size:23px}.pronunciation-toolbar .select-wrap{min-width:130px;max-width:130px}.pronunciation-toolbar .text-button{font-size:8px}.library-grid{gap:9px}.library-grid .character-glyph{font-size:42px}.library-grid .character-tile-body{min-height:165px}.memory-panel{padding:18px;column-gap:13px}.weekly-panel{padding:19px}.weekly-panel .section-heading h2,.memory-panel .section-heading h2{font-size:15px}.chart-bars{gap:14px}.heatmap{gap:4px}.activity-result{font-size:6px;min-width:66px}.activity-result>svg{width:11px}.modal{padding-left:17px;padding-right:17px}.modal-actions>.button{font-size:8px;padding-left:10px;padding-right:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.loading-spinner{animation:spin 2s linear infinite!important}}.brand{white-space:nowrap}.brand-symbol{width:36px;height:36px;object-fit:contain;background:transparent;flex-shrink:0}.nav-item{font-size:13px}.nav-label{font-size:9px;letter-spacing:1.3px}.brand-caption{font-size:10px}.sidebar-note .eyebrow{font-size:8px}.sidebar-note p{font-size:11px;color:#7c866e}.sidebar-goal strong,.sidebar-profile strong{font-size:10px}.sidebar-goal small,.sidebar-profile small{font-size:9px;color:#7b856f}.desktop-breadcrumb,.topbar-date{font-size:12px}.streak-pill{font-size:11px}.page-heading .eyebrow{font-size:9px}.page-description{font-size:13px;color:#78836e}.language-label{font-size:10px}.hero-eyebrow{font-size:8px}.hero-content p{font-size:12px;color:#ccd8c4}.hero-button{font-size:12px;min-height:42px}.hero-time{font-size:9px;color:#c0cfb4}.card-heading h2{font-size:14px}.goal-numbers p{font-size:10px;color:#7a876b}.goal-message{font-size:10px;color:#7f8b70}.goal-week>div{font-size:9px;color:#8e9a7e}.stat-card{min-height:93px}.stat-label{font-size:10px;color:#77866a;margin-bottom:5px}.stat-value>span{font-size:9px;color:#8b967c}.section-heading h2{font-size:21px}.section-heading p{font-size:12px;color:#7d8a70}.text-button{font-size:12px}.practice-card h3{font-size:20px}.practice-card>p{font-size:12px;color:#77896a}.pronunciation-card>p{color:#a08266}.quiz-card>p{color:#9181a5}.mode-tag{font-size:7px}.practice-card-footer{font-size:9px}.character-pinyin{font-size:13px;color:#6d815a}.character-meaning{font-size:10px;color:#8a9679}.tip-eyebrow{font-size:7px}.learning-tip>p{font-size:10px;color:#8c9779}.learning-tip>span:last-of-type{font-size:9px}.dashboard-footer{font-size:10px;color:#89977b}.dashboard-footer>span:last-child{font-size:9px}.device-save-note{font-size:9px;color:#929e84}.setup-heading p,.setup-aside>p,.quiz-aside>p,.pronunciation-aside>p{font-size:13px;color:#7f9070}.form-field>label{font-size:13px}.select-wrap select{font-size:13px;min-height:44px}.segmented-control>button{font-size:12px;min-height:39px}.direction-option strong{font-size:12px}.direction-option small{font-size:11px;color:#8b9a7b}.field-hint,.setup-footnote{font-size:11px;color:#8e9c7c}.method-steps strong{font-size:12px}.method-steps p{font-size:11px;color:#8a9a78}.session-instruction p,.recall-ratings>p{font-size:12px;color:#8c9e79}.rating-button>span:not(.rating-key){font-size:10px}.rating-button small{font-size:11px}.rating-button strong{font-size:15px}.reveal-controls>p{font-size:11px}.quiz-mode strong{font-size:12px}.quiz-mode small{font-size:10px;color:#8e9e7b}.quiz-tip h3{font-size:12px}.quiz-tip p{font-size:11px;color:#8c9c79}.quiz-reassurance{font-size:12px}.practice-tabs>button{font-size:14px}.quiz-choice{font-size:14px}.feedback-top strong{font-size:13px}.feedback-top p{font-size:12px}.feedback-top small{font-size:10px}.pronunciation-character>p{font-size:14px;color:#8a9b77}.listen-actions .button{font-size:12px;min-height:42px}.record-label{font-size:12px;color:#879c73}.tone-guide>h3{font-size:13px}.tone-row small{font-size:10px;color:#8d9f79}.neutral-tone{font-size:11px;color:#8c9c7a}.recording-privacy p{font-size:11px;color:#879a74}.recognition-toggle{font-size:11px}.recognition-toggle small{font-size:10px;color:#8e9d7f}.pronunciation-bottom>span,.pronunciation-bottom>.button{font-size:11px}.library-banner p{font-size:12px;color:#7c9167}.search-input input{font-size:13px}.filter-tabs>button{font-size:12px}.results-count{font-size:11px}.library-grid .character-pinyin{font-size:14px}.library-grid .character-meaning{font-size:11px;color:#889b74}.library-source-note{font-size:10px;color:#919f82}.progress-stat>span:nth-child(2){font-size:11px}.progress-stat>small{font-size:10px;color:#909e7e}.familiarity-legend>div{font-size:10px}.memory-panel>.field-hint{font-size:10px}.heatmap-footer{font-size:10px}.activity-character strong{font-size:13px}.activity-character>span,.activity-source,.activity-result{font-size:11px}.activity-row>time{font-size:10px}.settings-intro>p,.field-description{font-size:13px}.settings-section>p{font-size:12px;color:#8b9d77}.settings-section>h3{font-size:14px}.settings-credits{font-size:10px}.settings-credits strong{font-size:11px}.backup-actions .button{font-size:12px;min-height:42px}.storage-status{font-size:10px}.detail-meaning{font-size:14px;color:#81956b}.detail-facts span{font-size:10px}.detail-facts strong,.memory-note h3{font-size:12px}.memory-note p{font-size:12px;color:#8c9f79}.example-box p{font-size:12px}.example-box>div>span:last-child{font-size:11px}.empty-state>p{font-size:13px;color:#8b9d78}.bookmark-button{position:relative}.bookmark-button:after{content:"";position:absolute;inset:-7px}@media(min-width:801px)and (max-width:1220px){.nav-item{font-size:11px}.nav-label{font-size:7px}.sidebar-note p,.sidebar-profile strong,.sidebar-goal strong{font-size:9px}.sidebar-profile small,.sidebar-goal small{font-size:8px}.hero-content p{font-size:10px;max-width:210px}.hero-button{font-size:11px}.hero-eyebrow{font-size:7px}.hero-time,.stat-label{font-size:8px}.stat-value>span{font-size:7px}.practice-card>p{font-size:10px}.practice-card-footer{font-size:7px}.practice-card h3{font-size:18px}.mode-tag{font-size:6px}.card-heading h2{font-size:12px}.goal-message{font-size:8px}.library-banner p{font-size:11px}.filter-tabs>button{font-size:10px}.progress-stat>span:nth-child(2){font-size:9px}.progress-stat>small{font-size:9px}.familiarity-legend>div{font-size:8px}.pronunciation-bottom>span,.pronunciation-bottom>.button{font-size:9px}.activity-source,.activity-result{font-size:9px}.activity-character>span{font-size:10px}.activity-row>time{font-size:8px}}@media(max-width:800px){.mobile-brand{align-self:center}.mobile-brand .brand-symbol{width:32px;height:32px}.mobile-nav>button>span{font-size:10px}.mobile-nav>button>svg{width:21px}.topbar-avatar{position:relative}.topbar-avatar:after{content:"";position:absolute;inset:-8px}.desktop-breadcrumb,.topbar-date{font-size:10px}.stat-label{font-size:9px}.stat-value>span{font-size:8px}.practice-card>p{font-size:11px}.practice-card h3{font-size:18px}.mode-tag{font-size:6px}.practice-card-footer{font-size:8px}.goal-message{font-size:9px}.card-heading h2{font-size:12px}.hero-content p{font-size:10px}.hero-button{font-size:11px}.hero-eyebrow{font-size:7px}.goal-week>div{font-size:8px}}@media(max-width:640px){.page-heading h1{font-size:28px}.page-heading .eyebrow{font-size:8px}.page-description{font-size:12px;max-width:380px}.streak-pill{font-size:10px}.hero-content{max-width:72%}.hero-content h2{font-size:28px}.hero-content p{font-size:11px;line-height:1.8;max-width:235px}.hero-button{font-size:12px}.hero-time{font-size:9px;display:flex;margin:12px 0 0}.hero-art{transform:scale(.76);right:-4px}.daily-goal{grid-template-rows:30px 28px 48px;padding-top:19px;padding-bottom:19px}.daily-goal .card-heading h2{font-size:13px}.goal-message{font-size:9px}.goal-numbers p{font-size:7px}.goal-week>div{font-size:8px}.stat-card{min-height:96px}.stat-label{font-size:10px;line-height:1.5}.stat-value>span{font-size:8px}.stat-value{gap:5px}.section-heading h2{font-size:21px}.section-heading p{font-size:11px;line-height:1.7}.practice-grid{grid-template-columns:1fr;gap:12px}.practice-card{display:grid;grid-template-columns:44px minmax(0,1fr) 19px;gap:0 15px;padding:20px}.practice-card-top{display:contents}.practice-card-top .practice-icon{grid-column:1;grid-row:1 / 4;width:42px;height:42px;border-radius:10px}.practice-card-top .practice-icon>svg{width:24px}.practice-card-top .practice-arrow{grid-column:3;grid-row:1 / 4;width:19px;align-self:center}.practice-card h3{grid-column:2;grid-row:1;font-size:19px}.practice-card>p{grid-column:2;grid-row:2;font-size:11px;margin-top:6px;min-height:0}.practice-card>p>br{display:initial}.practice-card-footer{grid-column:2;grid-row:3;padding:0;margin-top:11px;border:0;font-size:9px}.practice-card-footer>span:first-child,.practice-card-footer .tiny-dot{display:inline}.practice-card-footer>svg{display:none}.dashboard-characters{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:108px;overflow-x:auto;padding-bottom:5px;gap:11px}.dashboard-characters .character-tile-body{min-height:163px;padding:31px 8px 20px}.dashboard-characters .character-glyph{font-size:43px}.dashboard-characters .character-pinyin{font-size:12px}.dashboard-characters .character-meaning{font-size:10px;max-width:100%}.dashboard-characters .character-tile-top{padding:7px 9px 0 11px}.bookmark-button{width:25px;height:25px}.bookmark-button>svg,.library-grid .bookmark-button>svg{width:14px}.explore-section .text-button{font-size:10px}.explore-section .section-heading h2{font-size:19px}.explore-section .section-heading{align-items:flex-start}.explore-section .text-button{margin-top:2px}.heading-spark{display:none}.dashboard-footer{font-size:9px}.device-save-note{font-size:8px}.form-field>label{font-size:12px}.select-wrap select,.pronunciation-toolbar .select-wrap select,.library-controls .select-wrap select{font-size:16px;min-height:44px}.search-input input{font-size:16px;min-height:46px}.search-input input::placeholder{font-size:12px}.setup-heading h2{font-size:18px}.setup-heading p{font-size:12px}.setup-aside>p,.quiz-aside>p,.pronunciation-aside>p{font-size:13px}.setup-panel>.button{font-size:12px;min-height:45px}.direction-option strong{font-size:12px}.direction-option small{font-size:10px}.direction-option{padding:13px 12px}.segmented-control>button{font-size:12px}.session-type{font-size:10px}.session-topline .text-button{font-size:12px}.study-session .session-topline>.session-type{font-size:9px}.session-counter{font-size:14px}.session-counter>span{font-size:12px}.study-session .session-instruction>.eyebrow{font-size:8px}.study-session .session-instruction>p{font-size:12px}.study-card-corner .tag{font-size:9px}.study-meaning{font-size:14px}.rating-button strong{font-size:13px}.rating-button>span:not(.rating-key){font-size:9px}.rating-button small{font-size:10px}.recall-ratings>p{font-size:11px}.reveal-controls>p{font-size:10px;text-align:center;line-height:1.8}.reveal-controls .button{font-size:12px;min-height:46px}.completion-stats>div>span{font-size:10px}.completion-note{font-size:11px}.session-complete>p{font-size:13px}.completion-actions>.button{font-size:11px;min-height:44px}.quiz-mode strong{font-size:11px}.quiz-mode small{font-size:10px}.quiz-mode{min-height:103px}.quiz-mode:last-child{min-height:66px}.quiz-mode-sample{font-size:24px}.quiz-question-heading{font-size:17px}.quiz-choice{font-size:13px;line-height:1.7;min-height:70px}.choice-letter{min-width:21px}.feedback-top strong{font-size:12px}.feedback-top p{font-size:11px}.feedback-actions .button{font-size:11px;min-height:42px}.feedback-actions>.text-button{font-size:11px}.pinyin-form>p{font-size:11px}.pinyin-form>.button{font-size:12px}.quiz-complete>p,.quiz-complete .quiz-summary-note{font-size:12px}.quiz-recap strong{font-size:11px}.quiz-recap small{font-size:9px}.pronunciation-toolbar .text-button{font-size:11px}.pronunciation-toolbar .select-wrap{min-width:155px}.pronunciation-character>.eyebrow{font-size:8px;letter-spacing:1px}.pronunciation-character>p{font-size:14px}.pronunciation-bottom>span{font-size:10px}.pronunciation-bottom>.button{font-size:11px}.tone-guide>h3{font-size:14px}.tone-row small{font-size:11px}.recording-privacy p,.recognition-toggle{font-size:12px}.recognition-toggle small{font-size:11px}.audio-playback>span,.audio-playback>.text-button{font-size:12px}.recognition-result>span{font-size:12px}.recognition-result>small{font-size:10px}.library-banner p,.library-banner .text-button{font-size:11px}.filter-tabs>button{font-size:11px;min-height:42px}.library-grid .character-pinyin{font-size:13px}.library-grid .character-meaning{font-size:10px}.library-grid .character-tile-body{min-height:180px}.library-source-note{font-size:10px}.load-more>p{font-size:11px}.load-more>.button{font-size:12px}.progress-page>.page-heading .button{font-size:12px;min-height:42px}.progress-stat>span:nth-child(2){font-size:10px}.progress-stat>small{font-size:10px}.weekly-panel .section-heading h2,.memory-panel .section-heading h2{font-size:18px}.weekly-panel .section-heading p{font-size:11px}.weekly-panel .section-heading>.tag{font-size:9px}.chart-day>span:last-child{font-size:10px}.familiarity-legend>div{font-size:11px}.memory-panel>.field-hint{font-size:10px}.heatmap-footer{font-size:9px}.activity-character strong{font-size:12px}.activity-character>span{font-size:10px}.activity-result{font-size:9px;min-width:83px}.activity-row>time{font-size:8px}.recent-activity .section-heading h2{font-size:18px}.recent-activity .section-heading>div>p{font-size:11px}.modal-header h2{font-size:18px}.modal-actions>.button{font-size:11px;min-height:44px}.modal-header .icon-button{width:36px;height:36px}.detail-meaning{font-size:13px}.detail-facts>div>span{font-size:9px}.detail-facts>div>strong{font-size:11px}.memory-note p{font-size:12px}.settings-intro>p,.field-description{font-size:12px}.settings-section>h3{font-size:13px}.settings-section>p{font-size:12px}.backup-actions .button{font-size:11px}.settings-credits>p,.settings-credits strong{font-size:10px}.reset-section>.text-button{font-size:11px}.reset-confirm>p,.import-preview p{font-size:11px}.reset-confirm .button,.import-preview .button{font-size:10px;min-height:40px}.toast>p{font-size:12px}.empty-state>p{font-size:12px}.empty-state .button,.inline-error{font-size:12px}}@media(max-width:430px){.page-heading h1{font-size:27px}.hero-content{max-width:75%}.hero-content h2{font-size:27px}.hero-content p{max-width:207px;font-size:10px}.hero-art{transform:scale(.6);right:-11px;top:32px}.hero-eyebrow{font-size:7px}.stat-label{font-size:9px}.stat-value>span{font-size:8px;max-width:69px}.daily-goal .card-heading h2{font-size:12px}.goal-message{font-size:8px}.goal-week>div{font-size:8px}.goal-numbers p{font-size:6px}.practice-card{padding:18px;gap:0 12px}.practice-card h3{font-size:18px}.practice-card>p{font-size:11px}.explore-section .section-heading h2{font-size:17px}.explore-section .text-button{font-size:9px}.section-heading p{font-size:10px}.library-banner p{max-width:62%;font-size:10px}.library-banner-art{right:-6px;transform:scale(.52)}.library-banner h2{max-width:190px}.quiz-choice{font-size:12px}.rating-button>span:not(.rating-key){font-size:8px}.pronunciation-toolbar .select-wrap{min-width:148px}.pronunciation-toolbar .select-wrap select{padding-left:9px;font-size:16px}.pronunciation-toolbar .text-button{font-size:10px}.progress-stat>span:nth-child(2){font-size:9px}.progress-stat>small{font-size:9px}.weekly-panel .section-heading h2{font-size:16px}.weekly-panel .section-heading>.tag{font-size:8px}.completion-stats>div>span{font-size:9px}.completion-actions>.button{font-size:10px}.modal-actions>.button{font-size:10px;padding-left:11px;padding-right:11px}}@media(max-width:360px){.hero-content h2{font-size:25px}.hero-content p{max-width:190px}.hero-art{transform:scale(.53);right:-15px}.stat-card{gap:7px;padding-left:10px;padding-right:9px}.stat-label{font-size:8px}.stat-value>span{font-size:7px;max-width:60px}.practice-card{grid-template-columns:37px minmax(0,1fr) 16px;gap:0 11px;padding:16px}.practice-card-top .practice-icon{width:36px;height:36px}.practice-card>p{font-size:10px}.explore-section .section-heading h2{font-size:16px}.explore-section .text-button{font-size:8px}.quiz-choice{font-size:11px}.pronunciation-toolbar{gap:9px}.pronunciation-toolbar .select-wrap{min-width:140px}.pronunciation-toolbar .text-button{font-size:9px}.session-topline .text-button{font-size:11px}.study-session .session-topline>.session-type{font-size:8px}.activity-result{font-size:8px;min-width:73px}.heatmap-footer{font-size:8px}}.skip-link:not(:focus){clip-path:inset(50%)}.keyboard-help-link{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 4px;margin:12px auto 0;color:#607751;font-size:12px;line-height:1.5;text-align:left}.keyboard-help-link:hover{color:var(--green-dark);text-decoration:underline;text-underline-offset:4px}.keyboard-help-link.compact{font-size:11px;margin-top:7px}.keyboard-intro,.keyboard-rules{color:#62745a;font-size:13px;line-height:1.9}.keyboard-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:21px 0}.keyboard-examples>div{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 5px;border:1px solid #dfe7d6;border-radius:9px;background:#f1f5e9;color:#58714b}.keyboard-examples strong{font-size:18px;font-weight:500}.keyboard-examples kbd,.keyboard-rules kbd,.quiz-tip kbd,.pinyin-entry-hint kbd,.feedback-ascii kbd,.detail-ascii kbd,.quiz-shortcuts kbd{font:12px ui-monospace,SFMono-Regular,monospace;padding:2px 5px;border:1px solid #dfe6d5;border-radius:4px;background:#fffef9;color:#4f6545}.keyboard-rules{margin:0;padding-left:20px}.keyboard-rules li+li{margin-top:12px}.keyboard-tip{display:flex;gap:10px;background:#ecf2e3;padding:15px;border-radius:10px;margin-top:20px;color:#617851}.keyboard-tip p{font-size:12px}.pinyin-entry{width:100%;max-width:510px;margin:0 auto}.pinyin-entry>label{display:block;font-size:12px;font-weight:550;color:#687d59;margin-bottom:9px}.pinyin-entry>input{width:100%;border:1px solid #b8caa8;border-radius:11px;background:#fcfdf7;padding:15px;font-size:22px;color:#395d41;text-align:center;box-shadow:0 2px 5px #3a5f2910}.pinyin-entry>input::placeholder{font-size:13px;color:#849375}.pinyin-entry>input:disabled{opacity:1;background:#f2f5eb;color:#617b50}.pinyin-entry-preview{min-height:68px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px 11px;padding:12px 0;color:#6b7e5b;text-align:center;font-size:12px}.pinyin-entry-preview strong{font-size:24px;font-weight:500;color:#45653d}.pinyin-entry-preview small{flex-basis:100%;font-size:11px;color:#7d876e}.tone-keyboard{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.tone-keyboard>button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:65px;border:1px solid #dfe7d5;background:#f9fbf3;border-radius:9px;padding:8px 4px;color:#657f55}.tone-keyboard>button:hover:not(:disabled),.tone-keyboard>button.selected{background:#e9f1df;border-color:#8da877;color:#365d32}.tone-keyboard>button:disabled{opacity:.6}.tone-key-symbol{font-family:Georgia,serif;font-size:28px}.tone-keyboard>button>span:last-child{display:flex;flex-direction:column;gap:5px;font-size:14px}.tone-keyboard small{font-size:9px}.pinyin-entry-hint{font-size:11px;color:#748469;text-align:center;margin:12px 0 19px}.pinyin-entry-hint>span{margin:0 5px}.pinyin-entry-hint kbd{font-size:11px}.pinyin-entry-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.pinyin-entry-actions>.text-button{min-height:44px;font-size:12px}.pinyin-entry-actions>.button{min-height:46px;font-size:12px}.quiz-shortcuts{text-align:center;font-size:11px;color:#78876b;margin:15px 0 0}.relearning-explainer{display:flex;gap:12px;align-items:flex-start;background:#f3f6ed;border:1px solid #e3eadb;border-radius:9px;padding:13px 15px;margin:2px 0 18px;color:#64795a}.relearning-explainer>span{font-size:25px;line-height:1.3}.relearning-explainer p{font-size:12px}.queue-note{text-align:center;color:#6e805f;font-size:11px;margin-top:10px}.relearning-badge{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;background:#f1f5e8;padding:11px 13px;color:#698454;font-size:12px;line-height:1.6;margin-top:17px}.feedback-top>div{min-width:0;overflow-wrap:anywhere}.feedback-top p,.feedback-top small{color:#637b52}.incorrect .feedback-top p,.incorrect .feedback-top small{color:#8b7049}.feedback-top small{font-size:12px}.feedback-top .feedback-ascii{margin-top:10px;line-height:2}.feedback-actions .button,.feedback-actions .text-button{min-height:44px}.retry-summary{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:#6d825b;padding:4px 0 17px;line-height:1.8}.quiz-recap .recap-ascii{font:10px ui-monospace,SFMono-Regular,monospace;color:#6b7e5b;margin-left:4px}.personal-memory-cue{border:1px solid #dfe7d5;border-radius:11px;background:#fafcf5;padding:15px 17px;margin-top:19px;text-align:left}.memory-cue-heading{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:#71885d}.memory-cue-heading h3{font-size:13px;color:#587047;font-weight:550;flex:1}.memory-cue-heading .text-button{min-height:44px;margin:-9px 0;font-size:12px;padding:4px 0 4px 7px}.personal-memory-cue>p{margin:9px 0 8px;color:#6c7e60;font-size:12px;overflow-wrap:anywhere}.personal-memory-cue>p.saved-memory-cue{white-space:pre-wrap;color:#46603c;font-size:13px}.personal-memory-cue>small{display:block;color:#748367;font-size:10px;line-height:1.8}.mnemonic-coach{margin:11px 0 15px;border:1px solid #dfe6d3;border-radius:9px;background:#f1f5e8}.mnemonic-coach>summary{display:flex;align-items:center;gap:9px;min-height:44px;padding:11px 12px;cursor:pointer;color:#526e44;font-size:12px;line-height:1.6}.mnemonic-coach>summary::-webkit-details-marker{display:none}.mnemonic-coach>summary:after{content:"+";margin-left:auto;font-size:19px}.mnemonic-coach[open]>summary:after{content:"−"}.mnemonic-coach>summary:focus-visible{outline:3px solid #91ad77;outline-offset:3px;border-radius:8px}.mnemonic-coach>p{padding:0 13px;font-size:12px;color:#657b55}.mnemonic-choices{display:flex;flex-wrap:wrap;gap:5px;padding:0 12px}.mnemonic-choices>button{min-height:44px;padding:8px 10px;border:1px solid transparent;border-radius:7px;color:#536d45;font-size:12px}.mnemonic-choices>button[aria-pressed=true]{background:#e1ebd2;border-color:#bcccaa;font-weight:600}.mnemonic-recipe{padding:15px 13px;overflow-wrap:anywhere}.mnemonic-recipe h4{margin:2px 0 6px;font-size:13px;font-weight:600;color:#4b683d}.mnemonic-recipe p{font-size:12px;color:#60744f}.mnemonic-recipe blockquote{margin:12px 0;padding:10px 12px;border-left:3px solid #a9be90;background:#fbfcf7;font-size:13px;line-height:1.8;color:#4b673e}.mnemonic-recipe .mnemonic-reading{margin-bottom:8px}.mnemonic-reading strong{color:#466237}.mnemonic-recipe .text-button{min-height:44px}.mnemonic-recipe small{display:block;font-size:11px;line-height:1.7;color:#806e4e}.mnemonic-coach>.mnemonic-recall-tip{padding:12px 13px 15px;border-top:1px solid #dfe8d3}.mnemonic-recall-tip strong{color:#4f6b40}.kanji-learning-note{margin-top:24px;padding:18px;border-radius:11px;border:1px solid #e0e5d6;background:#f7f9f1}.kanji-learning-note h3{font-size:14px;color:#506d42;margin-bottom:9px}.kanji-learning-note p,.kanji-learning-note li{font-size:12px;color:#637b53;line-height:1.9}.kanji-learning-note ol{padding-left:18px;margin-block:13px}.kanji-learning-note li+li{margin-top:7px}.memory-cue-editor{padding-top:12px}.memory-cue-editor label{display:block;font-size:12px;line-height:1.8;color:#667b54;margin-bottom:8px}.memory-cue-editor textarea{width:100%;min-height:100px;resize:vertical;border:1px solid #bacda8;border-radius:8px;background:#fffefb;padding:12px;font-size:16px;line-height:1.6;color:#435c38}.memory-cue-editor textarea::placeholder{font-size:12px;color:#87957a}.memory-cue-editor textarea:focus-visible{outline:3px solid #91ad77;outline-offset:3px}.memory-cue-editor>div{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:9px 0 13px}.memory-cue-editor>div>span{flex:1;font-size:10px;color:#7f8d72}.memory-cue-editor .button,.memory-cue-editor .text-button{min-height:44px;font-size:11px}.detail-ascii{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px;color:#677d57;font-size:11px;margin-top:14px}.study-ascii{font:11px ui-monospace,SFMono-Regular,monospace;color:#70865e;line-height:1.7}.recall-workspace>.study-card{width:100%}.recall-workspace.has-sketch{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:20px}.has-sketch .study-card{align-self:stretch}.has-sketch .card-reveal-area{height:100%;padding-left:24px;padding-right:24px}.has-sketch .study-prompt{font-size:25px}.has-sketch .pinyin-prompt{font-size:35px}.drawing-practice{min-width:0}.drawing-heading{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:9px}.drawing-heading>span{display:flex;align-items:center;gap:6px;font-size:11px;line-height:1.7;color:#627952}.drawing-heading>div{display:flex;gap:3px}.drawing-heading .icon-button{width:44px;height:44px;background:#edf2e5;color:#718b5c}.drawing-pad{display:block;width:100%;max-width:300px;aspect-ratio:1;margin:0 auto;border:1px solid #d3dfc6;border-radius:11px;background:#fcfdf7;touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair}.drawing-pad.is-locked{cursor:default;background:#f4f7ed;touch-action:auto}.drawing-grid{fill:none;stroke:#dfe8d3;stroke-width:1;stroke-dasharray:4 5}.drawing-stroke{fill:none;stroke:#41653c;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.drawing-practice>p{font-size:11px;color:#718365;line-height:1.8;margin:10px auto 0;max-width:300px;text-align:center}.recall-ratings>.rating-retry-note{font-size:11px;line-height:1.7;color:#758768;margin:14px 0 0}.flashcard-connections{max-width:650px;margin:23px auto 0}.component-cue,.context-cue{font-size:12px;color:#6d815e;line-height:1.9}.component-cue strong{font-family:var(--serif);font-size:20px;font-weight:400;color:#4e7042}.context-cue{margin-top:8px}.context-cue>span{font-family:var(--serif);font-size:18px;color:#4e7042}.learning-guide-link{min-height:44px;margin-top:14px;gap:8px;line-height:1.7;text-align:left}.learning-guide-intro{font-size:14px;color:#627855}.learning-principles{display:flex;flex-direction:column;gap:20px;margin:23px 0}.learning-principles>article{display:flex;gap:13px;color:#789360}.learning-principles h3{font-size:14px;color:#4c6840;margin-bottom:5px}.learning-principles p{font-size:13px;color:#6c7f5f}.learning-routine{padding:17px 19px;background:#edf3e2;border:1px solid #dde7cf;border-radius:11px;color:#59754a}.learning-routine strong{font-size:14px}.learning-routine p{font-size:12px;margin-top:7px}.research-sources{margin-top:24px;padding-top:20px;border-top:1px solid #e0e7d5}.research-sources h3{font-size:13px;color:#5d764c;margin-bottom:10px}.research-sources>a{display:flex;align-items:center;gap:6px;font-size:12px;min-height:44px;line-height:1.7}.research-sources>p{font-size:11px;line-height:1.9;color:#748269;margin-top:13px}.practice-evidence{padding:23px 26px;margin-bottom:24px}.practice-evidence h2{font-size:18px;color:#57714a}.practice-evidence p{font-size:12px;color:#6d815d;margin-top:8px;line-height:1.8}.evidence-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:21px 0;margin:16px 0;border-block:1px solid #e5ebdd}.evidence-counts>div{display:flex;align-items:center;gap:12px}.evidence-counts strong{font-size:27px;font-weight:500;color:#5e7b4d}.evidence-counts span{font-size:12px;line-height:1.7;color:#748767}.modal-header .icon-button{min-width:44px;min-height:44px}@media(max-width:640px){.quiz-session{padding:20px 18px 23px}.quiz-prompt{font-size:88px;margin:12px 0 16px}.quiz-session .session-topline{gap:9px}.quiz-session .session-topline>.tag{font-size:9px;padding:6px 8px}.tone-keyboard{gap:5px}.tone-keyboard>button{flex-direction:column;gap:0;min-height:76px;padding:5px 2px}.tone-key-symbol{font-size:24px;line-height:1}.tone-keyboard>button>span:last-child{font-size:13px;gap:3px}.tone-keyboard small{font-size:9px}.pinyin-entry-actions{flex-direction:column-reverse;align-items:stretch;gap:3px}.pinyin-entry-actions>.text-button{justify-content:center}.pinyin-entry-preview{font-size:11px}.pinyin-entry-hint{font-size:10px}.pinyin-entry>input::placeholder{font-size:11px}.keyboard-examples{grid-template-columns:repeat(2,minmax(0,1fr))}.keyboard-help-link{font-size:11px}.quiz-feedback{padding:15px 13px}.feedback-top small,.feedback-ascii kbd{font-size:11px}.personal-memory-cue{padding:13px}.memory-cue-heading h3{font-size:12px}.memory-cue-heading .text-button{font-size:11px}.memory-cue-heading{gap:5px}.recall-workspace.has-sketch{grid-template-columns:minmax(0,1fr);gap:24px}.has-sketch .study-card,.has-sketch .card-reveal-area{min-height:260px}.has-sketch .study-glyph{font-size:79px}.has-sketch .card-reveal-area{padding-bottom:55px}.drawing-practice{width:100%;max-width:320px;margin:0 auto}.drawing-pad{max-width:240px}.drawing-heading>span{font-size:12px}.study-ascii{font-size:10px}.evidence-counts{gap:11px}.evidence-counts>div{flex-direction:column;align-items:flex-start;gap:4px}.evidence-counts span{font-size:11px}.practice-evidence{padding:20px}.practice-evidence h2{font-size:17px}}@media(max-width:360px){.quiz-session{padding:17px 12px 20px}.feedback-actions{gap:6px}.feedback-actions .button{padding-inline:9px;font-size:10px}.memory-cue-heading>svg{width:14px}.memory-cue-heading h3{font-size:11px}.memory-cue-heading .text-button{font-size:10px;padding-left:0}.memory-cue-editor>div{gap:6px}.memory-cue-editor>div>span{flex-basis:100%}.tone-keyboard{gap:3px}.tone-keyboard small{font-size:8px}.pinyin-entry-hint>span{margin-inline:2px}}.brand-symbol{transform:none}.nav-item{font-size:14px}.sidebar-note{padding:0 12px 20px}.sidebar-note h3{font-size:18px}.sidebar-note p{font-size:13px;color:#63715d;margin-top:8px}.sidebar-goal{gap:10px}.sidebar-goal strong{font-size:12px}.sidebar-goal small{font-size:11px;color:#62715a}.sidebar-settings{padding:18px 10px}.preferences-button{width:44px;height:44px}.page-heading .eyebrow{font-size:10px;letter-spacing:1.5px}.page-description{font-size:15px;color:#60705c;line-height:1.65}.page-heading h1{font-size:clamp(27px,3vw,35px)}.button,.setup-panel>.button,.completion-actions>.button,.feedback-actions .button{font-size:14px;min-height:46px}.text-button{font-size:13px;min-height:44px}.icon-button{min-width:44px;min-height:44px}.device-save-note{font-size:11px;color:#64735c}summary{cursor:pointer}summary:focus-visible{outline:3px solid #91ad77;outline-offset:4px;border-radius:6px}.home-page{max-width:1120px;margin-inline:auto}.lesson-hero{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:24px;padding:32px;background:#2d5340;color:#fffef5;border-radius:20px}.lesson-kicker{font-size:10px;letter-spacing:1.4px;color:#d4e1bc;line-height:1.6}.lesson-hero h2{font-size:clamp(25px,3vw,32px);line-height:1.25;margin:12px 0;letter-spacing:-.6px}.lesson-hero-copy>p{max-width:540px;font-size:15px;line-height:1.65;color:#e0e9d9}.lesson-hero-copy .lesson-resume-note{font-size:12px;margin-top:8px}.lesson-hero .button{margin-top:22px;background:#eaf0cb;color:#244631;border-color:#eaf0cb}.lesson-hero .button:hover{background:#f5f8df}.lesson-time{display:block;font-size:12px;color:#d2dfc9;margin-top:11px}.lesson-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-self:center;justify-items:center}.lesson-preview>span{display:grid;place-items:center;border:1px solid #ffffff2b;border-radius:13px;width:76px;height:76px;background:#ffffff0b;font:39px var(--serif);color:#eff2d9}.home-lesson-steps{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:20px 0 0;margin:0;border-top:1px solid #ffffff26;gap:10px}.home-lesson-steps li{display:flex;align-items:center;gap:8px;font-size:12px}.home-lesson-steps li>span{display:grid;place-items:center;width:24px;height:24px;background:#ffffff13;border-radius:50%;color:#e3eccd;font-size:11px;flex-shrink:0}.home-review-row{display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:18px;margin:22px 0 32px}.review-reminder{display:flex;flex-wrap:wrap;align-items:center;gap:16px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:22px}.review-reminder>svg{color:#55774b}.review-reminder>div{flex:1;min-width:150px}.review-reminder h2{font-size:17px;line-height:1.45}.review-reminder p{font-size:13px;color:#64725c;margin-top:5px}.review-reminder .button{font-size:13px}.home-goal{text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:20px}.home-goal>span{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:550}.home-goal .goal-numbers{position:static;inset:auto;transform:none;text-align:left;margin:9px 0}.home-goal .goal-numbers>span{font-size:27px}.home-goal .goal-numbers small{font-size:15px;color:#61705a}.home-goal-track{height:5px;border-radius:4px;background:#edf0e6;overflow:hidden;margin-bottom:10px}.home-goal-track>span{display:block;height:100%;background:#779960}.home-goal>small{color:#63715b;font-size:11px}.home-practice .section-heading h2{font-size:20px}.home-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home-shortcuts>button{display:flex;align-items:center;gap:13px;padding:20px 17px;border:1px solid #e0e7d8;border-radius:13px;background:#f0f4e9;text-align:left;color:#49653d}.home-shortcuts>button:nth-child(2){background:#fbf0e7;border-color:#f0e2d6;color:#825b42}.home-shortcuts>button:nth-child(3){background:#f0edf7;border-color:#e6dff0;color:#66527d}.home-shortcuts>button:hover{border-color:currentColor}.home-shortcuts>button>span{flex:1;min-width:0}.home-shortcuts strong{display:block;font-size:15px;font-weight:600}.home-shortcuts small{display:block;font-size:12px;line-height:1.6;margin-top:6px}.home-library-link{display:flex;align-items:center;gap:12px;border-block:1px solid var(--line);margin-top:28px;padding:14px 0;color:#617158}.home-library-link>p{flex:1;font-size:13px}.home-custom-link{margin-top:10px;color:#617158}.study-setup-grid,.quiz-setup-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr);align-items:start;gap:40px}.setup-heading h2{font-size:20px}.setup-heading p,.setup-aside>p,.quiz-aside>p{font-size:14px;color:#617058}.form-field>label{font-size:14px}.select-wrap select{font-size:15px}.field-hint,.setup-footnote{font-size:12px;color:#65745d;line-height:1.7}.segmented-control>button{min-height:44px;font-size:13px}.setup-options{margin:0 0 22px;border-block:1px solid var(--line)}.setup-options>summary{padding:16px 0;font-size:14px;line-height:1.7;font-weight:550}.setup-options>summary>span{display:block;font-size:12px;color:#65745d;font-weight:400}.setup-options .direction-options{margin-bottom:15px}.direction-option strong{font-size:13px}.direction-option small{font-size:12px;color:#65745d}.simple-study-guide{padding:20px 0}.simple-study-guide>h2{font-size:24px}.method-steps strong{font-size:14px}.method-steps p{font-size:13px;color:#617058}.answer-method{display:grid;grid-template-columns:1fr 1fr;gap:10px}.answer-method button{border:1px solid var(--line);padding:16px 12px;text-align:left;border-radius:10px}.answer-method button.selected,.recognition-options button.selected{border-color:#6e8b5e;background:#eff4e6}.answer-method strong{display:block;font-size:14px;font-weight:550}.answer-method small{display:block;font-size:12px;margin-top:5px;line-height:1.5;color:#617058}.recognition-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.recognition-options button{min-height:44px;display:flex;justify-content:space-between;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px;font-size:13px}.practice-tabs>button{font-size:14px;min-height:46px}.guided-lesson{width:100%;max-width:800px;margin-inline:auto}.lesson-stepper{list-style:none;padding:0 0 22px;margin:0 0 22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;border-bottom:1px solid var(--line)}.lesson-stepper li{display:flex;align-items:center;gap:8px;font-size:13px;color:#64705f}.lesson-stepper li>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid #dce3d5;border-radius:50%;flex-shrink:0;font-size:12px}.lesson-stepper li.current{font-weight:600;color:var(--green)}.lesson-stepper li.current>span{background:var(--green);border-color:var(--green);color:#fff}.lesson-stepper li.complete>span{background:#e7eedc;color:#4b6c3c;border-color:#d9e4cd}.lesson-intro-card{max-width:620px;margin-inline:auto}.lesson-intro-heading{text-align:center;margin:20px 0}.lesson-intro-heading h1{font-size:25px;letter-spacing:-.5px}.lesson-intro-heading p{font-size:14px;color:#61705b;margin-top:8px}.learn-character{text-align:center;padding:22px;background:#fffefa;border:1px solid #dde5d4;border-radius:17px}.learn-glyph{font:100px/1.45 var(--serif);color:#345039}.learn-reading{display:flex;justify-content:center;align-items:center;gap:10px}.learn-reading>strong{font-size:25px;font-weight:500}.learn-meaning{font-size:18px;color:#455c3b}.learn-ascii{color:#65745e;font-size:13px;margin-top:10px}.learn-ascii kbd{font:13px ui-monospace,SFMono-Regular,monospace;color:#3e5c35}.lesson-intro-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.lesson-small-note{text-align:center;color:#617058;font-size:12px;line-height:1.6;margin:16px 0 0}.session-topline .text-button,.session-type,.study-session .session-topline>.session-type{font-size:13px}.session-counter{font-size:16px}.session-counter>span{font-size:14px;color:#65715d}.study-session .session-instruction{margin:20px 0 18px}.session-instruction h1{font-size:22px;letter-spacing:-.4px;line-height:1.4}.study-session .session-instruction>p{font-size:14px;color:#627159}.study-card,.has-sketch .study-card{min-height:240px}.card-reveal-area,.has-sketch .card-reveal-area{min-height:240px;padding:45px 24px 28px}.study-card-corner .tag{font-size:11px;color:#526448}.study-glyph{font-size:96px}.is-revealed .study-glyph{font-size:76px}.study-pinyin{font-size:24px}.study-meaning{font-size:16px;color:#455b3d}.study-ascii{font-size:12px;color:#617454}.recall-ratings{margin-top:23px}.rating-button{padding:17px 10px 12px}.rating-button strong{font-size:16px}.rating-button>span:not(.rating-key){font-size:12px;opacity:1}.rating-button small{font-size:12px;opacity:1}.rating-button.again{color:#87503c}.rating-button.hard{color:#79612c}.rating-button.good{color:#496530}.rating-button.easy{color:#36603e}.rating-button .rating-key{font-size:10px}.recall-ratings>.rating-retry-note{font-size:12px;color:#627159}.reveal-controls>p{font-size:13px;color:#617058}.reveal-controls .button{font-size:15px;min-height:48px}.personal-memory-cue{background:#f7f9f1}.memory-cue-heading h3{font-size:13px;color:#4f6543}.memory-cue-heading .text-button{font-size:13px;padding-left:5px}.component-details{margin-top:16px}.component-details>summary{min-height:44px;font-size:13px;color:#5f7452;padding-block:10px}.component-cue,.context-cue{font-size:13px;color:#5e7053}.simple-completion-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#e8efdc;color:var(--green);margin:20px auto}.completion-stats{grid-template-columns:1fr 1fr}.completion-stats>div>span{font-size:13px;color:#637357}.session-complete>p,.completion-note{font-size:14px;color:#607153}.quiz-question-heading{font-size:20px;margin-top:24px}.quiz-prompt{font-size:88px;margin:8px 0 12px}.quiz-session .session-topline>.tag{font-size:11px}.quiz-choice{min-height:60px;font-size:15px}.pinyin-entry-preview{min-height:58px;font-size:13px}.pinyin-entry-preview small{font-size:12px}.pinyin-entry>label{font-size:13px}.pinyin-entry>input::placeholder{font-size:15px}.pinyin-entry-actions>.button,.pinyin-entry-actions>.text-button{font-size:14px}.pinyin-entry-hint{font-size:12px}.keyboard-help-link,.keyboard-help-link.compact{font-size:13px}.tone-keyboard small{font-size:11px}.submitted-answer{text-align:center;font-size:14px;color:#64725c}.submitted-answer strong{color:#3e5835}.feedback-top strong{font-size:16px}.feedback-top p{font-size:15px}.feedback-top small{font-size:13px;line-height:1.6}.feedback-actions>.text-button{font-size:14px}.answer-recap{text-align:left;margin:22px 0;border-block:1px solid var(--line)}.answer-recap>summary{min-height:48px;padding-block:14px;font-size:14px}.quiz-complete>p,.quiz-complete .quiz-summary-note{font-size:14px;color:#5e7152}.quiz-recap strong{font-size:14px}.quiz-recap small{font-size:12px}.phrase-practice{max-width:740px;margin:0 auto;padding:26px 30px;text-align:center}.phrase-practice h1{font-size:25px;letter-spacing:-.5px;line-height:1.4;margin-top:25px}.phrase-instruction{font-size:14px;color:#64745c;margin-top:8px}.phrase-prompt{font:clamp(30px,4.6vw,56px)/1.6 var(--serif);color:#345239;margin:32px 0 23px;overflow-wrap:anywhere}.phrase-hint{font-size:13px;color:#64745c;padding:20px 0}.phrase-pinyin{font-size:23px;color:#4e6c40}.phrase-answer h2{font-size:20px;margin-top:7px}.phrase-note{font-size:13px;margin:14px auto 0;max-width:440px;color:#627058}.phrase-actions{display:flex;justify-content:center;gap:12px;margin-top:26px}.phrase-complete{max-width:650px;margin:0 auto;padding:40px;text-align:center}.phrase-complete>svg{color:#54733f;margin-bottom:15px}.phrase-complete h2{font-size:25px}.phrase-complete p{margin:16px 0 24px;font-size:15px;color:#617058}@media(max-width:1100px){.home-shortcuts{grid-template-columns:1fr}.home-shortcuts>button{min-height:86px}.home-review-row{grid-template-columns:minmax(0,1fr) 190px}.study-setup-grid,.quiz-setup-grid{grid-template-columns:1fr;max-width:650px;gap:15px}.simple-study-guide{padding:10px}}@media(max-width:640px){.lesson-hero{grid-template-columns:1fr;gap:20px;padding:24px 20px}.lesson-preview{display:none}.lesson-hero-copy>p{font-size:14px}.lesson-hero .button{width:100%}.lesson-time{font-size:11px;text-align:center}.home-lesson-steps{gap:6px}.home-lesson-steps li{flex-direction:column;gap:7px;font-size:11px}.home-review-row{grid-template-columns:1fr;gap:14px}.review-reminder{padding:20px;gap:12px}.review-reminder .button{width:100%}.home-goal{display:grid;grid-template-columns:1fr auto;gap:8px 14px;padding:16px 20px}.home-goal .goal-numbers{margin:0;grid-column:2;grid-row:1 / 3;align-self:center}.home-goal-track{grid-column:1;margin:0;align-self:center}.home-goal>small{grid-column:1 / -1}.home-practice .section-heading h2{font-size:19px}.home-library-link{flex-wrap:wrap;gap:6px 10px}.home-library-link>p{font-size:12px}.home-library-link .text-button{margin-left:29px}.lesson-stepper{padding-bottom:16px;margin-bottom:15px}.lesson-stepper li{flex-direction:column;gap:6px;font-size:11px}.lesson-intro-heading h1{font-size:23px}.lesson-intro-heading p{font-size:13px}.learn-character{padding:15px}.learn-glyph{font-size:88px}.learn-meaning{font-size:16px}.lesson-intro-actions{gap:8px}.lesson-intro-actions .button{font-size:13px;padding-inline:14px}.session-topline{gap:8px}.session-topline .text-button{font-size:12px}.session-type,.study-session .session-topline>.session-type{font-size:11px}.study-session .session-instruction{margin:14px 0}.session-instruction h1{font-size:19px}.study-session .session-instruction>p{font-size:13px}.study-card,.card-reveal-area{min-height:215px}.card-reveal-area{padding:45px 18px 22px}.study-glyph{font-size:88px}.is-revealed .study-glyph,.has-sketch .study-glyph{font-size:72px}.rating-grid{grid-template-columns:1fr 1fr;gap:9px}.rating-button{padding:12px 8px 9px;gap:3px}.rating-button small{margin-top:3px;padding-top:5px}.rating-button .rating-key{display:none}.recall-ratings>.rating-retry-note{font-size:11px}.memory-cue-heading{gap:7px}.memory-cue-heading h3{font-size:12px;line-height:1.5}.memory-cue-heading .text-button{font-size:12px}.quiz-session{padding:18px 16px 24px}.quiz-session .session-topline>.tag{font-size:10px;padding:5px 8px}.quiz-question-heading{font-size:19px}.quiz-prompt{font-size:78px}.tone-keyboard{gap:4px}.tone-keyboard>button{min-height:65px}.tone-keyboard small{font-size:10px}.pinyin-entry-hint{font-size:11px;margin-bottom:12px}.pinyin-entry-hint>span{margin-inline:3px}.practice-tabs{gap:0}.practice-tabs>button{flex:1;justify-content:center;font-size:12px;padding-inline:8px;gap:6px}.practice-tabs>button>svg{display:none}.completion-stats>div>span{font-size:12px}.phrase-practice{padding:18px 16px 25px}.phrase-practice h1{font-size:22px}.phrase-prompt{font-size:36px;margin-block:26px}.phrase-pinyin{font-size:20px}.phrase-actions{gap:8px}.phrase-actions .button{font-size:13px;padding-inline:12px}.phrase-complete{padding:26px 20px}}@media(max-width:800px){.is-lesson .mobile-nav,.is-lesson .topbar{display:none}.is-lesson .main-shell{padding-bottom:0}.is-lesson .main-content{padding-top:max(16px,env(safe-area-inset-top));padding-bottom:16px}.is-lesson .device-save-note{padding-bottom:max(16px,env(safe-area-inset-bottom))}}@media(max-width:640px){.guided-lesson .lesson-stepper{padding-bottom:12px;margin-bottom:12px}.guided-lesson .lesson-stepper li{gap:4px}.guided-lesson .rating-button small{display:none}.guided-lesson .rating-button{min-height:67px;justify-content:center}.guided-lesson .is-revealed .card-reveal-area{min-height:200px;padding-top:38px}.guided-lesson .is-revealed .study-glyph{font-size:64px}.guided-lesson .is-revealed .study-meaning{font-size:15px}}.home-reading-link{display:flex;align-items:center;gap:20px;padding:23px;margin-bottom:30px;background:#edf2e5;border:1px solid #dfe6d5;border-radius:15px}.home-reading-link>svg{color:#5b754c}.home-reading-link>div{flex:1}.home-reading-link h2{font-size:20px}.home-reading-link p{margin-top:5px;color:#5e6e54;font-size:14px}.reading-shelf{max-width:1120px;margin-inline:auto}.reading-suggestion{display:flex;gap:22px;align-items:center;border:1px solid #dfe7d5;border-radius:16px;padding:26px;background:#eef3e6;margin-bottom:28px}.reading-suggestion>svg{color:#557144}.reading-suggestion>div{flex:1}.reading-suggestion h2{margin:7px 0;font-size:23px}.reading-suggestion p{font-size:14px;color:#5f7055}.reading-due{padding:24px;margin-bottom:24px}.reading-section-heading{display:flex;align-items:center;gap:14px;margin-bottom:12px}.reading-section-heading h2{font-size:21px}.reading-section-heading p{font-size:14px;color:#617058;margin-top:5px}.reading-due-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;margin-top:16px;border-top:1px solid var(--line)}.reading-due-row strong,.reading-due-row small{display:block}.reading-due-row strong{font-size:15px}.reading-due-row small{margin-top:4px;color:#65735e;font-size:12px}.reading-filter-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.reading-filter-row>span{font-size:12px;color:#65735d;white-space:nowrap}.reading-filters{display:flex;flex-wrap:wrap;gap:6px}.reading-filters>button{padding:9px 16px;min-height:44px;border-radius:8px;color:#596b4e;font-size:14px;border:1px solid transparent}.reading-filters>button[aria-pressed=true]{background:#e7efda;border-color:#cdddbc;font-weight:600}.reading-coverage-note{margin:13px 0 25px;font-size:12px;color:#64725b;max-width:760px}.reading-coverage-note summary{min-height:44px;padding-block:13px}.reading-coverage-note p{margin-top:7px}.bookshelf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.reading-card{overflow:hidden;border:1px solid var(--line);background:#fff;border-radius:15px;display:flex;flex-direction:column}.reading-cover{min-height:155px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:20px 24px;background:#dde8ce;color:#385331;box-shadow:inset 7px 0 #b4c79b44}.cover-1 .reading-cover{background:#f2e4d4;color:#775b3c;box-shadow:inset 7px 0 #c7a78433}.cover-2 .reading-cover{background:#e4e4ef;color:#575372;box-shadow:inset 7px 0 #afa6c933}.reading-kind{display:flex;align-items:center;gap:7px;font-size:11px}.reading-cover-title{font:30px/1.5 var(--serif);overflow-wrap:anywhere}.reading-cover>span:last-child{font-size:12px}.reading-card-copy{padding:22px;flex:1;display:flex;flex-direction:column}.reading-card-copy h2{font-size:21px}.reading-card-copy>p{margin-top:9px;font-size:14px;color:#5f6e56}.reading-card-meta{margin:18px 0 15px;display:flex;flex-direction:column;gap:6px;font-size:12px;color:#64745b}.reading-card-meta>span{display:flex;align-items:center;gap:6px}.reading-card-copy .reading-completed{font-size:12px;margin:0 0 13px;color:#49603c}.reading-card-copy .button{margin-top:auto;align-self:flex-start}.reading-routine{margin-top:32px;padding:26px}.reading-routine h2{font-size:23px}.reading-routine ol{padding-left:22px;margin:18px 0}.reading-routine li{padding-left:4px;margin:10px 0;line-height:1.8;font-size:14px;color:#53634a}.reading-routine>p,.reading-credit{font-size:12px;color:#65745e}.reading-credit{margin-top:18px}.reader{max-width:760px;margin-inline:auto;padding-bottom:10px}.reader-topline{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.reader-topline>span{font-size:12px;color:#607257;text-align:right;line-height:1.6}.reader-heading{margin-bottom:23px;text-align:center}.reader-heading .eyebrow{font-size:10px;letter-spacing:1.4px}.reader-heading h1{margin-top:9px;font-size:32px;letter-spacing:-.7px;line-height:1.35}.reader-heading h1:focus{outline:none}.reader-chinese-title{font:24px/1.6 var(--serif);color:#5e7352;margin-top:7px}.reader-contents{margin-bottom:20px;border-block:1px solid var(--line)}.reader-contents summary{padding:14px 2px;min-height:48px;font-size:14px}.reader-contents ol{list-style:none;margin:0 0 12px;padding:0}.reader-contents button{width:100%;min-height:44px;display:flex;justify-content:space-between;gap:10px;text-align:left;padding:11px;border-radius:7px}.reader-contents button[aria-current=page]{background:#eaf0e1}.reader-aids{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.reader-aids button{border:1px solid #dae2d0;border-radius:8px;min-height:44px;padding:10px 14px;background:#fff;color:#516445;font-size:13px}.reader-aids button[aria-pressed=true]{background:#e7efda;border-color:#9eb18a}.reader-help{text-align:center;margin:13px 0 20px;font-size:13px;color:#627157}.reader-text{padding:8px 30px;background:#fffef9}.reader-line{padding:22px 0;border-bottom:1px solid #e9ecdf}.reader-line:last-child{border-bottom:0}.reader-line-top{display:flex;align-items:flex-start;gap:12px}.reader-hanzi{flex:1;min-width:0;font:27px/1.9 Noto Sans SC,sans-serif;color:#354c35}.reader-hanzi .reading-word{display:inline;font:inherit;color:inherit;padding:5px 0;min-height:44px;border-bottom:1px dashed #91a47c;border-radius:2px;vertical-align:baseline}.reader-hanzi .reading-word:hover{background:#eaf0de}.reader-line .icon-button{margin-top:3px;color:#58724a}.reader-pinyin{font-size:16px;color:#63784e;line-height:1.75;margin-top:6px}.reader-english{font-size:15px;color:#56634c;margin-top:6px}.reader-next{display:flex;align-items:center;gap:18px;margin-top:25px}.reader-next>div{flex:1}.reader-next h2{font-size:20px}.reader-next p{font-size:13px;color:#617157;margin-top:6px}.reader-audio-note{font-size:12px;color:#66745e;margin-top:20px}.reading-recall{padding:30px}.reading-recall-top{display:flex;justify-content:space-between;gap:12px;color:#64765a;font-size:12px;margin-bottom:22px}.reading-recall h2{font-size:24px;line-height:1.55;letter-spacing:-.4px}.reading-recall>p{font-size:14px;color:#617157;margin:12px 0}.reading-recall>label{display:block;margin:24px 0 9px;font-weight:550;font-size:14px}.reading-recall>label>span{font-weight:400;color:#65735b}.reading-recall textarea{width:100%;resize:vertical;min-height:105px;border:1px solid #cfd9c4;border-radius:9px;padding:13px;font-size:16px;line-height:1.6;color:#354c31;background:#fcfdf8}.reading-recall textarea:focus-visible{outline:3px solid #91ad77;outline-offset:3px}.reading-recall textarea:disabled{opacity:1;color:#607354;background:#f2f5eb}.reading-reveal{margin-top:18px}.reading-model-answer{background:#eff4e6;padding:20px;border-radius:11px;margin-top:20px}.reading-model-answer>span{display:block;font-size:12px;color:#5b714d;margin-bottom:10px}.reading-model-answer>p[lang]{font-size:24px;color:#3c5632;line-height:1.7}.reading-model-answer>p:last-child{margin-top:8px;font-size:14px;color:#536a44}.reading-recall>.reading-rating-help{font-size:13px;margin:16px 0}.reading-ratings{display:flex;gap:12px}.reading-ratings .button{flex:1;white-space:normal}.reading-reopen{margin-top:22px}.reading-recall>.reading-reopen-note{font-size:12px;margin-top:0}.reading-complete{padding:32px;text-align:center}.reading-complete-icon{width:65px;height:65px;display:grid;place-items:center;border-radius:50%;background:#e8f0db;color:#4e6e3d;margin:0 auto 20px}.reading-complete h2{font-size:25px}.reading-complete>p{font-size:15px;margin-top:12px;color:#5d7151}.reading-next-review{text-align:left;display:flex;gap:14px;margin-top:24px;background:#f1f5e9;border-radius:11px;padding:18px}.reading-next-review strong{font-size:16px}.reading-next-review p{font-size:13px;color:#617458;margin-top:6px}.reading-followup{border-block:1px solid var(--line);padding:22px 0;margin:25px 0}.reading-followup p{font-size:14px;color:#627459;margin:8px 0 17px}.reading-finish-actions{display:flex;justify-content:center;gap:20px}.reading-word-detail{text-align:center;padding:10px 0}.reading-word-detail h3{font:40px/1.7 var(--serif)}.reading-word-detail .reader-pinyin{font-size:22px}.reading-word-detail>p:last-of-type{margin:9px 0;font-size:16px}.reading-word-save-note{color:#637459;font-size:13px}.reading-progress-summary{margin-top:25px;padding:25px;display:flex;align-items:center;gap:22px}.reading-progress-summary>div{flex:1}.reading-progress-summary p{font-size:14px;color:#617356;margin-top:8px}@media(max-width:1100px){.bookshelf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.reading-suggestion,.home-reading-link{flex-wrap:wrap}}@media(max-width:800px){.app-shell .mobile-nav{padding-inline:5px}.app-shell .mobile-nav>button{min-width:44px;flex:1;padding-inline:3px}.app-shell:has(.reader) .mobile-nav,.app-shell:has(.reader) .topbar{display:none}.app-shell:has(.reader) .main-content{padding-top:max(16px,env(safe-area-inset-top))}.app-shell:has(.reader) .device-save-note{padding-bottom:max(16px,env(safe-area-inset-bottom))}}@media(max-width:640px){.home-reading-link{gap:14px;padding:21px}.home-reading-link h2{font-size:19px}.home-reading-link .button{width:100%}.reading-suggestion{padding:21px;gap:15px}.reading-suggestion .button{width:100%}.reading-suggestion>svg{display:none}.reading-filter-row{align-items:flex-start}.reading-filters{gap:3px}.reading-filters>button{font-size:12px;padding-inline:10px}.reading-filter-row>span{display:none}.reading-due{padding:20px}.reading-due-row{gap:10px}.reading-due-row .button{font-size:12px;padding-inline:11px}.bookshelf-grid{grid-template-columns:1fr}.reading-cover{min-height:140px}.reading-card-copy{padding:21px}.reading-card-copy .button{width:100%}.reading-routine{padding:22px}.reader-topline{margin-bottom:16px;gap:12px}.reader-topline>span{font-size:11px;max-width:185px}.reader-heading h1{font-size:27px}.reader-heading .eyebrow{font-size:9px}.reader-aids{gap:6px}.reader-aids button{padding-inline:10px;font-size:12px}.reader-help{font-size:12px}.reader-text{padding:3px 17px}.reader-line{padding:16px 0}.reader-line-top{gap:5px}.reader-hanzi{font-size:24px;line-height:2}.reader-pinyin{font-size:15px}.reader-english{font-size:14px}.reader-next{flex-direction:column;align-items:stretch}.reading-recall{padding:23px 18px}.reading-recall h2{font-size:21px}.reading-ratings{flex-direction:column-reverse;gap:10px}.reading-complete{padding:24px 19px}.reading-followup .button{white-space:normal}.reading-finish-actions{flex-direction:column;gap:10px}.reading-progress-summary{flex-direction:column;align-items:flex-start}}.practice-tabs{flex-wrap:wrap}.home-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-page:has(.spaced-active-session)>.page-heading,.practice-page:has(.spaced-active-session)>.practice-tabs{display:none}.spaced-active-session{max-width:760px;margin-inline:auto}.spaced-intro{margin-bottom:24px;max-width:700px}.spaced-intro h2{font-size:25px;margin-bottom:9px}.spaced-intro p,.spaced-option>p,.spaced-explanation p,.spaced-evidence>p{color:#617157;font-size:14px}.spaced-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.spaced-option{padding:26px;display:flex;align-items:flex-start;flex-direction:column;gap:15px}.spaced-option>svg{color:#59774a}.spaced-option h3{font-size:21px}.spaced-option .button{min-height:44px;white-space:normal}.spaced-count{font-size:15px;color:#4b6c3f;margin-top:auto}.spaced-option>.field-hint{margin-top:0;font-size:12px}.spaced-explanation{display:flex;align-items:flex-start;gap:17px;padding:24px;margin-top:24px}.spaced-explanation>svg{color:#59774a}.spaced-explanation h3{font-size:18px;margin-bottom:10px}.spaced-explanation p+p{margin-top:10px}.phrase-introduction>h2{font-size:25px;margin-top:24px}.phrase-introduction>p{margin-top:12px}.phrase-introduction .phrase-answer h3{margin-top:12px;font-size:22px}.phrase-recall>h2{font-size:23px;margin-top:25px}.phrase-meaning-prompt{margin-top:18px;font-size:29px;line-height:1.5;color:#354c35}.phrase-recall-instruction{margin:15px 0;color:#627357;font-size:14px}.phrase-recall .field-hint{margin-top:24px}.phrase-matching-help{margin-top:20px;font-size:12px;color:#637459}.phrase-matching-help summary{min-height:44px;padding-block:12px}.phrase-matching-help p{margin-top:8px}.phrase-recall-answer>strong{font-size:16px}.phrase-recall-answer>p{margin-top:12px}.phrase-recall-answer>p[lang]{font-size:30px}.phrase-recall-answer .phrase-note{font-size:13px}.phrase-recall-complete>p+p{margin-top:12px}.spaced-evidence{padding:26px;margin-bottom:24px}.spaced-evidence>p{margin:10px 0 18px}.spaced-evidence-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:20px 0;border-block:1px solid var(--line)}.spaced-evidence-counts>div{display:flex;flex-direction:column;gap:6px}.spaced-evidence-counts strong{font-size:26px;color:#47653b}.spaced-evidence-counts span{font-size:13px;color:#65785a}@media(max-width:800px){.app-shell:has(.spaced-active-session) .mobile-nav,.app-shell:has(.spaced-active-session) .topbar{display:none}.app-shell:has(.spaced-active-session) .main-content{padding-top:max(16px,env(safe-area-inset-top))}.app-shell:has(.spaced-active-session) .device-save-note{padding-bottom:max(16px,env(safe-area-inset-bottom))}}@media(max-width:640px){.practice-tabs>button{min-height:44px;flex-basis:50%}.home-shortcuts,.spaced-options{grid-template-columns:1fr}.spaced-option,.spaced-evidence{padding:22px}.spaced-option .button{width:100%}.spaced-explanation{padding:21px}.spaced-explanation>svg{display:none}.phrase-recall>h2{font-size:21px}.phrase-meaning-prompt{font-size:25px}.phrase-introduction .phrase-actions{flex-wrap:wrap}}.lesson-hero .next-lesson-link{color:#edf2da;margin:15px 0 0;padding:4px 0;min-height:44px;font-size:13px;display:flex}.recall-hero .lesson-preview{display:flex;justify-content:center;color:#d5e5bb}.home-review-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:15px;color:#54694a;font-size:13px}.home-review-status>svg{flex-shrink:0}.recall-focus{padding:26px;margin:24px 0}.recall-focus>.section-heading{align-items:flex-start;margin-bottom:20px}.recall-focus .section-heading p{color:#617157;font-size:14px;margin-top:7px}.recall-focus>.section-heading>svg{color:#59774a;flex-shrink:0}.recall-breakdowns,.recall-focus-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.recall-breakdown{background:#f6f8f0;border:1px solid #e3e9da;border-radius:12px;padding:20px}.recall-breakdown h3,.recall-focus-group h3{font-size:16px;line-height:1.4}.recall-match-count{margin:12px 0;color:#56694a;font-size:13px}.recall-match-count strong{font-size:25px;color:#345740;margin-right:4px}.recall-error-counts{display:grid;gap:7px;margin-bottom:14px}.recall-error-details{margin:6px 0 12px;font-size:13px;color:#596b50}.recall-error-details summary{min-height:44px;padding:12px 0;cursor:pointer}.recall-error-counts>div{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#596b50}.recall-error-counts dd{margin:0;font-weight:650;color:#345740}.focus-advice,.focus-empty{font-size:14px;color:#586e4c;line-height:1.65}.recall-focus .focus-caption{font-size:12px;color:#65735e;line-height:1.6;margin-top:12px}.focus-empty{margin-top:20px}.recall-focus-groups{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}.recall-focus-group:only-child{grid-column:1 / -1}.recall-focus-group h3>span{font-size:13px;color:#65735e;margin-left:4px}.recall-focus-group ul{list-style:none;padding:0;margin:12px 0 18px}.recall-focus-group li{display:flex;align-items:flex-start;gap:13px;padding:13px 0;border-bottom:1px solid var(--line)}.recall-focus-group li>div{display:flex;flex-direction:column;gap:4px;min-width:0}.recall-focus-group li strong{font-size:13px;color:#3b5437}.recall-focus-group li>div>span,.recall-focus-group time{font-size:12px;color:#637359}.focus-character{font:30px var(--serif);width:44px;flex-shrink:0;text-align:center;color:#345740}.focus-meaning{width:40%;max-width:160px;flex-shrink:0;font-size:14px;color:#345740}.recall-focus-group .button{white-space:normal;min-height:44px}.pinyin-input-error{margin:12px 0;font-size:14px;color:#805539}.quiz-seen-empty{margin-bottom:22px;border:1px solid var(--line);border-radius:12px;padding:18px;background:#f6f8f0}.quiz-seen-empty h3{font-size:16px}.quiz-seen-empty p{margin:9px 0;font-size:14px;color:#617157}.quiz-seen-empty .text-button{min-height:44px}.seen-only-toggle{display:flex;align-items:center;gap:12px;min-height:44px;font-size:15px}.seen-only-toggle input{width:20px;height:20px}.lesson-catalog,.retention-evidence,.familiar-story-help{margin:24px 0;padding:24px}.lesson-catalog p,.retention-evidence p,.familiar-story-help p{color:#617157;line-height:1.7;margin:12px 0}.lesson-catalog summary{cursor:pointer;padding:14px 0;min-height:44px}.lesson-pack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px}.lesson-pack-grid article{border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.lesson-pack-grid .button{white-space:normal;margin-top:auto}.seen-review-shortcut{margin:8px 0 20px;white-space:normal}.retention-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.retention-grid>div{display:grid;gap:10px;padding:16px 8px;background:#f6f8f0;border-radius:10px;text-align:center}.retention-grid span{font-size:13px}.reading-filters{flex-wrap:wrap}.cloud-account .backup-actions{flex-wrap:wrap;margin:12px 0}.cloud-status{font-weight:600;overflow-wrap:anywhere}.sync-conflict{padding:16px;background:#fff5df;border-radius:12px}.cloud-account summary{min-height:44px;padding:12px 0;cursor:pointer}.story-character-reviews,.story-character-picker,.familiar-components{margin:16px 0;padding:16px;background:#f6f8f0;border-radius:12px}.story-character-reviews summary,.story-character-picker summary,.familiar-components summary{min-height:44px;padding:12px 0;cursor:pointer}.story-character-reviews p,.story-character-picker p,.familiar-components p{line-height:1.7;margin-bottom:12px}.story-character-reviews input,.story-character-picker input{min-height:44px;padding:8px;border:1px solid var(--line);border-radius:6px;max-width:100%}.story-character-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0}.story-character-row>span{font-size:28px}.story-character-row .button{font-size:13px}.pinyin-candidates{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.pinyin-candidates button{display:flex;flex-direction:column;white-space:normal}.pinyin-candidates button>span{font-size:26px}.familiar-components>div{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.familiar-components strong{font-size:26px}.story-answer-feedback{padding:14px;line-height:1.7;border-left:3px solid #49714b;background:#f6f8f0}.answer-parts{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:14px 0;padding:0}.answer-part{display:flex;flex-direction:column;gap:3px;border:1px solid #cfdbc9;border-radius:9px;padding:10px;max-width:100%;overflow-wrap:anywhere;background:#fff}.answer-part.match{border-color:#6e9468}.answer-part.needs-work{border-color:#b38243;background:#fff7e9}.answer-part small{font-size:12px}.answer-example{overflow-wrap:anywhere;font-size:14px}.story-character-picker h3{margin-top:16px;font-size:14px}.pinyin-candidates button{max-width:100%;overflow-wrap:anywhere}.getting-started{margin:24px 0;padding:24px}.getting-started p,.install-guide{line-height:1.7;color:#526749;font-size:14px}.getting-started p{margin:12px 0}.getting-started .button,.guest-transfer .button{white-space:normal}.install-guide{margin-top:14px}.install-guide summary{cursor:pointer;min-height:44px;padding:12px 0}.install-guide ol{padding-left:22px}.install-guide li{margin-bottom:10px}.guest-transfer{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:12px}.guest-transfer h4{margin-bottom:10px}@media(max-width:800px){.recall-breakdowns,.recall-focus-groups{grid-template-columns:1fr}}@media(max-width:640px){.recall-hero .lesson-preview{display:none}.home-review-status{font-size:12px}.recall-focus{padding:20px}.recall-breakdown{padding:17px}.recall-focus-group .button{width:100%}.phrase-focus-group li{flex-direction:column;gap:7px}.focus-meaning{width:100%;max-width:none}}.achievements-panel,.leaderboard-panel,.exam-panel{margin:24px 0;padding:26px}.progress-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin:20px 0}.progress-links a{color:#3d6540;text-decoration:underline;min-height:44px;display:inline-flex;align-items:center;font-size:14px}.home-growth-link{display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding:22px;margin:22px 0;background:#eef3e7;border:1px solid #dae4ce;border-radius:13px}.home-growth-link>div{flex:1;min-width:min(220px,100%)}.home-growth-link h2{font-size:18px}.home-growth-link p{color:#5b7050;font-size:14px;line-height:1.7;margin-top:8px}.home-growth-link button{white-space:normal}.achievements-panel p,.leaderboard-panel p,.exam-panel p{font-size:14px;line-height:1.7;color:#56694c;margin:10px 0}.leaderboard-panel h2,.exam-panel h2{display:flex;align-items:center;gap:10px}.character-goal,.weekly-challenge{display:flex;align-items:center;gap:18px;padding:20px;background:#f3f6ec;border-radius:12px;margin:20px 0}.character-goal>div,.weekly-challenge>div{flex:1;min-width:0}.character-goal>svg{flex-shrink:0;color:#49714b}.character-goal h3,.weekly-challenge h3,.badge-heading{font-size:17px}.character-goal progress{width:100%;height:10px;accent-color:#527449}.character-garden{display:flex;flex-wrap:wrap;gap:8px}.character-garden button{border:1px solid #cfdcc4;border-radius:12px 12px 4px;background:#f6f8f1;color:#365b3c;font-size:25px;min-height:48px;min-width:48px}.recall-days{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.recall-days>span{font-size:12px;display:flex;align-items:center;gap:4px;padding:8px;border:1px solid #d0dbca;border-radius:7px}.recall-days>.complete{background:#3d6341;border-color:#3d6341;color:#fff}.badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.practice-badge{display:flex;gap:14px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fafbf7}.practice-badge.earned{background:#f0f5e8;border-color:#a8bc95}.badge-symbol{width:44px;height:44px;border-radius:50%;background:#e9eddf;color:#617154;font-size:23px;display:grid;place-content:center;flex-shrink:0}.earned .badge-symbol{background:#456847;color:#fff}.practice-badge h4{font-size:15px}.practice-badge p{font-size:13px;margin:8px 0}.badge-state{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#49633f;font-weight:650}.community-profile{padding:20px;background:#f7f8f2;border-radius:12px;margin:20px 0}.community-profile label,.exam-submit label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:550;margin-bottom:16px}.community-profile input:not([type=checkbox]),.exam-submit input,.exam-submit textarea,.exam-submit select{width:100%;min-width:0;max-width:100%;min-height:44px;border:1px solid #c9d4c2;border-radius:8px;background:#fff;padding:11px;color:#32452e;font:inherit;font-size:16px}.community-profile .community-checkbox{flex-direction:row;align-items:flex-start;gap:10px;line-height:1.5;min-height:44px;padding:8px 0;font-weight:400}.community-checkbox input{width:19px;height:19px;flex-shrink:0;accent-color:#456847}.community-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.achievements-panel button,.leaderboard-panel button,.exam-panel button{white-space:normal;min-height:44px}.leaderboard-heading{margin-top:24px;flex-wrap:wrap;gap:12px}.leaderboard-heading h3{font-size:15px}.leaderboard-list{margin:18px 0;padding:0;list-style:none}.leaderboard-list li{display:flex;align-items:center;gap:16px;padding:16px 12px;border-bottom:1px solid var(--line)}.leaderboard-list .is-you{background:#eff5e6;border-radius:10px}.leaderboard-rank{min-width:24px;font-size:18px;color:#637458}.leaderboard-learner{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px;overflow-wrap:anywhere}.leaderboard-learner strong{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:15px}.leaderboard-learner small,.leaderboard-points small{font-size:12px;font-weight:400;color:#5f7055}.leaderboard-points{text-align:right;font-size:20px;display:flex;flex-direction:column;gap:4px}.verified-exam{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#345d3e}.verified-exam svg{flex-shrink:0}.community-empty{padding:20px;background:#f6f8ef;border-radius:10px}.community-error{color:#8b432c!important}.exam-requests{display:grid;gap:14px;margin:16px 0}.exam-request{padding:18px;border:1px solid var(--line);border-radius:12px}.exam-request h3{font-size:16px}.exam-request.verified{border-color:#9fb794;background:#f3f7ed}.exam-status{display:flex;align-items:center;gap:6px;font-size:14px}.exam-submit summary{padding:16px 0;min-height:48px;cursor:pointer;font-weight:550}.exam-submit fieldset,.community-profile fieldset{padding:0;border:0;min-width:0}.exam-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.exam-official-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;font-size:13px;align-items:center}.exam-official-links a{color:#3c663f;text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}.withdraw-request{padding:14px;border-radius:8px;background:#fff6e5}.withdraw-request button{margin-right:12px}@media(max-width:800px){.character-goal,.weekly-challenge{flex-wrap:wrap}.character-goal .button,.weekly-challenge .button{width:100%}}@media(max-width:640px){.achievements-panel,.leaderboard-panel,.exam-panel{padding:18px}.badge-grid,.exam-form-grid{grid-template-columns:1fr}.community-profile{padding:14px}.leaderboard-list li{padding:14px 8px;gap:10px}}
