:root{--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-2xs: .625rem;--text-label: .7rem;--text-caption: .75rem;--text-small: .8rem;--text-body: .85rem;--text-sub: .9rem;--text-icon: 1.1rem;--text-display: 1.8rem;--color-base: #0a0a0a;--color-elevated: #111111;--color-card: #1a1a1a;--color-surface: #222222;--color-border-dim: #222222;--color-border-base: #333333;--color-border-strong: #444444;--color-text-primary: #e0e0e0;--color-text-heading: #cccccc;--color-text-secondary: #888888;--color-text-muted: #666666;--color-text-dim: #555555;--color-accent-green: #66dd66;--color-accent-green-dim: #4a4;--color-accent-green-bg: #0a1a0a;--color-accent-red: #ff8888;--color-accent-red-dim: #f66;--color-accent-red-border: #633;--color-accent-red-bg: #1a0000;--color-accent-blue: #6af;--color-accent-blue-dim: #88f;--color-accent-blue-bg: #1a1a2a;--color-accent-blue-border: #2a2a4a;--color-source-local: #4a9;--color-source-local-bg: #0a1a15;--color-source-local-border: #1a3a2a;--color-source-qobuz: #6af;--color-source-qobuz-bg: #0a1520;--color-source-qobuz-border: #1a2a40;--color-source-bandcamp: #da6;--color-source-bandcamp-bg: #1a1508;--color-source-bandcamp-border: #3a2a10;--color-play-bg: #1a3a1a;--color-play-border: #2a5a2a;--color-play-hover: #2a4a2a;--app-max-w: 900px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-mono);background:var(--color-base);color:var(--color-text-primary);line-height:1.5;min-height:100vh;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}.app-container{max-width:var(--app-max-w);margin:0 auto;padding-top:max(.75rem,env(safe-area-inset-top));padding-right:max(.75rem,env(safe-area-inset-right));padding-bottom:max(.75rem,env(safe-area-inset-bottom));padding-left:max(.75rem,env(safe-area-inset-left));transition:max-width .2s ease-out}@media(prefers-reduced-motion:reduce){.app-container{transition:none}}@media(hover:none){.touch-visible{opacity:.6!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-base)}::-webkit-scrollbar-thumb{background:var(--color-border-base);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}
