.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#14141ed9;z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#232336;color:#f3f4f6;border-radius:16px;box-shadow:0 8px 40px #00000080;padding:32px 28px 24px;min-width:340px;max-width:95vw;position:relative;animation:popIn .2s}@keyframes popIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-close{position:absolute;top:8px;right:8px;background:none;border:none;color:#a855f7;font-size:1.6rem;cursor:pointer;transition:color .2s}.modal-close:hover{color:#f43f5e}.modal-title{margin:0 0 18px;font-size:1.6rem;font-weight:700;color:#a855f7;text-align:center}.modal-body{margin-top:8px}.problems-page{min-height:100vh;padding:24px;background:var(--bg-primary)}.problems-container{max-width:1200px;margin:0 auto}.problems-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--border-color)}.header-left h1{font-size:32px;font-weight:700;margin:0 0 8px;color:var(--text-primary)}.header-left p{color:var(--text-secondary);font-size:16px;margin:0}.header-stats{display:flex;gap:32px;align-items:center}.stat-item{text-align:center}.stat-number{display:block;font-size:28px;font-weight:700;color:var(--accent-primary)}.stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.problems-controls{display:grid;grid-template-columns:1fr auto auto auto auto;gap:16px;margin-bottom:24px;align-items:center}.search-wrapper{position:relative}.search-input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;transition:border-color .2s,box-shadow .2s}.search-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #8b5cf61a}.filter-select{padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;min-width:120px;cursor:pointer;transition:border-color .2s}.filter-select:focus{outline:none;border-color:var(--accent-primary)}.problems-table{background:var(--bg-secondary);border-radius:12px;overflow:hidden;border:1px solid var(--border-color)}.table-header{display:grid;grid-template-columns:auto 1fr 100px 120px 100px;gap:16px;padding:16px 20px;background:var(--bg-tertiary);font-weight:600;font-size:14px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color)}.problem-card{display:grid;grid-template-columns:auto 1fr 100px 120px 100px;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border-color);transition:all .2s ease;color:var(--text-primary);text-decoration:none;align-items:center}.problem-card:hover{background:var(--bg-tertiary);transform:translateY(-1px)}.problem-card:last-child{border-bottom:none}.problem-status{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.status-solved{background:#22c55e;color:#fff}.status-attempted{background:#fbbf24;color:#fff}.status-not-attempted{background:transparent;border:2px solid var(--border-color)}.problem-info{display:flex;flex-direction:column;gap:4px}.problem-title{font-weight:600;font-size:16px;color:var(--text-primary)}.problem-tags{display:flex;gap:6px;flex-wrap:wrap}.tag{background:var(--bg-primary);padding:2px 8px;border-radius:12px;font-size:11px;color:var(--text-secondary);border:1px solid var(--border-color)}.tag-company{background:#22c55e1a;color:#22c55e;border-color:#22c55e4d}.type-badge{margin-left:8px;padding:2px 6px;border-radius:4px;font-size:14px;vertical-align:middle}.type-coding{background:#3b82f61a;color:#3b82f6}.type-conceptual{background:#a855f71a;color:#a855f7}.problem-difficulty{display:flex;align-items:center;justify-content:center}.difficulty-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;color:#fff}.difficulty-easy{background:#22c55e}.difficulty-medium{background:#fbbf24}.difficulty-hard{background:#ef4444}.problem-acceptance{text-align:center;font-size:14px}.acceptance-rate{font-weight:600;color:var(--text-primary)}.problem-frequency{text-align:center;font-size:14px;color:var(--text-secondary)}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:32px}.page-btn{padding:10px 16px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:8px;cursor:pointer;transition:all .2s;font-weight:500}.page-btn:hover:not(:disabled){background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.page-info{font-size:14px;color:var(--text-secondary);padding:0 16px}.no-problems{text-align:center;padding:64px 32px;color:var(--text-secondary)}.no-problems h3{margin:0 0 8px;color:var(--text-primary)}@media (max-width: 1024px){.problems-controls{grid-template-columns:1fr;gap:12px}.filter-select{min-width:100%}}@media (max-width: 768px){.problems-header{flex-direction:column;align-items:flex-start;gap:16px}.header-stats{gap:24px}.table-header{display:none}.problem-card{grid-template-columns:1fr;gap:12px;padding:20px}.problem-info{order:1}.problem-difficulty,.problem-acceptance,.problem-frequency{font-size:12px}}.problem-detail{display:flex;height:100vh;background:linear-gradient(135deg,#0a0f1e,#1a1d3e);color:#e2e8f0;overflow:hidden}.problem-panel{width:50%;padding:2rem;overflow-y:auto;border-right:1px solid rgba(255,255,255,.1);background:#ffffff05;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.problem-header{margin-bottom:2rem}.problem-title{font-size:2rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(135deg,#8b5cf6,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.problem-meta{display:flex;gap:1rem;align-items:center;margin-bottom:1.5rem}.difficulty-badge{padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.difficulty-badge.easy{background:#22c55e33;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.difficulty-badge.medium{background:#fbbf2433;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.difficulty-badge.hard{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.problem-content h3{color:#8b5cf6;margin-bottom:1rem;font-size:1.25rem;font-weight:600}.problem-description p{line-height:1.6;color:#cbd5e1;margin-bottom:1.5rem}.problem-examples{margin-bottom:2rem}.example{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;margin-bottom:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.example-input,.example-output,.example-explanation{margin-bottom:.75rem}.example strong{color:#8b5cf6;display:block;margin-bottom:.5rem}.tags-list{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background:#8b5cf633;color:#c4b5fd;padding:.375rem .75rem;border-radius:16px;font-size:.75rem;border:1px solid rgba(139,92,246,.3)}.editor-panel{width:50%;display:flex;flex-direction:column;background:#0000004d}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.language-select{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:.5rem 1rem;color:#e2e8f0;font-size:.875rem;cursor:pointer;transition:all .2s ease}.language-select:hover{background:#ffffff26;border-color:#8b5cf680}.language-select:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.submit-btn{background:linear-gradient(135deg,#8b5cf6,#06b6d4);border:none;border-radius:8px;padding:.75rem 1.5rem;color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 25px #8b5cf64d}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.result{margin-top:1rem;background:#ffffff0d;border-radius:12px;border-left:4px solid #10b981;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-height:400px;overflow-y:auto}.result.error{border-left-color:#ef4444}.result-header{display:flex;justify-content:between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.result-header h3{margin:0;color:#8b5cf6;font-size:1.25rem}.status-badge{padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge.accepted{background:#22c55e33;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.status-badge.wrong_answer{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.status-badge.compilation_error{background:#fbbf2433;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.result-message{padding:0 1.5rem;color:#cbd5e1;margin:.5rem 0}.submission-details{padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.stats-row{display:flex;gap:2rem;flex-wrap:wrap}.stat{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:1rem;font-weight:600;color:#e2e8f0}.test-results{padding:1.5rem}.test-results h4{margin:0 0 1rem;color:#8b5cf6;font-size:1.1rem}.test-case{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;margin-bottom:1rem;overflow:hidden}.test-case.passed{border-left:4px solid #22c55e}.test-case.failed{border-left:4px solid #ef4444}.test-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1)}.test-number{font-weight:600;color:#cbd5e1}.test-status{padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.test-status.pass{background:#22c55e33;color:#22c55e}.test-status.fail{background:#ef444433;color:#ef4444}.test-error{padding:1rem;background:#ef44441a;border-left:3px solid #ef4444;color:#fca5a5;font-family:Fira Code,monospace;font-size:.875rem}.test-details{padding:1rem}.test-input,.test-output,.test-actual{margin-bottom:1rem}.test-details strong{display:block;margin-bottom:.5rem;color:#8b5cf6;font-size:.875rem}.test-details pre{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:.75rem;font-family:Fira Code,monospace;font-size:.875rem;color:#e2e8f0;white-space:pre-wrap;word-wrap:break-word;margin:0;max-height:100px;overflow-y:auto}.test-meta{display:flex;gap:1rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1)}.test-meta span{font-size:.75rem;color:#94a3b8;background:#ffffff0d;padding:.25rem .5rem;border-radius:6px}.monaco-editor-wrapper{flex:1;height:100%}.editor-loading{display:flex;align-items:center;justify-content:center;height:200px;color:#8b5cf6;font-size:1rem}.problem-panel::-webkit-scrollbar,.result::-webkit-scrollbar,.test-details pre::-webkit-scrollbar{width:6px}.problem-panel::-webkit-scrollbar-track,.result::-webkit-scrollbar-track,.test-details pre::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.problem-panel::-webkit-scrollbar-thumb,.result::-webkit-scrollbar-thumb,.test-details pre::-webkit-scrollbar-thumb{background:#8b5cf680;border-radius:3px}.problem-panel::-webkit-scrollbar-thumb:hover,.result::-webkit-scrollbar-thumb:hover,.test-details pre::-webkit-scrollbar-thumb:hover{background:#8b5cf6b3}@media (max-width: 1024px){.problem-detail{flex-direction:column;height:auto}.problem-panel,.editor-panel{width:100%}.problem-panel{border-right:none;border-bottom:1px solid rgba(255,255,255,.1)}.stats-row{flex-direction:column;gap:1rem}}.profile-page{min-height:100vh;padding:24px;background:var(--bg-primary)}.profile-container{max-width:1200px;margin:0 auto}.profile-header{display:flex;align-items:center;gap:24px;margin-bottom:32px;padding:32px;background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color)}.profile-avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;position:relative}.profile-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-placeholder{width:100%;height:100%;background:var(--accent-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700}.profile-info h1{margin:0 0 8px;font-size:28px;font-weight:700;color:var(--text-primary)}.username{margin:0 0 4px;color:var(--text-secondary);font-size:16px}.rank{margin:0;color:var(--accent-primary);font-weight:600;font-size:14px}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.stats-card,.heatmap-card,.recent-activity-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:24px}.stats-card h3,.heatmap-card h3,.recent-activity-card h3{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--text-primary)}.solved-stats{display:flex;flex-direction:column;gap:20px}.total-solved{text-align:center}.total-solved .number{display:block;font-size:48px;font-weight:700;color:var(--accent-primary);margin-bottom:4px}.total-solved .label{color:var(--text-secondary);font-size:14px}.difficulty-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.difficulty-item{text-align:center;padding:16px;border-radius:12px;background:var(--bg-tertiary)}.difficulty-item.easy{border-left:4px solid #22c55e}.difficulty-item.medium{border-left:4px solid #fbbf24}.difficulty-item.hard{border-left:4px solid #ef4444}.difficulty-item .count{display:block;font-size:24px;font-weight:700;margin-bottom:4px}.difficulty-item.easy .count{color:#22c55e}.difficulty-item.medium .count{color:#fbbf24}.difficulty-item.hard .count{color:#ef4444}.difficulty-item .label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.activity-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:16px}.stat-item{text-align:center;padding:16px 8px;background:var(--bg-tertiary);border-radius:12px}.stat-number{display:block;font-size:24px;font-weight:700;color:var(--accent-primary);margin-bottom:4px}.stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.heatmap-card{grid-column:1 / -1}.heatmap-grid{display:grid;grid-template-columns:repeat(53,1fr);gap:2px;margin-bottom:16px}.heatmap-cell{width:12px;height:12px;border-radius:2px;background:var(--bg-tertiary)}.heatmap-cell.intensity-0{background:var(--bg-tertiary)}.heatmap-cell.intensity-1{background:#8b5cf64d}.heatmap-cell.intensity-2{background:#8b5cf680}.heatmap-cell.intensity-3{background:#8b5cf6b3}.heatmap-cell.intensity-4{background:#8b5cf6}.heatmap-legend{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--text-secondary)}.legend-scale{display:flex;gap:2px}.legend-cell{width:12px;height:12px;border-radius:2px}.submissions-list{display:flex;flex-direction:column;gap:12px}.submission-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-tertiary);border-radius:8px;transition:background .2s}.submission-item:hover{background:var(--bg-primary)}.submission-status{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.status-indicator.accepted{background:#22c55e;color:#fff}.status-indicator.failed{background:#ef4444;color:#fff}.submission-info{flex:1}.problem-title{font-weight:600;margin-bottom:4px}.submission-meta{display:flex;gap:12px;font-size:12px;color:var(--text-secondary)}.difficulty-badge{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;color:#fff}.difficulty-badge.easy{background:#22c55e}.difficulty-badge.medium{background:#fbbf24}.difficulty-badge.hard{background:#ef4444}.not-logged-in,.loading{display:flex;align-items:center;justify-content:center;min-height:40vh;text-align:center}.no-submissions{text-align:center;color:var(--text-secondary);padding:20px}@media (max-width: 768px){.profile-header{flex-direction:column;text-align:center}.difficulty-breakdown,.activity-stats{grid-template-columns:1fr}.heatmap-grid{grid-template-columns:repeat(26,1fr)}}.submission-history-page{min-height:100vh;padding:32px clamp(16px,3vw,32px)}.container{max-width:1200px;margin:0 auto}.container h1{font-size:28px;font-weight:700;margin-bottom:24px}.submissions-table{background:var(--bg-secondary);border-radius:12px;overflow:hidden;border:1px solid var(--border-color)}.table-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;gap:16px;padding:16px 20px;background:var(--bg-tertiary);font-weight:600;border-bottom:1px solid var(--border-color)}.table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border-color);transition:background .2s}.table-row:hover{background:var(--bg-tertiary)}.problem-cell{display:flex;flex-direction:column;gap:4px}.problem-link{color:var(--text-primary);text-decoration:none;font-weight:600}.problem-link:hover{color:var(--accent-primary)}.difficulty{font-size:12px;font-weight:600;padding:2px 6px;border-radius:12px;width:-moz-fit-content;width:fit-content}.difficulty.easy{background:#22c55e;color:#fff}.difficulty.medium{background:#fbbf24;color:#fff}.difficulty.hard{background:#ef4444;color:#fff}.status-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600;color:#fff}.not-logged-in,.loading,.no-submissions{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40vh;text-align:center;gap:16px}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px}.page-btn{padding:8px 16px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:6px;cursor:pointer;transition:all .2s}.page-btn:hover:not(:disabled){background:var(--accent-primary);color:#fff}.page-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.table-header,.table-row{grid-template-columns:1fr;gap:8px}.table-header>div:not(:first-child){display:none}.table-row>div:not(:first-child){font-size:14px;color:var(--text-secondary)}}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:clamp(1rem,3vw,3rem) 0}.header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:1rem 0;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-content{max-width:min(1200px,95vw);margin:0 auto;padding:0 clamp(1rem,3vw,2rem);display:flex;align-items:center;justify-content:space-between;gap:clamp(1rem,3vw,2rem)}.logo-link{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-primary)}.logo-text{font-size:clamp(1.25rem,3vw,1.75rem);font-weight:700;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav{display:flex;align-items:center;gap:clamp(1rem,3vw,2rem)}.nav-link{color:var(--text-secondary);text-decoration:none;font-weight:500;transition:color .2s ease;position:relative;font-size:clamp(.875rem,2vw,1rem)}.nav-link:hover{color:var(--text-primary)}.nav-link:after{content:"";position:absolute;bottom:-.5rem;left:0;width:0;height:2px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));transition:width .2s ease}.nav-link:hover:after{width:100%}.header-actions{display:flex;align-items:center;gap:1rem}.theme-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:.5rem;transition:all .2s ease}.theme-toggle:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.auth-buttons{display:flex;gap:.75rem}.user-menu{display:flex;align-items:center;gap:1rem;position:relative}.user-avatar{width:2.5rem;height:2.5rem;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;font-weight:600;text-decoration:none}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;font-weight:600}.user-dropdown{display:flex;flex-direction:column;gap:.5rem}.username{font-weight:600;color:var(--text-primary)}.logout-btn{background:none;border:none;color:var(--accent-error);cursor:pointer;font-size:.875rem;padding:.25rem 0;text-align:left}.logout-btn:hover{text-decoration:underline}.home{max-width:min(1200px,95vw);margin:0 auto;padding:0 clamp(1rem,3vw,2rem)}.hero-section{text-align:center;padding:clamp(2rem,6vw,4rem) 0;display:flex;flex-direction:column;gap:clamp(2rem,5vw,3rem)}.hero-title{font-size:clamp(2rem,6vw,4rem);font-weight:800;line-height:1.1;margin-bottom:clamp(1rem,2vw,1.5rem)}.hero-subtitle{font-size:clamp(1rem,2.5vw,1.5rem);color:var(--text-secondary);max-width:min(600px,90vw);margin:0 auto clamp(1rem,2vw,2rem);line-height:1.6}.hero-actions{display:flex;gap:clamp(.75rem,2vw,1.25rem);justify-content:center;flex-wrap:wrap}.hero-stats{display:flex;justify-content:center;gap:clamp(1.5rem,4vw,3rem);margin-top:clamp(1rem,2vw,2rem);flex-wrap:wrap}.stat{text-align:center}.stat-number{display:block;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;color:var(--accent-primary)}.stat-label{color:var(--text-secondary);font-size:clamp(.75rem,1.5vw,1rem);text-transform:uppercase;letter-spacing:.05em}.features-section{padding:clamp(2rem,6vw,4rem) 0}.section-title{text-align:center;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:700;margin-bottom:clamp(2rem,4vw,3rem)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:clamp(1.5rem,3vw,2rem)}.feature-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:clamp(.75rem,2vw,1.25rem);padding:clamp(1.5rem,3vw,2.5rem);text-decoration:none;color:inherit;transition:all .2s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--accent-primary)}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-title{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:var(--text-primary)}.feature-description{color:var(--text-secondary);line-height:1.6}.cta-section{text-align:center;padding:4rem 0;background-color:var(--bg-secondary);border-radius:1rem;margin:2rem 0}.cta-content h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.cta-content p{font-size:1.125rem;color:var(--text-secondary);margin-bottom:2rem}.btn,.btn-primary,.btn-secondary,.btn-large{transition:background .18s,color .18s,box-shadow .18s,transform .13s}.btn:hover,.btn-primary:hover,.btn-secondary:hover,.btn-large:hover{transform:scale(1.045);box-shadow:0 4px 18px #a855f72e,0 1.5px 8px #5000781a;filter:brightness(1.07)}.main-content,.header{transition:box-shadow .18s,background .18s}@media (max-width: 768px){.header-content{padding:0 1rem;flex-wrap:wrap;gap:1rem}.nav{order:3;width:100%;justify-content:center;gap:1rem}.hero-title{font-size:2.5rem}.hero-stats{gap:2rem}.stat-number{font-size:2rem}.features-grid{grid-template-columns:1fr}.home{padding:0 1rem}}:root{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border-color: #e2e8f0;--accent-primary: #6366f1;--accent-secondary: #8b5cf6;--accent-success: #10b981;--accent-warning: #f59e0b;--accent-error: #ef4444;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #64748b;--border-color: #334155;--accent-primary: #6366f1;--accent-secondary: #8b5cf6;--accent-success: #10b981;--accent-warning: #f59e0b;--accent-error: #ef4444;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .3), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .3), 0 4px 6px -4px rgb(0 0 0 / .3)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;transition:background-color .3s ease,color .3s ease}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:clamp(.25rem,1vw,.75rem)}h1{font-size:clamp(1.75rem,4vw,2.75rem)}h2{font-size:clamp(1.5rem,3.5vw,2.25rem)}h3{font-size:clamp(1.25rem,3vw,1.75rem)}h4{font-size:clamp(1.125rem,2.5vw,1.5rem)}h5{font-size:clamp(1rem,2vw,1.25rem)}h6{font-size:clamp(.875rem,1.5vw,1.125rem)}p{margin-bottom:1rem;color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:clamp(.625rem,1.5vw,.875rem) clamp(1.25rem,3vw,1.75rem);border:none;border-radius:clamp(.375rem,1vw,.625rem);font-size:clamp(.8rem,1.5vw,1rem);font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s ease;gap:clamp(.375rem,1vw,.625rem);min-height:44px}.btn-primary{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-secondary{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--bg-tertiary)}.btn-large{padding:clamp(.875rem,2vw,1.25rem) clamp(1.75rem,4vw,2.5rem);font-size:clamp(1rem,2vw,1.25rem);min-height:48px}a{color:var(--accent-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-secondary)}.loading{display:flex;align-items:center;justify-content:center;min-height:200px;font-size:1.125rem;color:var(--text-secondary)}.gradient-text{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width: 768px){h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.25rem}.btn{padding:.625rem 1.25rem;font-size:.875rem}.btn-large{padding:.875rem 1.75rem;font-size:.875rem}}.auth-form-modal{display:flex;flex-direction:column;gap:16px}.auth-form-modal input{padding:12px 14px;border-radius:8px;border:1px solid #444;background:#18181b;color:#f3f4f6;font-size:16px}.auth-form-modal button{padding:12px 0;border-radius:8px;border:none;background:#a855f7;color:#fff;font-weight:700;font-size:16px;cursor:pointer;margin-bottom:4px;transition:background .2s}.auth-form-modal button:disabled{background:#6b7280;cursor:not-allowed}.auth-form-modal .alt-btn{background:#232336;color:#a855f7;border:1px solid #a855f7;margin-bottom:0}.auth-form-modal .alt-btn:hover{background:#18181b;color:#fff}.social-row{display:flex;gap:8px;margin-top:8px;justify-content:center}.google-btn{background:#fff;color:#232336;border:1px solid #a855f7}.google-btn:hover{background:#f3f4f6}.github-btn{background:#18181b;color:#fff;border:1px solid #a855f7}.github-btn:hover{background:#232336}.verify-section{text-align:center;color:#fbbf24;font-size:1.1rem;margin-bottom:12px}.apple-btn{background:#fff;color:#232336;border:1px solid #232336;font-weight:700;font-size:16px;border-radius:8px;padding:12px 0;transition:background .2s,color .2s}.apple-btn:hover{background:#232336;color:#fff;border:1px solid #a855f7}.form-row{display:flex;gap:12px}.gender-group{display:flex;align-items:center;gap:12px;margin-bottom:12px}.gender-btn{background:#232336;color:#a855f7;border:1px solid #a855f7;border-radius:8px;padding:8px 18px;font-weight:600;font-size:15px;cursor:pointer;transition:background .2s,color .2s,border .2s}.gender-btn.selected,.gender-btn:hover{background:#a855f7;color:#fff}.glass-bg{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}[data-theme=dark] .glass-bg{background:#0003;border:1px solid rgba(255,255,255,.1)}.container{max-width:min(1200px,95vw);margin:0 auto;padding:0 clamp(1rem,3vw,2rem)}.container-sm{max-width:min(800px,95vw);margin:0 auto;padding:0 clamp(1rem,3vw,2rem)}.section-padding{padding:clamp(2rem,6vw,4rem) 0}.gap-responsive{gap:clamp(1rem,3vw,2rem)}.grid-auto-fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:clamp(1.5rem,3vw,2rem)}.grid-auto-fill{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:clamp(1rem,2vw,1.5rem)}.text-responsive{font-size:clamp(.875rem,2vw,1.125rem);line-height:1.6}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){:root{--border-color: #000000;--text-secondary: #000000}[data-theme=dark]{--border-color: #ffffff;--text-secondary: #ffffff}}button,.btn,.auth-modal-oauth{transition:background .18s,color .18s,box-shadow .18s,transform .13s}button:hover:not(:disabled),.btn:hover:not(:disabled),.auth-modal-oauth:hover:not(:disabled){transform:scale(1.045);box-shadow:0 4px 18px #a855f72e,0 1.5px 8px #5000781a;filter:brightness(1.07)}a,.nav-link,.logo-link{transition:color .18s,transform .13s,-webkit-text-decoration .18s;transition:color .18s,text-decoration .18s,transform .13s;transition:color .18s,text-decoration .18s,transform .13s,-webkit-text-decoration .18s}a:hover,.nav-link:hover,.logo-link:hover{color:var(--accent-primary);text-decoration:underline;transform:scale(1.04)}.modal-close{transition:color .18s,transform .13s}.modal-close:hover{color:#f43f5e;transform:scale(1.18) rotate(12deg)}.feature-card,.table-row,.podium-place{transition:box-shadow .18s,background .18s,transform .13s}.feature-card:hover,.table-row:hover,.podium-place:hover{box-shadow:0 6px 24px #a855f721,0 1.5px 8px #5000781a;background:#8b5cf612;transform:scale(1.025)}
