:root{--bg:#ffffff;--fg:#030303;--muted:#808080;--line:#eeeeee;--accent:#0000ff;--accent-fg:#ffffff;--bad:#ff3300;--logo-filter:none;color-scheme:light}body{margin:0;background:var(--bg);color:var(--fg);font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,ヒラギノ角ゴシック,Noto Sans JP,sans-serif;font-weight:400;font-size:14.5px;line-height:1.7;letter-spacing:.02em}.login{max-width:340px;margin:0 auto;padding:72px max(16px,env(safe-area-inset-right)) 32px max(16px,env(safe-area-inset-left));display:grid;grid-gap:20px;gap:20px}.login .logo{height:24px;width:auto;filter:var(--logo-filter)}.login form{display:grid;grid-gap:8px;gap:8px}.login label{font-size:13px;color:var(--muted)}.login input{font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--fg)}.login button{font:inherit;font-weight:600;padding:11px;border:0;border-radius:999px;background:var(--accent);color:var(--accent-fg);cursor:pointer;letter-spacing:.04em}.login button:disabled{opacity:.6}.login .error{color:var(--bad);margin:0}.login .brand-line{margin:0;display:flex;align-items:flex-end;gap:10px}.login .tag{font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.16em;line-height:1;margin-bottom:6px}