@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.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}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.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{--purple:#8b7cf6;--purple-strong:#6c63ff;--pink:#ff83b0;--pink-strong:#ff6fa0;--teal:#4fe0ce;--teal-strong:#4fd8c8;--bg-dark-1:#1b1140;--bg-dark-2:#2e1a5e;--ink:#fbfaff;--ink-soft:#f5f3ffb3;--eyebrow-color:#c8bfff;--glass-bg:#ffffff1a;--glass-border:#ffffff47;--glass-blur:blur(18px);--glass-shadow:0 20px 60px #140a3c59;--radius-lg:28px;--radius-sm:14px;--ripple-color:#7ff0de8c;--focus-ring:#c7bfff;--font-body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Space Grotesk", var(--font-body);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-in-soft:cubic-bezier(.55, 0, .75, .3);--ease-spring:linear(0, .043, .148, .284, .429, .567, .691, .796, .879, .942, .988, 1.018, 1.035, 1.044, 1.046, 1.044, 1.038, 1.032, 1.025, 1.019, 1.014, 1.009, 1.005, 1.002, 1, .999, .998, .998, 1);--ease-pop:linear(0, .144, .465, .815, 1.089, 1.24, 1.274, 1.221, 1.129, 1.035, .965, .93, .926, .943, .97, .995, 1.012, 1.02, 1.02, 1.014, 1.007, 1, .996, .994, .995, .996, .998, 1, 1);--dur-fast:.16s;--dur-med:.32s;--dur-slow:.64s}*{box-sizing:border-box}html{background-color:var(--bg-dark-1);overscroll-behavior:none}body{overscroll-behavior:none;min-width:320px;min-height:100vh;color:var(--ink);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;background:linear-gradient(135deg, var(--bg-dark-1) 0%, var(--bg-dark-2) 50%, var(--bg-dark-1) 100%);background-attachment:fixed;margin:0;overflow-x:hidden}.background-scene{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.background-scene:after{content:"";opacity:.06;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='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.bg-wash{background:radial-gradient(32% 28% at 30% 32%,#8b7cf638,#0000 70%),radial-gradient(28% 32% at 70% 66%,#ff83b029,#0000 70%),radial-gradient(22% 22% at 64% 28%,#4fe0ce1f,#0000 70%);width:150vmax;height:150vmax;margin:-75vmax 0 0 -75vmax;position:absolute;top:50%;left:50%}@property --blob-color{syntax:"<color>";inherits:false;initial-value:#0000}.blob{background:radial-gradient(closest-side, var(--blob-color), transparent);background:radial-gradient(closest-side, var(--blob-color), color-mix(in oklab, var(--blob-color) 40%, transparent) 55%, transparent);opacity:.75;will-change:transform;border-radius:50%;transition:--blob-color 1.8s;position:absolute}.blob-1{--blob-color:color-mix(in oklab, var(--purple) 45%, var(--mood,var(--purple)));width:62vmax;height:52vmax;top:-22vmax;left:-16vmax}.blob-2{--blob-color:color-mix(in oklab, var(--pink) 45%, var(--mood,var(--pink)));width:58vmax;height:52vmax;bottom:-24vmax;right:-18vmax}.blob-3{--blob-color:color-mix(in oklab, var(--teal) 35%, var(--mood,var(--teal)));width:42vmax;height:38vmax;top:28%;right:-6vmax}.blob-4{--blob-color:color-mix(in oklab, var(--purple-strong) 50%, var(--mood,var(--purple-strong)));width:46vmax;height:40vmax;bottom:-12vmax;left:8%}.blob-5{--blob-color:color-mix(in oklab, var(--eyebrow-color) 50%, var(--mood,var(--eyebrow-color)));opacity:.5;width:36vmax;height:32vmax;top:-14vmax;right:16%}.bg-beam{background:linear-gradient(90deg,#0000,#ffffff0a 40%,#ffffff14 50%,#ffffff0a 60%,#0000);width:36vmax;height:200%;position:absolute;top:-50%;left:0;translate:-70vmax;rotate:18deg}.bg-particle{bottom:-12px;left:var(--x);width:var(--size);height:var(--size);opacity:0;background:#ffffffd9;border-radius:50%;position:absolute;box-shadow:0 0 8px 1px #c8beffb3}button,a{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}h1,h2,h3,p{margin-top:0}.page{z-index:1;min-height:100dvh;position:relative}.glass-panel{background:var(--glass-bg);border:1px solid var(--glass-border);width:100%;-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg);padding:clamp(28px,5vw,48px)}.eyebrow{color:var(--eyebrow-color);letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px;font-size:.75rem;font-weight:800}h1{color:var(--ink);font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:16px;font-size:clamp(1.8rem,4.4vw,2.6rem);font-weight:700;line-height:1.1}.hero-summary{max-width:46ch;color:var(--ink-soft);margin:0 0 24px;font-size:1rem;line-height:1.65}.button{cursor:pointer;border-radius:999px;padding:14px 26px;font-weight:650}.button-primary{background:linear-gradient(90deg, var(--purple), var(--pink), var(--purple));color:var(--bg-dark-1);background-size:200% 100%;border:none;padding:14px 28px}.button-primary:hover:not(:disabled){filter:brightness(1.08);background-position:100% 0;translate:0 -2px;box-shadow:0 12px 32px #ff6fa059}.button-secondary{border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);background:#ffffff14}.button-secondary:hover:not(:disabled){background:#ffffff29}.button:disabled{color:#f5f3ff66;cursor:not-allowed;filter:none;box-shadow:none;background:#ffffff0f;border-color:#ffffff2e;translate:none;scale:none}.link-button{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:700}.status-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);border-radius:var(--radius-sm);color:var(--ink);text-align:left;margin-bottom:18px;padding:16px 18px}.status-card .inline-status-title{margin-bottom:4px;font-weight:750}.status-card p{color:var(--ink-soft);margin-bottom:10px;font-size:.92rem;line-height:1.5}.status-card p:last-child{margin-bottom:0}.status-card-offline{border-left:4px solid var(--teal)}.site-nav{justify-content:space-between;align-items:center;padding:28px clamp(24px,6vw,64px);display:flex}.brand{color:var(--ink);font-family:var(--font-display);letter-spacing:.01em;align-items:center;gap:10px;font-size:1.1rem;font-weight:700;display:flex}.brand-mark{width:34px;height:34px;color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffff59,#ffffff0d);border:1px solid #ffffff59;border-radius:10px;place-items:center;display:grid}.nav-right{align-items:center;gap:28px;display:flex}.nav-cta{border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--ink);cursor:pointer;background:#ffffff1f;border-radius:999px;padding:10px 22px;font-size:.85rem;font-weight:650}.nav-cta:hover{background:#fff3}.nav-account{align-items:center;gap:12px;display:flex}.nav-user{border:1px solid var(--glass-border);max-width:160px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:#ffffff14;border-radius:999px;padding:8px 14px;font-size:.85rem;font-weight:650;overflow:hidden}.nav-user:hover{background:#ffffff29}.nav-link-button{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:650}.nav-link-button:hover:not(:disabled){color:var(--ink)}.nav-link-button:disabled{cursor:not-allowed;opacity:.6}.nav-account-error{color:var(--pink-strong);font-size:.78rem;font-weight:600}.nav-cta,.nav-link-button{white-space:nowrap}@media (width<=560px){.nav-right{gap:12px}}@media (width<=480px){.site-nav{padding-inline:16px}.nav-right{gap:10px}.brand-name{display:none}.nav-user{max-width:110px;padding:6px 12px}.nav-cta{padding:8px 14px}}.nav-steps{color:var(--ink-soft);align-items:center;gap:10px;font-size:.8rem;font-weight:650;display:flex}.nav-steps-label{margin-right:4px}.step-dot{border:1px solid var(--glass-border);width:26px;height:26px;color:var(--ink-soft);background:#ffffff14;border-radius:50%;place-items:center;font-size:.75rem;font-weight:700;display:grid}.step-dot-active{background:linear-gradient(135deg, var(--purple), var(--pink));color:var(--bg-dark-1);border-color:#0000}.step-line{background:var(--glass-border);width:24px;height:1px}.badge-pill{border:1px solid var(--glass-border);color:var(--eyebrow-color);background:#ffffff1a;border-radius:999px;align-items:center;margin:0 0 20px;padding:8px 16px;font-size:.8rem;font-weight:650;display:inline-flex}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,6vw,64px);max-width:1240px;margin-inline:auto;padding:clamp(24px,5vw,56px) clamp(24px,6vw,64px) clamp(64px,9vw,110px);display:grid}.hero-copy{text-align:left;max-width:46ch}.cta-row{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:22px;display:flex}.trust-row{color:var(--ink-soft);flex-wrap:wrap;gap:18px;font-size:.82rem;display:flex}.trust-item{align-items:center;gap:6px;display:flex}.trust-item svg{opacity:.85;flex:none}.hero-visual{place-items:center;display:grid}.how-it-works-card{width:100%}.step-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.step-list li{border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:#ffffff0d;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.step-number{background:linear-gradient(135deg, var(--purple), var(--pink));width:28px;height:28px;color:var(--bg-dark-1);border-radius:50%;flex:none;place-items:center;font-size:.85rem;font-weight:700;display:grid}.step-title{color:var(--ink);margin:0 0 2px;font-size:.92rem;font-weight:650}.step-desc{color:var(--ink-soft);margin:0;font-size:.82rem;line-height:1.4}@media (width<=860px){.hero{text-align:center;grid-template-columns:1fr}.hero-copy{text-align:center;max-width:100%;margin-inline:auto}.hero-copy .hero-summary{margin-inline:auto}.cta-row,.trust-row{justify-content:center}}.capture-layout{grid-template-columns:1.3fr 1fr;align-items:start;gap:32px;max-width:1240px;margin-inline:auto;padding:clamp(16px,4vw,40px) clamp(24px,6vw,64px) clamp(56px,8vw,100px);display:grid}.capture-main{text-align:left}.capture-sidebar{flex-direction:column;gap:20px;display:flex}.side-card{padding:24px}.tip-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.tip-list li{color:var(--ink-soft);padding-left:16px;font-size:.88rem;line-height:1.5;position:relative}.tip-list li:before{content:"•";color:var(--teal);font-weight:700;position:absolute;left:0}.emotion-pill-row{flex-wrap:wrap;gap:8px;display:flex}.emotion-pill{border:1px solid var(--glass-border);color:var(--ink);background:#ffffff14;border-radius:999px;padding:6px 14px;font-size:.8rem;font-weight:600}.camera-frame{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg);margin:20px 0;padding:10px;position:relative;overflow:hidden}.camera-video{aspect-ratio:4/3;object-fit:cover;border-radius:calc(var(--radius-lg) - 10px);background:#00000040;width:100%;display:block;transform:scaleX(-1)}.camera-overlay{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:calc(var(--radius-lg) - 10px);background-color:#1b11408c;place-items:center;transition:background-color .5s;display:grid;position:absolute;inset:0;overflow:hidden}.ripple-core-label{color:#fff;letter-spacing:.04em;text-align:center;font-size:.85rem;font-weight:700}.inline-status-error{align-content:center;justify-items:start;display:grid;position:absolute;inset:20px}.capture-actions{flex-wrap:wrap;gap:14px;display:flex}.capture-actions .button{flex:200px}.dev-skip-button{color:var(--ink-soft);cursor:pointer;background:0 0;border:1px dashed #ffffff59;border-radius:999px;margin-top:14px;padding:8px 16px;font-size:.78rem;font-weight:650}.dev-skip-button:hover{color:var(--ink);border-color:#ffffff8c}@media (width<=900px){.capture-layout{grid-template-columns:1fr}}.ripple-wrap{width:var(--ripple-size,90px);height:var(--ripple-size,90px);margin:0 auto;position:relative}.ripple{border:1px solid var(--ripple-color,#7ff0de8c);border-radius:50%;animation:3s ease-out infinite ripple;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes ripple{0%{width:var(--ripple-size,90px);height:var(--ripple-size,90px);opacity:.7}to{width:calc(var(--ripple-size,90px) * 2.44);height:calc(var(--ripple-size,90px) * 2.44);opacity:0}}.ripple-core{z-index:1;width:var(--ripple-size,90px);height:var(--ripple-size,90px);background:linear-gradient(135deg,#ffffff4d,#ffffff0d);border:1px solid #ffffff59;border-radius:50%;place-items:center;display:grid;position:relative}.recs-layout{grid-template-columns:300px 1fr;align-items:start;gap:28px;max-width:1240px;margin-inline:auto;padding:clamp(16px,4vw,32px) clamp(24px,6vw,64px) clamp(48px,7vw,90px);display:grid}.recs-sidebar{flex-direction:column;gap:20px;display:flex}.recs-main{text-align:left;min-width:0}.recs-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.recs-subtext{max-width:none;margin:0}@media (width<=900px){.recs-layout{grid-template-columns:1fr}}.dominant-emotion-row{align-items:center;gap:14px;margin-bottom:6px;display:flex}.dominant-emoji{font-size:1.4rem}.dominant-label{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.dominant-value{color:var(--ink);font-family:var(--font-display);margin:0;font-size:1.2rem;font-weight:700}.confidence-row{color:var(--ink-soft);justify-content:space-between;margin:14px 0 6px;font-size:.85rem;font-weight:650;display:flex}.confidence-bar-track{background:#ffffff1a;border-radius:999px;width:100%;height:8px;margin-bottom:20px;overflow:hidden}.confidence-bar-fill{background:linear-gradient(90deg, var(--purple), var(--teal));background:linear-gradient(90deg, var(--purple), var(--mood,var(--teal)));transform-origin:0;border-radius:999px;height:100%}.override-label{color:var(--ink-soft);margin:4px 0 8px;font-size:.82rem;font-weight:600;display:block}.select-field{border:1px solid var(--glass-border);width:100%;color:var(--ink);cursor:pointer;background:#ffffff14;border-radius:999px;padding:10px 14px;font-size:.85rem;font-weight:600}.select-field option{color:#1b1140;background:#fff}.sort-select{width:auto}.tag-filter-row{flex-wrap:wrap;gap:8px;display:flex}.tag-pill-button{border:1px solid var(--glass-border);color:var(--ink-soft);cursor:pointer;background:#ffffff0f;border-radius:999px;padding:6px 14px;font-size:.8rem;font-weight:600}.tag-pill-button:after{content:"";z-index:-1;border-radius:inherit;background:linear-gradient(90deg, var(--purple), var(--pink));opacity:0;pointer-events:none;transition:opacity .25s ease, scale .45s var(--ease-pop);position:absolute;inset:0;scale:.6}.tag-pill-active{color:var(--bg-dark-1);border-color:#0000}.tag-pill-active:after{opacity:1;scale:1}.recs-loading{color:var(--ink-soft);justify-items:center;gap:16px;padding:60px 20px;display:grid}.track-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.track-card{grid-template-columns:auto auto 1fr auto;grid-template-areas:"rank art info actions"". .feedback feedback";align-items:center;gap:6px 16px;padding:18px 20px;display:grid}.track-rank{width:30px;height:30px;color:var(--ink-soft);background:#ffffff1a;border-radius:50%;grid-area:rank;place-items:center;font-size:.85rem;font-weight:700;display:grid}.track-art{background:linear-gradient(135deg, var(--purple), var(--teal));object-fit:cover;border-radius:10px;width:44px;height:44px}.track-info{grid-area:info;min-width:0}.track-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.98rem;font-weight:650;overflow:hidden}.track-artist{color:var(--ink-soft);margin:2px 0 0;font-size:.85rem}.track-tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.tag-chip{border:1px solid var(--glass-border);color:var(--ink-soft);background:#ffffff14;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:600}.track-actions{grid-area:actions;align-items:center;gap:8px;display:flex}.track-link-button{padding:8px 16px;font-size:.8rem}.icon-button{border:1px solid var(--glass-border);width:38px;height:38px;color:var(--ink);cursor:pointer;background:#ffffff14;border-radius:50%;flex:none;place-items:center;display:grid}.icon-button:hover:not(:disabled){background:#ffffff29}.icon-button-active{background:linear-gradient(135deg, var(--purple), var(--pink));color:var(--bg-dark-1);border-color:#0000}.icon-button:disabled{cursor:not-allowed;opacity:.5}.feedback-ack,.feedback-error{color:var(--teal);grid-area:feedback;margin:0;font-size:.78rem;font-weight:600}.feedback-error{color:var(--pink-strong)}@media (width<=640px){.track-card{grid-template-columns:auto auto 1fr;grid-template-areas:"rank art info""actions actions actions""feedback feedback feedback"}.track-actions{flex-wrap:wrap;justify-content:flex-start}}.account-layout{grid-template-columns:1fr 1fr;align-items:start;gap:24px;max-width:1240px;margin-inline:auto;padding:clamp(16px,4vw,32px) clamp(24px,6vw,64px) clamp(48px,7vw,90px);display:grid}.account-wide{grid-column:1/-1}.account-panel{padding:clamp(22px,3vw,32px)}.account-panel h2{color:var(--ink);font-family:var(--font-display);letter-spacing:-.01em;margin-bottom:6px;font-size:1.3rem;font-weight:700}.account-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.account-panel-header h2{margin-bottom:0}.account-panel-note{color:var(--ink-soft);margin:0 0 14px;font-size:.88rem;line-height:1.5}.account-subheading{color:var(--eyebrow-color);letter-spacing:.14em;text-transform:uppercase;margin:22px 0 10px;font-size:.75rem;font-weight:800}.account-empty{color:var(--ink-soft);margin:8px 0 0;font-size:.92rem;line-height:1.5}.account-empty p{margin-bottom:14px}.account-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.account-actions .account-panel-note{margin:0}.account-header{align-items:center;gap:20px;padding:clamp(22px,3vw,32px);display:flex}.account-header h1{overflow-wrap:anywhere;margin-bottom:4px;font-size:clamp(1.5rem,3.4vw,2rem)}.account-header .account-panel-note{margin-bottom:12px}.account-avatar{background:linear-gradient(135deg, var(--purple), var(--pink));border:3px solid var(--bg-dark-1);width:64px;height:64px;color:var(--bg-dark-1);font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-size:1.6rem;font-weight:700;display:grid}.account-stats{flex-wrap:wrap;gap:8px;display:flex}.account-panel .tag-filter-row{margin-bottom:14px}.account-panel .tag-filter-row .tag-chip{padding:6px 14px;font-size:.85rem}.tag-chip-loved{background:linear-gradient(90deg, var(--purple), var(--pink));color:var(--bg-dark-1);border-color:#0000}.tag-chip-liked{border-color:var(--teal);color:var(--ink)}.tag-chip-skipped{opacity:.75;-webkit-text-decoration:line-through #f5f3ff73;text-decoration:line-through #f5f3ff73}.verdict-chip{border:1px solid var(--glass-border);color:var(--ink-soft);background:#ffffff14;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.78rem;font-weight:650;display:inline-flex}.verdict-chip svg{width:13px;height:13px}.verdict-chip-like{border-color:var(--teal);color:var(--teal)}.account-track-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.account-track{border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:#ffffff0d;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.account-track .track-art-wrap{grid-area:auto}.account-track-info{min-width:0}.account-track-info .track-title,.account-track-info .track-artist{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-track-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.account-track-note{color:var(--ink-soft);font-size:.78rem}@media (width<=900px){.account-layout{grid-template-columns:1fr}}@media (width<=480px){.account-header{align-items:flex-start}.account-track{grid-template-columns:44px 1fr}.account-track .track-link-button{grid-column:1/-1;justify-self:start}}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);background:#140a3c8c;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.auth-dialog{background:#1b1140c7;max-width:420px;padding:32px;position:relative}.auth-dialog h2{color:var(--ink);font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:14px;font-size:1.6rem;font-weight:700;line-height:1.15}.modal-close{border:1px solid var(--glass-border);width:34px;height:34px;color:var(--ink);cursor:pointer;background:#ffffff14;border-radius:50%;font-size:1.2rem;line-height:1;position:absolute;top:14px;right:14px}.modal-close:hover{background:#ffffff29}.auth-notice{border-left:4px solid var(--teal);border-radius:var(--radius-sm);color:var(--ink-soft);background:#ffffff14;margin:0 0 8px;padding:10px 14px;font-size:.88rem;line-height:1.5}.field-label{color:var(--ink-soft);margin:14px 0 6px;font-size:.82rem;font-weight:600;display:block}.text-field{border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:100%;color:var(--ink);font:inherit;background:#ffffff14;padding:12px 16px;font-size:1rem}.text-field:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.text-field[aria-invalid=true]{border-color:var(--pink-strong)}.text-field[readonly]{cursor:progress;opacity:.6}.field-error,.form-error{color:var(--pink-strong);margin:6px 0 0;font-size:.82rem;font-weight:600;line-height:1.4}.form-error{margin-top:14px}.auth-submit{width:100%;margin-top:20px}.auth-switch{color:var(--ink-soft);text-align:center;margin:18px 0 0;font-size:.88rem}.auth-switch-button{color:var(--ink);font-size:inherit;text-underline-offset:3px;text-decoration:underline}.link-button:disabled{cursor:not-allowed;opacity:.6}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}body{animation:none}.ripple{opacity:.25;animation:none}}@property --num{syntax:"<integer>";inherits:false;initial-value:0}@property --ring-angle{syntax:"<angle>";inherits:false;initial-value:0deg}::selection{color:#fff;background:#ff83b073}html{scrollbar-color:#8b7cf68c transparent;scrollbar-width:thin}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-down{0%{opacity:0;transform:translateY(-14px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}}@keyframes card-in{0%{opacity:0;transform:translateY(24px)scale(.98)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(28px)}}@keyframes spin{to{rotate:360deg}}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}@keyframes gradient-pan{to{background-position:300% 0}}@keyframes blob-drift-1{33%{translate:14vw 10vh;scale:1.12}66%{translate:4vw 24vh;scale:.94}to{translate:18vw 4vh;scale:1.05}}@keyframes blob-drift-2{33%{translate:-16vw -10vh;scale:1.15}66%{translate:-4vw -26vh;scale:.92}to{translate:-20vw -6vh;scale:1.08}}@keyframes blob-drift-3{33%{translate:-18vw 14vh;scale:.85}66%{translate:-30vw -6vh;scale:1.1}to{translate:-8vw -16vh;scale:.95}}@keyframes blob-drift-4{33%{translate:20vw -14vh;scale:1.1}66%{translate:34vw -4vh;scale:.9}to{translate:10vw -22vh;scale:1.15}}@keyframes blob-drift-5{50%{translate:-24vw 18vh;scale:1.25}to{translate:8vw 30vh;scale:.9}}@keyframes blob-turn{to{rotate:360deg}}@keyframes beam-sweep{0%{translate:-70vmax}45%,to{translate:170vw}}@keyframes particle-rise{0%{opacity:0;transform:translate(0)}12%,85%{opacity:var(--alpha)}to{opacity:0;transform:translate(var(--sway), -112vh)}}@media (prefers-reduced-motion:no-preference){.bg-wash{animation:90s linear infinite blob-turn}.blob-1{animation:19s ease-in-out infinite alternate blob-drift-1,46s linear infinite blob-turn}.blob-2{animation:23s ease-in-out -6s infinite alternate blob-drift-2,54s linear infinite reverse blob-turn}.blob-3{animation:17s ease-in-out -3s infinite alternate blob-drift-3,38s linear infinite blob-turn}.blob-4{animation:21s ease-in-out -9s infinite alternate blob-drift-4,60s linear infinite reverse blob-turn}.blob-5{animation:25s ease-in-out -12s infinite alternate blob-drift-5,42s linear infinite blob-turn}.bg-beam{animation:15s ease-in-out 2s infinite beam-sweep}.bg-particle{animation:particle-rise var(--dur) linear var(--delay) infinite}}.button,.icon-button,.nav-cta,.nav-user,.tag-pill-button{isolation:isolate;transition:translate var(--dur-med) var(--ease-spring), scale var(--dur-med) var(--ease-spring), background-color var(--dur-fast) ease, background-position var(--dur-slow) var(--ease-out-expo), border-color var(--dur-fast) ease, color var(--dur-fast) ease, box-shadow var(--dur-med) ease, filter var(--dur-fast) ease;position:relative;overflow:hidden}.button:before,.icon-button:before,.nav-cta:before,.nav-user:before,.tag-pill-button:before{content:"";top:var(--press-y,50%);left:var(--press-x,50%);z-index:-1;aspect-ratio:1;opacity:0;pointer-events:none;background:radial-gradient(circle,#ffffff73 0%,#fff0 65%);border-radius:50%;width:260%;position:absolute;translate:-50% -50%;scale:0}.button-primary:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(110deg,#0000 30%,#ffffff73 50%,#0000 70%);position:absolute;inset:0;translate:-110%}.button:active:not(:disabled),.icon-button:active:not(:disabled),.nav-cta:active,.nav-user:active,.tag-pill-button:active{scale:.95}.button-secondary:hover:not(:disabled){border-color:#ffffff73;translate:0 -2px}.nav-cta:hover{translate:0 -1px;box-shadow:0 8px 24px #8b7cf64d}.nav-user:hover{border-color:#ffffff80}.icon-button:hover:not(:disabled){border-color:#ffffff73;translate:0 -2px}.icon-button-active{box-shadow:0 6px 20px #ff6fa059}.tag-pill-button:hover:not(.tag-pill-active){color:var(--ink);background-color:#ffffff24;translate:0 -1px}.select-field{transition:background-color var(--dur-fast) ease, border-color var(--dur-fast) ease}.select-field:hover{background-color:#ffffff24;border-color:#ffffff73}.select-field:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}@keyframes press-ripple{0%{opacity:1;scale:0}to{opacity:0;scale:1}}@keyframes cta-breathe{0%,to{box-shadow:0 0 #ff83b000,0 10px 30px #8b7cf640}50%{box-shadow:0 0 0 7px #ff83b01f,0 14px 40px #ff83b066}}@media (prefers-reduced-motion:no-preference){.is-pressed:before{animation:press-ripple .65s var(--ease-out-expo)}.button-primary:hover:not(:disabled):after{transition:translate .9s var(--ease-out-expo);translate:110%}.button-glow:not(:disabled){animation:3.2s ease-in-out infinite cta-breathe}}.spotlight{position:relative}.spotlight:after{content:"";border-radius:inherit;background:radial-gradient(280px circle at var(--spot-x,50%) var(--spot-y,50%), #ffffff21, transparent 70%);opacity:0;pointer-events:none;transition:opacity var(--dur-med) ease;position:absolute;inset:0}@media (hover:hover){.spotlight:hover:after{opacity:1}}.eq-bars{--eq-color:var(--teal);--eq-height:28px;--eq-width:4px;align-items:flex-end;gap:calc(var(--eq-width) * .75);height:var(--eq-height);display:inline-flex}.eq-bars-mini{--eq-height:14px;--eq-width:3px}.eq-bars-sm{--eq-height:18px;--eq-width:3px}.eq-bars-lg{--eq-height:46px;--eq-width:6px}.eq-bar{width:var(--eq-width);background:var(--eq-color);background:linear-gradient(to top, var(--eq-color), color-mix(in srgb, var(--eq-color) 45%, white));height:100%;box-shadow:0 0 10px color-mix(in srgb, var(--eq-color) 50%, transparent);transform-origin:bottom;border-radius:999px;transform:scaleY(.45)}.eq-bar:nth-child(3n+1){transform:scaleY(.7)}.eq-bar:nth-child(3n+2){transform:scaleY(.3)}@keyframes eq-bounce{0%{transform:scaleY(.2)}50%{transform:scaleY(1)}to{transform:scaleY(.45)}}@media (prefers-reduced-motion:no-preference){.eq-bar{animation:.9s ease-in-out infinite alternate eq-bounce;animation-delay:calc(var(--i) * -.27s)}.eq-bar:nth-child(3n+1){animation-duration:.7s}.eq-bar:nth-child(3n+2){animation-duration:1.1s}}.brand-mark{transition:rotate .5s var(--ease-pop), scale .5s var(--ease-pop), box-shadow .4s ease}.brand:hover .brand-mark{rotate:-8deg;scale:1.08;box-shadow:0 0 24px #8b7cf673}@keyframes wave-flow{to{stroke-dashoffset:-.6px}}@keyframes draw-wave{0%{stroke-dasharray:1;stroke-dashoffset:1px}to{stroke-dasharray:1;stroke-dashoffset:0}}@keyframes dot-pulse{0%{box-shadow:0 0 #ff83b080}70%,to{box-shadow:0 0 0 9px #ff83b000}}@media (prefers-reduced-motion:no-preference){.brand:hover .brand-mark path{stroke-dasharray:.5 .1;animation:1.4s linear infinite wave-flow}.step-dot-active{animation:2.4s ease-out infinite dot-pulse}}.hero-word{display:inline-block}.hero-word-accent{background:linear-gradient(90deg, var(--purple), var(--pink), var(--teal), var(--purple));color:#0000;background-size:300% 100%;-webkit-background-clip:text;background-clip:text}.badge-dot{background:var(--teal);border-radius:50%;width:8px;height:8px;margin-right:10px;display:inline-block}.hero-visual{position:relative}.floating-notes{pointer-events:none;position:absolute;inset:0}.floating-note{top:var(--y);left:var(--x);color:#fff6;font-size:var(--size);text-shadow:0 0 18px #c8beffb3;position:absolute}@media (width<=860px){.floating-notes{display:none}}.how-it-works-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.step-list li{transition:translate .45s var(--ease-spring), background-color var(--dur-fast) ease, border-color var(--dur-fast) ease}.step-list li:hover{background-color:#ffffff1a;border-color:#fff6;translate:6px}@keyframes word-in{0%{opacity:0;filter:blur(10px);transform:translateY(.45em)rotate(4deg)}}@keyframes card-float-in{0%{opacity:0;transform:translateY(40px)rotate(-2deg)scale(.96)}}@keyframes note-float{0%,to{opacity:.35;translate:0;rotate:-6deg}50%{opacity:.85;translate:0 -18px;rotate:6deg}}@keyframes dot-ping{0%{box-shadow:0 0 #4fe0ce99}80%,to{box-shadow:0 0 0 8px #4fe0ce00}}@keyframes step-glow{0%,30%,to{box-shadow:0 0 #ff83b000}10%{box-shadow:0 0 0 6px #ff83b038,0 0 22px #ff83b073}}@media (prefers-reduced-motion:no-preference){.hero-word-accent{animation:9s linear infinite gradient-pan}.badge-dot{animation:2s ease-out infinite dot-ping}.floating-note{animation:7s ease-in-out infinite note-float;animation-delay:var(--delay)}.step-number{animation:4.5s ease-in-out infinite step-glow;animation-delay:calc(var(--i) * 1.5s)}.landing-intro .site-nav{animation:fade-down .8s var(--ease-out-expo) both}.landing-intro .brand-mark path{animation:draw-wave 1.6s .2s var(--ease-out-expo) both}.landing-intro .badge-pill{animation:rise-in .8s .15s var(--ease-out-expo) both}.landing-intro .hero-word{animation:word-in .9s var(--ease-out-expo) both;animation-delay:calc(.25s + var(--i) * 75ms)}.landing-intro .hero-word-accent{animation:word-in .9s var(--ease-out-expo) both, gradient-pan 9s linear infinite;animation-delay:calc(.25s + var(--i) * 75ms), 0s}.landing-intro .hero-summary{animation:rise-in .9s .7s var(--ease-out-expo) both}.landing-intro .cta-row{animation:rise-in .9s .85s var(--ease-out-expo) both}.landing-intro .trust-item{animation:rise-in .7s var(--ease-out-expo) both;animation-delay:calc(1s + var(--i) * 90ms)}.landing-intro .how-it-works-card{animation:card-float-in 1.1s .45s var(--ease-out-expo) both}.landing-intro .step-list li{animation:slide-in-right .8s var(--ease-out-expo) both;animation-delay:calc(.85s + var(--i) * .12s)}.landing-intro .floating-notes{animation:1.6s 1.1s both fade-in}}.camera-video{opacity:0;filter:blur(12px)saturate(.6);transition:opacity .7s ease, filter .9s var(--ease-out-expo)}.camera-video-live{opacity:1;filter:none}.camera-frame-starting:after{content:"";border-radius:calc(var(--radius-lg) - 10px);pointer-events:none;background:linear-gradient(100deg,#0000 30%,#ffffff17 50%,#0000 70%) 0 0/200% 100%;position:absolute;inset:10px}.viewfinder{z-index:1;pointer-events:none;position:absolute;inset:10px}.viewfinder-corner{filter:drop-shadow(0 0 6px #7ff0de8c);width:36px;height:36px;transition:top .6s var(--ease-spring), right .6s var(--ease-spring), bottom .6s var(--ease-spring), left .6s var(--ease-spring), border-color .4s ease;border:3px solid #ffffffbf;position:absolute}.viewfinder-tl{border-bottom:0;border-right:0;border-top-left-radius:14px;top:18px;left:18px}.viewfinder-tr{border-bottom:0;border-left:0;border-top-right-radius:14px;top:18px;right:18px}.viewfinder-bl{border-top:0;border-right:0;border-bottom-left-radius:14px;bottom:18px;left:18px}.viewfinder-br{border-top:0;border-left:0;border-bottom-right-radius:14px;bottom:18px;right:18px}.viewfinder-locked .viewfinder-corner{border-color:var(--teal)}.viewfinder-locked .viewfinder-tl{top:13%;left:22%}.viewfinder-locked .viewfinder-tr{top:13%;right:22%}.viewfinder-locked .viewfinder-bl{bottom:13%;left:22%}.viewfinder-locked .viewfinder-br{bottom:13%;right:22%}.face-guide{aspect-ratio:3/4;border:2px dashed #ffffff47;border-radius:50%;width:36%;position:absolute;top:50%;left:50%;translate:-50% -52%}.shutter-flash{z-index:3;border-radius:inherit;opacity:0;pointer-events:none;background:#fff;position:absolute;inset:0}.scan-line{background:linear-gradient(90deg, transparent, var(--teal), transparent);height:2px;position:absolute;top:10%;left:8%;right:8%;box-shadow:0 0 18px 4px #4fe0ce66}.analysing-stack{justify-items:center;gap:16px;display:grid;position:relative}.emoji-cycle{place-items:center;font-size:2rem;line-height:1;display:grid}.emoji-cycle span{grid-area:1/1}.emoji-cycle span:not(:first-child){opacity:0}.camera-overlay-reveal{background-color:#1b114099;background-color:color-mix(in oklab, var(--reveal-color) 30%, #1b11409e)}.camera-overlay-reveal .ripple-core{box-shadow:0 0 44px var(--reveal-color);transition:box-shadow .5s}.reveal-emoji{font-size:2.4rem;line-height:1;display:inline-block}.reveal-label{color:var(--reveal-color);font-family:var(--font-display);letter-spacing:.01em;text-shadow:0 0 20px var(--reveal-color);font-size:1.3rem}.emotion-pill{transition:translate var(--dur-med) var(--ease-spring), border-color var(--dur-fast) ease, background-color var(--dur-fast) ease;align-items:center;gap:6px;display:inline-flex}.emotion-pill-emoji{transition:transform .45s var(--ease-pop);display:inline-block}.emotion-pill:hover{border-color:var(--pill-color);background-color:color-mix(in srgb, var(--pill-color) 20%, transparent);translate:0 -2px}.emotion-pill:hover .emotion-pill-emoji{transform:scale(1.3)rotate(-10deg)}@keyframes corner-breathe{50%{opacity:.7;scale:1.08}}@keyframes guide-breathe{50%{border-color:#7ff0de73;scale:1.04}}@keyframes shutter{0%{opacity:.85}to{opacity:0}}@keyframes scan{to{top:90%}}@keyframes emoji-flick{0%{opacity:0;transform:translateY(45%)scale(.7)}4%,13%{opacity:1;transform:none}17%,to{opacity:0;transform:translateY(-45%)scale(.7)}}@keyframes reveal-pop{0%{opacity:0;transform:scale(.2)rotate(-25deg)}}@keyframes reveal-ring{0%{opacity:1;scale:.5}to{opacity:0;scale:5}}@media (prefers-reduced-motion:no-preference){.camera-frame-starting:after{animation:1.6s linear infinite shimmer}.viewfinder-corner{animation:2.8s ease-in-out infinite corner-breathe}.face-guide{animation:.6s both fade-in,3.2s ease-in-out .6s infinite guide-breathe}.shutter-flash{animation:.55s ease-out shutter}.camera-overlay{animation:.35s both fade-in}.scan-line{animation:1.6s ease-in-out infinite alternate scan}.emoji-cycle span{animation:2.1s linear infinite both emoji-flick;animation-delay:calc(var(--i) * .3s)}.reveal-emoji{animation:reveal-pop .75s var(--ease-pop) both}.reveal-label{animation:rise-in .5s .15s var(--ease-out-expo) both}.camera-overlay-reveal:before{content:"";aspect-ratio:1;border:2px solid var(--reveal-color);pointer-events:none;width:120px;animation:reveal-ring 1s var(--ease-out-expo) both;border-radius:50%;position:absolute;top:50%;left:50%;translate:-50% -50%}.status-card,.recs-loading{animation:rise-in .5s var(--ease-out-expo) both}.feedback-ack,.feedback-error,.copy-message{animation:rise-in .45s var(--ease-out-expo) both}}.count-up{counter-reset:num var(--num)}.count-up:after{content:counter(num) attr(data-suffix)}.dominant-emoji{display:inline-block}.confidence-bar-fill{position:relative;overflow:hidden}.confidence-bar-fill:after{content:"";background:linear-gradient(100deg,#0000 20%,#ffffff8c 50%,#0000 80%);position:absolute;inset:0;translate:-100%}.track-card{transition:translate var(--dur-med) var(--ease-spring), border-color var(--dur-fast) ease, background-color var(--dur-fast) ease, box-shadow var(--dur-med) ease}@media (hover:hover){.track-card:hover{box-shadow:var(--glass-shadow), 0 18px 50px color-mix(in srgb, var(--mood,var(--purple)) 25%, transparent);background-color:#ffffff24;border-color:#ffffff6b;translate:0 -3px}.track-card:hover .tag-chip{color:var(--ink);border-color:#fff6}}.tag-chip{transition:translate var(--dur-med) var(--ease-spring), border-color var(--dur-fast) ease, color var(--dur-fast) ease;display:inline-block}.track-rank{position:relative;overflow:hidden}.track-rank-number,.track-rank .eq-bars{transition:opacity var(--dur-fast) ease, transform var(--dur-med) var(--ease-spring);grid-area:1/1}.track-rank .eq-bars{opacity:0;transform:translateY(8px)}.track-rank .eq-bar{animation-play-state:paused}@media (hover:hover){.track-card:hover .track-rank-number{opacity:0;transform:translateY(-8px)}.track-card:hover .track-rank .eq-bars{opacity:1;transform:none}.track-card:hover .track-rank .eq-bar{animation-play-state:running}}.track-art-wrap{isolation:isolate;flex:none;grid-area:art;width:44px;height:44px;display:block;position:relative}.track-art-wrap:before{content:"";z-index:1;background:linear-gradient(135deg, var(--purple), var(--teal));border-radius:10px;position:absolute;inset:0}.track-art-wrap .track-art{z-index:2;display:block;position:relative;box-shadow:0 4px 14px #0000004d}img.track-art{opacity:0;filter:blur(6px);transition:opacity .5s ease, filter .6s ease, scale .6s var(--ease-out-expo);scale:1.06}img.track-art-loaded{opacity:1;filter:none;scale:1}.vinyl{z-index:0;background:radial-gradient(circle, var(--mood,var(--pink)) 0 16%, #1a1030 17% 20%, transparent 21%), repeating-radial-gradient(circle, #15102a 0 1px, #2a2048 1.5px 2.5px);width:40px;height:40px;transition:translate .55s var(--ease-spring);border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 4px 12px #0006}.vinyl:after{content:"";background:conic-gradient(transparent 0 8%, #ffffff38 14%, transparent 22% 58%, #ffffff24 64%, transparent 72%);border-radius:50%;position:absolute;inset:0}@media (hover:hover){.track-card:hover .vinyl,.account-track:hover .vinyl{translate:15px}}.burst-anchor{display:inline-flex;position:relative}.note-burst{pointer-events:none;position:absolute;top:0;left:50%}.note-burst-note{color:var(--note-color,var(--pink));text-shadow:0 0 10px;opacity:0;font-size:1rem;font-weight:700;position:absolute;top:0;left:0}@keyframes bar-fill{0%{transform:scaleX(0)}}@keyframes bar-shine{to{translate:100%}}@keyframes count-up{0%{--num:0}}@keyframes like-pop{0%{scale:.55}to{scale:1}}@keyframes dislike-shake{0%,to{translate:0;rotate:0deg}20%{translate:-4px;rotate:-10deg}40%{translate:4px;rotate:8deg}60%{translate:-2px;rotate:-4deg}80%{translate:2px;rotate:2deg}}@keyframes pending-pulse{50%{opacity:.25}}@keyframes note-rise{0%{opacity:0;transform:translate(-50%,4px)scale(.4)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)), -48px) scale(1.1) rotate(var(--rot))}}@media (prefers-reduced-motion:no-preference){.confidence-bar-fill{animation:bar-fill 1.4s .3s var(--ease-out-expo) both}.confidence-bar-fill:after{animation:1.1s ease-in-out 1.5s both bar-shine}.count-up{animation:count-up 1.4s .3s var(--ease-out-expo) both}.track-list-entering>.track-card{animation:card-in .7s var(--ease-out-expo) both;animation-delay:calc(.1s + min(var(--i), 10) * 60ms)}.icon-button-like.icon-button-active{animation:like-pop .6s var(--ease-pop)}.icon-button-dislike.icon-button-active{animation:.5s dislike-shake}.icon-button:disabled{animation:1s ease-in-out infinite pending-pulse}.note-burst-note{animation:note-rise 1.1s var(--ease-out-expo) var(--delay) both}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.track-card:hover .vinyl,.account-track:hover .vinyl{animation:1.8s linear infinite spin}}.account-avatar-ring{background:conic-gradient(from var(--ring-angle), var(--purple), var(--pink), var(--teal), var(--purple));border-radius:50%;flex:none;place-items:center;padding:3px;display:grid;box-shadow:0 0 32px #ff83b04d}.account-track{transition:translate var(--dur-med) var(--ease-spring), background-color var(--dur-fast) ease, border-color var(--dur-fast) ease}@media (hover:hover){.account-track:hover{background-color:#ffffff17;border-color:#fff6;translate:4px}.account-panel .tag-chip:hover{translate:0 -2px}}.tag-chip-badge{display:inline-block}@keyframes ring-spin{to{--ring-angle:360deg}}@keyframes heartbeat{0%,30%,60%,to{scale:1}15%{scale:1.4}45%{scale:1.2}}@keyframes deal-in{0%{opacity:0;transform:translate(-36px,-14px)rotate(-6deg)scale(.92)}}@media (prefers-reduced-motion:no-preference){.account-layout>*{animation:card-in .75s var(--ease-out-expo) both}.account-layout>:nth-child(2){animation-delay:80ms}.account-layout>:nth-child(3){animation-delay:.16s}.account-layout>:nth-child(4){animation-delay:.24s}.account-avatar-ring{animation:pop-in .7s var(--ease-pop) both, ring-spin 6s linear infinite}.account-stats .verdict-chip{animation:pop-in .5s .3s var(--ease-pop) both}.account-stats .verdict-chip+.verdict-chip{animation-delay:.4s}.account-panel .tag-filter-row .tag-chip{animation:pop-in .5s var(--ease-pop) both;animation-delay:calc(.15s + min(var(--i), 14) * 40ms)}.tag-chip-badge{animation:1.2s ease-in-out .8s both heartbeat}.tag-chip-loved:hover .tag-chip-badge{animation:1s ease-in-out infinite heartbeat}.account-track-list>.account-track{animation:rise-in .55s var(--ease-out-expo) both;animation-delay:calc(min(var(--i), 12) * 45ms)}.account-track-list-deal>.account-track{animation:deal-in .65s var(--ease-spring) both;animation-delay:calc(min(var(--i), 15) * 55ms)}}.text-field{transition:border-color var(--dur-fast) ease, background-color var(--dur-fast) ease, box-shadow var(--dur-med) ease}.text-field:focus{background-color:#ffffff1f;border-color:#c7bfffb3;box-shadow:0 0 0 4px #8b7cf62e}.modal-close{transition:rotate .45s var(--ease-pop), background-color var(--dur-fast) ease}.modal-close:hover{rotate:90deg}@keyframes backdrop-in{0%{opacity:0}}@keyframes backdrop-out{to{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(28px)scale(.94)}}@keyframes dialog-out{to{opacity:0;transform:translateY(14px)scale(.96)}}@keyframes field-shake{20%{translate:-6px}40%{translate:5px}60%{translate:-3px}80%{translate:2px}}.modal-backdrop{animation:.3s both backdrop-in}.modal-backdrop-closing{animation:.24s both backdrop-out}@media (prefers-reduced-motion:no-preference){.auth-dialog{animation:dialog-in .6s var(--ease-spring) both}.modal-backdrop-closing .auth-dialog{animation:dialog-out .24s var(--ease-in-soft) both}.auth-heading,.auth-notice,.field-error,.form-error{animation:rise-in .4s var(--ease-out-expo) both}.text-field[aria-invalid=true]{animation:.4s field-shake}[data-vt=page-reveal] .vt-emotion-orb{view-transition-name:emotion-orb}.no-view-transitions .page>main{animation:rise-in .5s var(--ease-out-expo) both}}::view-transition-old(root){mix-blend-mode:normal}::view-transition-new(root){mix-blend-mode:normal}::view-transition-old(root){animation:none}::view-transition-new(root){animation:.45s cubic-bezier(.4,0,.2,1) both vt-fade-in}::view-transition-group(emotion-orb){animation-duration:.8s;animation-timing-function:var(--ease-out-expo)}@keyframes vt-fade-in{0%{opacity:0}}.title-screen{--title-radius:min(24vmin, 170px);z-index:100;cursor:pointer;background:radial-gradient(circle,#2a1760 0%,#150c36 55%,#0b0620 100%);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.title-screen:before{content:"";background:radial-gradient(closest-side,#8b7cf659,#ff83b01f 55%,#0000);border-radius:50%;width:90vmin;height:90vmin;margin:-45vmin 0 0 -45vmin;animation:2.4s ease-in-out infinite alternate title-aura;position:absolute;top:50%;left:50%}.title-stage{place-items:center;width:100%;height:100%;display:grid;position:relative}.title-stage>*{grid-area:1/1}.title-orbit{width:0;height:0;animation:1.6s cubic-bezier(.45,0,.2,1) both title-orbit;position:relative}.title-arm{rotate:var(--angle);position:absolute;top:0;left:0}.title-emoji{width:1.2em;height:1.2em;filter:drop-shadow(0 0 14px var(--emotion-color));opacity:0;animation:title-emoji-in .7s var(--ease-pop) calc(.1s + var(--i) * 80ms) both, title-emoji-converge .42s var(--ease-in-soft) 1.1s forwards;place-items:center;font-size:clamp(1.8rem,5vmin,2.6rem);line-height:1;display:grid;position:absolute;top:-.6em;left:-.6em}.title-emoji-face{animation:1.6s cubic-bezier(.45,0,.2,1) both title-orbit-counter;display:block}.title-flash{opacity:0;background:radial-gradient(circle,#fff 0%,#ffd2e6d9 30%,#ff83b066 55%,#0000 72%);border-radius:50%;width:60px;height:60px;animation:.8s ease-out 1.42s both title-flash}.title-shockwave{opacity:0;width:80px;height:80px;animation:title-shockwave 1s var(--ease-out-expo) 1.46s both;border:2px solid #ffffffb3;border-radius:50%}.title-wave{width:min(86vw,700px);height:120px;animation:.6s 2s forwards title-wave-dim,.7s ease-in-out 2.1s infinite alternate title-wave-pulse;overflow:visible}.title-wave path{fill:none;stroke:url(#title-wave-gradient);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;filter:drop-shadow(0 0 8px #ff83b0b3);animation:title-wave-draw .8s var(--ease-out-expo) 1.5s forwards}.title-word{color:#fff;font-family:var(--font-display);letter-spacing:-.03em;text-shadow:0 0 30px #8b7cf6b3,0 0 60px #ff83b059;margin:0;font-size:clamp(3.6rem,13vmin,7.5rem);font-weight:700;line-height:1;display:flex}.title-word span{opacity:0;animation:title-letter .8s var(--ease-out-expo) calc(1.8s + var(--i) * 90ms) both;display:inline-block}.title-tagline{color:var(--eyebrow-color);letter-spacing:.22em;text-align:center;text-transform:uppercase;opacity:0;animation:title-tagline 1s var(--ease-out-expo) 2.3s both;margin:calc(clamp(3.6rem,13vmin,7.5rem) + 3rem) 0 0;font-size:clamp(.72rem,1.8vmin,.9rem);font-weight:700}.title-skip{color:#f5f3ff73;letter-spacing:.08em;text-align:center;opacity:0;width:100%;margin:0;font-size:.75rem;animation:.6s .8s forwards fade-in;position:absolute;bottom:28px;left:0}.title-screen-exit{pointer-events:none;animation:.8s .1s forwards title-dissolve}.title-screen-exit .title-stage{animation:title-zoom .8s var(--ease-in-soft) forwards}.title-screen-exit .title-skip{opacity:0;animation:none}@keyframes title-aura{0%{opacity:.6;transform:scale(.9)}to{opacity:1;transform:scale(1.08)}}@keyframes title-orbit{0%{rotate:-40deg}to{rotate:160deg}}@keyframes title-orbit-counter{0%{rotate:40deg}to{rotate:-160deg}}@keyframes title-emoji-in{0%{opacity:0;transform:translateY(calc(var(--title-radius) * -1.7)) rotate(calc(var(--angle) * -1)) scale(.3)}to{opacity:1;transform:translateY(calc(var(--title-radius) * -1)) rotate(calc(var(--angle) * -1)) scale(1)}}@keyframes title-emoji-converge{0%{opacity:1;transform:translateY(calc(var(--title-radius) * -1)) rotate(calc(var(--angle) * -1)) scale(1)}to{opacity:0;transform:translateY(0) rotate(calc(var(--angle) * -1)) scale(.2)}}@keyframes title-flash{0%{opacity:0;transform:scale(.2)}15%{opacity:1}to{opacity:0;transform:scale(9)}}@keyframes title-shockwave{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(8)}}@keyframes title-wave-draw{to{stroke-dashoffset:0}}@keyframes title-wave-dim{to{opacity:.4}}@keyframes title-wave-pulse{0%{transform:scaleY(1)}to{transform:scaleY(.45)}}@keyframes title-letter{0%{opacity:0;filter:blur(12px);transform:translateY(.5em)scaleY(1.7)}to{opacity:1;filter:blur();transform:none}}@keyframes title-tagline{0%{opacity:0;letter-spacing:.7em}to{opacity:.9;letter-spacing:.22em}}@keyframes title-zoom{to{opacity:0;filter:blur(14px);transform:scale(1.8)}}@keyframes title-dissolve{to{opacity:0}}.landing-intro-paused,.landing-intro-paused *{animation-play-state:paused!important}button,a,select{-webkit-tap-highlight-color:transparent}@media (hover:none){.button:hover,.icon-button:hover,.nav-cta:hover,.tag-pill-button:hover,.emotion-pill:hover,.step-list li:hover{box-shadow:none!important;filter:none!important;translate:none!important}}@media (pointer:coarse){.tag-pill-button{min-height:40px;padding-inline:16px}.icon-button{width:44px;height:44px}.nav-link-button,.link-button{min-height:40px;padding:8px 4px}.select-field{min-height:44px;font-size:16px}}@media (width<=900px){.recs-layout{grid-template-columns:minmax(0,1fr)}.recs-sidebar{min-width:0}.recs-tag-row{overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;margin-inline:-24px;padding:2px 24px 6px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 24px calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#0000,#000 24px calc(100% - 24px),#0000)}.recs-tag-row::-webkit-scrollbar{display:none}.recs-tag-row .tag-pill-button{white-space:nowrap;flex:none}}@media (width<=480px){.side-card{padding:20px}.recs-tag-row{margin-inline:-20px;padding-inline:20px}.track-card{column-gap:12px;padding:16px}.recs-header h1{font-size:1.7rem}.auth-dialog{padding:26px 22px}.account-header{gap:14px}}
