@import url(https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap);*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body,html{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}img{display:block;height:auto;max-width:100%}a,button,input,select,textarea{min-height:44px}.container-fluid{padding-left:15px;padding-right:15px}#root{display:flex;flex-direction:column;min-height:100vh}*{transition:transform .2s ease,opacity .2s ease}body,html{overflow-x:hidden;width:100%}:focus{outline:2px solid #d97706;outline-offset:2px}@media (max-width:576px){body{font-size:14px}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.1rem}.display-1{font-size:3rem}.display-6{font-size:1.5rem}}@media (min-width:577px) and (max-width:768px){body{font-size:15px}}@media (min-width:769px){body{font-size:16px}}.app-container{display:flex;flex-direction:column;height:100%}main{flex:1 1;overflow-x:hidden}.card{margin-bottom:1rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}@media (max-width:768px){.gap-2{gap:.375rem}.gap-3{gap:.75rem}}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.py-4{padding-bottom:1.5rem;padding-top:1.5rem}@media (max-width:768px){.py-4{padding-bottom:1rem;padding-top:1rem}}.px-4{padding-left:1.5rem;padding-right:1.5rem}@media (max-width:768px){.px-4{padding-left:1rem;padding-right:1rem}}@media (max-width:576px){.card-body{padding:1rem!important}.btn-group{flex-direction:column;width:100%}.btn-group .btn{margin-bottom:.5rem;margin-right:0!important}.d-md-none.d-block-mobile{display:block!important}.d-md-block.d-none-mobile{display:none!important}}.users-directory{background:#0f0f16;min-height:calc(100vh - 120px)}.users-directory__card{background:#1e1f2a;border:1px solid #ffffff0f;border-radius:1.25rem;box-shadow:0 20px 40px #0c0e2059;padding:1.75rem 1.25rem;transition:transform .2s ease,border-color .2s ease}.users-directory__card:hover{border-color:#fff3;transform:translateY(-6px)}.users-directory__avatar-wrapper{align-items:center;display:flex;justify-content:center}.users-directory__avatar{background:#ffffff14;border:2px solid #ffffff59;border-radius:50%;height:96px;object-fit:cover;width:96px}.users-directory__avatar--fallback{align-items:center;background:linear-gradient(135deg,#8a7bff,#ff8ed4);color:#fff;display:inline-flex;font-size:2rem;font-weight:700;justify-content:center}.users-directory__controls .form-control,.users-directory__controls .form-select{border-radius:999px;min-height:48px}.users-directory__suggestions{background:#1b1c27;background-image:radial-gradient(circle at top right,#ffffff0f,#0000 45%);border:1px solid #ffffff14;border-radius:1.5rem}.suggestion-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:1rem;min-height:180px}:root{--grail-gradient-start:#141827;--grail-gradient-mid:#1d2333;--grail-gradient-end:#f4f5f8;--grail-surface:#1b2234eb;--grail-surface-alt:#252c42e0;--grail-glass-border:#ffffff14;--grail-shadow:0 22px 55px #080c2073;--grail-primary:#d97706;--grail-primary-strong:#b45309;--grail-accent:#ea580c;--grail-accent-strong:#c2410c;--grail-highlight:#ffd166;--grail-success:#44d296;--grail-danger:#ff6b6b;--grail-text:#f6f7fb;--grail-text-subtle:#f4f7ffad;--grail-muted:#f4f7ff6b;--grail-border-soft:#ffffff1f;--grail-gradient-navbar:linear-gradient(135deg,#28314ad9,#b45309a6 65%,#d1d4e159);--grail-gradient-footer:linear-gradient(180deg,#23293fd9,#161924f0 55%,#f4f5f833);--grail-content-max-width:1480px;--grail-spacing-xs:0.35rem;--grail-spacing-sm:0.65rem;--grail-spacing-md:1.25rem;--grail-spacing-lg:2rem;--grail-radius-md:16px;--grail-radius-lg:28px;--grail-radius-pill:999px}body{background:linear-gradient(180deg,#141827,#1d2333 55%,#f4f5f8 120%);background:linear-gradient(180deg,var(--grail-gradient-start) 0,var(--grail-gradient-mid) 55%,var(--grail-gradient-end) 120%);color:#1f2435}.grail-shell{background:radial-gradient(circle at top,#d977061f 0,#0000 45%) no-repeat,linear-gradient(180deg,#111523f2,#181d2deb 40%,#2a3041e0 70%,#eef0f5f0);color:#f6f7fb;color:var(--grail-text);min-height:100vh}.grail-shell:after{background:linear-gradient(180deg,#0b0e1752,#0000 26%,#0000 74%,#ecedf199);content:"";inset:0;mix-blend-mode:lighten;pointer-events:none;position:fixed;z-index:-1}.grail-content{margin:0 auto;max-width:1480px;max-width:var(--grail-content-max-width);padding:2rem 1.25rem;padding:var(--grail-spacing-lg) var(--grail-spacing-md);width:100%}@media (max-width:768px){.grail-content{padding:2rem .65rem;padding:var(--grail-spacing-lg) var(--grail-spacing-sm)}}.grail-navbar{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:linear-gradient(135deg,#28314ad9,#b45309a6 65%,#d1d4e159);background:var(--grail-gradient-navbar);border-bottom:1px solid #ffffff1f;border-bottom:1px solid var(--grail-border-soft);box-shadow:0 18px 38px #090b1859;padding:.9rem 0;position:sticky;top:0;z-index:1040}.grail-navbar .navbar-brand{align-items:center;color:#f6f7fb;color:var(--grail-text);display:flex;font-weight:700;gap:.65rem;gap:var(--grail-spacing-sm);letter-spacing:.08em;text-transform:uppercase}.grail-navbar .navbar-brand span.badge{background:#ffffff29;border-radius:999px;border-radius:var(--grail-radius-pill);color:#f6f7fb;color:var(--grail-text);font-size:.75rem;font-weight:600;padding:.35rem .65rem}.grail-navbar .navbar-toggler{background:#ffffff1f;border:none;border-radius:999px;border-radius:var(--grail-radius-pill);padding:.45rem .7rem}.grail-navbar .navbar-toggler:focus{box-shadow:0 0 0 .2rem #d9770659}.grail-navbar .nav-link{border-radius:999px;border-radius:var(--grail-radius-pill);color:#f4f7ffad;color:var(--grail-text-subtle);font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:.4rem 1rem;text-transform:uppercase;transition:color .2s ease,transform .2s ease}.grail-navbar .nav-link:focus,.grail-navbar .nav-link:hover{color:#fff;transform:translateY(-1px)}.grail-navbar .nav-link.active{background:#ffffff1f;color:#ffd166;color:var(--grail-highlight)}.grail-footer{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(180deg,#23293fd9,#161924f0 55%,#f4f5f833);background:var(--grail-gradient-footer);border-top:1px solid #ffffff14;border-top:1px solid var(--grail-glass-border);box-shadow:0 -18px 40px #080a1566;color:#f4f7ffad;color:var(--grail-text-subtle);margin-top:2rem;margin-top:var(--grail-spacing-lg);text-align:center}.grail-footer .footer-inner{margin:0 auto;max-width:1480px;max-width:var(--grail-content-max-width);padding:2rem 1.25rem;padding:var(--grail-spacing-lg) var(--grail-spacing-md)}.grail-footer p{font-size:.9rem;margin-bottom:.35rem}.grail-card,.grail-footer strong{color:#f6f7fb;color:var(--grail-text)}.grail-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1b2234eb;background:var(--grail-surface);border:1px solid #ffffff14;border:1px solid var(--grail-glass-border);border-radius:28px;border-radius:var(--grail-radius-lg);box-shadow:0 22px 55px #080c2073;box-shadow:var(--grail-shadow);padding:2rem;padding:var(--grail-spacing-lg)}.grail-card--compact{padding:1.25rem;padding:var(--grail-spacing-md)}.grail-card+.grail-card{margin-top:2rem;margin-top:var(--grail-spacing-lg)}.grail-chip{background:#ffffff1f;color:#f4f7ffad;color:var(--grail-text-subtle);font-size:.75rem;letter-spacing:.08em;padding:.35rem .75rem}.grail-btn,.grail-btn:focus,.grail-chip{align-items:center;border-radius:999px;border-radius:var(--grail-radius-pill);display:inline-flex;gap:.35rem;gap:var(--grail-spacing-xs);text-transform:uppercase}.grail-btn,.grail-btn:focus{border:none;font-weight:700;justify-content:center;letter-spacing:.04em;outline:none;padding:.68rem 1.6rem;transition:transform .18s ease,box-shadow .2s ease,background .2s ease}.grail-btn:hover{transform:translateY(-1px)}.grail-btn:disabled,.grail-btn[disabled]{box-shadow:none;cursor:not-allowed;opacity:.55;transform:none}.grail-btn--primary{background:linear-gradient(135deg,#d97706,#ea580c);background:linear-gradient(135deg,var(--grail-primary) 0,var(--grail-accent) 100%);box-shadow:0 14px 32px #d9770659;color:#fff}.grail-btn--accent{background:linear-gradient(135deg,#ea580c,#c2410c);background:linear-gradient(135deg,var(--grail-accent) 0,var(--grail-accent-strong) 100%);box-shadow:0 14px 32px #ff7a5959;color:#fff}.grail-btn--ghost{background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff24;color:#f6f7fb;color:var(--grail-text)}.grail-btn--danger{background:linear-gradient(135deg,#ff6b6b,#ff4d4d);background:linear-gradient(135deg,var(--grail-danger) 0,#ff4d4d 100%);box-shadow:0 14px 32px #ff6b6b59;color:#fff}.grail-btn--ghost:hover{background:#ffffff1f}.grail-btn--sm{font-size:.7rem;padding:.45rem 1.2rem}.grail-pill-badge{align-items:center;background:#ffffff1f;border-radius:999px;border-radius:var(--grail-radius-pill);color:#f6f7fb;color:var(--grail-text);display:inline-flex;font-size:.75rem;gap:.4rem;padding:.35rem .85rem}.grail-section-title{color:#fff;font-size:1.35rem;font-weight:700;letter-spacing:.04em;margin-bottom:1.25rem;margin-bottom:var(--grail-spacing-md);text-transform:uppercase}.grail-section-subtitle{color:#f4f7ff6b;color:var(--grail-muted);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}.grail-alert{background:#ffffff29;border:1px solid #ffffff3d;border-radius:16px;border-radius:var(--grail-radius-md);box-shadow:0 14px 24px #0b101e4d;color:#f6f7fb;color:var(--grail-text);padding:.65rem 1.25rem;padding:var(--grail-spacing-sm) var(--grail-spacing-md)}.grail-alert--success{background:#44d2962e;border-color:#44d29673}.grail-alert--warning{background:#ffd1663d;border-color:#ffd16666;color:#1c1f2a}.grail-alert--danger{background:#ff6b6b2e;border-color:#ff6b6b66}.vinyl-spinner{align-items:center;color:#f6f7fb;color:var(--grail-text);display:inline-flex;flex-direction:column;gap:.65rem;gap:var(--grail-spacing-sm);justify-content:center}.vinyl-spinner__disc{animation:vinyl-spin 1.35s linear infinite;background:radial-gradient(circle at center,#202231e6 0,#0c0d16f2 70%,#000000d9 100%);border-radius:50%;box-shadow:0 12px 24px #07091273;height:72px;height:var(--spinner-size,72px);overflow:hidden;position:relative;width:72px;width:var(--spinner-size,72px)}.vinyl-spinner__disc:before{background:radial-gradient(circle at center,#ea580c 0,#ffd166 60%,#c2410c 100%);background:radial-gradient(circle at center,var(--grail-accent) 0,var(--grail-highlight) 60%,var(--grail-accent-strong) 100%);border-radius:50%;box-shadow:inset 0 0 0 2px #ffffff59;content:"";inset:22%;position:absolute}.vinyl-spinner__disc:after{background:conic-gradient(from 0deg,#ffffff0a 0deg,#0000 36deg,#ffffff0a 72deg,#0000 108deg);border-radius:50%;content:"";inset:10%;mix-blend-mode:screen;position:absolute}.vinyl-spinner__text{color:#f4f7ffad;color:var(--grail-text-subtle);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}@keyframes vinyl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.grail-table{border-collapse:initial;border-spacing:0;width:100%}.grail-table thead tr{color:#f4f7ffad;color:var(--grail-text-subtle);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.grail-table td,.grail-table th{border-bottom:1px solid #ffffff1a;padding:.85rem 1rem;white-space:nowrap}.grail-table tbody tr:last-child td{border-bottom:none}.grail-table tbody tr:hover{background:#ffffff0d}.grail-fade-divider{background:linear-gradient(90deg,#fff0,#ffffff47 50%,#fff0);height:1px;margin:1.25rem 0;margin:var(--grail-spacing-md) 0;width:100%}.grail-tag-grid{grid-gap:.35rem;grid-gap:var(--grail-spacing-xs);display:grid;gap:.35rem;gap:var(--grail-spacing-xs);grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.grail-tag{background:#ffffff1f;border-radius:999px;border-radius:var(--grail-radius-pill);color:#f4f7ffad;color:var(--grail-text-subtle);font-size:.8rem;letter-spacing:.05em;padding:.45rem .85rem;text-transform:uppercase}@media (max-width:768px){.grail-navbar{padding:.75rem 0}.grail-navbar .nav-link{font-size:.75rem;padding:.4rem .75rem}.grail-card{border-radius:22px;padding:1.25rem;padding:var(--grail-spacing-md)}.grail-btn{width:100%}}@media (max-width:576px){.grail-shell{background:linear-gradient(180deg,#131826f7,#1e2334f2 45%,#f0f2f6f7)}.grail-navbar .navbar-brand{font-size:.95rem}.grail-footer .footer-inner{padding:2rem .65rem;padding:var(--grail-spacing-lg) var(--grail-spacing-sm)}.vinyl-spinner__text{font-size:.75rem}}.btn-primary,.btn-primary:focus{background-color:#d97706;background-color:var(--grail-primary);border-color:#d97706;border-color:var(--grail-primary);color:#fff}.btn-primary.active,.btn-primary:active,.btn-primary:hover{background-color:#b45309;background-color:var(--grail-primary-strong);border-color:#b45309;border-color:var(--grail-primary-strong);color:#fff}.btn-outline-primary{border-color:#d97706;border-color:var(--grail-primary);color:#d97706;color:var(--grail-primary)}.btn-outline-primary.active,.btn-outline-primary:active,.btn-outline-primary:hover{background-color:#d97706;background-color:var(--grail-primary);border-color:#d97706;border-color:var(--grail-primary);color:#fff}.text-primary{color:#d97706!important;color:var(--grail-primary)!important}.bg-primary{background-color:#d97706!important;background-color:var(--grail-primary)!important}.bg-primary-subtle{background-color:#d9770626!important}.border-primary{border-color:#d97706!important;border-color:var(--grail-primary)!important}.badge.bg-primary{background-color:#d97706!important;background-color:var(--grail-primary)!important}.spinner-border.text-primary{color:#d97706!important;color:var(--grail-primary)!important}.card.border-primary{border-color:#d97706!important;border-color:var(--grail-primary)!important}.card-header.bg-primary{background-color:#d97706!important;background-color:var(--grail-primary)!important}@media (max-width:991px){.navbar-nav{padding-top:1rem;text-align:center}.navbar-nav .nav-item{margin-bottom:.5rem}.navbar-brand{font-size:1.1rem}.navbar-brand .small{display:none}}@media (max-width:576px){.navbar{padding:.5rem 1rem}.navbar-brand{font-size:1rem}.navbar-toggler{font-size:1rem;padding:.25rem .5rem}}@media (max-width:991px){.home-container .btn-group{flex-wrap:wrap}.home-container .btn{flex:1 1 auto;margin-bottom:.5rem;min-width:calc(50% - .5rem)}}@media (max-width:768px){.home-container .btn-group{flex-direction:column}.home-container .btn{margin-right:0!important;width:100%}.home-stats .col-md-3{margin-bottom:1rem}}@media (max-width:576px){.home-header{text-align:center}.home-header .col-md-6:last-child{margin-top:1rem;text-align:center}.home-stats .display-6{font-size:1.25rem}.suggestion-card{margin-bottom:1rem}}@media (max-width:768px){.card{margin-bottom:1rem}.card-body{padding:1rem}.card-img-top{height:auto!important;max-height:300px}}@media (max-width:576px){.card-body{padding:.75rem}.card-title{font-size:1rem}.card-text{font-size:.875rem}}@media (max-width:768px){.btn-group{flex-wrap:wrap}.btn-group .btn{flex:1 1 auto;margin-bottom:.5rem}}@media (max-width:576px){.btn{font-size:.875rem;padding:.5rem 1rem}.btn-group{flex-direction:column;width:100%}.btn-group .btn{margin-bottom:.5rem;margin-right:0!important;width:100%}.btn i{margin-right:.25rem}}@media (max-width:768px){.form-control,.form-select{font-size:16px}.input-group{flex-wrap:wrap}.input-group .form-control{flex:1 1 100%;margin-bottom:.5rem}}@media (max-width:576px){.form-control,.form-select{font-size:16px;padding:.75rem}.input-group-text{padding:.75rem}}@media (max-width:768px){.search-form{padding:1rem}.search-results .col-lg-3,.search-results .col-md-4{margin-bottom:1rem}}@media (max-width:576px){.search-container{padding-top:1rem}.search-form{padding:.75rem}.search-form,.search-results .col-sm-6{margin-bottom:1rem}}@media (max-width:768px){.collection-grid .col-lg-3,.collection-grid .col-md-4{margin-bottom:1rem}.collection-filters{flex-direction:column}.collection-filters>*{margin-bottom:.5rem}}@media (max-width:576px){.collection-header{flex-direction:column;text-align:center}.collection-header .col-md-6{margin-bottom:1rem}.collection-filters{flex-direction:column}.collection-filters input,.collection-filters select{margin-bottom:.5rem;width:100%}}@media (max-width:768px){.profile-header{text-align:center}.profile-stats .col-md-3{margin-bottom:1rem}}@media (max-width:576px){.profile-avatar{height:80px;width:80px}.profile-header h1{font-size:1.5rem}.profile-stats .display-6{font-size:1.25rem}}@media (max-width:768px){.rating-card{margin-bottom:1rem}.rating-controls{flex-direction:column}}@media (max-width:576px){.rating-item{padding:1rem}.rating-stars{justify-content:center}}@media (max-width:768px){.modal-dialog{margin:1rem}.modal-content{padding:1rem}}@media (max-width:576px){.modal-dialog{margin:.5rem}.modal-body,.modal-footer,.modal-header{padding:.75rem}.modal-title{font-size:1.1rem}}@media (max-width:768px){.table-responsive{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table{font-size:.875rem}}@media (max-width:576px){.table{font-size:.75rem}.table td,.table th{padding:.5rem}}@media (max-width:768px){img{height:auto;max-width:100%}.card-img-top{height:auto;max-height:300px;object-fit:cover}}@media (max-width:576px){.card-img-top{max-height:200px}}@media (max-width:768px){footer{padding:1.5rem 0}footer .row{text-align:center}}@media (max-width:576px){footer{padding:1rem 0}footer p{font-size:.875rem;margin-bottom:.5rem}}@media (max-width:768px){.admin-stats .col-md-3{margin-bottom:1rem}.admin-table{font-size:.875rem}}@media (max-width:576px){.admin-header{flex-direction:column;text-align:center}.admin-actions{flex-direction:column;width:100%}.admin-actions .btn{margin-bottom:.5rem;width:100%}.d-mobile-none{display:none!important}.d-mobile-block{display:block!important}.text-mobile-center{text-align:center!important}.w-mobile-100{width:100%!important}.p-mobile-sm{padding:.5rem!important}.m-mobile-sm{margin:.5rem!important}}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.btn,.navbar,footer{display:none}.card{break-inside:avoid;page-break-inside:avoid}}.form-container{height:100vh}.login-form{background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;max-width:400px;padding:20px;width:100%}.form-group{margin-bottom:15px}.btn{padding:10px}.btn:hover{background-color:#0056b3}.form-container{align-items:center;background-color:#f4f4f4;display:flex;justify-content:center;min-height:100vh;padding:20px}.register-form{background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;max-width:500px;padding:30px;width:100%}.step-indicator{justify-content:center;margin-bottom:30px;padding:20px 0}.step,.step-indicator{align-items:center;display:flex}.step{cursor:pointer;flex-direction:column;position:relative;transition:all .3s ease}.step.active .step-number{background-color:#007bff;border-color:#007bff;color:#fff}.step.completed .step-number{background-color:#28a745;border-color:#28a745;color:#fff}.step-number{align-items:center;background-color:#fff;border:2px solid #ddd;border-radius:50%;color:#666;display:flex;font-weight:700;height:40px;justify-content:center;margin-bottom:8px;transition:all .3s ease;width:40px}.step-label{color:#666;font-size:12px;font-weight:500;text-align:center}.step.active .step-label{color:#007bff;font-weight:600}.step-connector{background-color:#ddd;height:2px;margin:0 10px 20px;transition:background-color .3s ease;width:100px}.step.completed+.step-connector{background-color:#28a745}.step.active~.step .step-connector{background-color:#ddd}.oauth-form,.registration-form{width:100%}.oauth-form{text-align:center}.oauth-form h2{color:#333;margin-bottom:15px}.oauth-form p{color:#666;line-height:1.6;margin-bottom:15px}.img{display:flex;justify-content:center;margin-bottom:20px}.img img{height:auto;max-width:200px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:5px}.form-input{border:1px solid #ddd;border-radius:5px;box-sizing:border-box;font-size:14px;margin-top:5px;padding:10px;width:100%}.form-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.form-text{color:#666}.error-text,.form-text{display:block;font-size:12px;margin-top:5px}.error-text{color:#dc3545}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:5px;color:#721c24;margin-bottom:15px;padding:12px}.btn{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;margin-top:10px;padding:12px;transition:background-color .3s ease;width:100%}.btn:hover:not(:disabled){background-color:#0056b3}.btn:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}.btn-secondary{background-color:#6c757d;margin-top:10px}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.oauth-callback{padding:40px 20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:50px;margin:20px auto;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.success-icon{background-color:#28a745}.error-icon,.success-icon{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:30px;font-weight:700;height:60px;justify-content:center;margin:20px auto;width:60px}.error-icon{background-color:#dc3545}.oauth-callback h2{color:#333;margin-top:20px}.oauth-callback p{color:#666;margin-top:10px}.oauth-callback .error-text{color:#dc3545;font-weight:500}.search-container{background-color:#f4f4f4;min-height:100vh;padding-top:20px}.search-form{background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;padding:20px}.search-list{margin-top:20px}.search-card,.search-result-item{position:relative}.search-card{transition:all .3s ease}.search-card:hover{border-color:#007bff!important;box-shadow:0 6px 20px #0000001a;transform:translateY(-2px)}.search-card img:hover{transform:scale(1.05)}.search-card-compact{position:relative;transition:all .2s ease}.search-card-compact:hover{border-color:#007bff!important}.search-card-compact .card-img-top{transition:transform .2s ease}.search-card-compact:hover .card-img-top{transform:scale(1.03)}.btn:hover{box-shadow:0 2px 8px #00000026;transform:translateY(-1px)}.search-form .form-control{border:2px solid #e9ecef;border-radius:25px;padding:12px 20px;transition:all .3s ease}.search-form .form-control:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}.search-form .btn{border-radius:25px;font-weight:600;padding:12px 24px;transition:all .3s ease}.text-center i.fa-search{opacity:.3}@media (max-width:768px){.search-card{margin-bottom:15px}.search-card-compact .card-body{padding:.5rem!important}}@media (max-width:576px){.col-6{flex:0 0 50%;max-width:50%}}.search-list.loading{opacity:.6;pointer-events:none}.search-result-item{animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.letter-spaced{letter-spacing:.12em}.release-page{display:flex;flex-direction:column;gap:var(--grail-spacing-lg)}.release-feedback{margin-bottom:0}.release-loading{min-height:320px}.release-hero{grid-gap:var(--grail-spacing-lg);align-items:center;display:grid;gap:var(--grail-spacing-lg);grid-template-columns:minmax(0,320px) minmax(0,1fr);overflow:hidden}.release-hero__visual{background:#ffffff0a;background-position:50%;background-size:cover;border-radius:var(--grail-radius-lg);box-shadow:inset 0 0 0 1px #ffffff14;overflow:hidden;padding-top:100%;position:relative}.release-hero__visual img{display:block;height:100%;object-fit:cover;width:100%}.release-hero__fallback{align-items:center;background:#ffffff0a;color:var(--grail-muted);display:flex;inset:0;justify-content:center;position:absolute}.release-hero__content{display:flex;flex-direction:column;gap:var(--grail-spacing-md)}.release-hero__title{font-family:Space Grotesk,sans-serif;font-size:clamp(2rem,2.5vw,2.75rem);letter-spacing:.04em;margin:0}.release-hero__artist{color:var(--grail-text-subtle);font-size:1.1rem;margin:0}.release-hero__meta{grid-gap:var(--grail-spacing-md);display:grid;gap:var(--grail-spacing-md);grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.release-hero__meta-label{color:var(--grail-muted);display:block;font-size:.75rem;letter-spacing:.12em;margin-bottom:.35rem;text-transform:uppercase}.release-hero__meta-value{color:var(--grail-text);font-size:1.1rem;font-weight:600}.release-hero__tags{display:flex;flex-wrap:wrap;gap:var(--grail-spacing-xs)}.release-grid{grid-gap:var(--grail-spacing-lg);align-items:start;display:grid;gap:var(--grail-spacing-lg);grid-template-columns:380px minmax(0,1fr)}.release-grid__main{display:flex;flex-direction:column;gap:var(--grail-spacing-lg)}.release-overview__header{display:flex;flex-direction:column;gap:.35rem}.release-stats-grid{grid-gap:var(--grail-spacing-md);display:grid;gap:var(--grail-spacing-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:var(--grail-spacing-md)}.release-stats-card{background:#ffffff0f;border:1px solid #ffffff14;border-radius:var(--grail-radius-md);display:flex;flex-direction:column;gap:.35rem;min-height:120px;padding:var(--grail-spacing-md)}.release-stats-card__icon{color:var(--grail-highlight);font-size:1.25rem}.release-stats-card__label{color:var(--grail-muted);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.release-stats-card__value{color:var(--grail-text);font-size:1.05rem;line-height:1.35}.release-stats-cta{margin-top:var(--grail-spacing-md);width:fit-content}.release-manage{flex-direction:column}.release-manage,.release-manage__header{display:flex;gap:var(--grail-spacing-md)}.release-manage__header{align-items:center;flex-wrap:wrap;justify-content:space-between}.release-manage__actions{grid-gap:var(--grail-spacing-sm);display:grid;gap:var(--grail-spacing-sm);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.release-rating-scale{display:flex;flex-direction:column;gap:var(--grail-spacing-sm)}.release-rating-scale__buttons{display:flex;flex-wrap:wrap;gap:var(--grail-spacing-xs)}.release-manage__notes{display:flex;flex-direction:column;gap:var(--grail-spacing-xs)}.release-manage__label{color:var(--grail-muted);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.release-manage__input,.release-manage__select,.release-manage__textarea{background:#0d101b66;border:1px solid #ffffff1f;border-radius:var(--grail-radius-md);color:var(--grail-text);font-size:.95rem;padding:.85rem 1rem;width:100%}.release-manage__input:focus,.release-manage__select:focus,.release-manage__textarea:focus{border-color:#6c7bff80;box-shadow:0 0 0 3px #6c7bff33;outline:none}.release-manage__footer{grid-gap:var(--grail-spacing-md);align-items:end;display:grid;gap:var(--grail-spacing-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.release-manage__action{display:flex;justify-content:flex-end}.release-tracklist__header{display:flex;flex-direction:column;gap:.35rem;margin-bottom:var(--grail-spacing-md)}.release-tracklist__list{display:flex;flex-direction:column;gap:var(--grail-spacing-xs);list-style:none;margin:0;padding:0}.release-tracklist__item{align-items:center;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:var(--grail-radius-md);display:grid;grid-template-columns:64px minmax(0,1fr) minmax(70px,auto);padding:.9rem 1.1rem}.release-tracklist__position{color:var(--grail-highlight);font-size:.9rem;font-weight:600;letter-spacing:.08em}.release-tracklist__title{color:var(--grail-text);font-size:1rem}.release-tracklist__duration{color:var(--grail-text-subtle);font-size:.85rem;text-align:right}.release-tracklist__empty{background:#ffffff0a;border-radius:var(--grail-radius-md);color:var(--grail-muted);font-size:.95rem;padding:2rem 0;text-align:center}.release-secondary-grid{grid-gap:var(--grail-spacing-md);display:grid;gap:var(--grail-spacing-md);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.release-collection__list,.release-versions__summary{display:flex;flex-direction:column;gap:var(--grail-spacing-sm);list-style:none;margin:0;padding:0}.release-collection__list li,.release-versions__summary li{align-items:center;background:#ffffff0d;border:1px solid #ffffff0f;border-radius:var(--grail-radius-md);color:var(--grail-text);display:flex;font-size:.95rem;justify-content:space-between;padding:.85rem 1rem}.release-collection__list span:first-child,.release-versions__summary span:first-child{color:var(--grail-muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.release-collection__empty{color:var(--grail-text-subtle);font-size:.95rem;padding:1rem 0}.release-versions__latest ul{display:flex;flex-direction:column;gap:var(--grail-spacing-xs);list-style:none;margin:0;padding:0}.release-versions__latest li{background:#ffffff08;border:1px solid #ffffff0a;border-radius:var(--grail-radius-md);padding:.75rem .85rem}.release-versions__title{color:var(--grail-text);font-weight:600}.release-versions__meta{color:var(--grail-muted);font-size:.8rem}.info-panel{display:flex;flex-direction:column;gap:var(--grail-spacing-md);position:sticky;top:110px}.info-panel__media{border-radius:var(--grail-radius-md);overflow:hidden}.image-slider{display:flex;flex-direction:column;gap:var(--grail-spacing-sm)}.image-slider--empty{background:#ffffff0a;border:1px solid #ffffff14;border-radius:var(--grail-radius-md);color:var(--grail-muted);padding:1.5rem;text-align:center}.image-slider__primary{background:#ffffff0a;border:1px solid #ffffff14;border-radius:var(--grail-radius-lg);overflow:hidden;padding-top:100%;position:relative;width:100%}.image-slider__primary img{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.image-slider__thumbnails{grid-gap:var(--grail-spacing-xs);display:grid;gap:var(--grail-spacing-xs);grid-template-columns:repeat(auto-fit,minmax(64px,1fr))}.image-slider__thumbnail{background:#ffffff0a;border:1px solid #ffffff14;border-radius:var(--grail-radius-md);display:block;overflow:hidden;padding-top:100%;position:relative;transition:transform .2s ease,box-shadow .2s ease}.image-slider__thumbnail img{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.image-slider__thumbnail:hover{box-shadow:0 12px 30px #080c2059;transform:translateY(-2px)}.info-panel__meta{display:flex;flex-direction:column;gap:var(--grail-spacing-sm)}.info-panel__section{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:var(--grail-radius-md);display:flex;flex-direction:column;gap:.3rem;padding:.75rem .9rem}.info-panel__label{color:var(--grail-muted);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.info-panel__value{color:var(--grail-text);font-size:.95rem}.info-panel__hint{color:var(--grail-text-subtle);font-size:.75rem}.info-panel__rating{grid-gap:var(--grail-spacing-sm);align-items:center;background:#ffd1661f;border:1px solid #ffd1664d;border-radius:var(--grail-radius-md);display:grid;gap:var(--grail-spacing-sm);grid-template-columns:1fr auto;padding:.75rem .9rem}.info-panel__rating-value{align-items:baseline;color:var(--grail-highlight);display:flex;font-size:1.4rem;font-weight:700;gap:.35rem}.info-panel__rating-value small{color:var(--grail-muted);font-size:.75rem;text-transform:uppercase}@media (max-width:1200px){.release-grid{grid-template-columns:320px minmax(0,1fr)}}@media (max-width:992px){.release-grid{grid-template-columns:1fr}.release-grid__sidebar{order:1}.release-grid__main{order:2}.info-panel{position:static}}@media (max-width:768px){.release-hero,.release-manage__actions,.release-manage__footer{grid-template-columns:1fr}.release-tracklist__item{gap:var(--grail-spacing-xs);grid-template-columns:52px minmax(0,1fr)}.release-tracklist__duration{display:none}}@media (max-width:576px){.release-stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.release-tracklist__item{padding:.75rem}}
/*# sourceMappingURL=main.611329a0.css.map*/