Download static/login.css from ThePolar/vbb: direct link, hf CLI and curl.
- Browser
- Download file 5.87 kB
-
https://huggingface.co/spaces/ThePolar/vbb/resolve/main/static/login.css
- Command line
-
hf download hf://spaces/ThePolar/vbb/static/login.css
-
curl -L -o login.css https://huggingface.co/spaces/ThePolar/vbb/resolve/main/static/login.css
5.87 kB
| /* RESET / BASE */ | |
| *, | |
| *::before, | |
| *::after { | |
| box-sizing: border-box; | |
| } | |
| html, body { | |
| margin: 0; | |
| padding: 0; | |
| } | |
| body { | |
| font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; | |
| color: #111; | |
| background-color: #050505; | |
| } | |
| /* LAYOUT SHELL */ | |
| .page-shell { | |
| min-height: 100vh; | |
| display: grid; | |
| grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); | |
| background: radial-gradient(circle at top left, #1c1c1c 0, #050505 50%, #000 100%); | |
| color: #fff; | |
| } | |
| /* BRAND SIDE */ | |
| .brand-side { | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| padding: 40px; | |
| } | |
| .brand-inner { | |
| max-width: 420px; | |
| } | |
| .brand-mark { | |
| width: 52px; | |
| height: 52px; | |
| border-radius: 50%; | |
| border: 1px solid #fff; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| font-weight: 600; | |
| font-size: 18px; | |
| margin-bottom: 16px; | |
| } | |
| .brand-title { | |
| font-size: 32px; | |
| letter-spacing: 0.06em; | |
| text-transform: uppercase; | |
| margin-bottom: 10px; | |
| } | |
| .brand-subtitle { | |
| color: #c4c4c4; | |
| font-size: 15px; | |
| max-width: 280px; | |
| } | |
| /* AUTH SIDE */ | |
| .auth-side { | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| padding: 24px; | |
| } | |
| .auth-card { | |
| width: 100%; | |
| max-width: 420px; | |
| background: #ffffff; | |
| color: #111; | |
| border-radius: 24px; | |
| padding: 28px 26px 26px; | |
| box-shadow: | |
| 0 26px 60px rgba(0, 0, 0, 0.5), | |
| 0 0 0 1px rgba(0, 0, 0, 0.08); | |
| } | |
| .auth-header { | |
| margin-bottom: 20px; | |
| } | |
| .auth-title { | |
| font-size: 24px; | |
| margin: 0 0 4px; | |
| } | |
| .auth-caption { | |
| margin: 0; | |
| font-size: 14px; | |
| color: #555; | |
| } | |
| /* ALERT */ | |
| .alert { | |
| margin-bottom: 18px; | |
| padding: 10px 12px; | |
| border-radius: 10px; | |
| background: #fdf2f2; | |
| color: #b91c1c; | |
| border: 1px solid #fecaca; | |
| font-size: 13px; | |
| } | |
| /* ROLE TABS */ | |
| .role-tabs { | |
| position: relative; | |
| display: grid; | |
| grid-template-columns: repeat(3, 1fr); | |
| border-radius: 999px; | |
| padding: 3px; | |
| background: #f3f3f3; | |
| margin-bottom: 22px; | |
| } | |
| .role-input { | |
| display: none; | |
| } | |
| .role-tab { | |
| position: relative; | |
| z-index: 1; | |
| cursor: pointer; | |
| text-align: center; | |
| padding: 8px 0; | |
| font-size: 13px; | |
| text-transform: uppercase; | |
| letter-spacing: 0.08em; | |
| color: #555; | |
| user-select: none; | |
| transition: color 0.2s ease-out; | |
| } | |
| .role-label { | |
| display: inline-block; | |
| } | |
| .role-active-indicator { | |
| position: absolute; | |
| top: 3px; | |
| bottom: 3px; | |
| width: calc(33.333% - 4px); | |
| border-radius: 999px; | |
| background: #111; | |
| transition: transform 0.25s ease-out; | |
| } | |
| /* TAB LOGIC */ | |
| #tab-student:checked ~ .role-tab[for="tab-student"], | |
| #tab-teacher:checked ~ .role-tab[for="tab-teacher"], | |
| #tab-admin:checked ~ .role-tab[for="tab-admin"] { | |
| color: #fff; | |
| } | |
| #tab-student:checked ~ .role-active-indicator { | |
| transform: translateX(0%); | |
| } | |
| #tab-teacher:checked ~ .role-active-indicator { | |
| transform: translateX(100%); | |
| } | |
| #tab-admin:checked ~ .role-active-indicator { | |
| transform: translateX(200%); | |
| } | |
| /* FORM FIELDS */ | |
| .auth-form { | |
| display: flex; | |
| flex-direction: column; | |
| } | |
| .field-group { | |
| margin-bottom: 16px; | |
| } | |
| .field-label { | |
| display: block; | |
| font-size: 13px; | |
| font-weight: 500; | |
| margin-bottom: 6px; | |
| color: #333; | |
| } | |
| .field-input { | |
| width: 100%; | |
| border-radius: 12px; | |
| border: 1px solid #d4d4d4; | |
| padding: 11px 13px; | |
| font-size: 15px; | |
| background: #f9fafb; | |
| transition: border-color 0.18s ease-out, box-shadow 0.18s ease-out, background 0.18s ease-out; | |
| } | |
| .field-input:focus { | |
| outline: none; | |
| border-color: #111; | |
| background: #fff; | |
| box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08); | |
| } | |
| .field-row { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| margin-bottom: 18px; | |
| gap: 12px; | |
| } | |
| .checkbox { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 6px; | |
| font-size: 13px; | |
| color: #444; | |
| cursor: pointer; | |
| } | |
| .checkbox input { | |
| width: 14px; | |
| height: 14px; | |
| } | |
| /* BUTTON */ | |
| .btn-primary { | |
| border: none; | |
| border-radius: 999px; | |
| padding: 11px 16px; | |
| background: #111; | |
| color: #fff; | |
| font-weight: 600; | |
| font-size: 15px; | |
| cursor: pointer; | |
| width: 100%; | |
| margin-bottom: 12px; | |
| display: inline-flex; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 6px; | |
| transition: background 0.18s ease-out, transform 0.1s ease-out, box-shadow 0.18s ease-out; | |
| } | |
| .btn-primary:hover { | |
| background: #222; | |
| transform: translateY(-1px); | |
| box-shadow: 0 14px 30px rgba(0, 0, 0, 0.4); | |
| } | |
| .btn-primary:active { | |
| transform: translateY(0); | |
| box-shadow: none; | |
| } | |
| /* LINKS / TEXT */ | |
| .link-muted { | |
| font-size: 13px; | |
| color: #666; | |
| text-decoration: none; | |
| border-bottom: 1px solid transparent; | |
| padding-bottom: 1px; | |
| transition: color 0.15s ease-out, border-color 0.15s ease-out; | |
| } | |
| .link-muted:hover { | |
| color: #111; | |
| border-color: #111; | |
| } | |
| .legal-text { | |
| font-size: 11px; | |
| color: #777; | |
| margin: 0; | |
| text-align: center; | |
| } | |
| /* RESPONSIVE */ | |
| @media (max-width: 900px) { | |
| .page-shell { | |
| grid-template-columns: 1fr; | |
| padding: 16px; | |
| } | |
| .brand-side { | |
| display: none; | |
| } | |
| .auth-side { | |
| padding: 0; | |
| } | |
| .auth-card { | |
| max-width: 480px; | |
| margin: 0 auto; | |
| } | |
| } | |
| @media (max-width: 480px) { | |
| .auth-card { | |
| border-radius: 18px; | |
| padding: 22px 18px 18px; | |
| } | |
| .auth-title { | |
| font-size: 21px; | |
| } | |
| } | |