
        .dl-web {
            --bg-900: var(--web-bg);
            --bg-800: var(--web-bg);
            --panel: rgba(9, 23, 38, 0.82);
            --panel-border: rgba(99, 102, 241, 0.2);
            --surface: rgba(18, 18, 28, 0.78);
            --surface-hover: rgba(28, 28, 46, 0.92);
            --text: var(--web-text);
            --text-dim: var(--web-muted);
            --text-muted: #9ca6b6;
            --accent: var(--web-accent);
            --accent-2: var(--web-accent);
            --accent-glow: rgba(99, 102, 241, 0.25);
            --danger: #ff6b6b;
            --success: #22c55e;
            --font-body: 'Manrope', sans-serif;
            --font-head: 'Space Grotesk', sans-serif;
            --radius-xl: 24px;
            --radius-lg: 16px;
            --radius-md: 12px;
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        html,
        body.dl-web {
            min-height: 100%;
        }

        body.dl-web {
            font-family: inherit;
            min-height: 100vh;background: var(--web-surface);
            color: var(--text);
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 28px;
            overflow-x: hidden;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        body::before {
            content: "";
            position: fixed;
            inset: 0;
            pointer-events: none;
            opacity: 0.14;background: var(--web-surface);
            background-size: 38px 38px;
            mask-image: radial-gradient(circle at center, black 36%, transparent 100%);
        }

        .aurora {
            position: fixed;
            width: 520px;
            height: 520px;
            border-radius: 50%;
            filter: blur(90px);
            pointer-events: none;
            z-index: 0;
            
        }

        .aurora-a {
            top: -180px;
            right: -130px;
            background: rgba(124, 58, 237, 0.22);
        }

        .aurora-b {
            bottom: -180px;
            left: -120px;
            background: rgba(6, 182, 212, 0.16);
            animation-delay: -8s;
        }

        @keyframes drift {
            0%, 100% { transform: translate(0, 0) scale(1); }
            50% { transform: translate(26px, -20px) scale(1.06); }
        }

        .shell {
            position: relative;
            z-index: 2;
            width: min(1100px, 100%);
            display: grid;
            grid-template-columns: minmax(320px, 1.02fr) minmax(360px, 1fr);
            gap: 0;
            align-items: stretch;
            margin-top: 18px;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: var(--radius-xl);
            background: rgba(10, 10, 11, 0.58);
            
            overflow: hidden;
            
        }

        @keyframes rise {
            from {
                opacity: 0;
                transform: translateY(14px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .login-intro,
        .auth {
            min-width: 0;
        }

        .login-intro p,
        .auth-subtitle,
        .alert,
        .hint,
        .policy {
            overflow-wrap: anywhere;
        }

        .login-intro {
            padding: 46px;
            border-right: 1px solid rgba(255, 255, 255, 0.06);background: var(--web-surface);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            gap: 28px;
        }

        .brand {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            text-decoration: none;
            color: var(--text);
            font-family: inherit;
            font-weight: 700;
            letter-spacing: 0.02em;
            width: fit-content;
        }

        .brand img {
            width: 34px;
            height: 34px;
            border-radius: 10px;
            
        }

        .tag {
            width: fit-content;
            border: 1px solid rgba(99, 102, 241, 0.32);
            background: rgba(99, 102, 241, 0.1);
            color: var(--web-accent);
            border-radius: 999px;
            font-size: 0.73rem;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            padding: 7px 12px;
            margin-bottom: 14px;
        }

        .login-intro h1 {
            font-family: inherit;
            font-size: clamp(1.9rem, 2.4vw, 2.4rem) !important;
            line-height: 1.2 !important;
            font-weight: 700 !important;
            overflow-wrap: break-word;
            margin-bottom: 14px;
        }

        .login-intro p {
            color: var(--text-dim);
            line-height: 1.62;
            max-width: 46ch;
        }

        .hero-list {
            margin-top: 24px;
            display: grid;
            gap: 10px;
        }

        .hero-item {
            display: flex;
            align-items: center;
            gap: 9px;
            color: var(--text-dim);
            font-size: 0.92rem;
        }

        .dot {
            width: 8px;
            height: 8px;
            border-radius: 999px;background: var(--web-surface);
            
        }

        .hero-footer {
            color: var(--text-muted);
            font-size: 0.84rem;
        }

        .hero-footer a {
            color: var(--web-accent);
            text-decoration: none;
            font-weight: 700;
        }

        .hero-footer a:hover {
            text-decoration: underline;
        }

        .auth {
            width: 100%;
            padding: 40px;background: var(--web-surface);
        }

        .back-link {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: var(--text-muted);
            text-decoration: none;
            font-size: 0.84rem;
            font-weight: 700;
            margin-bottom: 20px;
        }

        .back-link:hover {
            color: var(--text-dim);
        }

        .auth h2 {
            font-family: inherit;
            font-size: 1.54rem;
            margin-bottom: 6px;
        }

        .auth-subtitle {
            color: var(--text-dim);
            margin-bottom: 18px;
            font-size: 0.94rem;
        }

        .auth-subtitle a {
            color: var(--web-accent);
            text-decoration: none;
            font-weight: 700;
        }

        .auth-subtitle a:hover {
            text-decoration: underline;
        }

        .alert {
            display: none;
            border-radius: var(--radius-md);
            padding: 11px 12px;
            font-size: 0.88rem;
            line-height: 1.35;
            margin-bottom: 14px;
        }

        .alert.is-visible {
            display: block;
        }

        .alert.error {
            border: 1px solid rgba(255, 107, 107, 0.38);
            background: rgba(255, 107, 107, 0.15);
            color: #ffd0d0;
        }

        .alert.success {
            border: 1px solid rgba(61, 220, 151, 0.35);
            background: rgba(61, 220, 151, 0.16);
            color: #bbf7d0;
        }

        .field {
            margin-bottom: 12px;
        }

        .field label {
            display: block;
            color: var(--text-dim);
            font-size: 0.8rem;
            letter-spacing: 0.02em;
            margin-bottom: 6px;
            font-weight: 700;
        }

        .input-wrap {
            position: relative;
        }

        .field input {
            width: 100%;
            border: 1px solid var(--panel-border);
            border-radius: var(--radius-md);
            background: var(--surface);
            color: var(--text);
            padding: 12px 44px 12px 12px;
            font: inherit;
            font-size: 0.95rem;
            outline: none;
            transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
        }

        .field input:focus {
            border-color: rgba(99, 102, 241, 0.65);
            
            background: var(--surface-hover);
        }

        .field input::placeholder {
            color: var(--text-muted);
        }

        .pass-toggle {
            position: absolute;
            right: 10px;
            top: 50%;
            transform: translateY(-50%);
            border: none;
            background: none;
            color: var(--text-muted);
            width: 28px;
            height: 28px;
            border-radius: 8px;
            cursor: pointer;
        }

        .pass-toggle:hover {
            color: var(--text-dim);
            background: rgba(255, 255, 255, 0.08);
        }

        .pass-toggle .hide {
            display: none;
        }

        .pass-toggle.active .show {
            display: none;
        }

        .pass-toggle.active .hide {
            display: block;
        }

        .is-hidden {
            display: none;
        }

        .hint {
            color: var(--text-muted);
            font-size: 0.78rem;
            margin-top: 4px;
        }

        .btn {
            width: 100%;
            border: none;
            border-radius: var(--radius-md);
            font: inherit;
            font-weight: 800;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
        }

        .btn:disabled {
            cursor: not-allowed;
            opacity: 0.66;
            transform: none;
            
        }

        .btn-primary {
            margin-top: 8px;
            padding: 12px;background: var(--web-surface);
            color: var(--web-text);
            
        }

        .btn-primary:hover:not(:disabled) {
            transform: translateY(-1px);
            
        }

        .btn-secondary {
            margin-top: 9px;
            padding: 11px;
            border: 1px solid rgba(99, 102, 241, 0.3);
            background: rgba(22, 22, 34, 0.58);
            color: var(--web-accent);
        }

        .btn-secondary:hover:not(:disabled) {
            background: rgba(30, 30, 44, 0.72);
            transform: translateY(-1px);
        }

        .spinner {
            width: 18px;
            height: 18px;
            
        }

        @keyframes spin {
            to { transform: rotate(360deg); }
        }

        .separator {
            display: flex;
            align-items: center;
            gap: 10px;
            margin: 16px 0 12px;
            color: var(--text-muted);
            font-size: 0.79rem;
        }

        .separator::before,
        .separator::after {
            content: "";
            flex: 1;
            height: 1px;
            background: rgba(255, 255, 255, 0.08);
        }

        .social-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px;
        }

        .social-btn {
            min-height: 44px;
            border-radius: var(--radius-md);
            border: 1px solid rgba(99, 102, 241, 0.24);
            background: rgba(22, 22, 34, 0.58);
            color: var(--text);
            text-decoration: none;
            font-size: 0.88rem;
            font-weight: 700;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease;
        }

        .social-btn:hover {
            transform: translateY(-1px);
            border-color: rgba(167, 180, 255, 0.55);
            background: rgba(30, 30, 44, 0.72);
        }

        .social-btn svg {
            width: 18px;
            height: 18px;
            flex-shrink: 0;
        }

        .policy {
            margin-top: 16px;
            color: var(--text-muted);
            font-size: 0.78rem;
            line-height: 1.45;
        }

        .policy a {
            color: var(--web-accent);
            text-decoration: none;
            font-weight: 700;
        }

        .policy a:hover {
            text-decoration: underline;
        }

        @media (max-width: 980px) {
            .shell {
                grid-template-columns: 1fr;
                gap: 0;
                margin-top: 12px;
            }

            .login-intro,
            .auth {
                padding: 30px;
            }

            .login-intro {
                border-right: none;
                border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            }
        }

        @media (max-width: 620px) {
            body.dl-web {
                padding: 12px;
            }

            .login-intro,
            .auth {
                padding: 22px;
            }

            .social-grid {
                grid-template-columns: 1fr;
            }
        }
    
