*{margin:0;padding:0;box-sizing:border-box}:root{--bg-base: #0a0a0c;--bg-card: #141418;--text-primary: #c9c9c9;--text-secondary: #6b6b75;--accent: #7c82ff;--accent-hover: #9d9fff;--border: #24242a}body{font-family:Courier New,monospace;background:var(--bg-base);color:var(--text-primary);min-height:100vh;position:relative;overflow-x:hidden}.nav{position:fixed;top:20px;right:20px;z-index:100}.nav a{color:var(--text-secondary);text-decoration:none;margin-left:1.5rem;font-size:.85rem;opacity:.7;transition:all .3s}.nav a:hover,.nav a.active{opacity:1;color:var(--accent)}.nav-username{color:var(--text-primary);font-size:.85rem;margin-left:1.5rem;opacity:.9;transition:all .3s}.nav-username:hover{opacity:1;color:var(--accent)}.nav-btn{color:var(--text-secondary);text-decoration:none;margin-left:1.5rem;font-size:.85rem;opacity:.7;transition:all .3s;background:none;border:none;cursor:pointer;font-family:inherit}.page-layout{display:flex;justify-content:center;min-height:100vh;padding-top:60px;position:relative;z-index:1}.welcome-page{min-height:calc(100vh - 60px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;z-index:1;padding:2rem}.welcome-content{padding:4rem 2rem}.welcome-title{font-size:3rem;font-weight:400;letter-spacing:-2px;margin-bottom:1rem;color:var(--text-primary)}.welcome-subtitle{font-size:1rem;color:var(--text-secondary);margin-bottom:3rem;letter-spacing:3px;text-transform:uppercase}.welcome-text{max-width:500px;margin:0 auto 3rem;color:var(--text-secondary);line-height:1.8;font-size:.95rem}.btn{display:inline-block;padding:1rem 3rem;background:transparent;color:var(--accent);text-decoration:none;font-size:.9rem;letter-spacing:1px;border:1px solid var(--accent);transition:all .3s}.btn:hover{background:var(--accent);color:var(--bg-base)}.track-inline-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;padding:0}.track-inline-btn:hover{color:var(--accent)}.music-page{min-height:100vh;padding:7rem 2rem 8rem;position:relative;z-index:1}.music-hero{max-width:1200px;margin:0 auto 2rem;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:1.5rem;align-items:stretch}.music-eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:4px;font-size:.75rem;margin-bottom:1rem}.music-title{font-size:2.8rem;font-weight:400;margin-bottom:1rem;max-width:12ch}.music-description{max-width:56ch;color:var(--text-secondary);line-height:1.8}.music-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.music-stat-card,.music-search-panel,.music-release-card,.music-artist-card,.track-list-row{background:#141418e0;border:1px solid var(--border);border-radius:6px}.music-stat-card{display:flex;flex-direction:column;justify-content:center;min-height:152px;padding:1.25rem}.music-stat-value{font-size:2rem;color:var(--text-primary)}.music-stat-label{color:var(--text-secondary);font-size:.8rem;margin-top:.4rem;text-transform:uppercase;letter-spacing:2px}.music-search-panel{max-width:1200px;margin:0 auto 2.5rem;padding:1.25rem}.music-search-input{margin-top:.35rem}.music-search-note{margin-top:.85rem;color:var(--text-secondary);font-size:.8rem}.music-filter-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.music-filter-btn{border:1px solid var(--border);background:var(--bg-base);color:var(--text-secondary);padding:.45rem .8rem;cursor:pointer;border-radius:999px;font-family:inherit}.music-filter-btn.active{color:var(--accent);border-color:var(--accent)}.music-section{max-width:1200px;margin:0 auto 2.5rem}.music-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.music-section-meta{color:var(--text-secondary);font-size:.75rem;letter-spacing:1px;text-transform:uppercase}.track-list{display:flex;flex-direction:column;gap:.8rem}.track-list-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.9rem 1rem}.track-list-row.active{border-color:var(--accent);background:#7c82ff14}.track-play-btn{width:40px;height:40px;border-radius:999px;border:1px solid var(--border);background:var(--bg-base);color:var(--accent);cursor:pointer;font-family:inherit;transition:border-color .2s,transform .2s}.track-play-btn:hover{border-color:var(--accent);transform:translateY(-1px)}.track-list-main{display:flex;flex-direction:column;gap:.3rem;min-width:0}.track-list-main strong{font-size:.95rem;font-weight:400}.track-list-main span,.track-list-main a{color:var(--text-secondary);font-size:.82rem;text-decoration:none}.track-list-main a:hover{color:var(--accent)}.track-list-duration{color:var(--text-secondary);font-size:.85rem}.track-list-stats{display:flex;gap:.9rem;flex-wrap:wrap;color:var(--text-secondary);font-size:.76rem}.music-release-grid,.music-artist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.music-release-card{text-align:left;padding:0;overflow:hidden;transition:transform .2s,border-color .2s}.music-release-card:hover,.music-artist-card:hover{transform:translateY(-2px);border-color:var(--accent)}.music-release-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.music-release-main-btn{width:100%;border:none;background:transparent;color:inherit;cursor:pointer;text-align:left;padding:0}.music-release-card strong,.music-release-card span,.music-release-card small{display:block;padding:0 1rem}.music-release-card strong{padding-top:.9rem;color:var(--text-primary);font-weight:400}.music-release-card span,.music-release-card small{color:var(--text-secondary);font-size:.8rem;padding-bottom:.45rem}.music-release-card small{padding-bottom:1rem}.music-release-footer{display:flex;flex-direction:column;gap:.75rem;padding:0 1rem 1rem}.music-release-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.75rem;color:var(--text-secondary);font-size:.76rem}.music-release-stats span{min-width:0;padding:0;line-height:1.4;overflow-wrap:anywhere}.music-artist-card{display:flex;flex-direction:column;gap:.45rem;padding:1rem;text-decoration:none;transition:transform .2s,border-color .2s}.music-artist-name{color:var(--text-primary);font-size:1rem}.music-artist-card span{color:var(--text-secondary);font-size:.82rem}.reaction-bar{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.reaction-btn{background:var(--bg-base);border:1px solid var(--border);color:var(--text-secondary);font-family:inherit;font-size:.75rem;padding:.35rem .55rem;cursor:pointer;border-radius:999px}.reaction-btn.active{color:var(--accent);border-color:var(--accent)}.reaction-btn.active.negative{color:#ff7a7a;border-color:#ff7a7a}.musician-page{min-height:100vh;padding:6rem 2rem 8rem;position:relative;z-index:1}.section-title{font-size:.85rem;text-transform:uppercase;letter-spacing:2px;color:var(--text-secondary);margin-bottom:1.5rem}.artist-card{max-width:700px;margin:0 auto 4rem;text-align:center;padding:3rem 2rem}.artist-avatar{width:140px;height:140px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#a259ff);margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;font-size:4rem;color:#fff}.artist-name{font-size:2rem;font-weight:400;margin-bottom:1rem;color:var(--text-primary)}.artist-bio{color:var(--text-secondary);font-size:.95rem;line-height:1.8}.albums-section{max-width:1200px;margin:0 auto 4rem;padding:0 2rem}.albums-section .section-title{padding-bottom:.5rem;border-bottom:1px solid var(--border)}.albums-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:2rem}.album-card{cursor:pointer;transition:transform .3s,opacity .3s}.album-card:hover{transform:translateY(-5px)}.album-cover{aspect-ratio:1;overflow:hidden;border-radius:4px;background:var(--bg-card);border:1px solid var(--border);margin-bottom:.75rem}.album-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.album-card:hover .album-cover img{transform:scale(1.05)}.album-info{text-align:left}.album-card-stats{display:flex;gap:.75rem;flex-wrap:wrap;color:var(--text-secondary);font-size:.74rem;margin:.5rem 0 .75rem}.album-title{font-size:.9rem;font-weight:400;color:var(--text-primary);margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-year{font-size:.8rem;color:var(--text-secondary)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;display:none;justify-content:center;align-items:center;z-index:1000;padding:2rem}.modal-overlay.active{display:flex}.modal-content{background:var(--bg-card);border:1px solid var(--border);max-width:800px;width:100%;max-height:90vh;overflow-y:auto;position:relative;border-radius:4px}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;z-index:10;transition:color .2s}.modal-close:hover{color:var(--text-primary)}.modal-body{display:flex;gap:2rem;padding:2rem;border-bottom:1px solid var(--border)}.modal-album-cover{flex-shrink:0}.modal-album-cover img{width:250px;height:250px;object-fit:cover;border-radius:4px;border:1px solid var(--border)}.modal-album-info{display:flex;flex-direction:column;justify-content:flex-end}.modal-album-title{font-size:1.8rem;font-weight:400;color:var(--text-primary);margin-bottom:1rem}.modal-album-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.modal-meta-item{font-size:.85rem;color:var(--text-secondary);padding:.25rem .75rem;background:var(--bg-base);border-radius:20px;border:1px solid var(--border)}.modal-artists{font-size:.9rem;color:var(--text-secondary);line-height:1.6}.modal-tracklist{padding:2rem}.modal-track-list{list-style:none}.modal-track-item{display:flex;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border);transition:all .2s;gap:.75rem}.modal-track-item:last-child{border-bottom:none}.modal-track-item.playing{color:var(--accent)}.modal-track-toggle{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--bg-base);color:var(--accent);cursor:pointer;flex-shrink:0}.modal-track-number{width:30px;color:var(--text-secondary);font-size:.85rem}.modal-track-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.35rem}.modal-track-title{font-size:.95rem}.modal-track-duration{color:var(--text-secondary);font-size:.8rem}.modal-track-play{width:40px;text-align:center;opacity:0;transition:opacity .2s}.modal-track-item:hover .modal-track-play{opacity:1}.modal-track-stats{display:flex;gap:.8rem;color:var(--text-secondary);font-size:.75rem;flex-wrap:wrap}.inline-track-player{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;color:var(--text-secondary);font-size:.72rem}.inline-track-progress{height:4px;background:var(--bg-base);border-radius:999px;overflow:hidden;cursor:pointer}.inline-track-progress-fill{height:100%;background:var(--accent)}.fixed-player{position:fixed;bottom:0;left:0;width:100%;background:var(--bg-card);border-top:1px solid var(--border);padding:1rem 2rem;display:flex;align-items:center;justify-content:center;gap:2rem;z-index:100}.player-close-btn{background:none;border:none;color:var(--text-secondary);font-size:1.3rem;cursor:pointer}.player-info{display:flex;align-items:center;gap:1rem;min-width:200px}.player-cover{width:50px;height:50px;border-radius:4px;overflow:hidden;background:var(--bg-base);border:1px solid var(--border)}.player-cover img{width:100%;height:100%;object-fit:cover}.player-details{display:flex;flex-direction:column;overflow:hidden}.player-track-name{font-size:.9rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-artist-name{font-size:.8rem;color:var(--text-secondary)}.player-controls{display:flex;align-items:center;gap:1rem}.player-btn{background:none;border:1px solid var(--border);color:var(--text-primary);width:45px;height:45px;border-radius:50%;cursor:pointer;font-size:1rem;transition:all .2s}.player-btn:hover{border-color:var(--accent);color:var(--accent)}.player-btn.play{width:55px;height:55px;font-size:1.3rem;background:var(--accent);color:var(--bg-base);border:none}.player-btn.play:hover{background:var(--accent-hover)}.player-progress{display:flex;align-items:center;gap:.75rem;flex:1;max-width:600px}.player-time{font-size:.75rem;color:var(--text-secondary);min-width:40px}.progress-bar{flex:1;height:4px;background:var(--bg-base);border-radius:2px;cursor:pointer;position:relative}.progress-fill{height:100%;background:var(--accent);border-radius:2px;width:0%;transition:width .1s}.progress-bar:hover .progress-fill{background:var(--accent-hover)}.player-volume{display:flex;align-items:center;gap:.5rem;min-width:120px}.volume-icon{font-size:1rem}.volume-slider{width:80px;height:4px;-webkit-appearance:none;background:var(--bg-base);border-radius:2px;cursor:pointer}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:var(--text-secondary);border-radius:50%;cursor:pointer}.volume-slider::-webkit-slider-thumb:hover{background:var(--accent)}.footer{text-align:center;padding:3rem 0;color:var(--text-secondary);font-size:.8rem;opacity:.6;position:relative;z-index:1;background:var(--bg-base);border-top:1px solid var(--border)}.musician-page .footer{background:transparent;border-top:none}@media (max-width: 900px){.page-layout{grid-template-columns:1fr;padding-top:80px}.nav{position:static;text-align:center;padding:1rem 0;background:#141418f2}.nav a{margin:0 1rem}.welcome-title{font-size:2rem}.albums-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1.5rem}.modal-body{flex-direction:column;align-items:center;text-align:center}.modal-album-cover img{width:180px;height:180px}.fixed-player{flex-wrap:wrap;padding:.75rem 1rem;gap:1rem}.player-info{min-width:auto;flex:1}.player-progress{order:3;width:100%;max-width:none}.player-volume{display:none}.music-hero{grid-template-columns:1fr}.music-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.artist-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.retro-page{background:silver;min-height:100vh;padding:10px;font-family:Times New Roman,Times,serif}.browser-chrome{background:#d4d4d4;border:2px outset #ffffff;padding:3px;margin-bottom:10px}.browser-title{background:navy;color:#fff;padding:3px 8px;font-size:12px;font-weight:700;margin-bottom:5px}.browser-toolbar{padding:5px;margin-bottom:5px}.retro-page .browser-btn{background:#d4d4d4;border:2px outset #ffffff;padding:3px 8px;margin-right:3px;font-size:11px;cursor:pointer;border-radius:0;width:auto;height:auto;color:#000}.retro-page .browser-btn:active{border-style:inset}.address-bar{display:flex;align-items:center;padding:3px;background:#fff;border:2px inset #ffffff}.address-label{font-size:11px;margin-right:8px;color:#666}.address-input{flex:1;border:2px inset #ffffff;padding:3px;font-size:11px;font-family:inherit}.retro-content{background:#fff;border:2px inset #ffffff;padding:10px}.retro-header{text-align:center;padding:20px;background:linear-gradient(180deg,#ffc,#fff);border:2px outset #ffffff;margin-bottom:10px}.retro-logo{font-size:36px;margin:0;font-family:Comic Sans MS,Comic Sans,cursive}.retro-tagline{font-size:14px;color:#666;margin-top:5px;font-style:italic}.retro-table{border-collapse:separate;border-spacing:2px}.retro-td{padding:8px;font-size:13px}.nav-header{font-size:14px;font-weight:700;color:navy}.retro-link{color:#00f;text-decoration:underline;font-size:13px}.retro-link:visited{color:purple}.retro-link:hover{color:red}.retro-box{padding:5px;margin:5px 0;text-align:center}.retro-ad-small{background:#fcc;border:2px outset #ff9999;padding:8px;text-align:center;margin-top:10px}.retro-page .section-title{font-size:16px;font-weight:700;color:green}.retro-footer{background:#d4d4d4;border:2px outset #ffffff;padding:15px;margin-top:10px}.nav-username{color:var(--text-secondary);font-size:.85rem;margin-left:1.5rem;opacity:.7}.nav-btn{background:none;border:none;color:var(--text-secondary);font-family:Courier New,monospace;font-size:.85rem;cursor:pointer;margin-left:1.5rem;opacity:.7;transition:all .3s;padding:0}.nav-btn:hover{opacity:1;color:var(--accent)}.auth-page{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:2rem;position:relative;z-index:1}.auth-card{width:100%;max-width:400px;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:2rem}.auth-tabs{display:flex;gap:0;margin-bottom:2rem;border-bottom:1px solid var(--border)}.auth-tab{flex:1;background:none;border:none;color:var(--text-secondary);font-family:Courier New,monospace;font-size:.9rem;padding:.75rem;cursor:pointer;transition:all .3s;border-bottom:2px solid transparent}.auth-tab:hover{color:var(--text-primary)}.auth-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-label{display:flex;flex-direction:column;gap:.4rem;color:var(--text-secondary);font-size:.8rem;text-transform:lowercase}.auth-label-text{color:var(--text-secondary);font-size:.8rem;text-transform:lowercase;margin-bottom:.4rem}.auth-input{background:var(--bg-base);border:1px solid var(--border);color:var(--text-primary);padding:.75rem 1rem;font-family:Courier New,monospace;font-size:.9rem;width:100%;border-radius:2px;transition:border-color .2s}.auth-input::placeholder{color:var(--text-secondary);opacity:.5}textarea.auth-input{resize:vertical;min-height:60px}.auth-role-btn{flex:1;background:var(--bg-base);border:1px solid var(--border);color:var(--text-secondary);font-family:Courier New,monospace;font-size:.85rem;padding:.6rem;cursor:pointer;transition:all .2s;border-radius:2px}.auth-role-btn:hover{border-color:var(--accent)}.auth-role-btn.active{border-color:var(--accent);color:var(--accent);background:#7c82ff14}.auth-submit{background:transparent;border:1px solid var(--accent);color:var(--accent);font-family:Courier New,monospace;font-size:.9rem;padding:.85rem;cursor:pointer;transition:all .3s;border-radius:2px;margin-top:.5rem}.auth-submit:hover:not(:disabled){background:var(--accent);color:var(--bg-base)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-error{color:#f55;font-size:.85rem;padding:.5rem .75rem;background:#ff555514;border:1px solid rgba(255,85,85,.2);border-radius:2px}.artist-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.artist-owner-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;flex-wrap:wrap}.artist-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:1.5rem}.artist-stat-card{padding:.9rem;border:1px solid var(--border);background:#141418e0;border-radius:6px}.artist-stat-card strong{display:block;font-size:1.2rem;font-weight:400;color:var(--text-primary)}.artist-stat-card span{color:var(--text-secondary);font-size:.74rem;text-transform:uppercase;letter-spacing:1px}.btn-small{padding:.6rem 1.5rem;font-size:.8rem;font-family:Courier New,monospace}.artist-tabs{display:flex;justify-content:center;gap:0;margin-bottom:3rem;max-width:1200px;margin-left:auto;margin-right:auto;padding:0 2rem;border-bottom:1px solid var(--border)}.artist-tab{background:none;border:none;color:var(--text-secondary);font-family:Courier New,monospace;font-size:.85rem;padding:.75rem 2rem;cursor:pointer;transition:all .3s;border-bottom:2px solid transparent;text-transform:uppercase;letter-spacing:1px}.artist-tab:hover{color:var(--text-primary)}.artist-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.activity-feed{max-width:700px;margin:0 auto}.feed-status{color:var(--text-secondary);font-size:.9rem;text-align:center;padding:2rem 0}.new-post-form{margin-bottom:2rem;display:flex;flex-direction:column;gap:.75rem}.new-post-textarea{background:var(--bg-base);border:1px solid var(--border);color:var(--text-primary);padding:1rem;font-family:Courier New,monospace;font-size:.9rem;width:100%;border-radius:2px;resize:vertical;min-height:80px;transition:border-color .2s}.new-post-textarea:focus{outline:none;border-color:var(--accent)}.new-post-textarea::placeholder{color:var(--text-secondary);opacity:.5}.new-post-submit{align-self:flex-end;background:transparent;border:1px solid var(--accent);color:var(--accent);font-family:Courier New,monospace;font-size:.85rem;padding:.5rem 1.5rem;cursor:pointer;transition:all .3s;border-radius:2px}.new-post-submit:hover:not(:disabled){background:var(--accent);color:var(--bg-base)}.new-post-submit:disabled{opacity:.4;cursor:not-allowed}.post-item{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:1.25rem;margin-bottom:1rem}.post-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.post-author{color:var(--accent);font-size:.85rem;font-weight:700}.post-date{color:var(--text-secondary);font-size:.75rem;flex:1}.post-delete-btn{background:none;border:1px solid var(--border);color:var(--text-secondary);font-family:Courier New,monospace;font-size:.75rem;width:24px;height:24px;cursor:pointer;transition:all .2s;border-radius:2px;display:flex;align-items:center;justify-content:center}.post-delete-btn:hover{border-color:#f55;color:#f55}.post-content{color:var(--text-primary);font-size:.9rem;line-height:1.7;white-space:pre-wrap;margin-bottom:1rem}.post-actions{display:flex;gap:1.5rem;padding-top:.75rem;border-top:1px solid var(--border)}.post-like-btn{background:none;border:none;color:var(--text-secondary);font-family:Courier New,monospace;font-size:.85rem;cursor:pointer;transition:color .2s;padding:0}.post-like-btn:hover{color:var(--text-primary)}.post-like-btn.liked{color:#f55}.post-like-btn:disabled{cursor:default;opacity:.5}.post-comments-btn{background:none;border:none;color:var(--text-secondary);font-family:Courier New,monospace;font-size:.85rem;cursor:pointer;transition:color .2s;padding:0}.post-comments-btn:hover{color:var(--text-primary)}.comments-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.comment-item{padding:.75rem 0;border-bottom:1px solid rgba(36,36,42,.5)}.comment-item:last-of-type{border-bottom:none}.comment-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}.comment-author{color:var(--accent);font-size:.8rem}.comment-date{color:var(--text-secondary);font-size:.7rem;flex:1}.comment-delete-btn{background:none;border:none;color:var(--text-secondary);font-family:Courier New,monospace;font-size:.7rem;cursor:pointer;padding:0;transition:color .2s}.comment-delete-btn:hover{color:#f55}.comment-content{color:var(--text-primary);font-size:.85rem;line-height:1.5}.add-comment-form{display:flex;gap:.5rem;margin-top:.75rem}.comment-input{flex:1;padding:.5rem .75rem;font-size:.85rem}.comment-submit-btn{background:var(--bg-base);border:1px solid var(--border);color:var(--accent);font-family:Courier New,monospace;font-size:1rem;padding:.5rem .75rem;cursor:pointer;transition:all .2s;border-radius:2px;flex-shrink:0}.comment-submit-btn:hover:not(:disabled){border-color:var(--accent)}.comment-submit-btn:disabled{opacity:.4;cursor:not-allowed}.release-modal,.edit-profile-modal{max-width:600px}.release-form{padding:2rem;display:flex;flex-direction:column;gap:1.25rem}.release-form-title{font-size:1.2rem;font-weight:400;color:var(--text-primary);text-transform:lowercase;margin-bottom:.5rem}.release-progress{color:var(--accent);font-size:.85rem;padding:.5rem 0}.release-type-group{display:flex;gap:.5rem}.release-cover-section{display:flex;flex-direction:column;gap:.4rem}.release-cover-upload{width:120px;height:120px;background:var(--bg-base);border:1px dashed var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s;overflow:hidden}.release-cover-upload:hover{border-color:var(--accent)}.release-cover-preview{width:100%;height:100%;object-fit:cover}.release-cover-placeholder{color:var(--text-secondary);font-size:2rem;opacity:.5}.release-tracks-section{display:flex;flex-direction:column;gap:.75rem}.release-tracks-header{display:flex;align-items:center;justify-content:space-between}.release-add-track-btn{background:none;border:1px solid var(--border);color:var(--text-secondary);font-family:Courier New,monospace;font-size:.8rem;padding:.3rem .75rem;cursor:pointer;transition:all .2s;border-radius:2px}.release-add-track-btn:hover{border-color:var(--accent);color:var(--accent)}.release-add-track-btn:disabled{opacity:.4;cursor:not-allowed}.release-track-row{display:flex;align-items:center;gap:.5rem}.release-track-number{color:var(--text-secondary);font-size:.85rem;width:24px;flex-shrink:0}.release-track-title-input{flex:1;padding:.5rem .75rem;font-size:.85rem}.release-track-duration-input{width:70px;padding:.5rem;font-size:.85rem;text-align:center;flex-shrink:0}.release-track-duration-badge{min-width:58px;text-align:center;color:var(--text-secondary);font-size:.8rem;border:1px solid var(--border);background:var(--bg-base);padding:.55rem .35rem;border-radius:2px}.release-track-audio-label{flex-shrink:0;cursor:pointer}.release-track-audio-btn{display:inline-block;background:var(--bg-base);border:1px solid var(--border);color:var(--text-secondary);font-family:Courier New,monospace;font-size:.75rem;padding:.4rem .6rem;border-radius:2px;transition:all .2s;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.release-track-audio-label:hover .release-track-audio-btn{border-color:var(--accent);color:var(--accent)}.release-track-remove-btn{background:none;border:1px solid var(--border);color:var(--text-secondary);font-family:Courier New,monospace;font-size:.75rem;width:24px;height:24px;cursor:pointer;transition:all .2s;border-radius:2px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.release-track-remove-btn:hover{border-color:#f55;color:#f55}.edit-bio-textarea{resize:vertical;min-height:100px}.color-picker-row{display:flex;align-items:center;gap:.75rem}.color-picker-input{width:40px;height:36px;border:1px solid var(--border);background:var(--bg-base);cursor:pointer;padding:2px;border-radius:2px}.color-text-input{width:100px;flex-shrink:0}.edit-uploads-row{display:flex;gap:2rem}.edit-upload-block{display:flex;flex-direction:column;gap:.4rem}.edit-avatar-preview{width:100px;height:100px;background:var(--bg-base);border:1px dashed var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:border-color .2s}.edit-avatar-preview:hover{border-color:var(--accent)}.edit-avatar-preview img{width:100%;height:100%;object-fit:cover;border-radius:50%}.edit-bg-preview{width:180px;height:100px;background:var(--bg-base);border:1px dashed var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:border-color .2s}.edit-bg-preview:hover{border-color:var(--accent)}.edit-bg-preview img{width:100%;height:100%;object-fit:cover}@media (max-width: 600px){.auth-card{padding:1.5rem}.release-track-row{flex-wrap:wrap}.release-track-title-input{min-width:0}.edit-uploads-row{flex-direction:column;gap:1rem}.edit-bg-preview{width:100%}.artist-owner-actions{flex-direction:column;align-items:center}.post-actions{flex-direction:column;gap:.75rem}.music-page{padding:5.5rem 1rem 8rem}.music-title{font-size:2rem}.music-stats{grid-template-columns:1fr}.music-section-head{align-items:flex-start;flex-direction:column}.track-list-row{grid-template-columns:1fr}.reaction-bar{justify-content:flex-start}.track-play-btn{width:100%;border-radius:4px}.track-list-duration{text-align:left}.artist-stats-grid,.inline-track-player{grid-template-columns:1fr}}.settings-page{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:6rem 2rem 2rem;position:relative;z-index:1}.settings-card{width:100%;max-width:500px;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:2rem}.settings-title{font-size:1.5rem;color:var(--text-primary);margin-bottom:2rem;text-transform:lowercase;text-align:center}.settings-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}.settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-section-title{font-size:1rem;color:var(--text-secondary);margin-bottom:1rem;text-transform:lowercase}.avatar-upload{display:flex;align-items:center;gap:1.5rem}.avatar-preview{width:80px;height:80px;border-radius:50%;overflow:hidden;flex-shrink:0;border:1px solid var(--border)}.avatar-preview img{width:100%;height:100%;object-fit:cover}.avatar-controls{display:flex;flex-direction:column;gap:.5rem}.avatar-file-label{color:var(--accent);cursor:pointer;font-size:.85rem;text-transform:lowercase;transition:color .3s}.avatar-file-label:hover{color:var(--accent-hover)}.settings-form{display:flex;flex-direction:column;gap:1rem}.settings-label{display:flex;flex-direction:column;gap:.4rem}.settings-input{background:var(--bg-base);border:1px solid var(--border);color:var(--text-primary);padding:.75rem 1rem;font-family:Courier New,monospace;font-size:.9rem;border-radius:4px}.settings-input:focus{outline:none;border-color:var(--accent)}.settings-textarea{resize:vertical;min-height:100px}.settings-error{color:#ff6b6b;font-size:.85rem;margin-top:1rem;text-transform:lowercase}.settings-success{color:#6bff6b;font-size:.85rem;margin-top:1rem;text-transform:lowercase}.user-bio{color:var(--text-primary);line-height:1.8;font-size:.95rem;white-space:pre-wrap}.user-bio-empty{color:var(--text-secondary);font-style:italic}.avatar-username{color:var(--text-secondary);font-size:.85rem}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1rem;color:var(--text-secondary);text-transform:lowercase;letter-spacing:1px}.loading-spinner{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-card{width:100%;max-width:420px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:2rem}.auth-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border);padding-bottom:1rem}.auth-tab{flex:1;background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:.6rem 1rem;cursor:pointer;font-family:inherit;font-size:.9rem;border-radius:4px;transition:all .2s}.auth-tab.active{color:var(--accent);border-color:var(--accent)}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-label{display:flex;flex-direction:column;gap:.4rem;color:var(--text-primary);font-size:.85rem}.auth-input{background:var(--bg-base);border:1px solid var(--border);color:var(--text-primary);padding:.75rem 1rem;font-family:inherit;font-size:.9rem;border-radius:4px}.auth-input:focus{outline:none;border-color:var(--accent)}.auth-submit{margin-top:.5rem;background:var(--accent);color:var(--bg-base);border:none;padding:.85rem 1.5rem;font-family:inherit;font-size:.9rem;cursor:pointer;border-radius:4px;transition:background .2s}.auth-submit:hover:not(:disabled){background:var(--accent-hover)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-error{color:#ff6b6b;font-size:.85rem;padding:.75rem 1rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:4px}.auth-role-group{display:flex;gap:.5rem}.auth-role-btn{flex:1;background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:.6rem 1rem;cursor:pointer;font-family:inherit;font-size:.85rem;border-radius:4px;transition:all .2s}.auth-role-btn.active{color:var(--accent);border-color:var(--accent)}.access-gate-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg-base)}.access-gate-card{width:100%;max-width:400px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:3rem 2rem;text-align:center}.access-gate-icon{font-size:4rem;margin-bottom:1.5rem}.access-gate-title{font-size:1.5rem;font-weight:400;color:var(--text-primary);margin-bottom:.5rem}.access-gate-subtitle{color:var(--text-secondary);font-size:.9rem;margin-bottom:2rem}.access-gate-form{display:flex;flex-direction:column;gap:1rem}.access-gate-label{display:flex;flex-direction:column;gap:.4rem;color:var(--text-primary);font-size:.85rem;text-align:left}.access-gate-input{background:var(--bg-base);border:1px solid var(--border);color:var(--text-primary);padding:.75rem 1rem;font-family:inherit;font-size:.9rem;border-radius:4px;text-align:center;letter-spacing:2px}.access-gate-input:focus{outline:none;border-color:var(--accent)}.access-gate-submit{margin-top:.5rem;background:var(--accent);color:var(--bg-base);border:none;padding:.85rem 1.5rem;font-family:inherit;font-size:.9rem;cursor:pointer;border-radius:4px;transition:background .2s}.access-gate-submit:hover:not(:disabled){background:var(--accent-hover)}.access-gate-submit:disabled{opacity:.6;cursor:not-allowed}.access-gate-error{color:#ff6b6b;font-size:.85rem;padding:.75rem 1rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:4px}.access-gate-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.access-gate-footer p{color:var(--text-secondary);font-size:.75rem;opacity:.7}.access-gate-login-link{margin-top:1rem;background:transparent;border:1px solid var(--border);color:var(--accent);padding:.6rem 1.2rem;font-family:inherit;font-size:.85rem;cursor:pointer;border-radius:4px;transition:all .2s}.access-gate-login-link:hover{border-color:var(--accent);background:#7c82ff1a}.artists-page{min-height:100vh;padding:6rem 2rem 8rem;position:relative;z-index:1}.artists-header{max-width:1200px;margin:0 auto 3rem;text-align:left}.artists-title{font-size:2rem;font-weight:400;color:var(--text-primary);margin-bottom:.5rem}.artists-subtitle{color:var(--text-secondary);font-size:.9rem}.artists-loading,.artists-error,.artists-empty{text-align:center;color:var(--text-secondary);padding:4rem 2rem;font-size:1rem}.artists-error{color:#ff6b6b}.artists-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.artist-card-link{text-decoration:none;color:inherit}.artist-grid-card{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .2s}.artist-grid-card:hover{border-color:var(--accent);transform:translateY(-2px)}.artist-grid-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#a259ff);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.artist-grid-avatar img{width:100%;height:100%;object-fit:cover}.artist-avatar-placeholder{font-size:1.5rem;font-weight:700;color:#fff}.artist-grid-info{min-width:0;flex:1}.artist-grid-name{font-size:1rem;font-weight:400;color:var(--text-primary);margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artist-grid-count{font-size:.8rem;color:var(--text-secondary)}.admin-page{min-height:100vh;padding:6rem 2rem 8rem;position:relative;z-index:1}.admin-loading,.admin-error{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.admin-error{color:#ff6b6b}.admin-header{max-width:1200px;margin:0 auto 2rem}.admin-title{font-size:2rem;font-weight:400;color:var(--text-primary);margin-bottom:.5rem}.admin-subtitle{color:var(--text-secondary);font-size:.9rem}.admin-card{max-width:1200px;margin:0 auto;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:1.5rem}.admin-table-wrapper{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th,.admin-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.admin-table th{color:var(--text-secondary);font-weight:400;text-transform:uppercase;font-size:.75rem;letter-spacing:1px}.admin-table tr:hover{background:#7c82ff0d}.admin-table tr.current-user{background:#7c82ff1a}.admin-user-cell{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.admin-username{font-weight:500;color:var(--text-primary)}.admin-nickname{color:var(--text-secondary);font-size:.85rem}.admin-you-badge{background:var(--accent);color:var(--bg-base);font-size:.7rem;padding:.15rem .5rem;border-radius:999px;text-transform:uppercase}.admin-email{color:var(--text-secondary);font-size:.85rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-role-select{background:var(--bg-base);border:1px solid var(--border);color:var(--text-primary);padding:.4rem .6rem;border-radius:4px;font-family:inherit;font-size:.85rem;cursor:pointer}.admin-role-select:focus{outline:none;border-color:var(--accent)}.admin-role-select:disabled{opacity:.5;cursor:not-allowed}.admin-status{display:inline-block;padding:.25rem .6rem;border-radius:999px;font-size:.75rem;text-transform:uppercase}.admin-status.active{background:#6bff6b26;color:#6bff6b}.admin-status.inactive{background:#ff6b6b26;color:#ff6b6b}.admin-actions{display:flex;gap:.5rem;flex-wrap:wrap}.admin-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:.35rem .75rem;border-radius:4px;font-family:inherit;font-size:.8rem;cursor:pointer;transition:all .2s}.admin-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-toggle{border-color:var(--accent);color:var(--accent)}.admin-btn-delete{border-color:#ff6b6b;color:#ff6b6b}.admin-btn-delete:hover:not(:disabled){background:#ff6b6b1a}
