:root{--primary:#8e5eed;--primary-hover:#ae8cf2;--bg:#09090b;--surface:#17171c;--surface-hover:#22222a;--text:#f2f2f2;--text-muted:#999;--border:#ffffff1a;--danger:#dd3c3c;--success:#3c6;--font-main:"Outfit", "Inter", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen, ubuntu, cantarell, "Open Sans", "Helvetica Neue", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{letter-spacing:-.02em;font-weight:700}button{cursor:pointer;background:0 0;border:none;font-family:inherit;transition:all .2s cubic-bezier(.4,0,.2,1)}input,textarea,select{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:12px;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s}input:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #8e5eed33}.glass{-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);background:#1c1c2299;border-radius:20px}.gradient-text{background:linear-gradient(135deg, var(--primary), #db75f0);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s ease-out forwards fadeIn}.auth-shell{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-card{width:min(100%,420px);padding:2rem}.auth-brand{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.auth-brand h1{margin-bottom:.25rem;font-size:1.6rem}.auth-brand p{color:var(--text-muted);font-size:.9rem;line-height:1.4}.auth-logo{background:var(--primary);border-radius:12px;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid}.auth-submit{justify-content:center;width:100%;margin-top:.5rem}.setup-note{color:var(--text-muted);background:#8e5eed14;border:1px solid #8e5eed38;border-radius:12px;margin-bottom:1rem;padding:.8rem 1rem;font-size:.85rem;line-height:1.45}.error-banner{color:var(--danger);background:#dd3c3c14;border:1px solid #dd3c3c40;border-radius:12px;margin-bottom:1rem;padding:.85rem 1rem;font-size:.85rem;line-height:1.4}.firestore-error{margin-bottom:1.5rem}.navbar{z-index:100;justify-content:space-between;align-items:center;width:100%;padding:1.5rem 2rem;display:flex;position:sticky;top:0}.nav-links{gap:2rem;display:flex}.nav-link{color:var(--text-muted);font-size:.95rem;font-weight:500;text-decoration:none}.nav-link.active{color:var(--text)}.app-container{gap:1.5rem;min-height:calc(100vh - 84px);padding:1.5rem;display:flex}.sidebar{border-radius:20px;flex-direction:column;gap:2rem;width:260px;min-width:260px;height:max-content;padding:1.5rem;display:flex;position:sticky;top:100px}.sidebar-title{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:1.5rem;font-size:.8rem;font-weight:700}.control-panel-v{flex-direction:column;gap:1.5rem;display:flex}.control-item{flex-direction:column;gap:.75rem;display:flex}.control-label-v{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.75rem;font-weight:600;display:flex}.size-slider-v{width:100%;height:6px;accent-color:var(--primary);cursor:pointer}.size-value{color:var(--primary);font-weight:700}.divider-h{background:var(--border);opacity:.5;width:100%;height:1px}.btn-side{background:var(--surface-hover);border:1px solid var(--border);width:100%;color:var(--text);border-radius:12px;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.btn-side:hover{background:var(--border);transform:translateY(-1px)}.btn-side.active{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-side.danger{color:var(--danger);background:#dd3c3c0d;border-color:#dd3c3c1a}.btn-side.danger:hover{border-color:var(--danger);color:var(--danger);background:#dd3c3c1a}.btn-side.outline{background:0 0}.count-tag{background:#ffffff1a;border-radius:4px;padding:2px 6px;font-size:.7rem}.search-box-v{width:100%;position:relative}.search-icon-sidebar{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input-sidebar{background:var(--surface-hover);border:1px solid var(--border);width:100%;color:var(--text);border-radius:12px;padding:.75rem 1rem .75rem 2.5rem;font-size:.85rem;transition:all .2s}.search-input-sidebar:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px #8e5eed1a}.sidebar-footer{color:var(--text-muted);text-align:center;margin-top:auto;padding-top:1rem;font-size:.7rem}.container-fluid{flex-grow:1}.admin-header h1{margin-bottom:.25rem;font-size:1.8rem}.control-panel{border-radius:14px;align-items:center;gap:1.25rem;padding:.5rem 1.25rem;display:flex}.control-group{align-items:center;gap:.75rem;display:flex}.control-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:600}.size-slider{width:80px;height:4px;accent-color:var(--primary);cursor:pointer}.size-value{color:var(--primary);min-width:1.5rem;font-size:.85rem;font-weight:700}.divider-v{background:var(--border);width:1px;height:24px}.btn-control{background:var(--surface-hover);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.4rem .75rem;font-size:.75rem;font-weight:600;transition:all .2s}.btn-control:hover{background:var(--border);transform:translateY(-1px)}.btn-control.active{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-control.danger{color:var(--danger);border-color:#dd3c3c33}.btn-control.danger:hover{border-color:var(--danger);background:#dd3c3c1a}.btn-control.outline{background:0 0}.game-card.minimized{cursor:pointer;flex-direction:column;gap:.5rem;display:flex;position:relative;overflow:hidden}.game-card.selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary)}.card-selection{z-index:5;position:absolute;top:.5rem;left:.5rem}.checkbox-mini{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.top-badge{color:#000;z-index:5;text-transform:uppercase;background:linear-gradient(135deg,gold,orange);border-radius:6px;padding:2px 8px;font-size:.65rem;font-weight:900;position:absolute;top:.5rem;right:.5rem;box-shadow:0 2px 8px #ffd7004d}.game-card.is-top{border-color:#ffbf004d}.game-thumb.mini{aspect-ratio:16/10;border-radius:8px;margin-bottom:0}.game-info.mini{flex-direction:column;gap:.25rem;display:flex}.title-row{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.title-row h3{-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;margin:0;line-height:1.2;display:-webkit-box;overflow:hidden;font-size:.85rem!important}.platform-tag{color:var(--primary);white-space:nowrap;background:#8e5eed1a;border-radius:4px;padding:1px 4px;font-size:.6rem;font-weight:700}.story-mini{color:var(--text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:.25rem 0;display:-webkit-box;overflow:hidden;font-size:.7rem!important}.card-footer-mini{justify-content:space-between;align-items:center;margin-top:auto;padding-top:.25rem;display:flex}.price-mini{color:var(--primary);font-size:.8rem;font-weight:800}.card-actions-mini{gap:.25rem;display:flex}.btn-icon{color:var(--text-muted);border-radius:6px;padding:.35rem;transition:all .2s}.btn-icon:hover{background:var(--surface-hover);color:var(--text)}.btn-icon.danger:hover{color:var(--danger);background:#dd3c3c1a}.import-status{color:var(--primary);background:#8e5eed0d;border-radius:8px;align-items:center;gap:.5rem;padding:.4rem .8rem;font-size:.8rem;font-weight:600;display:flex}.container{max-width:1200px;margin:2rem auto;padding:0 2rem}.admin-header{margin-bottom:2.5rem}.btn-primary{background:var(--primary);color:#fff;border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;display:flex}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 16px #8e5eed4d}.btn-outline{border:1px solid var(--border);color:var(--text);border-radius:12px;padding:.75rem 1.25rem;font-weight:500}.btn-outline:hover{background:var(--surface-hover);border-color:var(--text-muted)}.btn-danger{color:var(--danger);border:1px solid #dd3c3c33;border-radius:10px;padding:.6rem 1rem}.btn-danger:hover{border-color:var(--danger);background:#dd3c3c1a}.games-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.game-card{padding:1rem;transition:all .3s}.game-card:hover{border-color:var(--primary);transform:translateY(-5px)}.game-thumb{aspect-ratio:16/9;object-fit:cover;background:var(--surface-hover);border-radius:12px;width:100%;margin-bottom:1rem}.game-info h3{margin-bottom:.25rem}.game-info p{color:var(--text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-bottom:1rem;font-size:.85rem;display:-webkit-box;overflow:hidden}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000c;justify-content:center;align-items:center;width:100%;height:100%;padding:2rem;display:flex;position:fixed;top:0;left:0}.modal-content{width:100%;max-width:600px;max-height:90vh;padding:2rem;overflow-y:auto}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-muted);margin-bottom:.5rem;font-size:.9rem;display:block}.file-upload{border:2px dashed var(--border);text-align:center;cursor:pointer;border-radius:16px;padding:2rem;transition:all .2s}.file-upload:hover{border-color:var(--primary)}.card-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.5rem;margin-top:.5rem;padding-top:1rem;display:flex}.category-selector-btn{background:var(--surface);border:1px solid var(--border);text-align:left;width:100%;color:var(--text);cursor:pointer;border-radius:12px;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:48px;padding:.85rem 1rem;font-size:.95rem;transition:all .2s;display:flex}.category-selector-btn:hover{border-color:var(--primary);background:var(--surface-hover)}.category-dropdown{border:1px solid var(--border);border-radius:12px;margin-top:.75rem;overflow:hidden}.category-grid{background:var(--border);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.category-item{background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:background .2s;display:flex}.category-item:hover{background:var(--surface-hover)}.category-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.category-item span{color:var(--text);font-size:.9rem}.folder-delete-btn{color:var(--text-muted);opacity:0;border-radius:6px;justify-content:center;align-items:center;padding:.35rem;transition:all .2s;position:absolute;top:50%;right:.75rem;transform:translateY(-50%);display:flex!important}.btn-side:hover .folder-delete-btn{opacity:1}.folder-delete-btn:hover{color:var(--danger);background:#dd3c3c1a}.folder-selection-list{flex-direction:column;gap:.75rem;max-height:300px;padding:.5rem;display:flex;overflow-y:auto}.folder-option-btn{background:var(--surface-hover);border:1px solid var(--border);color:var(--text);text-align:left;border-radius:12px;align-items:center;gap:1rem;width:100%;padding:1rem;font-weight:600;transition:all .2s;display:flex}.folder-option-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translate(5px)}.folder-option-btn svg{color:var(--primary);transition:color .2s}.folder-option-btn:hover svg{color:#fff}
