:root{color-scheme:dark;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;--bg: #0b0b0c;--sidebar: #111112;--surface: #161617;--surface-hover: #1d1d1f;--line: #29292c;--line-soft: #202022;--text: #f1f1f1;--muted: #8c8c91;--muted-2: #646469;--accent: #ffd633;--accent-hover: #ffe26a;--danger: #ef777f;--green: #71c993}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0}body{overflow-x:hidden;color:var(--text);background:var(--bg);font-size:14px}button,input{font:inherit;letter-spacing:0}button,a,label,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,label:focus-within,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.45}h1,h2,p{margin:0}h1{font-size:32px;line-height:1.15}h2{font-size:17px}p{color:var(--muted);line-height:1.55}.button-reset{padding:0;border:0;color:inherit;background:none;cursor:pointer}.spin{animation:spin .85s linear infinite}.view-enter{animation:view-in .22s ease both}.button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:1px solid transparent;border-radius:6px;color:var(--text);background:transparent;cursor:pointer;text-decoration:none;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.button.primary{color:#111;background:var(--accent)}.button.primary:hover:not(:disabled){background:var(--accent-hover)}.button.subtle{border-color:var(--line);background:var(--surface)}.button.subtle:hover:not(:disabled){border-color:#3a3a3e;background:var(--surface-hover)}.button.icon{width:38px;padding:0}.button.danger{color:var(--danger)}.button.full{width:100%}.text-action{padding:4px 0;border:0;color:var(--muted);background:none;cursor:pointer;font-size:12px}.text-action:hover{color:var(--text)}.text-action.danger:hover{color:var(--danger)}.wordmark{display:inline-flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-size:18px;font-weight:750}.wordmark img{width:28px;height:28px;border-radius:7px}.boot-screen{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--muted)}.auth-page{min-height:100vh;display:grid;grid-template-rows:72px 1fr 56px}.auth-header{display:flex;align-items:center;padding:0 32px;border-bottom:1px solid var(--line-soft)}.auth-main{display:grid;place-items:center;padding:48px 20px}.auth-form{width:min(360px,100%);display:grid;gap:18px}.auth-title{display:grid;gap:8px;margin-bottom:6px}.auth-title h1{font-size:28px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.auth-tabs button{min-height:40px;border:0;border-bottom:2px solid transparent;color:var(--muted);background:none;cursor:pointer;font-size:13px}.auth-tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.auth-form label,.stack-form label,.inline-form label,.password-form label{display:grid;gap:7px;color:#c5c5c8;font-size:12px;font-weight:600}input{width:100%;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:6px;outline:0;color:var(--text);background:#101011}input:focus{border-color:#6e6127;box-shadow:0 0 0 3px #ffd63312}input:disabled{color:var(--muted-2);background:#131314}.inline-error{padding:10px 12px;border-left:2px solid var(--danger);color:#ef9ba1;background:#211416;font-size:12px}.auth-footer{display:grid;place-items:center;color:var(--muted-2);font-size:11px}.product-shell{min-height:100vh;display:grid;grid-template-columns:236px minmax(0,1fr)}.sidebar{position:sticky;top:0;z-index:10;height:100vh;display:flex;flex-direction:column;padding:20px 14px 14px;border-right:1px solid var(--line-soft);background:var(--sidebar)}.sidebar-head{height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;margin-bottom:26px}.mobile-close{display:none}.main-nav,.services-nav{display:grid;gap:3px}.main-nav button,.services-nav button{width:100%;min-height:40px;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;padding:0 10px;border:0;border-radius:6px;color:#a5a5aa;background:none;text-align:left;cursor:pointer;font-size:13px}.main-nav button:hover,.services-nav button:hover{color:var(--text);background:var(--surface-hover)}.main-nav button.active,.services-nav button.active{color:var(--text);background:#222224}.main-nav button:disabled{opacity:.35}.services-nav{margin-top:28px;padding-top:18px;border-top:1px solid var(--line-soft)}.services-nav button{grid-template-columns:26px 1fr auto}.services-nav button small{color:var(--muted-2);font-size:9px}.services-nav button.disconnected{color:#77777c}.nav-label{padding:0 10px 7px;color:var(--muted-2);font-size:10px;font-weight:700;text-transform:uppercase}.service-badge{width:24px;height:24px;overflow:hidden;display:grid;place-items:center;border-radius:5px}.service-badge img{width:14px;height:14px;display:block;object-fit:contain}.service-badge.yandex{border:1px solid #2e2e30;background:#080808}.service-badge.vk{background:#2787f5}.service-badge.large{width:42px;height:42px;border-radius:8px}.service-badge.large img{width:24px;height:24px}.profile-link{width:100%;min-height:56px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;margin-top:auto;padding:8px;border:0;border-radius:7px;color:var(--text);background:none;text-align:left;cursor:pointer}.profile-link:hover{background:var(--surface-hover)}.profile-link>span:nth-child(2){min-width:0;display:grid;gap:3px}.profile-link strong,.profile-link small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.profile-link strong{font-size:12px}.profile-link small{color:var(--muted);font-size:10px}.avatar{flex:0 0 auto;overflow:hidden;display:grid;place-items:center;border-radius:50%;color:#111;background:var(--accent)}.avatar img,.avatar-button img{width:100%;height:100%;object-fit:cover}.avatar.small{width:34px;height:34px;font-size:12px}.avatar.large{width:78px;height:78px;font-size:26px}.workspace{min-width:0}.workspace-bar{height:58px;display:none;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--line-soft);background:var(--bg)}.workspace-bar>span{overflow:hidden;font-size:13px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.menu-button{width:36px;height:36px;display:grid;place-items:center}.avatar-button{width:30px;height:30px;overflow:hidden;display:grid;place-items:center;border-radius:50%;color:#111;background:var(--accent);font-size:11px}.workspace-content{width:min(960px,calc(100% - 64px));margin:0 auto;padding:56px 0 90px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px}.page-header.compact{margin-top:26px}.page-header>div:first-child{min-width:0;display:grid;gap:8px}.page-header h1{overflow-wrap:anywhere}.page-header p{font-size:13px}.section-kicker{color:var(--muted);font-size:11px;font-weight:650}.room-size{display:grid;justify-items:end;gap:7px}.room-size>span{color:var(--muted-2);font-size:10px}.room-size>div{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.room-size button{width:38px;height:32px;border:0;border-right:1px solid var(--line);color:var(--muted);background:var(--surface);cursor:pointer}.room-size button:last-child{border-right:0}.room-size button.active{color:#111;background:var(--accent)}.notice{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:13px 15px;border-left:3px solid var(--accent);background:#1b1910}.notice span{display:grid;gap:3px;color:var(--muted);font-size:12px}.notice strong{color:var(--text)}.loading-row{min-height:180px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted)}.playlist-list{border-top:1px solid var(--line)}.playlist-row{min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;border-bottom:1px solid var(--line-soft)}.playlist-open{min-width:0;min-height:67px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;padding:7px 4px;border:0;color:var(--text);background:none;text-align:left;cursor:pointer}.playlist-open:hover strong{text-decoration:underline;text-underline-offset:3px}.playlist-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:6px;color:#a9a9ae;background:var(--surface-hover)}.playlist-icon.liked{color:#eb8fa9;background:#281a20}.playlist-open>span:nth-child(2){min-width:0;display:grid;gap:4px}.playlist-open strong,.playlist-open small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.playlist-open strong{font-size:13px}.playlist-open small{color:var(--muted);font-size:11px}.back-link{display:inline-flex;align-items:center;gap:7px;margin-bottom:28px;padding:0;border:0;color:var(--muted);background:none;cursor:pointer;font-size:12px}.back-link:hover{color:var(--text)}.track-list{border-top:1px solid var(--line)}.track-row{min-height:54px;display:grid;grid-template-columns:30px minmax(0,1fr) 34px;align-items:center;gap:10px;border-bottom:1px solid var(--line-soft)}.track-row>span{color:var(--muted-2);font-size:10px;text-align:center}.track-row>div{min-width:0;display:grid;gap:3px}.track-row strong,.track-row small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.track-row strong{font-size:12px}.track-row small{color:var(--muted);font-size:10px}.track-row a{width:30px;height:30px;display:grid;place-items:center;border-radius:5px;color:var(--muted)}.track-row a:hover{color:var(--text);background:var(--surface-hover)}.settings-section{display:grid;grid-template-columns:220px minmax(0,1fr);gap:42px;padding:32px 0;border-top:1px solid var(--line)}.settings-copy{display:grid;align-content:start;gap:7px}.settings-copy p{font-size:12px}.settings-content{min-width:0}.profile-editor{display:grid;grid-template-columns:78px 1fr;gap:20px}.avatar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.avatar-actions small{flex-basis:100%;color:var(--muted-2);font-size:10px}.inline-form{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:10px}.connection-list{border-top:1px solid var(--line)}.connection-row{min-height:72px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;border-bottom:1px solid var(--line-soft)}.connection-row>span{min-width:0;display:grid;gap:4px}.connection-row strong,.connection-row small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.connection-row small{color:var(--muted);font-size:10px}.row-actions{display:flex;align-items:center;gap:12px}.password-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.password-form .button{justify-self:start}.logout-section{padding-bottom:0}.narrow-page{width:min(440px,100%);padding-top:8px}.narrow-page>.service-badge{margin-bottom:22px}.narrow-page h1{margin-bottom:10px;font-size:26px}.narrow-page>p{margin-bottom:26px}.stack-form{display:grid;gap:16px}.device-code{display:grid;grid-template-columns:1fr auto 38px;align-items:center;gap:12px;margin:26px 0 12px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.device-code>span{color:var(--muted);font-size:10px}.device-code strong{font-size:21px;letter-spacing:.08em}.status-line{min-height:42px;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.history-list{border-top:1px solid var(--line)}.history-list article{min-height:66px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;border-bottom:1px solid var(--line-soft)}.history-list article>button:first-child{min-width:0;min-height:65px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:0 4px;border:0;color:var(--text);background:none;text-align:left;cursor:pointer}.history-list article>button:first-child span{min-width:0;display:grid;gap:4px}.history-list strong,.history-list small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.history-list small{color:var(--muted);font-size:10px}.empty-state{min-height:320px;display:grid;place-content:center;justify-items:center;gap:8px;color:var(--muted);text-align:center}.empty-state h2{margin-top:8px;color:var(--text)}.empty-state p,.empty-copy{font-size:12px}.waiting-room{width:min(760px,100%);margin:10px auto;padding:40px;border:1px solid var(--line);border-radius:8px;background:#111112;text-align:center}.waiting-room>svg{margin-bottom:16px;color:var(--accent)}.waiting-room h1{margin:12px 0 4px;font-size:54px}.participant-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:30px 0;text-align:left}.participant-list>div{min-width:0;min-height:76px;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;padding:14px 16px;border:1px dashed #36363a;border-radius:7px;color:var(--muted);background:#0d0d0e}.participant-list>div.filled{border-style:solid;border-color:#274632;color:var(--green);background:#111a14}.participant-list>div>svg{justify-self:center}.participant-list span{min-width:0;display:grid;gap:4px}.participant-list strong{overflow-wrap:anywhere;font-size:14px}.participant-list small{color:var(--muted);font-size:11px;line-height:1.35}.invite-button{min-height:44px;padding:0 20px}.result-view{display:grid;gap:20px}.result-summary{min-height:168px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;padding:28px 30px;border:1px solid #3a3521;border-radius:8px;background:#15140f}.result-summary>div{min-width:0}.result-summary>strong{color:var(--accent);font-size:68px;font-weight:760;line-height:.9}.result-summary h1{margin-top:14px;overflow-wrap:anywhere;font-size:26px}.result-summary p{margin-top:8px}.match-block{padding:24px;border:1px solid var(--line);border-radius:8px;background:#111112}.block-heading{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:14px}.block-heading>div{min-width:0;display:grid;gap:5px}.block-heading h2{font-size:19px}.block-heading p{font-size:11px}.block-number{width:36px;height:36px;display:grid;place-items:center;border:1px solid #444037;border-radius:6px;color:var(--accent);background:#1b1911;font-size:11px;font-weight:750}.playlist-cta{min-height:54px;display:flex;align-items:center;gap:11px;padding:8px 16px;border:0;border-radius:7px;color:#111;background:var(--accent);cursor:pointer;text-align:left;transition:background .15s,transform .15s}.playlist-cta:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.playlist-cta:disabled{cursor:not-allowed;opacity:.5}.playlist-cta span{display:grid;gap:2px}.playlist-cta strong{font-size:13px}.playlist-cta small{color:#4b431d;font-size:9px}.result-details{margin-top:20px;border-top:1px solid var(--line)}.result-details>summary,.advice-person>summary{list-style:none}.result-details>summary::-webkit-details-marker,.advice-person>summary::-webkit-details-marker{display:none}.result-details>summary{min-height:52px;display:grid;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:10px;color:#c6c6c9;cursor:pointer;font-size:12px;font-weight:650}.details-label.hide,.result-details[open] .details-label.show{display:none}.result-details[open] .details-label.hide{display:inline}.result-details>summary small{min-width:27px;padding:3px 7px;border-radius:999px;color:var(--muted);background:#222224;text-align:center}.result-details summary svg,.advice-person summary svg{color:var(--muted);transition:transform .18s}.result-details[open] summary svg,.advice-person[open] summary svg{transform:rotate(90deg)}.result-details .track-list{margin:0 -8px -8px}.artist-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;padding-bottom:4px}.artist-list article{min-width:0;min-height:48px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;border-bottom:1px solid var(--line-soft)}.artist-list span{color:var(--muted-2);font-size:10px}.artist-list strong,.artist-list small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.artist-list strong{font-size:12px}.artist-list small{color:var(--muted);font-size:10px}.created-playlist{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:18px;padding:13px 15px;border:1px solid #294b34;border-radius:6px;color:var(--green);background:#111a14;text-decoration:none}.created-playlist span{min-width:0;display:grid;gap:3px}.created-playlist strong,.created-playlist small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.created-playlist small{color:var(--muted)}.advice-section{display:grid;gap:16px;padding-top:6px}.advice-section>.block-heading{padding:0 4px}.advice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.advice-person{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#111112}.advice-person>summary{min-height:70px;display:grid;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:10px;padding:10px 16px;cursor:pointer}.advice-person>summary>span:first-child{min-width:0;display:grid;gap:4px}.advice-person>summary small{color:var(--muted);font-size:10px}.advice-person>summary strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:14px}.advice-count{min-width:28px;padding:3px 7px;border-radius:999px;color:var(--accent);background:#26220f;text-align:center;font-size:10px}.advice-person .track-list{max-height:380px;overflow-y:auto;border-top:1px solid var(--line)}.empty-copy{padding:18px 8px}.toast{position:fixed;right:24px;bottom:24px;z-index:30;padding:11px 14px;border:1px solid #444448;border-radius:6px;color:var(--text);background:#222224;box-shadow:0 12px 35px #0008;font-size:12px}.toast-enter-active,.toast-leave-active{transition:.18s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(8px)}.nav-scrim{display:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes view-in{0%{opacity:0;transform:translateY(5px)}}@media(max-width:820px){.product-shell{display:block}.sidebar{position:fixed;left:0;transform:translate(-100%);width:250px;transition:transform .2s ease;box-shadow:20px 0 50px #0008}.sidebar.open{transform:translate(0)}.mobile-close{width:34px;height:34px;display:grid;place-items:center}.nav-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;display:block;background:#0009}.workspace-bar{position:sticky;top:0;z-index:8;display:flex}.workspace-content{width:min(100% - 32px,720px);padding-top:34px}.settings-section{grid-template-columns:1fr;gap:18px}.settings-copy p{max-width:520px}}@media(max-width:560px){h1{font-size:27px}.auth-header{padding:0 18px}.auth-main{padding:38px 20px}.auth-footer{padding:0 16px;text-align:center}.workspace-content{width:calc(100% - 24px);padding:28px 0 70px}.page-header{align-items:flex-start;flex-direction:column;margin-bottom:26px}.room-size{justify-items:start}.playlist-row{grid-template-columns:1fr;gap:0;padding-bottom:8px}.playlist-row>.button{width:100%}.inline-form,.password-form{grid-template-columns:1fr}.inline-form .button,.password-form .button{width:100%}.connection-row{grid-template-columns:42px minmax(0,1fr);padding:12px 0}.connection-row>.button,.connection-row .row-actions{grid-column:1 / -1}.row-actions{justify-content:space-between}.profile-editor{grid-template-columns:68px 1fr}.avatar.large{width:68px;height:68px}.device-code{grid-template-columns:1fr 38px}.device-code>span{grid-column:1 / -1}.waiting-room{padding:28px 18px}.waiting-room h1{font-size:46px}.participant-list,.artist-list,.advice-grid{grid-template-columns:1fr}.result-summary{grid-template-columns:1fr;gap:20px;min-height:0;padding:24px 20px}.result-summary>strong{grid-row:1;font-size:54px}.result-summary>div{grid-row:2}.match-block{padding:18px 16px}.block-heading{grid-template-columns:36px minmax(0,1fr)}.playlist-cta{grid-column:1 / -1;width:100%;margin-top:2px}.advice-section>.block-heading{padding:0}.toast{right:12px;bottom:12px;left:12px;text-align:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
