:root{font-family:Tahoma,"Noto Sans Thai",Arial,sans-serif;color:#183a42;background:#f2f6f6;font-synthesis:none;--teal:#126c6b;--ink:#123c44;--muted:#597279;--border:#d6e3e4}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.52}a{color:inherit}button:focus-visible,input:focus-visible,a:focus-visible,label:has(input:focus-visible){outline:3px solid #df9d2c;outline-offset:4px}.topbar{min-height:85px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 5vw;background:#fff}.topbar a{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:bold}.monogram{background:var(--ink);color:#fff;border-radius:13px;padding:13px 11px;font:700 18px Arial}.topbar small{display:block;font-weight:normal;font-size:12px;color:var(--muted);margin-top:5px}.term{font-size:13px;color:var(--muted)}#network{font-size:12px;background:#eef6f1;color:#31624d;border-radius:30px;padding:9px 13px}.offline#network{background:#fff0d8;color:#815316}main{max-width:1080px;margin:38px auto;padding:0 24px;min-height:70vh}.loading{padding:80px;text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font:700 12px Arial;color:var(--teal);margin:0 0 13px}h1{font-size:clamp(28px,4vw,39px);line-height:1.25;letter-spacing:-.7px;margin:0 0 15px}h2{font-size:23px;line-height:1.4;margin:0 0 18px}h3{font-size:16px;margin:0 0 10px}p{line-height:1.75;margin:12px 0;color:var(--muted)}.hero{display:grid;grid-template-columns:1fr 1.03fr;gap:40px;align-items:start}.intro{padding:26px 5px 10px 0}.badge{display:inline-block;border:1px solid var(--border);padding:7px 11px;border-radius:6px;color:var(--muted);font-size:12px}.stats{display:flex;gap:20px;margin:29px 0;padding:22px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.stat{flex:1}.stat b{font:700 30px Arial;display:block;color:var(--ink)}.stat span{font-size:12px;color:var(--muted);line-height:1.8}.rules{padding-left:21px;color:var(--muted);font-size:14px;line-height:1.8}.rules li{margin:10px 0}.card{background:#fff;border:1px solid var(--border);border-radius:21px;padding:29px;box-shadow:0 12px 35px #123c4407}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label.field{display:block;margin:18px 0 0;font-size:14px}.field input{display:block;width:100%;background:#f9fbfb;border:1px solid #bbcfd1;border-radius:9px;padding:13px;margin-top:9px;color:var(--ink)}.check{display:flex;gap:10px;margin:20px 0;font-size:13px;line-height:1.7;color:var(--muted);align-items:start}.check input{margin-top:5px;min-width:18px;height:18px;accent-color:var(--teal)}.primary,.secondary{border-radius:10px;padding:14px 24px;font-weight:bold;font-size:15px;border:1px solid transparent;min-height:50px}.primary{background:var(--teal);color:white}.primary:hover:not(:disabled){background:#0c5655}.secondary{background:white;border-color:#adc6c9;color:var(--ink)}.full{width:100%}.muted{color:var(--muted);font-size:13px}.small{font-size:12px}.error{background:#fff1ed;color:#973923;border:1px solid #f1c8bb;padding:13px 15px;border-radius:10px;font-size:14px;line-height:1.7;margin:15px 0}.notice{background:#eef5f6;border-left:3px solid var(--teal);padding:13px 16px;margin:17px 0;font-size:13px;line-height:1.8;color:#43636a}.examhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px;gap:20px}.examhead h1{font-size:23px;margin:5px 0}.examhead .eyebrow{margin:0}.identity{font-size:12px;color:var(--muted)}.timer{background:var(--ink);color:white;border-radius:14px;padding:11px 20px;min-width:111px;text-align:center}.timer b{font:700 31px Arial;display:block;font-variant-numeric:tabular-nums}.timer span{font-size:10px;letter-spacing:1.1px}.timer.urgent{background:#a8482a}.progress{height:5px;background:#dce9e9;border-radius:5px;margin:20px 0 24px;overflow:hidden}.progress span{display:block;height:100%;background:var(--teal)}.examcard{padding:30px 34px 46px;min-height:310px}.question-meta{font:700 11px Arial;letter-spacing:1px;text-transform:uppercase;color:var(--teal);margin:0 0 15px}.question{font:600 clamp(20px,2.2vw,24px)/1.6 Arial,sans-serif;color:#18343c;white-space:pre-wrap}.options{border:0;padding:0;margin:23px 0 0;display:grid;gap:12px;min-width:0}.option{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid #c9dadd;border-radius:12px;background:#ffffffb8;min-height:63px;cursor:pointer;font:17px/1.6 Arial,sans-serif;color:#203e45}.option input{position:absolute;opacity:0;pointer-events:none}.letter{display:flex;align-items:center;justify-content:center;width:33px;height:33px;min-width:33px;border:1px solid #c5d6d8;background:#f4f8f8;border-radius:8px;font-weight:700;color:#43656b}.option:has(input:checked){border:2px solid var(--teal);padding:15px 17px;background:#edf7f4}.option:has(input:checked) .letter{background:var(--teal);color:#fff;border-color:var(--teal)}.examcontrols{display:flex;justify-content:space-between;align-items:center;gap:22px;margin:21px 0}.hint{font-size:13px;color:var(--muted);line-height:1.7}.utility{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:27px}.utility label{display:flex;align-items:center;gap:7px}.utility input{accent-color:var(--teal)}.compact{max-width:760px;margin:0 auto}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.summary-grid div{padding:16px;background:#f2f7f7;border-radius:10px}.summary-grid small{color:var(--muted);display:block;margin-bottom:8px}.summary-grid b{display:block;overflow-wrap:anywhere}.receipt-score{font:700 70px/1.2 Arial;color:var(--ink);margin:23px 0}.receipt-score small{font-size:25px;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.ok-mark{background:#dff0e8;color:#235d43;border-radius:30px;display:inline-block;padding:8px 14px;font-size:13px}.receipt-id{overflow-wrap:anywhere;font:11px/1.8 monospace;color:var(--muted);background:#f4f7f7;padding:12px}.receipt-image{width:100%;height:auto;border:1px solid var(--border);margin-top:15px;border-radius:10px}.receipt-help{margin-top:20px;border-top:1px solid var(--border);padding-top:15px}.readability .question{font-size:25px}.readability .option{font-size:20px}.readability .mmju-aocr-overlay{opacity:.035!important;background-image:none!important}.readability .mmju-aocr-trace{color:#325761;background:#fff}footer{text-align:center;padding:24px;color:var(--muted);font-size:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 20px;background:#163d45;color:white;border-radius:12px;font-size:13px;max-width:90%;display:none;z-index:50}.storage-alert{position:sticky;top:0;z-index:60;background:#fff0d8;color:#6f4315;padding:12px;text-align:center;font-size:13px}.hide{display:none!important}@media(max-width:700px){.hero{grid-template-columns:1fr;gap:22px}.intro{padding:0}.term{display:none}.topbar{padding:12px 19px;gap:10px}.topbar small{font-size:10px}main{padding:0 16px;margin:24px auto}.card{padding:23px 19px;border-radius:16px}.stats{margin:22px 0}.examcard{padding:23px 19px 46px}.examhead h1{font-size:19px}.timer{padding:9px 13px;min-width:90px}.timer b{font-size:29px}.question{font-size:20px}.option{font-size:16px;padding:13px 12px;gap:10px}.option:has(input:checked){padding:12px 11px}.examcontrols{align-items:stretch;flex-direction:column;gap:12px}.examcontrols .primary{width:100%}.hint{font-size:12px}.formgrid{grid-template-columns:1fr;gap:0}.summary-grid{gap:10px}.receipt-score{font-size:60px}.utility{gap:12px}.mmju-secure-zone{--aocr-opacity:calc(var(--aocr-base-opacity,.116)*.75)!important}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media(prefers-contrast:more){.mmju-secure-zone{--aocr-opacity:.035!important}.option{color:#102d34;border-color:#40666f}.hint,.muted,p{color:#34525a}}@media print{.topbar,footer{display:none}}

.testbanner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff3d8;border-color:#bd861e;color:#654710}.testbanner span{flex:1}.testbanner .secondary{min-height:42px;padding:10px 15px}
