*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a12;--bg-card:#13131f;--bg-elevated:#1c1c2e;--accent:#7c3aed;--accent-hover:#6d28d9;--accent-dim:#7c3aed26;--gold:#f59e0b;--success:#10b981;--danger:#f87171;--text:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#475569;--border:#ffffff12;--border-accent:#7c3aed73;--radius:12px;--radius-sm:8px;--shadow:0 8px 32px #00000080}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Inter,Segoe UI,system-ui,sans-serif;line-height:1.6}.navbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);z-index:100;background:#0a0a12d9;justify-content:space-between;align-items:center;height:64px;padding:0 32px;display:flex;position:sticky;top:0}.navbar-brand{align-items:center;gap:10px;display:flex}.navbar-icon{font-size:22px}.navbar-title{letter-spacing:-.3px;background:linear-gradient(135deg, #fff 10%, var(--accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:800}.navbar-user{align-items:center;gap:14px;display:flex}.navbar-welcome{color:var(--text-secondary);font-size:14px}.btn-logout{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:20px;padding:6px 16px;font-size:13px;transition:border-color .2s,color .2s}.btn-logout:hover{border-color:var(--accent);color:var(--text)}.auth-page{background:radial-gradient(ellipse at 50% -10%, #7c3aed33 0%, transparent 65%), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--bg-card);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow);border-radius:20px;padding:44px 40px}.auth-logo{text-align:center;margin-bottom:36px}.auth-logo-icon{margin-bottom:14px;font-size:52px;display:block}.auth-logo h1{background:linear-gradient(135deg, #fff 10%, var(--accent) 100%);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;font-size:30px;font-weight:800}.auth-logo p{color:var(--text-muted);margin-top:6px;font-size:14px}.auth-tabs{background:var(--bg-elevated);border-radius:var(--radius-sm);gap:2px;margin-bottom:28px;padding:4px;display:flex}.auth-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:9px;font-size:14px;font-weight:500;transition:background .2s,color .2s}.auth-tab.active{background:var(--accent);color:#fff}.auth-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);font-size:13px;font-weight:500}.form-group input{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;width:100%;padding:11px 14px;font-size:14px;transition:border-color .2s}.form-group input:focus{border-color:var(--accent)}.form-group input::placeholder{color:var(--text-muted)}.auth-message{color:var(--danger);border-radius:var(--radius-sm);background:#f8717114;border:1px solid #f8717133;padding:9px 13px;font-size:13px}.btn-primary{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:12px 20px;font-size:15px;font-weight:600;transition:background .2s,transform .1s}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.dashboard{max-width:1400px;margin:0 auto;padding:36px 28px 80px}.notification{background:var(--success);color:#fff;border-radius:var(--radius);z-index:999;box-shadow:var(--shadow);padding:12px 20px;font-size:14px;font-weight:500;animation:.25s slideIn;position:fixed;bottom:28px;right:28px}@keyframes slideIn{0%{opacity:0;transform:translate(110%)}to{opacity:1;transform:translate(0)}}.search-section{margin-bottom:44px}.search-section h2,.watchlist-section h2{letter-spacing:-.3px;margin-bottom:20px;font-size:22px;font-weight:700}.search-mode-tabs{gap:8px;margin-bottom:18px;display:flex}.mode-tab{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:20px;padding:8px 22px;font-size:14px;transition:all .2s}.mode-tab.active{background:var(--accent-dim);border-color:var(--accent);color:var(--text)}.search-bar{gap:10px;display:flex}.search-bar input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;flex:1;padding:12px 16px;font-size:15px;transition:border-color .2s}.search-bar input:focus{border-color:var(--accent)}.search-bar input::placeholder{color:var(--text-muted)}.btn-search{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;padding:12px 28px;font-size:15px;font-weight:600;transition:background .2s}.btn-search:hover:not(:disabled){background:var(--accent-hover)}.btn-search:disabled{opacity:.45;cursor:not-allowed}.genre-section{flex-direction:column;gap:16px;display:flex}.genre-pills{flex-wrap:wrap;gap:8px;display:flex}.genre-pill{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:20px;padding:7px 18px;font-size:13px;transition:all .2s}.genre-pill:hover{border-color:var(--accent);color:var(--text)}.genre-pill.selected{background:var(--accent);border-color:var(--accent);color:#fff}.genre-search-btn{align-self:flex-start;width:auto;padding:10px 28px}.results-section{margin-bottom:52px}.results-header{align-items:baseline;gap:12px;margin-bottom:18px;display:flex}.results-header h3{color:var(--text);font-size:17px;font-weight:600}.results-count{color:var(--text-muted);font-size:13px}.movie-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:16px;display:grid}.movie-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:transform .2s,border-color .2s,box-shadow .2s;overflow:hidden}.movie-card:hover{border-color:var(--border-accent);transform:translateY(-5px);box-shadow:0 8px 24px #0006}.movie-poster{aspect-ratio:2/3;background:var(--bg-elevated);width:100%;position:relative;overflow:hidden}.movie-poster img{object-fit:cover;width:100%;height:100%;display:block}.no-poster{width:100%;height:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:12px;display:flex}.rating-badge{color:var(--gold);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;border-radius:6px;padding:3px 7px;font-size:11px;font-weight:600;position:absolute;bottom:6px;right:6px}.movie-info{flex-direction:column;gap:8px;padding:10px;display:flex}.movie-info h4{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.movie-actions,.watchlist-actions{flex-direction:column;gap:5px;display:flex}.btn-add{background:var(--accent-dim);border:1px solid var(--accent);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 8px;font-size:12px;font-weight:500;transition:background .2s}.btn-add:hover:not(:disabled){background:var(--accent)}.btn-add.in-list{border-color:var(--success);color:var(--success);cursor:default;background:#10b9811a}.btn-similar{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:5px 8px;font-size:11px;transition:all .2s}.btn-similar:hover{border-color:var(--gold);color:var(--gold)}.watchlist-card{border-color:#7c3aed2e}.rating-select{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:6px;outline:none;width:100%;padding:5px 8px;font-size:12px;transition:border-color .2s}.rating-select:focus{border-color:var(--gold)}.btn-watched{border:1px solid var(--success);color:var(--success);cursor:pointer;background:#10b9811a;border-radius:6px;padding:6px 8px;font-size:12px;font-weight:500;transition:all .2s}.btn-watched:hover{background:var(--success);color:#fff}.search-error{color:var(--danger);border-radius:var(--radius-sm);background:#f8717114;border:1px solid #f8717133;margin-bottom:12px;padding:9px 13px;font-size:13px}.empty-text{color:var(--text-muted);text-align:center;padding:48px 0;font-size:14px}.watchlist-section{margin-top:4px}
