*{box-sizing:border-box}
html{max-width:100%;font-family:Pretendard,"Noto Sans KR",system-ui,sans-serif;background:var(--color-bg);color:var(--color-text);color-scheme:light;overflow-x:hidden}
body{max-width:100%;margin:0;min-width:320px;overflow-x:hidden;line-height:1.55}
button,input,select,textarea{font:inherit}
button,input,select{min-height:44px}
button,a,input,select,textarea{outline-offset:3px}
button{cursor:pointer}
button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.58}
:focus-visible{outline:3px solid var(--focus-ring)}
::selection{background:var(--color-primary-soft);color:var(--color-text)}
[hidden]{display:none!important}
.muted{color:var(--color-text-muted)}
.eyebrow{margin:0;color:var(--color-primary);font-size:.72rem;font-weight:800;letter-spacing:.04em;line-height:1.3;text-transform:none}
.login-view{min-height:100dvh;display:grid;place-items:center;padding:clamp(20px,5vw,48px);background:var(--color-bg)}
.login-card{position:relative;width:min(100%,420px);padding:clamp(24px,5vw,40px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised)}
.login-card::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--color-primary);border-radius:var(--radius-lg) var(--radius-lg) 0 0}
.login-logo{display:block;width:min(100%,220px);height:48px;object-fit:cover;object-position:center}
.login-card h1{margin:var(--space-3) 0 var(--space-2);word-break:keep-all;line-height:1.25}
.login-card form{display:grid;gap:var(--space-3);margin-top:var(--space-6)}
.login-card label{font-weight:700}
.login-card input{width:100%;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}
.login-card input:focus{border-color:var(--color-primary)}
