        body {
            margin: 0;
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: 'Red Hat Display', system-ui, sans-serif;
            position: relative;
        }
        .auth-bg {
            position: fixed;
            inset: 0;
            z-index: 0;
            pointer-events: none;
            background:
                radial-gradient(680px 520px at 8% -6%,   rgba(83,16,135,var(--blob-a)),  transparent 60%),
                radial-gradient(760px 560px at 102% 4%,  rgba(255,51,204,var(--blob-b)), transparent 58%),
                radial-gradient(640px 640px at 52% 116%, rgba(23,4,111,var(--blob-a)),   transparent 60%);
        }
        .auth-wrap {
            position: relative;
            z-index: 1;
            width: 100%;
            max-width: 400px;
            padding: 16px;
        }
        .auth-card {
            padding: 40px 36px;
        }
        .auth-logo {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 32px;
        }
        .auth-logo-text {
            font-size: 18px;
            font-weight: 700;
            color: var(--text);
            line-height: 1.2;
        }
        .auth-logo-sub {
            font-size: 11px;
            color: var(--text-muted);
        }
        .auth-title {
            font-size: 22px;
            font-weight: 700;
            color: var(--text);
            margin-bottom: 4px;
        }
        .auth-sub {
            font-size: 13px;
            color: var(--text-muted);
            margin-bottom: 28px;
        }
        .btn-choice {
            display: flex;
            align-items: center;
            gap: 14px;
            width: 100%;
            box-sizing: border-box;
            padding: 14px 16px;
            background: var(--glass);
            border: 1px solid var(--glass-brd);
            border-radius: var(--radius-sm);
            color: var(--text);
            text-decoration: none;
            font-size: 14px;
            font-weight: 500;
            font-family: inherit;
            margin-bottom: 10px;
            cursor: pointer;
            box-shadow: var(--shadow), var(--gloss);
            transition: filter .15s, border-color .15s;
        }
        .btn-choice:hover { filter: brightness(1.06); border-color: var(--primary); }
        .btn-choice:last-child { margin-bottom: 0; }
        .btn-choice-icon {
            width: 36px;
            height: 36px;
            border-radius: var(--radius-sm);
            background: var(--grad-ui);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            color: var(--logo-fg);
            font-size: 15px;
            box-shadow: var(--gloss);
        }
        .btn-choice-text { display: flex; flex-direction: column; gap: 2px; }
        .btn-choice-label { font-size: 14px; font-weight: 600; color: var(--text); }
        .btn-choice-hint  { font-size: 11px; color: var(--text-muted); }
        /* Theme toggle */
        .auth-theme-toggle {
            position: fixed;
            top: 14px;
            right: 16px;
            z-index: 10;
            background: var(--glass);
            border: 1px solid var(--glass-brd);
            border-radius: var(--radius-pill);
            padding: 6px 10px;
            font-size: 14px;
            cursor: pointer;
            color: var(--text-muted);
            box-shadow: var(--shadow);
            transition: color .15s;
        }
        .auth-theme-toggle:hover { color: var(--text); }
