.prismatic-text{background:linear-gradient(270deg,#ff0080,#7928ca,#00cfff,#ffeb3b,#ff0080);background-size:1000% 1000%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;animation:prismatic-move 6s linear infinite}@keyframes prismatic-move{0%{background-position:0% 50%}to{background-position:100% 50%}}@keyframes fadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{left:-100%}50%{left:100%}to{left:100%}}@keyframes pulse{0%{transform:translateY(-50%) scale(1);opacity:1}50%{transform:translateY(-50%) scale(1.2);opacity:.7}to{transform:translateY(-50%) scale(1);opacity:1}}@keyframes bounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.glass-card{background:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;border:1px solid rgba(255,255,255,.18)}.gradient-text{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}:root{--text-primary: #1f2937;--text-vibe: #374151;--frontpage-bg: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);--frontpage-card-bg: rgba(255, 255, 255, .95);--frontpage-text-primary: #1a202c;--frontpage-text-secondary: #4a5568;--search-container-bg: #f7fafc;--search-container-border: #e2e8f0;--search-input-bg: white;--search-label-color: #4a5568}body.dim-mode{--text-primary: #f1f5f9;--text-vibe: #e2e8f0;--frontpage-bg: linear-gradient(135deg, #1e293b 0%, #334155 50%, #0f172a 100%);--frontpage-card-bg: rgba(30, 41, 59, .95);--frontpage-text-primary: #f1f5f9;--frontpage-text-secondary: #cbd5e1;--search-container-bg: rgba(51, 65, 85, .8);--search-container-border: rgba(71, 85, 105, .6);--search-input-bg: rgba(30, 41, 59, .9);--search-label-color: #cbd5e1}*{box-sizing:border-box}body{background:linear-gradient(135deg,#f8fafc,#e2e8f0);min-height:100vh;font-family:Nunito,sans-serif;margin:0;padding:0}html{background:linear-gradient(135deg,#f8fafc,#e2e8f0);min-height:100vh}h1{font-family:Rubik}body.dim-mode{background:linear-gradient(135deg,#1e293b,#334155,#1e293b);transition:background .4s ease}html.dim-mode{background:linear-gradient(135deg,#1e293b,#334155,#1e293b)}body.dim-mode .auth-capsule{background:linear-gradient(135deg,#475569,#64748b)!important;border-color:#3b82f6!important;box-shadow:0 4px 16px #3b82f64d!important}body.dim-mode .auth-link{color:#e2e8f0!important}body.dim-mode .auth-link:hover{background:#3b82f633!important;color:#bfdbfe!important}body.dim-mode .search-input{background:#334155!important;border-color:#475569!important;color:#e2e8f0!important;box-shadow:inset 0 2px 4px #0003!important}body.dim-mode .search-input:focus{border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f64d!important}body.dim-mode .search-input::-moz-placeholder{color:#94a3b8!important}body.dim-mode .search-input::placeholder{color:#94a3b8!important}body.dim-mode .search-label{color:#cbd5e1!important}body.dim-mode .book-item{background:linear-gradient(135deg,#374151,#4b5563)!important;border-color:#6b7280!important;box-shadow:0 2px 8px #0000004d!important}body.dim-mode .book-item:hover{box-shadow:0 8px 24px #3b82f633,0 4px 8px #0006!important}body.dim-mode .book-title{color:#e2e8f0!important}body.dim-mode .userpage-container{background:linear-gradient(135deg,#1e293b,#334155,#1e293b)!important}body.dim-mode .userpage-title{color:#f1f5f9!important}body.dim-mode .frontpage-subtitle{color:#cbd5e1!important}body.dim-mode .userpage-subtitle{color:#94a3b8!important}body.dim-mode .bottom-svgs img{opacity:.7!important}body.dim-mode .prismatic-text{background:linear-gradient(270deg,#60a5fa,#3b82f6,#93c5fd,#dbeafe,#60a5fa)!important;background-size:1000% 1000%!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;animation:prismatic-move 6s linear infinite!important}body.dim-mode h2{background:linear-gradient(135deg,#60a5fa,#3b82f6)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important}body.dim-mode button[type=submit]{background:#1d4ed8!important}body.dim-mode button[type=submit]:hover{background:#1e40af!important}body.dim-mode .frontpage-title{color:#f1f5f9!important}body.dim-mode .login-container,body.dim-mode .register-container{background:linear-gradient(135deg,#1e293b,#334155,#1e293b)!important}body.dim-mode .login-form,body.dim-mode .register-form{background:linear-gradient(135deg,#374151,#4b5563)!important;border:1px solid #6b7280!important;box-shadow:0 8px 32px #0006!important}body.dim-mode .login-title,body.dim-mode .register-title{color:#f1f5f9!important;background:linear-gradient(135deg,#60a5fa,#3b82f6)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important}body.dim-mode .login-input,body.dim-mode .register-input{background:#334155!important;border:1px solid #475569!important;color:#e2e8f0!important;box-shadow:inset 0 2px 4px #0003!important}body.dim-mode .login-input:focus,body.dim-mode .register-input:focus{border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f64d!important}body.dim-mode .login-input::-moz-placeholder,body.dim-mode .register-input::-moz-placeholder{color:#94a3b8!important}body.dim-mode .login-input::placeholder,body.dim-mode .register-input::placeholder{color:#94a3b8!important}body.dim-mode .login-button,body.dim-mode .register-button{background:linear-gradient(135deg,#1d4ed8,#1e40af)!important;color:#fff!important;border:none!important;box-shadow:0 4px 12px #1d4ed84d!important}body.dim-mode .login-button:hover,body.dim-mode .register-button:hover{background:linear-gradient(135deg,#1e40af,#1e3a8a)!important;box-shadow:0 6px 16px #1d4ed866!important}body.dim-mode .login-link-container,body.dim-mode .register-link-container{color:#cbd5e1!important}body.dim-mode .auth-page-link{color:#60a5fa!important}body.dim-mode .auth-page-link:hover{color:#93c5fd!important}body.dim-mode .error-message{color:#f87171!important;background:#ef44441a!important;border:1px solid rgba(239,68,68,.3)!important}body.dim-mode .success-message{color:#34d399!important;background:#10b9811a!important;border:1px solid rgba(16,185,129,.3)!important}body.dim-mode input[type=text]#shelfvibe{background:#334155!important;border:2px solid #475569!important;color:#e2e8f0!important;box-shadow:inset 0 2px 4px #0003!important}body.dim-mode input[type=text]#shelfvibe:focus{border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f64d!important}body.dim-mode input[type=text]#shelfvibe::-moz-placeholder{color:#94a3b8!important}body.dim-mode input[type=text]#shelfvibe::placeholder{color:#94a3b8!important}.login-container,.register-container{min-height:100vh;background:#f3f4f6;display:flex;flex-direction:column;align-items:center;justify-content:center}.login-form,.register-form{background:#fff;padding:36px;border-radius:24px;box-shadow:0 2px 16px #00000014;width:100%;max-width:400px;min-width:280px;box-sizing:border-box;display:flex;flex-direction:column;gap:16px}.login-title,.register-title{font-size:1.5rem;font-weight:700;margin-bottom:8px;text-align:center;color:#1f2937}.login-input,.register-input{font-size:18px;padding:14px 18px;border-radius:10px;border:1.5px solid #cbd5e1;margin-bottom:4px;width:100%;outline:none;background:#f9fafb;transition:border .2s ease;box-sizing:border-box;color:#1f2937}.login-input:focus,.register-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.login-button,.register-button{background:#2563eb;color:#fff;font-weight:600;font-size:18px;border-radius:10px;padding:14px 0;border:none;width:100%;cursor:pointer;margin-top:4px;transition:background .2s ease}.login-button:hover,.register-button:hover{background:#1d4ed8}.login-link-container,.register-link-container{margin-top:8px;font-size:15px;text-align:center;color:#6b7280}.auth-page-link{color:#2563eb;text-decoration:underline;font-weight:500;transition:color .2s ease}.auth-page-link:hover{color:#1d4ed8}.error-message{color:#ef4444;margin-bottom:8px;text-align:center;font-weight:500;padding:8px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px}.success-message{color:#22c55e;margin-bottom:8px;text-align:center;font-weight:500;padding:8px 12px;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:8px}@media (max-width: 768px){.frontpage-title{font-size:2rem!important;margin-top:15%!important;padding:0 1rem}.frontpage-subtitle{font-size:1.2rem!important;padding:0 1rem;text-align:center}.search-form{flex-direction:column!important;gap:1rem!important;padding:0 1rem;width:100%!important}.search-label{font-size:1.2rem!important;text-align:center}.search-input{width:100%!important;max-width:300px}.auth-capsule{flex-direction:column!important;gap:.75rem!important;padding:.75rem 1rem!important;margin:0 1rem!important;width:calc(100% - 2rem)!important;max-width:280px!important}.auth-link{padding:.6rem 1.5rem!important;text-align:center;width:100%;font-size:1.1rem!important}.auth-link:hover{padding:.6rem 1.5rem!important}.bottom-svgs{display:none!important}.header-nav{padding:.75rem 1rem!important;font-size:1rem!important;gap:1rem!important;min-width:250px!important;max-width:90vw!important}.userpage-container{padding:0 1rem!important;padding-top:12%!important}.userpage-title{font-size:1.8rem!important}.userpage-subtitle{font-size:1rem!important}.search-input,input[type=text]{font-size:16px!important}.song-container{margin:0 1rem!important;max-width:calc(100% - 2rem)!important}.book-shelf{gap:.5rem!important;justify-content:center!important;padding:0 .5rem!important}.book-item{width:90px!important;height:135px!important}.book-item img{width:75px!important;height:110px!important}.book-item .book-title{font-size:11px!important;margin-top:4px!important}}@media (max-width: 480px){.frontpage-title{font-size:1.5rem!important}.search-form{gap:.75rem!important}.search-label{font-size:1rem!important}.book-item{width:75px!important;height:115px!important}.book-item img{width:65px!important;height:95px!important}.book-item .book-title{font-size:10px!important;margin-top:3px!important}.auth-capsule{max-width:250px!important;padding:.5rem .75rem!important}.auth-link{padding:.5rem 1rem!important;font-size:1rem!important}.auth-link:hover{padding:.5rem 1rem!important}}@media (min-width: 769px) and (max-width: 1024px){.frontpage-title{font-size:2.5rem!important}.bottom-svgs img{max-width:20vw!important}}
