:root{--ink:#10273e;--muted:#637082;--teal:#11665b;--teal-hover:#0c5148;--border:#cbd4de;--sage:#edf5ef;--focus:#11665b;--radius:6px;--font:-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif}
*{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}
button,a,input,select,summary{ -webkit-tap-highlight-color:transparent }
.site-header{max-width:1180px;margin:0 auto;padding:18px 0 12px;border-bottom:1px solid #6f8090;display:flex;align-items:center;justify-content:space-between;gap:20px}
.wordmark{color:var(--ink);font-size:28px;font-weight:750;letter-spacing:-.8px;text-decoration:none;line-height:1.3}
.header-caption{font-size:16px;font-weight:650}
.page-layout{max-width:1180px;margin:28px auto 48px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:36px;align-items:start}
.intro{margin-bottom:32px}
h1{font-size:32px;line-height:1.35;letter-spacing:.3px;margin:0 0 8px;font-weight:750}
.intro p{font-size:17px;color:var(--muted);margin:0}
.form-section+.form-section{margin-top:32px}
.form-section h2{font-size:20px;font-weight:700;line-height:1.4;display:flex;gap:16px;margin:0 0 18px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.section-number{font-variant-numeric:tabular-nums;letter-spacing:.6px}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
.field{display:flex;flex-direction:column;min-width:0}
.field>label,.choice-field legend{font-size:14px;font-weight:600;margin-bottom:6px;line-height:1.5}
.required{font-size:12px;color:var(--teal)}
.optional{font-weight:400;color:var(--muted)}
input:not([type=radio]):not([type=checkbox]),select{width:100%;min-width:0;min-height:44px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);color:var(--ink);font-size:14px;padding:10px 12px;line-height:1.4;transition:border-color .15s,box-shadow .15s}
input::placeholder{color:#83909e;opacity:1}
select:has(option:checked[value=""]){color:#83909e}
input:focus-visible,select:focus-visible{outline:0;border-color:var(--focus);box-shadow:0 0 0 3px #11665b20}
input[readonly]{background:#f5f7f8;color:var(--muted)}
input[type=checkbox],input[type=radio]{width:18px;height:18px;flex:0 0 18px;accent-color:var(--teal);margin:0;cursor:pointer}
input:user-invalid,select:user-invalid{border-color:#b73f3f}
.full-width{grid-column:1/-1}
.help-text{font-size:13px;color:var(--muted);margin:10px 0 0}
.choice-field{border:0;padding:0;margin:0;min-width:0}
.choice-field legend{padding:0}
.choices{display:flex;flex-wrap:wrap;gap:14px 26px;min-height:28px;align-items:center}
.choices label,.check-label{display:flex;gap:10px;align-items:center;font-size:14px;font-weight:400;cursor:pointer}
.phone-field{max-width:70%}
.address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;margin-top:20px}
.receipt-same{margin-top:8px;margin-bottom:0!important;font-weight:400!important}
.recruitment{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center}
.acknowledgment{align-items:flex-start;line-height:1.65}
.acknowledgment input{margin-top:3px}
.form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--border);padding-top:16px;margin-top:20px}
.form-footer p{font-size:12px;color:var(--muted);margin:0;max-width:360px}
.button{border:1px solid transparent;border-radius:var(--radius);min-height:44px;padding:10px 22px;font-size:14px;font-weight:650;cursor:pointer;line-height:1.5;white-space:nowrap;transition:background .15s}
.primary{background:var(--teal);color:white;min-width:180px}
.primary:hover{background:var(--teal-hover)}
.secondary{background:#fff;border-color:var(--border);color:var(--ink)}
.secondary:hover{background:#f4f6f7}
:is(button,a,summary):focus-visible{outline:3px solid #11665b60;outline-offset:4px}
.exam-summary{position:sticky;top:24px;background:var(--sage);padding:26px 26px 18px;border-radius:var(--radius)}
.exam-summary h2{font-size:20px;line-height:1.4;margin:0 0 26px}
.exam-summary h3{font-size:18px;line-height:1.6;margin:0 0 20px;font-weight:700}
dl{margin:0}
.summary-list{display:grid;gap:14px}
.summary-list>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;font-size:14px}
.exam-access{margin:24px 0;padding:20px 0;border-block:1px solid var(--border)}
.exam-access h3,.exam-access h4{font-size:18px;margin:0 0 10px}
.exam-access p{margin:8px 0;font-size:14px}
.exam-access ol{padding-left:24px;margin:16px 0 0}
.exam-access li+li{margin-top:20px}
.exam-access strong,.exam-access a{display:block}
.exam-access a{color:var(--teal);text-underline-offset:3px;margin-top:6px;overflow-wrap:anywhere}
.exam-login-details{margin-top:14px}
dt{color:var(--ink)}
dd{margin:0;overflow-wrap:anywhere}
.fee{margin:24px 0;padding:20px 0 24px;border-block:1px solid #b9d0c5}
.fee strong{display:block;color:var(--teal);font-size:28px;line-height:1.3;font-weight:700;letter-spacing:.3px}
.fee p{font-size:13px;color:var(--muted);margin:8px 0 0}
dialog{color:var(--ink);background:white;border:0;border-radius:12px;padding:28px;width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 48px);box-shadow:0 16px 70px #10273e30}
dialog::backdrop{background:#10273e80}
.review-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}
.review-header h2{font-size:24px;margin:0 0 8px}
.review-header p{font-size:14px;color:var(--muted);margin:0}
.close-button{display:grid;place-items:center;border:0;background:#f3f6f5;border-radius:6px;width:36px;height:36px;flex-shrink:0;cursor:pointer}
.close-button svg{width:18px;height:18px;fill:none;stroke:var(--ink);stroke-width:1.7}
.review-section{margin-bottom:24px}
.review-section h3{font-size:16px;margin:0 0 12px;border-bottom:1px solid var(--border);padding-bottom:8px}
.review-section dl{display:grid;gap:8px}
.review-section dl>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;font-size:14px}
.review-section dt{color:var(--muted)}
.review-footer{border-top:1px solid var(--border);padding-top:20px;display:flex;justify-content:flex-end;gap:12px}
@media(max-width:1276px){.site-header,.page-layout{margin-left:48px;margin-right:48px}.page-layout{grid-template-columns:minmax(0,1fr) 280px;gap:32px}.exam-summary{padding:24px}.summary-list>div{grid-template-columns:82px minmax(0,1fr);gap:10px}}
@media(max-width:850px){.site-header,.page-layout{margin-left:24px;margin-right:24px}.page-layout{grid-template-columns:1fr;gap:24px;margin-top:24px}.form-column{display:contents}.intro{grid-row:1;margin-bottom:0}.exam-summary{position:static;grid-row:2}form{grid-row:3}.exam-summary h2{margin-bottom:12px}.exam-summary h3{margin-bottom:16px}.exam-summary .summary-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}.fee{margin:16px 0;padding:16px 0}.fee strong{font-size:25px}.form-section+.form-section{margin-top:30px}.form-footer p{max-width:300px}}
@media(max-width:520px){.site-header{padding-top:16px}.wordmark{font-size:25px}.header-caption{font-size:12px}.site-header,.page-layout{margin-left:20px;margin-right:20px}h1{font-size:26px}.intro p{font-size:14px}.field-grid,.address-grid{grid-template-columns:1fr;gap:18px}.phone-field{max-width:none}.exam-summary{padding:20px}.exam-summary .summary-list{grid-template-columns:1fr}.exam-summary h3{font-size:17px}.exam-summary h2{font-size:18px}.form-section h2{font-size:18px}.form-footer{flex-direction:column;align-items:stretch;gap:14px}.form-footer p{max-width:none}.button{min-height:46px}.recruitment{display:block}.recruitment .choices{margin-top:8px}dialog{padding:20px}.review-section dl>div{grid-template-columns:110px minmax(0,1fr);gap:12px}.review-footer{flex-direction:column}.review-footer .button{width:100%}.review-header h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media print{body:has(dialog[open])>*:not(dialog){display:none}dialog[open]{display:block;position:static;width:100%;max-height:none;overflow:visible;margin:0;padding:0;border:0;box-shadow:none}.review-footer,.close-button{display:none}.review-section{break-inside:avoid}body{font-size:12px}}

[hidden] { display: none !important; }
.bot-field { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-message { color: #b42318; padding: 0 1.5rem 1.5rem; }
.button:disabled { opacity: .55; cursor: wait; }
#application-reference, #session-code { overflow-wrap: anywhere; }
.review-footer { flex-wrap: wrap; }
.header-link{color:var(--ink);text-decoration:none}
.header-link:hover{text-decoration:underline}
.lookup-page{display:block;max-width:900px}
.lookup-page .intro{margin-bottom:30px}
#lookup-message{margin:24px 0;color:var(--muted)}
#lookup-results{margin-top:36px}
#lookup-results>h2{font-size:20px;margin:0 0 18px}
.lookup-card{background:var(--sage);padding:26px;border-radius:var(--radius);margin-top:18px}
.lookup-card h3{font-size:20px;margin:0 0 6px}
.lookup-state{color:var(--teal);font-weight:600;margin:0 0 20px}
.lookup-details{display:grid;gap:12px}
.lookup-details>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px}
.lookup-details dt{color:var(--muted)}
.lookup-code{padding-top:14px;border-top:1px solid #b9d0c5}
.lookup-code dd{font-weight:700;font-variant-numeric:tabular-nums}
@media(max-width:520px){.lookup-card{padding:20px}.lookup-card h3{font-size:18px}.lookup-details>div{grid-template-columns:82px minmax(0,1fr);gap:10px}}
