:root{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif;color:#1b2d40;background:#f3f6fa;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;padding-bottom:env(safe-area-inset-bottom)}button,select{font:inherit}button{touch-action:manipulation}button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ffb44c;outline-offset:2px}.masthead{background:#17395b;color:white;padding:22px max(16px,calc((100vw - 900px)/2))}.head-inner{max-width:900px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.masthead h1{font-size:22px;margin:0 0 5px}.masthead p{font-size:13px;color:#d7e3ef;margin:0}.connect{font-size:12px;color:#e9f1fb;border:1px solid #718da8;padding:7px 10px;border-radius:99px}.connect.good{background:#e9f9ef;border-color:#e9f9ef;color:#0a6347}.connect.warn{background:#fff1dd;border-color:#fff1dd;color:#71470e}.wrap{max-width:900px;margin:24px auto;padding:0 16px}.panel,.utility{background:#fff;border:1px solid #dde6ef;border-radius:16px;padding:24px;box-shadow:0 5px 22px #14395b0a}.toolbar{display:flex;gap:14px;flex-wrap:wrap}.field{flex:1 1 280px}.field.narrow{flex:0 1 145px}.field label{font-size:14px;font-weight:700;display:block;margin-bottom:6px}.field select{width:100%;font-size:16px;color:#1d3249;background:white;border:1px solid #aab9c8;padding:12px;border-radius:9px}.stats{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 12px}.stats span{background:#edf3f9;border-radius:8px;padding:8px 12px;font-size:14px}.stats strong{color:#125b9a;font-size:17px}.progress{height:9px;overflow:hidden;border-radius:20px;background:#e5ecf4}.fill{height:100%;background:#2378bd;width:0;transition:width .2s}.meta{margin:20px 0 13px;display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#627184}.question{font-weight:700;font-size:19px;line-height:1.8;margin:0 0 18px;white-space:pre-wrap}.option{display:flex;width:100%;align-items:flex-start;gap:12px;text-align:left;line-height:1.7;color:#20364d;background:#fff;padding:15px;border:1.5px solid #d5e0eb;border-radius:12px;margin-bottom:10px;cursor:pointer;min-height:56px;-webkit-tap-highlight-color:transparent}.option .letter{border:1px solid #99aabd;border-radius:50%;display:grid;place-items:center;flex:none;width:28px;height:28px;font-weight:700}.option.selected{border-color:#1473b6;background:#eaf5ff}.option.selected .letter{background:#1473b6;border-color:#1473b6;color:#fff}.option.correct{border-color:#10835b;background:#ecfaf2}.option.correct .letter{background:#10835b;border-color:#10835b;color:#fff}.option.incorrect{border-color:#bc444d;background:#fff0f0}.option.incorrect .letter{background:#bc444d;border-color:#bc444d;color:#fff}.option:disabled{cursor:default;opacity:1}.result{margin-top:18px;padding:14px 17px;background:#eaf8f0;border-left:4px solid #14835c;border-radius:8px;line-height:1.75}.result.bad{background:#fff2f2;border-color:#b9444c}.result strong{font-size:17px}.hidden{display:none}.actions{display:flex;justify-content:space-between;gap:10px;margin-top:21px}.btn{background:white;border:1px solid #b8c8d7;border-radius:10px;color:#17395b;padding:12px 16px;cursor:pointer;font-weight:650;min-height:47px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn.primary{background:#175f9f;border-color:#175f9f;color:white;flex:1;max-width:230px}.btn:disabled{opacity:.4;cursor:default}.utility{margin-top:14px;padding:0}.utility summary{cursor:pointer;padding:17px 22px;font-weight:700;color:#274764}.detail-body{padding:0 22px 20px;font-size:14px;line-height:1.65}.tool-buttons{display:flex;gap:9px;flex-wrap:wrap}.btn.small{font-size:14px;min-height:40px;padding:8px 12px}.btn.danger{color:#9a2d35}.help,.foot{font-size:12px;color:#607083;line-height:1.75}.foot{margin:18px 3px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.masthead{padding:19px 16px}.masthead h1{font-size:20px}.wrap{padding:0 10px;margin:12px auto}.panel{padding:16px 13px}.field.narrow{flex:1 1 125px}.question{font-size:17px}.option{padding:12px}.actions .btn{flex:1;padding:12px 7px}.btn.primary{max-width:none}.meta{margin-top:17px}}

.offline-setup{padding:18px;background:#edf4fb;border:1px solid #c7dbe9;border-radius:14px;margin-bottom:14px}.offline-setup p{line-height:1.65}.offline-setup .btn{margin:8px 0}
