diff --git a/main.py b/main.py index b41d035f..ac33fae6 100644 --- a/main.py +++ b/main.py @@ -1041,7 +1041,11 @@ class AuthMiddleware(BaseHTTPMiddleware): return await call_next(request) # Allow login page static assets - if path == "/login.html" or path == "/login-style.css": + if ( + path == "/login.html" + or path == "/login-style.css" + or path.startswith("/icons/") + ): return await call_next(request) # WebSocket upgrade for /ws/live — allow (browser WS, read-only) diff --git a/static/login.html b/static/login.html index c39e9ade..5369830a 100644 --- a/static/login.html +++ b/static/login.html @@ -11,26 +11,23 @@ flex-direction: column; align-items: center; justify-content: center; - background: #0a0a0a; - background-image: - radial-gradient(ellipse at 50% 35%, rgba(30, 20, 10, 0.9) 0%, transparent 60%), - linear-gradient(180deg, #0a0806 0%, #12100a 50%, #0a0806 100%); + background: #000; font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif; - color: #d4c9a8; + color: #b0aaa0; } .logo-container { - margin-bottom: 28px; + margin-bottom: 24px; } .logo-container img { display: block; - width: 380px; + width: 400px; height: auto; } .quote-container { height: 44px; - margin-bottom: 24px; + margin-bottom: 22px; text-align: center; width: 500px; display: flex; @@ -38,9 +35,9 @@ justify-content: center; } .quote-text { - font-size: 0.8rem; + font-size: 0.78rem; font-style: italic; - color: #8a7a5a; + color: #706858; line-height: 1.4; opacity: 0; transition: opacity 0.8s ease; @@ -48,30 +45,27 @@ .quote-text.visible { opacity: 1; } .quote-attribution { display: block; - font-size: 0.6rem; + font-size: 0.58rem; font-style: normal; - color: #5a4a34; + color: #484034; margin-top: 4px; letter-spacing: 1px; } .login-card { width: 440px; - background: linear-gradient(180deg, #1a1610 0%, #0e0c08 100%); - border: 1px solid #5a4a28; + background: #0c0c0c; + border: 1px solid #2a2520; border-radius: 4px; padding: 24px 28px 20px; - box-shadow: - inset 0 1px 0 rgba(212, 175, 55, 0.08), - 0 8px 32px rgba(0, 0, 0, 0.8), - 0 0 60px rgba(138, 122, 68, 0.06); + box-shadow: 0 8px 40px rgba(0, 0, 0, 0.6); } .login-title { text-align: center; margin-bottom: 20px; font-size: 0.75rem; - color: #8a7a5a; + color: #706050; text-transform: uppercase; letter-spacing: 3px; } @@ -87,7 +81,7 @@ .form-field label { display: block; font-size: 0.7rem; - color: #7a6a4a; + color: #585048; margin-bottom: 5px; text-transform: uppercase; letter-spacing: 1px; @@ -97,19 +91,19 @@ padding: 9px 11px; font-size: 0.9rem; font-family: inherit; - background: #080704; - color: #d4c9a8; - border: 1px solid #3a3018; + background: #060606; + color: #c0b8a8; + border: 1px solid #2a2520; border-radius: 3px; outline: none; transition: border-color 0.2s; } .form-field input:focus { - border-color: #d4af37; - box-shadow: 0 0 6px rgba(212, 175, 55, 0.12); + border-color: #8a7a50; + box-shadow: 0 0 6px rgba(138, 122, 80, 0.15); } .form-field input::placeholder { - color: #3a3220; + color: #2a2520; } .login-btn { @@ -118,9 +112,9 @@ font-family: inherit; font-size: 0.85rem; font-weight: bold; - color: #1a1610; - background: linear-gradient(180deg, #d4af37 0%, #a08520 100%); - border: 1px solid #8a7a44; + color: #0c0c0c; + background: linear-gradient(180deg, #9a8a60 0%, #706040 100%); + border: 1px solid #5a5038; border-radius: 3px; cursor: pointer; text-transform: uppercase; @@ -128,11 +122,11 @@ transition: background 0.2s, box-shadow 0.2s; } .login-btn:hover { - background: linear-gradient(180deg, #e0c050 0%, #b89a30 100%); - box-shadow: 0 2px 8px rgba(212, 175, 55, 0.3); + background: linear-gradient(180deg, #b0a070 0%, #8a7a50 100%); + box-shadow: 0 2px 8px rgba(138, 122, 80, 0.25); } .login-btn:active { - background: linear-gradient(180deg, #a08520 0%, #8a7a44 100%); + background: linear-gradient(180deg, #706040 0%, #5a5038 100%); } .login-error { @@ -140,9 +134,9 @@ padding: 8px; text-align: center; font-size: 0.8rem; - color: #ff6b6b; - background: rgba(255, 50, 50, 0.08); - border: 1px solid rgba(255, 50, 50, 0.2); + color: #cc5555; + background: rgba(200, 50, 50, 0.06); + border: 1px solid rgba(200, 50, 50, 0.15); border-radius: 3px; display: none; } @@ -151,7 +145,7 @@ margin-top: 16px; text-align: center; font-size: 0.6rem; - color: #3a3220; + color: #2a2520; letter-spacing: 1px; }