diff --git a/frontend/src/views/auth/LoginView.vue b/frontend/src/views/auth/LoginView.vue index d57c80fb..4f876e03 100644 --- a/frontend/src/views/auth/LoginView.vue +++ b/frontend/src/views/auth/LoginView.vue @@ -2,10 +2,18 @@ @@ -464,15 +487,26 @@ function handle2FACancel(): void { color: var(--text-0); } .brand { - display: flex; + display: inline-flex; align-items: center; - gap: 8px; + gap: 10px; font-weight: 700; - font-size: 18px; + font-size: 15px; + letter-spacing: -0.01em; + color: var(--text-0); + text-decoration: none; } -.brand .hex { +.brand svg { color: var(--cyan); - font-size: 24px; + flex-shrink: 0; +} + +.n-kicker { + font-family: var(--font-mono); + font-size: 12px; + letter-spacing: 0.1em; + color: var(--cyan); + margin-bottom: 0; } .auth-narrative-headline { @@ -482,7 +516,7 @@ function handle2FACancel(): void { letter-spacing: -0.03em; margin-bottom: 24px; } -.auth-narrative-headline .num-5 { color: var(--amber); } +.auth-narrative-headline .num-n { color: var(--amber); } .auth-narrative-headline .num-1 { color: var(--cyan); } .auth-narrative-sub { font-size: 15px; @@ -495,9 +529,71 @@ function handle2FACancel(): void { font-size: 12px; color: var(--text-3); } + +/* Route demo panel */ +.route-demo { + font-family: var(--font-mono); + font-size: 12px; + background: rgba(2, 6, 23, 0.6); + border: 1px solid var(--border); + border-radius: var(--r-md, 8px); + padding: 18px 22px; + max-width: 440px; +} +.route-demo .row { + display: flex; + gap: 20px; + padding: 4px 0; + align-items: center; +} +.route-demo .k { color: var(--text-3); min-width: 70px; } +.route-demo .v { color: var(--text-0); } +.route-demo .pill-inline { + padding: 2px 8px; + border-radius: 4px; + background: rgba(34, 211, 238, 0.08); + border: 1px solid rgba(34, 211, 238, 0.25); + color: var(--cyan); +} +.route-demo .pill-inline.amber { + background: rgba(251, 191, 36, 0.08); + border-color: rgba(251, 191, 36, 0.25); + color: var(--amber); +} +.route-demo .dot-g { + width: 6px; + height: 6px; + border-radius: 50%; + background: var(--green); + display: inline-block; + margin-right: 6px; + box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.15); +} + +/* Bottom status bar */ .auth-narrative-foot { font-size: 12px; color: var(--text-3); font-family: var(--font-mono); } +.n-bottom { + display: flex; + gap: 14px; + align-items: center; + flex-wrap: wrap; +} +.n-bottom .sep { color: var(--border-2, rgba(255,255,255,0.12)); } +.n-bottom .live { + color: var(--green, #34d399); + display: inline-flex; + align-items: center; + gap: 6px; +} +.n-bottom .live .dot { + width: 5px; + height: 5px; + border-radius: 50%; + background: var(--green, #34d399); + box-shadow: 0 0 6px var(--green, #34d399); +}