.admin{width:100%;background-color:#fff;padding:1rem}textarea.admin-artist-description{width:100%;height:fit-content}.admin-releases-list{display:flex;flex-direction:column;gap:0.75rem}.admin-release{padding:1rem;display:grid;gap:0.75rem 1rem;grid-template-columns:10rem 1fr;grid-template-areas:"cover title" "cover stats";align-items:start;border:1px solid #e9ecef;border-radius:0.375rem;background:#fff}.admin-release .release-cover-wrap{grid-area:cover}.admin-release .release-cover{width:10rem;height:10rem;object-fit:cover;display:block;margin-bottom:0;border-radius:0.375rem;border:1px solid #e9ecef;background:#f8f9fa}.admin-release .release-cover--placeholder{background-color:#e9ecef;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2399a3ad'%3E%3Cpath d='M12 12a4 4 0 1 0-4-4 4 4 0 0 0 4 4zm0 2c-4.42 0-8 2.24-8 5v1h16v-1c0-2.76-3.58-5-8-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:45%}.admin-release .release-title{grid-area:title;font-weight:600;font-size:1.2rem;line-height:1.3}.admin-release .release-title a{color:#212529;text-decoration:none}.admin-release .release-title a:hover{color:#111827;text-decoration:underline}.admin-release .admin-release-stats{grid-area:stats;display:flex;flex-direction:column;gap:0.25rem}.admin-release-cover-link{display:block;color:inherit;text-decoration:none}.admin-release-summary{margin-bottom:1.5rem}.admin-release-summary-actions{margin-top:0.75rem}main.admin-session{--admin-accent: #475569;--main-menu-bg-color: #1f2933;--accent-color: var(--admin-accent);--artist-title-color: #f8f9fa;--a-color: #334155;--a-hover-color: #111827;--footer-bg-color: #e9ecef;--border-radius: 6;background-color:#eef1f4}.admin{width:100%;max-width:1100px;min-height:calc(100vh - 10rem);background-color:#fcfcfc;color:#212529;padding:1.5rem;border:1px solid #dee2e6;border-radius:0.375rem;box-shadow:0 1px 2px rgba(0,0,0,0.04);align-self:center}.admin h2{margin-bottom:1.25rem}.admin h3{margin:1.25rem 0 0.75rem}.admin .nav-tabs{display:flex;flex-wrap:wrap;gap:0.25rem;margin-bottom:0.75rem;border-bottom:1px solid #dee2e6}.admin .nav-tabs .nav-item{margin-bottom:-1px}.admin .nav-tabs .nav-link{display:block;padding:0.5rem 0.9rem;color:#495057;border:1px solid transparent;border-top-left-radius:0.375rem;border-top-right-radius:0.375rem;text-decoration:none}.admin .nav-tabs .nav-link:hover{color:#212529;background-color:#f8f9fa;border-color:#e9ecef #e9ecef #dee2e6}.admin .nav-tabs .nav-link.active{color:#212529;background-color:#fcfcfc;border-color:#dee2e6 #dee2e6 #fcfcfc;font-weight:600}.admin form{max-width:36rem}.admin .form-group,.admin .mb-3,.admin .field{margin-bottom:1rem}.admin label{display:block;margin-bottom:0.25rem;font-weight:600}.admin .admin-theme-form .form-group>label,.admin .admin-theme-form .field>label,.admin .admin-theme-form .mb-3>label{font-size:0.95rem;font-weight:500;color:#495057}.admin input[type="text"],.admin input[type="email"],.admin input[type="password"],.admin input[type="number"],.admin input[type="date"],.admin select,.admin textarea{display:block;width:100%;padding:0.375rem 0.75rem;border:1px solid #ced4da;border-radius:0.25rem;background-color:#fff}.admin input[type="file"]{display:block;width:100%}.admin input[type="color"]{display:block;width:3rem;height:2rem;padding:0;border:1px solid #ced4da;border-radius:0.25rem}.admin input[type="checkbox"]{width:1.1rem;height:1.1rem;cursor:pointer}.admin .form-group-checkbox .checkbox-label{display:inline-flex;align-items:center;gap:0.5rem;margin-bottom:0;font-weight:500;cursor:pointer}.admin .form-group-checkbox input[type="checkbox"]{margin:0}.admin .form-actions,.admin .admin-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.5rem}.admin .admin-actions{margin-top:1rem}.admin form.button_to{display:inline-block;max-width:none;margin:0;padding:0;vertical-align:middle}.admin input[type="submit"],.admin .btn{display:inline-block;padding:0.375rem 0.75rem;border:1px solid #ced4da;border-radius:calc(var(--border-radius, 5) * 1px);background-color:#e9ecef;color:#212529;font-family:inherit;font-size:1rem;line-height:1.5;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;vertical-align:middle}.admin input[type="submit"]:hover,.admin .btn:hover{background-color:#dde1e5;border-color:#b9c1c9;color:#212529}.admin input[type="submit"],.admin .btn-primary{background-color:var(--admin-accent);border-color:var(--admin-accent);color:#fff}.admin input[type="submit"]:hover,.admin .btn-primary:hover{background-color:var(--admin-accent);border-color:var(--admin-accent);color:#fff;filter:brightness(0.92)}.admin .btn-light{background-color:#f8f9fa;border-color:#ced4da;color:#212529}.admin .btn-light:hover{background-color:#d3d6d9;border-color:#b9c1c9;color:#212529}.admin .btn-danger{background-color:#dc3545;border-color:#dc3545;color:#fff}.admin .btn-danger:hover{background-color:#bb2d3b;border-color:#b02a37;color:#fff}.admin-header{width:100%;background-color:#1f2933;border-bottom:2px solid var(--admin-accent)}.admin-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.5rem 1rem;padding:0.5rem 1.25rem}.admin-nav-brand{font-size:1.25rem;font-weight:700;color:#f8f9fa;text-decoration:none}.admin-nav-brand:hover{color:#ffffff;text-decoration:none}.admin-nav-links{display:flex;align-items:center;gap:0.5rem}.admin-nav-link{padding:0.25rem 0.875rem;border:1px solid transparent;border-radius:0.375rem;color:#e9ecef;text-decoration:none;transition:background-color 0.15s ease, color 0.15s ease}.admin-nav-link:hover{color:#ffffff;background-color:rgba(255,255,255,0.12);text-decoration:none}.admin-nav-link--signout{border-color:var(--admin-accent)}.admin .track-fields{display:grid;grid-template-columns:minmax(12rem, 1fr) 6rem 12rem;gap:0.75rem 1rem;align-items:end;padding:0.75rem;margin-bottom:0.75rem;border:1px solid #dee2e6;border-radius:0.375rem;background-color:#fff}.admin .track-field label{margin-bottom:0.25rem}.admin .track-field input,.admin .track-field select{width:100%}@media (max-width: 700px){.admin .track-fields{grid-template-columns:1fr}}.admin .tracks-list{margin-top:1.5rem;max-width:36rem}.admin .track-item{display:grid;grid-template-columns:2rem 1fr 6rem;gap:1rem;padding:0.375rem 0;border-bottom:1px solid #eee}.admin .add-track-form{margin-top:1.5rem}.admin .destroy-button-container{margin-top:1.5rem}.admin-library .admin-theme-section:last-child{border-bottom:none;padding-bottom:0}.admin .library-field{display:flex;flex-wrap:wrap;align-items:flex-end;gap:0.75rem 1rem;max-width:48rem}.admin .library-field label{flex:1 1 100%;margin-bottom:0}.admin .library-field input[type="text"]{flex:1 1 20rem;width:auto;min-width:12rem;margin:0}.admin-library-hint{margin:0 0 0.75rem;color:#6c757d}.admin .release-cover{max-width:10rem;max-height:10rem;margin-bottom:1rem;border-radius:0.375rem}.admin-artists-list{display:flex;flex-direction:column;border:1px solid #e9ecef;border-radius:0.375rem;overflow:hidden;background:#fff}.admin-artist-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.75rem 1rem;border-bottom:1px solid #e9ecef}.admin-artist-row:last-child{border-bottom:none}.admin-artist-row-main{display:flex;align-items:center;gap:0.75rem;min-width:0}.admin-artist-row-thumb{width:2.5rem;height:2.5rem;object-fit:cover;border-radius:0.375rem;border:1px solid #e9ecef;background:#f8f9fa;display:block;flex:0 0 auto}.admin-artist-row-thumb--placeholder{background:linear-gradient(135deg, #f1f3f5, #e9ecef)}.admin-artist-row-title a{color:#212529;font-weight:500;text-decoration:none}.admin-artist-row-title a:hover{color:var(--admin-accent);text-decoration:underline}.admin-artist-row-meta{color:#6c757d;font-size:0.9rem;white-space:nowrap}.admin-artist-description-block{margin-top:1rem}.admin-artist-description-content{line-height:1.5}.admin-releases-header{margin-bottom:1rem}.admin-release-stats-item,.admin-release-tracks-count,.admin-release-stats-duration{display:grid;grid-template-columns:8rem 1fr;gap:0.5rem;align-items:baseline}.admin-release-stats-item-title{color:#495057}.admin-theme-form{max-width:48rem}.admin-theme-section{padding:0.625rem 0;border-bottom:1px solid #e9ecef}.admin-theme-section:first-child{padding-top:0.25rem}.admin-theme-section:last-of-type{border-bottom:none;padding-bottom:0}.admin-theme-section-title{margin:0 0 0.625rem;font-size:1.1rem;font-weight:700;color:#212529;letter-spacing:0.01em}.admin-theme-colors{display:grid;grid-template-columns:repeat(auto-fit, minmax(14rem, 1fr));gap:0.75rem 1rem}.admin-theme-color-field{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.5rem 0.75rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:0.375rem}.admin-theme-color-field label{margin:0;font-weight:500;color:#495057}.admin-theme-color-field input[type="color"]{width:3rem;height:2rem;padding:0.15rem;border:1px solid #ced4da;border-radius:0.25rem;background:#fff;cursor:pointer;flex:0 0 auto}.admin-theme-radius-field{max-width:16rem}.admin-theme-remove-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid #e9ecef}.admin-bg-preview{margin-bottom:0.5rem}.admin-bg-preview img{max-width:100%;width:20rem;height:auto;aspect-ratio:16 / 9;object-fit:cover;border:1px solid #ced4da;border-radius:0.375rem;display:block;background:#f8f9fa}.admin-favicon-preview{margin-bottom:0.5rem}.admin-favicon-preview img{width:3rem;height:3rem;display:block;border:1px solid #ced4da;border-radius:0.375rem;padding:0.25rem;background:#fff}.admin-diagnostics{margin-top:2rem;padding-top:1rem;border-top:1px solid #dee2e6}.admin-diagnostics-header{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.75rem}.admin-diagnostics-header h3{margin:0}.admin-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid #ced4da;border-radius:0.375rem;background:#fff;color:#495057;cursor:pointer}.admin-copy-btn:hover{background:#f8f9fa;color:#212529}.admin-copy-btn.is-copied{color:#198754;border-color:#198754}.admin-diagnostics-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(16rem, 1fr));gap:0.75rem 1rem}.admin-diagnostics-item{padding:0.75rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:0.375rem}.admin-diagnostics-label{display:block;font-size:0.85rem;font-weight:600;color:#495057;margin-bottom:0.25rem}.admin-diagnostics-value{display:block;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-size:0.9rem;word-break:break-word}.artist-show-container,.artist-show-albums{margin-top:1rem;width:90%;padding:1rem;background-color:rgba(0,0,0,0.5);border-radius:calc(var(--border-radius, 5) * 1px);color:var(--text-color);border-right:solid 3px var(--accent-color)}blockquote{font-style:italic;font-size:1rem;margin:1rem 0;border-left:solid 3px var(--text-color);padding-left:1rem}.artist-show-container a{color:var(--a-color)}.artist-show-albums .artist-releases-title{margin:0 0 0.75rem;font-size:1.25rem;font-weight:600;color:var(--text-color)}.artist-show-albums .artist-releases-group+.artist-releases-group{margin-top:1.25rem}.artist-show-albums .artist-releases-year{margin:0 0 0.5rem;font-size:1rem;font-weight:600;color:var(--a-color)}.artist-show-albums .albums-list{display:grid;grid-template-columns:repeat(auto-fill, minmax(8.5rem, 1fr));gap:1rem 0.75rem}.artist-show-albums .release-item{display:flex;flex-direction:column;gap:0.4rem;min-width:0;text-decoration:none}.artist-show-albums .release-cover{aspect-ratio:1 / 1;overflow:hidden;border-radius:calc(var(--border-radius, 5) * 1px)}.artist-show-albums .release-cover-image{display:block;width:100%;height:100%;object-fit:cover}.artist-show-albums .release-cover-image:hover{-webkit-filter:brightness(1.2)}.artist-show-albums .release-item-title{font-size:0.85rem;color:var(--a-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artist-show-albums .release-item:hover .release-item-title{color:var(--a-hover-color)}html,body{height:100%;margin:0;display:flex;flex-direction:column}body{background-size:cover;background-repeat:no-repeat;background-attachment:fixed;font-family:"PT Sans", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif}main{flex:1;width:100%;display:flex;flex-direction:column;align-items:center;padding-left:0 !important;padding-right:0 !important;padding-bottom:8rem}main.admin-session{padding-bottom:7rem}main.admin-session .admin{flex:1 1 auto}a{color:var(--a-color);text-decoration:none}a:hover{color:var(--a-hover-color);text-decoration:underline}header{width:100%;display:flex;justify-content:center;align-items:center;flex-direction:column;padding:1rem;height:3rem}.main-header{display:flex;align-items:center;width:100%;height:3rem;background-color:var(--main-menu-bg-color);top:0;left:0;padding:0;margin:0;z-index:1000}.artist-title a{font-size:1.5rem;font-weight:bold;color:var(--artist-title-color);padding-left:1rem;text-decoration:none}.releases-container{margin-top:1rem;width:90%;padding:1rem;background-color:rgba(0,0,0,0.5);border-radius:calc(var(--border-radius, 5) * 1px);display:grid;row-gap:1rem;column-gap:1rem;border-right:solid 3px var(--accent-color);grid-template-columns:repeat(auto-fill, minmax(15rem, 1fr));grid-auto-flow:dense}.release-container a{color:var(--a-color);text-decoration:none}.release-container a:hover{color:var(--a-hover-color);text-decoration:underline}.main-artist-title{grid-column:1 / -1;color:var(--a-color);text-decoration:none}.main-artist-title:hover{color:var(--a-hover-color)}.releases-container img:hover{-webkit-filter:brightness(1.2)}.cover{width:15rem;height:15rem;border-radius:calc(var(--border-radius, 5) * 1px)}#footer{background-color:var(--footer-bg-color);margin-top:auto;height:2rem;position:fixed;bottom:0;left:0;width:100%;padding-left:1rem;display:flex;align-items:center;justify-content:flex-start;font-size:0.8rem}.hidden{display:none !important}.play-sign{display:none;margin-right:0.2rem}.play-sign.active{display:inline}.play-sign.active::before{font-family:"Font Awesome 5 Free";content:"\f144";color:var(--accent-color);font-weight:900}@media (max-width: 500px){main{padding-bottom:11rem}.releases-container{justify-content:center}}#player{display:grid;grid-template-rows:auto auto;width:100%;background-color:var(--main-menu-bg-color);color:var(--text-color);padding:1rem;margin-top:1rem;position:fixed;bottom:2rem;left:0;z-index:1000}.player-controls{display:grid;grid-template-columns:auto 1fr auto;align-items:center;width:100%}.player-empty{text-align:center;font-size:0.9rem;opacity:0.7}.player-controls button{background-color:var(--accent-color);color:white;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;width:1.5rem;height:1.5rem;border-radius:calc(var(--border-radius, 5) * 1px);opacity:0.7}.player-controls button i{display:block;font-size:0.75rem;line-height:1}.player-controls #play-pause i{transform:translateX(-0.5px)}.player-controls button:hover{opacity:1;transition:opacity 0.2s}#seek-slider{grid-column:1 / -1;-webkit-appearance:none;width:100%;height:0.2rem;background:#666666;outline:none;opacity:1;transition:opacity .2s;margin-bottom:1rem}#seek-slider::-webkit-slider-thumb,#volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:1rem;height:1rem;background:var(--accent-color);cursor:pointer;border-radius:50%}#seek-slider::-moz-range-thumb,#volume-slider::-moz-range-thumb{width:1rem;height:1rem;background:var(--accent-color);cursor:pointer;border-radius:50%;opacity:0.7}#seek-slider::-moz-range-thumb:hover,#volume-slider::-moz-range-thumb:hover{opacity:1;transition:opacity 0.2s}#volume-slider{-webkit-appearance:none;width:100px;height:5px;background:#666666;outline:none;opacity:1;transition:opacity .2s}.track-info{position:fixed;bottom:0;right:0;padding:1rem;height:2rem;display:flex;justify-content:flex-end;align-items:center;font-size:0.8rem}.track-info:hover{cursor:pointer;text-decoration:underline}#track-time{grid-column:2;text-align:center;font-size:1.2rem}.controls-group{display:flex;align-items:center;gap:1rem}@media (max-width: 500px){.track-info{bottom:2rem;justify-content:flex-start;left:0;right:auto}#player{padding-bottom:2rem}}.release-show-container{margin-top:1rem;width:90%;padding:1rem;background-color:rgba(0,0,0,0.5);border-radius:5px;display:grid;grid-template-columns:1fr 1fr;column-gap:1rem;color:var(--a-color)}.release-show-container ul{list-style-type:none}.release-show-container a{color:#ffffff;cursor:pointer}.release-show-cover img{max-width:500px;max-height:500px}.release-show-left{display:flex;flex-direction:column;gap:1rem;min-width:0}.release-show-description{padding-left:0.75rem;border-left:3px solid var(--accent-color);line-height:1.5}.release-show-info{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,0.12);font-size:0.9rem}.release-show-info .release-download-link{display:inline-flex;align-items:center;gap:0.5rem;padding:0.35rem 0.9rem;border:1px solid var(--accent-color);border-radius:calc(var(--border-radius, 5) * 1px);color:var(--a-color);text-decoration:none;transition:background-color 0.15s ease}.release-show-info .release-download-link:hover{background-color:rgba(255,255,255,0.08);opacity:1}@media (max-width: 500px){.release-show-container{grid-template-columns:1fr;gap:1rem}.release-show-cover img{width:15rem;height:15rem}.release-show-cover{order:-1}.release-show-container{margin-bottom:3rem}}
