:root { color-scheme: light; font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif; color: #273b32; background: #f5f6ef; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-content: center; padding: 32px 22px; }
main { width: min(440px, calc(100vw - 44px)); }
.brand { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; font-size: 26px; font-weight: 650; letter-spacing: 4px; margin-bottom: 64px; }
.brand span { border-radius: 12px; background: #3d5b4b; color: #f7f7ed; padding: 8px 12px; font-family: serif; letter-spacing: 0; }
.eyebrow { font-size: 10px; letter-spacing: 2.5px; color: #7a877a; }
h1 { font-family: "Songti SC", "Noto Serif SC", serif; font-weight: 500; font-size: 36px; line-height: 1.55; margin: 18px 0; }
.intro, .hint, footer { font-size: 13px; color: #768174; line-height: 1.9; }
form { margin-top: 32px; padding: 25px; border: 1px solid #e0e5d8; background: #fffefa; border-radius: 16px; }
label { display: block; font-size: 13px; margin-bottom: 12px; }
input { width: 100%; padding: 13px; font: inherit; font-size: 14px; border-radius: 7px; border: 1px solid #dbe1d5; background: #fbfcf7; }
input:focus { outline: 2px solid #8fa183; outline-offset: 2px; }
button { width: 100%; background: #3d5b4b; color: white; padding: 14px; border: 0; border-radius: 7px; font: inherit; cursor: pointer; }
.error { font-size: 12px; color: #a54830; min-height: 15px; }
.hint { text-align: center; font-size: 11px; margin: 18px 0; }
footer { text-align: center; margin-top: 48px; font-size: 11px; }
@media(max-width: 480px) { .brand { margin-bottom: 36px; } h1 { font-size: 30px; } }
