:root{--panel: #0b0b0a;--surface: #151513;--surface-2: #1d1d1a;--raise: #24241f;--ink: #f3f0e9;--muted: #8d8a82;--dim: #5c5a54;--line: rgba(243, 240, 233, .08);--line-2: rgba(243, 240, 233, .14);--signal: #ff5a1f;--signal-2: #ff8a4c;--signal-soft: rgba(255, 90, 31, .14);--on-signal: #160a04;--display: "Archivo", "Helvetica Neue", Arial, sans-serif;--body: "Archivo", -apple-system, "Helvetica Neue", Arial, sans-serif;--mono: "Martian Mono", ui-monospace, "SF Mono", Menlo, monospace;--r-lg: 22px;--r-md: 16px;--r-sm: 12px;--ease: cubic-bezier(.2, .8, .2, 1);--spring: cubic-bezier(.34, 1.4, .5, 1);color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;height:100%}body{background:var(--panel);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.4;overscroll-behavior:none;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}img{max-width:100%}.app{display:flex;flex-direction:column;height:100%}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none}.top{display:grid;gap:10px;padding:calc(env(safe-area-inset-top) + 14px) max(18px,env(safe-area-inset-right)) 2px max(18px,env(safe-area-inset-left))}.top-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.title-wrap{display:flex;align-items:center;gap:6px;min-width:0}.title-stack{display:grid;gap:2px;min-width:0;justify-items:start}.screen-title{margin:0;font-family:var(--display);font-weight:800;font-variation-settings:"wdth" 108;font-size:32px;letter-spacing:-.03em;line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.back{display:grid;place-items:center;width:36px;height:36px;margin-left:-8px;border:0;border-radius:50%;background:none;color:var(--ink)}.room-btn{display:inline-flex;align-items:center;gap:6px;max-width:220px;padding:0;border:0;background:none;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 0 var(--signal);animation:beacon 2.4s ease-out infinite}.me-btn{flex:none;padding:0;border:0;border-radius:50%;background:none;transition:transform .2s var(--spring)}.me-btn:active{transform:scale(.92)}.dial{position:relative;height:34px;margin:0 2px}.signal{position:absolute;top:0;right:0;bottom:12px;left:0;width:100%;height:22px}.dial-scale{position:absolute;inset:auto 0 0;height:12px;background:repeating-linear-gradient(90deg,var(--line-2) 0 1px,transparent 1px 100%) 0 0 / calc(100% / 41) 4px repeat-x}.dial-st{position:absolute;bottom:-3px;transform:translate(-50%);font-family:var(--mono);font-size:8.5px;color:var(--dim);transition:color .3s}.dial-st.on{color:var(--signal)}.dial-needle{position:absolute;top:2px;bottom:10px;width:2px;margin-left:-1px;border-radius:2px;background:var(--signal);box-shadow:0 0 12px var(--signal);transition:left .6s var(--spring)}.dial-sweep .dial-needle{animation:sweep 2.6s var(--ease) both}.content{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:26px;padding:18px max(18px,env(safe-area-inset-right)) 28px max(18px,env(safe-area-inset-left));animation:tune .38s var(--ease) both}.content-chat{padding-bottom:0}.section{display:grid;gap:10px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.label{margin:0;font-family:var(--mono);font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.meta{font-family:var(--mono);font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.hint{list-style:none;margin:0;padding:18px 0;font-size:14px;color:var(--muted)}.hint-sm{margin:0;font-size:13px;color:var(--muted)}.lead{margin:0;max-width:36ch;font-size:15px;color:var(--muted);line-height:1.5}.error{margin:0;font-size:14px;color:var(--signal-2)}.one-line{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rows{list-style:none;margin:0;padding:0;display:grid;gap:2px}.row{display:flex;align-items:center;gap:12px;padding:10px 0;min-width:0}.row-compact{justify-content:space-between;padding:12px 14px;background:var(--surface);border-radius:var(--r-sm);margin-bottom:6px}.row-flat{padding:0}.row-btn{width:100%;padding:10px 8px;margin:0 -8px;width:calc(100% + 16px);border:0;border-radius:var(--r-sm);background:none;text-align:left;transition:background .2s}.row-btn:active{background:var(--surface)}.row-main{flex:1;min-width:0;display:grid;gap:1px}.row-title{font-weight:600;font-size:15.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-sub{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.row-pick{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:0;border:0;background:none;text-align:left}.cover{flex:none;display:grid;place-items:center;border-radius:10px;color:#ffffffd9;font-family:var(--display);font-weight:800;font-size:13px;object-fit:cover;background:var(--surface-2)}.avatar{flex:none;display:inline-grid;place-items:center;border-radius:50%;color:#fff;font-family:var(--display);font-weight:800;box-shadow:inset 0 0 0 1px #ffffff1f}.room-mark{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--signal-soft);font-family:var(--display);font-weight:900;font-variation-settings:"wdth" 125;color:var(--signal)}.inline-link{padding:0;border:0;background:none;font-size:inherit;color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 20px;font-weight:700;font-size:16px;border:0;border-radius:var(--r-md);background:var(--signal);color:var(--on-signal);box-shadow:0 10px 30px -12px var(--signal);transition:transform .18s var(--spring),opacity .2s,box-shadow .2s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.35;box-shadow:none}.btn-sm{padding:10px 16px;font-size:14px;border-radius:var(--r-sm)}.btn-ghost{background:var(--surface-2);color:var(--ink);box-shadow:none}a.btn{text-decoration:none}.link-btn{padding:0;border:0;background:none;color:var(--signal);font-weight:600;font-size:15px}.link-btn.small{font-size:13px}.link-btn:disabled{opacity:.4}.icon-btn{flex:none;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:var(--surface-2);color:var(--ink);text-decoration:none;transition:transform .18s var(--spring),background .2s,color .2s}.icon-btn:active{transform:scale(.9)}.icon-btn.playing{background:var(--signal);color:var(--on-signal)}.icon-btn:disabled{opacity:.3}.pill{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;font-size:12.5px;font-weight:600;background:var(--surface-2);color:var(--ink);border:0;border-radius:999px;text-decoration:none;transition:background .2s}.pill:active{background:var(--raise)}.track-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.track-links.compact .pill{padding:4px 9px;font-size:11px;background:var(--raise)}.seg{padding:6px 12px;border:0;border-radius:999px;background:var(--surface-2);font-size:12.5px;color:var(--muted);transition:background .2s,color .2s}.seg.on{background:var(--ink);color:var(--panel)}.sort{display:flex;gap:6px;padding:2px 0 4px}.eq{display:inline-flex;align-items:flex-end;gap:2px;height:14px}.eq i{width:3px;height:100%;border-radius:2px;background:currentColor;transform-origin:bottom;animation:eq .9s ease-in-out infinite}.eq i:nth-child(2){animation-delay:-.3s}.eq i:nth-child(3){animation-delay:-.6s}.eq i:nth-child(4){animation-delay:-.15s}.input{width:100%;padding:15px 16px;font-size:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);outline:none;transition:border-color .2s,background .2s}.input::placeholder{color:var(--dim)}.input:focus{border-color:var(--signal);background:var(--surface-2)}.input-code{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase}.textarea{min-height:160px;resize:vertical;line-height:1.45}.tabs{display:grid;grid-template-columns:repeat(5,1fr);padding:6px max(6px,env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 4px) max(6px,env(safe-area-inset-left));background:#0b0b0adb;backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border-top:1px solid var(--line)}.tab{position:relative;display:grid;justify-items:center;gap:3px;padding:8px 0 6px;background:none;border:0;color:var(--dim);transition:color .25s}.tab svg{transition:transform .35s var(--spring)}.tab:active svg{transform:scale(.85)}.tab-label{font-size:11px;font-weight:600}.tab-freq{font-family:var(--mono);font-size:8px;height:10px;color:var(--signal);opacity:0;transform:translateY(-3px);transition:opacity .3s,transform .3s var(--ease)}.tab[aria-current=page]{color:var(--signal)}.tab[aria-current=page] svg{transform:translateY(-1px);filter:drop-shadow(0 0 8px rgba(255,90,31,.55))}.tab[aria-current=page] .tab-label{color:var(--ink)}.tab[aria-current=page] .tab-freq{opacity:1;transform:none}.hero{position:relative;display:grid;gap:14px;padding:18px;border-radius:var(--r-lg);background:radial-gradient(120% 90% at 100% 0%,rgba(255,90,31,.18),transparent 55%),var(--surface);border:1px solid var(--line);overflow:hidden;animation:rise .5s var(--ease) both}.hero-top{display:flex;align-items:center;justify-content:space-between}.live{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--signal)}.theme-text{margin:0;font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:750;font-size:23px;line-height:1.15;letter-spacing:-.02em;text-wrap:balance}.hero-cta{display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px 0 6px;border:0;background:none}.hero-plus{position:relative;display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--signal);color:var(--on-signal);font-size:36px;font-weight:300;box-shadow:0 14px 40px -10px var(--signal);transition:transform .2s var(--spring)}.hero-cta:active .hero-plus{transform:scale(.92)}.ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px solid var(--signal);animation:ripple 2.6s ease-out infinite}.ring-2{animation-delay:1.3s}.hero-cta-text{position:relative;z-index:1;margin-top:10px;font-weight:700}.hero-cta .hero-plus{z-index:0}.hero-track{display:flex;align-items:center;gap:14px;padding:12px;border-radius:var(--r-md);background:var(--panel)}.feed-item{display:grid;gap:8px;padding:12px;border-radius:var(--r-md);background:var(--surface);margin-bottom:8px;animation:rise .4s var(--ease) both}.feed-item:nth-child(2){animation-delay:.04s}.feed-item:nth-child(3){animation-delay:.08s}.feed-item:nth-child(4){animation-delay:.12s}.feed-item:nth-child(5){animation-delay:.16s}.feed-item .row{gap:10px}.feed-item .icon-btn{width:36px;height:36px}.feed-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.feed-links .track-links{margin-top:0}.reactions{display:flex;flex-wrap:wrap;gap:4px}.react{position:relative;display:inline-flex;align-items:center;gap:5px;height:32px;min-width:32px;justify-content:center;padding:0 9px;border:0;border-radius:999px;background:var(--surface-2);color:var(--ink);transition:transform .25s var(--spring),background .2s,color .2s}.react:active{transform:scale(.88)}.react.empty{background:none;padding:0 6px;color:var(--dim)}.react.on{background:var(--signal-soft);color:var(--signal)}.react.on .react-icon{filter:drop-shadow(0 0 6px rgba(255,90,31,.6))}.react.burst .react-icon{animation:react-pop .5s var(--spring)}.react.burst:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;border:1.5px solid var(--signal);animation:react-ring .6s ease-out forwards;pointer-events:none}@keyframes react-pop{0%{transform:scale(1)}35%{transform:scale(1.45) rotate(-8deg)}to{transform:scale(1)}}@keyframes react-ring{0%{transform:scale(1);opacity:.8}to{transform:scale(1.7);opacity:0}}.react-n{font-family:var(--mono);font-size:11px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px}.stats>div{display:grid;gap:4px;min-width:0;padding:14px;border-radius:var(--r-md);background:var(--surface)}.stat-n{font-family:var(--mono);font-weight:600;font-size:24px;font-variant-numeric:tabular-nums}.stat-text{font-family:var(--body);font-size:16px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-l{font-size:12px;color:var(--muted)}.history{display:grid;gap:18px}.history-day{display:grid;gap:6px}.history-head{display:grid;gap:2px}.history-day .row{padding:6px 0}.history-day .icon-btn{width:34px;height:34px}.slot{display:flex;align-items:center;gap:14px;width:100%;padding:14px;text-align:left;background:var(--surface);border:1px dashed var(--line-2);border-radius:var(--r-md);transition:background .2s}.slot:active{background:var(--surface-2)}.slot strong{display:block}.slot-sub{display:block;font-size:13px;color:var(--muted)}.slot-plus{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:var(--signal-soft);color:var(--signal);font-size:22px}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tile{display:grid;justify-items:center;gap:8px;padding:18px 10px;border:0;border-radius:var(--r-md);background:var(--surface);color:var(--signal);font-size:13px;transition:transform .18s var(--spring)}.tile span{color:var(--ink);font-weight:600}.tile:active{transform:scale(.97)}.tile:disabled{opacity:.4}.chat{display:flex;flex-direction:column;gap:16px;min-height:100%}.msgs{list-style:none;margin:0;padding:0;display:grid;gap:12px}.msg{display:grid;gap:4px;justify-items:start;max-width:86%;animation:rise .3s var(--ease) both}.msg.mine{justify-self:end;justify-items:end}.msg-who{padding:0 4px;border:0;background:none;font-size:12px;font-weight:700;color:var(--signal-2)}.msg-body{display:grid;gap:4px;cursor:pointer}.msg.mine .msg-body{justify-items:end}.bubble{margin:0;padding:10px 14px;background:var(--surface-2);border-radius:6px 20px 20px;overflow-wrap:anywhere}.msg.mine .bubble{background:var(--signal);color:var(--on-signal);border-radius:20px 6px 20px 20px}.bubble a{color:inherit;text-decoration:underline;text-underline-offset:2px}.track-card{display:flex;align-items:center;gap:12px;padding:10px;background:var(--surface-2);border-radius:6px 20px 20px;min-width:0}.msg.mine .track-card{border-radius:20px 6px 20px 20px;box-shadow:inset 0 0 0 1px #ff5a1f73}.track-note{font-size:12px;color:var(--muted)}.quote{display:grid;max-width:260px;padding:6px 10px;border-left:2px solid var(--signal);border-radius:4px;background:var(--surface);font-size:12px;color:var(--muted)}.quote-who{font-weight:700;color:var(--ink)}.msg-reacts{display:flex;gap:4px}.msg-menu{display:grid;gap:8px;padding:10px;background:var(--raise);border-radius:var(--r-md);box-shadow:0 20px 40px -20px #000;animation:pop .22s var(--spring) both}.msg-menu-row{display:flex;gap:18px}.composer-wrap{position:sticky;bottom:0;margin-top:auto;display:grid;gap:8px;padding:10px 0 12px;background:linear-gradient(transparent,var(--panel) 30%)}.composer{display:flex;align-items:center;gap:8px}.composer .input{border-radius:999px;padding:12px 16px}.composer .btn-sm{width:46px;height:46px;padding:0;border-radius:50%;font-size:18px}.attach{flex:none;display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;background:var(--surface-2);color:var(--signal);font-size:20px}.replying{display:flex;align-items:center;justify-content:space-between;gap:8px}.strip{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.strip::-webkit-scrollbar{display:none}.strip-item{flex:none;display:grid;gap:6px;width:68px;font-size:11px;color:inherit;text-decoration:none}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;gap:14px;padding:calc(env(safe-area-inset-top) + 10px) max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));background:var(--panel);animation:sheet .36s var(--ease) both}.sheet-grip{justify-self:center;align-self:center;width:36px;height:4px;border-radius:2px;background:var(--line-2)}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.sheet-head .screen-title{font-size:26px}.sheet-body,.sheet-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:22px;padding-bottom:calc(env(safe-area-inset-bottom) + 24px)}.sheet-list{gap:10px}.invite-box{display:grid;gap:10px;justify-items:start;padding:18px;border-radius:var(--r-lg);background:radial-gradient(120% 100% at 0% 0%,rgba(255,90,31,.16),transparent 60%),var(--surface)}.room-code{font-family:var(--mono);font-weight:700;font-size:40px;letter-spacing:.12em;line-height:1;color:var(--ink)}.artists{padding:4px 0 6px}.artist-chip{border:0;background:none;padding:0;text-align:center;width:68px;justify-items:center}.artist-pic{width:60px;height:60px;border-radius:50%;object-fit:cover;background:var(--surface-2);transition:transform .2s var(--spring)}.artist-chip:active .artist-pic{transform:scale(.92)}.artist-head{display:grid;gap:12px;justify-items:start;padding-bottom:6px}.artist-title{display:flex;align-items:center;gap:14px}.artist-title>span{display:grid}.searching{list-style:none;padding:4px 0}.profile-head{display:flex;align-items:center;gap:16px}.profile-name{display:grid;gap:4px;justify-items:start}.profile-nick{margin:0;font-family:var(--display);font-variation-settings:"wdth" 110;font-weight:800;font-size:24px;letter-spacing:-.02em}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:7px 12px;border-radius:999px;background:var(--surface-2);font-size:13px}.chip-on{background:var(--signal-soft);color:var(--signal-2)}.onboarding{height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:32px;overflow-y:auto;padding:calc(env(safe-area-inset-top) + 36px) max(22px,env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 24px) max(22px,env(safe-area-inset-left));background:radial-gradient(90% 50% at 50% 0%,rgba(255,90,31,.14),transparent 70%),var(--panel)}.onb-top{display:grid;gap:18px;animation:rise .6s var(--ease) both}.onb-sub{margin:0;max-width:28ch;font-size:18px;color:var(--muted)}.onb-form{display:grid;gap:10px;animation:rise .6s .15s var(--ease) both}.gate{display:grid;gap:32px}.wordmark{font-family:var(--display);font-weight:900;font-variation-settings:"wdth" 125;text-transform:uppercase}.wordmark-xl{font-size:clamp(64px,21vw,104px);line-height:.85;letter-spacing:-.05em;background:linear-gradient(180deg,var(--ink) 40%,rgba(243,240,233,.55));-webkit-background-clip:text;background-clip:text;color:transparent}.movie{display:grid;gap:16px}.movie-poster{position:relative;aspect-ratio:2 / 3;width:min(100%,320px);max-width:100%;margin:0 auto;overflow:hidden;border-radius:var(--r-lg);background:var(--surface-2);box-shadow:0 30px 60px -30px #000,0 0 0 1px var(--line);touch-action:pan-y;-webkit-user-select:none;user-select:none;animation:deal .42s var(--spring) both}.movie-poster img{width:100%;height:100%;object-fit:cover;pointer-events:none}.poster-shade{position:absolute;inset:auto 0 0;display:grid;gap:4px;padding:60px 18px 18px;background:linear-gradient(transparent,#000000e0);color:#fff}.movie-title{margin:0;font-family:var(--display);font-variation-settings:"wdth" 110;font-weight:800;font-size:26px;letter-spacing:-.02em;line-height:1.05;text-wrap:balance}.poster-sub{font-family:var(--mono);font-size:11px;opacity:.8}.stamp{position:absolute;top:20px;padding:6px 12px;border:2.5px solid currentColor;border-radius:8px;font-family:var(--display);font-weight:900;font-size:22px;text-transform:uppercase;background:#00000059}.stamp-yes{left:18px;color:var(--signal);transform:rotate(-10deg)}.stamp-no{right:18px;color:#fff;transform:rotate(10deg)}.movie-body{display:grid;gap:4px;text-align:center}.movie-actions{display:flex;justify-content:center;gap:28px}.vote{display:grid;place-items:center;width:64px;height:64px;border:0;border-radius:50%;transition:transform .2s var(--spring)}.vote:active{transform:scale(.88)}.vote-no{background:var(--surface-2);color:var(--ink)}.vote-yes{width:72px;height:72px;background:var(--signal);color:var(--on-signal);box-shadow:0 14px 40px -12px var(--signal)}.profile-head+.onb-form .movie-actions,.onb-form .movie-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.poster-sm{flex:none;width:42px;height:62px;border-radius:8px;object-fit:cover;background:var(--surface-2)}.rolling{background:var(--signal-soft)}.rolled{box-shadow:inset 0 0 0 1px var(--signal)}.rolled .row-title{color:var(--signal)}.watched .row-title{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--line-2)}.match{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:calc(env(safe-area-inset-top) + 24px) max(24px,env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 24px) max(24px,env(safe-area-inset-left));background:radial-gradient(70% 50% at 50% 40%,rgba(255,90,31,.22),transparent 70%),var(--panel);text-align:center;overflow:hidden;animation:fade .3s ease-out both}.match-pulse{position:absolute;top:40%;left:50%;width:0;height:0}.match-pulse span{position:absolute;left:-160px;top:-160px;width:320px;height:320px;border-radius:50%;border:1.5px solid var(--signal);animation:ripple 3s ease-out infinite}.match-pulse span:nth-child(2){animation-delay:1s}.match-pulse span:nth-child(3){animation-delay:2s}.match-title{position:relative;margin:0;font-family:var(--display);font-weight:900;font-variation-settings:"wdth" 125;font-size:44px;letter-spacing:-.03em;text-transform:uppercase;color:var(--ink);animation:pop .5s .1s var(--spring) both}.match-poster{position:relative;width:min(56vw,220px);aspect-ratio:2 / 3;object-fit:cover;border-radius:var(--r-md);box-shadow:0 30px 60px -20px #000;animation:deal .6s .2s var(--spring) both}.match .btn,.match .label,.match .profile-nick,.match .link-btn{position:relative}.match .btn{width:min(100%,320px)}.vibe{display:grid;gap:8px;padding:14px;border-radius:var(--r-md);background:var(--surface);margin-bottom:8px;cursor:pointer;transition:transform .18s var(--spring)}.vibe:active{transform:scale(.98)}.vibe-head{display:flex;justify-content:space-between;align-items:baseline}.vibe-score{font-family:var(--mono);font-weight:600;font-variant-numeric:tabular-nums;color:var(--signal)}.meter{height:4px;border-radius:2px;background:var(--surface-2);overflow:hidden}.meter-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--signal),var(--signal-2));transform-origin:left;animation:grow .9s var(--ease) both}.vibe-hero{display:grid;justify-items:center;gap:6px;text-align:center;padding:18px;border-radius:var(--r-lg);background:radial-gradient(80% 70% at 50% 30%,rgba(255,90,31,.16),transparent 70%),var(--surface)}.pair{display:flex;animation:pop .5s var(--spring) both}.pair .avatar+.avatar{margin-left:-14px;box-shadow:0 0 0 3px var(--surface)}.waves{width:100%;height:70px;overflow:visible}.waves path{fill:none;stroke-width:2;stroke-linecap:round}.waves-a path{stroke:var(--signal)}.waves-b path{stroke:var(--ink);opacity:.55}.waves-a,.waves-b{animation:drift 4s ease-in-out infinite alternate}.waves-b{animation-delay:-2s}.vibe-big{font-family:var(--mono);font-weight:700;font-size:60px;letter-spacing:-.04em;color:var(--ink);line-height:1}.confirm{align-items:center;justify-content:center;text-align:center;gap:14px;padding-bottom:calc(env(safe-area-inset-bottom) + 24px);background:radial-gradient(80% 50% at 50% 30%,rgba(255,90,31,.18),transparent 70%),var(--panel)}.confirm-cover{width:min(64vw,260px);max-width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-lg);box-shadow:0 30px 70px -25px #000;animation:deal .5s var(--spring) both}.confirm-info{display:grid;gap:2px}.confirm .hint-sm{max-width:32ch}.confirm-actions{display:grid;gap:8px;width:min(100%,320px)}.player{position:relative;margin:0 max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left));padding:0 10px;border-radius:var(--r-md);background:var(--raise);box-shadow:0 16px 40px -18px #000;overflow:hidden;animation:rise .35s var(--ease) both}.player-bar{position:relative;height:10px;margin:0 -10px;cursor:pointer}.player-bar:before,.player-fill{content:"";position:absolute;left:0;top:0;height:2px}.player-bar:before{right:0;background:var(--line)}.player-fill{background:var(--signal);box-shadow:0 0 8px var(--signal)}.player-row{display:flex;align-items:center;gap:4px;padding-bottom:8px}.player-row .icon-btn{width:36px;height:36px;background:none}.player-info{display:grid;margin-left:8px;min-width:0;flex:1}button.player-info{padding:0;border:0;background:none;text-align:left}.player-main{color:var(--ink)}.player-foot{display:flex;align-items:center;gap:6px}.yt-box{position:relative;flex:none;width:64px;height:36px;overflow:hidden;border-radius:8px;background:#000}.yt-box iframe{display:block;width:64px;height:36px}.yt-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.yt-tap{position:absolute;inset:auto 0 0 0;font-family:var(--mono);font-size:8px;text-align:center;color:var(--on-signal);background:var(--signal);pointer-events:none}.player-open{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;margin:0;display:flex;flex-direction:column;gap:18px;overflow-y:auto;border-radius:0;padding:calc(env(safe-area-inset-top) + 12px) max(18px,env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 24px) max(18px,env(safe-area-inset-left));background:radial-gradient(90% 50% at 50% 20%,rgba(255,90,31,.16),transparent 70%),var(--panel);animation:sheet .36s var(--ease) both}.player-top{display:flex;align-items:center;justify-content:space-between}.player-open .player-row{justify-content:center;padding:0}.player-open .yt-box:not(.yt-hidden){width:100%;height:auto;aspect-ratio:16 / 9;border-radius:var(--r-lg);box-shadow:0 30px 70px -25px #000}.player-open .yt-box:not(.yt-hidden) iframe{width:100%;height:100%}.player-open .cover{border-radius:var(--r-lg);box-shadow:0 30px 70px -25px #000}.player-open .player-bar{margin:0;height:14px}.player-open .player-bar:before,.player-open .player-fill{top:6px;height:3px;border-radius:2px}.player-body{display:flex;flex-direction:column;gap:14px}.player-meta{display:grid;gap:2px}.player-times{display:flex;justify-content:space-between;margin-top:-10px}.player-controls{display:flex;justify-content:center;align-items:center;gap:30px}.player-controls .icon-btn{width:54px;height:54px;background:none}.player-controls .icon-btn svg{width:24px;height:24px}.player-controls .player-main{width:72px;height:72px;background:var(--ink);color:var(--panel)}.queue-now .row-title{color:var(--signal)}.room{display:grid;gap:4px}.round-head{display:flex;align-items:baseline;justify-content:space-between}.reveal{display:flex;align-items:center;gap:14px}.options{list-style:none;margin:0;padding:0;display:grid;gap:8px}.option{width:100%;display:grid;gap:2px;padding:14px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}.option.picked{border-color:var(--ink)}.option.correct{border-color:var(--signal)}.option.wrong{opacity:.5}.winner .row-title,.winner .vibe-score{color:var(--signal)}@keyframes tune{0%{opacity:0;transform:translateY(8px);filter:blur(3px)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}@keyframes sheet{0%{transform:translateY(40px);opacity:0}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.85)}}@keyframes deal{0%{opacity:0;transform:translateY(30px) scale(.94) rotate(-2deg)}}@keyframes grow{0%{transform:scaleX(0)}}@keyframes ripple{0%{transform:scale(1);opacity:.7}to{transform:scale(1.9);opacity:0}}@keyframes beacon{0%{box-shadow:0 0 #ff5a1f99}70%,to{box-shadow:0 0 0 7px #ff5a1f00}}@keyframes eq{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@keyframes drift{0%{transform:translate(-6px)}to{transform:translate(6px)}}@keyframes sweep{0%{left:2%}45%{left:96%}to{left:4.4%}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.player-open,.sheet,.match{z-index:40}.app>.player-open{position:fixed}.toast{font-size:13px;color:var(--signal-2);opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s var(--ease);min-height:18px}.toast.show{opacity:1;transform:none}.toast.floating{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 96px);transform:translate(-50%);z-index:60;padding:10px 16px;border-radius:999px;background:var(--raise);color:var(--ink);box-shadow:0 16px 40px -16px #000;white-space:nowrap;animation:pop .3s var(--spring) both}.top-toast{bottom:auto!important;top:calc(env(safe-area-inset-top) + 12px)}.invite-top{display:flex;justify-content:space-between;width:100%}button.room-code{display:flex;gap:6px;padding:0;border:0;background:none}button.room-code span{display:grid;place-items:center;width:40px;height:52px;border-radius:10px;background:var(--panel);font-size:26px;letter-spacing:0;animation:pop .4s var(--spring) both}button.room-code span:nth-child(2){animation-delay:.04s}button.room-code span:nth-child(3){animation-delay:.08s}button.room-code span:nth-child(4){animation-delay:.12s}button.room-code span:nth-child(5){animation-delay:.16s}button.room-code span:nth-child(6){animation-delay:.2s}.invite-actions{display:flex;flex-wrap:wrap;gap:8px}.conv-head{display:flex;align-items:center;gap:14px}.room-mark.big{width:56px;height:56px;font-size:22px}.member{display:flex;align-items:center}.member .row-btn{flex:1}.kick{width:32px;height:32px;color:var(--muted)}.limits{display:flex;flex-wrap:wrap;gap:6px}.confirm-inline{display:grid;gap:10px;padding:14px;border-radius:var(--r-md);background:var(--surface)}.confirm-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.danger{background:#d93a2b;color:#fff;box-shadow:none}.muted{color:var(--muted)}.choice{display:grid;gap:4px;width:100%;padding:18px;text-align:left;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);transition:transform .18s var(--spring),border-color .2s}.choice:active{transform:scale(.98);border-color:var(--signal)}.choice-title{font-family:var(--display);font-variation-settings:"wdth" 108;font-weight:800;font-size:20px}.or{display:flex;align-items:center;gap:12px;color:var(--dim);font-size:12px}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}.google{gap:10px}.center{text-align:center}.settings{display:grid;gap:18px;padding:16px;border-radius:var(--r-md);background:var(--surface)}.setting{display:grid;gap:8px;justify-items:start}.swatches{display:flex;gap:10px}.swatch{width:30px;height:30px;border:0;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff26;transition:transform .2s var(--spring)}.swatch.on{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--ink);transform:scale(1.08)}.lib-hero{display:flex;align-items:center;gap:20px;padding:18px;border-radius:var(--r-lg);background:radial-gradient(100% 120% at 0% 100%,rgba(255,90,31,.18),transparent 60%),var(--surface)}.lib-stack{position:relative;flex:none;width:104px;height:80px}.lib-cover{position:absolute;top:4px;border-radius:10px;box-shadow:0 12px 24px -10px #000;animation:deal .5s var(--spring) both}.lib-cover.c0{left:32px;z-index:3}.lib-cover.c1{left:16px;z-index:2;transform:rotate(-6deg) scale(.92);animation-delay:.05s}.lib-cover.c2{left:0;z-index:1;transform:rotate(-12deg) scale(.84);animation-delay:.1s}.lib-empty-disc{position:absolute;top:4px;right:12px;bottom:4px;left:12px;border-radius:50%;background:repeating-radial-gradient(circle,var(--surface-2) 0 2px,var(--panel) 2px 5px);box-shadow:inset 0 0 0 18px var(--surface-2),0 0 0 1px var(--line);animation:spin 8s linear infinite}.lib-count{font-family:var(--mono);font-size:36px;font-weight:700;line-height:1}.lib-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lib-tabs{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.input-sm{padding:11px 14px;font-size:15px}.lib-row{padding:8px 0}.row-pick-text{padding:0;border:0;background:none;text-align:left}.heart{background:none;color:var(--dim)}.heart.on{color:var(--signal)}.heart.burst svg{animation:react-pop .5s var(--spring)}.player-meta-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.player-row .heart{width:34px;height:34px}.empty-card{list-style:none;display:grid;gap:8px;justify-items:start;padding:20px;border-radius:var(--r-lg);border:1px dashed var(--line-2);background:var(--surface)}.view-switch{justify-content:center}.deck-wrap{display:grid;gap:12px}.deck{position:relative;width:min(100%,calc((100dvh - 380px)*.66),340px);min-width:min(100%,230px);aspect-ratio:2 / 3;margin:0 auto}.swipe-card{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:var(--r-lg);background:var(--surface-2);box-shadow:0 30px 60px -30px #000,0 0 0 1px var(--line);touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.swipe-card.top{z-index:2;animation:deal .4s var(--spring) both}.swipe-card.under{z-index:1;transform:scale(.94) translateY(14px);opacity:.6;filter:brightness(.7);transition:transform .3s var(--ease),opacity .3s}.swipe-card img{width:100%;height:100%;object-fit:cover;pointer-events:none}.card-skeleton{width:100%;height:100%;background:linear-gradient(100deg,var(--surface-2) 30%,var(--raise) 50%,var(--surface-2) 70%) 0 0 / 300% 100%;animation:shimmer 1.4s linear infinite}.card-badge{position:absolute;top:14px;left:14px;padding:5px 10px;border-radius:999px;background:#0b0b0ab3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:11px;font-weight:600;color:var(--signal-2)}.card-badge.soft{color:var(--ink)}.swipe-card .poster-shade{padding:80px 18px 18px;gap:6px}.card-desc{margin:2px 0 0;font-size:13px;line-height:1.4;color:#ffffffd1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-more{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:#ffffff80}.stamp-right{left:18px;top:60px;color:var(--signal);transform:rotate(-12deg)}.stamp-left{right:18px;top:60px;color:#fff;transform:rotate(12deg)}.stamp-up{left:50%;top:40%;color:#fff;transform:translate(-50%)}.deck-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:8px;padding:24px;text-align:center;border-radius:var(--r-lg);border:1px dashed var(--line-2)}.deck-hints{display:flex;justify-content:space-between;width:min(100%,340px);margin:0 auto;font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--dim)}.deck-actions{display:flex;justify-content:space-between;width:min(100%,340px);margin:0 auto}.coach{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-content:center;justify-items:center;gap:6px;border-radius:var(--r-lg);background:#0b0b0a8c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);text-align:center;font-weight:700;animation:fade .4s ease-out both}.coach-hand{width:44px;height:44px;margin-bottom:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 8px #ff5a1f40;animation:coach 2.2s var(--ease) infinite}.match-row{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--r-md);background:var(--surface);margin-bottom:8px;transition:background .15s,box-shadow .15s}.btn-soft{background:var(--signal-soft);color:var(--signal);box-shadow:none}.on-no{box-shadow:inset 0 0 0 1px var(--ink)}.detail-media{display:grid}.detail-poster{position:relative;width:min(100%,260px);margin:0 auto;aspect-ratio:2 / 3;border-radius:var(--r-lg);overflow:hidden;background:var(--surface-2);box-shadow:0 30px 70px -25px #000}.detail-poster img{width:100%;height:100%;object-fit:cover}.trailer-btn{position:absolute;left:50%;bottom:16px;transform:translate(-50%);display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:0;border-radius:999px;background:var(--signal);color:var(--on-signal);font-weight:700;box-shadow:0 12px 30px -10px var(--signal)}.trailer{width:100%;aspect-ratio:16 / 9;border:0;border-radius:var(--r-lg);background:#000}.detail-info{display:grid;gap:10px}.detail-desc{margin:0;font-size:15px;line-height:1.55;color:var(--ink)}.chat-status{position:sticky;top:-18px;z-index:2;margin:-18px calc(-1*max(18px,env(safe-area-inset-left))) 0;padding:8px max(18px,env(safe-area-inset-left));background:linear-gradient(var(--panel) 60%,transparent);font-size:12px;color:var(--muted)}.online,.typing{display:inline-flex;align-items:center;gap:8px}.typing{color:var(--signal-2)}.typing-dots{display:inline-flex;gap:3px}.typing-dots i{width:5px;height:5px;border-radius:50%;background:currentColor;animation:dots 1.2s ease-in-out infinite}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}.day-sep{list-style:none;display:flex;justify-content:center;padding:6px 0}.day-sep span{padding:4px 12px;border-radius:999px;background:var(--surface);font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.msgs{gap:3px}.msg.first{margin-top:10px}.msg:not(.first):not(.mine) .bubble,.msg:not(.first):not(.mine) .track-card{border-top-left-radius:20px}.msg.mine:not(.first) .bubble,.msg.mine:not(.first) .track-card{border-top-right-radius:20px}.msg:not(.last):not(.mine) .bubble{border-bottom-left-radius:6px}.msg.mine:not(.last) .bubble{border-bottom-right-radius:6px}.msg.mine .bubble{background:linear-gradient(135deg,var(--signal),#ff7a3c)}@keyframes shimmer{to{background-position:-300% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes coach{0%,to{transform:translate(0)}30%{transform:translate(46px) rotate(8deg)}65%{transform:translate(-46px) rotate(-8deg)}}@keyframes dots{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
