*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#090909;--surface:#ffffff08;--surface-hover:#ffffff0d;--border:#ffffff14;--border-bright:#ffffff24;--text:#f2f2f2;--text-dim:#b8b8b8;--text-muted:#888;--green:#22d95e;--green-glow:#22d95e40;--yellow:#ffd600;--yellow-glow:#ffd60033;--red:#ff4d4d;--red-glow:#ff4d4d33;--blue:#4f9eff;--blue-glow:#4f9eff33;--orange:#ff9500;--radius:18px;--radius-sm:10px;--radius-xs:6px;--nav-h:62px;--transition:.22s cubic-bezier(.4,0,.2,1)}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(100% 80% at 10% 20%,#22d95e0a 0%,#0000 55%),radial-gradient(80% 60% at 90% 10%,#ffd60008 0%,#0000 50%),radial-gradient(120% 70% at 50% 95%,#4f9eff08 0%,#0000 55%);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Inter,Segoe UI,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.particle-canvas{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}.layout{flex-direction:column;min-height:100vh;display:flex;position:relative;overflow-x:hidden}.main-content{box-sizing:border-box;flex:1;width:100%;max-width:820px;margin:0 auto;padding:32px 20px 60px}.nav{height:var(--nav-h);-webkit-backdrop-filter:blur(24px)saturate(1.5);border-bottom:1px solid var(--border);z-index:100;background:#090909bf;justify-content:space-between;align-items:center;padding:0 28px;display:flex;position:sticky;top:0}.nav-logo{letter-spacing:-.3px;align-items:center;gap:9px;font-size:1.05rem;font-weight:800;display:flex}.logo-icon{color:var(--green);filter:drop-shadow(0 0 8px var(--green-glow));font-size:1.35rem}.logo-text{background:linear-gradient(90deg,#fff 0%,#9effc6 40%,#fff 60%,#9effc6 100%) 0 0/300%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:6s linear infinite logoShimmer}@keyframes logoShimmer{0%{background-position:0%}to{background-position:300%}}.nav-right{flex-shrink:0;align-items:center;gap:4px;min-width:0;display:flex}.nav-user{align-items:center;gap:2px;min-width:0;display:flex}.nav-avatar{border:1px solid var(--border-bright);border-radius:50%;flex-shrink:0;width:26px;height:26px;margin-right:2px}.nav-name{color:var(--text-dim);white-space:nowrap;margin-right:2px;font-size:.8rem}.nav-link{color:var(--text-dim);cursor:pointer;transition:color var(--transition), background var(--transition);white-space:nowrap;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:6px 10px;font-size:.84rem;font-weight:500}.nav-link:hover{color:#fff;background:#ffffff0f}.nav-link-admin{color:var(--orange)!important}.nav-link-admin:hover{color:var(--orange)!important;background:#ff950014!important}.glass{-webkit-backdrop-filter:blur(32px)saturate(1.6);border-radius:var(--radius);background:#ffffff21;border:1px solid #ffffff38;box-shadow:0 4px 32px #00000080}.card{padding:28px 32px}.card h2{color:#fff;letter-spacing:-.3px;margin-bottom:10px;font-size:1.4rem;font-weight:700}.card-sub{color:var(--text-dim);margin-bottom:20px;font-size:.9rem}.card:not(.no-hover){will-change:box-shadow, border-color;transition:box-shadow var(--transition), border-color var(--transition)}.card:not(.no-hover):hover{border-color:#ffffff2e;box-shadow:0 8px 40px #00000073,0 0 0 1px #ffffff0f}.page-title{color:#fff;letter-spacing:-.5px;font-size:1.9rem;font-weight:800;line-height:1.15}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);letter-spacing:-.1px;border:none;justify-content:center;align-items:center;gap:7px;padding:10px 22px;font-size:.92rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)scale(.98)}.btn-primary{background:var(--green);color:#000;box-shadow:0 0 24px var(--green-glow), 0 2px 8px #0000004d;font-weight:700}.btn-primary:hover{box-shadow:0 0 36px var(--green-glow), 0 4px 16px #0006;background:#28e865}.btn-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn-outline{border:1px solid var(--border-bright);color:var(--text);background:0 0}.btn-outline:hover{border-color:var(--green);color:var(--green);box-shadow:0 0 12px var(--green-glow)}.btn-outline:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-yandex{background:var(--yellow);color:#000;box-shadow:0 0 16px var(--yellow-glow);font-weight:700}.btn-yandex:hover{box-shadow:0 0 24px var(--yellow-glow)}.btn-spotify{background:var(--green);color:#000;box-shadow:0 0 16px var(--green-glow);font-weight:700}.btn-spotify:hover{box-shadow:0 0 24px var(--green-glow)}.btn-google{color:#333;background:#fff;border:1px solid #0000001a}.btn-google:hover{background:#f5f5f5}.btn-lg{border-radius:13px;padding:14px 32px;font-size:1.02rem}.btn-full{width:100%}.btn-sm{border-radius:8px;padding:5px 13px;font-size:.82rem}.btn-ghost{border:1px solid var(--border);color:var(--text-dim);background:0 0}.btn-ghost:hover{border-color:var(--red);color:var(--red);box-shadow:0 0 10px var(--red-glow)}.landing{text-align:center;padding-top:90px}.hero-badge{letter-spacing:.2px;background:#ffffff0a linear-gradient(90deg,#1db954 0%,#ffd600 25%,#fc3c44 50%,#f50 75%,#1db954 100%) 0 0/300%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;border:1px solid #ffffff1a;border-radius:20px;margin-bottom:28px;padding:6px 18px;font-size:.82rem;font-weight:600;animation:9s linear infinite serviceColorCycle;display:inline-block}.hero-title{color:#fff;letter-spacing:-1.5px;margin-bottom:22px;font-size:3.8rem;font-weight:800;line-height:1.08}.gradient-text{background:linear-gradient(90deg,#1db954 0%,#ffd600 20%,#fc3c44 40%,#f50 60%,#00bfff 80%,#1db954 100%) 0 0/300%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:6s linear infinite serviceColorCycle}@keyframes serviceColorCycle{0%{background-position:0%}to{background-position:300%}}.hero-sub{color:var(--text-dim);white-space:pre-line;margin-bottom:36px;font-size:1.1rem;line-height:1.65}.hero-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.features{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:90px;display:grid}.feature-card{text-align:center;transition:all var(--transition);padding:28px 24px}.feature-card:hover{border-color:#22d95e33;transform:translateY(-5px);box-shadow:0 12px 40px #00000080}.feature-icon{margin-bottom:14px;font-size:2rem}.feature-card h3{color:#fff;margin-bottom:8px;font-size:1rem;font-weight:700}.feature-card p{color:var(--text-dim);font-size:.88rem;line-height:1.5}.login-page{justify-content:center;padding-top:100px;display:flex}.login-card{text-align:center;width:100%;max-width:400px}.login-sub{color:var(--text-dim);margin-bottom:30px;font-size:.95rem}.login-buttons{flex-direction:column;gap:12px;display:flex}.loading-page{flex-direction:column;align-items:center;gap:16px;padding-top:120px;display:flex}.spinner{border:2.5px solid var(--border);border-top-color:var(--green);border-radius:50%;width:38px;height:38px;animation:.75s linear infinite spin}.spinner-text{color:var(--text-dim);font-size:.9rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.shimmer{background:linear-gradient(90deg, var(--surface) 25%, #ffffff0f 50%, var(--surface) 75%);border-radius:var(--radius-sm);background-size:400px 100%;animation:1.4s infinite shimmer}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}.pulse-dot{background:var(--green);width:8px;height:8px;box-shadow:0 0 6px var(--green);border-radius:50%;animation:1.4s ease-in-out infinite pulseDot;display:inline-block}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes blink-cursor{50%{border-color:#0000}}.typewriter{white-space:nowrap;border-right:2px solid var(--green);animation:2s steps(40,end) forwards typewriter,.8s step-end infinite blink-cursor;overflow:hidden}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.4s both fadeInUp}.dashboard-section{margin-bottom:44px}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.dashboard-header h1{font-size:1.8rem;font-weight:800}.section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;font-size:.78rem;font-weight:700}.services-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:12px;display:grid}.service-card{transition:all var(--transition);cursor:default;align-items:center;gap:16px;padding:20px 22px;display:flex}.service-card.connected{border-color:#22d95e33;box-shadow:0 0 24px #22d95e0a}.service-icon{text-align:center;flex-shrink:0;width:42px;font-size:1.7rem}.service-yandex{color:var(--yellow);filter:drop-shadow(0 0 8px var(--yellow-glow))}.service-spotify{color:var(--green);filter:drop-shadow(0 0 8px var(--green-glow))}.service-info{flex:1;min-width:0}.service-name{color:#fff;margin-bottom:2px;font-size:.95rem;font-weight:700}.service-account{color:var(--green);font-size:.82rem}.service-account.not-connected{color:var(--text-muted)}.service-btn-group{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.services-hint{color:var(--text-dim);text-align:center;margin-top:6px;font-size:.83rem}.verify-inline{margin-top:4px;font-size:.78rem}.verify-inline.ok{color:var(--green)}.verify-inline.error{color:var(--red)}.session-list{flex-direction:column;gap:10px;display:flex}.session-card-wrapper{position:relative}.session-card-wrapper:hover .session-delete-btn{opacity:1}.session-delete-btn{width:26px;height:26px;color:var(--red);cursor:pointer;opacity:0;transition:all var(--transition);z-index:10;background:#ff4d4d1f;border:1px solid #ff4d4d40;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;line-height:1;display:flex;position:absolute;top:10px;right:10px}.session-delete-btn:hover{border-color:var(--red);box-shadow:0 0 10px var(--red-glow);background:#ff4d4d40}.session-card{transition:all var(--transition);cursor:pointer;padding:18px 22px;display:block}.session-card:hover{border-color:#22d95e33;transform:translateY(-1px);box-shadow:0 8px 32px #00000059}.session-card-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.session-direction{color:#fff;font-size:.95rem;font-weight:700}.session-status-badge{letter-spacing:.2px;border-radius:20px;padding:3px 10px;font-size:.72rem;font-weight:700}.session-status-badge[data-status=Completed]{color:var(--green);background:#22d95e1f;border:1px solid #22d95e40;box-shadow:0 0 8px #22d95e26}.session-status-badge[data-status=Failed]{color:var(--red);background:#ff4d4d1f;border:1px solid #ff4d4d40}.session-status-badge[data-status=ExportingFromSource],.session-status-badge[data-status=Matching],.session-status-badge[data-status=Importing],.session-status-badge[data-status=Previewing]{color:var(--yellow);background:#ffd6001a;border:1px solid #ffd60033;animation:1.5s ease-in-out infinite statusPulse}@keyframes statusPulse{0%,to{box-shadow:0 0 4px #ffd6001a}50%{box-shadow:0 0 12px #ffd6004d}}.session-status-badge[data-status=Created]{color:var(--text-dim);border:1px solid var(--border);background:#ffffff0d}.session-stats{color:var(--text-dim);gap:16px;margin-bottom:6px;font-size:.82rem;display:flex}.stat-green{color:var(--green);font-weight:600}.stat-red{color:var(--red);font-weight:600}.session-date{color:var(--text-muted);font-size:.77rem}.empty-state{text-align:center;padding:64px 32px}.empty-state p{color:var(--text-dim);font-size:.95rem}.error-banner{color:var(--red);border-radius:var(--radius-sm);background:#ff4d4d14;border:1px solid #ff4d4d33;margin-bottom:16px;padding:10px 16px;font-size:.88rem}.settings-page{justify-content:center;padding-top:40px;display:flex}.settings-card{width:100%;max-width:520px}.setting-group{margin-bottom:26px}.setting-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px;font-size:.78rem;font-weight:700;display:block}.setting-hint{color:var(--text-dim);margin-top:6px;font-size:.78rem;line-height:1.5}.direction-toggle{grid-template-columns:1fr 1fr;gap:8px;display:grid}.dir-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;transition:all var(--transition);background:0 0;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:.9rem;font-weight:500;display:flex}.dir-btn.active{border-color:var(--green);color:#fff;background:#22d95e14}.dir-btn:hover:not(.active){border-color:var(--border-bright);color:var(--text)}.dir-arrow{color:var(--green)}.checkboxes{flex-direction:column;gap:10px;display:flex}.checkbox-label,.radio-label{cursor:pointer;color:var(--text);align-items:center;gap:10px;font-size:.93rem;display:flex}.checkbox-label input,.radio-label input{display:none}.checkbox-custom,.radio-custom{border:2px solid var(--border-bright);width:18px;height:18px;transition:all var(--transition);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.radio-custom{border-radius:50%}.checkbox-label input:checked~.checkbox-custom,.radio-label input:checked~.radio-custom{border-color:var(--green);background:var(--green)}.radio-group{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);transition:border-color var(--transition), box-shadow var(--transition);background:#ffffff08;outline:none;padding:10px 14px;font-size:.93rem}.input:focus{border-color:var(--green);box-shadow:0 0 0 3px #22d95e1a}.transfer-page{padding-top:24px}.connect-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px;display:grid}.connect-item{text-align:center;border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition);padding:20px}.connect-item.connected{border-color:#22d95e4d}.connect-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:.8rem;font-weight:700}.connect-status{color:var(--green);font-weight:600}.connect-actions{justify-content:center;gap:12px;display:flex}.ready-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.progress-container{margin:20px 0}.progress-label{color:var(--text-dim);margin-bottom:7px;font-size:.83rem}.progress-bar{background:#ffffff0d;border-radius:4px;height:6px;position:relative;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--green), #28e865);z-index:1;border-radius:4px;height:100%;transition:width .3s;position:relative}.progress-glow{background:linear-gradient(90deg, transparent, var(--green-glow));filter:blur(8px);z-index:0;border-radius:4px;height:18px;position:absolute;top:-6px;left:0}.progress-text{color:var(--text-dim);text-align:right;margin-top:6px;font-size:.82rem}.stats-grid{flex-wrap:wrap;justify-content:center;gap:28px;margin:20px 0;display:flex}.stat-item{text-align:center}.stat-num{color:#fff;letter-spacing:-1px;font-size:1.9rem;font-weight:800;display:block}.stat-num.green{color:var(--green)}.stat-num.blue{color:var(--blue)}.stat-num.red{color:var(--red)}.stat-lbl{color:var(--text-dim);margin-top:2px;font-size:.78rem}.playlist-list{margin-top:16px}.playlist-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:8px 0;font-size:.88rem;display:flex}.pl-name{color:var(--text)}.pl-count{color:var(--text-dim)}.match-table{margin-top:16px;overflow-x:auto}.match-header-row{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);grid-template-columns:2fr 80px 80px 80px;padding:10px 16px;font-size:.76rem;font-weight:700;display:grid}.match-row{transition:background var(--transition);border-bottom:1px solid #ffffff06;grid-template-columns:2fr 80px 80px 80px;align-items:center;padding:10px 16px;display:grid}.match-row:hover{background:#ffffff06}.match-row.not-found{opacity:.4}.match-row.is-variant{border-left:2px solid #ff950066}.match-title{color:#fff;font-size:.9rem;font-weight:600}.match-artist{color:var(--text-dim);font-size:.8rem}.match-conf-cell{text-align:center}.conf-badge{letter-spacing:.2px;border-radius:10px;padding:2px 8px;font-size:.73rem;font-weight:700;display:inline-block}.conf-exact{color:var(--green);background:#22d95e26;border:1px solid #22d95e4d}.conf-high{color:#5de888;background:#22d95e14;border:1px solid #22d95e2e}.conf-good{color:#9ef0b0;background:#50c86414;border:1px solid #50c8642e}.conf-candidate{color:var(--orange);background:#ff95001a;border:1px solid #ff950040}.conf-weak{color:#ff9370;background:#ff643214;border:1px solid #ff64322e}.conf-nomatch{color:var(--red);background:#ff4d4d1a;border:1px solid #ff4d4d33}.variant-badge{text-transform:uppercase;letter-spacing:.4px;border-radius:8px;margin-top:3px;padding:1px 6px;font-size:.67rem;font-weight:700;display:inline-block}.variant-remix{color:var(--orange);background:#ff95001f;border:1px solid #ff950040}.variant-original{color:var(--blue);background:#4f9eff1a;border:1px solid #4f9eff38}.track-player{width:34px;height:34px;color:var(--green);cursor:pointer;transition:all var(--transition);background:#22d95e1a;border:1px solid #22d95e40;border-radius:50%;justify-content:center;align-items:center;font-size:.68rem;display:flex;position:relative;overflow:hidden}.track-player:hover{box-shadow:0 0 14px var(--green-glow);background:#22d95e33;transform:scale(1.1)}.play-icon{z-index:1;position:relative}.play-progress{background:var(--green);height:3px;transition:width .1s linear;position:absolute;bottom:0;left:0}.no-preview{color:var(--text-muted);font-size:.72rem}.status-badge{text-align:center;border-radius:10px;padding:2px 8px;font-size:.72rem;font-weight:700}.status-badge.matched{color:var(--green);background:#22d95e1f}.status-badge.transferred{color:var(--blue);background:#4f9eff1f}.status-badge.notfound{color:var(--red);background:#ff4d4d1f}.status-badge.pending{color:var(--text-dim);background:#ffffff0d}.status-badge.candidate{color:var(--orange);background:#ff95001a}.text-green{color:var(--green)}.text-red{color:var(--red)}.error-msg{color:var(--red);margin:12px 0;font-size:.88rem}.unmatched-details{margin:16px 0}.unmatched-details summary{cursor:pointer;color:var(--text-dim);font-size:.9rem}.match-list-compact{max-height:300px;margin-top:8px;overflow-y:auto}.unmatched-row{color:var(--text-dim);gap:8px;padding:4px 0;font-size:.83rem;display:flex}.unmatched-row.variant{color:var(--orange);opacity:.9}.type-badge{color:var(--text-dim);text-transform:uppercase;background:#ffffff0d;border-radius:4px;padding:2px 6px;font-size:.68rem}.preview-header{text-align:center;margin-bottom:16px}.preview-stats-row{flex-wrap:wrap;justify-content:center;gap:12px;margin:8px 0 12px;display:flex}.preview-stat{font-size:.85rem;font-weight:700}.preview-stat.green{color:var(--green)}.preview-stat.orange{color:var(--orange)}.preview-stat.red{color:var(--red)}.preview-stat.muted{color:var(--text-dim)}.preview-filters{flex-wrap:wrap;justify-content:center;gap:6px;margin:10px 0;display:flex}.filter-btn{cursor:pointer;border:1px solid var(--border);color:var(--text-dim);transition:all var(--transition);background:0 0;border-radius:20px;align-items:center;gap:4px;padding:4px 14px;font-size:.79rem;font-weight:500;display:flex}.filter-btn.active,.filter-btn:hover{border-color:var(--green);color:var(--green);background:#22d95e0f}.filter-count{background:#ffffff14;border-radius:8px;padding:0 5px;font-size:.68rem}.transfer-progress-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.transfer-progress-header h2{margin:0}.review-header-card{margin-bottom:0}.review-header-top{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.review-header-top h2{margin:0 0 4px}.muted-text{color:var(--text-dim);margin:0;font-size:.85rem}.review-stats-row{flex-wrap:wrap;gap:16px;margin:10px 0 14px;display:flex}.rstats-item{font-size:.85rem;font-weight:700}.rstats-item.green{color:var(--green)}.rstats-item.orange{color:var(--orange)}.rstats-item.purple{color:#c084fc}.rstats-item.red{color:var(--red)}.rstats-item.muted{color:var(--text-dim)}.review-controls-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.filter-tabs{flex-wrap:wrap;gap:6px;display:flex}.review-bulk{flex-shrink:0;gap:8px;display:flex}.review-col-grid{grid-template-columns:2fr 80px 2fr 48px 72px;align-items:center;gap:0 8px;display:grid}.match-target-cell{min-width:0}.match-target-cell .match-title{align-items:center;gap:6px;display:flex}.match-no-target{color:var(--text-dim)}.sort-btn{color:var(--text-dim);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:.76rem;font-weight:700;display:flex}.sort-btn:hover{color:var(--text)}.sort-arrow{font-size:.8rem}.sort-arrow.muted{opacity:.35}.skip-btn{cursor:pointer;border:1px solid var(--border);color:var(--text-dim);transition:all var(--transition);white-space:nowrap;background:0 0;border-radius:12px;padding:3px 10px;font-size:.75rem;font-weight:600}.skip-btn:hover{border-color:var(--orange);color:var(--orange)}.skip-btn.active{border-color:var(--red);color:var(--red);background:#ff4d4d0f}.skip-btn.active:hover{border-color:var(--green);color:var(--green);background:#22d95e0f}.match-row.is-skipped{opacity:.35}.match-row.is-skipped .match-title,.match-row.is-skipped .match-artist{text-decoration:line-through}.spotify-open-btn{color:#1db954;opacity:.7;transition:opacity var(--transition);flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.spotify-open-btn:hover{opacity:1}.match-link{color:#fff;transition:color var(--transition);font-weight:600;text-decoration:none}.match-link:hover{color:var(--green);text-decoration:underline}.match-empty{text-align:center;color:var(--text-dim);padding:32px;font-size:.9rem}.review-footer{justify-content:center;padding:20px 0 8px;display:flex}.session-status-badge[data-status=Cancelled]{color:var(--orange);background:#ff95001a;border-color:#ff950040}.text-orange{color:var(--orange)}.summary-badge{border-radius:8px;margin-left:8px;padding:1px 6px;font-size:.7rem;font-weight:700;display:inline-block}.summary-badge.orange{color:var(--orange);background:#ff95001f}.summary-badge.red{color:var(--red);background:#ff4d4d1a}.match-section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);padding:8px 0 4px;font-size:.72rem;font-weight:700}.toast{color:var(--green);z-index:2000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#22d95e1f;border:1px solid #22d95e59;border-radius:24px;padding:10px 26px;font-size:.88rem;font-weight:700;animation:.3s slideUp;position:fixed;bottom:36px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000080}@keyframes slideUp{0%{opacity:0;transform:translate(-50%)translateY(14px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.lang-switch{border:1px solid var(--border);background:#ffffff0a;border-radius:8px;gap:2px;padding:2px;display:flex}.lang-switch-btn{color:var(--text-dim);cursor:pointer;transition:all var(--transition);letter-spacing:.5px;background:0 0;border:none;border-radius:6px;padding:4px 9px;font-size:.73rem;font-weight:800}.lang-switch-btn.active{color:var(--green);background:#22d95e2e}.lang-switch-btn:hover:not(.active){color:#fff}.dev-log-trigger{color:var(--orange);cursor:pointer;z-index:999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition);background:#14141ee6;border:1px solid #ff950059;border-radius:20px;padding:8px 14px;font-size:.78rem;font-weight:700;position:fixed;bottom:22px;right:22px}.dev-log-trigger:hover{border-color:var(--orange);box-shadow:0 0 16px #ff950040}.dev-log-overlay{z-index:998;width:min(620px,100vw - 44px);position:fixed;bottom:128px;right:22px}.dev-log-panel{background:#09090ef7;border-color:#ff95002e;border-radius:14px;overflow:hidden;box-shadow:0 16px 60px #000000b3}.dev-log-header{border-bottom:1px solid #ff95001f;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.dev-log-title{color:var(--orange);align-items:center;gap:8px;font-size:.78rem;font-weight:700;display:flex}.dev-log-status{color:var(--text-dim);font-size:.73rem;font-weight:500}.dev-log-dot{border-radius:50%;width:7px;height:7px;animation:1.3s ease-in-out infinite blink;display:inline-block}.dev-log-dot.live{background:var(--green);box-shadow:0 0 6px var(--green)}.dev-log-dot.off{background:var(--red);animation:none}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.dev-log-actions{gap:6px;display:flex}.dev-log-btn{color:var(--text-dim);cursor:pointer;transition:all var(--transition);background:0 0;border:1px solid #ffffff14;border-radius:6px;padding:3px 8px;font-size:.7rem}.dev-log-btn:hover{color:var(--orange);border-color:#ff950059}.dev-log-close{border-color:#ff4d4d33}.dev-log-close:hover{border-color:var(--red);color:var(--red)}.dev-log-terminal{scrollbar-width:thin;scrollbar-color:#ffffff12 transparent;height:320px;padding:10px 14px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.7rem;line-height:1.65;overflow-y:auto}.dev-log-line{color:#9a9a9a;white-space:pre-wrap;word-break:break-all}.dev-log-line.log-error{color:#ff7070}.dev-log-line.log-warn{color:var(--orange)}.dev-log-line.log-ok{color:var(--green)}.dev-log-line.log-info{color:var(--blue)}.dev-log-empty{color:#3a3a3a;font-size:.73rem;font-style:italic}.dev-log-no-session{color:#555}.debug-fab{color:var(--orange);cursor:pointer;z-index:999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all var(--transition);background:#14141ee0;border:1px solid #ff95004d;border-radius:22px;padding:8px 15px;font-size:.78rem;font-weight:700;position:fixed;bottom:80px;right:22px;box-shadow:0 4px 16px #0006}.debug-fab:hover{border-color:var(--orange);box-shadow:0 4px 20px #ff950033}.track-cover{object-fit:cover;background:#ffffff0f;border-radius:6px;flex-shrink:0;width:42px;height:42px}.track-cover-placeholder{border:1px solid var(--border);width:42px;height:42px;color:var(--text-muted);background:#ffffff0f;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.track-title-link{color:#fff;transition:color var(--transition);font-weight:600;text-decoration:none}.track-title-link:hover{color:var(--green)}.dev-log-inline{border-top:1px solid #ffffff0f;margin-top:18px;padding-top:12px}.dev-log-inline .dev-log-header{border-bottom:none;padding:0 0 8px}.dev-log-terminal-inline{background:#00000059;border:1px solid #ffffff12;border-radius:10px;height:220px;margin-top:0}.app-footer{border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#09090999;margin-top:auto;padding:20px 28px}.footer-inner{max-width:820px;color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:20px;margin:0 auto;font-size:.78rem;display:flex}.footer-brand{align-items:center;gap:10px;display:flex}.footer-logo{color:var(--text);letter-spacing:-.01em;align-items:center;gap:7px;font-size:.9rem;font-weight:700;display:flex}.footer-logo-icon{width:16px;height:16px;color:var(--green);flex-shrink:0}.footer-tagline{color:var(--text-muted);font-size:.74rem}.footer-author{color:var(--green);transition:opacity var(--transition);text-decoration:none}.footer-author:hover{opacity:.75}.footer-disclaimer{color:var(--text-muted);text-align:right;flex:1;font-size:.74rem}.footer-links{gap:16px;display:flex}.footer-links a{color:var(--text-dim);transition:color var(--transition);font-size:.78rem;text-decoration:none}.footer-links a:hover{color:var(--text)}.footer-link-soon{align-items:center;gap:5px;display:flex}.soon-badge{color:var(--yellow);letter-spacing:.02em;background:#ffd6001f;border:1px solid #ffd60033;border-radius:4px;padding:1px 5px;font-size:.6rem;font-weight:600}.profile-page{flex-direction:column;gap:20px;max-width:620px;margin:0 auto;padding-top:28px;display:flex}.profile-avatar-row{align-items:center;gap:16px;margin-top:16px;display:flex}.profile-avatar{border:2px solid var(--border-bright);border-radius:50%;width:60px;height:60px;box-shadow:0 0 16px #ffffff0d}.profile-name{color:#fff;letter-spacing:-.3px;font-size:1.1rem;font-weight:800}.profile-meta{color:var(--text-dim);margin-top:3px;font-size:.83rem}.profile-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:16px;font-size:.78rem;font-weight:700}.profile-divider{border:none;border-top:1px solid var(--border);margin:16px 0}.profile-service-row{align-items:flex-start;gap:16px;display:flex}.profile-service-info{flex:1}.profile-service-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.verify-result{margin-top:8px;font-size:.8rem}.verify-result.ok{color:var(--green)}.verify-result.error{color:var(--red)}.verify-status{margin-bottom:4px;font-weight:700}.verify-tracks{flex-direction:column;gap:2px;margin-top:4px;list-style:none;display:flex}.verify-tracks li{color:var(--text-dim);font-size:.77rem}.lang-toggle{gap:10px;display:flex}.lang-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;transition:all var(--transition);background:0 0;padding:10px 20px;font-size:.93rem;font-weight:500}.lang-btn.active{border-color:var(--green);color:#fff;background:#22d95e14}.lang-btn:hover:not(.active){border-color:var(--border-bright);color:var(--text)}.admin-page{padding-top:28px}.admin-header{align-items:center;gap:12px;margin-bottom:28px;display:flex}.admin-header h1{color:#fff;letter-spacing:-.4px;font-size:1.6rem;font-weight:800}.admin-badge{letter-spacing:.8px;color:var(--orange);background:#ff95001a;border:1px solid #ff950040;border-radius:8px;padding:3px 10px;font-size:.7rem;font-weight:800}.admin-stats-card{margin-bottom:24px}.admin-stats-card h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:16px;font-size:.8rem;font-weight:700}.admin-stats-grid{flex-wrap:wrap;gap:12px;display:flex}.admin-stat-box{text-align:center;border-radius:var(--radius-sm);flex:1;min-width:100px;padding:16px 20px}.admin-stat-val{letter-spacing:-.5px;font-size:1.7rem;font-weight:800;display:block}.admin-stat-lbl{color:var(--text-dim);margin-top:3px;font-size:.74rem;display:block}.admin-tabs{gap:8px;margin-bottom:16px;display:flex}.admin-tab{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;transition:all var(--transition);background:0 0;padding:8px 20px;font-size:.84rem;font-weight:500}.admin-tab.active{border-color:var(--green);color:#fff;background:#22d95e14}.admin-tab:hover:not(.active){border-color:var(--border-bright);color:var(--text)}.admin-table-wrap{border-radius:var(--radius);padding:0;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.84rem}.admin-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding:10px 14px;font-size:.72rem;font-weight:700}.admin-table td{border-bottom:1px solid #ffffff06;padding:10px 14px}.admin-table tr:hover td{background:#ffffff05}.admin-id,.admin-date,.admin-meta{color:var(--text-dim);font-size:.78rem}.admin-user{font-size:.82rem}.admin-nums{align-items:center;gap:4px;display:flex}.admin-green{color:var(--green);font-weight:600}.admin-red{color:var(--red);font-weight:600}.admin-yes{color:var(--green);font-weight:800}.admin-del-btn{color:var(--red);cursor:pointer;transition:all var(--transition);background:#ff4d4d14;border:1px solid #ff4d4d33;border-radius:6px;padding:3px 9px;font-size:.72rem;font-weight:600}.admin-del-btn:hover{border-color:var(--red);background:#ff4d4d2e}.tracks-page{padding-top:28px}.tracks-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.tracks-total-badge{color:var(--text-dim);border:1px solid var(--border);background:#ffffff0a;border-radius:20px;padding:4px 14px;font-size:.82rem}.tracks-total-badge strong{color:var(--text)}.tracks-tabs{border:1px solid var(--border);background:#ffffff08;border-radius:13px;gap:4px;width:fit-content;margin-bottom:20px;padding:4px;display:flex}.tracks-tab{color:var(--text-dim);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;padding:9px 20px;font-size:.9rem;font-weight:600;display:flex}.tracks-tab.active{color:#fff;background:#ffffff12;box-shadow:0 1px 6px #0000004d}.tracks-tab:hover:not(.active){color:var(--text)}.tab-icon{font-size:1rem}.tab-yandex{color:var(--yellow)}.tab-spotify{color:var(--green)}.tracks-search-wrap{margin-bottom:20px;position:relative}.tracks-search{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);transition:border-color var(--transition), box-shadow var(--transition);background:#ffffff08;outline:none;padding:11px 40px 11px 16px;font-size:.93rem}.tracks-search::placeholder{color:var(--text-muted)}.tracks-search:focus{border-color:var(--border-bright);box-shadow:0 0 0 3px #ffffff0a}.tracks-search-clear{color:var(--text-muted);cursor:pointer;transition:color var(--transition);background:0 0;border:none;font-size:1.2rem;line-height:1;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.tracks-search-clear:hover{color:var(--text)}.tracks-loading{color:var(--text-dim);flex-direction:column;align-items:center;gap:12px;padding:60px 0;display:flex}.tracks-error{text-align:center;color:var(--red);padding:40px}.tracks-empty{text-align:center;color:var(--text-dim);padding:60px 32px}.tracks-list{flex-direction:column;gap:2px;display:flex}.track-row{border-radius:var(--radius-sm);transition:background var(--transition);background:#ffffff06;border:1px solid #0000;grid-template-columns:40px auto 1fr auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.track-row:hover{border-color:var(--border);background:#ffffff0d}.track-num{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;font-size:.78rem;font-weight:500}.track-info{flex-direction:column;gap:2px;min-width:0;display:flex}.track-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.track-artist{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.track-album{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.track-duration{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.8rem}.tracks-pagination{border-top:1px solid var(--border);justify-content:center;align-items:center;gap:16px;margin-top:28px;padding-top:20px;display:flex}.page-indicator{color:var(--text-dim);font-size:.85rem}@media (width<=768px){.nav{gap:4px;padding:0 12px}.nav-link{padding:5px 8px;font-size:.8rem}.main-content{padding:20px 12px 48px}.hero-title{letter-spacing:-.8px;font-size:2.5rem}.features{grid-template-columns:1fr;gap:14px}.services-grid{grid-template-columns:1fr}.service-btn-group{flex-direction:row}.connect-grid{grid-template-columns:1fr}.stats-grid{gap:20px}.match-header-row,.match-row{grid-template-columns:1fr 58px 48px 58px;font-size:.8rem}.review-col-grid{grid-template-columns:1fr 58px 1fr 40px 60px;font-size:.8rem}.review-header-top{flex-direction:column}.review-controls-row{flex-direction:column;align-items:flex-start}.direction-toggle{grid-template-columns:1fr}.lang-switch{display:none}.debug-fab{bottom:80px;right:16px}.dev-log-overlay{width:auto;bottom:128px;left:8px;right:8px}.tracks-tabs{width:100%}.tracks-tab{flex:1;justify-content:center}.footer-inner{gap:12px}.footer-disclaimer{display:none}.footer-links{margin-left:0}}@media (width<=480px){.hero-title{font-size:1.9rem}.hero-actions{flex-direction:column;align-items:center}.ready-actions,.admin-stats-grid{flex-direction:column}.nav-name,.nav-link-tracks{display:none}.nav-link{padding:4px 7px;font-size:.76rem}.nav-avatar{width:22px;height:22px}.page-title{font-size:1.5rem}.match-table{overflow-x:auto}.review-col-grid{min-width:580px}.review-stats-row{gap:10px}.review-header-top .btn-lg{width:100%}}
