:root{--color-primary:#2b6eff;--color-primary-dark:#1f56d6;--color-primary-light:#5a8dff;--color-text:#222;--color-text-secondary:#444;--color-text-tertiary:#666;--color-border:#ddd;--color-border-light:#eee;--color-error:#d32f2f;--color-overlay:rgba(0,0,0,0.2);--color-overlay-dark:rgba(0,0,0,0.5);--color-overlay-focus:rgba(43,110,255,0.15);--color-shadow:rgba(0,0,0,0.15);--spacing-xs:5px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:18px;--spacing-xl:30px;--spacing-2xl:70px;--border-radius-sm:4px;--border-radius-md:10px;--border-radius-lg:12px;--border-radius-xl:16px;--transition-fast:0.2s;--transition-base:0.3s;--transition-slow:0.35s;--z-overlay:1098;--z-menu:1100;--z-hamburger:1101}ul{padding:0;margin:0;list-style:none}.hamburger{position:fixed;top:var(--spacing-xl);right:var(--spacing-xl);width:30px;height:30px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--spacing-xs);cursor:pointer;z-index:var(--z-hamburger);background:none;border:none;padding:0}.hamburger span{width:100%;height:4px;background:var(--color-text);border-radius:var(--border-radius-sm);transition:transform var(--transition-base),opacity var(--transition-base)}.hamburger.open span:first-child{transform:rotate(45deg) translate(6px,6px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.menu{position:fixed;top:0;right:0;width:220px;height:100vh;background:#fff;transform:translateX(100%);transition:transform var(--transition-base);z-index:var(--z-menu);padding-top:var(--spacing-2xl);box-sizing:border-box}.menu.open{transform:translateX(0)}.menu li{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border-light);cursor:pointer;font-size:1.2em;transition:background-color var(--transition-base)}.menu li:hover{background-color:#f5f5f5}.overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:var(--color-overlay);z-index:var(--z-overlay);display:none;transition:opacity var(--transition-base)}.overlay.active{display:block}.about-panel,.contest-panel,.legal-panel,.terms-panel{position:fixed;top:0;right:0;width:100%;height:100vh;background:#fff;padding:7% 8%;z-index:var(--z-menu);box-sizing:border-box;transform:translateX(100%);transition:transform var(--transition-base) ease-in-out;overflow-y:auto}.about-panel.active,.contest-panel.active,.legal-panel.active,.login-panel.active,.terms-panel.active{transform:translateX(0)}.login-title{font-size:1.8rem;margin-bottom:1.5rem;color:var(--color-text)}.login-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.5);backdrop-filter:blur(8px);z-index:9999;justify-content:center;animation:fadeIn .3s ease;overflow:hidden}.login-card,.login-overlay{display:flex;align-items:center}.login-card{background:#ffffff;padding:3rem 2.5rem;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.3);width:100%;max-width:420px;animation:slideUp .4s ease;flex-direction:column}.login-title{font-size:2rem;font-weight:600;margin-bottom:2rem;text-align:center;color:#1a1a1a}.user-email{font-size:1rem;color:#666;margin-bottom:1.5rem;text-align:center}.login-form{width:100%;display:flex;flex-direction:column;align-items:center}.login-btn:hover:not(:disabled){background:linear-gradient(135deg,#357abd,#2868a8);transform:translateY(-2px);box-shadow:0 6px 20px rgba(74,144,226,.4)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.logout-btn{width:100%;padding:1rem;font-size:1.05rem;font-weight:600;background:transparent;color:#e74c3c;border:2px solid #e74c3c;border-radius:12px;cursor:pointer;transition:all .3s ease}.logout-btn:hover:not(:disabled){background:#e74c3c;color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px rgba(231,76,60,.3)}.logout-btn:active:not(:disabled){transform:translateY(0)}.logout-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.profil-btn{width:100%;padding:1rem;margin-bottom:1rem;font-size:1.05rem;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease}.profil-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.4);background:linear-gradient(135deg,#764ba2,#667eea)}.profil-btn:active:not(:disabled){transform:translateY(0)}.profil-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-group{display:flex;flex-direction:column;margin-bottom:var(--spacing-md) * 1}.form-group label{font-size:.9rem;font-weight:500;margin-bottom:.4rem;color:var(--color-text-secondary)}.form-group input{padding:.8rem 1rem;border:1px solid var(--color-border);border-radius:var(--border-radius-md);font-size:1rem;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);border-radius:20px}.form-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-overlay-focus)}.error{color:var(--color-error);font-size:.9rem;margin:.6rem 0}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}