:root{--ink:#18211d;--muted:#66716b;--line:#dfe6e0;--paper:#fafbf9;--accent:#1c6d52;--accent-soft:#e2f2e9;--warm:#f7f0e4;--danger:#b43b30}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-family:ui-sans-serif,system-ui,-apple-system,"Noto Sans TC",sans-serif;color:var(--ink)}.shell{max-width:1360px;margin:auto;padding:48px 24px 80px}header,.section-title,.quiz-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.eyebrow{font-size:.72rem;letter-spacing:.13em;font-weight:800;color:var(--accent);margin:0 0 8px}h1{font-size:clamp(2rem,5vw,3.5rem);margin:0}h2{line-height:1.45;font-size:1.22rem}h3{line-height:1.5}.deadline{border:1px solid var(--line);padding:10px 14px;border-radius:10px;margin:0}.dashboard{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:32px 0}.metric,.panel{background:#fff;border:1px solid var(--line);border-radius:16px}.metric{padding:17px}.metric span,.metric small{display:block;color:var(--muted);font-size:.8rem}.metric strong{font-size:1.45rem;display:block;margin:6px 0}.panel{padding:32px}.section-title p,.mode-note{color:var(--muted);margin:8px 0}.settings{display:grid;grid-template-columns:1fr 1fr;gap:28px}fieldset{border:0;padding:0;margin:28px 0}legend{font-weight:800;margin-bottom:12px}.segments{display:flex;flex-wrap:wrap}.segments button,.tag,.choice,.quiet{border:1px solid var(--line);background:#fff;padding:10px 14px;font:inherit;cursor:pointer}.segments button:first-child{border-radius:9px 0 0 9px}.segments button:last-child{border-radius:0 9px 9px 0}.segments .selected,.tag.selected,.choice.selected{background:var(--accent-soft);border-color:var(--accent);color:#12503d}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mode-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;text-align:left;font:inherit;cursor:pointer}.mode-card b,.mode-card span{display:block}.mode-card span{color:var(--muted);font-size:.9rem;line-height:1.5;margin-top:7px}.mode-card.selected{border:2px solid var(--accent);background:var(--accent-soft)}.tag-grid{display:flex;gap:9px;flex-wrap:wrap}.tag{border-radius:999px;text-align:left}.tag span{font-size:.75rem;color:var(--muted);margin-left:7px}.review-toggle{display:block;color:var(--muted);margin:20px 0}.primary{border:0;border-radius:10px;background:var(--accent);color:#fff;padding:13px 22px;font:inherit;font-weight:800;cursor:pointer}.primary:disabled{opacity:.45;cursor:not-allowed}.hidden{display:none}.quiz-head{align-items:center}.quiet{border:0;padding:0;color:var(--muted)}.progress{height:6px;background:#edf0ed;border-radius:10px;margin:16px 0 28px;overflow:hidden}.progress i{display:block;height:100%;background:var(--accent)}.tags,.hint{color:var(--muted);font-size:.9rem}.study-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:48px}.choices{display:grid;gap:10px;margin:24px 0}.choice{border-radius:12px;display:flex;align-items:flex-start;gap:16px;text-align:left;line-height:1.45;width:100%}.choice:disabled{cursor:default;color:var(--ink)}.choice b{border-radius:50%;background:#edf0ed;width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto}.choice em{margin-left:auto;font-style:normal;font-weight:800;color:var(--accent);white-space:nowrap}.correct-answer{background:var(--accent-soft);border-color:var(--accent)}.translation{margin:20px 0;color:#3c4841;line-height:1.7;padding:16px;background:#f6f8f6;border-radius:10px}.explanation{border-left:1px solid var(--line);padding-left:38px;line-height:1.75}.muted-panel{color:var(--muted)}.vocab{margin:20px 0;padding:16px;background:var(--warm);border-radius:10px}.good{color:var(--accent);font-weight:800}.bad{color:var(--danger);font-weight:800}.result{max-width:760px;margin:30px auto;line-height:1.65}@media(max-width:980px){.dashboard{grid-template-columns:repeat(3,1fr)}.study-layout{grid-template-columns:1fr;gap:22px}.explanation{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}}@media(max-width:760px){.shell{padding:28px 16px}.dashboard{grid-template-columns:repeat(2,1fr)}.settings,.mode-grid{grid-template-columns:1fr}header,.section-title{display:block}.deadline{display:inline-block;margin-top:18px}.panel{padding:22px}.metric:last-child{grid-column:span 2}}
