:root{
  --bg:#f7f9fc;--surface:#fff;--surface-2:#f1f5fb;--text:#0c1526;--muted:#667085;--line:#dfe5ee;
  --blue:#1769e0;--blue-dark:#0d55be;--blue-soft:#eaf2ff;--green:#1f7a4d;--green-soft:#eaf7f0;
  --red:#c64141;--red-soft:#fff0f0;--amber:#9b6b00;--amber-soft:#fff7df;--radius:18px;--shadow:0 12px 34px rgba(20,42,82,.07);
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{max-width:820px;margin:0 auto;min-height:100vh;padding:0 18px 96px}.view{padding:2px 0 28px}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:18px 2px 15px;background:linear-gradient(180deg,rgba(247,249,252,.98) 72%,rgba(247,249,252,.72) 90%,rgba(247,249,252,0));backdrop-filter:blur(14px)}
.brand-button{border:0;background:transparent;text-align:left;padding:0;color:inherit}.brand{display:block;font-size:19px;font-weight:800;letter-spacing:-.35px}.subbrand{display:block;margin-top:2px;font-size:11px;color:var(--muted)}
.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:40;width:min(820px,100%);min-height:76px;padding:8px 16px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(16px)}.nav-item{position:relative;min-height:48px;border:0;border-radius:13px;background:transparent;color:var(--muted);font-size:13px;font-weight:700}.nav-item.active{background:var(--blue-soft);color:var(--blue)}.badge{position:absolute;right:19%;top:4px;min-width:18px;padding:1px 5px;border-radius:999px;background:var(--red);color:#fff;font-size:10px}
.button{min-height:44px;border:1px solid transparent;border-radius:13px;padding:11px 15px;font-weight:750}.button-primary{background:var(--blue);color:#fff}.button-primary:active{background:var(--blue-dark)}.button-quiet{background:#fff;border-color:var(--line);color:var(--text)}.button-large{width:100%;min-height:52px;margin-top:22px;font-size:16px}.button.small{min-height:38px;padding:8px 11px;font-size:12px}.text-button{border:0;background:transparent;color:var(--blue);font-weight:700;padding:8px 2px;min-height:40px}.answer-secondary{background:#fff;border-color:var(--line);color:var(--text)}
.exam-hero{background:linear-gradient(145deg,#0f5ecf,#1d72e8);color:#fff;border-radius:24px;padding:24px;box-shadow:0 18px 44px rgba(19,94,207,.2)}.hero-kicker{font-size:12px;opacity:.8}.hero-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-top:8px}.hero-row h1{font-size:34px;line-height:1;margin:0;letter-spacing:-1px}.hero-row p{margin:8px 0 0;font-size:13px;opacity:.86}.hero-percent{font-size:28px;font-weight:820}.exam-hero .progress-line{color:rgba(255,255,255,.85)}.exam-hero .progress-track{background:rgba(255,255,255,.2)}.exam-hero .progress-track i{background:#fff}.exam-hero .button-primary{background:#fff;color:#0f5ecf}
.progress-line{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:11px;color:var(--muted)}.progress-track{height:8px;flex:1;background:#e9eef5;border-radius:999px;overflow:hidden}.progress-track i,.mini-track i,.session-progress i{display:block;height:100%;background:var(--blue);border-radius:999px}.daily-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 24px}.metric{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px 12px}.metric b{display:block;font-size:24px;line-height:1}.metric span{display:block;margin-top:7px;font-size:11px;color:var(--muted)}
.section-block{margin:22px 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end}.section-block h1,.section-block h2,.settings-panel h2,.exam-action-card h2{margin:0}.section-block h2,.settings-panel h2,.exam-action-card h2{font-size:17px}.section-block p,.settings-panel p,.exam-action-card p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.exam-list{margin-top:12px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.exam-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;border:0;border-bottom:1px solid var(--line);padding:15px 16px;background:#fff;text-align:left;min-height:68px}.exam-row:last-child{border-bottom:0}.exam-row.selected{background:var(--blue-soft)}.exam-row-main b{display:block;font-size:15px}.exam-row-main span{display:block;margin-top:4px;color:var(--muted);font-size:11px}.exam-row-progress{width:120px;text-align:right;font-size:11px;color:var(--muted)}.mini-track{height:6px;background:#e8edf4;border-radius:99px;margin-top:5px;overflow:hidden}
.settings-panel{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;margin:12px 0}.compact-panel{align-items:flex-start}.segmented{display:flex;padding:3px;border-radius:12px;background:#edf1f6;white-space:nowrap}.segmented button{min-width:42px;min-height:36px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:12px;font-weight:750}.segmented button.active{background:#fff;color:var(--blue);box-shadow:0 2px 8px rgba(16,32,64,.08)}.inline-actions,.actions-row{display:flex;gap:9px;flex-wrap:wrap}
.study-topline{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin:2px 0 12px}.study-topline>span{font-size:11px;color:var(--muted)}.session-progress{height:7px;background:#e8edf4;border-radius:999px;overflow:hidden}.study-card,.question-card,.detail-card,.result-card,.complete-panel{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.study-card{min-height:560px;padding:22px;display:flex;flex-direction:column}.study-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.prompt-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px 8px}.study-term{font-size:36px;font-weight:850;line-height:1.18;letter-spacing:-.8px;word-break:break-word}.study-term.chinese{font-size:31px}.definition-prompt{font-family:Georgia,"Times New Roman",serif;font-size:23px;line-height:1.55;max-width:640px}.speak-button{margin-top:18px;border:1px solid var(--line);background:#fff;border-radius:999px;min-height:40px;padding:8px 15px;color:var(--blue);font-weight:700}.study-option-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}.study-option{width:100%;display:flex;gap:12px;align-items:center;text-align:left;min-height:60px;padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:#fff;transition:transform .12s ease,border-color .12s ease,background .12s ease}.study-option:active:not(:disabled){transform:scale(.985)}.study-option span{flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:#eef2f7;display:grid;place-items:center;font-size:11px;color:var(--muted);font-weight:800}.study-option b{font-size:14px;line-height:1.35;word-break:break-word}.study-option.correct{border-color:#99d6b7;background:var(--green-soft)}.study-option.wrong{border-color:#efaaaa;background:var(--red-soft)}.study-option:disabled{opacity:1;color:inherit}.recognition-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.answer-input-wrap{width:min(560px,100%);margin-top:28px;display:grid;grid-template-columns:1fr auto;gap:10px}.answer-input{min-height:50px;border:1px solid #cad3e0;border-radius:13px;padding:11px 14px;outline:none;font-size:16px;text-transform:none}.answer-input:focus{border-color:#8bb5ef;box-shadow:0 0 0 3px rgba(23,105,224,.1)}
.reveal-panel{border-top:1px solid var(--line);padding-top:18px}.answer-result{border-radius:12px;padding:10px 12px;font-size:12px;margin-bottom:12px}.answer-result.correct{background:var(--green-soft);color:var(--green)}.answer-result.wrong{background:var(--red-soft);color:var(--red)}.answer-main span{display:block;font-size:11px;color:var(--muted)}.answer-main b{display:block;font-size:25px;margin-top:5px}.entry-context{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-top:16px}.entry-context strong{display:block;font-size:17px}.entry-context span{display:block;margin-top:3px;color:var(--muted);font-size:13px}.definition-en,.definition-zh{font-size:13px;line-height:1.65;margin:14px 0 0;color:#344054}.definition-zh{color:#596579}.source-line{font-size:11px;color:#98a2b3;margin-top:12px}.rating-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px}.rating{min-height:58px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:9px 6px}.rating b{display:block;font-size:12px}.rating span{display:block;margin-top:3px;color:var(--muted);font-size:9px}.rating-1 b{color:var(--red)}.rating-2 b{color:var(--amber)}.rating-3 b{color:var(--blue)}.rating-4 b{color:var(--green)}
.complete-panel,.result-card{text-align:center;padding:48px 24px}.complete-mark{width:64px;height:64px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green);font-size:30px}.complete-panel h1,.result-card h1{margin:0;font-size:25px}.complete-panel p,.result-card p{max-width:520px;margin:10px auto 22px;color:var(--muted);font-size:13px;line-height:1.6}.complete-panel .actions-row,.result-card .actions-row{justify-content:center}
.exam-page-head{margin-top:4px}.exam-page-head h1{font-size:28px}.exam-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.exam-selector button{min-height:58px;border:1px solid var(--line);border-radius:14px;background:#fff;font-weight:800}.exam-selector button span{display:block;margin-top:3px;color:var(--muted);font-size:9px;font-weight:600}.exam-selector button.active{border-color:#9fc2f6;background:var(--blue-soft);color:var(--blue)}.exam-action-card{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin:10px 0}.question-card{padding:22px}.question-type{font-size:11px;color:var(--muted);font-weight:750}.question-card h2{font-family:Georgia,"Times New Roman",serif;font-size:22px;line-height:1.5;margin:16px 0 22px}.option-list{display:flex;flex-direction:column;gap:10px}.option{width:100%;display:flex;gap:12px;align-items:center;text-align:left;min-height:56px;padding:11px 13px;border:1px solid var(--line);border-radius:14px;background:#fff}.option span{width:28px;height:28px;border-radius:8px;background:#eef2f7;display:grid;place-items:center;font-size:11px;color:var(--muted)}.option b{font-size:13px;line-height:1.35}.option.correct{border-color:#99d6b7;background:var(--green-soft)}.option.wrong{border-color:#efaaaa;background:var(--red-soft)}.question-feedback{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;align-items:center}.question-feedback p{margin:0;font-size:13px}.score-ring{width:118px;height:118px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;align-content:center;border:10px solid #dfe8f5}.score-ring b{font-size:40px;line-height:1}.score-ring span{font-size:11px;color:var(--muted)}.result-card.pass .score-ring{border-color:#a9dec3}.result-card.fail .score-ring{border-color:#efb4b4}
.dictionary-tools{position:sticky;top:72px;z-index:20;background:rgba(247,249,252,.96);padding:4px 0 12px;backdrop-filter:blur(12px)}.search-input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:11px 14px;outline:none}.search-input:focus{border-color:#9fc2f6;box-shadow:0 0 0 3px rgba(23,105,224,.08)}.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.filter-row select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:7px 10px;color:var(--text);font-size:11px}.result-count{margin:8px 2px 0;font-size:10px;color:var(--muted)}.dictionary-list{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.dictionary-row{width:100%;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;padding:14px 15px;min-height:64px}.dictionary-row:last-child{border-bottom:0}.dictionary-row b{display:block;font-size:14px}.dictionary-row span{display:block;margin-top:3px;font-size:12px;color:var(--muted)}.dictionary-row small{max-width:46%;text-align:right;color:#98a2b3;font-size:9px;line-height:1.45}.back-line{margin-bottom:8px}.detail-card{padding:24px}.detail-range{font-size:11px;color:var(--muted)}.detail-card h1{font-size:31px;line-height:1.18;margin:14px 0 0;word-break:break-word}.detail-card h2{font-size:21px;margin:7px 0 0;color:#344054}.full-name{margin-top:18px;padding:12px 13px;background:var(--blue-soft);border-radius:12px}.full-name span{display:block;color:var(--blue);font-size:10px}.full-name b{display:block;margin-top:4px;font-size:13px}.detail-card .actions-row{margin-top:22px}.toast{position:fixed;left:50%;top:80px;transform:translateX(-50%);z-index:100;background:#0c1526;color:#fff;border-radius:999px;padding:9px 14px;font-size:11px;box-shadow:0 10px 30px rgba(0,0,0,.18);white-space:nowrap}
@media(max-width:600px){.app-shell{padding-left:12px;padding-right:12px}.daily-grid{grid-template-columns:repeat(2,1fr)}.metric{padding:14px}.settings-panel{display:block}.settings-panel .segmented,.settings-panel .inline-actions{margin-top:14px}.exam-row-progress{width:92px}.study-card{min-height:calc(100vh - 184px);padding:18px}.study-term{font-size:32px}.definition-prompt{font-size:20px}.rating-grid{grid-template-columns:repeat(2,1fr)}.exam-action-card{display:block}.exam-action-card .button{width:100%;margin-top:14px}.question-card h2{font-size:19px}.question-feedback{display:block}.question-feedback .button{width:100%;margin-top:12px}.filter-row{grid-template-columns:1fr}.dictionary-row small{max-width:40%}}
@media(max-width:520px){.study-option-list{grid-template-columns:1fr}}@media(max-width:380px){.exam-selector{grid-template-columns:repeat(2,1fr)}.recognition-actions,.answer-input-wrap{grid-template-columns:1fr}.hero-row h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
