@import"https://fonts.googleapis.com/css2?family=Work+Sans:wght@700;800;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Doto:wght@255&family=Inter+Tight:wght@100..900&family=Work+Sans:wght@900&display=swap";:root{--main-background: #00a6ff;--main-color: #343f59;--header-font: "Work Sans", sans-serif;--header-fw: 900;--header-case: uppercase;--bg-base: #f4f7fb;--bg-surface: rgba(255, 255, 255, .88);--bg-panel: rgba(223, 229, 235, .83);--bg-strong: rgba(255, 255, 255, 1);--glass-border: rgba(16, 19, 26, .08);--glass-border-strong: rgba(16, 19, 26, .14);--shadow-soft: 0 12px 40px rgba(16, 19, 26, .1);--shadow-strong: 0 18px 70px rgba(16, 19, 26, .12);--blur-strong: 18px;--accent: #00a6ff;--accent-2: #ff7a18;--accent-soft: rgba(0, 166, 255, .08);--accent-ring: 0 0 0 1px rgba(0, 166, 255, .24);--text-primary: #10131a;--text-secondary: #5d687b;--text-muted: #7f8793;--brand-spotify: #1db954;--brand-youtube: #ff0000;--brand-discord: #7289da}body[data-dashboard-theme=dark]{--main-background: #00d1ff;--main-color: #f6f7fb;--bg-base: #050505;--bg-surface: rgba(255, 255, 255, .03);--bg-panel: rgba(255, 255, 255, .04);--bg-strong: rgba(255, 255, 255, .08);--glass-border: rgba(255, 255, 255, .12);--glass-border-strong: rgba(255, 255, 255, .16);--shadow-soft: 0 12px 40px rgba(0, 0, 0, .45);--shadow-strong: 0 18px 70px rgba(0, 0, 0, .6);--accent: #00d1ff;--accent-2: #ff7a00;--accent-soft: rgba(0, 209, 255, .08);--accent-ring: 0 0 0 1px rgba(0, 209, 255, .35);--text-primary: #f6f7fb;--text-secondary: #c5c7d3;--text-muted: #8a8d99}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 20% 20%,rgba(0,166,255,.08),transparent 35%),radial-gradient(circle at 80% 0%,rgba(255,122,24,.06),transparent 30%),var(--bg-base);color:var(--text-primary)}body[data-dashboard-theme=dark]{background:radial-gradient(circle at 20% 20%,rgba(0,209,255,.08),transparent 35%),radial-gradient(circle at 80% 0%,rgba(255,122,0,.06),transparent 30%),var(--bg-base)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.songlist{border-radius:15px;background:#111;padding-bottom:15px}.songlist h2{padding:0 5px}.currently-playing{background:var(--bg-panel);border-radius:16px;padding:16px;margin-bottom:20px;box-shadow:var(--shadow-soft);color:var(--text-primary);animation:fadeIn .3s ease-in;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--blur-strong));backdrop-filter:blur(var(--blur-strong));transform:translateZ(0);will-change:transform;isolation:isolate}.now-playing-footer .currently-playing{margin-bottom:0;border-color:var(--glass-border-strong)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.currently-playing-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:12px;text-transform:uppercase;letter-spacing:1px;font-weight:600;color:var(--text-secondary)}.status-icon{font-size:14px}.status-icon.playing{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.currently-playing-content{display:flex;align-items:center;gap:16px}.album-art{width:64px;height:64px;border-radius:8px;box-shadow:0 2px 8px #0000004d;object-fit:cover;flex-shrink:0}.track-info{flex:1;min-width:0}.track-name{font-size:16px;font-weight:700;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-artist{font-size:14px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-secondary)}.track-album{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-muted)}.spotify-link{color:var(--brand-spotify);font-size:24px;transition:opacity .2s,transform .2s;flex-shrink:0}.spotify-link:hover{opacity:1;transform:scale(1.1)}.progress-bar{margin-top:12px;height:4px;background:#ffffff1f;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--brand-spotify);transition:width .24s linear;border-radius:2px}.playback-meta{display:flex;justify-content:center;align-items:center;margin-top:-8px}.time-info{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:7.5rem;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.time-separator{color:var(--text-muted)}@media(max-width:768px){.currently-playing{padding:12px}.album-art{width:56px;height:56px}.track-name{font-size:14px}.track-artist{font-size:13px}.track-album{font-size:11px}.spotify-link{font-size:20px}}.rama-body,.rama-html{margin:0;padding:0;background:#f4f7fb;color:#10131a;overflow:hidden!important}.rama-container{width:100vw;height:100vh;background:radial-gradient(circle at 12% 14%,rgba(0,166,255,.12),transparent 20%),radial-gradient(circle at 82% 10%,rgba(255,122,24,.1),transparent 18%),linear-gradient(180deg,#fff,#f2f6fb);display:flex;align-items:center;justify-content:center;overflow:hidden}.mode-screen{mix-blend-mode:screen}.logo{font-family:Work Sans,sans-serif!important;letter-spacing:-.025em!important}.sublogo{letter-spacing:1.15em!important}.display-large{width:100%;height:100%}.font-alert{font-family:Work Sans,sans-serif!important}.display-large text{font-family:Work Sans,sans-serif;letter-spacing:.05em}.display-large .title-text{font-weight:900;font-family:Work Sans,sans-serif;letter-spacing:.15em}.eq-bar{animation:pulse 1s ease-in-out infinite alternate}@keyframes pulse{0%{opacity:.8}to{opacity:1}}@keyframes panelGlow{0%{filter:drop-shadow(0 0 5px rgba(0,166,255,.35))}50%{filter:drop-shadow(0 0 12px rgba(0,166,255,.55))}to{filter:drop-shadow(0 0 5px rgba(0,166,255,.35))}}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;color:#10131a;font-family:Work Sans,Segoe UI,sans-serif;font-size:24px;background:#f4f7fb;text-transform:uppercase;letter-spacing:.1em}.loading h2{font-size:48px;font-weight:700;color:#00a6ff;margin:0 0 20px;text-shadow:0 0 15px rgba(0,166,255,.25)}.loading p{margin:10px 0;color:#5d687b}@keyframes gradientShift{0%,to{background-position:0% 50%}25%{background-position:100% 50%}50%{background-position:100% 100%}75%{background-position:0% 100%}}*{margin:0;padding:0;box-sizing:border-box}html{overflow-y:scroll}body{font-family:Inter Tight,sans-serif;background-color:var(--bg-base);color:var(--text-primary);line-height:1.6}.toast-content,.header-add-track,.connection-status,.filter-panel--wide,.grafana-panel-section,.spotify-user-button,.spotify-dropdown-menu,.tab-nav,.add-track-launch,.add-track-modal,.search-track-modal,.add-track-section,.tracks-section,.playlist-info-card,.sync-dropdown-menu,.track-card,.placeholder-image,.discord-status,.discord-setup,.guilds-list,.channels-list,.guild-item,.channel-item,.settings-section,.login-box,.lock-button,.header-action-button.botti-refresh-button{transform:translateZ(0);will-change:transform;isolation:isolate}.app{min-height:100vh;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto;grid-template-areas:"header" "nav" "main" "footer"}.app>.app-header{grid-area:header}.app>.tab-nav{grid-area:nav}.app>.main-content{grid-area:main;min-height:0}.app>footer{grid-area:footer}@media(min-width:800px){.app{grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto;grid-template-areas:"nav header" "nav main" "nav footer"}}.app-header{background:radial-gradient(circle at 20% 20%,rgba(0,166,255,.16),transparent 40%),radial-gradient(circle at 80% 0%,rgba(255,122,24,.08),transparent 32%),linear-gradient(135deg,#fffffffa,#f2f6fbf0);padding:.7rem 1rem;padding-top:max(.7rem,env(safe-area-inset-top));padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));text-align:center;box-shadow:var(--shadow-strong);border-bottom:1px solid var(--glass-border)}.app-header h1{font-family:var(--header-font);font-size:1.85rem;font-weight:var(--header-fw);text-transform:var(--header-case);margin-bottom:.25rem;color:var(--main-color);display:flex;align-items:center;justify-content:center;gap:.25rem}.header-icon{font-size:1.5rem}.subtitle{font-family:var(--header-font);font-size:.85rem;color:var(--text-secondary);font-weight:var(--header-fw);text-transform:var(--header-case)}.header-content{display:flex;justify-content:space-between;align-items:center;margin:0 auto;gap:.75rem}.toast-notification{position:fixed;top:2rem;right:2rem;z-index:10000;max-width:400px;min-width:300px;animation:toastSlideIn .3s ease-out;pointer-events:auto}.toast-content{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1.25rem;border-radius:12px;font-weight:600;font-size:.9rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d;position:relative}.toast-notification.success .toast-content{background:linear-gradient(135deg,#00a6fff5,#4b7dfff5);color:#fff;border-color:#00a6ff3d}.toast-notification.error .toast-content{background:linear-gradient(135deg,#ff7a18f5,#ffb15af5);color:#fff;border-color:#ff7a183d}.toast-message{flex:1;line-height:1.4;margin-right:1rem}.toast-close{background:none;border:none;color:inherit;cursor:pointer;padding:.25rem;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;opacity:.8;flex-shrink:0;width:24px;height:24px}.toast-close:hover{opacity:1;background:#10131a14}.toast-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#0003;border-radius:0 0 12px 12px;overflow:hidden}.toast-progress-bar{height:100%;background:#ffffffb3;width:100%;transform-origin:left;animation:toastProgress 5s linear forwards}@keyframes toastProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast-notification.paused .toast-progress-bar{animation-play-state:paused}.toast-notification:hover{transform:translateY(-2px);transition:transform .2s ease}.toast-notification:hover .toast-content{box-shadow:0 12px 40px #0006;transition:box-shadow .2s ease}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-notification.removing{animation:toastSlideOut .3s ease-in forwards}@keyframes toastSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.header-actions{display:flex;align-items:center;gap:.6rem}.header-add-track{width:44px;height:44px;border-radius:50%;border:1px solid var(--glass-border-strong);background:var(--bg-panel);color:var(--main-background);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;-webkit-backdrop-filter:blur(var(--blur-strong));backdrop-filter:blur(var(--blur-strong));box-shadow:var(--accent-ring),var(--shadow-soft)}.header-add-track:hover{background:#00a6ff1f}body[data-dashboard-theme=dark] .app-header{background:radial-gradient(circle at 20% 20%,rgba(0,209,255,.18),transparent 40%),radial-gradient(circle at 80% 0%,rgba(255,122,0,.08),transparent 32%),linear-gradient(135deg,#000000eb,#000000c7)}body[data-dashboard-theme=dark] .app-header h1,body[data-dashboard-theme=dark] .subtitle,body[data-dashboard-theme=dark] .header-add-track,body[data-dashboard-theme=dark] .spotify-auth-button,body[data-dashboard-theme=dark] .tab,body[data-dashboard-theme=dark] .nav-theme-toggle,body[data-dashboard-theme=dark] .settings-section,body[data-dashboard-theme=dark] .tracks-section,body[data-dashboard-theme=dark] .analytics-card,body[data-dashboard-theme=dark] .playlist-info-card,body[data-dashboard-theme=dark] .moderation-overview,body[data-dashboard-theme=dark] .track-card{color:var(--text-primary)}body[data-dashboard-theme=dark] .toast-content{border-color:#ffffff1a;box-shadow:0 8px 32px #0000004d}body[data-dashboard-theme=dark] .toast-notification.success .toast-content{background:linear-gradient(135deg,#22c55ef2,#16a34af2);border-color:#22c55e4d}body[data-dashboard-theme=dark] .toast-notification.error .toast-content{background:linear-gradient(135deg,#ef4444f2,#dc2626f2);border-color:#ef44444d}body[data-dashboard-theme=dark] .toast-close:hover{background:#0003}body[data-dashboard-theme=dark] .header-add-track:hover{background:#00d1ff1f}body[data-dashboard-theme=dark] .nav-theme-toggle:hover{background-color:#ffffff14;color:var(--main-color)}body[data-dashboard-theme=dark] .tab-nav-footer{border-color:#ffffff14}.connection-status{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f6f7fb;font-size:.9rem;font-weight:600}body[data-dashboard-theme=dark] .connection-status{color:var(--text-primary)}.analytics-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1rem}.analytics-card{background:var(--bg-panel);border:1px solid var(--glass-border);border-radius:12px;padding:.75rem .9rem;display:flex;flex-direction:column;gap:.2rem}.analytics-card strong{font-size:1.05rem}.analytics-label{color:var(--text-secondary);font-size:.8rem}.history-tab{display:flex;flex-direction:column;gap:.9rem}.history-filter-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem}.history-filter-panel input,.history-filter-panel button{border:1px solid var(--glass-border-strong);border-radius:10px;padding:.55rem .7rem;background:var(--bg-panel);color:var(--text-primary)}.history-filter-panel button{cursor:pointer;font-weight:600}.history-table-wrap{overflow:auto;border:1px solid var(--glass-border);border-radius:12px;background:var(--bg-panel)}.history-table{width:100%;border-collapse:collapse;min-width:760px}.history-table th,.history-table td{padding:.55rem .65rem;border-bottom:1px solid var(--glass-border);text-align:left;font-size:.85rem}.history-table th{color:var(--text-secondary);font-weight:700}@media(max-width:480px){.analytics-strip{grid-template-columns:1fr}.analytics-label{font-size:.85rem}.analytics-card strong{font-size:1.15rem}}.filter-panel{display:grid;grid-template-columns:1fr;gap:.6rem;margin-bottom:1rem}.filter-panel--wide{grid-template-columns:minmax(200px,1.5fr) repeat(3,minmax(0,1fr));padding:.85rem 1rem 1rem;border:1px solid var(--glass-border-strong);border-radius:16px;background:var(--bg-panel);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(var(--blur-strong));backdrop-filter:blur(var(--blur-strong));gap:.75rem 1rem;align-items:start}.filter-field--search{min-width:0;width:100%}.filter-search-inline{position:relative;display:flex;flex-wrap:nowrap;align-items:center;gap:.45rem;min-height:48px;min-width:0;width:100%;padding:.35rem .4rem .35rem .8rem;border:1px solid var(--glass-border-strong);border-radius:12px;background:var(--bg-strong);color:var(--text-primary);box-shadow:inset 0 1px #ffffff0a;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}body[data-dashboard-theme=dark] .filter-search-inline{box-shadow:inset 0 1px #0003}.filter-search-inline:focus-within{border-color:var(--main-background);box-shadow:var(--accent-ring);background:var(--bg-panel)}.filter-search-inline-icon{flex-shrink:0;font-size:1rem;color:var(--text-muted);opacity:.9}.filter-search-inline-input{flex:1 1 auto;min-width:0;width:100%;border:none;background:transparent;color:inherit;font:inherit;font-size:.95rem;line-height:1.4;padding:.2rem .15rem .2rem 0;outline:none}.filter-search-inline-input::placeholder{color:var(--text-muted)}.filter-search-inline-input[type=search]::-webkit-search-decoration,.filter-search-inline-input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.filter-search-inline-clear{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-right:.1rem;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.9rem;padding:0;z-index:1;transition:background .15s ease,color .15s ease}.filter-search-inline-clear:hover{background:#00000014;color:var(--text-primary)}body[data-dashboard-theme=dark] .filter-search-inline-clear:hover{background:#ffffff14}.filter-search-kbd{display:none;flex-shrink:0;align-items:center;gap:.2rem;padding:0 .15rem 0 .1rem;-webkit-user-select:none;user-select:none}.filter-search-kbd kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;padding:.1rem .35rem;border:1px solid var(--glass-border);border-bottom-width:2px;border-radius:6px;background:var(--bg-panel);color:var(--text-muted);font-size:.65rem;font-weight:600;font-family:ui-monospace,monospace;line-height:1.2}.filter-panel-meta{margin:0;padding:0 .1rem;font-size:.75rem;line-height:1.3;color:var(--text-secondary);font-weight:500}.filter-field{min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:.28rem}.filter-field .filter-select,.filter-field .filter-number{width:100%;min-width:0}.filter-field-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);line-height:1.2}.filter-search-trigger-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0}.filter-search-open{flex-shrink:0;width:44px;height:44px;border-radius:12px;border:1px solid var(--glass-border-strong);background:var(--bg-panel);color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease;-webkit-tap-highlight-color:transparent}.filter-search-open:hover{border-color:var(--main-background);background:var(--accent-soft);color:var(--main-background)}.filter-search-open:focus-visible{outline:none;box-shadow:var(--accent-ring)}.filter-search-active{display:inline-flex;align-items:center;gap:.35rem;min-width:0;max-width:100%;padding:.35rem .4rem .35rem .75rem;border-radius:999px;border:1px solid var(--glass-border);background:var(--bg-strong);color:var(--text-secondary);font-size:.8rem}.filter-search-active-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);font-weight:600}.filter-search-clear{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.85rem;padding:0}.filter-search-clear:hover{background:#00000014;color:var(--text-primary)}body[data-dashboard-theme=dark] .filter-search-clear:hover{background:#ffffff14}.filter-advanced{border:1px solid var(--glass-border);border-radius:12px;background:var(--bg-panel);overflow:hidden}.filter-advanced-summary{list-style:none;display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;cursor:pointer;font-weight:600;font-size:.9rem;color:var(--text-primary);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.filter-advanced-summary::-webkit-details-marker{display:none}.filter-advanced-summary:after{content:"";width:.45rem;height:.45rem;margin-left:auto;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:rotate(45deg);transition:transform .2s ease}.filter-advanced[open] .filter-advanced-summary:after{transform:rotate(-135deg);margin-top:.2rem}.filter-advanced-summary:focus{outline:none}.filter-advanced-summary:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.filter-advanced-summary-icon{flex-shrink:0;color:var(--text-secondary);font-size:1rem}.filter-advanced-inner{display:grid;grid-template-columns:1fr;gap:.6rem;padding:0 .85rem .85rem}@media(min-width:1000px){.filter-panel--wide .filter-search-kbd{display:flex}}.filter-input,.filter-select,.filter-number{border:1px solid var(--glass-border);background:var(--bg-panel);border-radius:10px;color:var(--text-primary);padding:.6rem .7rem}.filter-select option{background:#111;color:#f6f7fb}.submitter-status-badge{display:inline-flex;gap:.4rem;padding:.18rem .5rem;border-radius:999px;border:1px solid var(--glass-border);font-size:.72rem;margin-top:.35rem}.submitter-status-badge.status-banned{background:#ef44442e}.submitter-status-badge.status-timeout{background:#f59e0b2e}.track-moderation-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.6rem}.mod-btn{border:1px solid var(--glass-border);border-radius:8px;background:#ffffff0a;color:var(--text-primary);padding:.35rem .55rem;font-size:.75rem;cursor:pointer}.mod-btn.warn{background:#f59e0b33}.mod-btn.timeout{background:#3b82f633}.mod-btn.ban{background:#ef444438}.mod-btn.unban{background:#22c55e2e}.posters-panel{margin-top:1rem;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:.9rem}.posters-list,.poster-detail{background:var(--bg-panel);border:1px solid var(--glass-border);border-radius:14px;padding:.8rem}.posters-list h3,.poster-detail h3{margin:0 0 .65rem}.posters-list{display:grid;gap:.55rem;max-height:560px;overflow:auto}.poster-row{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem;align-items:center;text-align:left;border:1px solid var(--glass-border);border-radius:10px;background:#ffffff08;padding:.55rem .65rem;cursor:pointer}.poster-row.active{border-color:#3b82f680;box-shadow:0 0 0 1px #3b82f640}.poster-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid var(--glass-border)}.poster-avatar-fallback{display:grid;place-items:center;font-weight:700;color:var(--text-primary);background:#ffffff0f}.poster-main{min-width:0}.poster-main strong{display:block}.poster-main p{margin:.15rem 0 .35rem;color:var(--text-secondary);font-size:.8rem}.poster-stats-inline{display:flex;flex-wrap:wrap;gap:.45rem;color:var(--text-secondary);font-size:.75rem}.poster-risk{display:grid;justify-items:end;gap:.15rem}.poster-risk small{color:var(--text-secondary)}.poster-detail-header p{margin-top:.15rem;color:var(--text-secondary);font-size:.83rem}.poster-detail-stats{margin-top:.7rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.poster-detail-stats>div{border:1px solid var(--glass-border);border-radius:10px;padding:.55rem;display:grid;gap:.22rem}.poster-detail-stats span{color:var(--text-secondary);font-size:.78rem}.poster-detail-actions{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.45rem}.volume-monitor-control{width:100%;display:flex;flex-direction:column;gap:.75rem;align-items:stretch}.volume-monitor-control .playlist-url-input{width:min(100%,420px)}.grafana-embed-input{min-height:6.25rem;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.grafana-panel-section{margin-top:.9rem;margin-bottom:1rem;background:var(--bg-panel);border:1px solid var(--glass-border);border-radius:16px;padding:.9rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.grafana-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.grafana-panel-header h3{margin:0;font-size:1rem}.grafana-panel-split{width:100%;display:grid;grid-template-columns:1fr;gap:.75rem}.volume-monitor-frame{width:100%;min-height:200px;border-radius:16px;border:1px solid var(--glass-border);background:var(--bg-strong);box-shadow:inset 0 1px #fffc}.volume-monitor-placeholder{width:100%;min-height:160px;border-radius:16px;border:1px dashed var(--glass-border-strong);background:#ffffffb3;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem}body[data-dashboard-theme=dark] .volume-monitor-frame{background:#0b1115;box-shadow:none}body[data-dashboard-theme=dark] .volume-monitor-placeholder{background:#ffffff08}.grafana-panel-footer{margin-top:1rem;font-size:.95rem;color:var(--text-muted)}@media(min-width:900px){.volume-monitor-control{align-items:flex-start}.volume-monitor-control .playlist-url-input{width:420px}.volume-monitor-setting .setting-info{max-width:720px}.grafana-panel-split{grid-template-columns:repeat(2,minmax(0,1fr))}}.moderation-overview{margin-top:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.moderation-column{background:var(--bg-panel);border:1px solid var(--glass-border);border-radius:14px;padding:.8rem}.moderation-column h3{margin-bottom:.55rem;font-size:.95rem}.moderation-row{border:1px solid var(--glass-border);border-radius:10px;padding:.5rem .6rem;margin-bottom:.45rem;display:flex;justify-content:space-between;gap:.6rem;align-items:center}.moderation-row p{color:var(--text-secondary);font-size:.75rem}.moderation-row-actions{display:flex;gap:.35rem}.flag-row{align-items:flex-start}@media(max-width:899px){.posters-panel,.moderation-overview{grid-template-columns:1fr}}.status-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s infinite}.connection-status.connected .status-dot{background:#22c55e}.connection-status.connecting .status-dot,.connection-status.reconnecting .status-dot{background:#f59e0b}.connection-status.disconnected .status-dot,.connection-status.failed .status-dot,.connection-status.error .status-dot{background:#ef4444;animation:none}.spotify-auth-area{display:flex;align-items:center}.spotify-auth-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;background:linear-gradient(135deg,#1db954,#1ed760);border:none;color:#fff;cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:600;font-family:inherit;text-decoration:none;box-shadow:0 2px 8px #1db9544d}.spotify-auth-button:hover:not(:disabled){background:linear-gradient(135deg,#1ed760,#1db954);transform:translateY(-1px);box-shadow:0 4px 12px #1db95466}.spotify-auth-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #1db95433}.spotify-auth-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.spotify-user-dropdown{position:relative}.spotify-user-button{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;border-radius:20px;background:#1db95426;border:1px solid rgba(29,185,84,.3);color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.spotify-user-button:hover{background:#1db95440;border-color:#1db95480;transform:translateY(-1px)}.user-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#1db9544d;flex-shrink:0}.user-avatar-img{width:100%;height:100%;object-fit:cover}.user-avatar-fallback{font-size:1rem;color:#1db954}.user-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spotify-dropdown-menu{position:absolute;top:calc(100% + .5rem);right:0;background:#000000f2;border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);min-width:250px;z-index:1000;animation:dropdownSlideIn .2s ease-out}.dropdown-header{display:flex;align-items:center;gap:.75rem;padding:1rem}.dropdown-spotify-icon{color:#1db954;font-size:1.5rem;flex-shrink:0}.dropdown-name{font-weight:600;color:#fff;font-size:.95rem}.dropdown-email{font-size:.8rem;color:#ccc;margin-top:.25rem}.dropdown-divider{height:1px;background:#ffffff1a;margin:0 .5rem}.dropdown-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;background:none;border:none;color:#ccc;cursor:pointer;transition:all .2s ease;font-size:.9rem;text-align:left}.dropdown-item:hover{background:#ffffff0d;color:#fff}.logout-item:hover{background:#ef44441a;color:#ef4444}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.tab-nav{display:flex;flex-direction:row;align-items:stretch;background-color:var(--bg-panel);border-bottom:1px solid var(--glass-border);border-radius:.5px;-webkit-backdrop-filter:blur(var(--blur-strong));backdrop-filter:blur(var(--blur-strong));box-shadow:var(--shadow-soft)}.tab-nav-buttons{display:flex;flex:1;flex-direction:row;align-items:stretch;min-width:0}.tab-nav-footer{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0 .35rem;border-left:1px solid var(--glass-border)}.tab-label--rail{display:none}.tab>svg{flex-shrink:0;font-size:1.35rem}.tab{flex:1;background:none;border:none;color:var(--text-muted);padding:.75rem 1.5rem;font-size:1rem;font-weight:var(--header-fw);font-family:var(--header-font);text-transform:var(--header-case);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.tab:hover{background-color:#ffffff0a;color:var(--main-color)}.tab.active{background:linear-gradient(135deg,#00d1ff24,#ffffff0a);color:var(--main-color);font-weight:var(--header-fw);box-shadow:var(--accent-ring),var(--shadow-soft)}.nav-theme-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;padding:.5rem;border:none;border-radius:10px;background:transparent;color:var(--text-muted);font-size:1.35rem;cursor:pointer;transition:color .2s ease,background-color .2s ease}.nav-sidebar-lock .nav-lock-label{display:inline}.tab-nav-footer .nav-sidebar-lock{width:auto;min-width:2.75rem;min-height:2.75rem;padding:.5rem .65rem;justify-content:center;flex-shrink:0}.nav-theme-toggle:hover{background-color:#ffffff0f;color:var(--main-color)}@media(max-width:799px){.tab-nav-buttons{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tab-nav-buttons::-webkit-scrollbar{display:none}.tab-nav-footer .nav-theme-toggle,.tab-nav-footer .nav-sidebar-lock{min-width:2.75rem;min-height:2.75rem}}@media(max-width:640px){.tab-label--mobile,.nav-sidebar-lock .nav-lock-label{display:none}.tab{flex:1 1 0;min-width:2.75rem;min-height:2.75rem;padding:.75rem .5rem}.tab>svg{font-size:1.5rem}}@media(min-width:800px){.app>.tab-nav{position:sticky;top:0;align-self:start;height:100vh;max-height:100vh;overflow-y:auto;overscroll-behavior:contain}.tab-nav{flex-direction:column;align-items:stretch;width:5.25rem;min-width:5.25rem;border-bottom:none;border-right:1px solid var(--glass-border);box-shadow:var(--shadow-soft)}.tab-nav-buttons{flex-direction:column;flex:0 1 auto;width:100%}.tab-nav-footer{flex-direction:column;margin-top:auto;width:100%;padding:.5rem .35rem .75rem;gap:.35rem;border-left:none;border-top:1px solid var(--glass-border)}.tab-nav-footer .nav-theme-toggle,.tab-nav-footer .nav-sidebar-lock{width:100%;min-width:0}.nav-sidebar-lock .nav-lock-label{display:none}.tab{flex:0 0 auto;flex-direction:column;gap:.25rem;padding:.7rem .35rem;min-height:3.25rem;font-size:inherit;line-height:1.15;text-transform:none;font-weight:600}.tab>svg{font-size:1.65rem}.tab-label--mobile{display:none}.tab-label--rail{display:block;font-size:.65rem;font-weight:600;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.main-content{flex:1;display:flex;flex-direction:column;padding-top:1.25rem;padding-right:max(1.5rem,env(safe-area-inset-right));padding-bottom:max(1.25rem,env(safe-area-inset-bottom));padding-left:max(1.25rem,env(safe-area-inset-left));max-width:1400px;margin:0 auto;width:100%}footer{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:gray;margin-bottom:2em}footer p{display:flex;align-items:center;justify-content:center;gap:.5rem}.tracks-tab{display:flex;flex-direction:column}.add-track-launch{width:48px;height:48px;border-radius:50%;border:1px solid var(--glass-border-strong);background:var(--bg-panel);color:var(--main-background);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;-webkit-backdrop-filter:blur(var(--blur-strong));backdrop-filter:blur(var(--blur-strong));box-shadow:var(--accent-ring),var(--shadow-soft)}.add-track-launch:hover{background:#00d1ff1a}.add-track-modal-overlay{position:fixed;inset:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:10001;padding:1rem;animation:modalOverlayFade .22s ease-out}.add-track-modal{width:min(780px,100%);background:var(--bg-panel);border:1px solid var(--glass-border-strong);border-radius:16px;padding:1.5rem;-webkit-backdrop-filter:blur(var(--blur-strong));backdrop-filter:blur(var(--blur-strong));box-shadow:var(--shadow-strong);animation:modalOpen .24s ease-out}@keyframes modalOverlayFade{0%{opacity:0}to{opacity:1}}@keyframes modalOpen{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.add-track-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.add-track-modal-header h2{margin:0;color:var(--main-background);font-family:var(--header-font);font-size:1.35rem;font-weight:var(--header-fw);text-transform:var(--header-case);display:flex;align-items:center;gap:.5rem}.add-track-modal-close{width:36px;height:36px;border-radius:50%;border:1px solid var(--glass-border);background:var(--bg-strong);color:var(--text-primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.add-track-modal-close:hover{border-color:var(--glass-border-strong);background:#ffffff1f}.search-track-modal-overlay{position:fixed;inset:0;z-index:10002;display:flex;align-items:center;justify-content:center;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));max-height:100dvh;box-sizing:border-box;background:#000000b8;-webkit-overflow-scrolling:touch;animation:modalOverlayFade .22s ease-out}.search-track-modal{width:min(500px,100%);max-width:100%;min-height:0;max-height:min(90dvh,540px);margin:0;border-radius:16px;border:1px solid var(--glass-border-strong);display:flex;flex-direction:column;padding:1.35rem 1.4rem 1.25rem;background:var(--bg-panel);color:var(--text-primary);box-shadow:var(--shadow-strong);-webkit-backdrop-filter:blur(var(--blur-strong));backdrop-filter:blur(var(--blur-strong));overflow:auto;animation:modalOpen .24s ease-out}body[data-dashboard-theme=dark] .search-track-modal{background:var(--bg-panel)}.search-track-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;flex-shrink:0}.search-track-modal-header h2{margin:0;color:var(--main-color);font-family:var(--header-font);font-size:1.2rem;font-weight:var(--header-fw);text-transform:var(--header-case);display:flex;align-items:center;gap:.5rem}body[data-dashboard-theme=dark] .search-track-modal-header h2{color:var(--text-primary)}.search-track-modal-close{width:44px;height:44px;border-radius:50%;border:1px solid var(--glass-border);background:var(--bg-panel);color:var(--text-primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem}.search-track-modal-close:hover{border-color:var(--glass-border-strong);background:var(--bg-strong)}.search-track-modal-hint{margin:0 0 .75rem;color:var(--text-secondary);font-size:.88rem;line-height:1.45;flex-shrink:0}.search-track-modal-input{width:100%;box-sizing:border-box;padding:.9rem 1rem;font-size:1.1rem;line-height:1.35;border:1px solid var(--glass-border-strong);border-radius:12px;background:var(--bg-strong);color:var(--text-primary);font-family:inherit;margin-bottom:0;flex-shrink:0}.search-track-modal-input::placeholder{color:var(--text-muted)}.search-track-modal-input:focus{outline:none;box-shadow:var(--accent-ring);border-color:var(--main-background)}.search-track-modal-footer{margin-top:1.1rem;padding-top:.35rem;flex-shrink:0;display:flex;justify-content:flex-end;gap:.5rem}.search-track-modal-done{min-height:48px;padding:.65rem 1.5rem;border:none;border-radius:12px;background:var(--main-background);color:#fff;font-weight:700;font-size:1rem;font-family:inherit;cursor:pointer}.search-track-modal-done:hover{filter:brightness(1.06)}.search-track-modal-done:focus-visible{outline:2px solid var(--main-color);outline-offset:2px}.now-playing-footer{position:sticky;bottom:0;z-index:20;margin-top:auto;padding-top:1rem;padding-bottom:max(.5rem,env(safe-area-inset-bottom));padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.add-track-section{background:var(--bg-panel);padding:2rem;border-radius:16px;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--blur-strong));backdrop-filter:blur(var(--blur-strong));box-shadow:var(--shadow-soft)}.add-track-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.add-track-section h2{font-family:var(--header-font);font-size:1.5rem;font-weight:var(--header-fw);text-transform:var(--header-case);margin-bottom:0;color:var(--main-background);display:flex;align-items:center;gap:.5rem}.expand-toggle{background-color:transparent;border:2px solid var(--main-background);color:var(--main-background);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;padding:0}.expand-toggle:hover{background-color:var(--main-background);color:var(--main-color);transform:scale(1.1)}.expand-toggle.expanded{background-color:var(--main-background);color:var(--main-color)}.expand-toggle svg{font-size:1rem;transition:transform .3s ease}.expand-toggle svg.rotated{transform:rotate(45deg)}.section-icon{font-size:1.2rem}.track-form{margin-bottom:1.5rem}.form-group{display:flex;gap:1rem;margin-bottom:1rem}.track-input{flex:1;background-color:#2a2a2a;border:2px solid #333;border-radius:8px;padding:1rem;color:var(--main-color);font-size:1rem;transition:border-color .3s ease}.track-input:focus{outline:none;border-color:var(--main-background)}.track-input::placeholder{color:#666}.submit-btn{background:linear-gradient(135deg,var(--main-background) 0%,#1ed760 100%);color:var(--main-color);border:none;border-radius:8px;padding:1rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #00abe766}.submit-btn:disabled{background:#666;cursor:not-allowed;transform:none;box-shadow:none}.error-message{background-color:#f44;color:var(--main-color);padding:1rem;border-radius:8px;margin-bottom:1rem;font-weight:500}.platforms-info{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.platforms-label{color:#999;font-weight:500}.platforms-list{display:flex;gap:.5rem;flex-wrap:wrap}.platform-info{display:flex;align-items:center;gap:.5rem}.platform-tag{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:500;text-transform:capitalize;display:flex;align-items:center;gap:.375rem;min-height:1.5rem}.platform-tag .platform-icon{width:.9rem;height:.9rem;flex-shrink:0}.platform-tag.spotify{background-color:#1db954;color:#000}.platform-tag.youtube{background-color:red;color:#fff}.platform-tag .platform-icon,.platform-badge .platform-icon{display:inline-flex;align-items:center;justify-content:center}.mode-indicator{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;text-transform:capitalize;transition:all .3s ease}.mode-indicator.spotify-only{background:linear-gradient(135deg,#1db954,#1ed760);color:#fff;border:1px solid rgba(29,185,84,.3)}.mode-indicator.spotify-only.active{background:linear-gradient(135deg,#1db954,#1ed760);color:#fff;border:1px solid rgba(29,185,84,.6);box-shadow:0 2px 12px #1db95466;animation:pulse-glow 2s infinite}@keyframes pulse-glow{0%,to{box-shadow:0 2px 12px #1db95466}50%{box-shadow:0 2px 20px #1db95499}}.mode-indicator.spotify-only.active svg{filter:drop-shadow(0 0 6px rgba(255,255,255,.8))}.tracks-sections{height:600px;display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:1200px){.tracks-sections{grid-template-columns:1fr}}.tracks-section{background:var(--bg-panel);border-radius:16px;border:1px solid var(--glass-border);overflow:hidden;display:flex;flex-direction:column;min-height:0;-webkit-backdrop-filter:blur(var(--blur-strong));backdrop-filter:blur(var(--blur-strong));box-shadow:var(--shadow-soft)}.section-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1rem;border-bottom:1px solid var(--glass-border)}.section-header-actions{display:flex;align-items:center;gap:.5rem}.accepted-header-actions{margin-left:auto;min-width:0}.bulk-action-btn{border:1px solid var(--glass-border);border-radius:999px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.bulk-action-btn:disabled{opacity:.6;cursor:not-allowed}.bulk-action-btn.approve-all{color:#0bdf52;background:#22c55e1f}.bulk-action-btn.approve-all:hover:not(:disabled){background:#22c55e33}.bulk-action-btn.reject-all{color:#e90a49;background:#f43f5e1f}.bulk-action-btn.reject-all:hover:not(:disabled){background:#f43f5e33}.section-header h2{font-family:var(--header-font);font-size:1.5rem;font-weight:var(--header-fw);text-transform:var(--header-case);display:flex;align-items:center;gap:.5rem}.tracks-section.pending .section-header{background-color:#ffc1071a}.tracks-section.accepted .section-header{background-color:#00abe71a}.count{background:#3b3b3b;color:#fff;border:1px solid rgba(255,255,255,.45);padding:.25rem .75rem;border-radius:20px;font-size:.9rem;font-weight:600}.empty-state{padding:3rem 2rem;text-align:center;color:var(--text-secondary);font-size:.95rem;font-style:normal;font-weight:500}body[data-dashboard-theme=dark] .empty-state{color:var(--text-muted)}.playlist-info-section{background:linear-gradient(135deg,#000000d9,#000000b3),radial-gradient(circle at 20% 20%,rgba(0,209,255,.08),transparent 45%);border-bottom:1px solid var(--glass-border);padding:1.5rem;margin-bottom:1rem}.playlist-info-card{background:var(--bg-panel);border-radius:16px;padding:1.5rem;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--blur-strong));backdrop-filter:blur(var(--blur-strong));box-shadow:var(--shadow-soft)}.playlist-header{display:flex;align-items:flex-start;gap:1rem;justify-content:space-between}.playlist-spotify-icon{color:#1db954;font-size:2rem;flex-shrink:0;margin-top:.25rem}.playlist-main-info{flex:1;min-width:0}.playlist-title{margin:0 0 .5rem;font-size:1.4rem;font-weight:700;color:#fff;line-height:1.3}.playlist-name-link{color:#1db954;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s ease;border-radius:6px;padding:.25rem 0;position:relative}.accepted-playlist-link{max-width:min(44vw,420px);border:1px solid var(--glass-border);background:#1db9541a;border-radius:999px;padding:.35rem .65rem}.accepted-playlist-link:hover{background:#1db9542e}.accepted-playlist-icon{flex-shrink:0}.accepted-playlist-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playlist-name-link:hover{text-decoration:underline;color:#1ed760}.external-link-icon{font-size:.9rem;opacity:.7}.playlist-description{color:#ccc;font-size:.95rem;margin:.5rem 0;line-height:1.4;font-weight:400}.playlist-meta{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#999;margin-top:.5rem}.playlist-owner{font-weight:500}.playlist-privacy{opacity:.8}.sync-button{background:linear-gradient(135deg,#1db954,#1ed760);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease;font-size:.9rem;white-space:nowrap;box-shadow:0 2px 8px #1db9544d;flex-shrink:0}.sync-button.compact{padding:.45rem .8rem;font-size:.82rem;border-radius:999px;box-shadow:none}.sync-button:hover:not(:disabled){background:linear-gradient(135deg,#1ed760,#17c653);transform:translateY(-1px);box-shadow:0 4px 12px #1db95466}.sync-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.sync-button.loading{background:linear-gradient(135deg,#1db954,#17a346)}.dropdown-arrow{font-size:.7rem;margin-left:.25rem;transition:transform .2s ease}.sync-dropdown .sync-button:hover .dropdown-arrow{transform:translateY(1px)}.sync-dropdown{position:relative;display:inline-block}.sync-dropdown-menu{position:fixed;background:#000000f2;border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);min-width:280px;z-index:9999;animation:dropdownSlideIn .2s ease-out;overflow:hidden}.sync-option{display:flex;align-items:center;gap:1rem;width:100%;padding:1rem;background:none;border:none;color:#ccc;cursor:pointer;transition:all .2s ease;text-align:left;border-bottom:1px solid rgba(255,255,255,.05)}.sync-option:last-child{border-bottom:none}.sync-option:hover{background:#1db9541a;color:#fff}.sync-option:hover .sync-icon{color:#1db954;transform:scale(1.1)}.sync-icon{font-size:1.2rem;color:#666;transition:all .2s ease;flex-shrink:0}.sync-option-content{display:flex;flex-direction:column;gap:.25rem}.sync-option-title{font-weight:600;font-size:.9rem;color:inherit}.sync-option-desc{font-size:.75rem;opacity:.7;color:inherit}.sync-divider{height:1px;background:#ffffff1a;margin:.5rem 0}.sync-note{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.75rem;color:#888;background:#1db9540d}.note-icon{color:#1db954;font-size:.9rem}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.playlist-header{flex-direction:column;gap:1rem;align-items:stretch}.sync-button{align-self:stretch;justify-content:center}.accepted-header-actions{width:100%;justify-content:flex-end}.accepted-playlist-link{max-width:100%}.sync-dropdown-menu{min-width:0;max-width:calc(100vw - 2rem)}.sync-option{padding:.875rem}.sync-option-title{font-size:.85rem}.sync-option-desc{font-size:.7rem}.playlist-title{font-size:1.2rem}.playlist-spotify-icon{font-size:1.5rem}.toast-notification{top:1rem;right:1rem;left:1rem;max-width:none;min-width:0}.toast-content{padding:.875rem 1rem;font-size:.85rem}.toast-message{margin-right:.75rem}.spotify-auth-button{padding:.5rem .75rem;font-size:.8rem;gap:.375rem}.user-name{display:none}.spotify-user-button{padding:.5rem}.spotify-dropdown-menu{right:-1rem;left:1rem;min-width:0}}.auth-button{background:#1db954;color:#fff;border:none;padding:12px 24px;border-radius:25px;cursor:pointer;font-weight:500;font-size:14px;transition:all .2s ease;display:flex;align-items:center;gap:8px}.auth-button:hover{background:#1ed760;transform:translateY(-1px);box-shadow:0 4px 12px #1db9544d}.auth-button:active{transform:translateY(0)}.auth-note{display:block;margin-top:8px;color:#666;font-style:italic;font-size:.85rem}.tracks-grid{padding:.5rem;display:flex;flex-direction:column;gap:.75rem;min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain}.tracks-grid::-webkit-scrollbar{width:8px}.tracks-grid::-webkit-scrollbar-track{background:#3b3b3b}.tracks-grid::-webkit-scrollbar-thumb{background:#666;border-radius:4px}.tracks-grid::-webkit-scrollbar-thumb:hover{background:#888}.track-card{background:var(--bg-panel);border:1px solid var(--glass-border);border-radius:14px;padding:.7rem .75rem;transition:all .3s ease;display:flex;flex-direction:column;gap:.55rem;height:unset!important;position:relative;z-index:1;flex:0 0 auto;overflow:hidden;-webkit-backdrop-filter:blur(var(--blur-strong));backdrop-filter:blur(var(--blur-strong));box-shadow:var(--shadow-soft)}.track-card:hover{border-color:var(--glass-border-strong);box-shadow:var(--accent-ring),var(--shadow-soft)}.track-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.track-main{min-width:0}.platform-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;display:flex;align-items:center;gap:.375rem;min-height:1.5rem}.platform-badge .platform-icon{width:.9rem;height:.9rem;flex-shrink:0}.platform-badge.spotify{background-color:#1db954;color:#000}.platform-badge.youtube{background-color:red;color:#fff}.explicit-badge{background-color:#f44;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:700}.track-info{flex:1;display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;min-width:0}.track-card .track-main{flex:1 1 auto;min-width:0}.track-card .track-likes{flex:0 0 auto}.track-title{font-size:.96rem;font-weight:600;margin-bottom:.1rem}.track-title a{color:var(--main-background);text-decoration:none;transition:color .3s ease}.track-title a:hover{color:#1ed760}.track-artist{color:#a5a7b5;font-size:.84rem}.track-submitter{color:var(--text-muted);font-size:.76rem;margin-top:.2rem}.track-likes{display:flex;align-items:center;gap:.5rem;margin-top:0}.like-button{background:none;border:none;color:#666;cursor:pointer;font-size:1rem;transition:all .3s ease;padding:.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.like-button:hover{color:#ff4757;background-color:#ff47571a}.like-button.liked{color:#ff4757}.likes-count{color:#999;font-size:.8rem;font-weight:500}.track-actions{display:flex;gap:.5rem;justify-content:flex-end;align-self:flex-end}.action-btn{background:none;border:2px solid transparent;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.95rem;transition:all .3s ease}.track-card.accepted-card{min-height:90px}.action-btn.approve{color:var(--main-background);border-color:var(--main-background)}.action-btn.approve:hover{background-color:var(--main-background);color:var(--main-color)}.action-btn.remove{color:#f44;border-color:#f44}.action-btn.remove:hover{background-color:#f44;color:var(--main-color)}.action-btn.unapprove{color:#f4b844;border-color:#f4b844}.action-btn.unapprove:hover:not(:disabled){background-color:#f4b844;color:#1b1b1b}.action-btn.unapprove.locked,.action-btn.unapprove:disabled{opacity:.55;cursor:not-allowed}.embed-container{width:100%;margin:0;flex-shrink:0;position:relative;padding:0}.embed-placeholder{position:relative;width:100%;height:100%;margin:0;border-radius:8px;overflow:hidden;cursor:pointer;transition:all .3s ease;border:2px solid transparent;isolation:isolate}.embed-placeholder:hover{border-color:var(--main-background);box-shadow:0 8px 25px #00abe74d}.placeholder-image{width:calc(100% + 6px);height:106px;margin:-3px;padding:3px;box-sizing:border-box;object-fit:cover;filter:blur(3px);transition:filter .3s ease}.placeholder-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;transition:background .3s ease}.embed-placeholder:hover .placeholder-overlay{background:#0006}.play-button{font-size:2.5rem;margin-bottom:.5rem;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.embed-placeholder:hover .play-button{transform:scale(1.1);color:var(--main-background)}.preview-text{font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;opacity:.9}.embed-placeholder:hover .preview-text{color:var(--main-background);opacity:1}.embed-close{position:absolute;top:-15px;right:-15px;background:#ff4444e6;border:2px solid #fff;border-radius:50%;width:32px;height:32px;color:#fff;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10;box-shadow:0 2px 8px #0000004d}.embed-close:hover{background:#f44;transform:scale(1.1);box-shadow:0 4px 12px #f446}.platform-embed{position:relative;width:100%;height:calc(100% - 40px);border-radius:8px;overflow:hidden;background:#000;border:1px solid #333;box-shadow:0 4px 15px #0000004d;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-15px);max-height:0}to{opacity:1;transform:translateY(0);max-height:450px}}.embed-frame{width:100%;height:352px;border:none;display:block;background:#1a1a1a;transition:opacity .3s ease}.embed-frame:not([src]){background:linear-gradient(90deg,#1a1a1a 25%,#2a2a2a,#1a1a1a 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.track-card .embed-frame{width:100%;height:100%}.track-card[data-platform=spotify] .embed-container{min-height:100px}.track-card[data-platform=spotify] .embed-frame{height:232px;min-height:232px}.embed-container.compact-spotify .placeholder-image{height:54px}.embed-container.compact-spotify .platform-embed{height:auto}.embed-container.compact-spotify .embed-frame{height:88px;min-height:88px}.embed-placeholder.compact{border:1px solid var(--glass-border);border-radius:10px;min-height:50px}.compact-spotify-placeholder-content{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.45rem .65rem;color:var(--text-secondary);background:#1db9541f}.compact-spotify-icon{color:var(--brand-spotify)}.compact-play-icon{color:var(--brand-spotify);font-size:.85rem}.platform-embed.compact{border:1px solid rgba(29,185,84,.4)}.track-card[data-platform=youtube] .embed-container{min-height:100px}.track-card[data-platform=youtube] .embed-frame{height:315px;min-height:315px}@media(max-width:768px){.embed-container{min-height:150px!important}.embed-frame{height:150px!important;min-height:150px!important}.track-card[data-platform=spotify] .embed-container{min-height:180px!important}.track-card[data-platform=spotify] .embed-frame{height:180px!important}.track-card[data-platform=youtube] .embed-container{min-height:200px!important}.track-card[data-platform=youtube] .embed-frame{height:200px!important}.play-button{font-size:2rem}.preview-text{font-size:.85rem}}.discord-tab{display:flex;flex-direction:column;gap:2rem}@media(max-width:768px){.header-content{flex-direction:column;gap:.75rem;text-align:center;align-items:center}.header-content>div:first-child{width:100%}.header-actions{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .75rem;width:100%;max-width:28rem}.connection-status{font-size:.8rem;padding:.45rem .85rem;flex-shrink:0}.main-content{padding-top:1rem;padding-right:max(1rem,env(safe-area-inset-right));padding-bottom:max(1rem,env(safe-area-inset-bottom));padding-left:max(1rem,env(safe-area-inset-left))}.app-header{padding:.8rem}.app-header h1{font-size:1.5rem}.tab{padding:1rem;font-size:.9rem}.form-group{flex-direction:column}.platforms-info{flex-direction:column;align-items:flex-start}.track-card{padding:.7rem}.section-header{padding:1rem 1.15rem;flex-wrap:wrap;gap:.65rem;align-items:flex-start}.section-header h2{font-size:1.15rem;flex:1 1 auto;min-width:0;line-height:1.25}.section-header-actions{flex:1 1 100%;justify-content:flex-end;flex-wrap:wrap;gap:.45rem}.empty-state{padding:2rem 1.25rem;font-size:.9rem}}.discord-status{background:var(--bg-panel);border:1px solid var(--glass-border);border-radius:16px;padding:2rem;margin-bottom:2rem;-webkit-backdrop-filter:blur(var(--blur-strong));backdrop-filter:blur(var(--blur-strong));box-shadow:var(--shadow-soft)}.discord-status h3{margin-top:0;color:#7289da;font-family:var(--header-font);font-size:1.5rem;font-weight:var(--header-fw);text-transform:var(--header-case);margin-bottom:1rem;display:inline-flex;align-items:center;gap:.5rem}.status-connected{color:var(--main-background);font-weight:600}.status-disconnected{color:#f44;font-weight:600}.stats{display:flex;gap:1rem;margin:1rem 0;flex-wrap:wrap}.stats span{background:var(--bg-strong);color:var(--text-secondary);padding:.5rem 1rem;border-radius:8px;font-size:.9rem;font-weight:500}.discord-config-form{margin-top:1rem;display:grid;gap:.75rem}.discord-config-form .form-row{display:flex;flex-direction:column;gap:.35rem}.discord-config-form label{font-weight:600;color:#d1d5db;display:inline-flex;align-items:center;gap:.4rem}.discord-inline-icon{font-size:.9rem}.discord-inline-icon.success{color:#22c55e}.discord-inline-icon.error{color:#ef4444}.discord-config-form input,.discord-input{padding:.65rem .75rem;border-radius:12px;border:1px solid var(--glass-border);background:var(--bg-strong);color:#e5e7eb;transition:border-color .2s ease,box-shadow .2s ease}.discord-config-form input:focus,.discord-input:focus{outline:none;border-color:var(--brand-discord);box-shadow:0 0 0 1px #7289da73}.discord-config-form .submit-btn{width:fit-content;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;padding:.65rem 1rem;border-radius:10px;cursor:pointer;transition:transform .1s ease,box-shadow .2s ease}.discord-save-btn{display:inline-flex;align-items:center;gap:.45rem}.discord-config-form .submit-btn:disabled{opacity:.6;cursor:not-allowed}.discord-config-form .submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #2563eb59}.active-channel,.setup-reminder,.success-message,.discord-status .error{margin-top:.5rem}.success-message{color:#22c55e;font-weight:700}.recent-submissions{margin-top:1.5rem;text-align:left}.recent-submissions h4{font-family:var(--header-font);font-weight:var(--header-fw);text-transform:var(--header-case);color:var(--main-color);margin-bottom:1rem}.submissions-list{max-height:300px;overflow-y:auto}.submission{display:flex;align-items:center;justify-content:space-between;padding:1rem;margin:.5rem 0;border:1px solid var(--glass-border);border-radius:12px;background:var(--bg-panel);transition:all .3s ease}.submission:hover{border-color:#7289da}.submission.accepted{border-left:4px solid var(--main-background)}.submission.pending{border-left:4px solid #ffc107}.submission .track-info{display:flex;flex:1;justify-content:space-between;flex-direction:row}.submission .track-info strong{display:block;color:var(--main-color);margin-bottom:.25rem}.platform{background:#6c757d;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;margin-left:.5rem;text-transform:uppercase;font-weight:600}.submitter{display:flex;align-items:center;gap:.5rem;margin:0 1rem}.avatar{width:32px;height:32px;border-radius:50%}.status{font-size:1.25rem}.loading,.error{padding:1rem;text-align:center;color:#666}.discord-setup{background:var(--bg-panel);border:1px solid var(--glass-border);border-radius:16px;padding:2rem;-webkit-backdrop-filter:blur(var(--blur-strong));backdrop-filter:blur(var(--blur-strong));box-shadow:var(--shadow-soft)}.discord-setup h3{margin-top:0;color:#7289da;font-family:var(--header-font);font-size:1.5rem;font-weight:var(--header-fw);text-transform:var(--header-case);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.setup-content{text-align:left}.setup-content p{color:#ccc;margin-bottom:1rem}.features-list{margin:1.5rem 0}.features-list h4{font-family:var(--header-font);font-weight:var(--header-fw);text-transform:var(--header-case);color:var(--main-color);margin-bottom:1rem}.features-list ul{list-style:none;padding-left:0}.features-list li{margin:.5rem 0;color:#ccc;border-left:3px solid #7289da;padding:.5rem 0 .5rem 1rem;display:flex;align-items:center;gap:.5rem}.feature-icon{font-size:1rem;color:#7289da;flex-shrink:0}.features-list code{background:#2a2a2a;color:var(--main-background);padding:.25rem .5rem;border-radius:4px;font-family:Courier New,monospace;font-weight:600}.setup-actions{margin:2rem 0;text-align:center;display:flex;gap:1rem;flex-wrap:wrap}.add-bot-button{background:#7289da;color:var(--main-color);border:none;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;flex:1;min-width:200px;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-icon{font-size:.9rem}.add-bot-button:hover:not(:disabled){background:#5b73c4;transform:translateY(-2px);box-shadow:0 4px 15px #7289da66}.add-bot-button:disabled{background:#666;cursor:not-allowed;transform:none;box-shadow:none}.add-bot-button.primary{background:linear-gradient(135deg,#7289da,#5b73c4)}.add-bot-button.secondary{background:#6c757d}.add-bot-button.secondary:hover:not(:disabled){background:#545b62}.setup-error{color:#f44;margin-top:1rem;padding:1rem;background:#ff44441a;border:1px solid #ff4444;border-radius:8px;font-weight:500;display:flex;align-items:center;gap:.5rem}.error-icon{font-size:1rem;flex-shrink:0}.setup-success{color:var(--main-background);margin-top:1rem;padding:1rem;background:#00abe71a;border:1px solid var(--main-background);border-radius:8px;font-weight:500}.success-icon{color:var(--main-background);margin-right:.5rem}.info-icon{color:#7289da;margin-right:.5rem}.setup-instructions{margin:2rem 0;background:#00abe71a;padding:1.5rem;border-radius:8px;border-left:4px solid var(--main-background)}.setup-instructions h4{font-family:var(--header-font);font-weight:var(--header-fw);text-transform:var(--header-case);color:var(--main-background);margin-bottom:1rem}.setup-instructions ol{margin:1rem 0;padding-left:1.5rem;color:#ccc}.setup-instructions li{margin:.75rem 0}.setup-instructions code{background:#2a2a2a;color:var(--main-background);padding:.25rem .5rem;border-radius:4px;font-family:Courier New,monospace;font-weight:600}.setup-note{margin-top:1.5rem;padding:1.5rem;background:#ffc1071a;border:1px solid #ffc107;border-radius:8px;font-size:.95rem}.setup-note p{color:#ccc;margin:.5rem 0}.setup-note strong{color:var(--main-color)}.setup-note code{background:#2a2a2a;color:#ffc107;padding:.25rem .5rem;border-radius:4px;font-family:Courier New,monospace;font-weight:600}.setup-step{margin:1.5rem 0}.guilds-list,.channels-list{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0;max-height:400px;overflow-y:auto;border:1px solid var(--glass-border);border-radius:12px;padding:1rem;background:var(--bg-panel);-webkit-backdrop-filter:blur(var(--blur-strong));backdrop-filter:blur(var(--blur-strong));box-shadow:var(--shadow-soft)}.guild-item,.channel-item{display:flex;align-items:center;padding:1rem;border:1px solid var(--glass-border);border-radius:12px;cursor:pointer;transition:all .3s ease;background:var(--bg-surface);-webkit-backdrop-filter:blur(var(--blur-strong));backdrop-filter:blur(var(--blur-strong))}.guild-item:hover,.channel-item:hover{background:#333;border-color:#7289da;transform:translateY(-1px)}.channel-item.selected{background:#7289da1a;border-color:#7289da;border-width:2px}.channel-item.disabled{background:#2a2a2a;opacity:.6;cursor:not-allowed}.channel-item.disabled:hover{transform:none}.guild-icon{width:48px;height:48px;border-radius:50%;margin-right:1rem;object-fit:cover}.guild-info{flex:1;text-align:left}.guild-name{font-weight:600;font-size:1.1rem;color:var(--main-color);margin-bottom:.25rem}.guild-members{font-size:.9rem;color:#999}.channel-info{flex:1;text-align:left}.channel-name{font-weight:600;font-size:1rem;color:var(--main-color);font-family:Courier New,monospace;margin-bottom:.25rem}.channel-topic{font-size:.9rem;color:#999;margin-top:.25rem}.channel-error{font-size:.85rem;color:#f44;margin-top:.25rem;font-weight:500}.channel-status{font-size:1.5rem;display:flex;align-items:center;justify-content:center}.status-icon{font-size:1.2rem}.status-icon.success{color:var(--main-background)}.status-icon.error{color:#f44}.channel-actions{display:flex;gap:1rem;margin:1.5rem 0;flex-wrap:wrap}.back-button{background:#6c757d;color:var(--main-color);border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .3s ease}.back-button:hover{background:#545b62;transform:translateY(-1px)}.unsuitable-channels{margin-top:1.5rem;padding:1rem;background:#ff44441a;border-radius:8px;border:1px solid #ff4444}.unsuitable-channels summary{cursor:pointer;font-weight:600;color:#f44;margin-bottom:1rem;padding:.5rem;border-radius:4px;transition:background-color .3s ease}.unsuitable-channels summary:hover{background:#ff44441a}.guild-configurations{margin:1.5rem 0;padding:1.5rem;background:#7289da1a;border-radius:8px;border-left:4px solid #7289da}.guild-configurations h4{margin:0 0 1rem;color:#7289da;font-family:var(--header-font);font-weight:var(--header-fw);text-transform:var(--header-case);font-size:1.2rem}.guild-config{background:#2a2a2a;padding:1rem;margin:.75rem 0;border-radius:8px;border:1px solid #333}.guild-config strong{color:#7289da;display:block;margin-bottom:.5rem}.setup-reminder{background:#ffc1071a;border:1px solid #ffc107;border-radius:8px;padding:1.5rem;margin:1.5rem 0}.setup-reminder p{margin:.5rem 0;color:#ccc}.setup-reminder code{background:#2a2a2a;color:#ffc107;padding:.25rem .5rem;border-radius:4px;font-family:Courier New,monospace;font-weight:600}.settings-tab{display:flex;flex-direction:column;gap:2rem}.settings-section{background:var(--bg-panel);border-radius:16px;padding:2rem;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--blur-strong));backdrop-filter:blur(var(--blur-strong));box-shadow:var(--shadow-soft)}.settings-section h2{color:var(--main-color);margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem;font-family:var(--header-font);font-weight:var(--header-fw);text-transform:var(--header-case)}.settings-save-status{margin:-.75rem 0 1rem;padding:.6rem .9rem;border-radius:10px;font-size:.88rem;font-weight:600;border:1px solid transparent}.settings-save-status.saving{background:#00a6ff1f;color:var(--main-color);border-color:#00a6ff47}.settings-save-status.saved{background:#22c55e1f;color:#166534;border-color:#22c55e4d}.settings-save-status.error{background:#ef44441f;color:#991b1b;border-color:#ef44444d}.setting-item{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 0;border-bottom:1px solid var(--glass-border)}.setting-item:last-child{border-bottom:none}.setting-info h3{color:var(--main-color);margin-bottom:.5rem;font-weight:600}.setting-info p{color:var(--text-secondary);font-size:.9rem}.setting-control{flex-shrink:0}.analysis-settings-control{display:flex;flex-direction:column;align-items:stretch;max-width:34rem;width:100%}.analysis-settings-card{display:flex;flex-direction:column;gap:.8rem;padding:1rem;border:1px solid var(--glass-border);border-radius:14px;background:linear-gradient(180deg,#ffffff85,#ffffff61)}.analysis-settings-field{display:flex;align-items:center}.analysis-settings-label{font-size:.85rem;font-weight:600;letter-spacing:.01em;color:var(--text-secondary)}.analysis-settings-model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.analysis-settings-input{width:100%}.analysis-settings-model-grid>*{min-width:0}.analysis-settings-checkbox-row{display:flex;align-items:flex-start;gap:.55rem;color:var(--text-primary);font-size:.88rem;line-height:1.35;cursor:pointer}.analysis-settings-checkbox{margin-top:.18rem;accent-color:var(--main-background)}.analysis-settings-inline-row{display:flex;align-items:center;gap:.65rem}.analysis-settings-inline-label{white-space:nowrap;color:var(--text-secondary);font-size:.85rem;font-weight:600}.analysis-settings-number{max-width:7rem}.volume-monitor-setting{flex-direction:column;align-items:stretch;gap:1rem}.volume-monitor-setting .setting-info{width:100%}.volume-monitor-setting .setting-info h3{margin-bottom:.35rem}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#10131a2e;transition:.4s;border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:var(--bg-strong);transition:.4s;border-radius:50%;box-shadow:0 2px 8px #10131a2e}.toggle-switch input:checked+.toggle-slider{background-color:var(--main-background)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 1px var(--main-background)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(26px);background-color:#fff}.toggle-slider.disabled{opacity:.5;cursor:not-allowed}.playlist-url-input{padding:.75rem 1rem;border:1px solid var(--glass-border-strong);border-radius:12px;background:var(--bg-strong);color:var(--text-primary);font-size:.9rem;width:300px;transition:all .3s ease;box-shadow:inset 0 1px #fffc}.playlist-url-input:focus{outline:none;border-color:var(--main-background);box-shadow:0 0 0 2px #00a6ff2e}.playlist-url-input::placeholder{color:var(--text-muted)}.analysis-settings-card .analysis-settings-input{width:100%;min-width:0}.cooldown-control.compact{display:flex;align-items:center;justify-content:flex-end}.cooldown-select{min-width:140px;padding:.65rem .9rem;border:1px solid var(--glass-border-strong);border-radius:12px;background:var(--bg-strong);color:var(--text-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;box-shadow:inset 0 1px #fffc}.cooldown-select:focus{outline:none;border-color:var(--main-background);box-shadow:0 0 0 2px #00a6ff2e}body[data-dashboard-theme=dark] .setting-info p{color:#ccc}body[data-dashboard-theme=dark] .toggle-slider{background-color:#333}body[data-dashboard-theme=dark] .toggle-slider:before{background-color:#ccc;box-shadow:none}body[data-dashboard-theme=dark] .playlist-url-input,body[data-dashboard-theme=dark] .cooldown-select{border:2px solid #333;background:#000;color:var(--main-color);box-shadow:none}body[data-dashboard-theme=dark] .analysis-settings-card{border-color:#333;background:linear-gradient(180deg,#0e0e0ee6,#0a0a0ae6)}body[data-dashboard-theme=dark] .analysis-settings-label,body[data-dashboard-theme=dark] .analysis-settings-inline-label{color:#a8b0ba}body[data-dashboard-theme=dark] .settings-save-status.saved{color:#86efac}body[data-dashboard-theme=dark] .settings-save-status.error{color:#fca5a5}body[data-dashboard-theme=dark] .playlist-url-input:focus,body[data-dashboard-theme=dark] .cooldown-select:focus{box-shadow:0 0 0 2px #00abe733}body[data-dashboard-theme=dark] .playlist-url-input::placeholder{color:#666}@media(max-width:960px){.analysis-settings-control{max-width:none}}@media(max-width:560px){.analysis-settings-model-grid{grid-template-columns:1fr}.analysis-settings-inline-row{align-items:stretch;flex-direction:column}.analysis-settings-inline-label{white-space:normal}.analysis-settings-number{max-width:none}}.cooldown-select option{background:#fff;color:var(--text-primary)}body[data-dashboard-theme=dark] .cooldown-select option{background:#111;color:var(--main-color)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 20%,rgba(0,166,255,.14),transparent 34%),radial-gradient(circle at 80% 0%,rgba(255,122,24,.1),transparent 28%),linear-gradient(135deg,#f7f9fc,#edf3f9);padding:2rem}.login-box{background:var(--bg-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:1rem;padding:3rem;width:100%;max-width:400px;box-shadow:var(--shadow-strong)}.login-header{text-align:center;display:flex;flex-direction:column;align-items:center;margin-bottom:2rem;position:relative}.login-theme-toggle{position:absolute;top:-.5rem;right:-.5rem;display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--glass-border);background:var(--bg-strong);color:var(--text-primary);border-radius:999px;padding:.45rem .75rem;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-soft)}.login-theme-toggle:hover{border-color:var(--glass-border-strong);background:#fffffff2}.login-icon{font-size:3rem;color:var(--main-background);margin-bottom:1rem}.login-header h1{font-family:var(--header-font);font-weight:var(--header-fw);text-transform:var(--header-case);font-size:2rem;margin-bottom:.5rem;background:linear-gradient(45deg,var(--main-background),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-header p{color:var(--text-secondary);font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.input-group{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1rem;color:var(--text-secondary);z-index:1}.input-group input{width:100%;padding:1rem 1rem 1rem 3rem;background:var(--bg-strong);border:1px solid var(--glass-border);border-radius:.5rem;color:var(--text-primary);font-size:1rem;transition:all .3s ease}.input-group input:focus{outline:none;border-color:var(--main-background);box-shadow:0 0 0 2px #00abe733;background:var(--bg-strong)}.input-group input::placeholder{color:var(--text-muted)}.toggle-password{position:absolute;right:1rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;transition:color .3s ease}.toggle-password:hover{color:var(--main-background)}.login-error{color:#ff4757;text-align:center;font-size:.9rem;padding:.5rem;background:#ff47571a;border:1px solid rgba(255,71,87,.2);border-radius:.5rem}.login-button{padding:1rem;background:linear-gradient(45deg,var(--main-background),#00d4ff);border:none;border-radius:.5rem;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #00abe74d}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-footer{text-align:center;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--glass-border)}.login-footer small{color:var(--text-muted)}body[data-dashboard-theme=dark] .login-container{background:radial-gradient(circle at 20% 20%,rgba(0,209,255,.08),transparent 35%),radial-gradient(circle at 80% 0%,rgba(255,122,0,.06),transparent 30%),linear-gradient(135deg,#050505,#101318)}body[data-dashboard-theme=dark] .login-theme-toggle{background:#ffffff0a;color:var(--text-primary)}body[data-dashboard-theme=dark] .login-theme-toggle:hover{background:#ffffff14}body[data-dashboard-theme=dark] .login-box{background:#ffffff0a;border-color:#ffffff1f}body[data-dashboard-theme=dark] .login-header p,body[data-dashboard-theme=dark] .login-footer small{color:#c5c7d3}body[data-dashboard-theme=dark] .input-group input{background:#ffffff0a;border-color:#ffffff1f}body[data-dashboard-theme=dark] .input-group input:focus{background:#ffffff0f}body[data-dashboard-theme=dark] .input-icon,body[data-dashboard-theme=dark] .toggle-password{color:#c5c7d3}.lock-button{background:#000000b3;border:1px solid rgba(255,71,87,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#ff4757;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.lock-button:hover{background:#ff475733;border-color:#ff475780}.spotify-only-toggle{background:#2a2a2a;border:1px solid rgba(29,185,84,.3);color:#1db954;padding:.75rem 1.25rem;border-radius:.75rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;position:relative;overflow:hidden;min-width:160px;justify-content:center}.spotify-only-toggle:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(29,185,84,.1),transparent);transition:left .5s ease}.spotify-only-toggle:active:before{left:100%}.spotify-only-toggle.enabled{background:linear-gradient(135deg,#1db95426,#1ed7601a);border-color:#1db95499;color:#1ed760;box-shadow:0 0 #1db95466}.spotify-only-toggle.enabled:hover{box-shadow:0 0 0 4px #1db95433}.spotify-only-toggle.disabled{color:#888;border-color:#8888884d;background:#1a1a1a}.spotify-only-toggle:hover{transform:translateY(-2px) scale(1.02);background:#1db95426;border-color:#1db95499;color:#1ed760;box-shadow:0 4px 16px #1db9544d}.spotify-only-toggle:active{transform:translateY(0) scale(.98);box-shadow:0 2px 8px #1db95466}.spotify-only-toggle svg{transition:all .2s ease}.spotify-only-toggle:hover svg{transform:scale(1.1) rotate(5deg)}.spotify-only-toggle.enabled svg{filter:drop-shadow(0 0 4px rgba(29,185,84,.5))}@media(max-width:768px){.setting-item{flex-direction:column;align-items:flex-start;gap:1rem}.setting-control{align-self:flex-end}.playlist-url-input{width:100%;max-width:300px}.cooldown-control.compact{width:100%;justify-content:flex-start}.cooldown-select{width:100%;max-width:300px}.login-box{padding:2rem;margin:1rem}.login-header h1{font-size:1.5rem}}@keyframes bottiPulse{0%,80%,to{transform:scale(.5);opacity:.22}40%{transform:scale(1);opacity:1}}.botti-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.botti-title{margin:0;flex:1}.header-action-button.botti-refresh-button{border:1px solid var(--glass-border-strong);border-radius:999px;background:var(--bg-panel);color:var(--text-primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.45rem .9rem;font-size:.85rem;font-weight:700;line-height:1;letter-spacing:.02em;-webkit-backdrop-filter:blur(var(--blur-strong));backdrop-filter:blur(var(--blur-strong));box-shadow:var(--accent-ring),var(--shadow-soft);transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}.header-action-button.botti-refresh-button:hover{background:#00a6ff1f;transform:translateY(-1px)}.header-action-button.botti-refresh-button:active{transform:translateY(0)}.header-action-button.botti-refresh-button svg{font-size:.78rem}.header-action-button.botti-refresh-button:focus-visible{outline:none;box-shadow:0 0 0 2px #00a6ff59,var(--shadow-soft)}.botti-status{display:inline-flex;align-items:center;gap:.7rem;margin-bottom:.9rem;padding:.5rem .75rem;border-radius:999px;border:1px solid var(--glass-border);background:var(--bg-panel, rgba(246, 247, 251, .88))}.botti-throbber{display:inline-flex;align-items:center;gap:.28rem}.botti-throbber span{width:.5rem;height:.5rem;border-radius:50%;background:var(--main-background, #00a6ff);animation:bottiPulse 1.1s ease-in-out infinite}.botti-throbber span:nth-child(2){animation-delay:.15s}.botti-throbber span:nth-child(3){animation-delay:.3s}.botti-status-text{font-size:.88rem;color:var(--text-secondary);font-weight:600}.botti-status-text.is-cycling{animation:bottiStatusTextSwap .9s ease-in-out infinite}.botti-output.is-loading{opacity:.82;transition:opacity .18s ease}@keyframes bottiStatusTextSwap{0%,to{opacity:.72;transform:translateY(0)}50%{opacity:1;transform:translateY(-1px)}}body[data-dashboard-theme=dark] .botti-status{background:#ffffff0a}
