@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=DM+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--bg-deep: #0c0c0e;--bg-surface: #141416;--bg-elevated: #1a1a1e;--bg-card: rgba(255, 255, 255, .03);--accent: #e8a838;--accent-bright: #f4c155;--accent-dim: #c48a20;--accent-glow: rgba(232, 168, 56, .25);--red-hot: #e84545;--green-go: #3dd68c;--blue-steel: #5b8def;--violet-pit: #9b6dff;--text-primary: #f0ece4;--text-secondary: #9e9a92;--text-muted: #5e5b55;--border-subtle: rgba(255, 255, 255, .06);--border-visible: rgba(255, 255, 255, .12);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--font-display: "Outfit", sans-serif;--font-body: "DM Sans", sans-serif;--shadow-soft: 0 4px 24px rgba(0, 0, 0, .4);--shadow-strong: 0 12px 48px rgba(0, 0, 0, .6);--shadow-glow: 0 0 30px rgba(232, 168, 56, .15)}html{overflow-x:hidden;width:100%}body{font-family:var(--font-body);background:var(--bg-deep);min-height:100vh;color:var(--text-primary);overflow-x:hidden;display:flex;flex-direction:column;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 15% 20%,rgba(232,168,56,.06) 0%,transparent 50%),radial-gradient(ellipse at 85% 80%,rgba(91,141,239,.04) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.01) 0%,transparent 70%);z-index:-1}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;opacity:.025;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");background-repeat:repeat;pointer-events:none}.container{max-width:1100px;width:100%;margin:0 auto;padding:20px 24px;position:relative;z-index:1;flex:1;overflow-x:hidden}.top-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:8px 0;animation:fadeInDown .5s ease-out}header{text-align:center;color:#fff;margin-bottom:36px;position:relative;animation:fadeInDown .8s ease-out .2s both}.europe-warning{background:#e8a83814;border:1px solid rgba(232,168,56,.2);border-left:3px solid var(--accent);border-radius:var(--radius-md);padding:12px 20px;margin-bottom:20px;display:flex;align-items:center;gap:12px;color:var(--accent-bright);font-size:14px;line-height:1.5;animation:fadeInDown .5s ease-out;position:relative}.europe-warning svg{flex-shrink:0}.close-warning{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--accent);font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-warning:hover{background:#e8a83826}.home-button{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px;cursor:pointer;transition:all .2s ease;color:var(--text-secondary);display:flex;align-items:center;justify-content:center}.home-button:hover{background:var(--bg-card);border-color:var(--accent-dim);color:var(--accent);transform:translateY(-1px)}.home-button:active{transform:translateY(0)}.home-button svg{width:20px;height:20px;stroke-width:2.5}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}header h1{font-family:var(--font-display);font-size:3.2rem;margin:0;color:var(--text-primary);font-weight:900;letter-spacing:-3px;text-transform:uppercase;position:relative;display:inline-block}header h1:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:40px;height:3px;background:var(--accent);border-radius:2px}.score-display{background:var(--bg-elevated);padding:10px 22px;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;font-family:var(--font-display);border:1px solid var(--border-subtle);color:var(--accent-bright);flex:1 1 auto;text-align:center;max-width:260px;letter-spacing:.5px}.mode-selection{text-align:center;color:#fff;animation:fadeIn .8s ease-out .3s both}.homepage-intro{max-width:680px;margin:0 auto 28px;text-align:center}.homepage-intro p{color:var(--text-secondary);font-family:var(--font-body);font-size:.95rem;line-height:1.7;margin:0}.mode-selection h2{font-family:var(--font-display);font-size:2rem;margin-bottom:24px;font-weight:300;letter-spacing:2px;text-transform:uppercase;color:var(--text-secondary)}.difficulty-selector{margin-bottom:40px;padding:28px;background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.difficulty-selector h3{font-family:var(--font-display);font-size:.85rem;margin-bottom:20px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:2px}.difficulty-toggle{display:flex;gap:16px;justify-content:center;margin-bottom:20px;flex-wrap:wrap}.difficulty-button{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:18px 28px;color:var(--text-secondary);cursor:pointer;transition:all .25s ease;font-size:1rem;font-weight:600;font-family:var(--font-display);text-align:center;min-width:200px;display:flex;flex-direction:column;align-items:center;gap:6px}.difficulty-button:hover{background:#e8a8380d;border-color:#e8a83833;color:var(--text-primary);transform:translateY(-2px)}.difficulty-button.active{background:#e8a83814;border-color:var(--accent);color:var(--accent-bright);box-shadow:0 0 20px #e8a8381a}.difficulty-button small{font-size:.8rem;opacity:.7;font-weight:400;font-family:var(--font-body)}.difficulty-description{font-size:.95rem;color:var(--text-secondary);line-height:1.6;text-align:center;margin:0 auto;max-width:600px}@media(max-width:768px){.difficulty-toggle{flex-direction:column;align-items:center}.difficulty-button{min-width:250px}}.leaderboard-tabs .tab-row{display:flex;justify-content:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.leaderboard-tabs .tab-row:last-child{margin-bottom:20px}.leaderboard-tabs .tab-row .tab-button{flex:0 0 auto!important;width:auto!important}.difficulty-tab-button{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:8px 16px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:.85rem;font-weight:500;font-family:var(--font-display)}.difficulty-tab-button:hover{background:#e8a8380d;color:var(--text-primary)}.difficulty-tab-button.active{background:#e8a8381f;border-color:var(--accent);color:var(--accent-bright);font-weight:600}@media(max-width:768px){.leaderboard-tabs .tab-row{flex-direction:column;align-items:center}.difficulty-tab-button{min-width:120px}}.mode-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;max-width:960px;margin:0 auto}.mode-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:28px 24px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:var(--text-primary);position:relative;overflow:hidden;text-align:left}.mode-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--accent);opacity:0;transition:opacity .3s}.mode-card:hover{transform:translateY(-4px);border-color:#e8a83840;box-shadow:var(--shadow-soft),var(--shadow-glow)}.mode-card:hover:before{opacity:1}.mode-card h3{font-family:var(--font-display);color:var(--text-primary);font-size:1.5rem;margin-bottom:8px;font-weight:700;letter-spacing:-.5px}.endless-badge,.difficult-badge,.recommended-badge,.daily-badge,.timeattack-badge{display:inline-block;font-family:var(--font-display);color:var(--bg-deep);font-size:.65rem;padding:3px 10px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:1px;font-weight:700;margin-bottom:10px}.endless-badge{background:var(--violet-pit);color:#fff}.difficult-badge{background:var(--red-hot);color:#fff}.recommended-badge{background:var(--accent);animation:none}.daily-badge{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.timeattack-badge{background:linear-gradient(135deg,#e84545,#c62828);color:#fff}.login-required{color:var(--accent-dim);font-style:italic;font-size:.85em}.mode-card p{margin-bottom:8px;line-height:1.5}.github-footer{width:100%;padding:20px 0;background:var(--bg-surface);border-top:1px solid var(--border-subtle);text-align:center;margin-top:auto}.footer-links{display:flex;justify-content:center;gap:24px;margin-bottom:14px}.footer-links a{color:var(--text-secondary);text-decoration:none;font-size:13px;font-family:var(--font-body);transition:color .2s ease}.footer-links a:hover{color:var(--accent)}.github-badge{display:inline-flex;align-items:center;gap:8px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:8px 16px;color:var(--text-secondary);font-size:13px;transition:all .2s ease;font-family:var(--font-body)}.github-badge:hover{border-color:var(--border-visible);color:var(--text-primary);transform:translateY(-1px)}.github-badge svg{color:var(--text-secondary);transition:color .2s ease}.github-badge:hover svg{color:var(--accent)}.github-badge a{color:var(--text-primary);text-decoration:none;font-weight:600;transition:color .2s ease}.github-badge:hover a{color:var(--accent)}.footer-content{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.coffee-button{display:inline-flex;align-items:center;gap:8px;background:var(--accent);border:none;border-radius:var(--radius-sm);padding:8px 16px;color:var(--bg-deep);font-size:13px;font-weight:700;font-family:var(--font-display);text-decoration:none;transition:all .2s ease;cursor:pointer}.coffee-button:hover{transform:translateY(-1px);box-shadow:0 4px 16px #e8a83859;background:var(--accent-bright)}.coffee-button svg{color:var(--bg-deep)}.footer-copyright{margin-top:12px;color:var(--text-muted);font-size:12px;font-family:var(--font-body)}@media(max-width:768px){.github-footer{padding:15px 0}.footer-content{gap:10px}.github-badge{padding:7px 12px;font-size:12px}.github-badge svg{width:14px;height:14px}.coffee-button{padding:7px 12px;font-size:12px}.coffee-button svg{width:16px;height:16px}}.mode-description{font-size:.9rem;color:var(--text-muted);line-height:1.5}.game-area{background:var(--bg-surface);border-radius:var(--radius-xl);padding:36px;box-shadow:var(--shadow-strong);border:1px solid var(--border-subtle);animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.car-display{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:32px}.car-images{position:relative;border-radius:var(--radius-lg);overflow:hidden}.image-gallery{width:100%}.main-car-image{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);margin-bottom:12px;transition:all .3s ease;image-rendering:-webkit-optimize-contrast;image-rendering:high-quality}.main-car-image:hover{transform:scale(1.01)}.thumbnail-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.thumbnail{width:80px;height:60px;object-fit:cover;border-radius:var(--radius-sm);cursor:pointer;opacity:.4;transition:all .2s ease;border:2px solid transparent;flex-shrink:0}.thumbnail:hover{opacity:.8}.thumbnail.active{opacity:1;border-color:var(--accent);box-shadow:0 0 12px #e8a8384d}.car-info h2{font-family:var(--font-display);color:var(--text-primary);font-size:1.8rem;margin-bottom:20px;font-weight:700;letter-spacing:-.5px;line-height:1.2}.car-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.detail-row{display:flex;justify-content:space-between;padding:10px 14px;background:var(--bg-elevated);border-radius:var(--radius-sm);transition:all .2s ease;border:1px solid transparent}#trimRow{margin-bottom:12px;background:#e8a8380f;border:1px solid rgba(232,168,56,.12)}#trimRow:hover{background:#e8a8381a;border-color:#e8a83833}.detail-row:hover{background:#ffffff0a;border-color:var(--border-subtle)}.detail-label{font-weight:600;color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-display)}.detail-value{color:var(--text-primary);font-weight:500;font-size:.9rem}.guess-section{text-align:center;background:var(--bg-elevated);padding:36px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);position:relative;overflow:hidden}.guess-section:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.guess-section h3{font-family:var(--font-display);color:var(--text-primary);font-size:1.5rem;margin-bottom:24px;font-weight:600;position:relative;letter-spacing:-.3px}.price-input-container{display:flex;align-items:center;justify-content:center;margin-bottom:20px;gap:12px;position:relative}.price-input-wrapper{position:relative;display:inline-block}.currency{font-family:var(--font-display);font-size:2.2rem;color:var(--accent);font-weight:800}.price-input{width:220px;padding:16px;font-size:1.6rem;font-family:var(--font-display);background:var(--bg-deep);border:2px solid var(--border-visible);border-radius:var(--radius-md);text-align:center;outline:none;color:transparent;font-weight:700;transition:all .2s ease;caret-color:var(--accent)}.price-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:700;font-family:var(--font-display);color:var(--text-primary);pointer-events:none;border-radius:var(--radius-md);transition:all .2s ease}.price-input:focus{border-color:var(--accent);background:#e8a8380a;box-shadow:0 0 0 3px #e8a8381f;transform:scale(1.02)}.price-input:focus+.price-overlay{transform:scale(1.02)}.price-input::placeholder,.price-input::-webkit-input-placeholder,.price-input::-moz-placeholder{color:transparent;opacity:0}.price-slider-container{margin-bottom:28px;position:relative}.price-slider{width:100%;max-width:560px;height:6px;-webkit-appearance:none;appearance:none;background:var(--bg-deep);border-radius:3px;outline:none;position:relative;border:1px solid var(--border-subtle)}.price-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;background:var(--accent);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #e8a83866;transition:all .2s ease}.price-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 4px 16px #e8a83880}.slider-labels{display:flex;justify-content:space-between;max-width:560px;margin:12px auto 0;color:var(--text-muted);font-size:.8rem;font-weight:500;font-family:var(--font-display);position:relative}.slider-labels .mid-label{position:absolute;left:50%;transform:translate(-50%);color:var(--accent);font-weight:600}.slider-help{text-align:center;margin:8px auto 0;max-width:560px}.slider-help small{color:var(--text-muted);font-size:.75rem;font-style:italic}.submit-button{background:var(--accent);color:var(--bg-deep);border:none;padding:16px 52px;font-size:1.1rem;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;font-weight:700;font-family:var(--font-display);text-transform:uppercase;letter-spacing:2px;position:relative;overflow:hidden;box-shadow:0 4px 16px #e8a8384d}.submit-button:hover{transform:translateY(-2px);box-shadow:0 6px 24px #e8a83873;background:var(--accent-bright)}.submit-button:active{transform:translateY(0)}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;align-items:flex-start;justify-content:center;overflow-y:auto;padding:20px 0}.modal-content{background:var(--bg-surface);padding:40px;border-radius:var(--radius-xl);max-width:520px;width:90%;text-align:center;animation:modalSlide .35s cubic-bezier(.175,.885,.32,1.275);border:1px solid var(--border-subtle);box-shadow:var(--shadow-strong);margin:20px auto;position:relative}@keyframes modalSlide{0%{transform:translateY(-30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-content h2{font-family:var(--font-display);color:var(--text-primary);font-size:2rem;margin-bottom:24px;font-weight:800;letter-spacing:-1px}.result-details{margin-bottom:24px}.result-details p{margin-bottom:12px;font-size:1.1rem;color:var(--text-secondary)}.price-highlight{font-weight:700;color:var(--accent);font-size:1.3rem;font-family:var(--font-display)}.result-message{font-size:1rem;color:var(--text-secondary);margin-bottom:24px;line-height:1.6}.original-link-container{margin:20px 0;text-align:center}.original-link{display:inline-block;background:#e8a83814;color:var(--accent);padding:12px 24px;text-decoration:none;border-radius:var(--radius-sm);font-size:.95rem;transition:all .2s ease;border:1px solid rgba(232,168,56,.2);font-weight:600;font-family:var(--font-display)}.original-link:hover{background:#e8a83826;transform:translateY(-1px);color:var(--accent-bright)}.final-score{font-family:var(--font-display);font-size:2.2rem;color:var(--accent);margin-bottom:28px;font-weight:800;letter-spacing:-1px}.modal-buttons{display:flex;gap:12px;justify-content:center}.next-button,.end-button,.play-again-button{padding:14px 32px;border:none;border-radius:var(--radius-sm);font-size:1rem;cursor:pointer;transition:all .2s ease;font-weight:700;font-family:var(--font-display);text-transform:uppercase;letter-spacing:1px}.next-button,.play-again-button{background:var(--accent);color:var(--bg-deep);box-shadow:0 4px 16px #e8a8384d}.end-button{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-visible)}.next-button:hover,.play-again-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #e8a83873;background:var(--accent-bright)}.end-button:hover{background:#ffffff0f;transform:translateY(-1px);color:var(--text-primary)}.loading{display:inline-block;width:20px;height:20px;border:2px solid rgba(255,255,255,.15);border-radius:50%;border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.top-nav{flex-wrap:wrap;justify-content:center;gap:8px}.score-display{max-width:none;width:auto;flex:0 1 auto}header h1{font-size:2.2rem}.car-display{grid-template-columns:1fr}.main-car-image{aspect-ratio:4/3;object-fit:cover}.car-details{grid-template-columns:1fr}.mode-cards{grid-template-columns:1fr;gap:12px;padding:0}.mode-card{width:100%;min-width:unset;padding:22px 18px}.mode-card h3{font-size:1.4rem}.mode-description{font-size:.85rem}.endless-badge,.difficult-badge,.recommended-badge,.daily-badge,.timeattack-badge{font-size:.6rem;padding:2px 8px;margin-bottom:6px}.modal{padding:10px 0}.modal-content{width:95%;padding:28px 18px;margin:10px auto;max-height:90vh;overflow-y:auto}.leaderboard-content{width:100%;max-width:none}.modal-content h2{font-size:1.6rem;margin-bottom:18px}.leaderboard-content-area{max-height:50vh}.close-button{position:sticky;bottom:0;width:100%;margin-top:16px;padding:14px;background:var(--red-hot);border-radius:var(--radius-md)}.price-input{width:160px;font-size:1.3rem}.name-input{width:240px;font-size:1rem}.modal-buttons{flex-direction:column;width:100%}.next-button,.end-button,.play-again-button,.submit-score-button,.skip-button,.close-button{width:100%;margin:4px 0}.thumbnail{width:65px;height:50px}.leaderboard-tabs{flex-direction:column;gap:4px}.challenges-tabs .tab-button{width:100%}.leaderboard-header{display:none}.leaderboard-entry{flex-direction:column;text-align:center;padding:12px 14px}.leaderboard-rank,.leaderboard-name,.leaderboard-score{margin:3px 0}.leaderboard-name{max-width:none;white-space:normal;word-break:break-word}.leaderboard-date{margin:3px 0 0;min-width:auto;text-align:center}}@media(max-width:480px){.top-nav{flex-direction:column;align-items:center;gap:6px}}.auction-details{margin-top:24px;background:var(--bg-elevated);border-radius:var(--radius-md);padding:20px;border:1px solid var(--border-subtle)}.auction-details h3{font-family:var(--font-display);color:var(--accent);margin-bottom:16px;font-size:1.2rem;text-align:center;border-bottom:1px solid rgba(232,168,56,.2);padding-bottom:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.key-facts h4,.description h4{font-family:var(--font-display);color:var(--blue-steel);margin-bottom:12px;font-size:1rem;display:flex;align-items:center;font-weight:600}.key-facts h4:before{content:"•";margin-right:8px;color:var(--accent)}.description h4:before{content:"•";margin-right:8px;color:var(--accent)}.key-facts-list{list-style:none;padding:0}.key-facts-list li{background:#e8a8380a;margin:6px 0;padding:10px 14px;border-radius:var(--radius-sm);border-left:3px solid var(--accent-dim);font-size:.9rem;transition:all .2s ease;color:var(--text-secondary)}.key-facts-list li:hover{background:#e8a83814;transform:translate(3px)}.description-text{background:#5b8def0d;padding:14px;border-radius:var(--radius-sm);border-left:3px solid var(--blue-steel);line-height:1.6;font-size:.9rem;margin:0;color:var(--text-secondary)}.detail-row{transition:all .2s ease}.detail-row:hover{background:#ffffff08;transform:translate(2px)}.challenge-breakdown{margin:20px 0;text-align:left}.challenge-breakdown h3{font-family:var(--font-display);color:var(--accent);text-align:center;margin-bottom:16px;font-size:1.1rem;font-weight:700}.challenge-results{max-height:300px;overflow-y:auto;padding:8px;background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.challenge-result-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;margin:4px 0;background:var(--bg-card);border-radius:var(--radius-sm);font-size:.85rem}.challenge-result-car{flex:1;font-weight:500}.challenge-result-accuracy{color:var(--text-muted);margin:0 10px}.challenge-result-points{color:var(--accent);font-weight:700;min-width:80px;text-align:right;font-family:var(--font-display)}.challenge-progress{background:var(--bg-elevated);border-radius:var(--radius-md);padding:14px;margin:16px 0;text-align:center;border:1px solid var(--border-subtle)}.challenge-progress h4{font-family:var(--font-display);color:var(--accent);margin-bottom:8px;font-size:1rem;font-weight:600}.challenge-progress-bar{background:var(--bg-deep);height:6px;border-radius:3px;overflow:hidden;margin:8px 0}.challenge-progress-fill{background:var(--accent);height:100%;transition:width .3s ease;border-radius:3px}.leaderboard-button{background:var(--bg-elevated);padding:10px 18px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;font-family:var(--font-display);border:1px solid var(--border-subtle);color:var(--accent);cursor:pointer;transition:all .2s ease}.leaderboard-button:hover{background:#e8a83814;border-color:#e8a83840;transform:translateY(-1px)}.leaderboard-content{max-width:700px;width:95%}.leaderboard-tabs{display:flex;justify-content:center;gap:6px;margin-bottom:20px}.tab-button{background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-muted);padding:10px 20px;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;font-weight:600;font-family:var(--font-display);font-size:.85rem}.tab-button.active{background:var(--accent);color:var(--bg-deep);border-color:var(--accent)}.tab-button:hover:not(.active){background:#e8a8380f;color:var(--text-primary);border-color:var(--border-visible)}.leaderboard-content-area{max-height:400px;overflow-y:auto;margin-bottom:16px}.leaderboard-entry{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;margin:4px 0;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid transparent;transition:all .2s ease}.leaderboard-entry:hover{background:#ffffff0a;border-color:var(--border-subtle)}.leaderboard-entry.top-3{background:#e8a8380f;border-color:#e8a83826}.leaderboard-rank{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--accent);min-width:40px}.leaderboard-rank.top-3{color:var(--accent-bright)}.leaderboard-name{flex:1;font-weight:500;color:var(--text-primary);margin:0 10px;min-width:120px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-score{font-weight:700;color:var(--accent);font-size:1rem;min-width:70px;text-align:right;font-family:var(--font-display)}.leaderboard-date{font-size:.7rem;color:var(--text-muted);margin-left:10px;min-width:85px;text-align:right}.leaderboard-empty{text-align:center;color:var(--text-muted);padding:40px 20px;font-style:italic}.leaderboard-header{display:flex;align-items:center;padding:10px 16px;margin-bottom:4px;font-size:.7rem;font-weight:700;font-family:var(--font-display);color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--border-subtle)}.leaderboard-header .header-rank{min-width:40px;text-align:left}.leaderboard-header .header-name{flex:1;margin:0 10px;min-width:120px;max-width:280px}.leaderboard-header .header-score{min-width:70px;text-align:right}.leaderboard-header .header-date{min-width:85px;text-align:right;margin-left:10px}.loading-spinner{width:28px;height:28px;border:2px solid rgba(255,255,255,.08);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}.retry-button{margin-top:12px;padding:10px 24px;background:#e8a83814;border:1px solid rgba(232,168,56,.25);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;transition:all .2s ease;font-family:var(--font-display);font-weight:600}.retry-button:hover{background:#e8a83826;transform:translateY(-1px)}.name-input-container{margin:20px 0;text-align:center}.name-input{width:280px;max-width:100%;padding:14px;font-size:1.1rem;font-family:var(--font-display);background:var(--bg-deep);border:2px solid var(--border-visible);border-radius:var(--radius-md);text-align:center;outline:none;color:var(--text-primary);font-weight:600;transition:all .2s ease}.name-input:focus{border-color:var(--accent);background:#e8a8380a;box-shadow:0 0 0 3px #e8a8381a}.name-input::placeholder{color:var(--text-muted)}.name-help{margin-top:6px}.name-help small{color:var(--text-muted);font-size:.75rem}.submit-score-button{background:var(--accent);color:var(--bg-deep);border:none;padding:14px 32px;font-size:1rem;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;font-weight:700;font-family:var(--font-display);text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 16px #e8a8384d}.submit-score-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #e8a83873;background:var(--accent-bright)}.skip-button,.close-button{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-visible);padding:14px 32px;font-size:1rem;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;font-weight:600;font-family:var(--font-display);text-transform:uppercase;letter-spacing:1px}.skip-button:hover,.close-button:hover{background:#ffffff0f;transform:translateY(-1px);color:var(--text-primary)}.nav-buttons{display:flex;gap:8px;align-items:center}.auth-section{display:flex;align-items:center;gap:8px}.auth-button{background:#e8a83814;color:var(--accent);border:1px solid rgba(232,168,56,.25);padding:8px 16px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-display);transition:all .2s ease}.auth-button:hover{background:#e8a83826;border-color:var(--accent)}.user-menu{position:relative}.user-button{background:#3dd68c14;color:var(--green-go);border:1px solid rgba(61,214,140,.25);padding:8px 14px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-display);display:flex;align-items:center;gap:6px;transition:all .2s ease}.user-button:hover{background:#3dd68c26;border-color:var(--green-go)}.user-dropdown{position:absolute;top:100%;right:0;margin-top:6px;background:var(--bg-surface);border:1px solid var(--border-visible);border-radius:var(--radius-md);padding:6px;min-width:170px;box-shadow:var(--shadow-strong);z-index:1000}.user-dropdown a{display:block;padding:10px 14px;color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-sm);transition:all .15s ease;font-size:13px;font-family:var(--font-body)}.user-dropdown a:hover{background:#e8a83814;color:var(--accent)}.challenges-button{background:#9b6dff14;color:var(--violet-pit);border:1px solid rgba(155,109,255,.25);padding:8px 14px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-display);transition:all .2s ease}.challenges-button:hover{background:#9b6dff26;border-color:var(--violet-pit)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease}.modal-content{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:32px;max-width:440px;width:90%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease}.modal-close{position:absolute;top:14px;right:14px;background:none;border:none;color:var(--text-muted);font-size:24px;cursor:pointer;transition:color .2s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.modal-close:hover{color:var(--text-primary);background:var(--bg-elevated)}.auth-modal h2,.challenge-modal h2{text-align:center;font-family:var(--font-display);color:var(--text-primary);margin-bottom:24px;font-size:24px;font-weight:700;letter-spacing:-.5px}.form-group{margin-bottom:18px}.form-group label{display:block;color:var(--text-muted);margin-bottom:6px;font-size:12px;font-weight:600;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select{width:100%;padding:12px 14px;background:var(--bg-deep);border:1px solid var(--border-visible);border-radius:var(--radius-sm);color:var(--text-primary);font-size:15px;font-family:var(--font-body);transition:all .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #e8a8381a}.form-group small{display:block;color:var(--text-muted);margin-top:4px;font-size:11px}.auth-submit-btn,.challenge-submit-btn{width:100%;padding:14px;background:var(--accent);color:var(--bg-deep);border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:700;font-family:var(--font-display);cursor:pointer;transition:all .2s ease;margin-top:8px;text-transform:uppercase;letter-spacing:1px}.auth-submit-btn:hover,.challenge-submit-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #e8a8384d;background:var(--accent-bright)}.auth-submit-btn.secondary{background:var(--violet-pit);color:#fff}.auth-submit-btn.secondary:hover{box-shadow:0 6px 20px #9b6dff4d}.security-question-text{background:#9b6dff0f;border:1px solid rgba(155,109,255,.15);border-radius:var(--radius-sm);padding:12px 14px;font-style:italic;color:var(--text-muted);margin:6px 0;font-size:13px;line-height:1.5}.guide-modal{max-width:660px;max-height:90vh;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-strong)}.guide-modal h2{font-family:var(--font-display);color:var(--text-primary);margin-bottom:20px;font-size:22px;text-align:center;font-weight:700}.guide-content{padding:0}.guide-section{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-subtle)}.guide-section:last-child{border-bottom:none;margin-bottom:12px}.guide-section h3{font-family:var(--font-display);color:var(--text-primary);margin-bottom:10px;font-size:16px;font-weight:600}.guide-section p{color:var(--text-secondary);line-height:1.6;margin-bottom:12px}.guide-steps{display:flex;flex-direction:column;gap:12px;margin-top:12px}.step{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--bg-elevated);border-radius:var(--radius-sm);border-left:3px solid var(--accent)}.step-number{font-size:16px;flex-shrink:0}.step-content strong{color:var(--text-primary);display:block;margin-bottom:4px;font-family:var(--font-display)}.step-content p{color:var(--text-secondary);margin:0;font-size:13px}.guide-list{list-style:none;padding:0;margin:0}.guide-list li{padding:8px 0;color:var(--text-secondary);line-height:1.5;border-bottom:1px solid var(--border-subtle);font-size:.9rem}.guide-list li:last-child{border-bottom:none}.guide-list li strong{color:var(--text-primary)}.guide-cta{text-align:center;padding:20px;background:#e8a8380f;border-radius:var(--radius-md);margin-top:16px;border:1px solid rgba(232,168,56,.15)}.guide-cta p{margin-bottom:12px;font-size:15px;color:var(--text-primary)}.cta-button{background:var(--accent);color:var(--bg-deep);border:none;padding:12px 24px;border-radius:var(--radius-sm);font-size:14px;font-weight:700;font-family:var(--font-display);cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:1px}.cta-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #e8a8384d;background:var(--accent-bright)}.challenge-action-btn.guide-btn{background:var(--violet-pit);color:#fff;border-color:var(--violet-pit)}.challenge-action-btn.guide-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #9b6dff4d}.auth-divider{text-align:center;color:var(--text-muted);margin:18px 0;position:relative;font-size:12px;font-family:var(--font-display);text-transform:uppercase;letter-spacing:1px}.auth-divider:before,.auth-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--border-subtle)}.auth-divider:before{left:0}.auth-divider:after{right:0}.guest-btn{width:100%;padding:12px;background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font-display);cursor:pointer;transition:all .2s ease}.guest-btn:hover{background:#ffffff0a;color:var(--text-primary);border-color:var(--border-visible)}.auth-switch{text-align:center;color:var(--text-muted);margin-top:18px;font-size:13px}.auth-switch a{color:var(--accent);text-decoration:none;font-weight:600}.auth-switch a:hover{text-decoration:underline}.friend-challenge-section{margin-top:36px;animation:fadeIn .5s ease}.challenge-divider{text-align:center;margin-bottom:20px;position:relative}.challenge-divider span{background:var(--bg-deep);padding:0 16px;color:var(--text-muted);font-size:12px;font-weight:700;font-family:var(--font-display);position:relative;z-index:1;text-transform:uppercase;letter-spacing:2px}.challenge-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-subtle)}.challenge-options{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.challenge-action-btn{display:flex;align-items:center;gap:8px;padding:14px 20px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:14px;font-weight:600;font-family:var(--font-display);cursor:pointer;transition:all .2s ease;min-width:190px;justify-content:center}.create-btn{border-color:#3dd68c33}.create-btn:hover{background:#3dd68c14;border-color:var(--green-go);color:var(--green-go);transform:translateY(-2px)}.join-btn{border-color:#9b6dff33}.join-btn:hover{background:#9b6dff14;border-color:var(--violet-pit);color:var(--violet-pit);transform:translateY(-2px)}.challenge-code-display{text-align:center;margin:20px 0}.challenge-code-display p{color:var(--text-secondary);margin-bottom:14px}.code-box{display:flex;align-items:center;justify-content:center;gap:14px;background:var(--bg-deep);border:2px solid rgba(232,168,56,.25);border-radius:var(--radius-md);padding:14px 20px;margin:0 auto;max-width:280px}.code-box span{font-family:var(--font-display);font-size:28px;font-weight:800;color:var(--accent);letter-spacing:4px}.copy-btn{background:#e8a8381a;color:var(--accent);border:1px solid rgba(232,168,56,.3);padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-family:var(--font-display);font-weight:600;transition:all .2s ease}.copy-btn:hover{background:#e8a83833}.challenge-info{text-align:center;color:var(--text-secondary);margin:14px 0;font-size:13px}.challenge-start-btn{display:block;margin:20px auto 0;padding:14px 28px;background:var(--green-go);color:var(--bg-deep);border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:700;font-family:var(--font-display);cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:1px}.challenge-start-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3dd68c4d}.challenge-code-info{text-align:center;margin-bottom:20px;font-size:15px;color:var(--text-secondary)}.code-highlight{color:var(--accent);font-weight:700;font-family:var(--font-display);letter-spacing:2px}.challenge-participants{max-height:400px;overflow-y:auto;padding:6px}.participant-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:6px;transition:all .2s ease}.participant-item:hover{background:#ffffff0a;border-color:var(--border-visible)}.participant-rank{font-family:var(--font-display);font-size:18px;font-weight:800;color:var(--accent);min-width:36px}.participant-name{flex:1;font-size:15px;color:var(--text-primary);margin:0 14px;font-weight:500}.participant-score{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--green-go)}.participant-status{font-size:11px;color:var(--text-muted);margin-left:10px;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.5px}.participant-status.completed{color:var(--green-go)}.refresh-btn{display:block;margin:16px auto 0;padding:10px 20px;background:#e8a8380f;color:var(--accent);border:1px solid rgba(232,168,56,.2);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-family:var(--font-display);font-weight:600;transition:all .2s ease}.refresh-btn:hover{background:#e8a8381f}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.challenges-modal{max-width:760px;width:90%;max-height:80vh;overflow-y:auto}.challenges-tabs{display:flex;margin-bottom:18px;border-bottom:1px solid var(--border-subtle)}.challenges-tabs .tab-button{flex:1;padding:12px 18px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:all .2s ease;font-size:14px;font-family:var(--font-display);font-weight:600;border-bottom:2px solid transparent;border-radius:0;box-shadow:none}.challenges-tabs .tab-button.active{color:var(--accent);border-bottom-color:var(--accent);background:transparent}.challenges-tabs .tab-button:hover{color:var(--text-primary);background:#ffffff05}.challenge-list{min-height:200px}.challenge-item{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:18px;margin-bottom:12px;transition:all .2s ease}.challenge-item:hover{background:#ffffff0a;border-color:#e8a83826}.challenge-item.expired{opacity:.5}.challenge-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.challenge-header h4{font-family:var(--font-display);color:var(--text-primary);font-size:16px;margin:0;font-weight:600}.challenge-status{font-size:12px;font-family:var(--font-display);padding:3px 8px;border-radius:var(--radius-sm);background:var(--bg-deep);color:var(--text-secondary)}.challenge-details{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px;font-size:13px}.challenge-code{color:var(--accent);font-family:var(--font-display);font-weight:600}.challenge-difficulty{color:var(--text-primary)}.challenge-participants{color:var(--text-muted)}.challenge-creator{color:var(--blue-steel)}.challenge-dates{color:var(--text-muted);font-size:11px;margin-bottom:12px}.challenge-actions{display:flex;flex-wrap:wrap;gap:6px}.action-btn{padding:6px 12px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:11px;transition:all .2s ease;background:var(--bg-deep);color:var(--text-secondary);font-weight:600;font-family:var(--font-display)}.action-btn:hover{background:#ffffff0f;color:var(--text-primary);transform:translateY(-1px)}.copy-btn:hover{color:var(--blue-steel)}.leaderboard-btn:hover{color:var(--accent)}.share-btn:hover{color:var(--green-go)}.resume-btn:hover{color:var(--violet-pit)}.completion-status{color:var(--green-go);font-size:11px;font-weight:700;font-family:var(--font-display);padding:3px 8px;border-radius:var(--radius-sm);background:#3dd68c14}.empty-state,.error-state,.loading-state{text-align:center;padding:40px 20px;color:var(--text-muted)}.create-challenge-btn,.join-challenge-btn{margin-top:12px;padding:10px 18px;background:var(--accent);color:var(--bg-deep);border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-display);font-weight:700;transition:all .2s ease}.create-challenge-btn:hover,.join-challenge-btn:hover{background:var(--accent-bright);transform:translateY(-1px)}.profile-modal{max-width:560px;width:90%}.profile-info{margin-bottom:24px}.profile-field{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-subtle)}.profile-field label{font-weight:600;color:var(--text-muted);font-size:12px;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.5px}.profile-field span{color:var(--text-primary);font-weight:500}.profile-stats h3{font-family:var(--font-display);color:var(--accent);margin-bottom:16px;text-align:center;font-size:.85rem;text-transform:uppercase;letter-spacing:1px;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px}.stat-item{text-align:center;background:var(--bg-elevated);padding:16px;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.stat-value{display:block;font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--accent);margin-bottom:4px}.stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-display)}.profile-streak{background:#e8a8380f;border:1px solid rgba(232,168,56,.15);border-radius:var(--radius-lg);padding:18px;margin-bottom:16px;text-align:center}.streak-display{display:flex;align-items:center;justify-content:center;gap:10px}.streak-icon{font-size:28px}.streak-value{font-family:var(--font-display);font-size:32px;font-weight:800;color:var(--accent)}.streak-label{font-size:14px;color:var(--accent-dim);font-family:var(--font-display)}.streak-best{margin-top:6px;font-size:12px;color:var(--text-muted)}.profile-achievements-preview{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:18px;margin-bottom:16px;text-align:center}.profile-achievements-preview h3{font-family:var(--font-display);color:var(--accent);margin-bottom:12px;font-size:12px;text-transform:uppercase;letter-spacing:1px;font-weight:700}.achievement-icons{display:flex;justify-content:center;gap:8px;margin-bottom:12px}.achievement-icon-small{width:36px;height:36px;background:#e8a83814;border:1px solid rgba(232,168,56,.2);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:18px}.achievement-more{color:var(--text-muted);font-size:13px;display:flex;align-items:center}.view-all-btn{background:transparent;border:1px solid rgba(232,168,56,.3);color:var(--accent);padding:6px 14px;border-radius:var(--radius-sm);font-size:12px;font-family:var(--font-display);font-weight:600;cursor:pointer;transition:all .2s ease}.view-all-btn:hover{background:#e8a83814}.profile-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.profile-action-btn{padding:12px 18px;border-radius:var(--radius-sm);font-size:13px;font-weight:700;font-family:var(--font-display);cursor:pointer;transition:all .2s ease;border:none;text-transform:uppercase;letter-spacing:.5px}.profile-action-btn.stats-btn{background:var(--blue-steel);color:#fff}.profile-action-btn.stats-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #5b8def4d}.profile-action-btn.achievements-btn{background:#e8a83814;border:1px solid rgba(232,168,56,.2);color:var(--accent)}.profile-action-btn.achievements-btn:hover{background:#e8a83826}@media(max-width:768px){.challenges-modal,.profile-modal{width:95%;max-height:90vh}.challenge-details{flex-direction:column;gap:6px}.challenge-actions{justify-content:center}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.tab-button{font-size:13px;padding:10px 14px}}.signup-promotion-section{margin-top:32px;padding:16px 0}.signup-promotion-box{background:var(--bg-surface);border:1px solid rgba(232,168,56,.2);border-radius:var(--radius-lg);padding:28px;text-align:center;margin-top:12px}.promotion-content h3{font-family:var(--font-display);color:var(--accent);font-size:22px;margin-bottom:12px;font-weight:700}.promotion-content p{color:var(--text-secondary);font-size:15px;margin-bottom:16px}.feature-list{list-style:none;padding:0;margin:16px auto;text-align:left;max-width:460px}.feature-list li{color:var(--text-secondary);padding:8px 0;font-size:14px;line-height:1.5;border-bottom:1px solid var(--border-subtle)}.feature-list li:last-child{border-bottom:none}.feature-list li strong{color:var(--text-primary)}.promotion-actions{display:flex;flex-direction:column;gap:12px;margin-top:20px;align-items:center}.secondary-button{background:var(--bg-elevated);color:var(--accent);border:1px solid rgba(232,168,56,.2);padding:10px 20px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;font-family:var(--font-display);cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.secondary-button:hover{background:#e8a83814;border-color:#e8a83859;transform:translateY(-1px)}.challenge-divider span{color:var(--accent);font-weight:700;font-size:12px;letter-spacing:2px;background:var(--bg-deep);-webkit-text-fill-color:unset;background-clip:unset;-webkit-background-clip:unset}@media(max-width:768px){.signup-promotion-box{padding:20px 14px;margin:8px}.promotion-content h3{font-size:18px}.feature-list li{font-size:13px}.promotion-actions{gap:10px}.cta-button,.secondary-button{width:100%;max-width:260px}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease-out}.stats-modal{background:var(--bg-surface);border-radius:var(--radius-xl);max-width:760px;width:100%;max-height:85vh;overflow:hidden;border:1px solid rgba(232,168,56,.15);box-shadow:var(--shadow-strong);animation:modalSlide .3s cubic-bezier(.175,.885,.32,1.275)}.stats-modal-header{background:#e8a8380a;padding:22px 28px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--border-subtle)}.stats-header-content h2{font-family:var(--font-display);color:var(--text-primary);font-size:1.6rem;font-weight:800;margin:0 0 4px;letter-spacing:-.5px}.stats-header-content p{color:var(--text-muted);font-size:.85rem;margin:0}.modal-close-btn{background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-muted);font-size:1.4rem;width:36px;height:36px;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;line-height:1}.modal-close-btn:hover{background:#ffffff0f;color:var(--text-primary)}.stats-modal-content{padding:22px 28px;overflow-y:auto;max-height:calc(85vh - 90px)}.stats-loading,.achievements-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-muted)}.loading-spinner{width:32px;height:32px;border:2px solid var(--border-subtle);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:14px}.stats-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.stat-card{background:var(--bg-elevated);border-radius:var(--radius-md);padding:18px 14px;text-align:center;border:1px solid var(--border-subtle);transition:all .2s ease}.stat-card:hover{transform:translateY(-2px);border-color:#e8a83826}.stat-card-primary{border-top:2px solid var(--accent)}.stat-card-success{border-top:2px solid var(--green-go)}.stat-card-info{border-top:2px solid var(--blue-steel)}.stat-card-warning{border-top:2px solid var(--accent-bright)}.stat-icon{font-size:1.5rem;display:block;margin-bottom:6px}.stat-value{font-family:var(--font-display);font-size:1.6rem;font-weight:800;color:var(--text-primary);display:block;margin-bottom:4px}.stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-display)}.stats-section{background:var(--bg-elevated);border-radius:var(--radius-md);padding:18px;margin-bottom:16px;border:1px solid var(--border-subtle)}.stats-section h3{font-family:var(--font-display);color:var(--text-primary);font-size:.95rem;font-weight:700;margin:0 0 14px;text-transform:uppercase;letter-spacing:.5px}.best-scores-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.best-score-card{display:flex;align-items:center;gap:12px;background:var(--bg-deep);border-radius:var(--radius-sm);padding:14px;border:1px solid var(--border-subtle);transition:all .2s ease}.best-score-card:hover{background:#ffffff08}.best-score-icon{font-size:1.6rem}.best-score-info{display:flex;flex-direction:column}.best-score-value{font-family:var(--font-display);font-size:1.2rem;font-weight:800;color:var(--accent)}.best-score-label{font-size:.8rem;color:var(--text-secondary)}.best-score-games{font-size:.7rem;color:var(--text-muted)}.mode-breakdown{display:flex;flex-direction:column;gap:10px}.mode-bar-item{display:flex;flex-direction:column;gap:4px}.mode-bar-header{display:flex;justify-content:space-between;align-items:center}.mode-bar-label{font-size:.8rem;color:var(--text-secondary);font-family:var(--font-display)}.mode-bar-value{font-size:.8rem;font-weight:700;color:var(--text-primary);font-family:var(--font-display)}.mode-bar-track{height:6px;background:var(--bg-deep);border-radius:3px;overflow:hidden}.mode-bar-fill{height:100%;border-radius:3px;transition:width .5s ease}.leaderboard-ranks-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.rank-card{text-align:center;padding:14px 6px;background:var(--bg-deep);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.rank-value{font-family:var(--font-display);font-size:1.3rem;font-weight:800;color:var(--accent);display:block}.rank-label{font-size:.65rem;color:var(--text-muted);text-transform:capitalize;font-family:var(--font-display)}.stats-empty,.achievements-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-icon{font-size:2.5rem;margin-bottom:14px;opacity:.4}.stats-empty p,.achievements-empty p{color:var(--text-muted);font-size:.95rem}.achievements-modal{background:var(--bg-surface);border-radius:var(--radius-xl);max-width:660px;width:100%;max-height:85vh;overflow:hidden;border:1px solid rgba(232,168,56,.2);box-shadow:var(--shadow-strong);animation:modalSlide .3s cubic-bezier(.175,.885,.32,1.275)}.achievements-modal-header{background:#e8a8380a;padding:22px 28px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--border-subtle)}.achievements-header-content{flex:1}.achievements-header-content h2{font-family:var(--font-display);color:var(--accent);font-size:1.6rem;font-weight:800;margin:0 0 14px;letter-spacing:-.5px}.achievements-progress{display:flex;align-items:center;gap:14px}.progress-text{display:flex;align-items:baseline;gap:4px}.progress-count{font-family:var(--font-display);font-size:1.4rem;font-weight:800;color:var(--accent)}.progress-separator{font-size:.9rem;color:var(--text-muted)}.progress-total{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--text-secondary)}.progress-label{font-size:.75rem;color:var(--text-muted);margin-left:6px;font-family:var(--font-display)}.progress-bar{flex:1;height:6px;background:var(--bg-deep);border-radius:3px;overflow:hidden;min-width:80px}.progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .5s ease}.progress-percentage{font-family:var(--font-display);font-size:.85rem;font-weight:700;color:var(--accent);min-width:36px;text-align:right}.achievements-modal-content{padding:22px 28px;overflow-y:auto;max-height:calc(85vh - 120px)}.achievements-section{margin-bottom:24px}.achievements-section:last-child{margin-bottom:0}.section-title{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:700;font-family:var(--font-display);margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle);text-transform:uppercase;letter-spacing:.5px}.section-title-earned{color:var(--accent)}.section-title-locked{color:var(--text-muted)}.title-icon{font-size:1rem}.achievements-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.achievement-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--radius-md);transition:all .2s ease}.achievement-earned{background:#e8a8380d;border:1px solid rgba(232,168,56,.15)}.achievement-earned:hover{background:#e8a83814;transform:translateY(-1px)}.achievement-locked{background:var(--bg-elevated);border:1px solid var(--border-subtle);opacity:.5}.achievement-locked:hover{opacity:.7}.achievement-icon-wrapper{width:44px;height:44px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.achievement-icon-wrapper.earned{background:var(--accent);box-shadow:0 4px 12px #e8a8384d}.achievement-icon-wrapper.locked{background:var(--bg-deep);filter:grayscale(1)}.achievement-icon{font-size:1.3rem}.achievement-info{display:flex;flex-direction:column;gap:2px;min-width:0}.achievement-name{font-family:var(--font-display);font-size:.9rem;font-weight:600;color:var(--text-primary)}.achievement-locked .achievement-name{color:var(--text-muted)}.achievement-description{font-size:.75rem;color:var(--text-muted);line-height:1.4}.achievement-date{font-size:.65rem;color:var(--accent-dim);margin-top:2px;font-family:var(--font-display)}@media(max-width:768px){.stats-modal,.achievements-modal{max-height:90vh;border-radius:var(--radius-lg)}.stats-modal-header,.achievements-modal-header,.stats-modal-content,.achievements-modal-content{padding:18px}.stats-overview-grid{grid-template-columns:repeat(2,1fr)}.best-scores-grid{grid-template-columns:1fr}.leaderboard-ranks-grid{grid-template-columns:repeat(2,1fr)}.achievements-grid{grid-template-columns:1fr}.achievements-progress{flex-wrap:wrap;gap:8px}.progress-bar{order:3;width:100%;flex:none}.stat-value,.stats-header-content h2,.achievements-header-content h2{font-size:1.3rem}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes promotionGlow{0%{box-shadow:var(--shadow-soft)}to{box-shadow:var(--shadow-soft),0 0 20px #e8a83814}}.legal-page{display:flex;justify-content:center;padding:20px}.legal-content{max-width:720px;width:100%;color:var(--text-primary);font-family:var(--font-body);line-height:1.7}.legal-content h2{font-family:var(--font-display);font-size:1.8rem;color:var(--accent);margin-bottom:8px}.legal-updated{color:var(--text-muted);font-size:.85rem;margin-bottom:32px}.legal-content h3{font-family:var(--font-display);font-size:1.2rem;color:var(--text-primary);margin-top:28px;margin-bottom:10px}.legal-content h4{font-family:var(--font-display);font-size:1rem;color:var(--text-secondary);margin-top:18px;margin-bottom:8px}.legal-content p{color:var(--text-secondary);font-size:.95rem;margin-bottom:12px}.legal-content ul{color:var(--text-secondary);font-size:.95rem;margin:8px 0 16px 20px;padding:0}.legal-content li{margin-bottom:6px}.legal-content a{color:var(--accent);text-decoration:none;transition:color .2s ease}.legal-content a:hover{color:var(--accent-bright);text-decoration:underline}.legal-content section{margin-bottom:8px}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--bg-elevated);border-top:1px solid var(--border-visible);padding:16px 24px;z-index:5000;box-shadow:0 -4px 24px #0006}.cookie-banner-content{max-width:960px;margin:0 auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.cookie-banner-content p{flex:1;margin:0;color:var(--text-secondary);font-size:13px;font-family:var(--font-body);line-height:1.5;min-width:200px}.cookie-banner-content a{color:var(--accent);text-decoration:none}.cookie-banner-content a:hover{text-decoration:underline}.cookie-banner-actions{display:flex;gap:10px;flex-shrink:0}.cookie-btn-decline{background:transparent;border:1px solid var(--border-visible);color:var(--text-secondary);padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-family:var(--font-display);font-weight:600;cursor:pointer;transition:all .2s ease}.cookie-btn-decline:hover{border-color:var(--text-secondary);color:var(--text-primary)}.cookie-btn-accept{background:var(--accent);border:none;color:var(--bg-deep);padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-family:var(--font-display);font-weight:700;cursor:pointer;transition:all .2s ease}.cookie-btn-accept:hover{background:var(--accent-bright);box-shadow:0 4px 16px #e8a83859}@media(max-width:768px){.legal-content{padding:0 8px}.legal-content h2{font-size:1.5rem}.cookie-banner-content{flex-direction:column;text-align:center}.cookie-banner-actions{width:100%;justify-content:center}.footer-links{gap:16px}}.app{min-height:100vh;display:flex;flex-direction:column}.app .container{flex:1}.toast{position:fixed;bottom:20px;right:20px;padding:12px 20px;background:var(--bg-surface);color:var(--text-primary);border-radius:var(--radius-sm);border:1px solid var(--border-visible);box-shadow:var(--shadow-strong);opacity:0;transform:translateY(16px);transition:all .25s ease;z-index:3000;max-width:300px;font-family:var(--font-body);font-size:14px}.toast.show{opacity:1;transform:translateY(0)}.toast-success{border-left:3px solid var(--green-go)}.toast-error{border-left:3px solid var(--red-hot)}.toast-info{border-left:3px solid var(--blue-steel)}@media(max-width:768px){.toast{bottom:60px;right:10px;left:10px;max-width:none}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-6px)}20%,40%,60%,80%{transform:translate(6px)}}
