.app{position:relative;flex:1;display:flex;flex-direction:column;max-width:480px;margin:0 auto;width:100%}.app-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:var(--bg)}.app>.header,.app>.main,.app>.player{position:relative;z-index:1}.header{padding:1.5rem 1.25rem 1rem;text-align:center}.title{font-family:var(--font-serif);font-size:1.75rem;font-weight:600;margin:0 0 .25rem;letter-spacing:.02em}.subtitle{font-size:.9rem;color:var(--text-muted);margin:0;font-weight:300}.main{flex:1;padding:0 1rem 1rem;overflow-y:auto}.track-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.track-card{position:relative;display:flex;align-items:center;gap:.75rem;width:100%;padding:.9rem 1rem;border:1px solid transparent;border-radius:var(--radius);color:var(--text);font-family:var(--font-sans);font-size:.95rem;text-align:left;cursor:pointer;overflow:hidden;transition:border-color .2s,box-shadow .2s}.track-card-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-size:cover;background-position:center;background-color:var(--bg-card)}.track-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:#0000008c;transition:background .2s}.track-card:hover .track-card-overlay,.track-card:focus-visible .track-card-overlay{background:#00000073}.track-card:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent)}.track-card--active .track-card-overlay{background:#0006}.track-card--active{border-color:var(--accent-soft);box-shadow:0 0 0 1px var(--accent-soft)}.track-card .track-number,.track-card .track-title,.track-card .track-indicator{position:relative;z-index:2}.track-number{flex-shrink:0;width:1.75rem;color:var(--text-muted);font-size:.8rem;font-weight:500}.track-title{flex:1}.track-indicator{flex-shrink:0;color:var(--accent);font-size:.7rem}.player{position:relative;padding:1rem 1.25rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.06);overflow:hidden}.player-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-size:cover;background-position:center;background-color:var(--bg-card)}.player-info,.player-controls{position:relative;z-index:1}.player-info{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.75rem}.player-title{font-size:.95rem;font-weight:500}.player-time{font-size:.8rem;color:var(--text-muted)}.player-controls{display:flex;flex-direction:column;gap:1.25rem}.player-row{display:flex;align-items:center;justify-content:space-between;gap:1.25rem}.player-row-left,.player-row-right{flex:1;display:flex;align-items:center;gap:1rem;min-width:0}.player-row-left{justify-content:flex-end}.player-row-right{justify-content:flex-start}.player-speed-wrap{display:flex;align-items:center;gap:.75rem;min-width:0;max-width:100px}.player-speed-label{flex-shrink:0;font-size:.8rem;color:var(--text-muted);min-width:2rem}.player-speed-slider{flex:1;min-width:0;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--progress);border-radius:3px;cursor:pointer}.player-speed-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer}.player-speed-slider::-moz-range-thumb{width:14px;height:14px;border:none;border-radius:50%;background:var(--accent);cursor:pointer}.player-nav-btn{width:40px;height:40px;padding:0;border:none;border-radius:50%;background:var(--control-bg);color:var(--control-fg);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .15s,opacity .2s}.player-nav-icon{width:22px;height:22px;display:block}.player-nav-btn:hover:not(:disabled),.player-nav-btn:focus-visible:not(:disabled){transform:scale(1.05);outline:none}.player-nav-btn:disabled{opacity:.4;cursor:not-allowed}.player-opt-btn{width:40px;height:40px;border:none;border-radius:50%;background:var(--control-bg);color:var(--control-fg);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.4;transition:opacity .2s,transform .15s}.player-opt-btn:hover,.player-opt-btn:focus-visible{transform:scale(1.05);outline:none}.player-opt-btn--on{opacity:1}.player-opt-icon{width:20px;height:20px;display:block}.player-progress{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,var(--accent) 0%,var(--accent) var(--progress-percent, 0%),var(--progress) var(--progress-percent, 0%),var(--progress) 100%);border-radius:3px;cursor:pointer}.player-progress::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;transition:transform .15s}.player-progress::-webkit-slider-thumb:hover{transform:scale(1.1)}.player-progress::-moz-range-thumb{width:16px;height:16px;border:none;border-radius:50%;background:var(--accent);cursor:pointer}.player-btn{width:52px;height:52px;border-radius:50%;border:none;background:var(--control-bg);color:var(--control-fg);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .15s,opacity .2s}.player-btn:hover,.player-btn:focus-visible{transform:scale(1.05);outline:none}.player-btn:active{opacity:.9}.player-btn--play{padding:0}.player-play-icon{width:36px;height:36px;display:block}:root{--bg: #0f0f14;--bg-card: #1a1a24;--bg-card-hover: #222230;--text: #e8e6e3;--text-muted: #9a9590;--progress: #3f3f46;--radius: 16px;--font-serif: "Cormorant Garamond", Georgia, serif;--font-sans: "Outfit", system-ui, sans-serif;--control-bg: #52525b;--control-fg: #fafafa;--accent: #a1a1aa;--accent-soft: rgba(161, 161, 170, .25)}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-weight:400;line-height:1.5}#root{min-height:100dvh;display:flex;flex-direction:column}body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
