:root{--bg:#0b0c0f;--panel:#ffffff09;--border:#ffffff14;--border-strong:#ffffff24;--text:#ffffffeb;--muted:#ffffffa8;--muted2:#ffffff75;--shadow:0 10px 40px #00000073;--cta-hover:#125a3a57;--cta-border:#1e8c5c8c;--night-red:#d8a85f;--row-gap:5px;--pill-h:40px;--pill-pad-x:20px;--link:#ffffff8c;--link-hover:#ffffffc7}@media (prefers-color-scheme:light){:root{--bg:#f3efe8;--panel:#00000005;--border:#00000014;--border-strong:#00000026;--text:#0b0c0f;--muted:#0000009e;--muted2:#00000073;--shadow:0 10px 30px #00000014;--cta-hover:#126e4633;--cta-border:#126e468c;--link:#0000008c;--link-hover:#000000c7}}*{box-sizing:border-box}html,body{height:100%;color:var(--text);-moz-text-size-adjust:100%;text-size-adjust:100%;font-optical-sizing:auto;letter-spacing:.01em;overscroll-behavior:none;-webkit-overflow-scrolling:auto;touch-action:manipulation;background-color:var(--bg);background-image:none;margin:0;font-family:Quicksand,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden}a{color:var(--link);text-decoration:none}a:focus-visible{color:var(--link-hover);text-underline-offset:2px;text-decoration:underline}@media (hover:hover) and (pointer:fine){a:hover{color:var(--link-hover);text-underline-offset:2px;text-decoration:underline}}#birdsBg{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}#birdsBg:before{content:"";z-index:0;opacity:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='24' viewBox='0 0 42 24'%3E%3Cpath fill='%23d7dbe0' d='M2 13c6-10 14-10 20 0c6-10 14-10 20 0c-7 9-13 9-20 0c-7 9-13 9-20 0z'/%3E%3C/svg%3E");background-repeat:repeat;background-size:260px 160px;animation:none;position:absolute;inset:-30%;transform:rotate(-8deg)}#birdsBg.isBurst:before{opacity:.14;animation-duration:18s}@keyframes birdsDrift{0%{background-position:0 0}to{background-position:720px 380px}}@media (prefers-color-scheme:light){#birdsBg:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='24' viewBox='0 0 42 24'%3E%3Cpath fill='%232b3036' d='M2 13c6-10 14-10 20 0c6-10 14-10 20 0c-7 9-13 9-20 0c-7 9-13 9-20 0z'/%3E%3C/svg%3E")}}#birdsBg .vanta-canvas{z-index:1!important}body.hasBirdsBackground #birdsBg{opacity:.74}body.hasBirdsBackground #birdsBg:before{opacity:0}body[data-birds-bg=init] #birdsBg:before{opacity:.08;animation:42s linear infinite birdsDrift}body[data-birds-bg=fail] #birdsBg:before{opacity:.12;animation:42s linear infinite birdsDrift}body.hasBirdsBackground #birdsBg .vanta-canvas{opacity:.98;filter:saturate(102%)contrast(108%)}@media (prefers-color-scheme:light){body.hasBirdsBackground #birdsBg{opacity:.78}body.hasBirdsBackground #birdsBg .vanta-canvas{filter:saturate(105%)contrast(118%)}}.container{--cart-clearance:0px;z-index:1;max-width:980px;padding:24px 16px calc(90px + env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;height:100vh;min-height:100svh;margin:0 auto;position:relative;overflow-y:auto}.container.scrollbarAutoHide{scrollbar-width:none}.container.scrollbarAutoHide::-webkit-scrollbar{width:0;height:0}.container.scrollbarAutoHide.scrollbarActive{scrollbar-width:thin}.container.scrollbarAutoHide.scrollbarActive::-webkit-scrollbar{width:10px;height:10px}.container.scrollbarAutoHide::-webkit-scrollbar-track{background:0 0}.container.scrollbarAutoHide::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--border-strong) 88%, transparent);border-radius:999px}html.scrollbarAutoHidePage{scrollbar-width:none}html.scrollbarAutoHidePage::-webkit-scrollbar{width:0;height:0}html.scrollbarAutoHidePage.scrollbarPageActive{scrollbar-width:thin}html.scrollbarAutoHidePage.scrollbarPageActive::-webkit-scrollbar{width:10px;height:10px}html.scrollbarAutoHidePage::-webkit-scrollbar-track{background:0 0}html.scrollbarAutoHidePage::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--border-strong) 88%, transparent);border-radius:999px}.container.hasFloatingCart{padding-bottom:calc(90px + env(safe-area-inset-bottom) + var(--cart-clearance))}.hr{background:var(--border);height:1px;margin:16px 0 18px}h2{letter-spacing:.02em;color:var(--text);margin:14px 0 8px;font-size:13px;font-weight:650}.header{margin:6px 0 14px;display:block}.brand h1{white-space:nowrap;text-overflow:ellipsis;margin:0;padding-bottom:2px;font-size:26px;font-weight:650;overflow:hidden}.brandRow{justify-content:space-between;align-items:center;gap:10px;margin-top:2px;display:flex}.brandRow .subtitle{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:3px 1px 1px;overflow:hidden}.brandActions{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}#userPill{flex-shrink:0;order:1}.brandActions #lang-toggle{order:2}.subtitle{letter-spacing:.02em;color:var(--muted);opacity:1;margin:3px 1px 1px;font-size:.9rem;transition:opacity .6s}.subtitle.is-fading{opacity:0}.btn{appearance:none;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;padding:10px 14px;font-size:12px;font-weight:650;transition:transform .12s,border-color .14s,background .14s}.btn:focus-visible{border-color:var(--border-strong);transform:translateY(-1px)}.btn:active{transform:translateY(0)scale(.99)}.btnPrimary:focus-visible{background:var(--cta-hover);border-color:var(--cta-border)}@media (hover:hover) and (pointer:fine){.btn:hover{border-color:var(--border-strong);transform:translateY(-1px)}.btnPrimary:hover{background:var(--cta-hover);border-color:var(--cta-border)}}.userBubble.isSignedIn{cursor:pointer;opacity:.92}.userBubble.isPending{cursor:wait;pointer-events:none;opacity:.95}.userBubble.isPending:after{content:"";border:2px solid var(--border-strong);border-top-color:var(--cta-border);vertical-align:-1px;border-radius:999px;width:10px;height:10px;margin-left:8px;animation:.78s linear infinite userPillSpin;display:inline-block}@keyframes userPillSpin{to{transform:rotate(360deg)}}.langTogglePill{letter-spacing:.08em;opacity:.88;background:color-mix(in srgb, var(--panel) 82%, transparent);border-radius:999px;min-width:40px;min-height:32px;padding:8px 10px;font-size:10px;font-weight:700;line-height:1}.langTogglePill:focus-visible{opacity:1}@media (hover:hover) and (pointer:fine){.langTogglePill:hover{opacity:1}}.langToggleInline{position:relative}.langToggleNav{margin-right:8px}.langToggleFloating{top:max(10px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));z-index:1300;position:fixed}.publicTopBar{justify-content:flex-end;width:100%;margin-bottom:10px;display:flex}.langMount{align-items:center;display:inline-flex}.playlistList,#playlistGrid{gap:var(--row-gap);flex-direction:column;display:flex}.playlistPill{width:100%;height:var(--pill-h);padding:0 var(--pill-pad-x);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:linear-gradient(#ffffff0a,#ffffff04);border-radius:999px;justify-content:space-between;align-items:center;gap:16px;transition:background .14s,border-color .14s,transform .12s,box-shadow .14s;display:flex;box-shadow:0 2px 10px #0000000a}.playlistPill:focus-visible{background:var(--cta-hover);border-color:var(--cta-border);transform:translateY(-1px);box-shadow:0 6px 18px #0000002e}@media (hover:hover) and (pointer:fine){.playlistPill:hover{background:var(--cta-hover);border-color:var(--cta-border);transform:translateY(-1px);box-shadow:0 6px 18px #0000002e}}.playlistPill:active{transform:translateY(0)scale(.99)}.playlistPillTitle{letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;margin:0;padding-bottom:2px;font-size:14px;font-weight:500;line-height:1.25;overflow:hidden}.pillRight{flex-shrink:0;align-items:center;gap:13px;display:flex}.buyHint{color:#c9a45c;letter-spacing:.06em;text-transform:uppercase;font-size:16px;font-weight:500}.iconBubble{border:1px solid var(--border);background:#ffffff0f;border-radius:999px;place-items:center;width:34px;height:34px;display:grid}.iconBubble svg{opacity:.92;width:18px;height:18px}.iconBubble i{opacity:.92;font-size:18px;line-height:1}.playlistPill.hasAccess .iconBubble{border-color:var(--cta-border);box-shadow:inset 0 0 0 1px #126e462e}.playlistPill.inCart{border-color:var(--cta-border);background:color-mix(in srgb, var(--cta-hover) 70%, transparent)}.cartBar{left:50%;bottom:max(14px, calc(env(safe-area-inset-bottom) + 34px));border:1px solid var(--border-strong);background:var(--bg);z-index:980;-webkit-backdrop-filter:none;overflow-anchor:none;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;width:min(948px,100vw - 32px);padding:11px 13px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 14px 28px #00000047}.cartBar.isPulsing{animation:.36s cartPulse}@keyframes cartPulse{0%{border-color:var(--border-strong);transform:translate(-50%)scale(1)}50%{border-color:var(--cta-border);transform:translate(-50%)scale(1.01)}to{border-color:var(--border-strong);transform:translate(-50%)scale(1)}}.cartSummary{color:var(--text);font-size:14px;font-weight:700}.cartActions{gap:8px;display:flex}@media (prefers-color-scheme:light){.cartBar{background:#fff;border-color:#00000024;box-shadow:0 10px 24px #0000001f}}.small{color:var(--muted);font-size:12px}.muted{color:var(--muted2)}#admin-notice{margin:6px 0 12px}.noticeInfo{color:var(--muted)}.noticeSuccess{color:#6ad49d}.noticeError{color:#f08a96}.login-container{max-width:460px;margin:8svh auto 0;padding:16px}#login-form #email-input,#admin-login-form #admin-email{font-size:16px}.playlist-card{border:1px solid var(--border);background:var(--panel);border-radius:14px;margin-bottom:8px;padding:12px}.adminPage{max-width:1100px;font-size:16px;line-height:1.35}body.adminBody{overscroll-behavior:auto;-webkit-overflow-scrolling:touch;overflow:hidden auto}body.adminBody .container{height:auto;min-height:auto;max-height:none;overflow:visible}body.legalPage{overscroll-behavior:auto;-webkit-overflow-scrolling:touch;overflow:hidden auto}@supports (height:100dvh){.container{height:100dvh;min-height:100dvh}}.adminPage h1{letter-spacing:.01em;margin-top:4px;font-size:48px;font-weight:700}.adminPage h2{margin-top:18px;font-size:22px}.adminPage form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.adminPage input{border:1px solid var(--border);min-height:44px;color:var(--text);background:#ffffff0f;border-radius:10px;padding:0 10px;font-size:16px}.adminPage #pl-title{min-width:220px}.adminPage #pl-url{flex:1;min-width:360px}.adminTableWrap{width:100%;overflow-x:auto}.adminTable{border-collapse:collapse;width:100%}.adminAnalyticsTable{margin-bottom:10px}.adminTable th,.adminTable td{vertical-align:middle;border:1px solid var(--border-strong);padding:8px}.createdCell{opacity:.75;white-space:nowrap;font-size:12px}.adminMuted{opacity:.6}.adminToggleWrap{align-items:center;gap:8px;display:inline-flex}.adminInlineInput{border:1px solid var(--border);min-height:34px;color:var(--text);background:#ffffff0a;border-radius:8px;padding:0 8px;font-size:15px}.adminInlineTitle{width:100%;min-width:220px}.adminPriceWrap{align-items:center;gap:6px;display:inline-flex}.adminInlinePrice{width:80px}.adminRowActions{flex-wrap:nowrap;align-items:center;gap:6px;display:inline-flex}.adminMoveBtn,.adminSaveBtn,.adminResetBtn{border:1px solid var(--border);background:var(--panel);min-height:32px;color:var(--text);cursor:pointer;border-radius:8px;padding:0 10px;font-size:13px}.adminMoveBtn{place-items:center;min-width:32px;padding:0;font-size:16px;font-weight:700;line-height:1;display:inline-grid}.adminMoveBtn:hover:not(:disabled),.adminSaveBtn:hover:not(:disabled),.adminResetBtn:hover:not(:disabled){border-color:var(--border-strong)}.adminMoveBtn:disabled,.adminSaveBtn:disabled,.adminResetBtn:disabled{opacity:.45;cursor:default}.isHidden{display:none!important}.hpTrap{opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;position:absolute!important;top:auto!important;left:-10000px!important;overflow:hidden!important}.legalFooter{z-index:900;text-align:right;border-top:1px solid var(--border);letter-spacing:.02em;width:100%;color:var(--muted2);background:color-mix(in srgb, var(--bg) 90%, transparent);backdrop-filter:none;padding:5px 25px 10px;font-size:10px;line-height:1;position:fixed;bottom:0;left:0;right:0}.legalFooterNav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 12px;display:inline-flex}.legalFooterNav a,.legalFooterNav span{white-space:nowrap}.legalPage{font-family:"Source Serif 4",Georgia,serif}.legalWrap{max-width:860px;padding-top:28px;padding-bottom:48px;line-height:1.55}.legalWrap h1{letter-spacing:.01em;margin:0 0 10px;font-size:34px}.legalWrap h2{margin-top:26px;margin-bottom:8px;font-size:19px;font-weight:700}.legalWrap p{color:var(--text);margin:10px 0;font-size:16px}.legalWrap ul{margin:8px 0 0 20px}.legalWrap li{margin:7px 0;font-size:16px}.legalMeta{color:var(--muted);font-size:13px}@media (prefers-color-scheme:dark){.playlistPill.needsAccess .buyHint{-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#c9a45c 0%,#f3d38b 50%,#c9a45c 100%) 0%/200% 100%;-webkit-background-clip:text;transition:background-position 1.3s;position:relative}.playlistPill.needsAccess .iconBubble{box-shadow:inset 0 0 0 1px #c9a45c38}}@media (prefers-color-scheme:dark) and (hover:hover) and (pointer:fine){.playlistPill.needsAccess:hover .buyHint{background-position:100%}}@media (prefers-reduced-motion:reduce){.btn,.playlistPill{transition:none!important}.userBubble.isPending:after{animation:none}}@media (width<=560px){body.hasBirdsBackground #birdsBg{opacity:.7}body.hasBirdsBackground #birdsBg .vanta-canvas{filter:saturate(112%)}.brandRow{flex-wrap:wrap;align-items:flex-start;gap:8px}.brandRow .subtitle{flex:100%;order:1;margin-top:0}.brandActions{order:2;margin-left:auto}.cartBar{gap:8px;width:calc(100vw - 20px);padding:9px 10px}.cartSummary{font-size:13px}.cartActions .btn{padding:8px 12px}}@media (width<=420px){.brand h1{font-size:24px}.langTogglePill{min-width:36px;min-height:30px;padding:7px 9px;font-size:10px}#userPill{padding:9px 12px}}.toast{z-index:1000;text-align:center;border:1px solid var(--border-strong);min-width:260px;max-width:min(560px,100vw - 28px);color:var(--text);backdrop-filter:blur(10px);opacity:0;pointer-events:none;letter-spacing:.01em;background:#141418e0;border-radius:14px;padding:12px 14px;font-size:14px;font-weight:650;line-height:1.25;transition:opacity .18s,transform .18s;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 12px 34px #00000059}@media (prefers-color-scheme:light){.toast{color:#0b0c0f;background:#ffffffeb;border:1px solid #00000024;box-shadow:0 12px 30px #0000001f}}.toast.isVisible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(-8px)}.toast.isSuccess{border-color:var(--cta-border)}.toast.isError{border-color:#dc505a8c}@supports (padding:max(0px)){.toast{bottom:max(22px, env(safe-area-inset-bottom))}}body.modalOpen{overflow:hidden}.modalOverlay{z-index:1200;backdrop-filter:blur(6px);background:#00000094;place-items:center;padding:18px;display:grid;position:fixed;inset:0}@media (prefers-color-scheme:light){.modalOverlay{background:#00000061}}.modalSheet{border:1px solid var(--border-strong);width:min(520px,100%);box-shadow:var(--shadow);background:#ffffff0f;border-radius:18px;overflow:hidden}@media (prefers-color-scheme:light){.modalSheet{background:#ffffffeb;border:1px solid #0000001f}}.modalHeader{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.modalTitle{letter-spacing:.02em;font-size:14px;font-weight:750}.modalClose{border:1px solid var(--border);background:var(--panel);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:12px;place-items:center;font-size:20px;line-height:1;display:grid}.modalClose:hover,.modalClose:focus-visible{border-color:var(--border-strong);transform:translateY(-1px)}.modalBody{padding:16px}.modalHelp{color:var(--muted);margin:0 0 12px;font-size:13px;line-height:1.35}.modalLabel{color:var(--muted);letter-spacing:.02em;margin:10px 0 6px;font-size:12px;font-weight:700;display:block}.modalInput{border:1px solid var(--border);width:100%;height:42px;color:var(--text);letter-spacing:.01em;background:#ffffff0f;border-radius:14px;outline:none;padding:0 12px;font-size:16px}@media (prefers-color-scheme:light){.modalInput{background:#00000008}}.modalInput:focus{border-color:var(--cta-border);box-shadow:0 0 0 3px #126e4624}.modalActions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.modalActions .btn{padding:10px 14px}.modalFineprint{color:var(--muted2);margin:12px 0 10px;font-size:12px;line-height:1.35}