:root,[data-theme=dark]{--color-background: #1a1d23;--color-surface: #232830;--color-surface-light: #2a3040;--color-card-border: #3a4050;--color-accent: #4b6bfb;--color-accent-light: #6b8bff;--color-accent-hover: #3a57d9;--color-green: #6bcb77;--color-green-dark: #4a9b57;--color-red: #ff6b6b;--color-red-dark: #cc4444;--color-yellow: #ffd93d;--color-orange: #ff9f43;--color-cyan: #4ecdc4;--color-text-primary: #ffffff;--color-text-secondary: #b0b8c8;--color-text-tertiary: #6b7280;--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--transition: .2s ease;--sidebar-width: 260px;--sidebar-collapsed-width: 72px}[data-theme=light]{--color-background: #f5f6fa;--color-surface: #ffffff;--color-surface-light: #eef0f4;--color-card-border: #d8dce6;--color-accent: #4b6bfb;--color-accent-light: #3a57d9;--color-accent-hover: #3a57d9;--color-green: #4caf50;--color-green-dark: #388e3c;--color-red: #e53935;--color-red-dark: #c62828;--color-yellow: #f9a825;--color-orange: #ef6c00;--color-cyan: #00897b;--color-text-primary: #1a1d23;--color-text-secondary: #4a5568;--color-text-tertiary: #9ca3af}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--color-background);color:var(--color-text-primary);transition:background-color var(--transition),color var(--transition)}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-light)}img{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}ul,ol{list-style:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.headline-large{font-size:28px;font-weight:700;color:var(--color-text-primary);line-height:1.2}.headline-medium{font-size:22px;font-weight:700;color:var(--color-text-primary);line-height:1.3}.headline-small{font-size:18px;font-weight:600;color:var(--color-text-primary);line-height:1.4}.body-large{font-size:16px;font-weight:400;color:var(--color-text-primary);line-height:1.5}.body-medium{font-size:14px;font-weight:400;color:var(--color-text-secondary);line-height:1.5}.body-small{font-size:12px;font-weight:400;color:var(--color-text-tertiary);line-height:1.5}.label-large{font-size:16px;font-weight:600;color:var(--color-text-primary);line-height:1.4}.text-button{font-size:16px;font-weight:700;letter-spacing:.5px}.card{background-color:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius);padding:20px;transition:background-color var(--transition),border-color var(--transition)}.card:hover{border-color:var(--color-accent)}.input-field{width:100%;height:48px;padding:0 16px;background-color:var(--color-surface-light);border:1px solid transparent;border-radius:var(--radius);color:var(--color-text-primary);font-size:14px;transition:border-color var(--transition),background-color var(--transition)}.input-field:focus{border-color:var(--color-accent);outline:none}.input-field::placeholder{color:var(--color-text-tertiary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;border-radius:var(--radius);font-size:16px;font-weight:700;letter-spacing:.5px;cursor:pointer;border:none;transition:background-color var(--transition),opacity var(--transition);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-accent-hover)}.btn-secondary{background-color:var(--color-surface-light);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-card-border)}.btn-danger{background-color:var(--color-red);color:#fff}.btn-danger:hover:not(:disabled){background-color:var(--color-red-dark)}.btn-full{width:100%}.btn-sm{height:36px;padding:0 16px;font-size:14px}@font-face{font-family:GC Milano;src:url(/fonts/gc-milano.woff2) format("woff2"),url(/fonts/gc-milano.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}.auth-header h1,.join-header h1{font-family:GC Milano,serif;font-size:40px;font-feature-settings:"liga" 1}.auth-header .bragi,.join-header .bragi{font-size:48px}.auth-header .flash,.join-header .flash{animation:flash-glow-dark 4s ease-in-out infinite}@keyframes flash-glow-dark{0%,to{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 15px rgba(212,175,55,.45),0 0 36px rgba(212,175,55,.2)}}[data-theme=light] .auth-header .flash,[data-theme=light] .join-header .flash{animation:flash-glow-light 4s ease-in-out infinite}@keyframes flash-glow-light{0%,to{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 15px rgba(255,13,1,.45),0 0 36px rgba(255,13,1,.2)}}.auth-wrapper{display:flex;flex-direction:column;align-items:center;width:100%}.mascot{width:340px;max-width:80vw;height:auto;margin-bottom:-50px;position:relative;z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none}@media (max-width: 768px){.mascot{width:280px;margin-bottom:-40px}}@media (max-width: 400px){.mascot{width:220px;margin-bottom:-30px}}@media (max-height: 750px){.mascot{width:200px;margin-bottom:-30px}}@media (max-height: 550px){.mascot{display:none}}
