select.control{background:#fcfdff;border:1px solid #e0e6f0;border-radius:7px;padding:10px 12px;color:#394d6c;font-size:12px;min-height:39px}
:root{font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#24334d;background:#f6f8fc;font-synthesis:none;--blue:#2563eb;--ink:#172b4d;--muted:#7a879e;--line:#e8edf5;--soft:#eff5ff;--green:#168267;--red:#c7494f}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button{border:0;background:none;color:inherit}a{color:inherit;text-decoration:none}svg{width:21px;height:21px;flex:none;vertical-align:middle}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #94b8ff;outline-offset:3px}[hidden]{display:none!important}.shell{display:flex;min-height:100vh}.sidebar{width:232px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:32px 20px 22px;z-index:10}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);font-size:22px;font-weight:750;letter-spacing:1px}.brand-mark{background:var(--blue);border-radius:12px;width:43px;height:45px;display:grid;place-items:center;color:white;font-weight:600;font-size:25px;box-shadow:0 5px 10px #2563eb20}.brand small{display:block;font-size:9px;letter-spacing:1px;color:#8b97ab;font-weight:400;margin-top:5px}.nav-label{font-size:11px;color:#9aa4b6;margin:44px 14px 14px;letter-spacing:1.5px}.nav-item{display:flex;align-items:center;gap:13px;padding:14px 16px;width:100%;border-radius:9px;margin-bottom:8px;text-align:left;font-size:14px;color:#6b7890}.nav-item:hover{background:#f6f8fc}.nav-item.active{background:#edf3ff;color:var(--blue);font-weight:650}.badge{margin-left:auto;background:#fff;border:1px solid #dce7fc;border-radius:6px;padding:1px 6px;font-size:10px}.sidebar-bottom{margin-top:auto}.local-note{background:#f7f9fd;border-radius:10px;padding:16px 13px;font-size:12px;color:#5d6c84}.local-note p{font-size:10px;line-height:1.9;color:#929db0;margin:8px 0 11px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#48ac90;margin-right:7px}.text-button{color:var(--blue);font-size:12px;padding:5px 0;font-weight:500}.text-button:hover{text-decoration:underline}.subdued{color:#8994a7;margin-left:12px}.home-link{display:flex;justify-content:space-between;margin:24px 12px 0;font-size:11px;color:#8591a6}.workspace{margin-left:232px;flex:1;min-width:0}.topbar{height:80px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 46px;background:#ffffffc9;font-size:12px;color:#8e9ab0}.topbar strong{font-weight:500;color:#4e5f7b}.slash{padding:0 14px;color:#c4cad7}.topbar-right{display:flex;align-items:center;gap:24px}.today{font-size:11px}.avatar{display:grid;place-items:center;background:#e9f0fd;width:32px;height:32px;border:3px solid white;outline:1px solid #e2e9f6;border-radius:50%;font-size:12px;color:#5d7cb2}main{max-width:1280px;margin:0 auto;padding:36px 46px 40px;min-height:calc(100vh - 138px)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{font-size:10px;color:#7190be;letter-spacing:2.3px;font-weight:600;margin:0 0 9px}.page-heading h1{font-size:27px;letter-spacing:-.5px;margin:0;color:#1c3053;font-weight:700}.page-heading p{font-size:12px;color:#8a96aa;margin:10px 0 0;line-height:1.7}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dfe6f1;background:white;border-radius:8px;padding:11px 17px;font-size:12px;line-height:1.5;white-space:nowrap;transition:background .15s,transform .15s}.button:hover{background:#f1f5fb}.button.primary{background:var(--blue);border-color:var(--blue);color:white;box-shadow:0 4px 9px #2563eb15}.button.primary:hover{background:#1c55d4}.button.danger{color:var(--red);border-color:#eed9da}.button.small{padding:7px 11px;font-size:11px}.button svg{width:16px;height:16px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:25px}.stat{background:white;border:1px solid var(--line);border-radius:11px;padding:20px 22px;display:flex;align-items:center;gap:15px}.stat-icon{width:45px;height:45px;border-radius:11px;background:#edf4ff;color:#5683da;display:grid;place-items:center}.stat-icon.orange{background:#fff3e8;color:#d89a52}.stat-icon.green{background:#eafaF4;color:#60a690}.stat-title{font-size:11px;color:#8794a9;margin-bottom:6px}.stat-value{font-size:24px;font-weight:700;color:#263b5c;line-height:1}.stat-value small{font-size:10px;color:#99a3b3;font-weight:400;margin-left:6px}.panel{border:1px solid var(--line);border-radius:12px;background:white;margin-bottom:22px;overflow:hidden}.panel-body{padding:25px}.section-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:7px 10px;margin-bottom:20px}.section-title{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:650;color:#2a3c59;flex-shrink:0;white-space:nowrap}.step{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;font-size:10px;background:#eef3fb;color:#7890b2}.section-caption{font-family:inherit;font-size:11px;line-height:1.5;color:#97a2b5;font-weight:400;white-space:nowrap;flex-shrink:0}.filters{display:flex;gap:13px;align-items:end;margin-bottom:20px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:8px;flex:1;min-width:130px}.field label,.field-label{font-size:11px;color:#8490a6}.field input,.field select,.field textarea,.search-input,input.control,textarea.control{width:100%;background:#fcfdff;border:1px solid #e0e6f0;border-radius:7px;padding:10px 12px;color:#394d6c;min-height:39px;font-size:12px;outline-color:#a4c4ff}.field input::placeholder,.search-input::placeholder{color:#a6b0c2}.filters .search-field{flex:1.6}.date-range{display:flex;align-items:center;gap:8px}.date-range input{min-width:0}.date-range span{color:#a5adbd;font-size:11px}.reset-filter{font-size:11px;color:#7d8da5;padding:11px 0}.files-select{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.file-card{display:block;position:relative;text-align:left;border:1px solid #e5eaf3;border-radius:9px;padding:17px 15px;cursor:pointer;transition:.15s;background:#fff;min-width:0}.file-card:hover{border-color:#a7c5fb}.file-card.selected{border-color:#87acf4;background:#f8faff;box-shadow:0 0 0 1px #e8f0ff}.file-card input{position:absolute;top:17px;right:15px;accent-color:var(--blue);width:15px;height:15px;margin:0}.doc-icon{width:35px;height:38px;display:grid;place-items:center;background:#eaf1ff;color:#497bda;border-radius:7px;margin-bottom:13px}.doc-icon svg{width:21px;height:21px}.file-title{display:block;font-weight:600;font-size:13px;color:#344866;margin:0 22px 9px 0;overflow-wrap:anywhere}.file-meta{display:flex;justify-content:space-between;gap:5px;font-size:10px;color:#8c99af;line-height:1.5}.file-meta b{font-weight:400;color:#6d89b6}.selection-bar{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:11px;color:#8896aa;gap:8px}.selection-bar strong{color:var(--blue);font-weight:600}.selection-bar button{color:#5e82ba;font-size:11px;padding:0 3px}.setup-grid{display:grid;grid-template-columns:1fr 296px;gap:22px}.mode-grid{display:flex;gap:10px}.mode-option{flex:1;position:relative;border:1px solid #e4eaf3;border-radius:9px;padding:18px 12px 15px;text-align:center;cursor:pointer;color:#7c8ba1;background:#fff}.mode-option.active{border-color:#8faff0;background:#f5f8ff;color:#3469c8}.mode-option input{position:absolute;opacity:0;width:0}.mode-option:has(input:focus-visible){outline:3px solid #a4c4ff}.mode-glyph{font-size:18px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:12px;margin:1px 0 12px}.mode-glyph span{font-size:12px;color:#a9b9d0}.mode-name{font-size:12px;font-weight:600}.mode-option small{display:block;margin-top:6px;font-size:9px;color:#9ba6b8}.practice-options{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:22px;padding-top:18px;border-top:1px solid #eff2f7;font-size:11px;color:#7e8ca3}.practice-options select{padding:6px 9px;border:1px solid #e2e8f1;border-radius:6px;margin-left:8px;font-size:11px;color:#526783;background:white}.switch-label{display:flex;align-items:center;gap:7px}.switch-label input{accent-color:var(--blue)}.start-panel{background:#eff5ff;border:1px solid #e1eafb;border-radius:12px;padding:25px;display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden;margin-bottom:22px}.start-panel h3{font-size:16px;color:#284b86;margin:0 0 9px}.start-panel p{font-size:11px;line-height:1.9;color:#7a91b4;margin:0 0 20px;position:relative;z-index:1}.start-panel .button{width:100%;margin-top:auto}.mini-book{height:33px;width:29px;background:#9bbcf6;border:2px solid white;border-radius:4px;transform:rotate(12deg);margin:0 0 22px;box-shadow:-6px 4px 0 #c7d9f8}.mini-book:after{content:'';display:block;width:15px;height:2px;background:white;margin:9px auto;box-shadow:0 5px 0 #e9f1ff}.tip{display:flex;gap:9px;color:#96a0b3;font-size:10px;line-height:1.8;padding:1px 2px}.tip svg{width:15px;height:15px;color:#a4b4cd}.empty{padding:45px 20px;text-align:center;color:#8b98ac;font-size:12px;line-height:1.9}.empty svg{display:block;width:34px;height:34px;margin:0 auto 13px;color:#a4b9db}.empty h3{font-size:16px;font-weight:600;color:#586f92}.resume{padding:14px 20px;border:1px solid #c8ddfb;background:#f0f6ff;border-radius:9px;display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:20px;gap:12px}.resume strong{font-weight:500;color:#4676b6}.data-table{width:100%;border-collapse:collapse;font-size:12px}.table-scroll{overflow:auto}.data-table th{background:#fafbfe;color:#8e9ab0;font-size:10px;text-align:left;font-weight:500;padding:13px 20px;white-space:nowrap}.data-table td{padding:17px 20px;border-top:1px solid #eef2f7;vertical-align:middle;line-height:1.6}.data-table .en{font-size:13px;color:#263c60;font-weight:550}.muted{color:#909caf;font-size:11px}.tag{display:inline-flex;padding:3px 7px;background:#f1f5fc;color:#7691b7;border-radius:4px;font-size:10px;white-space:nowrap}.tag.error{color:#c96a69;background:#fff0ee}.tag.success{color:#499b80;background:#eaf8f1}.row-actions{display:flex;gap:7px;align-items:center}.icon-button{border:1px solid #e6ecf4;background:white;border-radius:6px;padding:7px;display:inline-grid;place-items:center;color:#7a91b2}.icon-button:hover{background:#eef5ff;color:var(--blue)}.icon-button svg{width:15px;height:15px}.mini-tabs{display:flex;gap:8px;flex-wrap:wrap}.mini-tabs button{font-size:11px;padding:8px 12px;border-radius:6px;color:#8d98aa;border:1px solid transparent}.mini-tabs button.active{color:#356cc9;background:#f0f5fe;border-color:#dfe9fa}footer{padding:16px 46px 24px;color:#a1aabd;font-size:10px;display:flex;justify-content:space-between;max-width:1280px;margin:auto}footer span{color:#b2bbc9}.practice-container{max-width:830px;margin:0 auto}.practice-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;font-size:12px;color:#8c9bb1}.practice-top button{font-size:12px;display:flex;gap:8px;align-items:center;color:#7991b7}.progress-track{height:5px;background:#e9eef8;border-radius:3px;overflow:hidden;margin-bottom:24px}.progress-track div{height:100%;background:#6f9df1;transition:width .2s}.question-card{padding:36px 42px;border-radius:15px;background:#fff;border:1px solid #e3eaf5;box-shadow:0 8px 25px #36518f05}.question-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#95a1b5}.question-body{text-align:center;padding:42px 0 34px}.question-hint{font-size:11px;color:#9aa7bc;letter-spacing:1px}.question-text{font-family:Inter,"Microsoft YaHei",sans-serif;font-size:30px;font-weight:650;color:#233e6b;margin:21px 0 15px;line-height:1.55;overflow-wrap:anywhere}.question-answer{width:100%;resize:vertical;min-height:95px;max-height:260px;border:1px solid #dce5f4;border-radius:9px;padding:17px;font-size:15px;line-height:1.7;background:#fcfdff;color:#304971}.question-answer::placeholder{color:#a9b4c7;font-size:13px}.answer-actions{display:flex;justify-content:space-between;gap:10px;margin-top:19px}.answer-actions .right-actions{display:flex;gap:10px}.feedback{margin-top:17px;background:#fff5f2;border:1px solid #f6e4de;color:#b06a57;border-radius:9px;padding:17px;font-size:12px;line-height:1.8}.feedback.correct{background:#f0faf6;border-color:#d8efe4;color:#448c70}.feedback strong{font-size:13px}.feedback .reference-answer{font-size:16px;color:#384e6c;margin-top:5px;white-space:pre-wrap}.feedback button{margin-top:9px;color:#567cb4;font-size:11px;padding:0;text-decoration:underline}.shortcuts{text-align:center;font-size:10px;color:#9ba9bd;margin-top:18px}.keyboard{display:inline-block;padding:2px 5px;border:1px solid #dfe6f1;border-radius:3px;background:#fff;margin:0 4px}.session-summary{text-align:center;padding:42px 32px}.completion-icon{width:65px;height:65px;border-radius:50%;background:#eaf8f1;display:grid;place-items:center;margin:0 auto;color:#59a489}.completion-icon svg{width:30px;height:30px}.session-summary h2{font-size:25px;color:#29466e;margin:20px 0 8px}.session-summary p{color:#8c9bb0;font-size:12px;line-height:1.9}.summary-numbers{display:flex;gap:30px;justify-content:center;margin:35px 0}.summary-numbers strong{display:block;color:#3a629c;font-size:27px;margin-bottom:6px}.summary-numbers span{font-size:11px;color:#8d9bb0}.summary-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}dialog{border:1px solid #e0e7f2;border-radius:14px;padding:0;width:min(850px,calc(100% - 30px));max-height:88vh;box-shadow:0 24px 90px #1023482b;color:var(--ink)}dialog::backdrop{background:#18305255;backdrop-filter:blur(3px)}.dialog-content{padding:26px}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:19px}.dialog-heading h2{font-size:19px;margin:0}.dialog-content p{color:#8c99ad;font-size:12px;line-height:1.9}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.upload-zone{display:block;padding:25px;border:1px dashed #9dbbee;background:#f5f8ff;border-radius:10px;text-align:center;color:#537db9;font-size:13px;cursor:pointer;margin:18px 0}.upload-zone svg{display:block;margin:0 auto 10px;width:26px;height:26px}.upload-zone small{display:block;color:#96a7c0;margin-top:8px;font-size:10px}.upload-zone input{display:block;margin:16px auto 0;font-size:11px;max-width:100%}.edit-rows{max-height:340px;overflow:auto;border:1px solid #e6ebf4;border-radius:8px}.edit-row{display:grid;grid-template-columns:28px 1fr 1.1fr 28px;gap:7px;padding:7px 10px;align-items:start;border-bottom:1px solid #eef2f7;font-size:10px;color:#9aa6b9}.edit-row input{min-width:0;width:100%;border:1px solid #e4eaf3;border-radius:5px;padding:8px;font-size:12px;color:#465e82;background:white}.edit-row span{padding-top:9px}.editor-header{display:flex;gap:16px;margin-bottom:16px}.unparsed{font-size:11px;line-height:1.8;color:#a17650;padding:12px;border-radius:7px;background:#fff8eb;margin:14px 0;white-space:pre-wrap;max-height:140px;overflow:auto}.import-status{font-size:12px;color:#6681ac;min-height:18px;line-height:1.8}.word-list{max-height:48vh;overflow:auto}.word-list .data-table td{padding:12px 14px}.inline-error{font-size:12px;color:var(--red);margin:10px 0;line-height:1.7}#toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);background:#263b5b;color:#fff;padding:12px 23px;border-radius:8px;font-size:12px;opacity:0;transition:.2s;pointer-events:none;z-index:100;max-width:calc(100vw - 30px);line-height:1.7}#toast.show{opacity:1;transform:translate(-50%,0)}#storage-warning{position:fixed;bottom:0;left:0;right:0;background:#fff2d7;padding:12px 20px;color:#8c5d10;font-size:12px;z-index:110}.notice{font-size:11px;color:#8c9ab0;line-height:1.8;margin:16px 0}.search-mistakes{display:flex;gap:13px;align-items:center}.search-mistakes .search-input{max-width:230px}.pager{display:flex;justify-content:center;gap:15px;padding:17px;font-size:11px;align-items:center}.danger-note{color:#b56262!important}.file-count-note{color:#8c9eb6;font-size:10px}.loading{padding:70px;text-align:center;color:#7189ad}
@media(min-width:1500px){main{padding-top:45px}.files-select{gap:18px}.panel-body{padding:28px}.question-card{padding:40px 55px}}@media(max-width:1150px){.sidebar{width:205px;padding:28px 15px}.brand{font-size:20px;gap:9px}.brand small{font-size:8px}.workspace{margin-left:205px}main{padding:28px}.topbar{padding:0 28px}.setup-grid{grid-template-columns:1fr 250px;gap:17px}.panel-body{padding:21px}.start-panel{padding:22px}.stat{padding:18px 14px;gap:10px}.stat-icon{width:38px;height:40px}}@media(max-width:920px){.sidebar{width:180px;padding:25px 11px}.workspace{margin-left:180px}.brand{font-size:18px}.brand-mark{width:35px;height:38px;font-size:22px}.brand small{letter-spacing:0}.nav-item{padding:13px 12px;font-size:12px;gap:9px}.setup-grid{grid-template-columns:1fr}.start-panel{display:grid;grid-template-columns:1fr 200px;gap:0 15px;align-items:center;padding:22px}.start-panel .mini-book{display:none}.start-panel h3{grid-column:1;font-size:14px}.start-panel p{grid-column:1;margin:0}.start-panel .button{grid-column:2;grid-row:1 / 3;margin:0}.file-card{padding:14px 11px}.file-card input{top:14px;right:11px}.file-meta{flex-direction:column}.files-select{gap:9px}.stat-icon{display:none}.stat-value{font-size:22px}.stat-title{font-size:10px}.page-heading h1{font-size:24px}.topbar-right{gap:10px}.today{font-size:10px}.sidebar .local-note{padding:12px 9px}.local-note p{font-size:9px}.subdued{margin-left:7px}}@media(max-width:680px){.shell{display:block}.sidebar{width:auto;position:static;padding:18px 18px 0;border-right:0;border-bottom:1px solid var(--line);display:block}.brand{font-size:20px}.brand small{font-size:9px;letter-spacing:1px}.brand-mark{width:38px;height:40px}.nav-label{display:none}.sidebar nav{display:flex;gap:5px;margin-top:20px}.nav-item{flex:1;justify-content:center;width:auto;padding:12px 6px;font-size:12px;gap:7px;border-radius:7px 7px 0 0;margin:0;white-space:nowrap}.nav-item svg{width:17px;height:17px}.badge{margin-left:0;font-size:9px;padding:0 4px}.sidebar-bottom{display:none}.workspace{margin:0}.topbar{height:44px;padding:0 20px;font-size:10px}.topbar-right .avatar{display:none}.slash{padding:0 7px}.today{font-size:9px}main{padding:25px 18px 20px;min-height:calc(100vh - 230px)}.page-heading{gap:12px;margin-bottom:22px;align-items:flex-start}.page-heading h1{font-size:23px}.page-heading p{font-size:11px;max-width:230px}.eyebrow{font-size:9px}.page-heading .button{padding:9px 11px;font-size:11px;align-self:center}.stats-grid{gap:9px;margin-bottom:19px}.stat{padding:15px 11px}.stat-value{font-size:21px}.stat-value small{font-size:9px;margin-left:3px}.stat-title{font-size:10px}.panel{border-radius:10px;margin-bottom:18px}.panel-body{padding:20px 16px}.section-heading{margin-bottom:18px;align-items:center}.section-title{font-size:13px;gap:7px}.section-caption{max-width:none;text-align:left}.filters{gap:12px;margin-bottom:17px}.field{min-width:120px}.filters .search-field{flex-basis:100%}.filters .date-field{flex:1}.reset-filter{margin-bottom:0;padding:11px 0}.files-select{grid-template-columns:1fr}.file-card{padding:14px;display:grid;grid-template-columns:36px 1fr;gap:0 11px;align-items:center}.file-card input{top:25px;right:15px}.doc-icon{grid-row:1 / 3;margin:0;width:32px;height:36px}.file-title{font-size:12px;margin:0 28px 5px 0}.file-meta{flex-direction:row;grid-column:2;margin-right:28px;font-size:9px}.selection-bar{font-size:10px}.setup-grid{gap:0}.mode-grid{gap:8px}.mode-option{padding:15px 5px}.mode-glyph{font-size:17px;gap:8px}.mode-name{font-size:11px}.mode-option small{font-size:8px}.practice-options{font-size:10px}.start-panel{grid-template-columns:1fr 125px;padding:20px 16px;margin-bottom:18px;gap:0 9px}.start-panel h3{font-size:14px}.start-panel p{font-size:10px}.start-panel .button{font-size:11px;padding:10px}.tip{font-size:9px}footer{padding:15px 20px 24px;font-size:9px}footer span{display:none}.mobile-backup{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 16px;margin:15px 0 0;font-size:12px;line-height:1.5}.mobile-backup .text-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin:0;padding:8px 0;font-family:inherit;font-size:inherit;line-height:inherit;font-weight:500;letter-spacing:normal;white-space:nowrap;flex-shrink:0}.table-scroll{overflow:auto}.data-table th,.data-table td{padding:13px 12px}.data-table td{font-size:11px}.data-table .en{font-size:12px;min-width:135px}.question-card{padding:25px 19px}.question-head{font-size:10px;align-items:start;gap:10px}.question-head .tag{font-size:9px}.question-body{padding:30px 0 24px}.question-text{font-size:25px}.question-answer{min-height:100px;font-size:14px}.answer-actions{flex-wrap:wrap}.answer-actions .button{padding:10px 13px;font-size:11px}.question-hint{font-size:10px}.practice-top{font-size:11px}.shortcuts{display:none}.summary-numbers{gap:26px}.session-summary{padding:30px 18px}.session-summary h2{font-size:23px}.dialog-content{padding:22px 16px}.dialog-heading h2{font-size:17px}.editor-header{gap:10px;flex-wrap:wrap}.edit-row{grid-template-columns:20px 1fr 1.05fr 20px;gap:4px;padding:7px 5px}.edit-row input{padding:8px 5px;font-size:11px}.search-mistakes{flex-wrap:wrap;gap:10px}.search-mistakes .search-input{max-width:none}.page-heading-actions{display:flex;flex-direction:column;gap:7px}.resume{font-size:10px;padding:12px}.resume .button{font-size:10px;padding:7px}.topbar-right{max-width:40%;white-space:nowrap}.notice{font-size:10px}.row-actions{gap:4px}.file-count-note{font-size:9px}}
@media(min-width:681px){.mobile-backup{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Brand image retains its square proportions on every layout. */
.brand-mark{object-fit:contain;flex-shrink:0;height:auto;aspect-ratio:1 / 1}

[hidden]{display:none!important}.auth-root{min-height:100vh;padding:50px 20px;display:grid;place-items:center;background:radial-gradient(ellipse at 15% 10%,#e5efff,transparent 55%),#f6f8fc}.auth-card{width:min(100%,500px);padding:38px;background:white;border:1px solid #e1e9f8;border-radius:22px;box-shadow:0 18px 60px #2343720b}.auth-brand{display:flex;align-items:center;gap:13px;margin-bottom:36px;color:#203b60;font-size:23px;font-weight:700;text-decoration:none}.auth-brand img{width:58px;height:58px;border-radius:15px;object-fit:cover}.auth-brand small{display:block;font-size:12px;color:#8494ad;font-weight:400;margin-top:4px}.auth-card h1{font-size:26px;line-height:1.5;margin:12px 0}.auth-card p{color:#7d8ea8;font-size:14px;line-height:1.8}.auth-tabs{display:flex;gap:20px;border-bottom:1px solid #e6edf6;margin:22px 0}.auth-tabs button{padding:12px 3px;color:#8191ab;border-bottom:2px solid transparent}.auth-tabs .active{color:#2863ed;border-color:#2863ed}.auth-card .field,#password-form .field{display:flex;flex-direction:column;gap:8px;margin:15px 0;font-size:14px}.auth-card input,#password-form input{width:100%;padding:13px 15px;border:1px solid #dbe4f5;border-radius:9px;background:#fcfdff;font-size:16px;color:#203b60}.auth-submit{width:100%;justify-content:center;margin:6px 0 16px}.auth-foot{display:flex;gap:20px;justify-content:space-between;font-size:13px}.auth-privacy{font-size:12px!important;margin-top:23px!important}.account-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin:0 40px;padding:14px 0;border-bottom:1px solid #e4ebf5;font-size:12px;color:#778cab}.account-bar button{color:#3165c6;margin-right:12px}.account-actions{margin-left:auto}#sync-status[data-status=error],#sync-status[data-status=conflict],#sync-status[data-status=blocked]{color:#b34d36}#sync-status[data-status=pending]{color:#b08026}.topbar-right{flex-wrap:wrap}#account-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#account-dialog{width:min(94vw,500px)}
@media(max-width:760px){.auth-root{padding:20px 14px}.auth-card{padding:25px 22px}.auth-card h1{font-size:23px}.auth-brand{margin-bottom:27px}.account-bar{margin:0 18px;gap:8px}.account-actions{margin-left:0}#account-name{max-width:100px}.topbar-right{gap:7px}.auth-foot{flex-wrap:wrap}.sidebar-bottom .local-note{display:block}.account-bar #sync-controls{width:100%}}

/* Keep the document picker bounded; filters and selection actions remain outside. */
.files-select{
  max-height:clamp(160px,40vh,300px);
  overflow-y:auto;
  overflow-x:hidden;
  align-content:start;
  padding:3px 7px 5px 3px;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y pinch-zoom;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:#a7bee5 #f2f5fb;
  border-radius:9px;
}
.files-select:empty{display:none}
.files-select:focus-visible{outline:2px solid #9bbcf6;outline-offset:2px}
.files-select::-webkit-scrollbar{width:7px}
.files-select::-webkit-scrollbar-track{background:#f2f5fb;border-radius:6px}
.files-select::-webkit-scrollbar-thumb{background:#a7bee5;border-radius:6px}
@media(max-width:680px){.files-select{max-height:clamp(160px,38vh,280px);padding-right:6px}}

/* Keep compact navigation labels together on narrow phones. */
@media(max-width:360px){.sidebar nav{gap:4px}.nav-item{font-size:11px;gap:4px;padding:12px 4px}.nav-item svg{width:16px;height:16px}}

/* Explicit date selection; filters remain mounted while results update. */
.date-range .date-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1;min-width:0;min-height:40px;padding:10px 12px;border:1px solid #dbe3f2;border-radius:7px;background:#fcfdff;color:#394d6c;font:inherit;font-size:12px;white-space:nowrap;touch-action:manipulation}
.date-range .date-value{font:inherit;color:inherit;white-space:nowrap}
.date-trigger svg{width:16px;height:16px;flex-shrink:0}
.date-trigger:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.date-picker{box-sizing:border-box;width:min(360px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:18px;border:1px solid #dbe3f2;border-radius:16px;overflow-y:auto;overscroll-behavior:contain;color:#233956;font-family:inherit;box-shadow:0 16px 55px #19396330;animation:none}
.date-picker::backdrop{background:rgb(25 42 68 / 24%);backdrop-filter:none;animation:none}
.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}
.calendar-heading h2{margin:0;font-size:17px;line-height:1.5}
.calendar-heading button{width:36px;height:36px;font-size:24px;color:#7e8ca2}
.calendar-help{margin:2px 0 12px;font-size:12px;color:#8897ae;line-height:1.6}
.calendar-navigation{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}
.calendar-navigation>button{width:36px;height:40px;border-radius:8px;background:#f1f5fc;color:#426baf;font-size:25px;flex-shrink:0}
.calendar-month-controls{display:flex;align-items:center;gap:10px;font-size:14px;white-space:nowrap}
.calendar-month-controls label{display:flex;align-items:center;gap:2px}
.calendar-month-controls input,.calendar-month-controls select{min-height:40px;border:1px solid #dbe3f2;border-radius:7px;padding:6px;background:#fcfdff;color:#233956;font:inherit;font-size:16px}
.calendar-month-controls input{width:76px;box-sizing:border-box}
.calendar-month-controls select{max-width:76px}
.calendar-grid{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:2px}
.calendar-grid th{font-size:12px;font-weight:500;color:#8a98ad;height:28px}
.calendar-grid td{padding:0;text-align:center}
.calendar-day{width:100%;min-height:38px;padding:4px 0;border:1px solid transparent;border-radius:8px;color:#334967;font:inherit;font-size:14px;line-height:1.5;touch-action:manipulation}
.calendar-day.outside{color:#a2adbf}
.calendar-day[aria-current=date]{border-color:#9ab7ec;color:#2563eb}
.calendar-day.selected{background:#2563eb;border-color:#2563eb;color:white;font-weight:600}
.calendar-day:focus-visible{outline:2px solid #2563eb;outline-offset:1px}
.calendar-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:8px;border-top:1px solid #edf1f7}
.calendar-actions button{min-height:40px;padding:8px 12px;color:#356cbf;font:inherit;font-size:13px;white-space:nowrap}
.date-picker button:disabled{opacity:.35;cursor:default}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:360px){.date-range .date-trigger{padding:10px 7px;gap:4px;font-size:11px}.date-trigger svg{display:none}.date-picker{padding:14px}.calendar-month-controls{gap:5px}}

.study-lookup{margin:2px 0 22px;padding:16px 0 18px;border-top:1px solid #eff2f7;border-bottom:1px solid #eff2f7}.study-lookup-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:#2a3c59}.study-lookup-heading strong{font-size:12px;font-weight:650}.study-lookup-heading span{margin-left:10px;font-size:10px;color:#97a2b5;font-weight:400}.study-lookup-heading .lookup-scope{margin:0;white-space:nowrap}.study-lookup-controls{max-width:510px}.study-lookup-controls .search-input{flex:1;max-width:none}.study-lookup-controls .control{width:135px;flex:none}.lookup-empty{padding:15px 2px 2px;color:#9aa7ba;font-size:11px;line-height:1.8}.lookup-summary{padding:14px 0 9px;color:#8795aa;font-size:10px}.lookup-summary strong{color:var(--blue);font-weight:650}.lookup-summary span{color:#a0aabd}.lookup-table-wrap{border:1px solid #eef2f7;border-radius:8px;max-height:310px}.lookup-table{margin:0}.lookup-table th,.lookup-table td{padding:11px 13px}.lookup-table th{background:#fbfcff}.lookup-table td{font-size:11px}.lookup-table .lookup-en{min-width:155px}.lookup-table .lookup-cn{color:#445a7b;line-height:1.7;min-width:190px}.lookup-types{margin-top:4px}.lookup-table .review-speak-word{font-size:12px}

@media(max-width:680px){.study-lookup{margin:0 0 18px;padding:14px 0 16px}.study-lookup-heading{align-items:flex-start;flex-direction:column;gap:5px}.study-lookup-heading span{margin-left:0}.study-lookup-heading .lookup-scope{font-size:9px}.study-lookup-controls{width:100%;align-items:stretch}.study-lookup-controls .control{width:100%;min-height:39px}.lookup-table-wrap{max-height:280px}.lookup-table .lookup-en{min-width:135px}.lookup-table .lookup-cn{min-width:170px}}

/* Current-round navigation keeps previous answers separate from new submissions. */
.practice-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.practice-navigation .button{min-width:96px;min-height:44px}
.practice-navigation .muted{text-align:center;white-space:nowrap}
.answer-edit .answer-edit-word{font-size:22px;font-weight:600;color:var(--ink);overflow-wrap:anywhere;margin:0 0 18px}
.answer-edit .question-answer{display:block;margin-top:9px}
@media(max-width:680px){.practice-navigation{gap:8px}.practice-navigation .button{min-width:78px;padding:10px 12px;font-size:12px}.practice-navigation .muted{font-size:10px}.answer-edit .question-answer{font-size:16px}}

/* Compact vocabulary lookup aligned with the mistake-review filter. */
.study-lookup-compact{margin:0 0 18px;padding:0;border:0}
.study-lookup-compact .study-lookup-heading{display:none}
.study-lookup-compact .study-lookup-controls{display:flex;align-items:center;gap:12px;width:100%;max-width:none;margin:0;padding:0}
.study-lookup-compact .search-input{flex:0 1 310px;max-width:310px;min-height:39px}
.study-lookup-compact .control{width:135px;min-height:39px;flex:none}
.study-lookup-compact .lookup-empty{display:none}
@media(max-width:680px){
 .study-lookup-compact{margin:0 0 18px}
 .study-lookup-compact .study-lookup-controls{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;width:100%}
 .study-lookup-compact .search-input{flex:1 1 100%;width:100%;max-width:none;min-height:40px}
 .study-lookup-compact .control{width:135px;min-height:40px}
}
