[hidden]{display:none!important}
button:disabled{opacity:.65;cursor:not-allowed}button,a,input,textarea,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #009dff;outline-offset:4px}html{scroll-padding-top:90px}.field label,.note-label{display:block;color:#fff;font-weight:600;margin:0 0 7px}.form .field-error{color:#ffd6c9;font-size:13px}.form [aria-invalid=true]{border:2px solid #d83f2c}.form-status{color:#fff;min-height:1.6em;overflow-wrap:anywhere}.form .privacy-note{color:#c8d1db;font-size:13px}.form textarea{resize:vertical;min-height:100px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.event-state{padding:10px 16px;background:#eaf6fc;color:#13243a;text-align:center;font-size:14px}.home-link{display:block;margin:20px 0;color:inherit}.section-title{text-wrap:balance}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}.portal{font-family:"Microsoft JhengHei",system-ui,sans-serif;background:#f2f5fb;color:#13243a;margin:0;line-height:1.7}.portal header{background:#101b2b;color:#fff;padding:30px max(24px,calc((100% - 1080px)/2))}.portal main{max-width:1128px;margin:45px auto;padding:0 24px}.portal h1{line-height:1.25;font-size:clamp(30px,5vw,48px)}.portal .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px}.portal article,.portal .panel{background:#fff;border-radius:16px;padding:26px;box-shadow:0 8px 28px #10233a0b}.portal a{color:#164e82}.portal .button,.portal button{display:inline-block;border:0;background:#c8ff00;color:#13243a;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:700;cursor:pointer;text-decoration:none}.portal label{display:block;margin:20px 0 6px}.portal input,.portal select{box-sizing:border-box;width:100%;padding:12px;font:inherit;border:1px solid #b9c2cd;border-radius:6px}.portal .panel{max-width:600px}.portal button{margin-top:24px}.portal footer{padding:32px 24px;text-align:center;color:#66758a}.portal .date{font-weight:700;color:#166181}.portal .tag{font-size:13px;color:#66758a}.portal .intro{max-width:680px;margin-bottom:32px}.portal .back{color:#fff}.portal #adminStatus{min-height:2em}
