:root{font-family:"Microsoft JhengHei","PingFang TC",system-ui,sans-serif;color:#16372e;background:#f3f6f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}header{max-width:1280px;margin:auto;padding:30px 48px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d8e2dd}.brand{color:#173c30;text-decoration:none;font-weight:800;font-size:20px;letter-spacing:.06em}.brand span{font-weight:400;margin-left:12px}.header-note{font-size:14px;color:#577063}main{max-width:1280px;margin:0 auto;padding:64px 48px;display:grid;grid-template-columns:300px minmax(0,1fr);gap:70px}.eyebrow{font-size:14px;letter-spacing:.14em;color:#45715b;margin:8px 0 25px}h1{font-size:48px;line-height:1.4;letter-spacing:.02em;margin:0 0 22px;font-weight:800}.intro{font-size:17px;line-height:1.9;color:#526b5e}.bank{border-top:2px solid #234d3c;margin-top:64px;padding-top:22px}.bank strong{font-size:42px;letter-spacing:-.03em}.bank strong span{font-size:16px;font-weight:400}.bank p,.source{font-size:14px;color:#63776a;line-height:1.7}.source{margin-top:35px}.progress-label{display:flex;justify-content:space-between;font-size:14px;margin-bottom:12px;color:#4a6657}progress{display:block;width:100%;height:5px;border:0;border-radius:5px;overflow:hidden;background:#dce5df;margin-bottom:25px}progress::-webkit-progress-bar{background:#dce5df}progress::-webkit-progress-value{background:#20704e}progress::-moz-progress-bar{background:#20704e}.card{background:white;padding:36px;border:1px solid #dce5df;border-radius:18px;box-shadow:0 14px 42px #173c3006}.question-meta{display:flex;align-items:center;gap:13px;font-size:14px;color:#6a7b70}.question-meta span:first-child{background:#e8f2eb;color:#276644;border-radius:6px;padding:6px 12px;font-weight:700}h2{font-size:24px;line-height:1.65;margin:23px 0 27px;font-weight:700;overflow-wrap:anywhere}.options{display:grid;gap:12px}.option{display:flex;align-items:center;gap:16px;text-align:left;width:100%;border:1px solid #d4dfd7;border-radius:10px;background:white;padding:16px 18px;color:#284637;font:inherit;font-size:17px;line-height:1.6;cursor:pointer}.letter{flex:0 0 32px;height:32px;display:grid;place-items:center;background:#f0f4f1;border-radius:7px;font-size:14px;font-weight:700}.option:hover:not(:disabled){border-color:#37855a;background:#f6faf7}.option:focus-visible,.next:focus-visible,a:focus-visible{outline:3px solid #ce9b20;outline-offset:4px}.option.wrong{background:#fff4f1;border-color:#cc7563}.option.correct{background:#ecf7ef;border-color:#2d8953}.option.correct .letter{background:#247548;color:#fff}.option:disabled{cursor:default;opacity:1}.option:disabled:not(.correct):not(.wrong){color:#718075}#feedback{font-size:15px;line-height:1.7;color:#a44530;margin-top:16px}#feedback:empty{display:none}.explanation{margin-top:24px;background:#f0f7f2;border-left:3px solid #398453;padding:20px 22px;border-radius:0 9px 9px 0}.explanation h3{font-size:17px;margin:0 0 9px;color:#246543}.explanation p{font-size:16px;line-height:1.9;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.card-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #e7ede9;margin-top:28px;padding-top:24px}#hint{font-size:14px;color:#6a7b70}.next{border:0;background:#1d6545;color:#fff;padding:13px 21px;border-radius:8px;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}.next span{padding-left:20px}.next:disabled{background:#e9eeeb;color:#85958b;cursor:default}.next:hover:not(:disabled){background:#124e33}.below{text-align:center;font-size:14px;color:#738378;margin-top:20px}@media(max-width:950px){main{grid-template-columns:220px minmax(0,1fr);gap:32px;padding:40px 28px}header{padding:24px 28px}h1{font-size:38px}.card{padding:26px}}@media(max-width:680px){header{padding:20px}.brand{font-size:17px}.header-note{font-size:12px}main{display:block;padding:24px 16px}aside{margin-bottom:26px}h1{font-size:28px;line-height:1.4;margin-bottom:10px}h1 br{display:none}.eyebrow,.intro,.source{display:none}.bank{border:0;margin-top:0;padding:0;display:flex;gap:12px;align-items:center}.bank strong{font-size:22px}.bank p{font-size:12px}.card{padding:23px 20px;border-radius:14px}h2{font-size:21px}.option{font-size:16px;padding:13px 12px;gap:12px}.explanation{padding:17px}header .brand span{margin-left:8px}}
.modes{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.modes button{font:inherit;font-size:16px;padding:11px 18px;border:1px solid #b6ccbe;border-radius:8px;background:white;color:#28513c;cursor:pointer}.modes button[aria-pressed="true"]{background:#1d6545;border-color:#1d6545;color:white}.modes button:focus-visible{outline:3px solid #ce9b20;outline-offset:3px}.review-note,.storage-note{font-size:14px;line-height:1.8;color:#5b7164;margin:8px 0}.storage-note{margin-bottom:23px}.question-meta{flex-wrap:wrap}#mistake-count{margin-left:auto;font-size:14px}
.round-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0 14px}.round-summary>div{background:#e5eee8;border-radius:9px;padding:15px 12px}.round-summary span{display:block;font-size:14px;color:#557361;margin-bottom:7px}.round-summary strong{font-size:23px}.round-rule{font-size:15px;line-height:1.8;color:#244e38}.result{font-size:18px;line-height:1.9;padding:23px;background:#eef4f0;border-radius:10px}.result.retry{background:#fff3dd;color:#755112}.result.passed{background:#e9f5ed;color:#25653f}[hidden]{display:none!important}@media(max-width:680px){.round-summary{grid-template-columns:repeat(2,1fr)}.card-footer{flex-wrap:wrap}.next{max-width:100%}}
.login-box{max-width:460px;margin:60px auto;padding:32px;background:white;border:1px solid #dce5df;border-radius:16px}.login-box h1{font-size:30px}.login-box p{line-height:1.8}.login-box label{display:block;margin:20px 0}.login-box input{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #afc4b7;border-radius:7px;font:inherit}.header-links{display:flex;gap:18px;align-items:center;font-size:14px}.header-links a{color:#276044}.header-links button{font:inherit;padding:6px 12px;background:white;border:1px solid #afc4b7;border-radius:6px}#login-error{color:#aa3427}@media(max-width:680px){.login-box{margin:25px 16px}.header-links{gap:10px}}
