:root { --bg: #f3f6f7; --ink: #15212c; --muted: #5a6977; --line: #9fb0bc; --field: #fff; --accent: #0d6a6e; --on-accent: #fff; --bad: #b3261e; --bad-soft: #f9e1df; color-scheme: light dark; }
@media (prefers-color-scheme: dark) { :root { --bg: #0e1418; --ink: #e4ecf0; --muted: #98a7b3; --line: #4a5a66; --field: #151e24; --accent: #52b5b8; --on-accent: #0e1418; --bad: #f08a80; --bad-soft: #3a1714; } }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; min-height: 100dvh; display: grid; place-items: center; background: var(--bg); color: var(--ink); font: 15px/1.5 "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif; }
main { width: 100%; padding: 24px; display: grid; place-items: center; }
form { width: 100%; max-width: 420px; display: grid; }
.eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .2em; color: var(--muted); }
h1 { margin: 14px 0 52px; font-size: 34px; line-height: 1.2; font-weight: 800; letter-spacing: -0.02em; }
label { font-size: 13px; font-weight: 600; color: var(--muted); margin-bottom: 8px; }
.pw { position: relative; }
input { width: 100%; height: 56px; font: inherit; font-size: 16px; color: inherit; padding: 0 52px 0 16px; border: 1px solid var(--line); border-radius: 2px; background: var(--field); }
input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.eye { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; display: grid; place-items: center; border: 0; background: none; color: var(--muted); cursor: pointer; border-radius: 4px; }
.eye[aria-pressed="true"] { color: var(--accent); }
.go { height: 56px; margin-top: 28px; font: inherit; font-size: 16px; font-weight: 700; border: 0; border-radius: 2px; background: var(--accent); color: var(--on-accent); cursor: pointer; }
.go:hover { filter: brightness(1.08); }
.eye:focus-visible, .go:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.err { margin: -32px 0 24px; padding: 10px 12px; border-radius: 2px; background: var(--bad-soft); color: var(--bad); font-size: 14px; }
