:root {
    font-family: system-ui, "Microsoft YaHei", sans-serif;
    color: #162437;
    background: #edf2f8;
    color-scheme: light;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; padding: 24px; }
main {
    width: min(100%, 420px);
    padding: clamp(22px, 6vw, 40px);
    border: 1px solid #cdd8e6;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 45px #1532591a;
}
h1 { margin: 8px 0 18px; font-size: 1.75rem; }
p { color: #415670; line-height: 1.6; }
.brand { color: #134577; font-size: .875rem; font-weight: 700; margin: 0; }
form { display: grid; gap: 8px; margin-top: 18px; }
label { font-size: .9rem; font-weight: 600; }
input, button { min-height: 44px; border-radius: 8px; font: inherit; }
input { min-width: 0; padding: 8px 12px; border: 1px solid #9aacc1; }
button { margin-top: 5px; border: 1px solid #154a85; color: #fff; background: #154a85; cursor: pointer; }
button.secondary { background: #fff; color: #154a85; }
a { color: #154a85; }
nav { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 24px; font-size: .9rem; }
.notice { border-left: 3px solid #1e5b91; padding-left: 12px; }
:focus-visible { outline: 2px solid #1670b8; outline-offset: 3px; }
