.private-profile-error{background-color:#eab3081a;border:1px solid rgba(234,179,8,.3);border-radius:12px;padding:1.5rem}.ppe-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.ppe-icon{font-size:1.5rem}.ppe-title{margin:0;font-size:1.1rem;font-weight:600;color:#eab308}.ppe-message{margin:0 0 1rem;color:var(--text-secondary);line-height:1.5}.ppe-help{background-color:var(--bg-card);border-radius:8px;padding:1rem;margin-bottom:1rem}.ppe-help-text{margin:0 0 .5rem;font-weight:500;color:var(--text-primary)}.ppe-steps{margin:0;padding-left:1.25rem;color:var(--text-secondary)}.ppe-steps li{margin-bottom:.5rem;line-height:1.5}.ppe-steps li:last-child{margin-bottom:0}.ppe-steps a{color:var(--accent-blue);text-decoration:none}.ppe-steps a:hover{text-decoration:underline}.ppe-steps strong{color:var(--text-primary)}.ppe-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:#eab308;color:#1a1a2e;border:none;border-radius:8px;font-size:.875rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .2s}.ppe-button:hover{background-color:#ca9f06;transform:translateY(-1px)}.ppe-other-user-note{margin:0;padding:.75rem 1rem;background-color:var(--bg-card);border-radius:8px;color:var(--text-secondary);font-size:.875rem;line-height:1.5}.private-profile-error.compact{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px}.private-profile-error.compact .ppe-icon{font-size:1.25rem}.private-profile-error.compact .ppe-text{flex:1;font-size:.875rem;color:var(--text-secondary)}.private-profile-error.compact .ppe-help-link{font-size:.875rem;font-weight:500;color:#eab308;text-decoration:none;white-space:nowrap}.private-profile-error.compact .ppe-help-link:hover{text-decoration:underline}@media(max-width:480px){.private-profile-error{padding:1rem}.ppe-header{gap:.5rem}.ppe-icon{font-size:1.25rem}.ppe-title{font-size:1rem}.ppe-help{padding:.75rem}.ppe-button{width:100%;justify-content:center}.private-profile-error.compact{flex-wrap:wrap}.private-profile-error.compact .ppe-help-link{width:100%;text-align:center;margin-top:.5rem}}.login-button-container{position:relative}.login-loading{color:var(--text-secondary);font-size:.85rem;padding:.5rem 1rem}.steam-login-btn{background:transparent;border:none;padding:0;cursor:pointer;display:flex;align-items:center;transition:opacity .2s}.steam-login-btn:hover{opacity:.85}.steam-login-btn img{height:32px}.login-privacy-notice{margin:.5rem 0 0;font-size:.7rem;color:var(--text-secondary);text-align:center}.privacy-link{background:none;border:none;padding:0;color:var(--accent-blue);font-size:inherit;cursor:pointer;text-decoration:underline}.privacy-link:hover{color:var(--text-primary)}.user-menu-btn{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s}.user-menu-btn:hover{background-color:var(--bg-card);border-color:var(--accent-blue)}.user-avatar{width:28px;height:28px;border-radius:4px}.user-name{color:var(--text-primary);font-size:.9rem;font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{color:var(--text-secondary);font-size:.75rem;margin-left:.25rem}.user-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:220px;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000004d;z-index:100;overflow:hidden}.dropdown-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background-color:var(--bg-secondary)}.dropdown-avatar{width:48px;height:48px;border-radius:6px}.dropdown-user-info{display:flex;flex-direction:column;min-width:0}.dropdown-name{color:var(--text-primary);font-weight:600;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-steamid{color:var(--text-secondary);font-size:.75rem;font-family:monospace}.dropdown-divider{height:1px;background-color:var(--border-color)}.dropdown-item{display:block;width:100%;padding:.75rem 1rem;text-align:left;background:transparent;border:none;color:var(--text-primary);font-size:.9rem;cursor:pointer;text-decoration:none;transition:background-color .2s}.dropdown-item:hover{background-color:var(--bg-secondary)}.logout-btn{color:#ef4444}.logout-btn:hover{background-color:#ef44441a}@media(max-width:768px){.user-name,.dropdown-arrow{display:none}.user-menu-btn{padding:.3rem}.user-avatar{width:32px;height:32px}.user-dropdown{right:-.5rem}}@media(max-width:480px){.user-dropdown{min-width:200px}.dropdown-header{padding:.75rem}.dropdown-avatar{width:40px;height:40px}.dropdown-name{font-size:.9rem}.dropdown-item{padding:.625rem .75rem;font-size:.85rem}}.privacy-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.privacy-modal{position:relative;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;max-width:420px;width:100%;max-height:80vh;overflow-y:auto;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.privacy-modal-close{position:absolute;top:.75rem;right:.75rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;border-radius:6px;transition:all .2s;z-index:1}.privacy-modal-close:hover{background-color:var(--bg-card);color:var(--text-primary)}.privacy-success{padding:2rem;text-align:center}.privacy-success-icon{width:64px;height:64px;margin:0 auto 1rem;background-color:#22c55e26;border:2px solid #22c55e;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#22c55e}.privacy-success h3{margin:0 0 .75rem;font-size:1.25rem;color:var(--text-primary)}.privacy-success p{margin:0;color:var(--text-secondary);line-height:1.5}.dropdown-item:disabled{opacity:.6;cursor:not-allowed}@media(max-width:480px){.privacy-modal{max-width:100%;margin:.5rem}.privacy-success{padding:1.5rem}}.chart-container,.progress-chart{margin-top:2rem;padding:1.5rem;background-color:var(--bg-card);border-radius:12px;border:1px solid var(--border-color)}.chart-container h4,.progress-chart h4{margin:0 0 1rem;color:var(--text-primary);font-size:1.1rem;text-align:center}.chart-container.empty,.progress-chart.empty{text-align:center}.chart-container.empty p,.progress-chart.empty p{color:var(--text-secondary);font-size:.9rem;margin:0}.chart-container svg,.progress-chart svg{width:100%;height:auto;max-height:280px}.grid-line{stroke:var(--border-color);stroke-width:1;stroke-dasharray:4 4}.axis-label{fill:var(--text-secondary);font-size:11px}.chart-line{stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.target-line{stroke-dasharray:8 4}.data-point{stroke-width:2}.chart-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem 2rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-color{width:16px;height:4px;border-radius:2px}.legend-color.step{width:12px;height:12px;border-radius:2px}.legend-label{color:var(--text-secondary);font-size:.85rem}.racing-gauge svg{max-height:350px}.timeline-cards{overflow:visible}.calendar-heatmap svg{max-height:400px}.bubble-chart svg{max-height:300px}@media(max-width:600px){.chart-container,.progress-chart{padding:1rem}.chart-legend{gap:1rem}.legend-label{font-size:.75rem}.chart-container svg,.progress-chart svg{max-height:220px}.racing-gauge svg{max-height:300px}}.share-button-container{position:relative;display:inline-block}.share-button{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.share-button:hover{background:var(--bg-hover);border-color:var(--accent-blue)}.share-button .share-icon{font-size:18px;color:var(--accent-blue)}.share-button-compact{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:18px;cursor:pointer;transition:all .2s ease}.share-button-compact:hover{background:var(--bg-hover);border-color:var(--accent-blue);color:var(--accent-blue)}.share-menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99}.share-menu{position:absolute;top:100%;right:0;margin-top:8px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:8px;min-width:180px;box-shadow:0 10px 40px #0000004d;z-index:100;animation:menuFadeIn .15s ease}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.share-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:transparent;border:none;border-radius:8px;color:var(--text-primary);font-size:14px;cursor:pointer;transition:background .15s ease;text-align:left}.share-menu-item:hover{background:var(--bg-hover)}.share-menu-item svg{font-size:18px;color:var(--text-secondary)}.share-menu-item:hover svg{color:var(--accent-blue)}@media(max-width:480px){.share-menu{position:fixed;top:auto;bottom:0;left:0;right:0;margin:0;border-radius:16px 16px 0 0;padding:16px;min-width:100%}.share-menu-backdrop{background:#00000080}.share-menu-item{padding:16px;font-size:16px}}.challenge-detail{padding:2rem}.detail-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.detail-title{margin:0 0 1rem;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.type-info{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:1rem}.challenge-type-badge.large{padding:.5rem 1rem;font-size:1rem;font-weight:600;border-radius:6px;background-color:var(--accent-blue);color:#fff}.status-badge{padding:.35rem .75rem;font-size:.8rem;font-weight:600;border-radius:4px;text-transform:uppercase}.status-badge.active{background-color:#22c55e33;color:#22c55e}.status-badge.completed{background-color:#9ca3af33;color:#9ca3af}.status-badge.pending{background-color:#f59e0b33;color:#f59e0b}.acceptance-badge{display:inline-block;margin-left:.5rem;font-size:.8rem}.acceptance-badge.accepted{color:#22c55e}.acceptance-badge.pending{color:#f59e0b}.pending-notice{padding:1rem 1.5rem;background-color:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;color:#f59e0b;text-align:center;font-size:.9rem;margin-bottom:1rem}.game-info,.date-info{font-size:.95rem;color:var(--text-secondary);margin-top:.5rem}.game-info strong,.date-info strong{color:var(--text-primary)}.game-name-link{color:var(--text-primary);text-decoration:none;cursor:pointer;transition:color .2s}.game-name-link:hover{color:var(--accent-blue);text-decoration:underline}.detail-players{display:flex;align-items:stretch;gap:1.5rem;margin-bottom:2rem}.detail-players.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.detail-players.versus{display:flex;flex-direction:row}.detail-vs-separator{display:none}.detail-players.versus+.detail-vs-separator{display:flex;justify-content:center;align-items:center;margin:-1.5rem 0 1rem}.detail-vs-separator span{font-size:1.5rem;font-weight:700;color:var(--text-secondary);background-color:var(--bg-primary);padding:.5rem 1rem;border-radius:50%}.player-rank-badge{position:absolute;top:-10px;right:-10px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;color:#fff;border-radius:50%;border:2px solid var(--bg-card)}.reward-display{text-align:center;padding:1.25rem;background:linear-gradient(135deg,#eab30826,#f59e0b1a);border:2px solid rgba(234,179,8,.5);border-radius:12px;margin-bottom:1.5rem}.tie-banner{text-align:center;margin-bottom:1rem}.tie-banner .tie-badge{display:inline-block;padding:.5rem 1.5rem;font-size:1.25rem;font-weight:700;background-color:#9ca3af33;color:#9ca3af;border-radius:6px}.detail-player{flex:1;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;background-color:var(--bg-card);border-radius:12px;border:2px solid var(--border-color);position:relative;transition:all .3s}.detail-player.leading{border-color:#eab308;box-shadow:0 0 20px #eab30826}.detail-player.winner{border-color:#22c55e;box-shadow:0 0 20px #22c55e26}.detail-player img{width:80px;height:80px;border-radius:12px;border:3px solid var(--border-color)}.detail-player.leading img,.detail-player.winner img{border-color:inherit}.detail-player h3{color:var(--text-primary);font-size:1.25rem;margin:0}.detail-player .crown{position:absolute;top:-16px;left:50%;transform:translate(-50%);font-size:1.75rem}.player-progress{width:100%;text-align:center}.progress-label{font-size:.8rem;color:var(--text-secondary);margin-bottom:.5rem}.progress-value-large{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.progress-details{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.last-updated{font-size:.75rem;color:var(--text-secondary);opacity:.7}.progress-bar-large{width:100%;height:12px;background-color:var(--bg-secondary);border-radius:6px;overflow:hidden;margin-top:1rem}.progress-bar-large .progress-fill{height:100%;border-radius:6px;transition:width .5s ease}.progress-bar-large .progress-fill.player1{background:linear-gradient(90deg,#3b82f6,#2563eb)}.progress-bar-large .progress-fill.player2{background:linear-gradient(90deg,#22c55e,#16a34a)}.detail-vs{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:0 .5rem}.detail-vs span{font-size:1.5rem;font-weight:700;color:var(--text-secondary)}.tie-badge{padding:.25rem .5rem;font-size:.75rem;font-weight:600;background-color:#9ca3af33;color:#9ca3af;border-radius:4px}.reward-reveal{width:100%;text-align:center;padding:1.5rem;background:linear-gradient(135deg,#eab30826,#f59e0b1a);border:2px solid rgba(234,179,8,.5);border-radius:12px;margin-top:1rem}.reward-label{font-size:.9rem;font-weight:600;color:#eab308;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.reward-value{font-size:1.25rem;font-weight:600;color:var(--text-primary);word-break:break-word}.error-message{background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:1rem;border-radius:6px;text-align:center;margin-bottom:1rem}.detail-actions{display:flex;justify-content:center;gap:1rem;margin-bottom:1.5rem}.detail-actions button{padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s}.refresh-btn{background-color:var(--accent-blue);border:none;color:#fff}.refresh-btn:hover:not(:disabled){background-color:#1a4a7c}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.complete-btn{background:linear-gradient(135deg,#4c6b22,#5ba32b);border:none;color:#fff}.complete-btn:hover{opacity:.9}.delete-btn{background-color:transparent;border:1px solid rgba(239,68,68,.5);color:#ef4444}.delete-btn:hover{background-color:#ef44441a;border-color:#ef4444}.detail-footer{display:flex;justify-content:center;gap:2rem;padding-top:1rem;border-top:1px solid var(--border-color);font-size:.8rem;color:var(--text-secondary)}.share-section{margin:1.5rem 0;padding:1.25rem;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:12px}.share-buttons-row{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;align-items:center;margin-bottom:.75rem}.share-hint{text-align:center}.share-btn{padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;background-color:var(--accent-blue);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.share-btn:hover:not(:disabled){background-color:#1a4a7c}.share-btn:disabled{opacity:.5;cursor:not-allowed}.share-link-container{display:flex;gap:.5rem;align-items:center}.share-link-input{flex:1;padding:.75rem;font-size:.9rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary)}.copy-btn{padding:.75rem 1rem;font-size:.9rem;font-weight:600;background-color:#22c55e;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap}.copy-btn:hover{background-color:#16a34a}.share-hint{margin-top:.75rem;font-size:.8rem;color:var(--text-secondary)}.readonly-notice{text-align:center;margin:1.5rem 0;padding:1rem;background-color:#eab3081a;border:1px solid rgba(234,179,8,.3);border-radius:8px}.readonly-notice p{margin:0;font-size:.9rem;color:#eab308}@media(max-width:600px){.challenge-detail{padding:1.5rem}.share-link-container{flex-direction:column}.share-link-input,.copy-btn{width:100%}.detail-players{flex-direction:column}.detail-vs{padding:.5rem 0}.detail-vs span{font-size:1.25rem}.detail-actions{flex-direction:column}.detail-actions button{width:100%}.progress-value-large{font-size:2rem}.detail-player img{width:60px;height:60px}}.refresh-status{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.9rem}.refresh-status .spinner-small{width:18px;height:18px;border:2px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;animation:spin 1s linear infinite}.shared-challenge-view{min-height:100vh;padding:2rem;display:flex;justify-content:center;align-items:flex-start}.shared-challenge-container{max-width:900px;width:100%}.shared-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem;color:var(--text-secondary)}.shared-loading .spinner{width:48px;height:48px;border:3px solid var(--bg-secondary);border-top-color:var(--accent-blue);border-radius:50%;animation:spin 1s linear infinite}.shared-error-container{text-align:center;padding:3rem;background-color:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);max-width:500px}.shared-error-icon{width:60px;height:60px;margin:0 auto 1.5rem;background-color:#ef44441a;border:2px solid rgba(239,68,68,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#ef4444}.shared-error-container h2{margin:0 0 .75rem;color:var(--text-primary)}.shared-error-container p{margin:0 0 1.5rem;color:var(--text-secondary)}.shared-close-btn{padding:.75rem 2rem;font-size:1rem;font-weight:600;background-color:var(--accent-blue);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:opacity .2s}.shared-close-btn:hover{opacity:.9}.shared-preview-card{max-width:500px;background-color:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);overflow:hidden;box-shadow:0 4px 24px #0000004d}.shared-preview-header{padding:1.5rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-card) 100%);border-bottom:1px solid var(--border-color);text-align:center}.shared-preview-header h1{margin:0 0 .75rem;font-size:1.5rem;color:var(--text-primary)}.shared-type-badge{display:inline-block;padding:.4rem 1rem;font-size:.85rem;font-weight:600;background-color:var(--accent-blue);color:#fff;border-radius:20px}.shared-game-info{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem;background-color:var(--bg-secondary)}.shared-game-icon{width:40px;height:40px;border-radius:6px}.shared-game-name{font-size:1rem;font-weight:500;color:var(--text-primary)}.shared-participants{padding:1.25rem}.shared-participants h3{margin:0 0 1rem;font-size:.9rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;text-align:center}.shared-participants-list{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.shared-participant{display:flex;flex-direction:column;align-items:center;gap:.5rem}.shared-participant-avatar{width:56px;height:56px;border-radius:10px;border:2px solid var(--border-color)}.shared-participant-name{font-size:.85rem;color:var(--text-primary);max-width:80px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shared-status-badge{text-align:center;padding:1rem;border-top:1px solid var(--border-color)}.shared-status-badge .status{display:inline-block;padding:.35rem .75rem;font-size:.8rem;font-weight:600;border-radius:4px;text-transform:uppercase}.shared-status-badge .status.active{background-color:#22c55e33;color:#22c55e}.shared-status-badge .status.completed{background-color:#9ca3af33;color:#9ca3af}.shared-status-badge .status.pending{background-color:#f59e0b33;color:#f59e0b}.shared-acceptance-indicator{font-size:.75rem;font-weight:600}.shared-acceptance-indicator.accepted{color:#22c55e}.shared-acceptance-indicator.pending{color:#f59e0b}.shared-invitation-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem;background:linear-gradient(135deg,#f59e0b26,#f59e0b0d);border:1px solid rgba(245,158,11,.3);border-radius:12px;margin-bottom:1.5rem}.shared-invitation-banner .invitation-content h3{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:#f59e0b}.shared-invitation-banner .invitation-content p{margin:0;font-size:.875rem;color:var(--text-secondary)}.accept-invitation-btn{padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;background-color:#22c55e;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s;white-space:nowrap}.accept-invitation-btn:hover:not(:disabled){background-color:#16a34a}.accept-invitation-btn:disabled{opacity:.7;cursor:not-allowed}@media(max-width:600px){.shared-invitation-banner{flex-direction:column;text-align:center}.accept-invitation-btn{width:100%}}.shared-login-section{padding:1.5rem;text-align:center;background:linear-gradient(135deg,#22c55e1a,#22c55e0d);border-top:1px solid rgba(34,197,94,.2);display:flex;flex-direction:column;align-items:center}.shared-login-section p{margin:0 0 1rem;font-size:.95rem;color:var(--text-secondary)}.shared-challenge-view .back-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border:1px solid var(--border-color);border-radius:6px;background-color:transparent;color:var(--text-secondary);cursor:pointer;margin-bottom:1.5rem;transition:all .2s}.shared-challenge-view .back-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}@media(max-width:600px){.shared-challenge-view{padding:1rem}.shared-preview-card{border-radius:12px}.shared-preview-header h1{font-size:1.25rem}.shared-participant-avatar{width:48px;height:48px}}.badge-notification-container{position:fixed;bottom:2rem;right:2rem;z-index:9999;animation:slideIn .3s ease-out}.badge-notification-container.exiting{animation:slideOut .3s ease-in forwards}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.badge-notification{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:linear-gradient(135deg,var(--bg-card) 0%,var(--bg-secondary) 100%);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #0000004d;min-width:300px;max-width:400px;position:relative;overflow:hidden}.badge-notification.badge{border-left:4px solid #fbbf24}.badge-notification.badge:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#fbbf24,#f59e0b)}.badge-notification.trophy{border-left:4px solid #a855f7}.badge-notification.trophy:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#a855f7,#8b5cf6)}.notification-icon{font-size:2.5rem;flex-shrink:0;animation:iconPulse 1s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.notification-content{flex:1;min-width:0}.notification-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.25rem}.badge-notification.badge .notification-title{color:#fbbf24}.badge-notification.trophy .notification-title{color:#a855f7}.notification-name{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-level{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.notification-close{position:absolute;top:.5rem;right:.5rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;font-size:1.25rem;color:var(--text-secondary);cursor:pointer;opacity:.5;transition:opacity .2s}.notification-close:hover{opacity:1}.notification-counter{position:absolute;bottom:.5rem;right:.75rem;font-size:.7rem;color:var(--text-secondary)}.badge-notification:hover .notification-icon{animation:iconBounce .5s ease}@keyframes iconBounce{0%,to{transform:scale(1)}25%{transform:scale(1.2) rotate(-5deg)}50%{transform:scale(1.3)}75%{transform:scale(1.2) rotate(5deg)}}@media(max-width:480px){.badge-notification-container{bottom:1rem;right:1rem;left:1rem}.badge-notification{min-width:unset;max-width:unset;width:100%}}.feedback-widget{position:fixed;bottom:5rem;right:1.5rem;z-index:1000}.feedback-trigger{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,var(--accent-blue),#4f46e5);color:#fff;border:none;border-radius:2rem;font-size:.875rem;font-weight:500;cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:transform .2s,box-shadow .2s}.feedback-trigger:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0006}.feedback-trigger:active{transform:translateY(0)}.feedback-trigger svg{flex-shrink:0}.feedback-panel{position:absolute;bottom:0;right:0;width:340px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #0006;overflow:hidden;animation:feedbackSlideIn .2s ease-out;transform-origin:bottom right}@keyframes feedbackSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.feedback-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background-color:var(--bg-card);border-bottom:1px solid var(--border-color)}.feedback-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.feedback-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:background-color .15s,color .15s}.feedback-close:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.feedback-tabs{display:flex;border-bottom:1px solid var(--border-color)}.feedback-tab{flex:1;padding:.75rem 1rem;background:transparent;border:none;border-bottom:2px solid transparent;font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:color .15s,border-color .15s,background-color .15s}.feedback-tab:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.feedback-tab.active{color:var(--accent-blue);border-bottom-color:var(--accent-blue)}.feedback-form{padding:1rem 1.25rem 1.25rem}.feedback-description{margin-bottom:.75rem}.feedback-description p{margin:0;font-size:.875rem;color:var(--text-secondary)}.feedback-textarea{width:100%;padding:.75rem;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;font-size:.875rem;font-family:inherit;color:var(--text-primary);resize:vertical;min-height:100px;transition:border-color .15s}.feedback-textarea:focus{outline:none;border-color:var(--accent-blue)}.feedback-textarea::placeholder{color:var(--text-muted)}.feedback-textarea:disabled{opacity:.6;cursor:not-allowed}.feedback-meta{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;margin-bottom:.75rem}.feedback-char-count{font-size:.75rem;color:var(--text-muted)}.feedback-user{font-size:.75rem;color:var(--text-secondary)}.feedback-result{padding:.625rem .75rem;border-radius:6px;font-size:.875rem;margin-bottom:.75rem}.feedback-result.success{background-color:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.feedback-result.error{background-color:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.feedback-submit{width:100%;padding:.75rem 1rem;background:linear-gradient(135deg,var(--accent-blue),#4f46e5);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .15s,transform .15s}.feedback-submit:hover:not(:disabled){opacity:.9}.feedback-submit:active:not(:disabled){transform:scale(.98)}.feedback-submit:disabled{opacity:.5;cursor:not-allowed}@media(max-width:480px){.feedback-widget{right:1rem;bottom:4rem}.feedback-trigger span{display:none}.feedback-trigger{padding:.875rem;border-radius:50%}.feedback-panel{width:calc(100vw - 2rem);max-width:340px}}.scroll-to-top{position:fixed;bottom:1.5rem;right:1.5rem;z-index:999;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:50%;cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:transform .2s,box-shadow .2s,background-color .2s;animation:scrollToTopFadeIn .2s ease-out}.scroll-to-top:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0006;background:var(--bg-tertiary)}.scroll-to-top:active{transform:translateY(0)}.scroll-to-top svg{flex-shrink:0}@keyframes scrollToTopFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.scroll-to-top{right:1rem;bottom:1rem}}.app-footer{position:fixed;bottom:0;left:0;right:0;background-color:var(--bg-secondary);border-top:1px solid var(--border-color);padding:1rem 2rem;z-index:100}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.footer-section{display:flex;align-items:center}.footer-links{display:flex;align-items:center;gap:.75rem}.footer-link{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--text-secondary);font-size:.9rem;cursor:pointer;padding:0;transition:color .2s}.footer-link:hover{color:var(--accent-blue)}.footer-icon{width:24px;height:24px;flex-shrink:0}.footer-divider{color:var(--border-color);font-size:.875rem}.footer-social{display:flex;align-items:center;gap:1rem}.footer-social-link{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9rem;text-decoration:none;transition:color .2s;cursor:pointer}.footer-social-link:hover{color:var(--text-primary)}.footer-social-link.discord:hover{color:#5865f2}.footer-social-link.donate:hover,.footer-social-link.donate:hover .footer-icon{color:#e91e63}.footer-attribution{text-align:right}.footer-attribution p{margin:0;color:var(--text-secondary);font-size:.8rem;line-height:1.4}.footer-copyright{opacity:.7}@media(max-width:768px){.app-footer{padding:.5rem 1rem}.footer-content{flex-direction:column;gap:.25rem}.footer-section{width:100%;justify-content:center}.footer-links{gap:.5rem}.footer-link{font-size:.8rem}.footer-icon{width:18px;height:18px}.footer-social{gap:.75rem}.footer-social-link{font-size:.8rem}.footer-attribution{text-align:center}.footer-attribution p{font-size:.7rem;line-height:1.2}.footer-copyright{display:none}}@media(max-width:480px){.app-footer{padding:.4rem .5rem}.footer-content{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.5rem 1rem}.footer-section{width:auto}.footer-link span,.footer-social-link span{display:none}.footer-link,.footer-social-link{padding:.2rem}.footer-icon{width:20px;height:20px}.footer-links,.footer-social{gap:.75rem}.footer-divider{display:none}.footer-attribution{width:100%;text-align:center}.footer-attribution p{font-size:.65rem}}.welcome-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:welcomeOverlayFadeIn .2s ease-out}@keyframes welcomeOverlayFadeIn{0%{opacity:0}to{opacity:1}}.welcome-modal{position:relative;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;animation:welcomeModalSlideIn .3s ease-out;box-shadow:0 20px 60px #00000080}@keyframes welcomeModalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.welcome-modal-close{position:absolute;top:.75rem;right:.75rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;border-radius:6px;transition:all .2s;z-index:1}.welcome-modal-close:hover{background-color:var(--bg-card);color:var(--text-primary)}.welcome-modal-content{padding:2rem;text-align:center}.welcome-modal-icon{font-size:3.5rem;margin-bottom:1rem;line-height:1}.welcome-modal-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 .75rem}.welcome-modal-description{color:var(--text-secondary);font-size:1rem;line-height:1.5;margin:0 0 1.5rem}.welcome-modal-features{list-style:none;padding:0;margin:0 0 1.5rem;text-align:left}.welcome-modal-features li{display:flex;align-items:flex-start;gap:.75rem;padding:.625rem 0;color:var(--text-secondary);font-size:.9375rem;line-height:1.4}.welcome-modal-features .feature-icon{flex-shrink:0;font-size:1.125rem}.welcome-modal-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.welcome-modal-btn{width:100%;padding:.875rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.welcome-modal-btn.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.welcome-modal-btn.primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.welcome-modal-btn.secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.welcome-modal-btn.secondary:hover{background-color:var(--bg-card);color:var(--text-primary)}@media(max-width:480px){.welcome-modal{max-width:100%;margin:.5rem;border-radius:12px}.welcome-modal-content{padding:1.5rem}.welcome-modal-icon{font-size:2.5rem}.welcome-modal-title{font-size:1.5rem}.welcome-modal-description{font-size:.9375rem}}.app{min-height:100vh;display:flex;flex-direction:column}.app-nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.login-header{display:flex;justify-content:flex-end;padding:1rem 2rem}.login-header-content{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.steam-login-btn-header{background:transparent;border:none;padding:0;cursor:pointer;transition:transform .2s,opacity .2s}.steam-login-btn-header:hover{transform:scale(1.02);opacity:.9}.steam-login-btn-header img{height:45px;display:block}.login-header-legal{margin:0;font-size:.7rem;color:var(--text-secondary);text-align:right}.header-legal-link{background:none;border:none;padding:0;color:var(--accent-blue);font-size:inherit;cursor:pointer;text-decoration:underline}.header-legal-link:hover{color:var(--text-primary)}.nav-links{display:flex;gap:.5rem}.nav-button{padding:.5rem 1.5rem;background-color:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}.nav-button:hover{background-color:var(--bg-primary);color:var(--text-primary)}.nav-button.active{background-color:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.nav-button.admin-button{border-color:#f59e0b;color:#f59e0b}.nav-button.admin-button:hover{background-color:#f59e0b1a}.nav-button.admin-button.active{background-color:#f59e0b;border-color:#f59e0b;color:#fff}.app-content{flex:1;padding-bottom:80px}.mobile-menu-toggle{display:none;background:none;border:none;padding:.5rem;cursor:pointer;z-index:1001}.hamburger{display:block;width:24px;height:2px;background-color:var(--text-primary);position:relative;transition:background-color .2s}.hamburger:before,.hamburger:after{content:"";position:absolute;width:24px;height:2px;background-color:var(--text-primary);left:0;transition:transform .2s,top .2s}.hamburger:before{top:-7px}.hamburger:after{top:7px}.hamburger.open{background-color:transparent}.hamburger.open:before{top:0;transform:rotate(45deg)}.hamburger.open:after{top:0;transform:rotate(-45deg)}.mobile-menu-overlay{display:none}@media(max-width:768px){.app-content{padding-bottom:100px}.app-nav{padding:.75rem 1rem;position:relative}.mobile-menu-toggle{display:block}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:.5rem;gap:.25rem;z-index:1000;box-shadow:0 4px 12px #0000004d}.nav-links.mobile-open{display:flex}.nav-button{width:100%;text-align:left;padding:.875rem 1rem;font-size:1rem}.mobile-menu-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:999}.login-header{padding:.75rem 1rem}}@media(max-width:480px){.app-nav{padding:.5rem .75rem}.nav-button{font-size:.95rem;padding:.75rem}}.page-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--space-lg);color:var(--text-secondary)}.page-loader-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-error-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.auth-error-modal{position:relative;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;max-width:420px;width:100%;max-height:80vh;overflow-y:auto;animation:authModalSlideIn .2s ease-out}@keyframes authModalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-error-modal-close{position:absolute;top:.75rem;right:.75rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;border-radius:6px;transition:all .2s;z-index:1}.auth-error-modal-close:hover{background-color:var(--bg-card);color:var(--text-primary)}@media(max-width:480px){.auth-error-modal{max-width:100%;margin:.5rem}}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #1b2838;--bg-secondary: #2a475e;--bg-card: #16202d;--bg-tertiary: #0f1419;--bg-hover: #1e3a50;--text-primary: #c7d5e0;--text-secondary: #8f98a0;--text-muted: #9ca3af;--accent-blue: #66c0f4;--accent-blue-hover: #4fa3d1;--accent-green: #4c6b22;--accent-green-hover: #3d5618;--success: #5ba32b;--border: #3d5a7c;--border-color: var(--border);--error: #ef4444;--error-bg: rgba(239, 68, 68, .1);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .1);--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh}#root{min-height:100vh}@media(max-width:768px){body{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}input,input[type=text],input[type=number],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=url],input[type=date],select,textarea,.friend-search,.game-search,[class*=search],[class*=input]{font-size:16px!important;transform:none}body input,body select,body textarea,#root input,#root select,#root textarea{font-size:16px!important}}@media(max-width:480px){body{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}input,select,textarea{font-size:16px!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:.4rem .75rem;font-size:var(--font-size-sm)}.btn-md{padding:.6rem 1.25rem;font-size:var(--font-size-sm)}.btn-lg{padding:.75rem 1.5rem;font-size:var(--font-size-base)}.btn-primary{background:linear-gradient(135deg,var(--accent-green),var(--success));border:none;color:#fff}.btn-primary:hover:not(:disabled){opacity:.9}.btn-secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.btn-secondary:hover:not(:disabled){border-color:var(--text-secondary);color:var(--text-primary)}.btn-accent{background:var(--accent-blue);border:none;color:#fff}.btn-accent:hover:not(:disabled){background:var(--accent-blue-hover)}.btn-danger{background:transparent;border:1px solid var(--error);color:var(--error)}.btn-danger:hover:not(:disabled){background:var(--error-bg)}.btn-ghost{background:transparent;border:none;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.input,.select,.textarea{width:100%;padding:.75rem 1rem;font-size:16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-secondary);color:var(--text-primary);transition:border-color .2s}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent-blue)}.input::placeholder{color:var(--text-secondary)}.input:disabled,.select:disabled,.textarea:disabled{opacity:.6;cursor:not-allowed}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-xl)}.card-interactive{transition:all .2s}.card-interactive:hover{border-color:var(--accent-blue);transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-secondary{background-color:var(--bg-secondary)}
