.ncap-profile-page,.ncap-social-page,.ncap-dashboard-page{min-height:100vh;color:var(--text-primary,#fff)}.ncap-profile-cover{height:clamp(190px, 32vw, 360px);overflow:hidden;background:linear-gradient(135deg,#182b22 0%,#138f4c 45%,#0d1511 100%)}.ncap-profile-cover img{width:100%;height:100%;object-fit:cover}.ncap-profile-header-wrap{position:relative;z-index:2;max-width:1240px;margin:-72px auto 0;padding:0 28px}.ncap-profile-header{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:28px;align-items:center;padding:28px;border:1px solid var(--border,rgb(255 255 255 / .1));border-radius:24px;background:rgb(24 24 24 / .94);box-shadow:0 24px 70px rgb(0 0 0 / .35);backdrop-filter:blur(18px)}.ncap-profile-avatar{width:150px;height:150px;border:5px solid #181818;border-radius:50%;object-fit:cover;box-shadow:0 12px 34px rgb(0 0 0 / .4)}.ncap-profile-meta h1,.ncap-page-heading h1,.ncap-dashboard-hero h1,.ncap-playlist-hero h1{margin:4px 0;font-size:clamp(2rem, 5vw, 4rem);line-height:1;letter-spacing:-.04em}.ncap-eyebrow{color:var(--primary,#1db954);font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ncap-username,.ncap-profile-bio,.ncap-page-heading p,.ncap-playlist-hero p{color:var(--text-secondary,#b3b3b3)}.ncap-profile-bio{max-width:720px;margin:12px 0}.ncap-profile-stats-inline{display:flex;flex-wrap:wrap;gap:22px;margin-top:18px}.ncap-profile-stats-inline>div,.ncap-stat-link{display:grid;gap:2px;min-width:66px;padding:0;border:0;color:inherit;background:#fff0;text-align:left}.ncap-stat-link{cursor:pointer}.ncap-profile-stats-inline strong{font-size:1.05rem}.ncap-profile-stats-inline span{color:var(--text-muted,#888);font-size:.78rem}.ncap-profile-tabs{display:flex;max-width:1184px;margin:28px auto 0;padding:0 28px;overflow-x:auto;border-bottom:1px solid var(--border,rgb(255 255 255 / .1))}.ncap-profile-tab{padding:14px 20px;border:0;border-bottom:3px solid #fff0;color:var(--text-secondary,#b3b3b3);background:#fff0;cursor:pointer;font-weight:700}.ncap-profile-tab.is-active{border-color:var(--primary,#1db954);color:#fff}.ncap-profile-content{max-width:1240px;margin:0 auto;padding:34px 28px 120px}.ncap-profile-panel[hidden]{display:none!important}.ncap-section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.ncap-section-heading h2{margin:4px 0 0;font-size:clamp(1.5rem, 3vw, 2.2rem)}.ncap-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:20px}.ncap-media-card{overflow:hidden;border:1px solid var(--border,rgb(255 255 255 / .1));border-radius:16px;background:var(--card-bg,#181818);transition:transform .2s ease,background .2s ease}.ncap-media-card:hover{transform:translateY(-4px);background:var(--card-hover,#282828)}.ncap-media-card a{display:block;color:inherit;text-decoration:none}.ncap-media-art{display:grid;aspect-ratio:1;place-items:center;overflow:hidden;background:linear-gradient(135deg,#26342d,#0d1511);font-size:3rem}.ncap-media-art img{width:100%;height:100%;object-fit:cover}.ncap-media-copy{padding:14px}.ncap-media-copy h3{margin:0 0 6px;font-size:1rem}.ncap-media-copy span{color:var(--text-muted,#888);font-size:.82rem}.ncap-playlist-art{color:var(--primary,#1db954)}.ncap-track-stack{display:grid;gap:2px}.ncap-about-card,.ncap-empty-state{padding:clamp(24px, 5vw, 48px);border:1px solid var(--border,rgb(255 255 255 / .1));border-radius:20px;background:var(--card-bg,#181818)}.ncap-empty-state{text-align:center;color:var(--text-secondary,#b3b3b3)}.ncap-empty-state h2,.ncap-empty-state h3{color:#fff}@media (max-width:760px){.ncap-profile-header-wrap{margin-top:-42px;padding:0 16px}.ncap-profile-header{grid-template-columns:88px minmax(0,1fr);gap:16px;padding:18px}.ncap-profile-avatar{width:88px;height:88px;border-width:3px}.ncap-profile-meta h1{font-size:1.8rem}.ncap-profile-actions{grid-column:1 / -1}.ncap-profile-actions .ncap-button{width:100%}.ncap-profile-stats-inline{gap:14px}.ncap-profile-tabs{padding:0 10px}.ncap-profile-content{padding:26px 16px 110px}.ncap-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}