body { min-block-size: 100svh; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr auto; }
.deco { position: fixed; inset: 0; z-index: -1; background: radial-gradient(36rem 24rem at 80% 0%, color-mix(in oklab, var(--accent) 22%, transparent), transparent 70%), radial-gradient(28rem 20rem at 0% 100%, color-mix(in oklab, oklch(70% .15 350) 16%, transparent), transparent 70%); }
.l-top { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); inline-size: 100%; max-inline-size: 74rem; margin-inline: auto; padding: var(--space-2) var(--gutter); min-block-size: 3.5rem; }
.l-main { display: grid; place-items: center; padding: var(--space-5) var(--gutter); }
.card { inline-size: 100%; max-inline-size: 26rem; padding: clamp(1.5rem, 5vw, 2.25rem); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow); display: grid; gap: var(--space-4); }
.card .mark { inline-size: 3.5rem; block-size: 3.5rem; }
.card h1 { font-size: 1.6rem; line-height: 1.15; }
.card .sub { color: var(--muted); margin-block-start: var(--space-2); }
.field { display: grid; gap: var(--space-1); }
.field label { font-weight: 600; }
.field input { inline-size: 100%; min-block-size: 3rem; padding: 0 var(--space-4); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); background: var(--bg); color: var(--text); font: inherit; }
.field input:focus-visible { outline: 2px solid var(--focus); outline-offset: 1px; border-color: var(--focus); }
.pw { position: relative; display: grid; }
.pw input { padding-inline-end: 4.5rem; }
.pw button { position: absolute; inset-block: 0; inset-inline-end: 0; min-inline-size: 2.75rem; padding-inline: var(--space-3); border: 0; background: none; color: var(--link); font: inherit; font-size: .9rem; cursor: pointer; border-radius: var(--radius-sm); }
.err { min-block-size: 1.4rem; margin: 0; color: var(--danger); font-size: .9rem; }
.card .btn { inline-size: 100%; }
.login-hint { margin: 0; min-block-size: 2.7em; text-align: center; font-size: .875rem; color: var(--muted); }
.login-hint a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.login-hint a:hover { color: var(--text); }
