:root{color-scheme:light;font-family:"Songti TC","Noto Serif TC","PMingLiU",serif;color:#173d31;background:#f9fbf8}
*{box-sizing:border-box}
body{min-height:100vh;margin:0;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 10% 12%,#eaf2ea 0,transparent 28%),radial-gradient(circle at 90% 85%,#edf4ee 0,transparent 30%),#fbfcfa}
.login-card{width:min(100%,520px);padding:48px;border:1px solid #d8e6d9;border-radius:20px;background:#fff;box-shadow:0 20px 80px rgba(17,58,42,.06)}
.brand{display:flex;align-items:center;gap:13px;font-size:20px;font-weight:700;line-height:1.1}.brand small{display:block;margin-top:7px;font-size:10px;letter-spacing:.22em;font-weight:500}.mark{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#174837;color:#fff;font-size:17px}
.eyebrow{margin:52px 0 14px;font-size:11px;letter-spacing:.2em;font-weight:700}h1{font-size:clamp(34px,7vw,48px);font-weight:600;line-height:1.35;letter-spacing:.02em;margin:0}.intro{font-size:16px;line-height:1.95;color:#46685b;margin:24px 0 30px}
label{display:block;font-size:15px;font-weight:700;margin-bottom:10px}input{display:block;width:100%;padding:14px 16px;border:1px solid #b5cfbf;border-radius:9px;background:#fff;color:#173d31;font:inherit;font-size:17px}input:focus{outline:3px solid #b7d9c3;outline-offset:2px}
button{display:block;width:100%;border:0;border-radius:9px;margin-top:18px;padding:15px;background:#174837;color:#fff;font:inherit;font-size:16px;font-weight:700;cursor:pointer}button:hover{background:#0d3527}.error{margin:12px 0 0;color:#a03030;font-size:14px}.note{margin:28px 0 0;font-size:13px;line-height:1.7;color:#6c8277}
@media(max-width:560px){body{padding:16px}.login-card{padding:32px 24px}.eyebrow{margin-top:42px}}
