:root {
  --ink: #172126;
  --muted: #657279;
  --paper: #f5f3ed;
  --white: #fff;
  --navy: #173f48;
  --teal: #2e7d78;
  --aqua: #8fc8bd;
  --gold: #d5a84b;
  --line: #dcded9;
  --danger: #b34c43;
  --shadow: 0 20px 60px rgba(23, 63, 72, .10);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif; color: var(--ink); background: var(--paper); line-height: 1.6; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, .button, .outline-button { cursor: pointer; }
.site-header { height: 92px; max-width: 1240px; margin: auto; padding: 0 30px; display: flex; align-items: center; justify-content: space-between; gap:22px; }
.brand { display: flex; flex:0 0 auto;gap: 12px; align-items: center; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; color: white; background: var(--navy); font-family: Georgia, serif; font-size: 23px; border-radius: 2px 14px 2px 2px; }
.brand strong, .brand small { display: block; line-height: 1.25; }
.brand small { color: var(--muted); font-size: 11px; letter-spacing: .1em; }
.header-project-switcher { flex:1 1 430px;max-width:500px;margin:0; }.header-project-switcher label { gap:3px; }.header-project-switcher label > span { color:var(--muted);font-size:10px;letter-spacing:.08em; }
.header-project-switcher select { height:45px;padding:8px 13px;border-color:#bdc8c5;background:#fff;color:var(--navy);font-size:14px;font-weight:700; }
nav { display: flex; flex:0 0 auto;align-items: center; gap: 26px; font-size: 14px; }
nav a:not(.button):hover { color: var(--teal); }
.nav-user { padding-left: 18px; border-left: 1px solid var(--line); color: var(--muted); }
nav form { margin: 0; }
.nav-toggle { display: none; border: 0; background: none; font-size: 22px; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 20px; border: 1px solid var(--navy); border-radius: 3px; padding: 13px 23px; color: white; background: var(--navy); font-weight: 700; transition: .2s; }
.button:hover { transform: translateY(-1px); background: #205460; box-shadow: 0 8px 24px rgba(23, 63, 72, .16); }
.button:disabled { opacity:.42;cursor:not-allowed;transform:none;box-shadow:none; }
.button-small { padding: 8px 16px; }
.button-full { width: 100%; }
.outline-button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 10px 17px; border: 1px solid #bdc5c4; border-radius: 3px; color: var(--navy); background: transparent; font-weight: 700; }
.outline-button:hover { border-color: var(--teal); background: rgba(46,125,120,.05); }
.outline-button:disabled { opacity: .35; cursor: default; }
.link-button { padding: 0; border: 0; background: none; color: var(--teal); cursor: pointer; }
.text-link { color: var(--navy); font-weight: 700; border-bottom: 1px solid var(--aqua); }
.hero { min-height: 650px; max-width: 1240px; margin: 0 auto; padding: 70px 30px 90px; display: grid; grid-template-columns: 1.05fr .95fr; gap: 80px; align-items: center; position: relative; }
.hero:before { content:""; position: absolute; width: 260px; height: 260px; border-radius: 50%; background: rgba(143,200,189,.24); filter: blur(1px); left: -180px; top: 70px; }
.eyebrow { display: block; color: var(--teal); font-size: 11px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.hero h1, .auth-aside h1 { margin: 14px 0 22px; font: 56px/1.14 Georgia, "Songti SC", serif; letter-spacing: -.03em; }
.hero h1 em { color: var(--teal); font-weight: normal; }
.hero-copy > p { max-width: 570px; color: var(--muted); font-size: 18px; }
.hero-actions { display: flex; align-items: center; gap: 25px; margin-top: 34px; }
.trust-row { display: flex; gap: 25px; margin-top: 32px; color: var(--muted); font-size: 13px; }
.hero-visual { aspect-ratio:1; min-width:0; border-radius:6px 60px 6px 6px; background:var(--navy); box-shadow:var(--shadow); overflow:hidden; }
.hero-visual img { display:block;width:100%;height:100%;object-fit:cover; }
.panel-head { display:flex; justify-content:space-between; color: #d7e3e3; font-size:13px; }
.status-dot { color: var(--aqua); }
.status-dot:before { content:""; display:inline-block; width:6px; height:6px; margin-right:7px; border-radius:50%; background:var(--aqua); }
.score-ring { width: 150px; height: 150px; margin: 34px auto 29px; border: 8px solid rgba(255,255,255,.1); border-top-color: var(--aqua); border-right-color: var(--aqua); border-radius:50%; display:grid; place-content:center; text-align:center; }
.score-ring strong { font: 48px/1 Georgia, serif; }
.score-ring small { color:#b9cccc; }
.mini-stats { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.12); border-bottom:1px solid rgba(255,255,255,.12); }
.mini-stats div { padding:20px 8px; text-align:center; border-right:1px solid rgba(255,255,255,.12); }
.mini-stats div:last-child { border:0; }
.mini-stats strong, .mini-stats span { display:block; }
.mini-stats strong { font:24px Georgia,serif; }.mini-stats span { color:#aebfc1;font-size:11px; }
.progress-block { margin-top:25px; }
.progress-block div { display:flex;justify-content:space-between;font-size:12px;margin:13px 0 5px; }
.progress-block i { display:block;height:3px;background:rgba(255,255,255,.12); }
.progress-block i:after { content:"";display:block;width:var(--progress);height:100%;background:var(--aqua); }
.features { max-width:1180px;margin:0 auto 90px;display:grid;grid-template-columns:repeat(3,1fr);background:white;box-shadow:var(--shadow); }
.features article { padding:37px;border-right:1px solid var(--line); }
.features article:last-child { border:0; }.features h3 { margin:12px 0 7px; }.features p { margin:0;color:var(--muted);font-size:14px; }
.feature-icon { color:var(--teal);font:20px Georgia,serif; }
footer { max-width:1180px;margin:0 auto;padding:25px 0 40px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:12px; }
.auth-layout { min-height:calc(100vh - 150px);display:grid;grid-template-columns:1fr 1.1fr; }
.auth-aside { padding:12vh 8vw;color:white;background:var(--navy);position:relative;overflow:hidden; }
.auth-aside:after { content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.08);border-radius:50%;left:-220px;bottom:-250px;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018); }
.auth-aside .eyebrow { color:var(--aqua); }.auth-aside p { color:#bdcdcf; }
.auth-card { width:min(440px,calc(100% - 50px));margin:auto;padding:45px;background:white;box-shadow:var(--shadow);display:grid;gap:20px; }
.auth-card-wide { width:min(680px,calc(100% - 50px)); }
.auth-card h2 { margin:5px 0 2px;font:32px Georgia,serif; }.auth-card > div > p { margin:0;color:var(--muted);font-size:14px; }
label { display:grid;gap:7px;font-size:13px;font-weight:700;color:#35464c; }
input, select, textarea { width:100%;border:1px solid #cfd5d3;border-radius:3px;padding:12px 13px;background:#fff;color:var(--ink);outline:none; }
input:focus,select:focus,textarea:focus { border-color:var(--teal);box-shadow:0 0 0 3px rgba(46,125,120,.09); }
textarea { resize:vertical; }
.form-grid { display:grid;grid-template-columns:1fr 1fr;gap:18px; }.span-2 { grid-column:span 2; }
.form-foot { text-align:center;color:var(--muted);font-size:13px; }.form-foot a { color:var(--teal);font-weight:700; }
.flash-stack { position:fixed;z-index:20;right:24px;top:94px;display:grid;gap:8px; }
.flash { max-width:400px;padding:13px 18px;background:white;border-left:4px solid var(--teal);box-shadow:var(--shadow);transition:.3s; }
.flash-error { border-color:var(--danger); }.flash-warning { border-color:var(--gold); }.flash.fade { opacity:0;transform:translateX(10px); }
.page-shell { max-width:1180px;min-height:calc(100vh - 180px);margin:0 auto;padding:55px 30px 90px; }
.narrow-shell { max-width:900px; }
.page-heading { display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px; }
.page-heading h1,.quiz-top h1 { margin:8px 0 3px;font:42px Georgia,"Songti SC",serif; }.page-heading p { margin:0;color:var(--muted); }
.badge { display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:15px;color:white;background:var(--teal);font-size:11px; }
.stat-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:26px;background:var(--line);border:1px solid var(--line); }
.stat-grid article,.stat-card-button { padding:25px;background:white; }.stat-grid span,.stat-grid small,.stat-grid strong { display:block; }
.stat-grid span { color:var(--muted);font-size:12px; }.stat-grid strong { margin:5px 0;font:38px Georgia,serif;color:var(--navy); }
.stat-grid strong i { font:14px sans-serif; }.stat-grid small { color:#869095;font-size:11px; }.stat-grid small a { color:var(--teal);font-weight:700; }
.stat-grid .accent-stat { color:white;background:var(--navy); }.stat-grid .accent-stat span,.stat-grid .accent-stat small { color:#b9cdce; }.stat-grid .accent-stat strong { color:white; }
.stat-card-form { display:contents; }.stat-card-button { width:100%;border:0;text-align:left;cursor:pointer;transition:background .2s,box-shadow .2s,transform .2s; }.stat-card-button small { display:flex;align-items:center;justify-content:space-between;gap:12px; }.stat-card-button small b { color:var(--aqua);font-size:18px;transition:transform .2s; }.stat-card-button:hover { background:#205460;box-shadow:inset 0 0 0 1px rgba(143,200,189,.45); }.stat-card-button:hover small b { transform:translateX(4px); }.stat-card-button:focus-visible { outline:3px solid var(--aqua);outline-offset:-4px; }
.page-heading-actions { display:flex;align-items:center;gap:10px; }.page-heading-actions form { margin:0; }
.learning-progress-section { margin:0 0 26px; }.learning-progress-heading { display:flex;align-items:end;justify-content:space-between;margin-bottom:15px; }
.learning-progress-heading h2 { margin:4px 0 0;font:28px Georgia,"Songti SC",serif; }.learning-progress-heading p { margin:3px 0 0;color:var(--muted);font-size:12px; }
.learning-progress-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(440px,1fr));gap:16px; }
.progress-project-card { padding:24px;background:white;border:1px solid #dfe3df;box-shadow:0 10px 28px rgba(23,63,72,.04); }
.progress-project-head,.chapter-progress-copy { display:flex;align-items:center;justify-content:space-between;gap:20px; }.progress-project-head h3 { margin:0 0 2px;font:20px Georgia,"Songti SC",serif; }.progress-project-head span { color:var(--muted);font-size:11px; }
.progress-project-head > strong { color:var(--teal);font:26px Georgia,serif; }.learning-progress-bar { height:7px;margin-top:13px;overflow:hidden;border-radius:10px;background:#e5e9e6; }.learning-progress-bar i { display:block;width:var(--value);height:100%;border-radius:inherit;background:var(--teal);transition:width .3s; }.learning-progress-bar.compact { height:5px;margin-top:8px; }
.progress-project-card > form { margin-top:9px;text-align:right; }.progress-clear-button { padding:0;border:0;border-bottom:1px solid #d9aaa5;color:var(--danger);background:none;font-size:11px;cursor:pointer; }
.project-data-management { display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:14px 0 0;border-top:1px solid var(--line); }.project-data-copy { min-width:0; }.project-data-copy strong,.project-data-copy span { display:block; }.project-data-copy strong { font-size:12px; }.project-data-copy span { margin-top:2px;color:var(--muted);font-size:10px;line-height:1.5; }.project-data-actions { display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto; }.project-data-actions form { margin:0; }.compact-action { padding:8px 10px;font-size:11px; }.compact-action:disabled { opacity:.42;cursor:not-allowed; }
.chapter-progress-list { display:grid;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line); }.chapter-progress-item { padding:13px 14px;background:#f7f8f6;border:1px solid #eaede9; }
.chapter-progress-copy span { min-width:0; }.chapter-progress-copy b,.chapter-progress-copy small { display:block; }.chapter-progress-copy b { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px; }.chapter-progress-copy small { margin-top:1px;color:var(--muted);font-size:10px; }.chapter-progress-copy > strong { color:var(--teal);font-size:12px; }
.chapter-progress-item form { margin-top:7px;text-align:right; }.progress-empty { margin:0;color:var(--muted);font-size:12px;text-align:center; }
.dashboard-grid { display:grid;grid-template-columns:.9fr 1.1fr;gap:26px; }
.mock-exam-module { margin:46px 0 26px; }
.mock-exam-heading { display:flex;align-items:end;justify-content:space-between;margin-bottom:16px; }
.mock-exam-heading h2 { margin:5px 0 2px;font:30px Georgia,"Songti SC",serif; }
.mock-exam-heading p,.mock-empty p,.mock-paper-card p { margin:3px 0 0;color:var(--muted);font-size:13px; }
.mock-paper-list { display:grid;gap:12px; }
.mock-paper-card { display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0; }
.mock-paper-card h3 { margin:9px 0 2px;font:21px Georgia,"Songti SC",serif; }
.mock-paper-actions { display:flex;align-items:center;gap:9px;flex:0 0 auto; }
.mock-paper-actions form { margin:0; }
.mock-empty { margin:0;border-left:4px solid var(--gold); }
.card { padding:30px;background:white;border:1px solid #e2e3df;box-shadow:0 12px 35px rgba(23,63,72,.045); }
.card-title { display:flex;justify-content:space-between;align-items:start;margin-bottom:24px; }.card-title h2,.invite-generator h2 { margin:4px 0 0;font:26px Georgia,serif; }
.line-icon { font-size:28px;color:var(--teal); }.start-card form { display:grid;gap:22px; }
.mode-fieldset { min-width:0;margin:0;padding:0;border:0; }.mode-fieldset legend { margin-bottom:7px;color:#35464c;font-size:13px;font-weight:700; }
.mode-choice-row { display:grid;grid-template-columns:1fr 1fr;gap:10px; }.mode-choice { cursor:pointer; }.mode-choice input { display:none; }
.mode-choice > span { min-height:82px;padding:13px 14px;border:1px solid var(--line);border-radius:4px;background:#fff;transition:.15s; }
.mode-choice b,.mode-choice small { display:block; }.mode-choice b { color:var(--navy);font-size:14px; }.mode-choice small { margin-top:3px;color:var(--muted);font-size:11px;font-weight:400;line-height:1.45; }
.mode-choice input:checked + span { border-color:var(--teal);background:#edf7f5;box-shadow:0 0 0 3px rgba(46,125,120,.08); }.mode-choice input:checked + span b { color:var(--teal); }
.choice-row { display:grid;grid-template-columns:repeat(3,1fr);gap:10px; }.choice input { display:none; }.choice span { padding:10px;text-align:center;border:1px solid var(--line);border-radius:3px; }
.choice input:checked + span { border-color:var(--teal);background:#edf7f5;color:var(--teal); }
.choice-row[hidden] { display:none; }.choice-row.single-choice { grid-template-columns:1fr; }.mode-choice.is-disabled { cursor:not-allowed; }.mode-choice.is-disabled > span,.choice.is-disabled span { opacity:.45;background:#f2f2f0;cursor:not-allowed; }
.count-help { display:block;margin-top:7px;color:var(--muted);font-size:11px; }.simulation-mode-note { margin:0;padding:11px 13px;border-left:3px solid var(--aqua);color:var(--muted);background:#f2f7f5;font-size:12px;line-height:1.6; }.simulation-mode-note[hidden] { display:none; }
.result-list a { display:grid;grid-template-columns:46px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #eceeeb; }
.result-list a:last-child { border:0; }.result-list a:hover strong { color:var(--teal); }
.result-score { width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#f4e7e3;color:var(--danger);font:bold 16px Georgia,serif; }
.result-score.good { color:var(--teal);background:#e4f1ee; }.result-list strong,.result-list small { display:block; }.result-list small { color:var(--muted);font-size:11px; }
.empty-state { padding:35px 15px;text-align:center;color:var(--muted); }.empty-state > span { display:grid;place-items:center;width:55px;height:55px;margin:auto;border-radius:50%;background:#e7f2ef;color:var(--teal);font-size:26px; }
.empty-state h3,.empty-state h2 { color:var(--ink); }.empty-state.large { padding:80px 20px; }.empty-state .button { margin-top:14px; }
.quiz-shell { max-width:900px; }.quiz-top { display:flex;justify-content:space-between;align-items:end;margin-bottom:32px; }
.quiz-tools { display:grid;justify-items:end;gap:12px; }
.mock-countdown { min-width:145px;padding:8px 12px;border:1px solid #cfb36e;border-radius:4px;color:#72562a;background:#fff9e9;text-align:right; }
.mock-countdown span,.mock-countdown strong { display:block;line-height:1.2; }
.mock-countdown span { font-size:10px;letter-spacing:.08em; }
.mock-countdown strong { margin-top:3px;font:24px Georgia,serif; }
.mock-submit-button { border-color:#cfb36e;color:#72562a; }
.script-toggle { min-height:38px;padding:8px 14px;border:1px solid var(--teal);border-radius:999px;color:var(--teal);background:#fff;font-family:inherit;font-size:12px;font-weight:750;line-height:1.2;cursor:pointer; }
.script-toggle:hover,.script-toggle:focus-visible { color:#fff;background:var(--teal); }
.quiz-mode-note { margin:2px 0 0;color:var(--muted);font-size:13px; }
.quiz-progress { width:220px;text-align:right;color:var(--muted);font-size:12px; }.quiz-progress b { color:var(--navy);font-size:17px; }.quiz-progress i { display:block;height:4px;margin-top:8px;background:#dfe3df; }
.quiz-progress em { display:block;height:100%;width:0;background:var(--teal);transition:.3s; }
.question-card { padding:42px;background:white;border-top:4px solid var(--teal);box-shadow:var(--shadow); }.question-card[hidden] { display:none; }
.question-meta { display:flex;gap:8px;margin-bottom:18px; }.question-meta span { padding:4px 9px;background:#edf3f1;color:var(--teal);font-size:11px; }
.question-card h2 { margin:0 0 28px;font:26px/1.55 Georgia,"Songti SC",serif; }
.question-copy { display:block; }
.question-copy__intro { display:block; }
.question-copy__items { display:grid;gap:9px;margin-top:20px;padding:18px 20px;border:1px solid #dfe9e6;border-radius:10px;background:#f6faf9;font:500 18px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; }
.question-copy__item { display:grid;grid-template-columns:42px minmax(0,1fr);gap:7px;align-items:start; }
.question-copy__label { display:grid;place-items:center;min-height:29px;border-radius:7px;color:var(--teal);background:#e3f1ed;font:bold 14px/1 Georgia,serif;letter-spacing:.02em; }
.question-copy__body { min-width:0; }
.question-sequence { float:left;margin-right:.35em; }
.review-card h3 .question-copy,.wrong-card h3 .question-copy { overflow:hidden; }
.review-card .question-copy__items,.wrong-card .question-copy__items { margin-top:14px;padding:14px 16px;font-size:15px; }
.question-cell .question-copy__items { gap:5px;margin-top:8px;padding:9px 11px;border-radius:7px;font-size:12px;line-height:1.5; }
.question-cell .question-copy__item { grid-template-columns:30px minmax(0,1fr);gap:5px; }
.question-cell .question-copy__label { min-height:22px;font-size:11px; }
.options { display:grid;gap:12px; }.options label { grid-template-columns:38px 1fr;align-items:center;padding:13px;border:1px solid var(--line);cursor:pointer;font-weight:500;transition:.15s; }
.options label:hover { border-color:var(--aqua);background:#f7fbfa; }.options input { display:none; }.options label:has(input:checked) { border-color:var(--teal);background:#edf7f5; }
.option-letter { width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#eef0ed;color:var(--navy);font:14px Georgia,serif; }
.options label:has(input:checked) .option-letter { color:white;background:var(--teal); }
.options label.is-correct-answer,.options label.is-correct-answer:has(input:checked) { border-color:var(--teal);background:#e5f4ef;color:#175f59; }.options label.is-correct-answer .option-letter { color:white;background:var(--teal); }
.options label.is-wrong-answer,.options label.is-wrong-answer:has(input:checked) { border-color:var(--danger);background:#faece9;color:#8c352f; }.options label.is-wrong-answer .option-letter { color:white;background:var(--danger); }
.practice-feedback { margin-top:20px;padding:18px 20px;border-left:4px solid var(--teal);background:#eff8f5; }.practice-feedback[hidden] { display:none; }
.practice-feedback > strong { display:block;color:var(--teal);font-size:15px; }.practice-feedback.is-wrong { border-color:var(--danger);background:#fbefec; }.practice-feedback.is-wrong > strong,.practice-feedback.is-error > strong { color:var(--danger); }
.practice-feedback.is-error .practice-answer,.practice-feedback.is-error .practice-explanation { display:none; }
.practice-answer { margin-top:8px;font-size:13px; }
.practice-explanation { margin-top:11px;padding-top:11px;border-top:1px solid rgba(46,125,120,.16);color:var(--muted);font-size:13px; }
.practice-explanation-title,.explanation-heading { display:block;margin-bottom:9px;color:var(--teal);font-weight:800; }
.core-knowledge { margin:10px 0 15px;padding:14px 16px;border:1px solid #8fc8bd;border-left:5px solid var(--teal);border-radius:7px;background:#e7f5f1;color:var(--navy); }
.core-knowledge span,.core-knowledge strong { display:block; }
.core-knowledge span { margin-bottom:5px;color:var(--teal);font-size:11px;font-weight:800;letter-spacing:.06em; }
.core-knowledge strong { font-size:14px;line-height:1.75; }
.reinforce-action { display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(46,125,120,.18); }
.reinforce-action[hidden] { display:none; }.reinforce-action .outline-button { padding:9px 13px; }.reinforce-action span { color:var(--teal);font-size:13px;font-weight:800; }
.mastery-feedback { margin-top:12px;padding:10px 12px;border-radius:5px;color:#35565d;background:#e8f1f0;font-size:13px;font-weight:700; }
.mastery-feedback[hidden] { display:none; }.mastery-feedback.is-mastered { color:var(--teal);background:#e3f4ef; }
.explanation-copy { white-space:pre-line;overflow-wrap:anywhere;line-height:1.85; }
.quiz-actions { display:flex;justify-content:space-between;margin-top:35px; }
.result-hero { display:grid;grid-template-columns:170px 1fr;gap:35px;align-items:center;padding:42px;color:white;background:var(--navy); }
.score-disc { width:140px;height:140px;display:grid;place-content:center;text-align:center;border:7px solid rgba(255,255,255,.2);border-radius:50%;color:#f4c5b7; }
.score-disc.pass { color:var(--aqua); }.score-disc strong { font:52px/1 Georgia,serif; }.score-disc span { font-size:12px; }
.result-hero .eyebrow { color:var(--aqua); }.result-hero h1 { margin:6px 0;font:31px Georgia,serif; }.result-hero p { margin:0;color:#bed0d2; }.result-hero .hero-actions { margin-top:22px; }.result-hero .button { color:var(--navy);background:white;border-color:white; }.result-hero .outline-button { color:white;border-color:#729096; }
.report-summary { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:1px;background:var(--line);border:1px solid var(--line); }.report-summary article { padding:18px 20px;background:#fff; }.report-summary span,.report-summary strong { display:block; }.report-summary span { color:var(--muted);font-size:11px; }.report-summary strong { margin-top:3px;color:var(--navy);font:26px Georgia,serif; }
.report-summary.mock-report-summary { grid-template-columns:repeat(6,1fr); }
.report-summary strong small { display:inline;font:11px Inter,"PingFang SC",sans-serif; }
.report-summary .report-text-value { font:700 14px/1.4 Inter,"PingFang SC",sans-serif; }
.review-heading { margin:45px 0 18px; }.review-heading h2 { margin:4px 0;font:28px Georgia,serif; }.review-heading p { margin:3px 0 0;color:var(--muted);font-size:13px; }
.review-list { display:grid;gap:15px; }.review-card { padding:27px;background:white;border-left:4px solid var(--danger); }.review-card.correct { border-color:var(--teal); }
.review-summary { cursor:pointer;list-style:none; }.review-summary::-webkit-details-marker { display:none; }.review-summary:focus-visible { outline:2px solid var(--teal);outline-offset:5px; }
.review-status { color:var(--danger);font-weight:800;font-size:11px; }.review-card.correct .review-status { color:var(--teal); }.review-card h3 { margin:9px 0 14px; }
.review-open { display:flex;align-items:center;justify-content:space-between;color:var(--teal);font-size:12px;font-weight:700; }.review-open i { font-style:normal;font-size:17px;transition:.2s; }.review-card[open] .review-open i { transform:rotate(180deg); }
.review-details { margin-top:18px;padding-top:18px;border-top:1px solid var(--line); }
.answer-summary { display:grid;gap:3px;color:var(--muted);font-size:13px; }.answer-summary b { color:var(--ink); }.explanation { margin:17px 0 0;padding:14px;background:#f3f6f4;color:var(--muted);font-size:13px; }
.wrong-grid { display:grid;grid-template-columns:1fr 1fr;gap:18px; }.wrong-card h3 { font:19px/1.55 Georgia,serif; }.wrong-explanation { margin-top:16px;color:var(--muted);font-size:13px; }.correct-answer { padding:10px;background:#edf7f5;color:var(--teal);font-size:13px;font-weight:700; }.wrong-card form { margin-top:20px; }
.wrong-shuffle-status { width:100%;color:var(--muted);font-size:11px;text-align:right; }
.ai-copy-card { display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:14px 16px;border:1px solid #cadeda;background:#f6fbfa; }
.ai-copy-card > div { min-width:0; }.ai-copy-card strong,.ai-copy-card span { display:block; }.ai-copy-card strong { color:var(--navy);font-size:13px; }.ai-copy-card span { margin-top:3px;color:var(--muted);font-size:11px;line-height:1.5; }
.ai-copy-button { flex:0 0 auto;white-space:nowrap; }
.mastery-card { margin:14px 0;padding:13px 14px;border:1px solid #d4e4e1;background:#f7fbfa; }.mastery-card__head { display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--navy);font-size:13px;font-weight:800; }.mastery-card__bar { height:7px;margin:9px 0;border-radius:99px;overflow:hidden;background:#dce9e6; }.mastery-card__bar i { display:block;height:100%;background:var(--teal); }.mastery-card__detail { color:var(--muted);font-size:12px;line-height:1.6; }.review-origin { display:inline-block;margin-top:8px;padding:4px 8px;border-radius:99px;color:var(--teal);background:#e4f3f0;font-size:11px;font-weight:800; }
.table-wrap { overflow:auto; }table { width:100%;border-collapse:collapse;font-size:13px; }th { text-align:left;color:var(--muted);font-size:11px;letter-spacing:.06em; }th,td { padding:13px 10px;border-bottom:1px solid #e9ebe8;vertical-align:middle;white-space:nowrap; }td.question-cell { max-width:380px;white-space:normal; }td.actions { white-space:nowrap; }td.actions > a,td.actions > form { display:inline-block;vertical-align:middle; }td.actions > * + * { margin-left:15px; }.muted { color:var(--muted);text-align:center; }
code { padding:5px 8px;background:#eef2f0;color:var(--navy);font-weight:700;letter-spacing:.06em; }.status { display:inline-block;padding:3px 8px;border-radius:12px;font-size:10px;font-weight:700; }.status.active,.status.normal { color:#1b7068;background:#e1f2ee; }.status.simulation { color:#72562a;background:#f6ead0; }.status.used { color:#766127;background:#f3ead3; }.status.off { color:#777;background:#eee; }
.invite-generator { margin-bottom:25px;display:flex;justify-content:space-between;align-items:end; }.invite-generator p { margin:2px 0;color:var(--muted);font-size:13px; }.invite-generator form { display:flex;align-items:end;gap:12px; }.invite-generator input { width:110px; }
.editor-form { display:grid;gap:25px; }.editor-form .button { justify-self:start; }
.filter-bar { display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:18px;background:white;border:1px solid var(--line); }
.filter-bar input { max-width:360px; }.filter-bar select { max-width:310px; }.block { display:block;color:var(--muted);font-weight:400; }
.bank-filter-form { display:flex;align-items:center;gap:12px;flex:1;min-width:0; }
.bank-filter-actions { display:flex;align-items:center;gap:9px;padding-left:12px;border-left:1px solid var(--line); }
.bank-filter-actions[hidden] { display:none; }.bank-filter-actions form { margin:0; }.bank-filter-actions .outline-button { white-space:nowrap; }
.danger-link { color:var(--danger); }.heading-actions,.project-actions { display:flex;align-items:center;gap:10px; }
.project-grid { display:grid;grid-template-columns:1fr 1fr;gap:20px; }.project-card { display:flex;flex-direction:column; }
.project-card-head { display:flex;justify-content:space-between;align-items:center; }.project-card h2 { margin:20px 0 8px;font:25px Georgia,"Songti SC",serif; }
.project-card > p { min-height:52px;margin:0;color:var(--muted);font-size:13px; }.project-metrics { display:flex;gap:30px;margin:22px 0;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:12px; }
.project-metrics strong { margin-right:4px;color:var(--navy);font:24px Georgia,serif; }.project-actions { margin-top:auto; }.project-actions form { margin-left:auto; }
.plain-result { display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #eceeeb; }.plain-result strong,.plain-result small { display:block; }.plain-result small { color:var(--muted);font-size:11px; }
.account-state-bar { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding:22px 26px;background:#fff;border:1px solid var(--line); }.account-state-bar strong,.account-state-bar span { display:block; }.account-state-bar span { color:var(--muted);font-size:12px; }.danger-outline { color:var(--danger);border-color:#d9aaa5; }
@media (max-width:850px) {
  .site-header { height:78px;padding:0 20px;gap:13px; }.header-project-switcher { min-width:0;max-width:none;margin-left:auto; }.header-project-switcher label > span { display:none; }.header-project-switcher select { height:40px;padding:7px 10px;font-size:12px; }.nav-toggle { display:block;flex:0 0 auto; }nav { display:none;position:absolute;z-index:15;left:15px;right:15px;top:76px;padding:20px;flex-direction:column;align-items:stretch;background:white;box-shadow:var(--shadow); }nav.open { display:flex; }.nav-user { padding:12px 0 0;border-left:0;border-top:1px solid var(--line); }
  .hero { padding-top:40px;grid-template-columns:1fr;gap:45px; }.hero h1,.auth-aside h1 { font-size:42px; }.features { margin:0 20px 60px;grid-template-columns:1fr; }.features article { border-right:0;border-bottom:1px solid var(--line); }
  footer { margin:0 20px;flex-direction:column;gap:5px; }.auth-layout { grid-template-columns:1fr; }.auth-aside { padding:55px 30px; }.auth-card { margin:35px auto; }
  .stat-grid { grid-template-columns:1fr 1fr; }.dashboard-grid,.wrong-grid,.project-grid { grid-template-columns:1fr; }.page-heading { align-items:start;flex-direction:column; }
  .report-summary.mock-report-summary { grid-template-columns:repeat(3,1fr); }
  .result-hero { grid-template-columns:1fr;text-align:center; }.score-disc { margin:auto; }.result-hero .hero-actions { justify-content:center; }.report-summary { grid-template-columns:1fr 1fr; }.invite-generator { align-items:start;flex-direction:column;gap:20px; }
}
@media (max-width:560px) {
  .brand small { display:none; }.brand strong { font-size:13px; }.brand-mark { width:36px;height:36px;font-size:20px; }.header-project-switcher { flex-basis:auto; }.header-project-switcher select { max-width:150px;overflow:hidden;text-overflow:ellipsis; }.hero { padding-left:20px;padding-right:20px; }.hero h1 { font-size:37px; }.hero-actions,.trust-row { align-items:flex-start;flex-direction:column; }.hero-visual { border-radius:5px 35px 5px 5px; }
  .form-grid { grid-template-columns:1fr; }.span-2 { grid-column:auto; }.auth-card,.auth-card-wide { padding:28px;width:calc(100% - 30px); }.auth-aside h1 { font-size:36px; }
  .page-shell { padding:35px 16px 65px; }.page-heading h1,.quiz-top h1 { font-size:34px; }.stat-grid { grid-template-columns:1fr 1fr; }.stat-grid article,.stat-card-button { padding:18px; }.stat-grid strong { font-size:30px; }
  .page-heading-actions { width:100%;align-items:stretch;flex-direction:column; }.page-heading-actions form,.page-heading-actions .button,.page-heading-actions .outline-button { width:100%; }
  .wrong-shuffle-status { text-align:left; }.ai-copy-card { align-items:stretch;flex-direction:column; }.ai-copy-button { width:100%; }
  .learning-progress-grid { grid-template-columns:1fr; }.progress-project-card { padding:19px 16px; }.progress-project-head { align-items:flex-start; }.progress-project-head > strong { font-size:22px; }
  .project-data-management { align-items:stretch;flex-direction:column; }.project-data-actions { justify-content:stretch; }.project-data-actions form,.project-data-actions button { width:100%; }
  .question-card { padding:25px 18px; }.question-card h2 { font-size:21px; }.quiz-top { align-items:start;flex-direction:column;gap:15px; }.quiz-tools { width:100%;grid-template-columns:auto 1fr;align-items:center; }.quiz-progress { width:100%;text-align:left; }
  .mock-paper-card { align-items:stretch;flex-direction:column; }.mock-paper-actions { width:100%; }.mock-paper-actions form,.mock-paper-actions .button,.mock-paper-actions .outline-button { flex:1;width:100%; }
  .mock-countdown { width:100%;grid-column:span 2;text-align:center; }.mock-submit-button { width:100%;grid-column:span 2; }.report-summary.mock-report-summary { grid-template-columns:1fr 1fr; }
  .question-copy__items { gap:8px;margin-top:16px;padding:14px 12px;font-size:16px; }.question-copy__item { grid-template-columns:35px minmax(0,1fr);gap:6px; }.question-copy__label { min-height:26px;font-size:12px; }
  .mode-choice-row { grid-template-columns:1fr; }.mode-choice > span { min-height:0; }.quiz-actions { gap:10px; }.quiz-actions .button,.quiz-actions .outline-button { padding:10px 13px; }.practice-feedback { padding:16px 14px; }.practice-feedback p { grid-template-columns:1fr; }.result-hero { padding:30px 20px; }.answer-summary { gap:9px; }
  .invite-generator form { width:100%;display:grid;grid-template-columns:1fr 1fr; }.invite-generator input { width:100%; }.invite-generator .button { grid-column:span 2; }.flash-stack { left:12px;right:12px;top:78px; }
  .filter-bar { align-items:stretch;flex-direction:column; }.filter-bar input,.filter-bar select { max-width:none; }.heading-actions { width:100%;flex-wrap:wrap; }
  .bank-filter-form { align-items:stretch;flex-direction:column;width:100%; }.bank-filter-actions { padding:12px 0 0;border-left:0;border-top:1px solid var(--line); }.bank-filter-actions a,.bank-filter-actions form { flex:1; }.bank-filter-actions button { width:100%; }
}
