:root{--bg: #0e0b09;--bg-raised: #191410;--bg-card: #1c1712;--border: #302820;--text: #f2ead9;--text-dim: #a2937c;--accent: #dc2626;--accent-deep: #a11616;--radius: 10px;--display: "Jim Nightshade", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:998;pointer-events:none;background:radial-gradient(ellipse 120% 90% at 50% 10%,transparent 55%,#00000066 100%)}@keyframes record-spin{to{transform:rotate(360deg)}}.header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:20px;background:#120e0bf0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:10px 24px}.logo{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:29px;margin:0;white-space:nowrap;letter-spacing:.5px;color:var(--accent);text-decoration:none;-webkit-user-select:none;user-select:none}.logo-img{height:34px;width:34px;filter:invert(.92) sepia(.14);animation:record-spin 14s linear infinite}.search-wrap{position:relative;flex:1;max-width:540px;margin:0 auto;display:flex;align-items:center}.search-icon{position:absolute;left:14px;width:16px;height:16px;color:var(--text-dim);pointer-events:none}.search{width:100%;background:#f2ead90a;border:1px solid var(--border);border-radius:999px;color:var(--text);font-size:14.5px;padding:9px 16px 9px 39px;outline:none;transition:border-color .15s ease}.search::placeholder{color:#8a7c66}.search:focus{border-color:var(--accent)}.content{padding:10px 0 60px}.detail-page{max-width:1500px;margin:0 auto}.toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:26px 30px 4px}.page-title{position:relative;font-family:var(--display);font-size:46px;font-weight:400;line-height:1;letter-spacing:1px;margin:0;padding-bottom:8px}.page-title:after{content:"";position:absolute;left:2px;bottom:0;width:72%;height:3px;background:var(--accent);border-radius:2px;transform:rotate(-.8deg)}.toolbar-count{color:var(--text-dim);font-size:13px;padding-top:14px}.toolbar-right{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:10px}.pills{display:flex;gap:2px;background:var(--bg-raised);border:1px solid var(--border);border-radius:999px;padding:3px}.pill{background:none;border:none;border-radius:999px;color:var(--text-dim);cursor:pointer;font-size:13px;padding:6px 13px;font-family:inherit;transition:color .12s ease,background .12s ease}.pill:hover{color:var(--text)}.pill.active{background:var(--accent);color:#fff;font-weight:600}.sort-select{background:var(--bg-raised);border:1px solid var(--border);border-radius:999px;color:var(--text-dim);font-size:13px;padding:7px 12px;cursor:pointer;font-family:inherit}.sort-select:hover{color:var(--text)}.section-title{font-family:var(--display);font-size:30px;font-weight:400;color:var(--text);margin:26px 30px 0;letter-spacing:1px}.btn{display:inline-flex;align-items:center;gap:6px;border-radius:999px;font-size:13.5px;padding:7px 15px;cursor:pointer;text-decoration:none;border:1px solid var(--border);background:var(--bg-raised);color:var(--text);font-family:inherit;transition:border-color .12s ease}.btn:hover{border-color:var(--accent)}.btn.ghost{background:#120e0bb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px;padding:24px 30px}.folder-grid.slim{grid-template-columns:repeat(auto-fill,minmax(205px,1fr));padding:14px 30px}.folder-card{display:block;text-decoration:none;color:inherit}.tile-art{position:relative;aspect-ratio:16 / 9;border-radius:10px;border:1px solid var(--border);overflow:hidden;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;box-shadow:0 10px 26px #0005;transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .15s ease}.folder-grid>.folder-card:nth-child(3n+1) .tile-art{transform:rotate(-1.1deg)}.folder-grid>.folder-card:nth-child(3n+2) .tile-art{transform:rotate(.7deg)}.folder-grid>.folder-card:nth-child(4n+3) .tile-art{transform:rotate(-.5deg)}.folder-card:hover .tile-art{transform:rotate(0) translateY(-4px);border-color:var(--accent)}.tile-art.quad{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.tile-art>img{width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;display:block}.tile-glyph{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:700;color:#f2ead924}.tile-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 38%,#000000e6);pointer-events:none}.tile-label{position:absolute;left:13px;right:13px;bottom:9px;display:flex;flex-direction:column}.tile-name{font-family:var(--display);font-size:24px;font-weight:400;line-height:1.1;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-sub{font-size:11.5px;color:#cabfa9}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:18px;padding:22px 30px}.card{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;transition:transform .15s ease,border-color .15s ease}.card:hover{transform:translateY(-3px);border-color:var(--accent)}.card-art{position:relative;aspect-ratio:16 / 10;display:flex;align-items:center;justify-content:center;overflow:hidden}.card-art img{width:100%;height:100%;object-fit:cover;display:block}.card-art.vinyl{aspect-ratio:1;background:repeating-radial-gradient(circle at 50% 50%,#171310 0,#171310 2px,#100d0a 2px,#100d0a 4px)}.disc{position:relative;width:78%;aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 6px #0b0908,0 0 0 7px #302820,0 8px 22px #000a;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.card:hover .disc{transform:rotate(14deg)}.disc img{width:100%;height:100%;object-fit:cover}.disc-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700;color:#f2ead945}.disc-hole{position:absolute;top:50%;left:50%;width:9%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:var(--bg);box-shadow:0 0 0 3px #00000080}.card-initials{font-size:34px;font-weight:700;color:#f2ead92c;-webkit-user-select:none;user-select:none}.card-play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff;background:#0e0b0999;opacity:0;transition:opacity .12s ease}.card:hover .card-play{opacity:1}.card-type{position:absolute;top:8px;right:8px;font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:3px 7px;border-radius:4px;background:#0e0b09cc;color:#cabfa9;border:1px solid #ffffff14}.card-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:5px}.card-name{font-size:14px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-artist{font-size:12.5px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--text-dim)}.card-chip{background:var(--bg-raised);border:1px solid var(--border);border-radius:4px;padding:2px 6px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-head{display:flex;align-items:flex-end;gap:26px;padding:34px 30px 8px}.detail-art{width:195px;height:195px;border-radius:10px;object-fit:cover;border:1px solid var(--border);box-shadow:0 16px 44px #000a;flex-shrink:0;transform:rotate(-1.2deg)}.detail-art.round{border-radius:50%;transform:none}.detail-art.placeholder{display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:700;color:#f2ead930}.detail-text{min-width:0;padding-bottom:8px}.detail-kicker{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--accent);margin-bottom:4px}.detail-title{font-family:var(--display);font-size:clamp(34px,5vw,58px);font-weight:400;letter-spacing:1px;line-height:1.02;margin:0 0 10px}.detail-meta{font-size:13.5px;color:var(--text-dim)}.detail-meta a{color:var(--text);text-decoration:none;font-weight:600}.detail-meta a:hover{color:var(--accent)}.tracklist{padding:16px 30px;display:flex;flex-direction:column}.track{display:grid;grid-template-columns:34px 1fr auto auto;align-items:center;gap:12px;padding:9px 14px;border-radius:8px;color:inherit;text-decoration:none;font-size:14px}.track:hover{background:var(--bg-raised)}.track-num{color:var(--text-dim);font-size:13px;font-variant-numeric:tabular-nums;text-align:right}.track-play,.track:hover .track-num{display:none}.track:hover .track-play{display:block;grid-column:1;color:var(--accent);text-align:right;font-size:12px}.track-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-artist{color:var(--text-dim);font-size:12.5px;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-dur{color:var(--text-dim);font-size:12.5px;font-variant-numeric:tabular-nums}.play-page{position:relative;min-height:calc(100vh - 55px);animation:page-in .45s cubic-bezier(.2,.8,.2,1)}@keyframes page-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}.play-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background-size:cover;background-position:center;filter:blur(70px) brightness(.3) saturate(1.15) sepia(.15);transform:scale(1.25);animation:backdrop-in 1s ease}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.play-inner{max-width:1050px;margin:0 auto;padding:18px 24px 50px;display:flex;flex-direction:column;gap:18px}.play-head{display:flex;justify-content:space-between}.play-stage{animation:stage-in .6s .1s cubic-bezier(.2,.8,.2,1) backwards}@keyframes stage-in{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.play-video{width:100%;max-height:72vh;background:#000;display:block;border-radius:14px;box-shadow:0 26px 90px #000c}.play-audio{display:flex;flex-direction:column;align-items:center;gap:30px;padding:26px 0 6px}.turntable{width:360px;max-width:82vw}.turntable-disc{position:relative;width:100%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle at 50% 50%,#14100d 0,#14100d 2px,#0a0807 2px,#0a0807 4px);box-shadow:inset 0 0 0 2px #000,0 26px 80px #000c;display:flex;align-items:center;justify-content:center;animation:record-spin 3.2s linear infinite;animation-play-state:paused}.turntable.spinning .turntable-disc{animation-play-state:running}.turntable-label{width:46%;aspect-ratio:1;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px #00000090}.turntable-label.placeholder{display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:700;color:#f2ead940}.turntable-hole{position:absolute;top:50%;left:50%;width:3.5%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:var(--bg);box-shadow:0 0 0 2px #000}.play-audio audio{width:100%;max-width:620px}.play-error{padding:60px 24px;text-align:center;color:var(--text-dim)}.play-error-glyph{display:block;font-size:44px;font-weight:700;color:#f2ead924;margin-bottom:12px}.play-info{text-align:center}.play-title{font-family:var(--display);font-size:clamp(28px,4vw,44px);font-weight:400;letter-spacing:1px;margin:0 0 8px}.play-meta{color:var(--text-dim);font-size:13.5px}.play-nav{display:flex;justify-content:center;gap:12px;margin-top:18px}.settings{position:relative}.settings-btn{background:var(--bg-raised);border:1px solid var(--border);border-radius:999px;color:var(--text-dim);cursor:pointer;font-size:16px;padding:7px 12px}.settings-btn:hover{color:var(--text)}.settings-pop{position:absolute;right:0;top:calc(100% + 10px);width:300px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 30px #000c;padding:14px;z-index:20}.settings-pop label{display:block;font-size:12.5px;color:var(--text-dim);margin-bottom:6px}.settings-pop input{width:100%;background:var(--bg-raised);border:1px solid var(--border);border-radius:7px;color:var(--text);padding:8px 10px;font-size:13.5px}.settings-actions{display:flex;gap:8px;margin-top:10px}.settings-actions button{background:var(--accent);border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:13px;padding:7px 12px}.settings-actions button.secondary{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-dim)}.settings-hint{color:var(--text-dim);font-size:11.5px;margin:10px 0 0;overflow-wrap:anywhere}.state-msg{color:var(--text-dim);font-size:15px;padding:60px 20px;text-align:center}.state-msg.error{color:#f87171}.sentinel{height:1px}@media(max-width:640px){.header{gap:10px;padding:8px 12px}.logo-text{display:none}.page-title{font-size:36px}.grid,.folder-grid,.folder-grid.slim{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:12px 14px}.toolbar,.detail-head,.tracklist,.section-title{padding-left:14px;padding-right:14px}.section-title{margin-left:0;margin-right:0}.detail-head{align-items:center;gap:16px}.detail-art{width:110px;height:110px}.track-artist{display:none}.turntable{width:280px}}@media(prefers-reduced-motion:reduce){.logo-img,.turntable-disc{animation:none}}
