:root{--background: #ffffff;--surface-low: #f8f8fb;--surface: #ffffff;--surface-high: rgba(255, 255, 255, .85);--primary: #3c00ce;--primary-container: #5b21ea;--on-primary: #ffffff;--text-active: #3c00ce;--text-primary: #131319;--text-secondary: #454652;--ghost-border: rgba(69, 70, 82, .1);--tab-inactive: #8e8e93;--radius-sm: .5rem;--radius-md: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--safe-bottom: env(safe-area-inset-bottom, 15px);--nav-height: calc(65px + var(--safe-bottom))}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Manrope,sans-serif;background-color:var(--background);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}.stitch-app{width:100%;height:100vh;height:100dvh;position:relative;overflow:hidden}.view-section{display:none;width:100%;height:calc(100% - var(--nav-height));overflow-y:auto;position:absolute;top:0;left:0;background-color:var(--background)}.view-section.active{display:block;animation:fade-in .3s ease}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stitch-hero{display:flex;flex-direction:column;align-items:center;padding:2.5rem 1.5rem 1.5rem;text-align:center}.stitch-cover-container{width:60%;max-width:240px;aspect-ratio:1/1;border-radius:var(--radius-xl);box-shadow:0 16px 32px #0000001f,0 4px 12px #0000000a;overflow:hidden;margin-bottom:1.5rem;border:1px solid var(--ghost-border)}.stitch-cover{width:100%;height:100%;object-fit:cover;display:block}.stitch-title{font-size:1.75rem;font-weight:800;letter-spacing:-.03em;color:var(--text-primary);margin-bottom:.25rem}.stitch-subtitle{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.stitch-main{padding:0 1.5rem 2rem}.stitch-tracklist{display:flex;flex-direction:column;gap:.5rem}.stitch-track-card{display:flex;align-items:center;padding:.75rem 1rem;border-radius:var(--radius-md);background-color:var(--surface-low);transition:transform .2s cubic-bezier(.2,0,0,1),box-shadow .2s,background-color .2s;cursor:pointer;border:1px solid transparent}.stitch-track-card:active{transform:scale(.97)}.stitch-track-card.active{background-color:#f1ecff;border-color:#3c00ce1a}.card-left{min-width:32px;font-weight:700;font-size:.875rem;color:var(--text-secondary)}.stitch-track-card.active .card-left{color:var(--primary)}.card-body{flex:1}.card-title{font-size:1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.stitch-track-card.active .card-title{color:var(--primary)}.card-action{display:flex;justify-content:flex-end;align-items:center;min-width:32px;color:var(--text-secondary)}.stitch-track-card.active .card-action{color:var(--primary)}.playing-indicator{display:flex;align-items:center;justify-content:center;gap:3px;height:16px}.playing-indicator span{display:block;width:3px;height:100%;background-color:var(--primary);border-radius:2px;animation:equalize 1s infinite ease-in-out}.playing-indicator span:nth-child(2){animation-delay:-.2s}.playing-indicator span:nth-child(3){animation-delay:-.5s}@keyframes equalize{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}#view-player{background-color:var(--background)}.player-fullscreen{display:flex;flex-direction:column;height:100%;padding:1rem 1.5rem}.player-topbar{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0 1rem}.icon-btn{background:transparent;border:none;color:var(--text-primary);display:flex;align-items:center;justify-content:center;width:44px;height:44px;cursor:pointer;border-radius:50%;transition:background-color .2s}.icon-btn:active{background-color:var(--surface-low)}.player-caps-title{font-size:.75rem;font-weight:800;letter-spacing:.1em;color:var(--text-secondary)}.player-cover-large{flex:1;display:flex;align-items:center;justify-content:center;width:100%;padding:1rem 0;max-height:45vh}.player-cover-large img{max-width:100%;max-height:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius-xl);box-shadow:0 24px 48px #00000026,0 4px 12px #0000000d}.player-body{padding-bottom:2rem}.player-info-large{text-align:left;margin-bottom:2rem}.player-info-large .current-track{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:.25rem}.player-info-large .current-artist{font-size:1rem;font-weight:500;color:var(--text-secondary)}.stitch-progress{margin-bottom:1.5rem}#progress-bar{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface-low);border-radius:var(--radius-full);outline:none;cursor:pointer;margin-bottom:.75rem}#progress-bar::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:var(--primary);border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #3c00ce66;transition:transform .1s ease}#progress-bar::-webkit-slider-thumb:active{transform:scale(1.3)}.player-times{display:flex;justify-content:space-between;text-align:center;font-size:.75rem;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums;opacity:.7}.player-controls-large{display:flex;align-items:center;justify-content:center;gap:2rem}.primary-btn-large{width:72px;height:72px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary),var(--primary-container));border:none;color:var(--on-primary);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 24px #3c00ce4d;cursor:pointer;transition:transform .2s cubic-bezier(.2,0,0,1),box-shadow .2s}.primary-btn-large:active{transform:scale(.92);box-shadow:0 6px 12px #3c00ce26}.secondary-btn{background:transparent;border:none;color:var(--text-primary);display:flex;align-items:center;justify-content:center;width:48px;height:48px;cursor:pointer;border-radius:50%;transition:background-color .2s,transform .1s}.secondary-btn:hover{background-color:var(--surface-low)}.secondary-btn:active{transform:scale(.92)}.bottom-tab-bar{position:absolute;bottom:0;left:0;right:0;height:var(--nav-height);background-color:var(--surface-high);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);z-index:200;display:flex;justify-content:space-around;align-items:stretch;border-top:1px solid var(--ghost-border);padding-bottom:var(--safe-bottom)}.nav-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-decoration:none;color:var(--tab-inactive);background:transparent;border:none;cursor:pointer;transition:color .2s}.nav-tab svg{width:24px;height:24px}.nav-tab span{font-size:.65rem;font-weight:600;letter-spacing:.01em}.nav-tab.active{color:var(--primary)}.nav-tab:active{opacity:.7}
