:root{--bg-primary:#0f0f1a;--bg-secondary:#16162a;--bg-card:#1e1e35;--bg-hover:#252540;--accent:#7c3aed;--accent-light:#a855f7;--accent-glow:#7c3aed4d;--accent2:#06b6d4;--accent2-glow:#06b6d44d;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--border:#2d2d4e;--border-light:#3d3d5e;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--star:#fbbf24;--radius:12px;--radius-sm:8px;--radius-lg:16px;--shadow:0 4px 20px #0006;--shadow-card:0 8px 32px #00000080;--transition:all 0.2s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:#0f0f1a;background:var(--bg-primary);color:#f1f5f9;color:var(--text-primary);font-family:Inter,system-ui,sans-serif;line-height:1.6;min-height:100vh}h1,h2,h3,h4,h5{font-family:Space Grotesk,Inter,sans-serif;font-weight:700;line-height:1.2}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font-family:inherit;font-size:inherit}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#16162a;background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:#3d3d5e;background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#7c3aed;background:var(--accent)}.container{margin:0 auto;max-width:1280px;padding:0 1.5rem}.flex{display:flex}.flex-center{align-items:center;display:flex;justify-content:center}.grid{display:grid}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.card{background:#1e1e35;background:var(--bg-card);border:1px solid #2d2d4e;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius-lg);overflow:hidden;transition:all .2s ease;transition:var(--transition)}.card:hover{border-color:#7c3aed;border-color:var(--accent);box-shadow:0 8px 32px #00000080;box-shadow:var(--shadow-card);transform:translateY(-2px)}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.6rem 1.2rem;transition:all .2s ease;transition:var(--transition);white-space:nowrap}.btn-primary{background:#7c3aed;background:var(--accent);color:#fff}.btn-primary:hover{background:#a855f7;background:var(--accent-light);box-shadow:0 0 20px #7c3aed4d;box-shadow:0 0 20px var(--accent-glow)}.btn-secondary{background:#0000;border:1px solid #2d2d4e;border:1px solid var(--border);color:#f1f5f9;color:var(--text-primary)}.btn-secondary:hover{border-color:#7c3aed;border-color:var(--accent);color:#a855f7;color:var(--accent-light)}.btn-danger{background:#0000;border:1px solid #ef4444;border:1px solid var(--danger);color:#ef4444;color:var(--danger)}.btn-danger:hover{background:#ef4444;background:var(--danger);color:#fff}.btn-sm{font-size:.8rem;padding:.4rem .8rem}.btn:disabled{cursor:not-allowed;opacity:.5}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{color:#94a3b8;color:var(--text-secondary);font-size:.875rem;font-weight:500}.form-input,.form-select,.form-textarea{background:#16162a;background:var(--bg-secondary);border:1px solid #2d2d4e;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#f1f5f9;color:var(--text-primary);font-size:.9rem;padding:.75rem 1rem;transition:all .2s ease;transition:var(--transition);width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#7c3aed;border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed4d;box-shadow:0 0 0 3px var(--accent-glow);outline:none}.form-textarea{min-height:100px;resize:vertical}.form-select option{background:#1e1e35;background:var(--bg-card)}.badge{align-items:center;border-radius:100px;display:inline-flex;font-size:.75rem;font-weight:600;padding:.2rem .6rem}.stars{display:flex;gap:2px}.star{cursor:pointer;font-size:1rem;transition:all .2s ease;transition:var(--transition)}.star.filled{color:#fbbf24;color:var(--star)}.star.empty{color:#64748b;color:var(--text-muted)}.star:hover{transform:scale(1.2)}.rating-pill{align-items:center;background:#16162a;background:var(--bg-secondary);border:1px solid #2d2d4e;border:1px solid var(--border);border-radius:100px;display:inline-flex;font-size:.8rem;font-weight:700;gap:.3rem;padding:.2rem .6rem}.spinner{animation:spin .8s linear infinite;border:3px solid #2d2d4e;border-top-color:#7c3aed;border:3px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.loading-container{align-items:center;color:#94a3b8;color:var(--text-secondary);display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:300px}.page-header{border-bottom:1px solid #2d2d4e;border-bottom:1px solid var(--border);margin-bottom:2rem;padding:2rem 0 1.5rem}.page-title{font-size:2rem;margin-bottom:.25rem}.empty-state,.page-subtitle{color:#94a3b8;color:var(--text-secondary)}.empty-state{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 2rem;text-align:center}.empty-state-icon{font-size:4rem;opacity:.5}.empty-state h3{color:#f1f5f9;color:var(--text-primary)}.toast-container{bottom:1.5rem;display:flex;flex-direction:column;gap:.75rem;position:fixed;right:1.5rem;z-index:9999}.toast{align-items:center;animation:slideIn .3s ease;background:#1e1e35;background:var(--bg-card);border:1px solid #2d2d4e;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);box-shadow:0 8px 32px #00000080;box-shadow:var(--shadow-card);display:flex;font-size:.9rem;font-weight:500;gap:.75rem;max-width:400px;min-width:280px;padding:.875rem 1.25rem}.toast.success{border-left:4px solid #22c55e;border-left:4px solid var(--success)}.toast.error{border-left:4px solid #ef4444;border-left:4px solid var(--danger)}.toast.info{border-left:4px solid #06b6d4;border-left:4px solid var(--accent2)}@keyframes slideIn{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}.modal-backdrop{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{animation:slideUp .3s ease;background:#1e1e35;background:var(--bg-card);border:1px solid #2d2d4e;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius-lg);max-height:90vh;max-width:500px;overflow-y:auto;padding:2rem;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.modal-title{font-size:1.3rem}.modal-close{background:#0000;border:none;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:1.5rem;line-height:1;transition:all .2s ease;transition:var(--transition)}.modal-close:hover{color:#f1f5f9;color:var(--text-primary)}.pagination{flex-wrap:wrap;gap:.5rem;margin-top:2rem}.page-btn,.pagination{align-items:center;display:flex;justify-content:center}.page-btn{background:#1e1e35;background:var(--bg-card);border:1px solid #2d2d4e;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;height:40px;min-width:40px;transition:all .2s ease;transition:var(--transition)}.page-btn:hover{color:#a855f7;color:var(--accent-light)}.page-btn.active,.page-btn:hover{border-color:#7c3aed;border-color:var(--accent)}.page-btn.active{background:#7c3aed;background:var(--accent);color:#fff}.page-btn:disabled{cursor:not-allowed;opacity:.4}.games-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.reviews-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.platforms-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}@media (max-width:768px){.games-grid{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.reviews-grid{grid-template-columns:1fr}.platforms-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.page-title{font-size:1.5rem}.modal{padding:1.5rem}}.navbar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0f0f1aeb;border-bottom:1px solid var(--border);height:64px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.navbar-inner{gap:1rem;height:100%;justify-content:space-between}.navbar-brand,.navbar-inner{align-items:center;display:flex}.navbar-brand{flex-shrink:0;gap:.5rem}.brand-icon{font-size:1.5rem}.brand-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#a855f7,#06b6d4);-webkit-background-clip:text;background-clip:text;font-family:Space Grotesk,sans-serif;font-size:1.25rem;font-weight:800}.navbar-links{align-items:center;display:flex;flex:1 1;gap:.25rem;justify-content:center}.nav-link{border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.875rem;font-weight:500;padding:.4rem .75rem;transition:var(--transition);white-space:nowrap}.nav-link:hover{background:var(--bg-card);color:var(--text-primary)}.nav-link.active{background:var(--bg-card);color:var(--accent-light)}.navbar-auth{margin-left:auto}.user-menu{gap:.75rem}.user-avatar-link,.user-menu{align-items:center;display:flex}.user-avatar-link{gap:.5rem}.user-avatar{align-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:32px;justify-content:center;width:32px}.user-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.auth-buttons{display:flex;gap:.5rem}.hamburger{background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;padding:4px}.hamburger span{background:var(--text-primary);border-radius:2px;display:block;height:2px;transition:var(--transition);width:22px}@media (max-width:900px){.hamburger{display:flex}.navbar-links{align-items:stretch;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-direction:column;gap:.5rem;left:0;opacity:0;padding:1rem 1.5rem;pointer-events:none;position:fixed;right:0;top:64px;transform:translateY(-100%);transition:all .25s ease}.navbar-links.open{opacity:1;pointer-events:all;transform:translateY(0)}.nav-link{padding:.75rem 1rem}.navbar-auth{border-top:1px solid var(--border);margin-left:0;margin-top:.5rem;padding-top:.75rem}.auth-buttons,.user-menu{flex-direction:column;gap:.5rem}.auth-buttons .btn{justify-content:center;text-align:center}}.game-card{cursor:pointer;display:flex;flex-direction:column;text-decoration:none}.game-card-image-wrap{aspect-ratio:16/9;background:var(--bg-secondary);overflow:hidden;position:relative}.game-card-image{height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.game-card:hover .game-card-image{transform:scale(1.06)}.game-card-no-image{color:var(--text-muted);font-size:3rem;height:100%;width:100%}.fav-btn,.game-card-no-image{align-items:center;display:flex;justify-content:center}.fav-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;border:1px solid #ffffff26;border-radius:50%;cursor:pointer;font-size:1rem;height:34px;opacity:0;position:absolute;right:.6rem;top:.6rem;transition:var(--transition);width:34px}.fav-btn.active,.game-card:hover .fav-btn{opacity:1}.fav-btn:hover{background:#000c;transform:scale(1.15)}.metacritic-badge{background:#22c55e;border-radius:4px;color:#fff;font-size:.75rem;font-weight:800;left:.6rem;padding:.2rem .45rem;position:absolute;top:.6rem}.game-card-body{display:flex;flex:1 1;flex-direction:column;gap:.5rem;padding:1rem}.game-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.95rem;font-weight:700;line-height:1.3;overflow:hidden}.game-card-meta{align-items:center;display:flex;font-size:.8rem;justify-content:space-between}.game-card-date{color:var(--text-muted)}.game-card-rating{font-size:.85rem;font-weight:700}.game-card-platforms{align-items:center;display:flex;flex-wrap:wrap;gap:.25rem}.platform-icon{font-size:.9rem;opacity:.8}.platform-more{color:var(--text-muted);font-size:.7rem}.game-card-genres{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto}.genre-tag{background:var(--bg-hover);border:1px solid var(--border);border-radius:100px;color:var(--text-secondary);font-size:.7rem;padding:.15rem .5rem}.home-page{overflow-x:hidden}.hero{align-items:center;display:flex;min-height:calc(100vh - 88px);overflow:hidden;padding:6rem 0 5.5rem;position:relative}.hero-bg{background:radial-gradient(ellipse 80% 60% at 50% 50%,#7c3aed26 0,#0000 70%),radial-gradient(ellipse 40% 40% at 80% 20%,#06b6d41a 0,#0000 60%);inset:0;pointer-events:none;position:absolute}.hero-content{align-items:center;display:flex;flex-direction:column;gap:1.5rem;margin-top:1.25rem;position:relative;text-align:center;z-index:1}.hero-badge{background:#7c3aed26;border:1px solid #7c3aed59;border-radius:100px;color:var(--accent-light);font-size:.875rem;font-weight:600;padding:.4rem 1rem}.hero-title{font-size:clamp(2.5rem,7vw,5rem);font-weight:900;letter-spacing:-.02em;line-height:1.1}.hero-accent{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#a855f7,#06b6d4);-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:var(--text-secondary);font-size:1.125rem;line-height:1.7;max-width:540px}.hero-cta{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.hero-btn{font-size:1rem;padding:.75rem 1.75rem}.hero-stats{display:flex;gap:3rem;margin-top:1.25rem}.hero-stat{align-items:center;display:flex;flex-direction:column;gap:.2rem}.stat-num{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#a855f7,#06b6d4);-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:900}.stat-label{color:var(--text-muted);font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}.section{padding:3rem 0}.section:first-of-type{padding-top:1rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.section-title{font-size:1.5rem}.section-link{color:var(--accent-light);font-size:.875rem;font-weight:600;transition:var(--transition)}.section-link:hover{color:var(--accent)}@media (max-width:600px){.hero{min-height:calc(100vh - 76px);padding:4.5rem 0 4rem}.hero-content{margin-top:.75rem}.hero-stats{gap:2rem}.stat-num{font-size:1.4rem}}.search-page{padding-bottom:3rem}.search-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;padding:1.5rem}.search-input-wrap{display:flex;gap:.75rem}.search-input{flex:1 1;font-size:1rem}.search-btn{flex-shrink:0;padding:.75rem 1.5rem}.search-filters{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.page-ellipsis{align-items:center;color:var(--text-muted);display:flex;justify-content:center;width:40px}@media (max-width:600px){.search-input-wrap{flex-direction:column}.search-btn{justify-content:center;width:100%}}.review-card{display:flex;flex-direction:column;overflow:hidden}.review-card-game-banner{align-items:flex-end;background-position:50%;background-size:cover;display:flex;height:80px;padding:.5rem 1rem;position:relative}.review-card-game-overlay{background:linear-gradient(0deg,#000c,#0000);inset:0;position:absolute}.review-card-game-name{color:#fff;font-size:.8rem;font-weight:700;opacity:.9;overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;z-index:1}.review-card-body{display:flex;flex:1 1;flex-direction:column;gap:.875rem;padding:1.25rem}.review-card-header{align-items:flex-start;display:flex;gap:1rem}.review-card-score{align-items:baseline;border:1px solid;border-radius:var(--radius-sm);display:flex;flex-shrink:0;font-size:1.5rem;font-weight:900;gap:1px;justify-content:center;min-width:60px;padding:.5rem .75rem}.review-card-score span{font-size:.7rem;font-weight:600;opacity:.8}.review-card-info{flex:1 1;min-width:0}.review-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.95rem;line-height:1.3;margin-bottom:.375rem;overflow:hidden}.review-meta{flex-wrap:wrap;gap:.75rem}.review-author,.review-meta{align-items:center;display:flex}.review-author{color:var(--text-secondary);font-size:.8rem;gap:.4rem;transition:var(--transition)}.review-author:hover{color:var(--accent-light)}.review-avatar{align-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.65rem;font-weight:700;height:22px;justify-content:center;width:22px}.review-date{color:var(--text-muted);font-size:.75rem}.review-content{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.875rem;line-height:1.6;overflow:hidden}.review-actions{align-items:center;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.5rem}.review-action-btn{align-items:center;background:#0000;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.8rem;gap:.35rem;padding:.3rem .65rem;transition:var(--transition);white-space:nowrap}.review-action-btn:hover{border-color:var(--accent);color:var(--accent-light)}.review-action-btn.liked{background:#ef444411;border-color:#ef444466;color:#ef4444}.review-action-btn.danger:hover{background:#ef444411;border-color:var(--danger);color:var(--danger)}.review-action-btn:disabled{cursor:not-allowed;opacity:.4}.review-action-btn.game-link{max-width:180px;overflow:hidden;text-overflow:ellipsis}.review-owner-actions{display:flex;gap:.4rem;margin-left:auto}.review-edit-form{display:flex;flex-direction:column;gap:.75rem}.review-edit-rating{display:flex;flex-direction:column;gap:.4rem}.review-edit-actions{display:flex;gap:.5rem}.game-hero{align-items:flex-end;background-position:50%;background-size:cover;display:flex;min-height:420px;position:relative}.game-hero-overlay{background:linear-gradient(0deg,#0f0f1a 0,#0f0f1a99 50%,#0f0f1a33);inset:0;position:absolute}.game-hero-content{display:flex;flex-direction:column;gap:.875rem;padding-bottom:2.5rem;position:relative;z-index:1}.game-hero-badges{display:flex;flex-wrap:wrap;gap:.5rem}.game-hero-title{font-size:clamp(1.75rem,5vw,3.5rem);font-weight:900;line-height:1.1;text-shadow:0 2px 8px #00000080}.game-hero-meta{align-items:center;display:flex;flex-wrap:wrap;font-size:.9rem;gap:1.25rem}.game-hero-rating{color:var(--star);font-size:1.1rem;font-weight:700}.metacritic-score{background:#22c55e;border-radius:4px;color:#fff;font-size:.8rem;font-weight:700;padding:.2rem .6rem}.game-released{color:var(--text-secondary)}.game-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}.game-detail-body{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:300px 1fr;padding-bottom:3rem;padding-top:2rem}.game-sidebar{gap:1rem}.game-sidebar,.sidebar-card{display:flex;flex-direction:column}.sidebar-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);gap:.75rem;padding:1.25rem}.sidebar-title{color:var(--text-secondary);font-size:.9rem;letter-spacing:.05em;text-transform:uppercase}.info-list{grid-gap:.5rem 1rem;display:grid;font-size:.85rem;gap:.5rem 1rem;grid-template-columns:auto 1fr}.info-list dt{color:var(--text-muted);font-weight:600;white-space:nowrap}.info-list dd{color:var(--text-primary)}.sidebar-platforms,.sidebar-tags{display:flex;flex-wrap:wrap;gap:.4rem}.platform-chip{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.75rem;padding:.2rem .6rem}.tag-chip{background:#7c3aed1a;border:1px solid #7c3aed33;border-radius:100px;color:var(--accent-light);font-size:.72rem;padding:.15rem .5rem}.star-rating-row{align-items:center;display:flex;flex-wrap:wrap;gap:.15rem}.star-btn{background:none;border:none;color:var(--star);cursor:pointer;font-size:1.3rem;line-height:1;padding:0;transition:var(--transition)}.star-btn:not(.active){opacity:.3}.star-btn:hover{opacity:1;transform:scale(1.2)}.star-label{color:var(--text-secondary);font-size:.875rem;font-weight:700;margin-left:.25rem}.tabs{border-bottom:1px solid var(--border);display:flex;gap:.25rem;margin-bottom:1.5rem}.tab-btn{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:600;margin-bottom:-1px;padding:.75rem 1rem;transition:var(--transition);white-space:nowrap}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{border-bottom-color:var(--accent);color:var(--accent-light)}.tab-content{display:flex;flex-direction:column;gap:1.5rem}.game-description{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:.9rem;line-height:1.8;padding:1.5rem}.show-more-btn{margin-top:.75rem}.rating-breakdown{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:.75rem;padding:1.5rem}.section-subtitle{font-size:1rem;margin-bottom:.5rem}.rating-bar-row{align-items:center;display:flex;gap:.75rem}.rating-bar-label{color:var(--text-secondary);font-size:.8rem;text-transform:capitalize;width:80px}.rating-bar-track{background:var(--bg-hover);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.rating-bar-fill{border-radius:4px;height:100%;transition:width .5s ease}.rating-bar-pct{color:var(--text-muted);font-size:.75rem;text-align:right;width:35px}.screenshots-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.screenshot-img{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius-sm);object-fit:cover;transition:var(--transition);width:100%}.screenshot-img:hover{border-color:var(--accent);transform:scale(1.02)}.review-form{background:var(--bg-card);border:1px solid var(--accent);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.review-form-title{font-size:1.1rem;margin-bottom:.25rem}.rating-slider{accent-color:var(--accent);width:100%}.review-form-actions{display:flex;gap:.75rem}.review-cta{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-secondary);padding:2rem;text-align:center}.review-cta,.reviews-list{display:flex;flex-direction:column;gap:1rem}@media (max-width:900px){.game-detail-body{grid-template-columns:1fr}.game-sidebar{order:2}.game-main{order:1}}@media (max-width:600px){.game-hero{min-height:300px}.game-hero-actions{flex-direction:column}.tabs{overflow-x:auto}}.platforms-page{padding-bottom:3rem}.platforms-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.platform-card{align-items:center;display:flex;gap:1rem;padding:1.25rem;text-decoration:none}.platform-icon-big{flex-shrink:0;font-size:2.25rem}.platform-info{flex:1 1;min-width:0}.platform-name{font-size:.95rem;font-weight:700;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-count{color:var(--text-secondary);display:block;font-size:.8rem}.platform-year{color:var(--text-muted);display:block;font-size:.75rem;margin-top:.15rem}.platform-arrow{color:var(--text-muted);flex-shrink:0;font-size:1.25rem;transition:var(--transition)}.platform-card:hover .platform-arrow{color:var(--accent-light);transform:translateX(4px)}.upcoming-page{padding-bottom:3rem}.load-more-wrap{display:flex;justify-content:center;margin-top:2.5rem}.load-more-btn{padding:.875rem 2.5rem}.loading-more{display:flex;justify-content:center;padding:1.5rem}.end-message{color:var(--text-muted);font-size:.9rem;margin-top:2.5rem;text-align:center}.favorites-page,.reviews-page{padding-bottom:3rem}.favorites-list{display:flex;flex-direction:column;gap:1rem}.fav-item{display:grid;grid-template-columns:180px 1fr;overflow:hidden}.fav-item-image-wrap{aspect-ratio:16/9;background:var(--bg-secondary);display:block;overflow:hidden}.fav-item-image{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.fav-item:hover .fav-item-image{transform:scale(1.05)}.fav-item-no-image{align-items:center;color:var(--text-muted);display:flex;font-size:2.5rem;height:100%;justify-content:center;width:100%}.fav-item-body{gap:.875rem;padding:1.25rem}.fav-item-body,.fav-item-header{display:flex;flex-direction:column}.fav-item-header{gap:.35rem}.fav-item-title{color:var(--text-primary);font-size:1.05rem;font-weight:700;line-height:1.3;transition:var(--transition)}.fav-item-title:hover{color:var(--accent-light)}.fav-item-meta{align-items:center;display:flex;gap:.75rem}.fav-item-year{color:var(--text-muted);font-size:.8rem}.fav-item-rawg{color:var(--star);font-size:.8rem}.fav-item-rating{background:var(--bg-secondary);border-radius:var(--radius-sm);padding:.75rem}.fav-rating-display{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.user-rating-badge{color:var(--accent-light);font-size:.875rem;font-weight:700}.no-rating{color:var(--text-muted);font-size:.875rem}.fav-item-actions{display:flex;flex-wrap:wrap;gap:.5rem}.inline-stars{align-items:center;display:flex;flex-wrap:wrap;gap:.1rem}.star-inline{background:none;border:none;color:var(--star);cursor:pointer;font-size:1.2rem;opacity:.3;padding:0;transition:var(--transition)}.star-inline.on{opacity:1}.star-inline:hover{opacity:1;transform:scale(1.2)}.inline-stars-label{color:var(--text-secondary);font-size:.8rem;margin-left:.4rem}@media (max-width:600px){.fav-item{grid-template-columns:120px 1fr}}@media (max-width:480px){.fav-item{grid-template-columns:1fr}.fav-item-image-wrap{aspect-ratio:16/6}}.auth-page{align-items:center;background:radial-gradient(ellipse 60% 50% at 50% 50%,#7c3aed1a 0,#0000 70%);display:flex;justify-content:center;min-height:calc(100vh - 64px);padding:2rem 1rem}.auth-card{max-width:420px;padding:2.5rem;width:100%}.auth-header{margin-bottom:2rem;text-align:center}.auth-logo{font-size:3rem;margin-bottom:1rem}.auth-title{font-size:1.75rem;margin-bottom:.5rem}.auth-subtitle{color:var(--text-secondary);font-size:.9rem}.auth-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:var(--radius-sm);color:#fca5a5;font-size:.875rem;margin-bottom:1.25rem;padding:.875rem 1rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem}.auth-submit-btn{font-size:1rem;justify-content:center;margin-top:.25rem;padding:.875rem;width:100%}.auth-switch{color:var(--text-secondary);font-size:.875rem;text-align:center}.auth-switch a{color:var(--accent-light);font-weight:600;transition:var(--transition)}.auth-switch a:hover{color:var(--accent)}.profile-page{padding-bottom:3rem}.profile-hero{background:linear-gradient(180deg,#7c3aed14,#0000);border-bottom:1px solid var(--border);padding:2.5rem 0}.profile-hero-inner{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1.5rem}.profile-avatar-big{align-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));border:3px solid #7c3aed66;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:2.25rem;font-weight:900;height:80px;justify-content:center;width:80px}.profile-hero-info{flex:1 1;min-width:0}.profile-username{font-size:2rem;margin-bottom:.5rem}.profile-bio{font-size:.9rem;margin-bottom:.875rem;max-width:500px}.profile-bio,.profile-meta{color:var(--text-secondary)}.profile-meta{display:flex;flex-wrap:wrap;font-size:.85rem;gap:1.25rem}.profile-body{padding-top:2rem}.profile-favorites-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.profile-fav-card{display:flex;flex-direction:column;overflow:hidden;text-decoration:none}.profile-fav-img{aspect-ratio:16/9;object-fit:cover;transition:transform .3s ease;width:100%}.profile-fav-card:hover .profile-fav-img{transform:scale(1.05)}.profile-fav-no-img{align-items:center;aspect-ratio:16/9;background:var(--bg-secondary);color:var(--text-muted);display:flex;font-size:2rem;justify-content:center}.profile-fav-info{display:flex;flex-direction:column;gap:.25rem;padding:.75rem}.profile-fav-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-size:.8rem;font-weight:600;line-height:1.3;overflow:hidden}.profile-fav-rating{color:var(--star);font-size:.75rem;font-weight:700}@media (max-width:600px){.profile-avatar-big{font-size:1.75rem;height:60px;width:60px}.profile-username{font-size:1.5rem}.profile-meta{gap:.75rem}}
/*# sourceMappingURL=main.397390d0.css.map*/