@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-cyrillic-ext-wght-normal-DiMfzA-V.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-cyrillic-wght-normal-D5lnP6kL.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-latin-ext-wght-normal-Byk3UhVp.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-latin-wght-normal-C1hSzPvX.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:PT Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-mono-cyrillic-ext-400-normal-C8TlNz0g.woff2)format("woff2"),url(/assets/pt-mono-cyrillic-ext-400-normal-Ca_Kjean.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:PT Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-mono-cyrillic-400-normal-CteInIPE.woff2)format("woff2"),url(/assets/pt-mono-cyrillic-400-normal-CL2xZ6Bq.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:PT Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-mono-latin-ext-400-normal-59kyaNn9.woff2)format("woff2"),url(/assets/pt-mono-latin-ext-400-normal-CEnqigeC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:PT Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-mono-latin-400-normal-3-3stVoC.woff2)format("woff2"),url(/assets/pt-mono-latin-400-normal-CW_sYFHq.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--base:#1a1411;--surface:#241c18;--raised:#2e2420;--line:#3a2e28;--lineStrong:#5a4a40;--ink:#f4ebe3;--ink2:#d6c6b8;--ink3:#a8968a;--ink4:#6e5e54;--accent:#d9a877;--onAccent:#1a1411;--tape:#d9a8774d;--shadow:#0d0a08;--r8:8px;--r14:14px;--r22:22px;--r32:32px;--pill:999px;--tabbar:64px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=sage]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@property --base{syntax:"<color>";inherits:true;initial-value:#1a1411}@property --surface{syntax:"<color>";inherits:true;initial-value:#241c18}@property --raised{syntax:"<color>";inherits:true;initial-value:#2e2420}@property --line{syntax:"<color>";inherits:true;initial-value:#3a2e28}@property --lineStrong{syntax:"<color>";inherits:true;initial-value:#5a4a40}@property --ink{syntax:"<color>";inherits:true;initial-value:#f4ebe3}@property --ink2{syntax:"<color>";inherits:true;initial-value:#d6c6b8}@property --ink3{syntax:"<color>";inherits:true;initial-value:#a8968a}@property --ink4{syntax:"<color>";inherits:true;initial-value:#6e5e54}@property --accent{syntax:"<color>";inherits:true;initial-value:#d9a877}@property --onAccent{syntax:"<color>";inherits:true;initial-value:#1a1411}@property --tape{syntax:"<color>";inherits:true;initial-value:#d9a8774d}@property --shadow{syntax:"<color>";inherits:true;initial-value:#0d0a08}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:var(--base)}body{min-height:100dvh;color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overscroll-behavior-y:none;margin:0;font:600 15px/20px Nunito Variable,system-ui,sans-serif}body:before{content:"";z-index:-1;pointer-events:none;background:var(--ink);opacity:.07;position:fixed;inset:0;-webkit-mask:url(/grain.svg) 0 0/160px 160px;mask:url(/grain.svg) 0 0/160px 160px}:root[data-theme=sage] body:after{content:"";z-index:-2;pointer-events:none;opacity:.8;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:22px 22px;position:fixed;inset:0}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}img{display:block}.num{font-variant-numeric:tabular-nums}.mono{font-variant-numeric:tabular-nums;font-family:PT Mono,ui-monospace,monospace;font-weight:400}.hand{font-family:Caveat Variable,cursive;font-weight:700}.t-hero{margin:0;font:700 40px/40px Caveat Variable,cursive}.t-title{margin:0;font:700 32px/34px Caveat Variable,cursive}.t-heading{margin:0;font-size:17px;font-weight:700;line-height:22px}.t-body{font-size:15px;font-weight:600;line-height:20px}.t-caption{color:var(--ink3);font-size:13px;font-weight:600;line-height:17px}.t-label{letter-spacing:.02em;color:var(--ink3);font-variant-numeric:tabular-nums;font:400 11px/14px PT Mono,monospace}.t-readout{font-variant-numeric:tabular-nums;font:400 24px/28px PT Mono,monospace}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.clamp2,.clamp3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.clamp2{-webkit-line-clamp:2;line-clamp:2}.clamp3{-webkit-line-clamp:3;line-clamp:3}.paper{background:var(--raised);border:1px solid var(--line);box-shadow:3px 3px 0 var(--shadow);border-radius:6px;position:relative}.tilt{transform:rotate(var(--tilt,0deg))}.taped:before{content:"";z-index:3;background:var(--tape);pointer-events:none;clip-path:polygon(0 0,100% 0,97% 25%,100% 50%,97% 75%,100% 100%,0 100%,3% 75%,0 50%,3% 25%);width:64px;height:18px;margin-left:-32px;position:absolute;top:-9px;left:50%;transform:rotate(-3deg)}.polaroid{background:var(--raised);box-shadow:3px 3px 0 var(--shadow);border-radius:3px;padding:6px 6px 8px;position:relative}.polaroid .cover{border-radius:2px}.stamp{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);opacity:.9;white-space:nowrap;border:1.5px solid;border-radius:3px;padding:2px 6px;font:400 11px/14px PT Mono,monospace;display:inline-block;transform:rotate(-4deg)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.fade{animation:.18s ease-out both fade-in}.press{transition:transform .12s ease-out}.press:active{transform:scale(.97)}.tilt.press:active{transform:rotate(var(--tilt,0deg)) scale(.97)}@keyframes sway{0%,to{transform:translate(-2px)}50%{transform:translate(2px)}}.sway{animation:1.6s ease-in-out infinite sway}@keyframes heart-pop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.pop{animation:.24s ease-out heart-pop}@keyframes eq{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-down{0%{transform:translateY(var(--close-from,0))}to{transform:translateY(100%)}}.app{max-width:560px;min-height:100dvh;margin:0 auto}.screen{padding:calc(var(--safe-top) + 12px) 0 calc(var(--tabbar) + var(--safe-bottom) + 96px)}.screen.bleed{padding-top:0}.pad{padding-left:20px;padding-right:20px}.section{margin-top:28px}.section-head{align-items:center;gap:8px;margin-bottom:12px;padding:0 20px;display:flex}.section-head h2{font:700 26px/28px Caveat Variable,cursive}.row-scroll{scroll-snap-type:x proximity;scrollbar-width:none;gap:12px;margin-top:-12px;padding:12px 20px 8px;display:flex;overflow-x:auto}.row-scroll::-webkit-scrollbar{display:none}.row-scroll>*{scroll-snap-align:start;flex:none}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;padding:0 20px;display:grid}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px;padding:0 20px;display:grid}.sticky-head{z-index:20;padding:calc(var(--safe-top) + 10px) 20px 10px;margin-top:calc(-1 * var(--safe-top) - 12px);border:1px solid #0000;align-items:center;gap:12px;transition:background .18s,box-shadow .18s;display:flex;position:sticky;top:0}.sticky-head:not(.paper){background:0 0}.sticky-head.paper{box-shadow:none;border-width:0 0 1px;border-radius:0}.sticky-head .grow{flex:1;min-width:0}.pill{white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 20px;font-weight:800;display:inline-flex}.pill-paper{background:var(--raised);color:var(--ink);border:1px solid var(--line);box-shadow:2px 2px 0 var(--shadow)}.pill-accent{background:var(--accent);color:var(--onAccent);box-shadow:2px 2px 0 var(--shadow)}.pill-accent:active{box-shadow:none;transform:translate(2px,2px)}.icon-btn{width:44px;height:44px;color:var(--ink);border-radius:50%;place-items:center;display:inline-grid}.link{color:var(--ink3);font-size:13px;font-weight:700}.chip{border-radius:var(--pill);background:var(--surface);height:36px;color:var(--ink2);align-items:center;gap:4px;padding:0 6px 0 14px;display:inline-flex}.chip button{width:28px;height:28px;color:var(--ink3);place-items:center;display:grid}.segments{gap:8px;margin:0 20px;padding:0;display:flex}.segments button{border:1.5px dashed var(--lineStrong);height:36px;color:var(--ink3);z-index:1;border-radius:6px;flex:1;font-weight:700;position:relative}.segments button[aria-selected=true]{background:var(--raised);color:var(--ink);border-style:solid;transform:rotate(-1deg)}.search-box{height:48px;color:var(--ink3);border-radius:6px;align-items:center;gap:8px;margin:0 20px;padding:0 8px 0 14px;display:flex}.search-box input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:16px;font-weight:700}.search-box input::placeholder{color:var(--ink4)}.search-box input::-webkit-search-cancel-button{display:none}.cover{background:var(--surface);color:var(--ink4);position:relative;overflow:hidden}.cover img{object-fit:cover;width:100%;height:100%}.cover .ph{place-items:center;display:grid;position:absolute;inset:0}.mosaic{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;display:grid}.mosaic.one{grid-template-rows:1fr;grid-template-columns:1fr}.round{border-radius:50%}.continue-tile{border-radius:6px;align-items:center;gap:10px;height:56px;display:flex;overflow:hidden}.continue-tile>.cover{flex:none;width:54px;height:54px}.continue-tile .t-heading{padding-right:8px;font-size:14px;line-height:17px}.track-tile{text-align:left;width:140px}.track-tile>.cover{border-radius:2px;width:128px;height:128px;margin-bottom:8px}.album-tile{text-align:left;width:148px}.album-tile>.cover{border-radius:2px;width:136px;height:136px;margin-bottom:8px}.album-cell>.cover{aspect-ratio:1;border-radius:2px;width:100%;margin-bottom:8px}.artist-circle{text-align:center;width:96px}.artist-circle .cover{width:96px;height:96px;margin-bottom:8px}.artist-cell{text-align:center}.artist-cell .cover{aspect-ratio:1;width:100%;margin-bottom:8px}.mix-card{text-align:left;width:156px}.mix-card>.cover{width:144px;height:144px;margin-bottom:6px;position:static}.genre-tile{text-align:left;flex-direction:column;justify-content:space-between;height:88px;padding:10px 14px 12px;display:flex;position:relative}.genre-tile .stamp{align-self:flex-start}.track-row{text-align:left;align-items:center;gap:12px;width:100%;min-height:58px;padding:6px 12px 6px 20px;display:flex}.track-row .lead{text-align:center;flex:none;width:24px}.track-row .thumb{border-radius:var(--r8);flex:none;width:42px;height:42px}.track-row .mid{flex:1;min-width:0}.track-row.current .t-body{color:var(--accent)}.lined{background:repeating-linear-gradient(to bottom, transparent 0 57px, var(--line) 57px 58px);position:relative}.lined:before{content:"";background:var(--accent);opacity:.35;pointer-events:none;width:1.5px;position:absolute;top:0;bottom:0;left:52px}.lined.thumbs:before{left:68px}.eq{align-items:flex-end;gap:2px;height:14px;display:inline-flex}.eq i{background:var(--accent);transform-origin:bottom;border-radius:2px;width:3px;height:14px;animation:1.4s ease-in-out infinite eq}.eq i:nth-child(2){animation-delay:-466ms}.eq i:nth-child(3){animation-delay:-933ms}.eq.paused i{animation-play-state:paused}.heart{flex:none;place-items:center;width:36px;height:36px;display:inline-grid;position:relative}.heart .partner{margin:-14px 0 0 4px;position:absolute;top:50%;left:50%}.hero-art{position:relative;overflow:hidden}.hero-art .parallax{will-change:transform}.hero-art .cover{aspect-ratio:1;width:100%}.float-back{z-index:30;top:calc(var(--safe-top) + 10px);position:fixed;left:max(12px,50vw - 268px)}.over-panel{z-index:2;margin:-72px 16px 0;padding:18px;position:relative}.readouts{gap:22px;margin-top:14px;display:flex}.actions{gap:10px;margin-top:16px;display:flex}.actions .pill{flex:1}.card{background:var(--raised);border:1px solid var(--line);box-shadow:3px 3px 0 var(--shadow);border-radius:6px;margin:24px 16px 0;padding:6px}.card-head{align-items:center;gap:10px;padding:8px 8px 10px;display:flex}.card-head h2{margin:0}.card-icon{width:32px;height:32px;color:var(--ink2);border:1px dashed var(--lineStrong);border-radius:50%;flex:none;place-items:center;display:grid}.badge{border-radius:var(--pill);background:var(--raised);height:26px;color:var(--ink3);white-space:nowrap;align-items:center;padding:0 10px;font-size:12px;display:inline-flex}.card-inset{background:var(--base);border:1px solid var(--line);border-radius:4px;padding:14px}.card-flush{background:var(--base);border:1px solid var(--line);border-radius:4px;padding:12px 0}.card-flush .row-scroll{padding:12px 12px 8px}.note{text-align:left;width:calc(100% - 40px);margin:18px 20px 0;padding:16px 16px 14px;display:block}.note-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.note-text{color:var(--ink);font-size:24px;line-height:27px;display:block}.note-song{cursor:pointer;align-items:center;gap:10px;margin:4px 0 10px;display:flex}.note-song .polaroid{flex:none}.note-song .cover{width:48px;height:48px}.notice{text-align:center;color:var(--ink2);flex-direction:column;align-items:center;gap:12px;padding:48px 32px;display:flex}.toasts{z-index:100;top:calc(var(--safe-top) + 14px);pointer-events:none;flex-direction:column;align-items:center;gap:14px;display:flex;position:fixed;left:0;right:0}.toast{color:var(--ink);align-items:center;gap:8px;padding:10px 16px 10px 10px;animation:.18s ease-out fade-in;display:flex}.tabbar{z-index:40;left:50%;bottom:calc(var(--safe-bottom) + 8px);width:min(100% - 24px,536px);height:var(--tabbar);border-radius:10px;justify-content:space-around;align-items:center;padding:0 8px;display:flex;position:fixed;transform:translate(-50%)}.tabbar a{flex:1;justify-content:center;display:flex}.tabbar .tab{color:var(--ink3);flex-direction:column;align-items:center;gap:2px;padding:6px 8px 2px;font-size:11px;font-weight:800;line-height:14px;display:flex}.tabbar .tab:after{content:"";width:30px;height:6px;margin-top:1px}.tabbar .active .tab{color:var(--ink);background:0 0}.tabbar .active .tab:after{background:var(--accent);-webkit-mask:url(/scribble.svg) 50%/contain no-repeat;mask:url(/scribble.svg) 50%/contain no-repeat}.mini{z-index:39;left:50%;bottom:calc(var(--safe-bottom) + var(--tabbar) + 16px);border-radius:10px;align-items:center;gap:10px;width:min(100% - 24px,536px);padding:6px 6px 8px;display:flex;position:fixed;transform:translate(-50%)}.mini .polaroid{flex:none;display:block}.mini .polaroid>.cover{width:44px;height:44px}.mini .mid{text-align:left;flex:1;min-width:0}.mini .progress{background:var(--line);border-radius:2px;height:2px;position:absolute;bottom:3px;left:12px;right:12px;overflow:hidden}.mini .progress i{background:var(--accent);height:100%;display:block}.player{z-index:60;background:var(--base);color:var(--ink);touch-action:none;transition:--base .9s,--surface .9s,--raised .9s,--line .9s,--lineStrong .9s,--ink .9s,--ink2 .9s,--ink3 .9s,--ink4 .9s,--accent .9s,--onAccent .9s,--tape .9s,--shadow .9s;animation:.28s ease-out both sheet-up;position:fixed;inset:0;overflow:clip}.player:before{content:"";pointer-events:none;background:radial-gradient(ellipse 90% 46% at 50% 30%, color-mix(in srgb, var(--accent) 38%, transparent), transparent);animation:7s ease-in-out infinite alternate paused glow;position:absolute;inset:0}.player[data-playing=true]:before{animation-play-state:running}.player.closing{pointer-events:none;animation:.26s ease-in forwards sheet-down}@keyframes glow{0%{opacity:.55}to{opacity:1}}.player .body{z-index:1;max-width:480px;height:100%;padding:calc(var(--safe-top) + 12px) 24px calc(var(--safe-bottom) + 24px);flex-direction:column;margin:0 auto;display:flex;position:relative}.player .top{align-items:center;gap:10px;margin-bottom:22px;display:flex}.player .art-stack{width:min(100%,max(200px,100dvh - 520px));margin:auto auto 22px;position:relative}.player .art-frame{width:100%;margin:0;padding:8px 8px 12px}.player .art{aspect-ratio:1;width:100%;box-shadow:none;border-radius:2px}.player .meta{align-items:center;gap:8px;display:flex}.player .meta .grow{flex:1;min-width:0}.player .heart{width:44px;height:44px}.player .lyrics-toggle{width:44px;height:44px;color:var(--ink3);place-items:center;transition:color .2s;display:grid}.player .lyrics-toggle[aria-pressed=true]{color:var(--accent)}.player .lyrics-box{aspect-ratio:1;background:var(--base);border-radius:2px;width:100%;overflow:hidden}.scrub{touch-action:none;cursor:pointer;height:28px;margin-top:14px;position:relative}.scrub .wave-svg{width:100%;height:28px;position:absolute;top:0;left:0;overflow:visible}.scrub .wave{fill:none;stroke:var(--accent);stroke-width:4px;stroke-linecap:round;vector-effect:non-scaling-stroke}.scrub .amp{transform-box:fill-box;transform-origin:50%;transition:transform .45s cubic-bezier(.34,1.56,.64,1)}.scrub[data-flat=true] .amp{transform:scaleY(.02)}.scrub .phase{animation:1.2s linear infinite wave-run}.scrub[data-flat=true] .phase{animation-play-state:paused}@keyframes wave-run{to{transform:translate(-24px)}}.scrub .rest{stroke:var(--lineStrong);stroke-width:4px;stroke-linecap:round;opacity:.6}.scrub .knob{background:var(--accent);width:6px;height:24px;box-shadow:0 0 0 3px var(--base);border-radius:3px;margin-left:-3px;transition:transform .16s ease-out;position:absolute;top:2px}.scrub[data-drag=true] .knob{transform:scaleY(1.2)}.times{justify-content:space-between;display:flex}.controls{justify-content:center;align-items:center;gap:22px;margin-top:auto;padding-top:16px;display:flex}.controls .c58{width:58px;height:58px;color:var(--ink);border-radius:50%;place-items:center;display:grid}.controls .c78{background:var(--accent);width:78px;height:78px;color:var(--onAccent);box-shadow:3px 3px 0 var(--shadow);border-radius:22px;place-items:center;transition:border-radius .42s cubic-bezier(.34,1.56,.64,1),transform .12s ease-out;display:grid}.controls .c78[data-playing=false]{border-radius:39px}.controls .c78 svg{animation:.32s cubic-bezier(.34,1.56,.64,1) icon-in}@keyframes icon-in{0%{opacity:0;transform:scale(.5)rotate(-20deg)}to{opacity:1;transform:none}}@keyframes bop{0%,to{transform:translateY(0)rotate(-6deg)}50%{transform:translateY(-4px)rotate(6deg)}}.bop{transform-origin:50% 90%;animation:.86s ease-in-out infinite bop}.duo{align-items:flex-end;display:inline-flex;position:relative}.duo .offbeat{margin-left:-6px;display:grid}.duo .offbeat .bop{animation-delay:-430ms}.duo .float-heart{color:var(--accent);pointer-events:none;margin-left:-6px;animation:2.4s ease-out infinite float-up;display:grid;position:absolute;top:-4px;left:50%}.duo .float-heart.late{animation-delay:1.2s}.art-frame .cover-heart{pointer-events:none;color:#fff;filter:drop-shadow(0 6px 16px #00000059);place-items:center;animation:.9s ease-out both cover-heart;display:grid;position:absolute;inset:0}.art-frame .cover-heart .pair{display:grid;position:absolute;top:50%;left:50%;transform:translate(10px,4px)rotate(14deg)}@keyframes cover-heart{0%{opacity:0;transform:scale(.2)}15%{opacity:1;transform:scale(1.15)}30%{transform:scale(.95)}45%{transform:scale(1)}75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.12)}}.heart .burst{pointer-events:none;position:absolute;inset:0}.heart .burst i{animation:.9s cubic-bezier(.2,.7,.3,1) both burst;display:grid;position:absolute;top:50%;left:50%}@keyframes burst{0%{opacity:1;transform:translate(-50%,-50%)scale(.3)}to{transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1);opacity:0}}.login{min-height:100dvh;padding:calc(var(--safe-top) + 24px) 24px calc(var(--safe-bottom) + 24px);flex-direction:column;justify-content:center;max-width:420px;margin:0 auto;display:flex}.login .pair{color:var(--ink2);justify-content:center;gap:8px;display:flex}.login form{flex-direction:column;gap:12px;margin-top:20px;padding:20px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field input{border:1px solid var(--line);background:var(--base);height:48px;color:var(--ink);border-radius:6px;outline:0;padding:0 16px;font-size:16px}.field input:focus{border-color:var(--lineStrong)}.live-strip{align-items:center;gap:10px;margin:18px 20px 0;padding:8px 10px;display:flex}.live-strip .mid{flex:1;min-width:0}.live-strip .t-label{display:block}.live-strip.compact{margin:12px 0 0;padding:6px 8px}.letter{margin:18px 20px 0;padding:14px 16px;display:block}.letter-head{color:var(--ink2);align-items:center;gap:8px;margin-bottom:8px;display:flex}.letter-text{color:var(--ink);font-size:24px;line-height:27px;display:block}.letter-track{align-items:center;gap:10px;margin:10px 0 12px;display:flex}.letter-track .polaroid{flex:none}.letter-track .cover{width:40px;height:40px}.player-letter{color:var(--ink2);align-items:flex-start;gap:8px;margin-top:10px;display:flex}.player-letter .hand{min-width:0;color:var(--ink);flex:1;font-size:20px;line-height:22px}.player-actions{gap:10px;margin-top:12px;display:flex}.player-actions .pill{flex:1;min-width:0;height:36px;padding:0 12px}.player-actions .pill svg{flex:none}.player-actions .more-pill{flex:none;width:44px;padding:0}.sheet-backdrop{z-index:70;background:color-mix(in srgb, var(--base) 60%, transparent);animation:.18s ease-out fade-in;position:fixed;inset:0}.sheet{z-index:71;max-width:480px;left:12px;right:12px;bottom:calc(var(--safe-bottom) + 12px);flex-direction:column;gap:12px;margin:0 auto;padding:20px 16px 16px;animation:.24s ease-out sheet-up;display:flex;position:fixed}.field textarea{border:1px solid var(--line);background:var(--base);color:var(--ink);resize:none;border-radius:6px;outline:0;padding:12px 14px;font:600 16px/22px Nunito Variable,system-ui,sans-serif}.field textarea:focus{border-color:var(--lineStrong)}.pet{margin:18px 16px 0;padding:16px}.pet-head{align-items:center;gap:10px;display:flex}.pet-figure{color:var(--ink2);cursor:pointer;justify-content:center;gap:4px;margin:14px 0 10px;display:flex;position:relative}.pet-bars{grid-template-columns:auto 1fr 28px;align-items:center;gap:6px 10px;margin-top:12px;display:grid}.bar{border:1.5px solid var(--lineStrong);border-radius:4px;height:8px;overflow:hidden}.bar i{background:var(--accent);height:100%;display:block}.pet-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.pet-actions .pill{min-width:0;height:36px;padding:0 10px}.pet-actions .pill-accent{grid-column:1/-1}.quest{border-top:1.5px dashed var(--line);align-items:center;gap:10px;margin-top:14px;padding-top:12px;display:flex}.quest .t-body{flex:1;min-width:0}.card-like{flex-direction:column;align-items:flex-start;gap:10px;margin:18px 16px 0;padding:14px 16px;display:flex}.hours{align-items:flex-end;gap:2px;height:48px;margin-top:14px;display:flex}.hours i{background:var(--accent);border-radius:2px 2px 0 0;flex:1}.stat-row{align-items:center;gap:10px;padding:6px 20px;display:flex}.stat-row .t-body{flex:1;min-width:0}.us-song{text-align:left;align-items:center;gap:12px;width:calc(100% - 40px);margin:18px 20px 0;padding:12px;display:flex}.letter-row{border-bottom:1px solid var(--line);gap:10px;padding:10px 20px;display:flex}.letter-row[role=button]{cursor:pointer}@keyframes float-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-36px)}}.sheet-action{justify-content:flex-start;height:44px}.picker{flex-direction:column;gap:2px;max-height:38dvh;display:flex;overflow-y:auto}.picker .t-label{padding:4px 0}.picker-row{text-align:left;align-items:center;gap:10px;padding:6px 0;display:flex}.picker-row .thumb{border-radius:var(--r8);flex:none;width:40px;height:40px}.more-btn{width:28px;height:36px;color:var(--ink3);flex:none;place-items:center;margin-left:-6px;display:grid}.quest-do{align-items:center;gap:10px;margin-top:10px;display:flex}.quest-parts{margin-top:8px}.quest-do .pill{height:36px;padding:0 14px}.float-up{color:var(--accent);pointer-events:none;animation:1.2s ease-out both float-up;display:grid;position:absolute;top:10px}.critter-wrap{display:grid;position:relative}.bubble{z-index:20;text-align:center;background:var(--raised);border:1px solid var(--line);width:max-content;min-width:150px;max-width:min(240px,100vw - 32px);box-shadow:3px 3px 0 var(--shadow);pointer-events:none;border-radius:6px;padding:10px 12px;position:absolute;top:calc(100% + 14px);left:-6px}.bubble:after{content:"";border:8px solid #0000;border-bottom-color:var(--raised);border-top:none;position:absolute;bottom:100%;left:18px}.bubble .hand{color:var(--ink);font-size:19px;line-height:22px;display:block}.bubble .hearts{color:var(--accent);justify-content:center;gap:4px;margin-top:4px;display:flex}.bubble .hearts i{animation:1.4s ease-out both bubble-heart;display:grid}.bubble .hearts i:nth-child(2){animation-delay:.15s}.bubble .hearts i:nth-child(3){animation-delay:.3s}@keyframes bubble-heart{0%{opacity:0;transform:translateY(4px)}}.secret-note{position:relative}.secret-note .fold{cursor:pointer;text-align:left;border-radius:4px;padding:8px 12px 10px;animation:.42s cubic-bezier(.34,1.56,.64,1) backwards fold-out;position:absolute;bottom:-8px;left:12px;right:12px;transform:translateY(0)}.secret-note .fold .hand{font-size:20px;line-height:23px}@keyframes fold-out{0%{opacity:0;transform:translateY(26px)rotate(2deg)}}.art-stack .fold{bottom:-14px;left:18px;right:18px}.pin-card{text-align:left;align-items:center;gap:12px;width:calc(100% - 40px);margin:18px 20px 0;padding:12px;display:flex}.pin-card .polaroid{flex:none}.pin-card .cover{width:72px;height:72px}.pin-card .mid{flex:1;min-width:0}.unpin-line{align-items:center;gap:8px;margin:14px 20px 0;display:flex}.unpin-line .grow{flex:1;min-width:0}.date-card{flex-direction:column;align-items:flex-start;gap:6px;width:calc(100% - 40px);margin:18px 20px 0;padding:14px 16px;display:flex}.secret-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:10px 20px;display:flex}.secret-row .polaroid{flex:none;margin-top:2px}.secret-row .cover{width:40px;height:40px}.secret-row .mid{flex:1;min-width:0}.secret-row .icon-btn{width:30px;height:30px;color:var(--ink3);flex:none}.fireworks{z-index:90;pointer-events:none;position:fixed;inset:0}.fireworks i{opacity:0;animation:1.2s cubic-bezier(.2,.7,.3,1) both firework;display:grid;position:absolute;top:0;left:0}@keyframes firework{0%{opacity:1;transform:translate(0)scale(.4)}70%{opacity:1}to{transform:translate(var(--dx), var(--dy)) scale(1) rotate(var(--rot));opacity:0}}.confetti{z-index:90;pointer-events:none;position:fixed;inset:0}.confetti i{opacity:0;border-radius:2px;width:9px;height:13px;animation:1.3s cubic-bezier(.2,.7,.3,1) both firework;position:absolute;top:0;left:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.press:active{transform:none}.art-frame .cover-heart,.heart .burst,.duo .float-heart,.duo .float-note,.fireworks,.confetti{display:none}}@keyframes screen-in{0%{opacity:0;transform:translateY(14px)}}.screen-in{animation:.34s cubic-bezier(.34,1.56,.64,1) backwards screen-in}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.stagger>*{animation:.32s ease-out backwards rise}.stagger>:nth-child(2){animation-delay:30ms}.stagger>:nth-child(3){animation-delay:60ms}.stagger>:nth-child(4){animation-delay:90ms}.stagger>:nth-child(5){animation-delay:.12s}.stagger>:nth-child(6){animation-delay:.15s}.stagger>:nth-child(7){animation-delay:.18s}.stagger>:nth-child(8){animation-delay:.21s}.stagger>:nth-child(9){animation-delay:.24s}.stagger>:nth-child(10){animation-delay:.27s}.stagger>:nth-child(11){animation-delay:.3s}.stagger>:nth-child(12){animation-delay:.33s}.stagger>:nth-child(n+13){animation-delay:.36s}@media (hover:hover){.polaroid.tilt,.mix-card,.genre-tile,.polaroid.tilt.taped:before,.mix-card.taped:before{transition:transform .26s cubic-bezier(.34,1.56,.64,1)}.polaroid.tilt:hover:not(:active),.mix-card:hover:not(:active),.genre-tile:hover:not(:active){transform:rotate(calc(var(--tilt,0deg) - 1.5deg)) translateY(-3px)}.polaroid.tilt.taped:hover:not(:active):before,.mix-card.taped:hover:not(:active):before{transform:rotate(-7deg)translateY(-2px)}}@keyframes tab-bounce{0%{transform:translateY(0)}35%{transform:translateY(-6px)scale(1.15)}70%{transform:translateY(2px)scale(.95)}to{transform:translateY(0)}}.tabbar .active .tab>svg{animation:.42s cubic-bezier(.34,1.56,.64,1) tab-bounce}@keyframes scribble-in{0%{transform:scaleX(0)}}.tabbar .active .tab:after{transform-origin:50%;animation:.3s ease-out backwards scribble-in}@keyframes mini-up{0%{opacity:0;transform:translate(-50%)translateY(24px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.mini{animation:.3s cubic-bezier(.34,1.56,.64,1) backwards mini-up}@keyframes cover-flip{0%{transform:rotateY(90deg)}}.mini .cover-flip{animation:.36s cubic-bezier(.34,1.56,.64,1) backwards cover-flip}@keyframes current-breathe{0%,to{background-color:color-mix(in srgb, var(--accent) 10%, transparent)}50%{background-color:#0000}}.track-row.current[data-playing=true]{animation:2.4s ease-in-out infinite current-breathe}.motes.app-motes{z-index:-1;opacity:.6;position:fixed;inset:0}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{background-image:linear-gradient(100deg, transparent 30%, var(--raised) 50%, transparent 70%);background-size:200% 100%;animation:1.4s linear infinite shimmer}.skeleton-title{background-color:var(--surface);border-radius:4px;width:40%;height:34px;margin:8px 0 22px}.skeleton-row{align-items:center;gap:12px;padding:8px 0;display:flex}.skeleton-thumb{background-color:var(--surface);border-radius:4px;flex:none;width:44px;height:44px}.skeleton-line{background-color:var(--surface);border-radius:3px;flex:1;height:12px}.skeleton-line.short{flex:none;width:45%}@keyframes letter-open{0%{opacity:0;transform:rotate(var(--tilt,0deg)) translateY(12px)}}.letter-open{perspective:500px;animation:.45s cubic-bezier(.34,1.56,.64,1) backwards letter-open}@keyframes flap-open{0%{opacity:1;transform:rotateX(0)}55%{opacity:1}to{opacity:0;transform:rotateX(-170deg)}}.letter-flap{z-index:1;background:var(--raised);border:1px solid var(--line);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;pointer-events:none;border-top:0;border-radius:0 0 4px 4px;width:120px;height:34px;margin-left:-60px;animation:.45s ease-out .12s forwards flap-open;position:absolute;top:-1px;left:50%}@keyframes sheet-fly{to{opacity:0;transform:translate(42vw,-55vh)rotate(14deg)}}.sheet.sheet-fly{pointer-events:none;animation:.6s cubic-bezier(.5,0,.8,.4) forwards sheet-fly}@keyframes sheet-fly-down{to{opacity:.5;transform:translateY(110%)}}.sheet.sheet-fly-down{pointer-events:none;animation:.18s ease-in forwards sheet-fly-down}@keyframes bar-grow{0%{transform:scaleY(0)}}.hours i{transform-origin:bottom;animation:.38s cubic-bezier(.34,1.56,.64,1) backwards bar-grow}@keyframes note-peel{to{opacity:0;transform:rotate(calc(var(--tilt,0deg) - 12deg)) translate(36px, -28px)}}.note-peel{pointer-events:none;animation:.28s ease-in forwards note-peel}@keyframes note-drop{0%{opacity:0;transform:rotate(calc(var(--tilt,0deg) + 2.5deg)) translateY(-16px)}}.note-drop{animation:.32s cubic-bezier(.34,1.56,.64,1) backwards note-drop}@keyframes pet-hop{0%{transform:translateY(0)}35%{transform:translateY(-10px)scale(1.04)}70%{transform:translateY(2px)}to{transform:translateY(0)}}.pet-hop-wrap{place-items:center;animation:.8s cubic-bezier(.34,1.56,.64,1) pet-hop;display:grid;position:relative}.pet-burst{pointer-events:none;position:absolute;inset:0}.pet-burst i{color:var(--accent);animation:.8s cubic-bezier(.2,.7,.3,1) both burst;display:grid;position:absolute;top:50%;left:50%}@keyframes toast-drop{0%{opacity:0;transform:translateY(-16px)rotate(6deg)}45%{opacity:1;transform:translateY(2px)rotate(-3deg)}75%{transform:translateY(-1px)rotate(1deg)}to{opacity:1;transform:translateY(0)rotate(0)}}.toast{transform-origin:top;animation:.56s cubic-bezier(.3,.7,.4,1.15) backwards toast-drop}@keyframes toast-leave{to{opacity:0;transform:translateY(-10px)}}.toast.leave{animation:.2s ease-in forwards toast-leave}@keyframes sheet-snap{0%{transform:translateY(var(--dy,0px))}}.sheet.sheet-snap{animation:.24s cubic-bezier(.34,1.56,.64,1) sheet-snap}.sheet.sheet-dragging{animation:none}@keyframes sheet-pop{0%{transform:translateY(100%)}72%{transform:translateY(-8px)}to{transform:translateY(0)}}.sheet{animation:.32s cubic-bezier(.3,.7,.4,1.1) sheet-pop}.sheet-grip{touch-action:none;cursor:grab;flex:none;align-self:center;place-items:center;width:44px;height:20px;margin:-8px 0 -10px;display:grid}.sheet-grip:before{content:"";background:var(--lineStrong);border-radius:2px;width:36px;height:4px}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.empty-critter{animation:3s ease-in-out infinite breathe;display:grid;position:relative}@keyframes zzz-float{0%{opacity:0;transform:translate(0)rotate(-8deg)}20%{opacity:.9}to{opacity:0;transform:translate(12px,-28px)rotate(12deg)}}.zzz{color:var(--ink3);pointer-events:none;font-family:Caveat Variable,cursive;font-weight:700;animation:2.7s ease-in-out infinite zzz-float;position:absolute;top:10px;right:4px}@keyframes bubble-pop{0%{opacity:0;transform:translateY(-6px)scale(.9)}}.bubble{animation:.26s cubic-bezier(.34,1.56,.64,1) backwards bubble-pop}.secret-note .fold{animation:.42s cubic-bezier(.34,1.56,.64,1) backwards fold-out}.search-box:after{content:"";background:var(--accent);transform-origin:0;border-radius:2px;height:2px;transition:transform .26s ease-out;position:absolute;bottom:-3px;left:10px;right:10px;transform:scaleX(0)}.search-box:focus-within:after{transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.letter-flap,.pet-burst{display:none}}.player .backdrop{z-index:0;object-fit:cover;filter:blur(48px)saturate(1.3);opacity:.25;pointer-events:none;width:120%;height:120%;animation:.9s ease-out backwards backdrop-in;position:absolute;inset:-10%}@keyframes backdrop-in{0%{opacity:0}}.player:after{content:"";z-index:0;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px;position:absolute;inset:0}.motes{pointer-events:none;position:absolute;inset:0;overflow:hidden}.motes i{background:var(--accent);border-radius:50%;animation:12s linear infinite paused mote;display:block;position:absolute;bottom:-8px}.motes[data-playing=true] i{animation-play-state:running}@keyframes mote{0%{opacity:0;transform:translate(0)}12%{opacity:.5}88%{opacity:.35}to{transform:translate(var(--drift,0), calc(-100dvh - 16px));opacity:0}}.player .vinyl{aspect-ratio:1;pointer-events:none;width:92%;box-shadow:3px 3px 0 var(--shadow);border-radius:50%;position:absolute;top:50%;left:82%;transform:translateY(-50%)}.player .vinyl:before{content:"";background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--accent) 80%, #000) 0 9%, transparent 9.5%), repeating-radial-gradient(circle at 50% 50%, #14100e 0 2px, #1d1815 2px 4px), conic-gradient(from 40deg, #ffffff14, transparent 25%, #ffffff0d 45%, transparent 65%, #ffffff17 85%, transparent);border-radius:50%;animation:1.8s linear infinite paused spin;position:absolute;inset:0}.player .vinyl:after{content:"";aspect-ratio:1;background:var(--base);border-radius:50%;width:2.5%;position:absolute;top:47%;left:53%;transform:translate(-50%,-50%)}.player[data-playing=true] .vinyl:before{animation-play-state:running}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.motes{display:none}}.player .next-polaroid{opacity:.8;pointer-events:none;position:absolute;inset:0;transform:rotate(6deg)translate(-3%,3%)}.player .next-polaroid .cover{aspect-ratio:1;width:100%}.player .duo .float-note{color:var(--accent);pointer-events:none;margin-left:-6px;animation:2.4s ease-out infinite float-up;display:grid;position:absolute;top:-4px;left:50%}.player .duo .float-note.late{animation-delay:1.2s}.polaroid-caption{white-space:nowrap;text-overflow:ellipsis;color:var(--ink3);font-size:18px;line-height:22px;overflow:hidden;transform:rotate(-1deg)}.lyrics{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;height:100%;min-height:0;position:relative;overflow-y:auto}.lyrics::-webkit-scrollbar{display:none}.lyrics.body{padding:0 8px}.lyrics.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.lyrics-inner{flex-direction:column;padding:45% 4px;display:flex}.lyrics-inner.plain{padding:12px 4px 24px}.lyrics-line{flex-direction:column;display:flex}.line{text-align:left;width:100%;color:var(--ink4);border-radius:var(--r8);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;padding:10px 8px;font:600 20px/26px Nunito Variable,system-ui,sans-serif;transition:color .26s ease-out,font-size .26s ease-out;display:block}.line.past{color:var(--ink3)}.line.next{color:var(--ink4)}.line.now{color:var(--ink);font-size:25px;font-weight:800;line-height:32px}.line.plain{color:var(--ink2);white-space:pre-wrap;font-size:17px;line-height:24px}.line .rest{color:var(--ink4)}.line[aria-pressed=true],.line.picked{background:var(--raised);color:var(--ink2)}.ask{border-radius:var(--r8);border:1px dashed var(--line);align-items:center;gap:8px;margin:2px 8px 10px;padding:8px 10px;display:flex}.ask .ask-text{min-width:0;color:var(--ink2);flex:1;font-size:19px;line-height:22px}.ask .pill{flex:none;height:34px;padding:0 14px}@media (prefers-reduced-motion:reduce){.line{transition:none}}html[data-song]{transition:--base .9s,--surface .9s,--raised .9s,--line .9s,--lineStrong .9s,--ink .9s,--ink2 .9s,--ink3 .9s,--ink4 .9s,--accent .9s,--onAccent .9s,--tape .9s,--shadow .9s}
