:root{color-scheme:light;--bg:#f7f7f2;--paper:#fff;--ink:#202f2e;--muted:#79837c;--line:#e6e8df;--accent:#df643a;--green:#317457;--red:#b5443d;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none}
.explanation{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.explanation-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:13px}.explanation-heading h2{font-size:15px;font-weight:650;margin:0}.explanation-heading>span{font-size:10px;color:var(--muted)}.reasoning p{font-size:13px;line-height:1.95;color:#536253;margin:0 0 12px;overflow-wrap:anywhere}.memory-tip{display:flex;gap:11px;padding:15px;border:1px solid #e4e8d6;background:#f5f7eb;border-radius:11px;margin-top:15px}.memory-tip>span{font-size:25px;color:#849160}.memory-tip h3{font-size:11px;color:#73804f;margin:1px 0 6px;font-weight:650}.memory-tip p{font-size:13px;line-height:1.9;margin:0;color:#4c5e43;overflow-wrap:anywhere}.explanation-trap{font-size:12px;line-height:1.9;margin-top:12px;color:var(--muted)}.explanation-trap summary{cursor:pointer;min-height:44px;display:list-item;padding:10px 0}.explanation-trap p{font-size:12px;line-height:1.9;margin:0 0 8px;color:#6b735f}.explanation-reference{display:block;font-size:10px;line-height:1.9;color:var(--muted);padding:9px 0;margin-top:5px;overflow-wrap:anywhere}.source-review{background:#fff4e6;border:1px solid #ead9b9;border-radius:10px;padding:13px 15px;margin-bottom:15px;color:#8b642f}.source-review strong{font-size:12px}.source-review p{font-size:12px;line-height:1.9;margin:7px 0 0;overflow-wrap:anywhere}.review-tag{padding:4px 7px;border-radius:5px;background:#fff0dc;color:#95652d;font-size:10px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #e9a88b;outline-offset:4px}button{color:inherit}a{color:inherit;text-decoration:none}.app-shell{max-width:760px;margin:auto;padding:0 26px calc(110px + env(safe-area-inset-bottom));min-height:100dvh}.site-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(24px + env(safe-area-inset-top)) 0 18px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;font-size:19px;font-weight:750;letter-spacing:1px}.brand img{border-radius:10px}.brand small{display:block;font-size:10px;letter-spacing:1.2px;font-weight:450;color:var(--muted);margin-top:3px}.cache-badge{font-size:10px;color:var(--muted);border:1px solid var(--line);padding:6px 9px;border-radius:20px;white-space:nowrap}.cache-badge.ready{color:var(--green);background:#edf3e9;border-color:#dbe5d6}.intro{padding:32px 0 24px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;color:var(--muted);display:flex;align-items:center;gap:8px}.live-dot{width:6px;height:6px;background:var(--accent);border-radius:50%}.intro h1{font-size:clamp(30px,6.8vw,40px);font-weight:650;line-height:1.5;letter-spacing:-1.4px;margin:14px 0 8px}.intro p,.page-title p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}.level-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:5px;background:#edeee6;border-radius:13px;margin-bottom:18px}.level-tabs button{border:0;background:transparent;border-radius:9px;padding:11px 0;font-size:13px;color:#69736c;font-weight:600;min-height:44px}.level-tabs .selected{background:var(--ink);color:white;box-shadow:0 2px 5px #23352b14}.progress-card{border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:23px 22px 18px}.progress-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600}.progress-top strong{font-size:27px;font-weight:650;letter-spacing:-1px}.progress-top small{font-size:13px;margin-left:2px}.progress-track{height:5px;background:#ecefe7;border-radius:4px;overflow:hidden;margin-top:15px}.progress-track span{display:block;height:100%;background:var(--accent);border-radius:4px;transition:width .2s}.progress-caption{display:flex;justify-content:space-between;gap:8px;margin-top:10px;color:var(--muted);font-size:10px}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:20px;padding-top:17px;text-align:center}.stats-row>div+div{border-left:1px solid var(--line)}.stats-row strong{font-size:20px;font-weight:650;display:block}.stats-row span{font-size:10px;color:var(--muted);display:block;margin-top:7px}.continue-card{width:100%;display:flex;align-items:center;justify-content:space-between;border:1px solid #dddace;border-radius:12px;background:#efeee3;padding:15px 16px;margin-top:15px;text-align:left;gap:12px}.continue-card small{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.continue-card strong{font-size:13px}.continue-card>span:last-child{font-size:11px;white-space:nowrap}.continue-card b{font-size:18px;padding-left:10px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:27px 0 14px;gap:10px}.section-heading h2{font-size:16px;font-weight:650;margin:0}.section-heading>span{color:var(--muted);font-size:11px}.filters{display:flex;gap:10px;margin-bottom:14px}.filters label{display:flex;align-items:center;gap:8px;flex:1;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:0 11px;min-width:0;color:var(--muted);font-size:11px}.filters select{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font-size:12px;min-height:43px;padding-right:3px}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mode-card{border:1px solid var(--line);background:var(--paper);border-radius:15px;min-height:147px;position:relative;padding:19px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;transition:transform .15s}.mode-card:active{transform:scale(.98)}.mode-icon{display:flex;align-items:center;justify-content:center;background:#f1f2e9;border-radius:10px;width:34px;height:34px;font-size:26px;color:#586851;margin-bottom:14px;line-height:1}.mode-card strong{font-size:15px;font-weight:600}.mode-card small{font-size:10px;color:var(--muted);margin-top:6px;line-height:1.6}.mode-arrow{position:absolute;top:20px;right:18px;color:#9aa396;font-size:20px}.featured{background:#fbf0e7;border-color:#f0d9c6}.featured .mode-icon{background:#f9ddcc;color:var(--accent)}.featured .mode-arrow{color:var(--accent)}.quiet-note{font-size:10px;color:var(--muted);line-height:1.8;margin:18px 0 0}.mode-grid+.quiet-note{text-align:center}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(760px,100%);display:flex;padding:10px 15px calc(12px + env(safe-area-inset-bottom));background:#f7f7f2ed;backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:10}.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:3px;border:0;background:transparent;color:#929b91;font-size:10px;min-height:47px}.bottom-nav button span{font-size:23px;line-height:26px}.bottom-nav .active{color:var(--accent);font-weight:600}.page-title{padding:35px 0 24px}.page-title h1{font-size:30px;letter-spacing:-.8px;margin:14px 0 10px;font-weight:650}.text-button{border:0;background:none;color:var(--muted);font-size:12px;padding:10px 0;min-height:44px}.primary-button,.secondary-button{display:inline-flex;justify-content:center;align-items:center;min-height:49px;border-radius:12px;padding:12px 20px;font-size:14px;font-weight:600}.primary-button{background:var(--ink);color:white;border:1px solid var(--ink)}.primary-button:disabled{background:#d5d9ce;border-color:#d5d9ce;color:#fafbf8}.secondary-button{background:var(--paper);border:1px solid var(--line)}.secondary-button:disabled{color:#b8beb2}.practicing .bottom-nav{display:none}.practicing .app-shell{padding-bottom:calc(28px + env(safe-area-inset-bottom))}.practice-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:13px}.practice-toolbar>span{font-size:11px;color:var(--muted)}.favorite-button{border:0;background:transparent;font-size:28px;min-width:44px;min-height:44px;color:var(--muted)}.favorite-button.is-saved{color:var(--accent)}.question-progress{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:15px}.question-progress strong{color:var(--ink);font-size:16px}.question-track{margin:10px 0 24px;height:4px}.question-card{padding:22px 20px;background:var(--paper);border:1px solid var(--line);border-radius:17px}.question-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:10px}.type-tag{display:inline-block;font-size:10px;font-weight:500;color:#7b7157;background:#f0eee0;padding:4px 7px;border-radius:5px;white-space:nowrap}.question-text{font-size:19px;font-weight:600;line-height:1.8;letter-spacing:.1px;margin:18px 0 21px;overflow-wrap:anywhere}.selection-hint{font-size:11px;color:var(--muted);margin:16px 0 11px}.options{display:flex;flex-direction:column;gap:10px}.option{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:1px solid var(--line);border-radius:11px;background:#fafbf7;padding:13px 12px;min-height:59px}.option-letter{width:27px;height:27px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid #dce0d4;border-radius:7px;background:white;color:#677465;font-size:12px;font-weight:600}.option-text{font-size:14px;line-height:1.75;flex:1;overflow-wrap:anywhere}.option-check{width:15px;font-weight:700;flex-shrink:0}.option.chosen{border-color:#8c9e81;background:#f0f4e9}.option.chosen .option-letter{border-color:#7f9874;background:#7f9874;color:white}.option.correct{border-color:#8db99a;background:#eef7ee;color:#2d6346}.option.correct .option-letter{background:#5d9b70;border-color:#5d9b70;color:white}.option.incorrect{border-color:#dbaba0;background:#fdf1ec;color:#a2483b}.option.incorrect .option-letter{background:#c87968;border-color:#c87968;color:white}.option:disabled{opacity:1;-webkit-text-fill-color:currentColor}.feedback{padding:16px;border-radius:10px;margin-top:17px;font-size:13px;line-height:1.8;outline:none}.feedback strong{font-size:14px}.feedback p{margin:5px 0}.feedback small{font-size:11px}.feedback.success{background:#eef5ed;color:#377047}.feedback.failure{background:#faf0e6;color:#986034}.question-actions{display:flex;gap:10px;margin-top:20px}.question-actions .primary-button{flex:1}.question-actions .secondary-button{min-width:95px}.skip-button{display:block;margin:6px auto 0;padding:14px;border:0;background:none;color:var(--muted);font-size:11px;min-height:44px}.figure-button{display:block;width:100%;background:white;border:1px solid var(--line);padding:16px;border-radius:10px;text-align:center}.figure-button img{display:block;max-width:100%;height:auto;max-height:300px;object-fit:contain;margin:auto;min-width:120px}.figure-button span{display:block;color:var(--muted);font-size:10px;margin-top:12px}dialog{border:0;border-radius:16px;width:min(94vw,800px);max-width:94vw;padding:45px 18px 18px;background:white;color:var(--ink)}dialog::backdrop{background:#1c2829b5}dialog img{display:block;width:100%;height:auto}dialog p{text-align:center;font-size:11px;color:var(--muted)}.dialog-close{position:absolute;top:2px;right:4px;border:0;background:none;font-size:29px;width:44px;height:44px}.collection-list{display:flex;flex-direction:column;gap:11px}.collection-item{border:1px solid var(--line);background:var(--paper);padding:17px 34px 17px 17px;border-radius:12px;text-align:left;position:relative}.collection-item>div{display:flex;align-items:center;gap:9px}.collection-item small{font-size:10px;color:var(--muted)}.collection-item p{font-size:13px;line-height:1.8;margin:11px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.collection-arrow{position:absolute;right:15px;top:45%;color:var(--muted)}.empty-state{text-align:center;padding:45px 15px}.empty-state>span{font-size:50px;color:#aeb8a2}.empty-state h2{font-size:17px;font-weight:550;margin:22px 0 10px}.empty-state p{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:25px}.empty-state h1{font-size:23px}.settings-card{border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:20px;font-size:12px;line-height:1.9}.settings-card p{margin:0;color:#677465}.settings-card small{font-size:10px;color:var(--muted)}.settings-card .quiet-note{margin-top:10px}.toggle-row{display:flex;align-items:center;gap:17px;justify-content:space-between}.toggle-row strong{display:block;font-size:14px;font-weight:550}.toggle-row small{display:block;margin-top:5px;max-width:430px;line-height:1.8}.toggle-row input{appearance:none;flex-shrink:0;width:43px;height:26px;border-radius:20px;background:#dce1d3;position:relative;cursor:pointer}.toggle-row input:checked{background:#789369}.toggle-row input:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:white;left:3px;top:3px;transition:transform .15s}.toggle-row input:checked:before{transform:translateX(17px)}.settings-heading{font-size:15px;font-weight:600;margin:26px 0 13px}.backup-actions{display:flex;gap:10px;margin:16px 0 9px}.backup-actions button{flex:1;font-size:12px;min-height:44px;padding:8px}.install-steps{padding-left:19px;margin:0;color:#596650}.install-steps li+li{margin-top:8px}.source-counts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:17px 0}.source-counts span{display:flex;justify-content:space-between;gap:7px;border-radius:8px;background:#f5f6ef;padding:9px 10px;font-size:11px}.source-counts b{font-weight:550}.summary{text-align:center;padding:48px 10px 15px}.summary-mark{width:60px;height:60px;border-radius:50%;background:#e4edda;color:#68865a;display:flex;align-items:center;justify-content:center;font-size:29px;margin:0 auto 25px}.summary .eyebrow{justify-content:center}.summary h1{font-size:28px;font-weight:600;letter-spacing:-.7px;margin:18px 0 10px}.summary>p{font-size:12px;color:var(--muted)}.summary-score{font-size:78px;letter-spacing:-5px;margin-top:26px;font-weight:550}.summary-score small{font-size:28px;letter-spacing:0;margin-left:5px}.summary-stats{display:flex;justify-content:space-around;margin:32px 0;border:1px solid var(--line);border-radius:12px;padding:20px;background:white;font-size:12px;color:var(--muted)}.summary-stats b{display:block;font-size:24px;margin-top:10px;color:var(--ink)}.summary>.primary-button{width:100%}.loading{padding:100px 0;text-align:center;color:var(--muted);font-size:13px}.spinner{display:inline-block;width:25px;height:25px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:calc(95px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#24312ff0;color:#fff;padding:13px 18px;border-radius:11px;width:max-content;max-width:88vw;text-align:center;font-size:12px;line-height:1.7;z-index:30}.toast[hidden]{display:none}@media(min-width:600px){.app-shell{padding-left:44px;padding-right:44px}.intro{padding-top:40px}.mode-card{min-height:155px}.question-card{padding:30px}.question-text{font-size:22px}.option-text{font-size:16px}.option{padding:15px}.progress-card{padding:26px}.question-meta{font-size:11px}}@media(max-width:360px){.app-shell{padding-left:17px;padding-right:17px}.cache-badge{font-size:9px;padding:5px 7px}.brand{font-size:17px}.mode-card{padding:15px}.question-card{padding:18px 13px}.question-text{font-size:18px}.progress-caption{font-size:9px}.option-text{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
