:root{font-family:Avenir Next,Helvetica Neue,Noto Sans SC,sans-serif;color:#2c211b;background:#f5efe3;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#2c211b;--muted:#74665b;--line:#dfd4c5;--paper:#fffaf0;--cream:#f5efe3;--red:#ba321e;--red-dark:#a92f20;--gold:#edbd58;--green:#496449}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--cream);color:var(--ink)}button,select,input{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #d84028;outline-offset:3px}::selection{background:#f0c77d;color:#2c211b}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:#f1e4d2;padding:26px 16px;display:flex;flex-direction:column;z-index:4}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);padding:0 10px 32px}.brand-mark{display:grid;place-items:center;width:40px;aspect-ratio:1;background:var(--red);color:var(--paper);font-weight:800;border:2px solid var(--ink);border-radius:10px;box-shadow:2px 3px 0 var(--ink);font-size:18px}.brand strong{display:block;font-size:17px;font-weight:750}.brand{padding-bottom:32px}.brand-mark[hidden]{display:none}.brand-name strong{white-space:normal;line-height:1.4}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:1px;margin-top:2px}.side-label{padding:0 12px;margin:0 0 9px;color:#817368;font-size:11px}.nav-item{width:100%;min-height:44px;border:0;background:transparent;border-radius:8px;display:flex;align-items:center;gap:12px;padding:0 12px;text-align:left;color:#5f5249;font-size:13px;margin:2px 0}.nav-item.active{background:#f2dfc4;color:var(--red-dark);font-weight:650}.nav-item:hover{background:#f7ead7}.nav-item em{margin-left:auto;font-size:11px;font-style:normal;color:#817368}.sidebar-bottom{margin-top:auto}.sidebar-toggle{width:40px;height:40px;border:0;background:transparent;border-radius:8px;display:grid;place-items:center;color:#5d5148;margin:8px 0 0 auto}.sidebar-toggle:hover{background:#f7ead7}.top-sidebar-toggle{display:none}.local-note{margin:0 10px 14px;display:flex;gap:8px;align-items:center;font-size:11px;color:#71645a}.main-area{margin-left:232px;min-height:100vh}.topbar{height:64px;background:var(--paper);display:flex;align-items:center;padding:0 34px;justify-content:space-between;position:sticky;top:0;z-index:3}.breadcrumbs{display:flex;gap:11px;align-items:center;color:#75685e;font-size:12px}.breadcrumbs b{font-weight:400;color:#b7a999}.breadcrumbs strong{color:var(--ink);font-weight:600}.top-actions{display:flex;align-items:center;gap:12px}.icon-button{width:40px;height:40px;border:0;background:transparent;border-radius:8px;display:grid;place-items:center;color:#5d5148}.icon-button:hover{background:#f4e8d8}.icon-button.danger:hover{color:#aa3929;background:#f7e1d8}.avatar{border:2px solid var(--ink);border-radius:50%;width:33px;height:33px;background:#edbd58;color:var(--ink);font-size:11px;font-weight:750}.avatar.brand-avatar{width:38px;height:38px;border-radius:10px;background:var(--red);color:var(--paper);font-size:18px;box-shadow:2px 3px 0 var(--ink)}.mobile-brand{display:none}.page-content{max-width:1030px;margin:0 auto;padding:38px 42px 72px}.welcome-row{min-height:0;display:flex;justify-content:space-between;align-items:center;padding:4px 0 21px}.welcome-row h1{font-size:30px;line-height:1.3;margin:0;font-weight:750;max-width:700px;text-wrap:balance}.welcome-row{gap:16px}.checkin-quick{min-height:42px;flex:0 0 auto;border:1.5px solid var(--ink);border-radius:8px;background:#f1e5cc;padding:0 13px;display:flex;align-items:center;gap:8px;color:var(--red-dark);font-size:12px;font-weight:700;box-shadow:0 2px 5px #2c211b12}.checkin-quick:hover{background:#ead5b3}.checkin-quick.is-checked{background:#e6efdf;color:#3f6146}.profile-summary{margin:-7px 0 21px;padding:11px 14px;border-radius:9px;background:#efe2cd;color:#59483c;font-size:14px;line-height:1.6;font-weight:500}.recommendation-strip{width:100%;min-height:65px;margin:-8px 0 22px;padding:12px 15px;border:1px solid #d9c7ae;border-radius:9px;background:#f3e8d7;display:flex;align-items:center;gap:13px;text-align:left;color:var(--ink)}.recommendation-strip:hover{background:#efdfc7;border-color:#bfa68a}.recommendation-copy{display:grid;gap:4px;min-width:0;flex:1}.recommendation-copy b{font-size:14px;font-weight:750}.recommendation-copy small{font-size:12px;color:#625247;line-height:1.45}.recommendation-strip>strong{font-size:18px;color:var(--red-dark);white-space:nowrap}.recommendation-strip>strong small{font-size:11px;font-weight:600}.recommendation-strip>svg{flex:0 0 auto;color:var(--red-dark)}.welcome-stamp{width:76px;height:76px;flex:0 0 auto;border:2px solid var(--ink);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--red);margin:0 20px 0 18px;background:var(--paper);box-shadow:3px 4px 0 var(--ink)}.welcome-stamp span{font-size:19px;font-weight:750}.welcome-stamp small{font-size:10px;margin-top:2px;color:#63554b}.stats-strip{min-height:82px;background:var(--paper);border:2px solid var(--ink);border-radius:14px;box-shadow:3px 4px 0 var(--ink);display:flex;align-items:center;margin:5px 0 28px;padding:12px 23px;gap:28px}.stats-strip>div:not(.stats-note){min-width:110px;display:flex;align-items:baseline;gap:8px}.stats-strip>.stat-link{min-width:110px;display:flex;align-items:baseline;gap:8px;border:0;background:transparent;padding:0;text-align:left}.stat-link:hover span{color:var(--red-dark);text-decoration:underline;text-underline-offset:3px}.stats-strip b{font-size:21px;font-weight:750}.stats-strip span{font-size:11px;color:#685b51}.stats-note{margin-left:auto;display:flex;align-items:center;gap:9px;font-size:11px;color:#65574d}.stats-note svg{color:var(--red-dark)}.stats-note button,.text-action{border:0;background:transparent;color:var(--red-dark);font-size:12px;font-weight:700;padding:9px 7px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 15px}.section-heading h2{font-size:21px;margin:0;font-weight:750}.text-action{display:flex;align-items:center;gap:5px}.filter-row{display:flex;gap:11px;align-items:center;margin-bottom:13px}.select-wrap{height:44px;min-width:165px;border:1.5px solid var(--ink);border-radius:8px;background:var(--paper);display:flex;align-items:center;gap:9px;padding:0 11px;color:#5b4c42}.select-wrap select{border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;outline:0;color:var(--ink);font-size:12px;flex:1;min-width:0}.reset-filters{border:0;background:transparent;color:#6f6055;font-size:12px;padding:10px}.result-count{margin-left:auto;color:#72645a;font-size:11px}.question-list{display:grid;gap:10px}.question-row{min-height:83px;display:grid;grid-template-columns:minmax(0,1fr) 42px 136px;align-items:center;background:var(--paper);border:1.5px solid var(--ink);border-radius:10px;padding:13px 15px 13px 19px;gap:10px;transition:transform .16s ease,box-shadow .16s ease}.question-row:hover{transform:translateY(-2px);box-shadow:3px 4px 0 var(--ink)}.question-title-line{display:flex;align-items:center;gap:9px}.question-main h3{font-size:14px;margin:0;font-weight:700;line-height:1.5}.question-main p{font-size:11px;margin:5px 0 0;color:#75675c}.question-main p span{padding:0 4px;color:#a89786}.done-tag{font-size:10px;color:#39563b;background:#e8efdf;border-radius:4px;padding:4px 7px}.star-button{width:40px;height:40px;border:0;background:transparent;color:#75675c;display:grid;place-items:center;border-radius:7px}.star-button:hover{background:#f4e8d8}.star-button.selected{color:var(--red)}.star-button.selected svg{fill:#f4c89c}.row-cta{min-height:40px;border:2px solid var(--ink);background:var(--paper);border-radius:8px;padding:0 10px;display:flex;justify-content:center;align-items:center;gap:8px;color:var(--red-dark);font-size:11px;font-weight:700;box-shadow:2px 3px 0 var(--ink)}.row-cta:hover{background:#f3dfc3}.source-note{margin-top:18px;color:#72645a;font-size:11px}.empty-state{padding:35px 0;color:#6e6055;font-size:13px}.skip-onboarding{border:0;background:transparent;color:var(--red-dark);font-size:14px;font-weight:700;padding:8px 2px}.skip-onboarding:hover{color:var(--red)}.welcome-page{max-width:940px}.onboarding-progress{display:flex;align-items:center;gap:11px;color:var(--red-dark);font-size:14px;font-weight:700;margin:0 0 20px}.progress-dots{display:flex;gap:5px}.progress-dots i{width:8px;height:8px;border-radius:50%;background:#c7b7a7}.progress-dots i:first-child{width:22px;border-radius:5px;background:var(--red)}.welcome-intro{margin:0 0 27px}.welcome-intro h1{margin:0;font-size:30px;line-height:1.35;font-weight:750;text-wrap:balance}.welcome-form{max-width:790px}.preference-group{margin:0 0 23px}.preference-group h2{font-size:16px;line-height:1.5;font-weight:700;margin:0 0 11px}.preference-input{width:min(460px,100%);height:46px;padding:0 12px;border:1.5px solid var(--ink);border-radius:8px;background:var(--paper);color:var(--ink);font-size:15px}.preference-input::placeholder{color:#6b5c51}.preference-options{display:grid;gap:9px}.goal-options{grid-template-columns:repeat(3,minmax(0,1fr))}.duration-options{grid-template-columns:repeat(4,minmax(0,1fr));max-width:510px}.preference-options button{min-height:44px;padding:8px 12px;border:1.5px solid var(--ink);border-radius:8px;background:var(--paper);color:var(--ink);font-size:15px;text-align:left}.preference-options button[aria-pressed=true]{background:#f5e6ca;border-color:var(--red);color:var(--red-dark);box-shadow:inset 0 0 0 1px var(--red);font-weight:700}.topic-options{display:flex;flex-wrap:wrap;gap:8px}.topic-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:760px}.topic-options button{min-height:40px;padding:0 13px;border-color:#af9d8a;background:transparent;color:#51453d;text-align:center}.topic-options button{display:flex;justify-content:center;align-items:center;padding:7px 10px;line-height:1.4}.topic-options button[aria-pressed=true]{border-color:var(--ink);background:#f4dfc1;color:var(--red-dark)}.welcome-actions{padding-top:2px}.welcome-actions .primary-button{min-height:47px;padding:0 17px;font-size:15px}.practice-layout{max-width:1240px;margin:0 auto;padding:26px 38px 42px}.practice-toolbar{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px}.back-button{background:transparent;border:0;display:flex;gap:8px;align-items:center;color:#5f5147;font-size:12px;padding:8px 2px}.toolbar-right{display:flex;align-items:center;gap:9px}.toolbar-divider{height:22px;border-left:1px solid #c8b9a8;margin:0 3px}.timer-label{font-size:11px;color:#67594f;display:flex;align-items:center;gap:6px}.timer-select{height:37px;border:1.5px solid var(--ink);border-radius:7px;background:var(--paper);padding:0 8px;font-size:11px;color:var(--ink)}.timer-toggle{height:38px;border:2px solid var(--ink);background:var(--red);border-radius:8px;color:var(--paper);padding:0 12px;display:flex;align-items:center;gap:7px;font-size:11px;font-weight:650;box-shadow:2px 3px 0 var(--ink)}.timer-toggle.is-running{background:#6c5a4e}.practice-heading{display:flex;align-items:center;justify-content:space-between;padding:24px 0 20px}.practice-heading h1{font-size:26px;line-height:1.35;margin:0;font-weight:750}.practice-heading>div>p:last-child{font-size:12px;color:#6c5e54;margin:7px 0 0}.practice-heading>div>p:last-child span{padding:0 5px}.timer-display{text-align:right}.timer-display small{display:block;color:#6d5e54;font-size:11px}.timer-display strong{display:block;font-size:24px;color:var(--red-dark);font-variant-numeric:tabular-nums;font-weight:750;margin-top:3px}.timer-display.urgent strong{color:#b72518}.practice-columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.8fr);gap:18px;align-items:start}.exercise-panel,.answer-panel{background:var(--paper);border:1.5px solid var(--ink);border-radius:12px;box-shadow:3px 4px 0 var(--ink)}.exercise-panel{padding:23px 26px}.answer-panel{padding:21px}.panel-heading{display:flex;align-items:center;justify-content:space-between}.panel-heading h2{font-size:17px;margin:0;font-weight:750}.progress-count,.answer-count{font-size:11px;color:#6c5e54}.chinese-prompt{margin:17px 0;background:#f1e4d2;border-radius:8px;padding:13px 15px;font-size:13px;line-height:1.9;color:#493a30}.english-passage{font-family:Avenir Next,Helvetica Neue,Noto Sans SC,sans-serif;font-size:15px;line-height:2.5;letter-spacing:.012em;color:#30251e;word-spacing:.035em}.inline-blank{display:inline-flex;vertical-align:baseline;align-items:center;justify-content:center;min-width:4.1em;max-width:100%;min-height:34px;margin:0 .13em;padding:2px .48em;border:1.5px solid var(--ink);background:#fffdf8;color:#9d3022;border-radius:6px;font-size:12px;font-weight:700;line-height:1.55;letter-spacing:.012em;word-spacing:normal;white-space:normal;text-align:center;vertical-align:middle;box-shadow:0 2px 4px #2c211b1a;transition:background .14s ease}.inline-blank:hover{background:#f7e5c9}.inline-blank.current{background:var(--gold);color:var(--ink)}.inline-blank.answered{width:auto;color:#87291e;background:#f6d7bc;border-color:var(--red);font-weight:750}.exercise-footer{margin-top:19px;padding-top:13px;display:flex;align-items:center;justify-content:space-between;gap:10px}.exercise-footer>span{display:flex;gap:7px;align-items:center;color:#6a5c52;font-size:11px}.reveal-button{min-height:39px;border:1.5px solid var(--ink);background:var(--paper);border-radius:7px;padding:0 11px;color:var(--red-dark);display:flex;gap:7px;align-items:center;font-size:11px;font-weight:650}.reveal-button:hover{background:#f4e2c8}.reveal-button.revealed{background:#f1dfc4}.answer-locked{min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#806f62}.answer-locked p{font-size:13px;color:#46382f;margin:10px 0 5px;font-weight:650}.answer-locked small{font-size:11px;line-height:1.65;max-width:220px;color:#716257}.selected-answer{background:#f6ead8;border:1.5px solid #c9b8a3;border-radius:8px;margin-top:13px;padding:13px}.selected-answer-top{display:flex;align-items:center;justify-content:space-between}.selected-answer-top b{font-size:12px}.selected-answer p{display:flex;flex-direction:column;gap:8px;margin:8px 0}.answer-option{display:flex;align-items:center;justify-content:space-between;font-size:12px;line-height:1.55;color:#493a30}.answer-option:first-child{font-weight:750;color:#982c20}.answer-option small{color:#942c20;font-size:10px;font-weight:700}.answer-note{display:block;color:#66574c;font-size:11px;line-height:1.65;padding-top:8px}.save-to-bank{width:100%;min-height:39px;margin-top:11px;background:var(--red);border:2px solid var(--ink);border-radius:7px;color:#fffaf0;display:flex;justify-content:center;align-items:center;gap:7px;font-size:11px;font-weight:700;box-shadow:2px 3px 0 var(--ink)}.blank-navigator{margin-top:19px;padding-top:14px}.nav-label{font-size:11px;color:#63564b;margin-bottom:11px}.blank-grid{display:flex;flex-wrap:wrap;gap:8px}.blank-chip{width:20px;height:20px;padding:0;border:1.5px solid #9a8775;background:#fffaf0;border-radius:50%;position:relative}.blank-chip:hover{background:#f2dcb8;border-color:var(--ink)}.blank-chip.active{border:2px solid var(--ink);background:var(--gold);transform:scale(1.12)}.blank-chip.has-answer{background:#e9c8a8}.blank-chip.is-starred:after{content:"";position:absolute;width:6px;height:6px;background:var(--red);border-radius:50%;right:-2px;top:-2px}.practice-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:18px}.practice-bottom div{font-size:11px;color:#6a5b50}.practice-bottom b{color:#47382e;font-weight:700}.finish-button{min-height:40px;background:var(--paper);border:1.5px solid var(--ink);border-radius:7px;padding:0 12px;display:flex;gap:7px;align-items:center;color:var(--red-dark);font-size:11px;font-weight:650}.translation-toggle{margin-top:19px;padding:11px 14px 15px;border:1.5px solid #bd422c;width:100%;min-height:48px;display:flex;align-items:center;gap:9px;background:#f7e5c9;color:var(--red-dark);font-size:14px;font-weight:750;border-radius:8px;position:relative}.translation-toggle:after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:4px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='4' viewBox='0 0 18 4'%3E%3Cpath d='M0 2 Q4 -1 9 2 T18 2' fill='none' stroke='%23ba321e' stroke-width='1.8'/%3E%3C/svg%3E");background-repeat:repeat-x}.translation-toggle:hover{background:#f1d6b1}.translation-toggle svg{width:20px;height:20px}.translation-view{margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.translation-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px}.translation-heading .text-action{padding:4px}.translation-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:16px}.translation-list li{position:relative;padding-left:29px}.translation-number{position:absolute;left:0;top:1px;color:var(--red-dark);font-size:14px;font-weight:750}.translation-list p{font-size:16px;line-height:1.75;color:#30251e;margin:0}.translation-list small{display:block;margin-top:5px;color:#65564a;font-size:14px;line-height:1.75}.collection-heading{align-items:center;margin:5px 0 22px}.collection-heading h1,.settings-page>h1{font-size:25px;margin:0;font-weight:750}.primary-button,.secondary-button{min-height:41px;border:1.5px solid var(--ink);background:var(--paper);border-radius:8px;padding:0 13px;display:flex;align-items:center;gap:8px;color:var(--red-dark);font-size:11px;font-weight:700}.primary-button{background:var(--red);border-width:2px;color:#fffaf0;box-shadow:2px 3px 0 var(--ink)}.collection-list{display:grid;gap:10px}.corpus-kind{display:inline-block;margin-bottom:5px;color:var(--red-dark);font-size:11px;font-weight:700}.corpus-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:-5px 0 18px;padding:13px;background:#f0e4d2;border-radius:9px}.corpus-toolbar .select-wrap{min-width:145px;height:40px;background:var(--paper)}.corpus-toolbar .select-wrap select{font-size:12px}.corpus-count{color:#59483c;font-size:12px;white-space:nowrap}.export-format{display:flex;align-items:center;gap:7px;margin-left:auto;color:#59483c;font-size:12px}.export-format select{height:40px;min-width:75px;padding:0 9px;border:1.5px solid var(--ink);border-radius:7px;background:var(--paper);color:var(--ink);font-size:12px}.own-answer-field{display:grid;gap:7px;margin:13px 0 2px}.own-answer-field>span{font-size:12px;font-weight:700;color:#493a30}.own-answer-field input{width:100%;min-width:0;min-height:43px;padding:9px 11px;border:1.5px solid #a99884;border-radius:7px;background:#fffdf8;color:var(--ink);font-size:14px}.own-answer-field input::placeholder{color:#75675c}.own-answer-field small{font-size:11px;line-height:1.5;color:#65564a}.record-list{display:grid;gap:9px}.record-row{display:flex;align-items:center;gap:16px;padding:15px 16px;background:var(--paper);border:1px solid var(--line);border-radius:9px}.record-date{flex:0 0 104px;color:#66574c;font-size:12px;font-variant-numeric:tabular-nums}.record-main{flex:1;min-width:0}.record-main h2{font-size:14px;line-height:1.5;margin:0;font-weight:700}.record-main p{font-size:12px;color:#66574c;margin:5px 0 0}.collection-row{min-height:84px;background:var(--paper);border:1.5px solid var(--ink);border-radius:9px;display:flex;align-items:center;gap:12px;padding:12px}.collection-icon{width:37px;height:37px;border-radius:7px;background:#f2dfc4;color:var(--red-dark);display:grid;place-items:center}.collection-main{flex:1;min-width:0}.collection-main h3{font-size:13px;margin:0;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.collection-main p{font-size:11px;color:#6e5e52;margin:4px 0 0;line-height:1.5}.tag-line{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap}.tag-line span{background:#f2e2ce;color:#584438;padding:4px 7px;border-radius:4px;font-size:10px}.empty-large{min-height:250px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:11px;color:#716257}.empty-large b{font-size:15px;color:#46372e}.empty-large span{font-size:12px}.settings-page{max-width:780px}.settings-page>h1{margin-bottom:8px}.settings-section{padding:22px 0}.setting-heading{display:flex;gap:12px;align-items:flex-start;color:var(--red-dark)}.setting-heading h2{font-size:15px;color:#34271f;margin:0}.setting-heading p{font-size:12px;color:#6e5e53;margin:5px 0 0;line-height:1.55}.reminder-form,.backup-actions{display:flex;align-items:center;gap:11px;margin:16px 0 0 29px}.check-setting{display:flex;gap:8px;align-items:center;font-size:12px;color:#493a30}.check-setting input{accent-color:var(--red);width:17px;height:17px}.reminder-form input[type=time]{height:41px;border:1.5px solid var(--ink);border-radius:7px;padding:0 9px;background:var(--paper);font-size:12px}.setting-help{display:block;margin:9px 0 0 29px;color:#6b5b50;font-size:11px;line-height:1.6}.backup-actions>span{font-size:11px;color:#6d5e53;margin-left:auto}.upload-button{position:relative;overflow:hidden}.upload-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.local-storage-note{margin-top:18px;padding:13px;background:#efe2cd;color:#59483c;display:flex;align-items:center;gap:9px;font-size:11px;border-radius:7px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2017118c;z-index:10;display:grid;place-items:center;padding:20px}.corpus-type-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:20px}.corpus-type-options button{min-height:102px;border:1px solid var(--line);background:#fffdf8;border-radius:9px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:11px;font-size:14px}.corpus-type-options button:hover{border-color:var(--red);background:#f7ead7;color:var(--red-dark)}.corpus-type-options button span{color:var(--red-dark)}.corpus-form{display:grid;gap:14px;margin-top:17px}.corpus-form label{display:grid;gap:6px;color:#594a3e;font-size:13px;font-weight:650}.corpus-form input,.corpus-form textarea{width:100%;border:1px solid #c8b9a8;border-radius:7px;background:#fffdf8;color:var(--ink);padding:10px 11px;font-size:14px;line-height:1.65;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:4px}.selection-add{position:fixed;z-index:9;display:flex;align-items:center;gap:7px;min-height:38px;padding:0 12px;border:1px solid var(--ink);border-radius:7px;background:var(--paper);color:var(--red-dark);box-shadow:0 3px 12px #20171130;font-size:12px;font-weight:700}.selection-add[hidden]{display:none}.checkin-page{max-width:900px}.checkin-page>.back-button{margin:0 0 22px}.checkin-celebration{min-height:230px;background:#f1e4d2;border-radius:12px;padding:25px 34px;display:flex;align-items:center;gap:42px}.mascot{position:relative;width:170px;height:178px;flex:0 0 auto}.mascot-head{position:absolute;z-index:2;left:52px;top:22px;width:68px;height:68px;border:2px solid var(--ink);border-radius:48% 48% 45% 45%;background:#f0c6a8;box-shadow:0 3px 6px #2c211b20}.mascot-head:before{content:"";position:absolute;left:-3px;top:-5px;width:70px;height:31px;border-radius:35px 35px 17px 14px;background:#49372e;border:2px solid var(--ink)}.mascot-head i,.mascot-head b{position:absolute;z-index:1;top:34px;width:5px;height:7px;border-radius:50%;background:#2c211b}.mascot-head i{left:19px}.mascot-head b{right:19px}.mascot-head em{position:absolute;left:27px;top:45px;width:13px;height:7px;border-bottom:2px solid #9b4738;border-radius:50%}.mascot-body{position:absolute;left:41px;top:87px;width:91px;height:65px;border:2px solid var(--ink);border-radius:29px 29px 16px 16px;background:#ba4937;box-shadow:0 4px 8px #2c211b20}.mascot-body i{position:absolute;width:24px;height:15px;left:32px;top:17px;border-radius:50%;background:#f1c45f}.mascot-arm{position:absolute;z-index:1;top:94px;width:20px;height:68px;border:2px solid var(--ink);border-radius:14px;background:#f0c6a8;transform-origin:center 10px}.mascot-arm-left{left:30px;transform:rotate(36deg)}.mascot-arm-right{right:28px;transform:rotate(-36deg)}.mascot-leg{position:absolute;top:143px;width:19px;height:31px;border:2px solid var(--ink);border-radius:10px;background:#496449}.mascot-leg-left{left:59px;transform:rotate(7deg)}.mascot-leg-right{left:97px;transform:rotate(-7deg)}.mascot-spark{position:absolute;width:12px;height:12px;border:2px solid #ba8c3d;transform:rotate(45deg);border-radius:3px}.spark-one{left:17px;top:28px}.spark-two{right:13px;top:53px;width:9px;height:9px}.checkin-message{min-width:0}.checkin-status{display:inline-flex;align-items:center;gap:7px;color:#426447;font-size:13px;font-weight:750}.checkin-message h1{font-size:26px;line-height:1.4;margin:10px 0 5px}.checkin-message p{font-size:14px;line-height:1.7;color:#594a3e;margin:0}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:34px 0 15px}.calendar-heading>div:first-child h2{font-size:20px;margin:0}.calendar-heading>div:first-child span{display:block;margin-top:5px;color:#66574c;font-size:12px}.calendar-controls{display:flex;align-items:center;gap:5px}.calendar-controls>b{min-width:110px;text-align:center;font-size:14px}.calendar-download{margin-left:9px}.checkin-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekday{height:31px;display:grid;place-items:center;color:#66574c;font-size:12px;font-weight:650}.calendar-day{position:relative;min-height:67px;border-radius:8px;background:#fffaf0;display:flex;align-items:flex-start;justify-content:center;padding-top:12px;color:#3c3028;font-size:13px}.calendar-day.is-empty{background:transparent}.calendar-day.is-marked{background:#f0dfc2;color:#8f3025;font-weight:750}.calendar-day.is-today{outline:2px solid #496449;outline-offset:-2px}.calendar-day i{position:absolute;left:50%;bottom:8px;transform:translate(-50%);width:19px;height:19px;border-radius:50%;background:#ba321e;color:#fffaf0;display:grid;place-items:center}.sidebar-collapsed .sidebar{width:74px;padding-left:12px;padding-right:12px}.sidebar-collapsed .main-area{margin-left:74px}.sidebar-collapsed .brand{justify-content:center;padding-left:0;padding-right:0}.sidebar-collapsed .brand-name,.sidebar-collapsed .side-label,.sidebar-collapsed .nav-item span,.sidebar-collapsed .nav-item em,.sidebar-collapsed .local-note{display:none}.sidebar-collapsed .nav-item{justify-content:center;padding:0}.sidebar-collapsed .sidebar-toggle{margin-right:auto}.sidebar-collapsed .sidebar-toggle svg{transform:rotate(180deg)}.sidebar-collapsed .top-sidebar-toggle{display:grid}.settings-modal{background:var(--paper);width:min(640px,100%);border:2px solid var(--ink);border-radius:14px;padding:25px 29px;box-shadow:0 16px 42px #1b120d3d}.modal-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px}.modal-header h2{margin:0;font-size:22px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:20;background:var(--ink);color:#fffaf0;border:1.5px solid var(--red);border-radius:7px;padding:12px 16px;display:flex;align-items:center;gap:8px;font-size:12px;box-shadow:0 6px 20px #1d2d2230}@media(max-width:900px){.sidebar{width:206px}.main-area{margin-left:206px}.page-content{padding-left:28px;padding-right:28px}.practice-layout{padding-left:22px;padding-right:22px}.practice-columns{grid-template-columns:minmax(0,1.4fr) minmax(250px,.8fr);gap:14px}.exercise-panel{padding:20px}.answer-panel{padding:17px}}@media(max-width:680px){.sidebar{display:none}.main-area{margin:0}.top-sidebar-toggle,.sidebar-collapsed .top-sidebar-toggle{display:none}.topbar{height:58px;padding:0 15px}.mobile-brand{display:flex;align-items:center;gap:9px;border:0;background:transparent;padding:0;font-size:14px;font-weight:700}.mobile-brand .brand-mark{width:31px;font-size:14px;border-radius:8px}.mobile-brand .brand-mark[hidden]{display:none}.mobile-brand b{font-size:14px;white-space:nowrap}.avatar.brand-avatar{width:36px;height:36px;font-size:16px;border-radius:9px}.breadcrumbs{display:none}.top-actions{margin-left:auto}.page-content{padding:22px 17px 50px}.welcome-page{padding-top:25px}.welcome-intro{margin-bottom:23px}.welcome-intro h1{font-size:26px}.preference-group{margin-bottom:20px}.preference-group h2{font-size:16px;margin-bottom:10px}.preference-input{width:100%;height:46px}.goal-options{grid-template-columns:1fr}.goal-options button{min-height:48px}.duration-options{grid-template-columns:repeat(2,minmax(0,1fr))}.topic-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.topic-options button{min-height:42px;padding:6px 8px;font-size:13px}.welcome-actions{position:sticky;bottom:0;margin:0 -17px;padding:12px 17px max(12px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#f5efe300,#f5efe3 26%)}.welcome-actions .primary-button{width:100%;min-height:48px;justify-content:center;font-size:15px}.welcome-row{min-height:0;padding:3px 0 16px;align-items:flex-start;gap:10px}.welcome-row h1{font-size:24px;line-height:1.38;max-width:100%}.welcome-row>div{flex:1;min-width:0}.checkin-quick{min-height:38px;padding:0 9px;gap:5px;font-size:11px}.profile-summary{margin:-4px 0 17px;padding:10px 12px;font-size:14px}.recommendation-strip{min-height:62px;margin:-7px 0 20px;padding:10px;gap:8px}.recommendation-copy b{font-size:13px}.recommendation-copy small{font-size:11px}.recommendation-strip>strong{font-size:16px}.recommendation-strip>strong small{font-size:10px}.welcome-stamp{width:56px;height:56px;margin:3px 1px 0 0}.welcome-stamp span{font-size:16px}.welcome-stamp small{font-size:9px}.stats-strip{margin:4px 0 25px;padding:12px;min-height:75px;gap:10px;border-radius:11px;box-shadow:2px 3px 0 var(--ink);flex-wrap:wrap}.stats-strip>div:not(.stats-note){min-width:27%;gap:5px}.stats-strip>.stat-link{min-width:27%;gap:5px}.stats-strip b{font-size:18px}.stats-strip span{font-size:10px}.stats-note{width:100%;margin:0;padding-top:8px;font-size:10px}.stats-note button{margin-left:auto}.section-heading{margin-bottom:13px;gap:10px}.section-heading h2{font-size:19px}.text-action{font-size:11px}.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.select-wrap{min-width:0;height:43px;padding:0 8px;gap:6px}.select-wrap select{font-size:10px}.reset-filters{justify-self:start}.result-count{justify-self:end}.question-list{gap:9px}.question-row{grid-template-columns:minmax(0,1fr) 39px;grid-template-rows:auto 39px;gap:4px 8px;min-height:0;padding:12px;border-radius:9px}.question-main{grid-column:1;grid-row:1;min-width:0}.question-main h3{font-size:13px;line-height:1.55}.question-main p{font-size:10px;line-height:1.5}.star-button{grid-column:2;grid-row:1;width:38px;height:38px}.row-cta{grid-column:1/3;grid-row:2;justify-self:stretch;min-height:37px}.practice-layout{padding:12px 12px 26px}.practice-toolbar{gap:7px;padding-bottom:10px}.back-button{font-size:11px;gap:5px}.toolbar-right{gap:5px}.toolbar-divider,.timer-label{display:none}.timer-select{height:36px;max-width:91px;padding:0 5px;font-size:10px}.timer-toggle{height:36px;padding:0 8px;font-size:10px}.practice-heading{padding:20px 2px 17px;gap:8px}.practice-heading h1{font-size:20px;line-height:1.4;max-width:270px}.practice-heading>div>p:last-child{font-size:11px;line-height:1.6}.timer-display strong{font-size:19px}.timer-display small{font-size:10px}.practice-columns{grid-template-columns:1fr;gap:14px}.exercise-panel,.answer-panel{border-radius:11px;box-shadow:2px 3px 0 var(--ink)}.exercise-panel{padding:17px 15px}.answer-panel{padding:16px}.panel-heading h2{font-size:16px}.chinese-prompt{font-size:12px;line-height:1.85;margin:14px 0;padding:12px}.english-passage{font-size:14px;line-height:2.4;letter-spacing:.01em;word-spacing:.02em}.inline-blank{min-height:32px;min-width:3.8em;margin:0 .1em;padding:2px .4em;font-size:11px;line-height:1.5}.exercise-footer{margin-top:16px;padding-top:10px}.exercise-footer>span{font-size:10px}.reveal-button{min-height:38px;padding:0 8px;font-size:10px}.answer-locked{min-height:108px}.blank-navigator{margin-top:14px;padding-top:11px}.blank-grid{gap:9px}.blank-chip{width:22px;height:22px}.practice-bottom{align-items:flex-start;gap:8px;padding-top:16px}.practice-bottom div{font-size:10px;line-height:1.55}.finish-button{min-height:39px;font-size:10px;padding:0 8px;white-space:nowrap}.translation-list{gap:14px}.translation-list p{font-size:15px;line-height:1.7}.translation-list small{font-size:13px;line-height:1.7}.translation-toggle{font-size:13px;min-height:46px;padding:10px 12px 14px}.corpus-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 15px;padding:10px}.corpus-toolbar .select-wrap{width:100%;min-width:0;height:42px;padding:0 8px;gap:5px}.corpus-toolbar .select-wrap select{font-size:11px}.corpus-count{grid-column:1/-1;font-size:11px}.export-format{margin:0;justify-content:flex-start}.export-format select{height:42px;flex:1;min-width:0}.corpus-toolbar>.secondary-button{justify-content:center;min-width:0;padding:0 8px;font-size:11px}.own-answer-field{gap:7px;margin:12px 0 0}.own-answer-field>span{font-size:12px}.own-answer-field input{min-height:46px;font-size:16px}.own-answer-field small{font-size:11px}.collection-heading{align-items:flex-start;gap:10px}.collection-heading h1,.settings-page>h1{font-size:22px}.collection-row{gap:8px;padding:10px}.collection-icon{width:32px;height:32px;flex:0 0 auto}.collection-main h3{font-size:12px}.collection-main p{font-size:10px}.collection-row .row-cta{min-width:82px;padding:0 8px;font-size:10px}.record-row{align-items:flex-start;gap:8px;flex-wrap:wrap;padding:12px}.record-date{flex:1 0 100%;font-size:11px}.record-main{flex:1 1 calc(100% - 115px)}.record-row .row-cta{font-size:10px;min-height:36px}.checkin-page>.back-button{margin-bottom:14px}.checkin-celebration{min-height:0;padding:17px 14px;gap:14px;border-radius:10px}.mascot{width:112px;height:145px;transform:scale(.78);transform-origin:left center;margin-right:-23px}.checkin-message h1{font-size:20px;line-height:1.42;margin:8px 0 5px}.checkin-message p{font-size:12px;line-height:1.6}.checkin-status{font-size:11px}.calendar-heading{align-items:flex-start;flex-direction:column;margin:25px 0 13px;gap:11px}.calendar-controls{width:100%;display:grid;grid-template-columns:38px 1fr 38px;gap:5px}.calendar-controls>b{min-width:0}.calendar-download{grid-column:1/4;width:100%;justify-content:center;margin:5px 0 0}.checkin-calendar{gap:4px}.weekday{height:26px;font-size:11px}.calendar-day{min-height:48px;padding-top:8px;border-radius:6px;font-size:12px}.calendar-day i{width:16px;height:16px;bottom:4px}.corpus-type-options{gap:7px}.corpus-type-options button{min-height:88px;font-size:12px}.modal-actions>*{flex:1;justify-content:center}.settings-page{padding-top:25px}.reminder-form,.backup-actions{margin-left:0;flex-wrap:wrap;gap:8px}.setting-help{margin-left:0;line-height:1.6}.backup-actions>span{width:100%;margin:2px 0 0}.settings-modal{padding:19px 17px;max-height:calc(100dvh - 28px);overflow:auto;border-radius:12px}.modal-header h2{font-size:20px}.settings-section{padding:15px 0}.setting-heading{gap:9px}.setting-heading h2{font-size:14px}.setting-heading p{font-size:11px}.reminder-form .secondary-button,.backup-actions .secondary-button{font-size:10px;padding:0 9px}.local-storage-note{font-size:10px;line-height:1.55}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
