:root{color-scheme:dark;--bg:#0b0b0d;--line:#2d2d35;--red:#f32732;--text:#f4f4f6;--muted:#9a9ba7;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(ellipse at 50% 7%,#57151b35,transparent 40%),linear-gradient(#0d0d10,#080809);overflow-x:hidden}body:after{content:"";position:fixed;z-index:-1;bottom:0;left:0;right:0;height:140px;opacity:.12;background:repeating-linear-gradient(165deg,transparent 0 17px,#393941 18px 19px,transparent 20px 32px);clip-path:polygon(0 72%,8% 56%,14% 70%,22% 42%,29% 68%,39% 34%,48% 72%,58% 48%,68% 74%,78% 30%,87% 66%,95% 46%,100% 58%,100% 100%,0 100%);pointer-events:none}button,input{font:inherit}.shell{width:min(100% - 32px,760px);margin:auto;padding:42px 0 30px}.brand{display:flex;flex-direction:column;align-items:center}.logo{display:grid;grid-template-columns:auto auto;align-items:center;text-decoration:none;color:var(--text);line-height:.78;letter-spacing:-7px;transform:skew(-7deg)}.n42{font-size:clamp(78px,14vw,112px);font-weight:1000;letter-spacing:-9px}.fm{color:var(--red);font-size:clamp(54px,10vw,80px);font-weight:1000;letter-spacing:-6px;margin:8px 0 0 8px}.logo b{grid-column:2;justify-self:end;margin-top:8px;font-size:clamp(24px,4vw,33px);letter-spacing:1px;font-style:italic}.tags{margin:15px 0 0;color:#b9bac5;font-size:11px;font-weight:700;letter-spacing:.3em}.tags i,.rule i{color:var(--red);font-style:normal;margin:0 8px}.hero{text-align:center;padding-top:42px}.eyebrow{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.24em;display:flex;align-items:center;justify-content:center;gap:9px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 12px #f3273280;flex-shrink:0}h1{font-size:clamp(32px,6vw,44px);letter-spacing:-.045em;margin:12px 0 9px}.subtitle{color:var(--muted);font-size:16px;margin:0}.player{margin:30px auto 0;max-width:650px}.play{width:92px;height:92px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--red);color:white;margin:auto;cursor:pointer;box-shadow:0 0 0 9px #f3273210,0 12px 38px #f3273230;transition:.18s}.play:hover{transform:scale(1.04);background:#ff303b}.play:focus-visible,.quality:focus-visible,a:focus-visible{outline:2px solid white;outline-offset:4px}.play svg{width:30px;height:30px;fill:currentColor}.status{min-height:18px;color:var(--muted);font-size:12px;margin:17px 0 20px}.qualities{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);background:#101013;border-radius:999px;max-width:100%}.quality{color:#b7b8c3;border:0;border-radius:999px;padding:11px 18px;background:transparent;cursor:pointer;font-size:13px;white-space:nowrap}.quality.selected{color:white;background:var(--red)}.quality:hover:not(.selected){color:white;background:#24242a}.quality small{font-size:inherit}.track{display:flex;align-items:center;gap:15px;margin:26px 0 0;padding:14px;border:1px solid var(--line);border-radius:13px;text-align:left;background:#121215e8;animation:rise .25s ease-out}.track[hidden]{display:none}.art{width:58px;height:58px;flex:0 0 58px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#241216,#080809 65%);border:1px solid #3b2024;border-radius:8px;font-weight:1000;font-size:21px;letter-spacing:-2px;transform:skew(-4deg)}.art i{color:var(--red);font-style:normal;font-size:13px;margin-left:3px}.track-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}.track-info small{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;letter-spacing:.12em;font-weight:700}.track-info strong{overflow-wrap:anywhere;font-size:15px;line-height:1.35}.track-info>span{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.eq{height:25px;display:flex;align-items:center;gap:3px;margin-left:auto;padding:0 6px}.eq i{display:block;flex:0 0 4px;width:4px;min-width:4px;height:8px;border-radius:2px;background:var(--red);box-shadow:0 0 5px #f3273260;animation:none!important;transition:height 45ms linear,opacity 45ms linear;transform:none!important;will-change:height,opacity}.eq i:nth-child(2),.eq i:nth-child(4){height:17px}.eq i:nth-child(3){height:23px}.volume{display:flex;align-items:center;gap:12px;margin:24px 4px 0;color:#a5a6b2}.volume input{flex:1;min-width:0;accent-color:var(--red);cursor:pointer}.volume output{width:38px;text-align:right;font-size:11px;color:var(--muted)}.error{color:#ff9aa0;font-size:12px;line-height:1.5;margin:14px 0 0}.about{margin-top:66px;text-align:center}.rule{display:flex;align-items:center;justify-content:center;gap:14px;color:#c4c4ce;font-size:10px;letter-spacing:.22em;font-weight:800}.rule span{width:70px;height:1px;background:#303037}.about p{max-width:540px;margin:16px auto 32px;color:#a5a6b2;font-size:13px;line-height:1.8}footer{margin-top:12px;text-align:center;color:var(--muted);font-size:12px}footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;margin-bottom:25px}footer a{color:#b9bac4;text-decoration:none}footer a:hover{color:white}footer p{margin:0}footer strong{color:#ededf0}@keyframes bounce{from{transform:scaleY(.5)}to{transform:scaleY(1.15)}}@keyframes rise{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:520px){.shell{width:calc(100% - 28px);padding-top:38px}.tags{font-size:9px;letter-spacing:.2em;margin-top:25px}.hero{padding-top:50px}.subtitle{font-size:14px;line-height:1.6}.play{width:82px;height:82px}.quality{padding:10px 11px;font-size:12px}.track{gap:10px;padding:11px}.art{width:48px;height:48px;flex-basis:48px;font-size:18px}.art i{font-size:11px}.track-info strong{font-size:13px}.track-info>span{font-size:11px}.eq{padding:0 2px;gap:2px}.about{margin-top:52px}.volume{display:none;}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.brand img {width: 75%;margin: auto;max-width: 360px;}

/* EQ bars are driven by Web Audio spectrum in supported browsers; Safari fallback is updated by JS. */
.eq i{display:block;flex:0 0 4px;width:4px;min-width:4px;height:8px;border-radius:2px;background:var(--red);box-shadow:0 0 5px #f3273260;animation:none!important;transition:height 45ms linear,opacity 45ms linear;transform:none!important;will-change:height,opacity}
