:root{color:#17342c;font-synthesis:none;background:#f5f7f1;font-family:Noto Sans TC,Microsoft JhengHei,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.shell{max-width:1200px;margin:auto;padding:24px}.topbar{justify-content:space-between;align-items:center;gap:18px;padding:8px 0 34px;display:flex}.brand{letter-spacing:.03em;font-weight:800;text-decoration:none}.brand b{background:#dff0d5;border-radius:12px;place-items:center;width:36px;height:36px;margin-right:10px;display:inline-grid}.nav{flex-wrap:wrap;gap:12px;display:flex}.nav a{border-radius:999px;padding:8px 13px;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{background:#e2eddf}.hero{color:#fff;background:#173e32;border-radius:28px;padding:clamp(28px,5vw,64px);box-shadow:0 22px 48px #143e271d}.eyebrow{letter-spacing:.16em;color:#c8e4bd;font-size:.82rem;font-weight:800}.hero h1{margin:14px 0;font-size:clamp(2rem,4vw,3.4rem);line-height:1.2}.hero p{color:#e2eee5;max-width:700px;line-height:1.8}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0;display:grid}.card,.panel{background:#fff;border:1px solid #dfe7dd;border-radius:22px;padding:24px;box-shadow:0 8px 24px #1636270a}.card h2,.panel h2{margin:0 0 10px}.card p,.muted{color:#587064;line-height:1.7}.card .link,.primary,.secondary{border-radius:12px;justify-content:center;align-items:center;min-height:42px;padding:10px 18px;font-weight:700;text-decoration:none;display:inline-flex}.card .link,.primary{color:#fff;background:#246d4e;border:0}.secondary{color:#174935;background:#eaf1e7;border:0}.notice{color:#6a4b16;background:#fff4d9;border:1px solid #ead8a5;border-radius:14px;margin:20px 0;padding:14px 18px;line-height:1.6}.notice.good{color:#225638;background:#e7f4e6;border-color:#c5dfc1}.footer{color:#698074;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:28px 0;font-size:.85rem;display:flex}.footer-credit{text-align:right;margin-left:auto}.form{gap:14px;max-width:460px;display:grid}.form label{font-weight:700}.form input,.form select,.form textarea{background:#fff;border:1px solid #bfcfc1;border-radius:10px;width:100%;padding:12px}.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid #4b9066}.status{color:#265a45;min-height:22px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:18px 0;display:flex}.workspace{grid-template-columns:minmax(200px,260px) minmax(320px,1fr) minmax(280px,340px);align-items:start;gap:14px;display:grid}.workspace .panel{min-height:420px}.list{gap:8px;display:grid}.list button{text-align:left;background:#f8fbf7;border:1px solid #d6e1d5;border-radius:12px;width:100%;padding:13px}.list button.selected{background:#eaf5e9;border-color:#317953}.small{color:#627b6d;font-size:.82rem}.row{border-bottom:1px solid #e8eee7;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;display:flex}.row:last-child{border-bottom:0}.score-row{grid-template-columns:1fr 85px;align-items:center;gap:8px;margin:12px 0;display:grid}.score-row small{color:#748b7c;display:block}.score-row input{border:1px solid #bfcfc1;border-radius:8px;width:100%;padding:8px}.actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.pdf-frame{border:1px solid #d5e0d4;border-radius:10px;width:100%;height:550px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:630px}th,td{text-align:left;border-bottom:1px solid #e4ebe2;padding:12px}th{background:#f4f8f2}.pill{color:#31644a;background:#e9f3e8;border-radius:999px;padding:4px 10px;font-size:.78rem;display:inline-block}.danger{color:#9b3535}@media (width<=900px){.workspace{grid-template-columns:1fr 1fr}.workspace .panel:first-child{grid-column:1/-1;min-height:0}.cards{grid-template-columns:1fr 1fr}}@media (width<=620px){.shell{padding:16px}.topbar{flex-direction:column;align-items:flex-start}.cards,.workspace{grid-template-columns:1fr}.workspace .panel:first-child{grid-column:auto}}.registration-form{gap:20px;margin-top:22px;display:grid}.registration-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.registration-field{gap:8px;font-weight:700;display:grid}.registration-field input,.registration-field select{background:#fff;border:1px solid #bfcfc1;border-radius:10px;width:100%;min-height:44px;padding:10px 12px}.registration-field input:focus,.registration-field select:focus{outline:2px solid #4b9066}.registration-field input[type=file]{background:#f8fbf7;padding:8px}.registration-field em{color:#a34331;font-size:.75rem;font-style:normal}.registration-field small{color:#688072;font-size:.78rem;font-weight:400}.field-hint{line-height:1.5}.registration-files{gap:18px;max-width:780px;display:grid}.file-field{grid-template-columns:minmax(0,1fr) auto;align-items:end}.file-field .secondary{min-width:190px}@media (width<=720px){.registration-grid,.file-field{grid-template-columns:1fr}.file-field .secondary{width:100%}}.topbar{flex-wrap:wrap}.brand{font-size:1.05rem;line-height:1.45}.registration-field .contact-hint{color:#244e3b;background:#edf5ed;border-left:3px solid #39815d;border-radius:0 8px 8px 0;padding:10px 12px;font-size:.95rem;font-weight:500;line-height:1.65;display:block}.login-instructions{color:#173e32;background:#eaf5e9;border-left:4px solid #246d4e;border-radius:0 12px 12px 0;margin:16px 0;padding:16px 18px;font-size:1.05rem;font-weight:700;line-height:1.7}.registration-progress{color:#174935;background:#edf7ef;border:1px solid #b9d6c2;border-left:5px solid #246d4e;border-radius:12px;flex-basis:100%;padding:14px 18px;line-height:1.6}.registration-progress[hidden]{display:none}.registration-progress strong{font-size:1.05rem;display:block}.registration-progress p{margin:6px 0 0}.registration-grid-spacer{display:block}@media (width<=720px){.registration-grid-spacer{display:none}}.template-file-field{grid-template-columns:1fr}.template-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.template-actions .secondary{min-width:170px}.template-actions small{color:#587064;font-size:.78rem;line-height:1.5}@media (width<=720px){.template-actions{display:grid}.template-actions .secondary{width:100%}}.registration-review-dialog{color:#17342c;background:#fff;border:0;border-radius:22px;width:min(760px,100vw - 32px);max-height:min(88vh,860px);padding:0;box-shadow:0 28px 90px #0d2b2259}.registration-review-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#102c25b8}.registration-review-card{padding:26px}.registration-review-card header{border-bottom:1px solid #dfe8df;padding-bottom:14px}.registration-review-card header .eyebrow{color:#568064}.registration-review-card h2{margin:5px 0 6px;font-size:1.65rem}.registration-review-card header p{color:#587064;margin:0;line-height:1.65}.registration-review-list{margin:14px 0 18px}.registration-review-list>div{border-bottom:1px solid #e5ece4;grid-template-columns:170px minmax(0,1fr);gap:18px;padding:11px 10px;display:grid}.registration-review-list>div.important{background:#edf6ed;border:1px solid #c7dfc8;border-radius:10px;margin:4px 0}.registration-review-list dt{color:#315b49;font-weight:800}.registration-review-list dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.registration-review-confirm{color:#5d4819;background:#fff8dc;border:1px solid #d6c789;border-radius:12px;align-items:flex-start;gap:10px;padding:14px;font-weight:700;line-height:1.55;display:flex}.registration-review-confirm input{accent-color:#246d4e;flex:none;width:19px;height:19px;margin-top:2px}.registration-review-confirm+.registration-review-confirm{margin-top:10px}.registration-review-actions{background:#fff;border-top:1px solid #dfe8df;justify-content:flex-end;gap:10px;margin:20px -26px -26px;padding:16px 26px;display:flex;position:sticky;bottom:0}@media (width<=620px){.registration-review-card{padding:20px 16px}.registration-review-list>div{grid-template-columns:1fr;gap:4px;padding:10px 8px}.registration-review-actions{margin:18px -16px -20px;padding:13px 16px}.registration-review-actions button{flex:1;padding-inline:10px}}body[data-page=staff] .shell{max-width:1600px}body[data-page=staff] .topbar{padding-bottom:12px}.staff-hero{box-shadow:none;border-radius:14px;padding:12px 20px}.staff-hero h1{margin:0;font-size:1.25rem;line-height:1.4}.home-hero{background:#f9e59b;border-radius:28px;overflow:hidden;box-shadow:0 22px 48px #143e271d}.home-hero img{aspect-ratio:8/3;object-fit:cover;object-position:center;width:100%;height:auto;display:block}.pdf-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.pdf-controls button,.quick-scores button{color:#174935;background:#edf5ec;border:1px solid #c4d8c7;border-radius:9px;padding:7px 10px;font-weight:700}.pdf-controls [data-pdf=page]{text-align:center;min-width:80px}.pdf-controls [data-pdf=zoom]{text-align:center;min-width:48px}.pdf-scroll{background:#e7ece7;border:1px solid #d5e0d4;border-radius:10px;height:min(72vh,960px);min-height:520px;padding:12px;overflow:auto}.pdf-scroll canvas{background:#fff;margin:0 auto;display:block;box-shadow:0 2px 12px #153b2b33}.video-frame{aspect-ratio:16/9;background:#142922;border:0;border-radius:10px;width:100%;min-height:270px;display:block}.viewer-download{min-height:34px;padding:6px 11px;font-size:.84rem}.viewer-download-status:empty{display:none}.score-field{border-bottom:1px solid #e5eee6;margin-bottom:12px;padding-bottom:12px}.score-field .score-row{margin:0 0 8px}.quick-scores{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.quick-scores button{min-height:40px;padding:7px 3px}.quick-scores button[aria-pressed=true]{color:#fff;background:#246d4e;border-color:#246d4e}@media (width<=620px){.pdf-scroll{height:68vh;min-height:360px}.video-frame{min-height:200px}}.management{gap:20px;margin-top:20px;display:grid}.management .compact{min-height:34px;padding:6px 10px;font-size:.86rem}.management-filter{flex-wrap:wrap;gap:12px;margin:14px 0;display:flex}.management-filter label{gap:5px;min-width:180px;font-weight:700;display:grid}.management-filter input,.management-filter select{background:#fff;border:1px solid #bfcfc1;border-radius:8px;padding:9px}.management-scroll{max-height:520px;overflow:auto}.management-scroll th{z-index:1;position:sticky;top:0}.management tr[hidden]{display:none}.management td{vertical-align:middle}.registration-hero{background:#f9e59b;border-radius:22px;padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 18px 40px #143e2717}.registration-hero-banner{width:100%;height:auto;display:block}.registration-hero-content{color:#294c3b;background:#e8eed5;grid-template-columns:auto 1fr;align-items:center;column-gap:28px;padding:11px 245px 13px 28px;display:grid;position:relative}.registration-hero .eyebrow{color:#568064;grid-column:1;font-size:11px}.registration-hero h1{letter-spacing:.01em;white-space:nowrap;grid-column:1;margin:3px 0 0;font-size:clamp(27px,3vw,36px);line-height:1.22}.registration-hero p{color:#587266;grid-area:1/2/3;margin:0;font-size:15px;line-height:1.55}.registration-hero-copyright{color:#587266;letter-spacing:.02em;white-space:nowrap;font-size:11px;position:absolute;bottom:16px;right:22px}@media (width<=760px){.registration-hero-content{padding:11px 18px 31px;display:block}.registration-hero h1{white-space:normal;margin:3px 0 4px;font-size:27px}.registration-hero p{font-size:14px}.registration-hero-copyright{font-size:9px;bottom:9px;left:18px;right:auto}}
