@font-face{font-family:"IBM Plex Mono";src:local("IBM Plex Mono")}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--canvas)}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font-body);font-size:var(--body);line-height:1.5;cursor:url('../assets/cursor-arrow.svg') 2 2,auto}a,button,input,textarea,[role=link],.card-click{cursor:url('../assets/cursor-hand.svg') 8 2,pointer}button,input,textarea{font:inherit}button{color:inherit}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3,strong,.brand,.button,.chip{font-family:var(--font-display)}h1{font-size:var(--h1);line-height:1.02;letter-spacing:-.045em;margin-bottom:var(--gap-md)}h2{font-size:var(--h2);line-height:1.08;letter-spacing:-.035em}h3{font-size:var(--h3);line-height:1.2}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:200;left:20px;top:-80px;background:var(--dark-blue);color:#fff;padding:14px 18px}.skip-link:focus{top:12px}.binary-field{position:fixed;inset:0;z-index:0;pointer-events:none}.app-shell{position:relative;z-index:1;min-height:100vh}.site-header{height:var(--header-h);position:sticky;top:0;z-index:70;background:color-mix(in srgb,var(--canvas) 94%,transparent);backdrop-filter:blur(8px)}.header-inner{height:100%;max-width:var(--content);margin:auto;padding:0 var(--page-x);display:flex;align-items:center;justify-content:space-between;position:relative}.brand{text-decoration:none;font-size:1.45rem;font-weight:800;letter-spacing:-.05em}.header-actions{display:flex;gap:12px}.pixel-icon{width:24px;height:24px;fill:currentColor;image-rendering:pixelated;flex:none}.icon-button{width:var(--target-min);height:var(--target-min);border:var(--line-blue);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;color:var(--dark-blue);padding:0;text-decoration:none;transition:background var(--fast),color var(--fast),transform var(--fast)}.icon-button:hover,.icon-button:focus-visible{background:var(--light-blue);color:var(--dark-blue);outline:none;box-shadow:var(--focus-ring)}.icon-button:active{transform:translate(2px,2px);background:var(--blue);color:#fff}.icon-button--bare{border-color:transparent;background:transparent}.floating-back{position:absolute;left:var(--page-x);top:calc(var(--header-h) - 6px);width:var(--target-min);height:var(--target-min);border:0;background:transparent;color:var(--dark-blue);z-index:80;padding:0;display:flex;align-items:center;justify-content:flex-start}.floating-back:hover{color:var(--blue);transform:translateX(-3px)}.main-content{max-width:var(--content);margin:0 auto;padding:calc(var(--gap-section) + 18px) var(--page-x) var(--gap-page)}.site-header+.main-content{padding-top:var(--gap-section)}.page-head{max-width:900px;margin-bottom:var(--gap-section)}.page-head p,.page-lead,.section-head p,.eyebrow{color:var(--muted)}.page-head p{font-size:1.08rem;max-width:760px}.home-stack{display:grid;gap:var(--gap-page)}.hero-section{display:grid;gap:var(--gap-block)}.hero-section .page-head{margin-bottom:0}.floor,.page-section{display:grid;gap:var(--gap-block)}.section-head{display:flex;gap:24px;align-items:end;justify-content:space-between}.section-head h2{margin-bottom:8px}.section-head p{margin:0}.subsection-block{display:grid;gap:24px}.eyebrow,.meta{font-family:var(--font-meta);font-size:var(--meta);letter-spacing:.05em}.panel,.feature-panel,.info-box,.premium-card,.track-info,.artist-hero,.album-hero,.product-detail,.fan-profile,.chart-panel,.preview-small{border:var(--line-strong);background:var(--surface);border-radius:var(--r-md)}.button{min-height:var(--target-min);padding:0 var(--button-pad-x);border:var(--line-blue);display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;font-size:.86rem;font-weight:700;letter-spacing:.01em;background:var(--light-blue);color:var(--dark-blue);transition:transform var(--fast),background var(--fast),color var(--fast),box-shadow var(--fast)}.button:hover,.button:focus-visible{outline:none;box-shadow:var(--shadow-2);transform:translate(-2px,-2px)}.button:active{transform:translate(1px,1px);box-shadow:none}.button--primary{background:var(--orange);border-color:var(--orange);color:#fff}.button--primary:hover{background:var(--accent-hover)}.button--secondary{background:var(--light-blue);border-color:var(--blue);color:var(--dark-blue)}.button--outline{background:var(--surface);border-color:var(--dark-blue);color:var(--dark-blue)}.button--dark{background:#25282a;border-color:#25282a;color:white}.button--success{background:var(--success);border-color:var(--success);color:#fff}.button--danger{background:var(--surface);border-color:var(--danger);color:var(--danger)}.text-action{font-family:var(--font-meta);color:var(--blue);font-weight:700;text-decoration:none}.text-action:hover{text-decoration:underline}.search-form{position:relative;width:100%;max-width:760px;min-height:var(--target-lg);border:var(--line-strong);background:var(--surface);display:grid;grid-template-columns:56px 1fr 58px}.search-form input{border:0;background:transparent;min-width:0;padding:0 14px;font-size:1rem;outline:0}.search-leading,.search-submit{display:flex;align-items:center;justify-content:center;color:var(--dark-blue)}.search-submit{border:0;border-left:var(--line-blue);background:transparent}.search-form:focus-within{box-shadow:var(--focus-ring);border-color:var(--blue)}.segmented{display:flex;gap:12px;flex-wrap:wrap}.chip{min-height:50px;padding:0 20px;background:var(--action-soft);color:var(--dark-blue);border:var(--line-blue);font-size:.8rem}.chip:hover,.chip:focus-visible{background:var(--light-blue);outline:none;box-shadow:var(--focus-ring)}.chip.is-active,.chip[aria-pressed=true]{background:var(--blue);color:#fff}.genre-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}.top-chart,.track-list{border:var(--line-strong);background:var(--surface)}.track-row{min-height:100px;padding:18px 18px;display:grid;grid-template-columns:42px 66px minmax(0,1fr) auto 52px 52px;gap:18px;align-items:center;border-bottom:var(--line);position:relative;transition:background var(--fast)}.track-row:last-child{border-bottom:0}.track-row:hover,.track-row:focus-visible{background:var(--action-soft);outline:none}.track-row.is-active{background:color-mix(in srgb,var(--light-blue) 55%,white)}.track-index{font-family:var(--font-meta);font-weight:700;color:var(--blue)}.track-thumb{width:66px;height:66px;object-fit:cover;border:var(--line-blue)}.track-copy{display:grid}.track-copy strong{font-size:1.02rem}.track-copy .sub-link{color:var(--muted);text-decoration:none}.track-copy .sub-link:hover{text-decoration:underline}.track-more{width:50px;height:50px}.play-button{width:50px;height:50px}.play-button.is-playing{background:var(--blue);color:#fff}.track-price{font-family:var(--font-meta);white-space:nowrap}.scroller-shell{position:relative}.h-scroll{display:flex;gap:20px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 58px 14px 4px;touch-action:pan-y}.h-scroll::-webkit-scrollbar{display:none}.h-scroll.is-dragging{cursor:grabbing;scroll-snap-type:none}.scroll-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:50px;height:64px;border:var(--line-blue);background:var(--surface);color:var(--dark-blue);display:flex;align-items:center;justify-content:center}.scroll-arrow--left{left:-8px}.scroll-arrow--right{right:-8px}.music-card{position:relative;flex:0 0 min(78vw,310px);scroll-snap-align:start;border:var(--line-strong);background:var(--surface);min-height:320px;display:grid;grid-template-rows:1fr auto}.music-card>img{width:100%;aspect-ratio:1/1;object-fit:cover;image-rendering:auto}.music-card>div{padding:20px 70px 20px 20px;display:grid}.music-card strong{font-size:1.04rem}.music-card .sub-link{font-size:.9rem;color:var(--muted);text-decoration:none}.music-card-play{position:absolute;right:14px;bottom:14px}.card-click{transition:transform var(--fast),box-shadow var(--fast),background var(--fast)}.card-click:hover,.card-click:focus-visible{outline:none;transform:translate(-2px,-2px);box-shadow:var(--shadow-2)}.article-card{min-height:380px;border:var(--line-strong);background:var(--surface);display:grid;grid-template-columns:1.5fr 1fr}.article-copy{padding:32px;display:flex;flex-direction:column;align-items:flex-start}.article-copy h3{font-size:clamp(2.4rem,6vw,4.1rem);margin:10px 0 18px}.article-copy p{color:var(--muted)}.article-copy .text-action{margin-top:auto}.article-card>img{width:100%;height:100%;object-fit:cover;border-left:var(--line-blue)}.article-card--compact{min-height:200px;grid-template-columns:1fr}.article-card--compact img{display:none}.article-card--compact .article-copy h3{font-size:1.3rem}.previous-row{display:grid;gap:20px}.product-card{border:var(--line-strong);background:var(--surface);display:grid;grid-template-columns:minmax(240px,.85fr) 1.8fr;min-height:340px}.product-card>img{width:100%;height:100%;object-fit:cover;border-right:var(--line-blue)}.product-copy{padding:32px;display:grid;grid-template-columns:1fr auto;gap:18px;align-content:start}.product-copy h3{grid-column:1/-1}.product-copy p{color:var(--muted)}.product-copy .button{grid-column:1/-1;width:min(320px,100%);margin-top:30px}.product-card--featured{min-height:420px}.product-card--featured>img{min-height:420px}.product-grid,.article-grid{display:grid;gap:24px}.feature-panel{padding:32px;display:flex;align-items:center;justify-content:space-between;gap:32px}.artist-hero,.fan-profile{padding:32px;display:grid;grid-template-columns:100px 1fr;gap:32px;align-items:center}.artist-avatar{width:100px;height:100px;border:var(--line);background:var(--surface-alt);display:grid;place-items:center;font-family:var(--font-display);font-size:2rem}.action-row{display:flex;gap:16px;flex-wrap:wrap;margin-block:50px}.action-row--end{justify-content:flex-end}.album-hero,.product-detail{padding:32px;display:grid;grid-template-columns:minmax(180px,320px) 1fr;gap:50px;align-items:start}.album-hero img,.product-detail>img{width:100%;aspect-ratio:1;object-fit:cover;border:var(--line-blue)}.album-hero>div,.product-detail>div{display:grid;gap:20px}.track-info{padding:30px;display:flex;justify-content:space-between;gap:50px;align-items:end}.track-info>div:first-child{display:grid;gap:10px}.track-info h2{font-size:clamp(2rem,6vw,4rem);margin:0}.track-price-block{display:grid;gap:18px}.player-section{margin-top:var(--gap-section)}.cassette-player{display:grid;grid-template-columns:1.35fr .65fr;border:var(--line-strong);background:var(--surface);min-height:480px;overflow:hidden;animation:trackOpen .55s var(--ease) both}.cassette-shell{position:relative;background:var(--light-blue);min-height:480px;border-right:var(--line-strong);padding:50px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.cassette-shell:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(58,124,175,.25) 0 1px,transparent 1px 16px),repeating-linear-gradient(0deg,rgba(58,124,175,.18) 0 1px,transparent 1px 16px);opacity:.55}.cassette-label,.cassette-window,.tape-path,.cassette-teeth{position:relative;z-index:2}.cassette-label{display:flex;justify-content:space-between;gap:20px;font-family:var(--font-meta)}.cassette-label strong{font-size:clamp(1.2rem,4vw,2rem)}.cassette-window{display:grid;grid-template-columns:92px minmax(120px,190px) 92px;align-items:center;justify-content:center;gap:34px;background:var(--surface);border:4px solid var(--dark-blue);padding:32px}.album-window{aspect-ratio:1;border:4px solid var(--blue);overflow:hidden}.album-window img{width:100%;height:100%;object-fit:cover}.reel{width:92px;height:92px;border:8px solid var(--dark-blue);border-radius:50%;background:conic-gradient(var(--surface) 0 10%,var(--blue) 10% 20%,var(--surface) 20% 35%,var(--dark-blue) 35% 42%,var(--surface) 42% 60%,var(--blue) 60% 70%,var(--surface) 70% 100%);box-shadow:inset 0 0 0 18px var(--surface)}.is-playing .reel{animation:spin 1.2s linear infinite}.reel-b{animation-direction:reverse!important}.tape-path{height:48px;margin:0 50px;border-bottom:8px solid var(--dark-blue);border-left:8px solid transparent;border-right:8px solid transparent}.tape-path span{display:block;height:4px;background:var(--dark-blue);transform:translateY(18px)}.is-playing .tape-path span{background:repeating-linear-gradient(90deg,var(--dark-blue) 0 14px,var(--blue) 14px 28px);background-size:28px 4px;animation:tapeMove .6s steps(2) infinite}.cassette-teeth{height:18px;background:repeating-linear-gradient(90deg,var(--dark-blue) 0 12px,transparent 12px 24px)}.player-console{padding:44px 34px;display:grid;align-content:center;gap:46px;background:var(--surface)}.player-meta{display:grid;gap:8px}.player-meta span,.player-meta small{color:var(--muted);font-family:var(--font-meta)}.player-meta strong{font-size:1.4rem}.player-progress input{width:100%;accent-color:var(--blue)}.time-row{display:flex;justify-content:space-between;font-family:var(--font-meta);font-size:.75rem;color:var(--muted)}.player-controls{display:flex;gap:12px;flex-wrap:wrap}.player-main-play{background:var(--blue);color:white}.reading{max-width:var(--reading);margin:auto}.reading .page-head{margin-bottom:var(--gap-block)}.reading-intro{margin-bottom:var(--gap-block)}.reading-image{width:100%;aspect-ratio:16/9;object-fit:cover;border:var(--line-blue);margin-bottom:var(--gap-block)}.reading>p{font-size:1.06rem;line-height:1.8;margin-bottom:50px}.embedded-track{margin-block:64px}.article-actions{display:flex;gap:14px;margin-block:50px}.comment-entry{display:grid;gap:20px}.comment-entry textarea,.field textarea{min-height:140px}.comment-entry textarea{border:var(--line-strong);padding:18px;background:var(--surface);resize:vertical}.profile-links{display:grid;gap:16px;margin-block:var(--gap-section)}.profile-links a,.simple-card{min-height:80px;border:var(--line-strong);background:var(--surface);padding:18px 22px;text-decoration:none;display:grid;grid-template-columns:1fr auto;align-items:center}.profile-links a span{grid-column:1;color:var(--muted)}.profile-links svg{grid-column:2;grid-row:1/3}.premium-card{padding:28px;background:var(--action-soft);border-color:var(--blue);margin-block:50px}.premium-card.success,.info-box.success{background:var(--success-soft);border-color:var(--success);color:#176f45}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat-grid>div{border:var(--line);background:var(--surface);padding:22px;display:grid;gap:10px}.stat-grid strong{font-size:1.9rem;color:var(--success)}.stat-grid em{color:var(--success);font-style:normal}.chart-panel{padding:30px;margin-block:var(--gap-section);color:var(--success)}.chart-panel svg{width:100%;height:250px}.filter-row{margin-top:18px}.auth-wrap{min-height:calc(100vh - var(--header-h));display:grid;place-items:center;padding:40px 20px}.auth-card{width:min(100%,520px);display:grid;gap:28px}.auth-card h1{margin:0}.auth-logo{width:88px;height:88px;border:var(--line-strong);background:var(--surface-alt);display:grid;place-items:center;margin-inline:auto}.auth-logo .pixel-icon{width:44px;height:44px;color:var(--blue)}.auth-spacer{height:10px}.auth-card>.button{width:100%}.auth-card small,.minor-link{color:var(--muted);text-align:center}.minor-link{text-decoration:none}.accent-label{color:var(--success);font-family:var(--font-meta);font-weight:700}.role-card{min-height:110px;border:var(--line);background:var(--surface);padding:20px;display:grid;grid-template-columns:42px 1fr;gap:18px;text-decoration:none;align-items:start}.role-card.is-active{border:2px solid var(--blue)}.role-dot{width:24px;height:24px;border-radius:50%;background:var(--light-blue);border:6px solid var(--surface);box-shadow:0 0 0 1px var(--blue)}.role-icon{width:38px;height:38px;background:var(--surface-alt);display:grid;place-items:center}.onboard-visual{height:260px;background:var(--surface-alt);border:var(--line);position:relative;display:grid;place-items:center}.onboard-visual span{width:180px;height:110px;border:var(--line);background:var(--surface);display:grid;place-items:center}.onboard-visual i,.onboard-visual b{position:absolute;height:8px;background:var(--blue);left:26%;right:26%}.onboard-visual i{top:34%}.onboard-visual b{bottom:34%;right:40%;background:var(--light-blue)}.field{display:grid;gap:10px;font-size:.82rem;color:var(--muted)}.field input,.field textarea{width:100%;border:var(--line);background:var(--surface);padding:16px;min-height:54px;color:var(--ink);outline:0}.field input:focus,.field textarea:focus{border-color:var(--blue);box-shadow:var(--focus-ring)}.check{display:flex;gap:12px;align-items:flex-start;font-size:.86rem}.check input{width:20px;height:20px;accent-color:var(--blue)}.info-box{padding:24px;margin-block:30px}.info-box.accent{background:var(--accent-soft);border-color:var(--orange)}.avatar-upload{min-height:100px;display:flex;align-items:center;gap:18px}.avatar-upload .pixel-icon{width:58px;height:58px;border:var(--line);padding:16px}.form-grid{display:grid;gap:28px;max-width:980px}.form-grid h2{margin:20px 0 -6px}.upload-box{min-height:160px;border:var(--line-strong);background:var(--surface);display:grid;place-items:center;align-content:center;gap:14px;color:var(--muted)}.upload-box .pixel-icon{width:44px;height:44px}.upload-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.release-admin-list{display:grid;gap:18px}.admin-release{border:var(--line);background:var(--surface);padding:18px;display:grid;grid-template-columns:80px 1fr auto;gap:20px;align-items:center}.admin-cover{width:80px;height:80px;background:var(--surface-alt)}.admin-release>div:nth-child(2){display:grid}.admin-release span{color:var(--muted);font-size:.82rem}.admin-release em{color:var(--success);font-style:normal;font-size:.8rem}.preview-small{padding:20px;display:flex;gap:20px;align-items:center}.preview-small>div:last-child{display:grid}.switch{display:flex;gap:12px;align-items:center}.switch input{display:none}.switch span{width:44px;height:24px;background:var(--border);position:relative}.switch span:after{content:"";position:absolute;width:18px;height:18px;background:white;top:3px;left:3px}.switch input:checked+span{background:var(--success)}.switch input:checked+span:after{left:23px}.modal-page{min-height:100vh;background:rgba(10,42,67,.18);display:grid;place-items:center;padding:32px}.purchase-card{width:min(100%,600px);background:var(--surface);border:var(--line-strong);box-shadow:var(--shadow-overlay);padding:32px;display:grid;gap:28px}.modal-title{display:flex;justify-content:space-between;align-items:center}.modal-title h1{margin:0}.purchase-item{display:flex;gap:18px;align-items:center}.purchase-item img{width:74px;height:74px;border:var(--line-blue)}.purchase-item>div{display:grid}.total{padding:24px;background:var(--surface-alt);display:grid;grid-template-columns:1fr auto}.total strong{font-size:2rem}.total small{grid-column:1/-1;color:var(--muted)}.menu-backdrop{position:fixed;inset:0;background:rgba(10,42,67,.18);opacity:0;pointer-events:none;z-index:90;transition:opacity var(--normal)}.menu-backdrop.is-open{opacity:1;pointer-events:auto}.menu-drawer{position:fixed;z-index:100;top:0;right:0;width:min(92vw,460px);height:100dvh;background:var(--surface);border-left:var(--line-strong);padding:24px;transform:translateX(105%);transition:transform var(--normal) var(--ease);display:grid;grid-template-rows:auto auto auto 1fr;gap:40px;overflow:auto}.menu-drawer.is-open{transform:none}.menu-top{display:flex;justify-content:space-between;align-items:center}.menu-nav{display:grid;gap:14px}.menu-nav a{min-height:66px;padding:0 20px;background:var(--light-blue);border:var(--line-blue);text-decoration:none;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-display);font-size:1.05rem}.menu-nav a:hover{background:var(--blue);color:white}.artist-menu-cta{min-height:58px;background:var(--light-blue);border:var(--line-blue);display:flex;align-items:center;padding:0 22px;text-decoration:none;font-family:var(--font-display);font-weight:700;width:100%}.menu-minor{display:grid;align-content:start;gap:18px}.site-footer{border-top:var(--line);background:var(--surface-alt);padding:50px var(--page-x)}.footer-inner{max-width:var(--content);margin:auto;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:50px}.footer-inner section{display:grid;gap:10px}.footer-inner h2{font-size:.75rem;text-transform:uppercase}.footer-inner a{text-decoration:none}.footer-artist{align-self:start}.socials{display:flex;gap:12px}.socials a{width:50px;height:50px;border:var(--line-blue);display:grid;place-items:center}.socials img{width:26px;height:26px}.mini-player{position:fixed;z-index:60;left:50%;bottom:18px;transform:translateX(-50%);width:min(calc(100% - 32px),760px);min-height:82px;background:var(--surface);border:var(--line-strong);box-shadow:var(--shadow-overlay);display:grid;grid-template-columns:1fr 140px 52px 52px;gap:12px;align-items:center;padding:10px}.mini-player-main{border:0;background:transparent;display:grid;grid-template-columns:62px 1fr;gap:14px;align-items:center;text-align:left}.mini-player-main img{width:62px;height:62px;border:var(--line-blue)}.mini-player-main span{display:grid}.mini-player-main small{color:var(--muted)}.mini-wave{height:34px;display:flex;align-items:center;gap:3px}.mini-wave i{display:block;width:3px;height:var(--h);background:var(--blue);animation:wave .9s steps(4) infinite alternate}.toast-region{position:fixed;z-index:150;right:24px;bottom:120px;max-width:340px;background:var(--dark-blue);color:white;padding:16px 18px;opacity:0;transform:translateY(8px);pointer-events:none;transition:all var(--normal)}.toast-region.show{opacity:1;transform:none}.empty-copy{color:var(--muted)}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes tapeMove{to{background-position:28px 0}}@keyframes trackOpen{from{opacity:0;transform:translateY(50px) scale(.98)}to{opacity:1;transform:none}}@keyframes wave{from{transform:scaleY(.5)}to{transform:scaleY(1.2)}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.binary-field{display:none}}
@media(max-width:760px){:root{--header-h:78px;--page-x:18px}.main-content{padding-top:64px}.header-inner{padding-inline:18px}.floating-back{left:18px;top:70px}.home-stack{gap:78px}.section-head{align-items:flex-start;flex-direction:column}.section-head .button{align-self:flex-start}.track-row{grid-template-columns:34px 54px minmax(0,1fr) 50px;gap:10px;min-height:88px;padding:14px 10px}.track-thumb{width:54px;height:54px}.track-more,.track-price{display:none}.track-row .play-button{grid-column:4}.music-card{flex-basis:78vw;min-height:280px}.scroll-arrow--left{display:none}.scroll-arrow--right{right:-6px}.genre-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-card{grid-template-columns:1fr;min-height:520px}.article-card>img{height:200px;order:-1;border-left:0;border-bottom:var(--line-blue)}.article-copy{padding:24px}.article-copy h3{font-size:2.4rem}.previous-row{grid-template-columns:1fr}.product-card,.product-card--featured{grid-template-columns:1fr;min-height:0}.product-card>img,.product-card--featured>img{height:auto;min-height:0;aspect-ratio:4/3;border-right:0;border-bottom:var(--line-blue)}.product-copy{padding:24px}.artist-hero,.fan-profile{grid-template-columns:72px 1fr;padding:22px;gap:18px}.artist-avatar{width:72px;height:72px}.album-hero,.product-detail{grid-template-columns:1fr;padding:22px;gap:28px}.album-hero img,.product-detail>img{max-width:300px}.track-info{padding:22px;display:grid;gap:28px}.cassette-player{grid-template-columns:1fr;min-height:0}.cassette-shell{min-height:430px;border-right:0;border-bottom:var(--line-strong);padding:28px 18px}.cassette-window{grid-template-columns:58px minmax(100px,150px) 58px;gap:14px;padding:22px 12px}.reel{width:58px;height:58px;border-width:6px;box-shadow:inset 0 0 0 10px var(--surface)}.tape-path{margin-inline:28px}.player-console{padding:28px 20px;gap:30px}.player-controls .icon-button{width:52px}.footer-inner{grid-template-columns:1fr 1fr;gap:32px}.socials{grid-column:1/-1}.mini-player{grid-template-columns:1fr 52px 52px;width:calc(100% - 20px);bottom:10px}.mini-wave{display:none}.mini-player-main{grid-template-columns:52px 1fr}.mini-player-main img{width:52px;height:52px}.auth-wrap{padding:30px 18px}.upload-pair{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}.stat-grid>div:last-child{grid-column:1/-1}.purchase-card{padding:22px}.action-row{margin-block:50px}.product-grid{grid-template-columns:1fr}.admin-release{grid-template-columns:64px 1fr}.admin-release .button{grid-column:1/-1}.admin-cover{width:64px;height:64px}}
@media(min-width:761px){.genre-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.previous-row{grid-template-columns:1fr 1fr}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-grid .article-card{grid-template-columns:1fr;min-height:520px}.article-grid .article-card img{height:220px;order:-1;border-left:0;border-bottom:var(--line-blue)}.article-grid .article-card:first-child{grid-column:1/-1;grid-template-columns:1.5fr 1fr;min-height:380px}.article-grid .article-card:first-child img{height:100%;order:initial;border-left:var(--line-blue);border-bottom:0}}
@media(min-width:1180px){.home-stack>.floor,.hero-section{min-height:min(72vh,800px);align-content:center}.hero-section{grid-template-columns:1.15fr .85fr;align-items:center}.hero-section .search-form{justify-self:end}.floor{padding-block:20px}.genre-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.top-chart .track-row{min-height:112px}.music-card{flex-basis:300px}.product-card--featured{min-height:470px}.product-card--featured>img{min-height:470px}.main-content{padding-bottom:120px}}
.lyrics-preview{border:var(--line-strong);background:var(--surface);padding:28px;display:grid;gap:24px}.lyrics-full pre{white-space:pre-wrap;font:inherit;line-height:1.8;margin:0}.comment-thread{display:grid;gap:18px}.comment{border:var(--line);background:var(--surface);padding:24px}.comment--reply{margin-left:clamp(24px,8vw,80px);border-left:4px solid var(--light-blue)}.comment-user{font-family:var(--font-meta);font-weight:700}.comment-actions{display:flex;gap:12px;align-items:center;margin-top:20px}.comment-actions .button{min-height:50px}.product-card--featured{grid-template-columns:1.15fr 1fr}.product-card--featured .product-copy .button{width:min(220px,100%)}
@media(max-width:760px){.product-card--featured{grid-template-columns:1fr}.comment--reply{margin-left:28px}}

/* ==========================================================
   MVP v3.1 refinement layer
   Fixes: responsive container, IBM typography, hierarchy,
   UI-kit back/cursor behavior, palette lock, playback motion.
   ========================================================== */
html,body{max-width:100%;overflow-x:hidden}
.app-shell{width:100%;max-width:100%;overflow-x:clip}
.header-inner,.main-content,.footer-inner{width:100%;max-width:var(--content);margin-inline:auto;min-width:0}
.main-content>*{min-width:0}
.home-stack,.hero-section,.floor,.page-section,.section-head,.hero-copy,.hero-side,.subsection-block{min-width:0}

/* IBM Plex Mono is the visual voice of headings and subheads. */
h1,h2,h3,.brand,.button,.chip,.page-head p,.page-lead,.section-head p,.eyebrow,.track-copy strong,.product-copy strong{font-family:var(--font-display)}
.page-head p,.page-lead,.section-head p{font-weight:400;letter-spacing:-.01em}
h1{letter-spacing:-.035em}
h2{letter-spacing:-.025em}

/* Back is a persistent small UI-kit control, never a separate floor. */
.floating-back{left:var(--page-x);top:calc(100% + 14px);width:52px;height:52px;border:var(--line-blue);background:var(--surface);color:var(--dark-blue);align-items:center;justify-content:center;box-shadow:var(--shadow-1);transition:transform var(--fast),background var(--fast),color var(--fast),box-shadow var(--fast)}
.floating-back:hover,.floating-back:focus-visible{background:var(--light-blue);color:var(--dark-blue);transform:translate(-2px,-2px);outline:none;box-shadow:var(--shadow-2)}
.floating-back:active{transform:translate(1px,1px);box-shadow:none}
.floating-back .pixel-icon{width:26px;height:26px}

/* Inner/outer spacing system: compact inside one module, generous between modules. */
.page-section{gap:var(--gap-inner);margin-top:var(--gap-section)}
.main-content>.panel+.page-section,.main-content>.fan-profile+.page-section,.main-content>.artist-hero+.page-section{margin-top:var(--gap-section)}
.main-content>.segmented+.page-section,.main-content>.search-form+.page-section{margin-top:var(--gap-section)}
.section-head{gap:var(--gap-inner)}
.section-head h2{margin-bottom:10px}
.subsection-block{gap:18px}
.home-stack{gap:var(--gap-page)}
.floor{gap:var(--gap-inner);padding-block:8px}
.profile-links{margin-block:var(--gap-section);gap:18px}
.profile-links+.premium-card{margin-top:0}
.form-grid{gap:24px}
.form-grid h2{margin:34px 0 -8px}
.form-grid h2+.genre-grid{margin-top:0}
.info-box{margin-block:var(--gap-inner)}
.action-row{margin-block:var(--gap-section)}

/* Profile genre modules: headings belong to their own controls. */
.main-content>.page-section .genre-grid{margin-top:0}
.genre-grid{gap:14px}

/* Palette lock: artist/auth/status UI uses only kit blues, gray and orange. */
.button--success{background:var(--blue);border-color:var(--blue);color:#fff}
.button--success:hover,.button--success:focus-visible{background:var(--dark-blue);color:#fff}
.premium-card.success,.info-box.success{background:var(--action-soft);border-color:var(--blue);color:var(--dark-blue)}
.stat-grid strong,.stat-grid em,.admin-release em,.accent-label{color:var(--blue)}
.chart-panel{color:var(--blue)}
.switch input:checked+span{background:var(--blue)}
.button--danger{border-color:var(--orange);color:var(--orange);background:var(--surface)}

/* Homepage: no viewport-height floors. The former empty area becomes a visual animation stage. */
.hero-section{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap-inner);align-items:start}
.hero-copy .page-head{margin-bottom:0}
.hero-side{display:grid;gap:var(--gap-inner)}
.hero-side .search-form{width:100%;max-width:none}
.hero-animation-stage{position:relative;min-height:190px;border:var(--line-blue);background:linear-gradient(180deg,rgba(158,213,255,.18),rgba(255,255,255,.78));overflow:hidden;display:flex;align-items:flex-end;padding:18px;font-family:var(--font-meta);font-size:.72rem;color:var(--blue)}
.hero-animation-stage:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(58,124,175,.12) 0 1px,transparent 1px 18px),repeating-linear-gradient(0deg,rgba(58,124,175,.10) 0 1px,transparent 1px 18px);pointer-events:none}
.hero-animation-stage>span{position:relative;z-index:2;background:var(--surface);border:var(--line-blue);padding:6px 9px}
.hero-animation-grid{position:absolute;inset:20px;display:grid;grid-template-columns:repeat(16,1fr);gap:5px;align-content:center;opacity:.68}
.hero-animation-grid i{display:block;aspect-ratio:1;background:var(--light-blue);animation:heroPixel 3.6s steps(4,end) infinite;animation-delay:calc(var(--i) * -37ms)}
.hero-animation-grid i:nth-child(5n){background:var(--blue)}
.hero-animation-grid i:nth-child(7n){background:var(--dark-blue);opacity:.55}
@keyframes heroPixel{0%,100%{opacity:.08;transform:scale(.45)}35%{opacity:.82;transform:scale(1)}65%{opacity:.28;transform:scale(.7)}}

/* Player motion is state-bound. Paused = genuinely static. */
.cassette-shell{isolation:isolate}
.cassette-visualizer{position:absolute;z-index:1;inset:0;width:100%;height:100%;pointer-events:none;image-rendering:pixelated;opacity:.72}
.cassette-label,.cassette-window,.tape-path,.cassette-teeth{z-index:3}
.cassette-window{box-shadow:8px 8px 0 rgba(10,42,67,.10)}
.reel,.tape-path span,.mini-wave i{animation-play-state:paused}
.cassette-player.is-playing .reel,.cassette-player.is-playing .tape-path span,.mini-player.is-playing .mini-wave i{animation-play-state:running}
.mini-player.is-paused .mini-wave i{animation:none;transform:scaleY(.48);opacity:.46}
.cassette-player:not(.is-playing) .reel{animation:none}
.cassette-player:not(.is-playing) .tape-path span{animation:none;background:var(--dark-blue)}
.player-main-play{width:58px;height:58px}

/* More reliable responsive sizing. No child is allowed to force viewport overflow. */
.search-form,.top-chart,.track-list,.article-card,.product-card,.feature-panel,.cassette-player,.panel,.profile-links,.genre-grid{max-width:100%;min-width:0}
.track-row{max-width:100%;min-width:0}
.track-copy{min-width:0}
.track-copy strong,.track-copy .sub-link{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.h-scroll{max-width:100%;min-width:0}

@media(min-width:900px){
  .hero-section{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);column-gap:clamp(50px,6vw,88px);align-items:start}
  .hero-side{padding-top:8px}
  .hero-animation-stage{min-height:260px}
}
@media(min-width:1180px){
  .home-stack>.floor,.hero-section{min-height:0;align-content:start}
  .hero-section{grid-template-columns:minmax(0,1.05fr) minmax(440px,.95fr)}
  .hero-section .search-form{justify-self:stretch}
  .floor{padding-block:14px}
  .main-content{padding-bottom:120px}
}
@media(max-width:760px){
  :root{--page-x:18px}
  .header-inner,.main-content{max-width:100%}
  .floating-back{left:18px;top:calc(100% + 10px);width:50px;height:50px}
  .main-content{padding-top:70px}
  .home-stack{gap:72px}
  .hero-section{gap:28px}
  .hero-animation-stage{min-height:168px}
  .hero-animation-grid{inset:16px;grid-template-columns:repeat(12,1fr);gap:4px}
  .page-section{margin-top:64px;gap:28px}
  .floor{gap:28px}
  .form-grid h2{margin-top:28px}
  .genre-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media(max-width:420px){
  .track-row{grid-template-columns:30px 48px minmax(0,1fr) 48px;padding-inline:8px}
  .track-thumb{width:48px;height:48px}
  .header-actions{gap:8px}
  .hero-animation-stage{min-height:150px}
}

@media(prefers-reduced-motion:reduce){.hero-animation-grid i{animation:none!important;opacity:.32}.cassette-visualizer{opacity:.45}}
