:root{--ink:#172033;--muted:#657086;--primary:#2457d6;--primary-dark:#173d9e;--paper:#fff;--bg:#f3f6fb;--line:#dbe2ee;--good:#147a4b;--bad:#b42318;--warn:#9a6700}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI","Noto Sans TC",sans-serif;line-height:1.55}header{min-height:64px;padding:0 max(20px,calc((100% - 1100px)/2));display:flex;align-items:center;justify-content:space-between;background:#13213c;color:#fff;box-shadow:0 2px 8px #0d193329}.brand{font-weight:800;font-size:1.25rem;letter-spacing:.04em;color:#fff;text-decoration:none}nav{display:flex;align-items:center;gap:18px}nav a,nav .link-button{color:#e8eeff;text-decoration:none}.user{color:#bfcbe8;font-size:.9rem}nav form{margin:0}.link-button{border:0;background:none;padding:0;cursor:pointer;font:inherit}main{max-width:1100px;margin:32px auto;padding:0 20px;min-height:calc(100vh - 150px)}h1{margin:0 0 20px;font-size:clamp(1.6rem,3vw,2.15rem)}h2{font-size:1.25rem}.card,.question,.stat{background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 18px #25395c0b}.card{padding:22px;margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.paper-card{text-decoration:none;color:inherit;transition:.15s transform,.15s box-shadow}.paper-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #25395c1c}.muted{color:var(--muted)}label{display:block;font-weight:650;margin:13px 0 5px}input[type=text],input[type=password],input[type=number],select{width:100%;max-width:480px;padding:11px 12px;border:1px solid #b7c2d4;border-radius:7px;font:inherit;background:#fff}button,.button{display:inline-block;border:0;border-radius:7px;background:var(--primary);color:#fff;padding:10px 17px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}button:hover,.button:hover{background:var(--primary-dark)}.button.secondary{background:#e6ebf5;color:var(--ink)}.button.danger{background:var(--bad);color:#fff}.button.danger:hover{background:#8f1c14}.notice{padding:13px 16px;margin:0 0 18px;border-radius:8px;background:#eaf1ff;border-left:4px solid var(--primary)}.notice.success{background:#e9f8f0;border-color:var(--good)}.notice.error{background:#ffefed;border-color:var(--bad)}.notice.warning{background:#fff7df;border-color:var(--warn)}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line)}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#edf1f8;font-size:.9rem}.table-wrap{overflow-x:auto;border-radius:10px}.question{padding:24px}.question-text{font-size:1.08rem;white-space:pre-wrap}.question-image{display:block;max-width:100%;max-height:600px;margin:18px auto;border:1px solid var(--line);border-radius:6px}.options{display:grid;gap:10px;margin:20px 0}.option{display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.option:hover{border-color:#8199cc;background:#f6f8ff}.option input{margin-top:5px}.result-correct{color:var(--good)}.result-wrong{color:var(--bad)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin-bottom:20px}.stat{padding:16px}.stat strong{display:block;font-size:1.55rem}.question-nav{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.pill{display:inline-block;padding:3px 9px;border-radius:999px;background:#e8edf7;font-size:.83rem}.login{max-width:470px;margin:60px auto}.login .card{padding:30px}footer{text-align:center;color:var(--muted);padding:18px}@media(max-width:700px){header{align-items:flex-start;padding-top:14px;padding-bottom:14px;gap:14px}nav{flex-wrap:wrap;justify-content:flex-end;gap:10px}.user{width:100%;text-align:right}main{margin-top:22px}th,td{padding:8px}.question{padding:17px}}

.practice-set-list{display:grid;gap:12px}.practice-set-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:0;padding:16px 20px}.practice-set-heading{display:flex;align-items:baseline;gap:14px;min-width:0}.practice-set-card h2,.practice-set-description,.practice-set-action{margin:0}.practice-set-description{margin-top:4px}.practice-set-count{color:var(--muted);white-space:nowrap}.practice-set-action{justify-self:end}@media(max-width:520px){.practice-set-card{gap:10px;padding:14px}.practice-set-heading{gap:8px}.practice-set-card h2{font-size:1.05rem}.practice-set-action button{padding:9px 11px}}
