@import"https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700&family=Space+Grotesk:wght@400;500;600&display=swap";*,*:before,*:after{box-sizing:border-box}body,h1,h2,h3,h4,p,ul,ol,li,figure,figcaption,blockquote,dl,dd{margin:0}button{background-color:transparent;border:none;padding:0}ul,ol{padding:0;list-style:none}input,button,textarea,select{font:inherit}body{font-family:Inter,sans-serif;background-color:#f3f4f6;transition-property:background-color,color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;margin:0;color:#111827;line-height:1.5;-webkit-font-smoothing:antialiased}.dark body{background-color:#000;color:#fff}@keyframes wave{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1.5)}}@keyframes fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fade-in-fast{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slide-up-fade{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.player-container{background-color:#fff;color:#111827;z-index:20;flex-shrink:0}.dark .player-container{background-color:#000;color:#fff}.player-container.mobile{background-color:#f9fafb;position:fixed;bottom:50px;left:0;right:0;z-index:30}.dark .player-container.mobile{background-color:#000}.player-mobile-layout{height:4rem;padding:0 .5rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.player-mobile-station-info{display:flex;align-items:center;gap:.75rem;min-width:0}.player-mobile-image-wrapper{width:3rem;height:3rem;border-radius:.25rem;background-color:#e5e7eb;flex-shrink:0}.player-mobile-image-wrapper.loaded{background-color:transparent}.dark .player-mobile-image-wrapper{background-color:#1f2937}.dark .player-mobile-image-wrapper.loaded{background-color:transparent}.player-mobile-image{width:100%;height:100%;border-radius:.25rem;object-fit:contain}.player-mobile-text{min-width:0;display:flex;flex-direction:column;gap:0}.player-mobile-title{font-weight:600;font-size:.875rem;line-height:1.25rem;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.dark .player-mobile-title{color:#fff}.player-mobile-subtitle{font-size:.75rem;line-height:1rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.dark .player-mobile-subtitle{color:#9ca3af}.player-mobile-controls{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.player-mobile-control-button{padding:.25rem;transition:color .2s;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}.player-mobile-control-button svg{width:1.5rem;height:1.5rem}.player-mobile-control-button:disabled{color:#d1d5db;cursor:not-allowed}.dark .player-mobile-control-button:disabled{color:#6b728080}.player-mobile-control-button.favorite{color:#ef4444}.player-mobile-control-button.not-favorite{color:#6b7280}.dark .player-mobile-control-button.not-favorite{color:#9ca3af}.player-mobile-control-button.not-favorite:hover{color:#111827}.dark .player-mobile-control-button.not-favorite:hover{color:#fff}.player-mobile-control-button.add{color:#6b7280}.dark .player-mobile-control-button.add{color:#9ca3af}.player-mobile-control-button.add:hover{color:#111827}.dark .player-mobile-control-button.add:hover{color:#fff}.player-mobile-control-button.play-pause{color:#111827}.dark .player-mobile-control-button.play-pause{color:#fff}.player-mobile-control-button.info{color:#6b7280}.dark .player-mobile-control-button.info{color:#9ca3af}.player-mobile-control-button.info:hover{color:#111827}.dark .player-mobile-control-button.info:hover{color:#fff}.player-desktop-layout{height:5.75rem;padding:0 1rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem}.player-station-info{display:flex;align-items:center;gap:.75rem;justify-self:flex-start;min-width:0}.player-station-image-wrapper{width:3.5rem;height:3.5rem;border-radius:.25rem;background-color:#f3f4f6;flex-shrink:0}.player-station-image-wrapper.loaded{background-color:transparent}.dark .player-station-image-wrapper{background-color:#374151}.dark .player-station-image-wrapper.loaded{background-color:transparent}.player-station-image{width:100%;height:100%;border-radius:.25rem;object-fit:contain}.player-station-fallback-icon{width:100%;height:100%;padding:.5rem;color:#9ca3af;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.dark .player-station-fallback-icon{color:#9ca3af}.player-station-text{min-width:0;display:flex;flex-direction:column;gap:0}.player-station-title{font-weight:600;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.dark .player-station-title{color:#fff}.player-station-subtitle{font-size:.75rem;line-height:1rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.dark .player-station-subtitle{color:#9ca3af}.player-station-actions{display:flex;align-items:center;gap:.5rem;margin-left:.5rem}.player-station-action-button{transition:color .2s;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}.player-station-action-button:disabled{color:#d1d5db!important;cursor:not-allowed}.dark .player-station-action-button:disabled{color:#4b5563!important}.player-station-action-button.favorite{color:#16a34a}.dark .player-station-action-button.favorite{color:#1db954}.player-station-action-button.favorite:hover{color:#15803d}.dark .player-station-action-button.favorite:hover{color:#1ed760}.player-station-action-button.not-favorite,.dark .player-station-action-button.not-favorite{color:#9ca3af}.player-station-action-button.not-favorite:hover{color:#111827}.dark .player-station-action-button.not-favorite:hover{color:#fff}.player-station-action-button.add,.dark .player-station-action-button.add{color:#9ca3af}.player-station-action-button.add:hover{color:#111827}.dark .player-station-action-button.add:hover{color:#fff}.player-station-action-button.info,.dark .player-station-action-button.info{color:#9ca3af}.player-station-action-button.info:hover{color:#111827}.dark .player-station-action-button.info:hover{color:#fff}.player-main-controls{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;justify-self:center}.player-main-controls-buttons{display:flex;align-items:center;justify-content:center;gap:1rem}.player-control-button{color:#6b7280;transition:color .2s;border:none;background:transparent;cursor:pointer}.dark .player-control-button{color:#9ca3af}.player-control-button:hover{color:#111827}.dark .player-control-button:hover{color:#fff}.player-control-button:disabled{color:#d1d5db;cursor:not-allowed}.dark .player-control-button:disabled{color:#4b5563;cursor:not-allowed}.player-play-pause-button{background-color:#374151;color:#fff;width:2.5rem;height:2.5rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:transform .2s,background-color .2s}.dark .player-play-pause-button{background-color:#e5e7eb;color:#181818}.player-play-pause-button:hover{transform:scale(1.05)}.player-play-pause-button:disabled{background-color:#e5e7eb;color:#9ca3af;transform:none;cursor:not-allowed}.dark .player-play-pause-button:disabled{background-color:#4b5563;color:#9ca3af}.player-secondary-controls{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;justify-self:flex-end}.player-secondary-control-button{color:#6b7280;transition:color .2s;border:none;background:transparent;padding:.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}.dark .player-secondary-control-button{color:#9ca3af}.player-secondary-control-button:hover{color:#111827}.dark .player-secondary-control-button:hover{color:#fff}.player-secondary-control-button:disabled{color:#d1d5db;cursor:not-allowed}.dark .player-secondary-control-button:disabled{color:#4b5563;cursor:not-allowed}.player-secondary-control-button svg{width:1.25rem;height:1.25rem}.player-secondary-control-button.pip-open{color:#16a34a}.dark .player-secondary-control-button.pip-open{color:#1db954}.player-secondary-control-button.record-button.recording{color:#ef4444;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.record-countdown{font-size:.875rem;font-weight:700;font-family:monospace}.player-volume-control{display:flex;align-items:center;gap:.5rem}.volume-slider-wrapper{width:6rem}.volume-slider-wrapper .volume-slider::-webkit-slider-runnable-track{background:linear-gradient(to right,#000000 var(--volume-percent),#9ca3af var(--volume-percent))}.volume-slider-wrapper .volume-slider::-moz-range-track{background:linear-gradient(to right,#000000 var(--volume-percent),#9ca3af var(--volume-percent))}.volume-slider-wrapper:hover .volume-slider::-webkit-slider-thumb{opacity:1}.volume-slider-wrapper:hover .volume-slider::-moz-range-thumb{opacity:1}.dark .volume-slider-wrapper:hover .volume-slider::-webkit-slider-runnable-track{background:linear-gradient(to right,#1ed760 var(--volume-percent),#4b5563 var(--volume-percent))}.dark .volume-slider-wrapper:hover .volume-slider::-moz-range-track{background:linear-gradient(to right,#1ed760 var(--volume-percent),#4b5563 var(--volume-percent))}.volume-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:transparent;border-radius:4px;outline:none;cursor:pointer}.volume-slider::-webkit-slider-runnable-track{width:100%;height:4px;background:linear-gradient(to right,#22c55e var(--volume-percent),#9ca3af var(--volume-percent));border-radius:4px}.dark .volume-slider::-webkit-slider-runnable-track{background:linear-gradient(to right,#ffffff var(--volume-percent),#4b5563 var(--volume-percent))}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;background:#fff;border:1px solid #9ca3af;cursor:pointer;border-radius:50%;margin-top:-4px;transition:opacity .2s}.dark .volume-slider::-webkit-slider-thumb{background:#fff;border:none;opacity:0}.volume-slider::-moz-range-track{width:100%;height:4px;background:linear-gradient(to right,#22c55e var(--volume-percent),#9ca3af var(--volume-percent));border-radius:4px;border:none}.dark .volume-slider::-moz-range-track{background:linear-gradient(to right,#ffffff var(--volume-percent),#4b5563 var(--volume-percent));border-radius:4px;border:none}.volume-slider::-moz-range-thumb{width:12px;height:12px;background:#fff;border:1px solid #9ca3af;cursor:pointer;border-radius:50%}.dark .volume-slider::-moz-range-thumb{background:#fff;border:none;opacity:0}.notification-wrapper{position:fixed;bottom:6rem;left:50%;transform:translate(-50%);width:91.666667%;max-width:32rem;z-index:30;animation:slide-up-fade .3s ease-out forwards}.notification-container{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#fff;padding:1rem;border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;display:flex;align-items:center;gap:1rem}.notification-error{background-color:#7f1d1dcc;border:1px solid #991b1b}.notification-success{background-color:#15803dcc;border:1px solid #166534}.notification-icon-wrapper{flex-shrink:0}.notification-icon-wrapper svg{height:1.5rem;width:1.5rem}.notification-error .notification-icon-wrapper svg{color:#f87171}.notification-success .notification-icon-wrapper svg{color:#86efac}.notification-content{flex-grow:1;min-width:0}.notification-title{font-weight:600}.notification-message{font-size:.875rem;line-height:1.25rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.notification-error .notification-message{color:#fca5a5}.notification-success .notification-message{color:#d1fae5}.notification-close-button{padding:.25rem;border-radius:9999px;transition:background-color .2s;flex-shrink:0;border:none;background:transparent;cursor:pointer;color:#fff}.notification-close-button svg{height:1.25rem;width:1.25rem}.notification-close-button:hover{background-color:#fff3}.notification-link{font-weight:600;text-decoration:underline;margin-left:.5rem;color:inherit}.notification-link:hover{opacity:.8}.notification-message-stack{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.notification-action-button{border:1px solid rgba(255,255,255,.6);background:transparent;color:inherit;padding:.2rem .6rem;border-radius:999px;font-weight:600;cursor:pointer}.notification-action-button:hover{background-color:#ffffff26}.sidebar-container{background-color:#fff;border-radius:.5rem;flex-shrink:0;display:flex;flex-direction:column;padding:.5rem .5rem 0;gap:.5rem;overflow:visible;position:relative;min-width:267px}.dark .sidebar-container{background-color:#121212}.sidebar-resize-handle{position:absolute;top:0;right:-4px;bottom:0;width:8px;cursor:col-resize;z-index:10;transition:background-color .2s}.sidebar-resize-handle:hover{background-color:#22c55e4d}.dark .sidebar-resize-handle:hover{background-color:#4ade8033}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .5rem 0;flex-shrink:0}.sidebar-header-title{font-size:1.5rem;line-height:2rem;font-weight:700;color:#111827}.dark .sidebar-header-title{color:#fff}.sidebar-add-button{height:2.25rem;width:2.25rem;display:flex;align-items:center;justify-content:center;background-color:#f3f4f6;border:none;border-radius:9999px;color:#6b7280;cursor:pointer;transition:all .2s}.sidebar-add-button:hover{background-color:#e5e7eb;color:#1f2937}.dark .sidebar-add-button{background-color:#1f1f1f;color:#9ca3af}.dark .sidebar-add-button:hover{background-color:#282828;color:#fff}.sidebar-add-button svg{width:1.25rem;height:1.25rem}.sidebar-pills{display:flex;align-items:center;gap:.5rem;padding:.5rem;white-space:nowrap;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none;flex-shrink:0}.sidebar-pills::-webkit-scrollbar{display:none}.sidebar-pill-button{padding:.375rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;border-radius:9999px;transition:all .2s;border:none;cursor:pointer;position:relative}.sidebar-pill-button.locked{overflow:visible}.sidebar-pill-badge{position:absolute;top:-.4rem;right:-.4rem;background-color:#0ea5e9;color:#fff;font-size:.6rem;font-weight:700;text-transform:uppercase;padding:.15rem .45rem;border-radius:999px;letter-spacing:.08em;pointer-events:none}.dark .sidebar-pill-badge{background-color:#38bdf8;color:#0f172a}.sidebar-pill-button.active{background-color:#fff;color:#111827;box-shadow:0 1px 3px #0000001a}.dark .sidebar-pill-button.active{background-color:#374151;color:#fff}.sidebar-pill-button:not(.active){background-color:#f3f4f6;color:#4b5563}.dark .sidebar-pill-button:not(.active){background-color:#1f1f1f;color:#d1d5db}.sidebar-pill-button:not(.active):hover{background-color:#e5e7eb}.dark .sidebar-pill-button:not(.active):hover{background-color:#282828}.sidebar-list{flex-grow:1;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem;padding:0 .5rem .5rem;margin:0;list-style:none}.sidebar-list-item-button{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-radius:.375rem;transition:background-color .2s;width:100%;background:transparent;border:none}.sidebar-list-item-button:hover,.sidebar-list-item-button.active{background-color:#f3f4f6}.dark .sidebar-list-item-button:hover,.dark .sidebar-list-item-button.active{background-color:#1f1f1f}.sidebar-list-item-button.sub-item{padding-top:.375rem;padding-bottom:.375rem}.sidebar-list-item-button.sub-item .sidebar-list-item-thumbnail{width:2.5rem;height:2.5rem}.sidebar-list-item-clickable-area{display:flex;align-items:center;flex-grow:1;min-width:0;cursor:pointer}.sidebar-list-item-thumbnail-wrapper{position:relative;flex-shrink:0}.sidebar-list-item-thumbnail{position:relative;width:3.5rem;height:3.5rem;border-radius:.375rem;background-color:#e5e7eb;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:background-color .3s}.dark .sidebar-list-item-thumbnail{background-color:#374151}.sidebar-list-item-thumbnail.image-loaded,.dark .sidebar-list-item-thumbnail.image-loaded{background-color:transparent}.sidebar-list-item-thumbnail .fallback-icon{width:2rem;height:2rem;color:#9ca3af}.dark .sidebar-list-item-thumbnail .fallback-icon{color:#9ca3af}.sidebar-list-item-thumbnail.image-loaded .fallback-icon{display:none}.sidebar-list-item-thumbnail .thumbnail-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .3s}.sidebar-list-item-thumbnail .thumbnail-image.loaded{opacity:1}.sidebar-list-item-info{flex-grow:1;min-width:0;margin-left:1rem;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:.125rem}.sidebar-list-item-title{font-weight:600;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.dark .sidebar-list-item-title{color:#fff}.sidebar-list-item-subtitle{font-size:.875rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.dark .sidebar-list-item-subtitle{color:#9ca3af}.sidebar-list-item-actions{flex-shrink:0;margin-left:.5rem}.sidebar-list-item-refresh-button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:9999px;background-color:transparent;color:#9ca3af;border:none;cursor:pointer;transition:all .2s;opacity:0}.dark .sidebar-list-item-refresh-button{color:#6b7280}.sidebar-list-item-button:hover .sidebar-list-item-refresh-button,.sidebar-list-item-button.active .sidebar-list-item-refresh-button,.sidebar-app-entry:hover .sidebar-list-item-refresh-button{opacity:1}.sidebar-list-item-refresh-button:hover{background-color:#e5e7eb;color:#1f2937}.dark .sidebar-list-item-refresh-button:hover{background-color:#282828;color:#fff}.sidebar-list-item-refresh-button svg{width:1rem;height:1rem}.sidebar-list-item-refresh-button:disabled{cursor:not-allowed;opacity:1!important}.sidebar-list-spinner{width:1rem;height:1rem;border-width:2px;border-color:#d1d5db;border-top-color:#1f2937;border-radius:50%;animation:spin 1s linear infinite}.dark .sidebar-list-spinner{border-color:#4b5563;border-top-color:#fff}.sidebar-empty-message{padding:1rem;text-align:center;color:#6b7280;font-size:.875rem;width:100%}.dark .sidebar-empty-message{color:#9ca3af}.sidebar-load-more-button{margin:.35rem .75rem .6rem;padding:.45rem .75rem;border-radius:999px;border:1px solid rgba(148,163,184,.4);background:transparent;color:#475569;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease}.sidebar-load-more-button:hover{border-color:#94a3b8b3;color:#1f2937}.dark .sidebar-load-more-button{border-color:#94a3b880;color:#e2e8f0}.dark .sidebar-load-more-button:hover{border-color:#e2e8f0b3;color:#fff}.sidebar-app-group-header{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:#6b7280;padding:1rem .5rem .25rem}.dark .sidebar-app-group-header{color:#9ca3af}.sidebar-app-entry{padding:.5rem;border-radius:.5rem;background-color:#f9fafb;border:1px solid #e5e7eb;margin-bottom:.5rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:space-between}.dark .sidebar-app-entry{background-color:#181818;border-color:#282828}.sidebar-app-entry:hover{background-color:#f3f4f6}.dark .sidebar-app-entry:hover{background-color:#27272a}.sidebar-app-entry.is-connected{border-left:3px solid #22c55e}.sidebar-app-entry.is-active{background-color:#f3f4f6;border-color:#d1d5db}.dark .sidebar-app-entry.is-active{background-color:#27272a;border-color:#374151}.sidebar-sub-list{margin-top:.25rem;list-style:none;padding:0;display:flex;flex-direction:column;gap:.125rem;padding-left:.5rem}.header-banner-container{width:100%;height:300px;display:flex;align-items:flex-end;justify-content:space-between;padding:2rem;position:relative}.header-banner-content{display:flex;align-items:flex-end;gap:1.5rem}.header-banner-image-wrapper{width:10.5rem;height:10.5rem;flex-shrink:0;background-color:#1f2937;border-radius:.5rem;display:flex;align-items:center;justify-content:center}.header-banner-image-wrapper.loaded,.dark .header-banner-image-wrapper.loaded{background-color:transparent}.header-banner-image{width:100%;height:100%;object-fit:contain;border-radius:.5rem}.header-banner-fallback-icon{width:4rem;height:4rem}.header-banner-fallback-icon svg{width:100%;height:100%}.header-banner-text-content{display:flex;flex-direction:column;justify-content:flex-end;min-width:0;margin-bottom:.25rem;gap:.5rem}.header-banner-type{font-weight:700;font-size:.875rem;line-height:1.25rem;color:#111827;text-transform:uppercase;letter-spacing:.05em}.header-banner-title{font-size:4.5rem;line-height:1.1;font-weight:900;color:#111827;word-break:break-word;margin:0}.header-banner-meta{display:flex;align-items:center;gap:1rem}.header-banner-station-count{font-size:.875rem;line-height:1.25rem;color:#111827;margin:0}.header-banner-actions{display:flex;align-items:center;gap:.25rem;margin-left:.5rem}.header-banner-action-button{background:transparent;border:none;cursor:pointer;color:#111827;padding:.5rem;border-radius:9999px;transition:all .2s;display:flex;align-items:center;justify-content:center}.dark .header-banner-action-button{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.header-banner-action-button:hover:not(:disabled){background-color:#0000001a;transform:scale(1.1)}.dark .header-banner-action-button:hover:not(:disabled){background-color:#ffffff1a}.header-banner-action-button svg{width:1.25rem;height:1.25rem}.header-banner-action-button.is-spinning svg{animation:spin 1s linear infinite}.header-banner-action-button:disabled{opacity:.7;cursor:default}.dark .header-banner-type{color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}.dark .header-banner-title{color:#fff;text-shadow:0 4px 12px rgba(0,0,0,.5)}.dark .header-banner-station-count{color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}@media(max-width:768px){.header-banner-container{padding:1rem}.header-banner-image-wrapper{width:9rem;height:9rem}.header-banner-title{font-size:2.25rem;line-height:2.5rem}}.sticky-header-container{position:sticky;top:0;z-index:15;padding:.75rem 1.5rem;transition:background-color .3s ease;color:#fff;margin-bottom:-58px;height:58px;box-sizing:border-box;pointer-events:none}.sticky-header-container.visible{background-color:#2f4885e6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:auto}.sticky-header-content{display:flex;align-items:center;justify-content:space-between;height:100%}.sticky-header-title{font-size:1.5rem;font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:0;transition:opacity .3s ease}.sticky-header-container.visible .sticky-header-title{opacity:1}.sticky-header-controls{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.sticky-header-refresh-button{background:transparent;border:none;cursor:pointer;color:#fff;padding:.5rem;border-radius:9999px;transition:all .2s;display:flex;align-items:center;justify-content:center}.sticky-header-refresh-button:hover:not(:disabled){background-color:#ffffff1a;transform:scale(1.1)}.sticky-header-refresh-button svg{width:1.25rem;height:1.25rem}.sticky-header-refresh-button.is-spinning svg{animation:spin 1s linear infinite}.sticky-header-refresh-button:disabled{opacity:.7;cursor:default}.sticky-header-select-all-button{padding:.5rem 1rem;font-weight:600;border-radius:9999px;transition:all .2s ease;border:none;cursor:pointer;background-color:#0006;color:#fff;font-size:.875rem}.sticky-header-select-all-button:hover{background-color:#0009}.sticky-header-action-button{padding:0;width:44px;height:44px;border-radius:9999px;transition:all .2s ease;border:none;cursor:pointer;color:#fff;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.sticky-header-action-button.move{background-color:#4b5563cc}.sticky-header-action-button.move:hover{background-color:#374151}.sticky-header-action-button.delete{background-color:#dc2626cc}.sticky-header-action-button.delete:hover{background-color:#b91c1c}.sticky-header-action-button svg{width:1.25rem;height:1.25rem}.sticky-header-edit-button{padding:0;width:44px;height:44px;border-radius:9999px;transition:all .2s ease;border:none;cursor:pointer;background-color:#0006;color:#fff;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.sticky-header-edit-button:hover{background-color:#0009}.sticky-header-edit-button svg{width:1.25rem;height:1.25rem}.create-list-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fade-in-fast .2s ease-out}.create-list-modal-container{background-color:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;width:100%;max-width:24rem}.dark .create-list-modal-container{background-color:#121212}.create-list-modal-header{padding:1rem;border-bottom:1px solid #e5e7eb}.dark .create-list-modal-header{border-bottom-color:#374151}.create-list-modal-title{font-weight:700;font-size:1.125rem;line-height:1.75rem;color:#111827}.dark .create-list-modal-title{color:#fff}.create-list-modal-content{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.create-list-modal-pills{display:flex;align-items:center;gap:.5rem;background-color:#f3f4f6;border-radius:9999px;padding:.25rem}.dark .create-list-modal-pills{background-color:#1f2937}.create-list-modal-pill-button{flex:1;padding:.375rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;border-radius:9999px;transition:all .2s;border:none;cursor:pointer}.create-list-modal-pill-button.active{background-color:#fff;color:#111827;box-shadow:0 1px 2px #0000000d}.dark .create-list-modal-pill-button.active{background-color:#4b5563;color:#fff}.create-list-modal-pill-button:not(.active){color:#374151;background-color:transparent}.dark .create-list-modal-pill-button:not(.active){color:#d1d5db}.create-list-modal-pill-button:not(.active):hover{background-color:#e5e7ebb3}.dark .create-list-modal-pill-button:not(.active):hover{background-color:#4b556380}.create-list-modal-pill-button.disabled{opacity:.6;cursor:not-allowed}.create-list-modal-note{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;border-radius:.75rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);font-size:.85rem;color:#065f46}.dark .create-list-modal-note{color:#a7f3d0}.create-list-modal-label{display:block;font-size:.875rem;line-height:1.25rem;font-weight:500;color:#374151;margin-bottom:-.5rem}.dark .create-list-modal-label{color:#d1d5db}.create-list-modal-input{width:100%;height:2.5rem;background-color:#f3f4f6;border:1px solid #d1d5db;color:#111827;padding:.5rem 1rem;border-radius:.375rem;box-shadow:0 1px 2px #0000000d;transition:all .2s}.dark .create-list-modal-input{background-color:#374151;border-color:#4b5563;color:#fff}.create-list-modal-input:focus{outline:2px solid transparent;outline-offset:2px;border-color:#22c55e;box-shadow:0 0 0 2px #22c55e}.dark .create-list-modal-input:focus{border-color:#4ade80;box-shadow:0 0 0 2px #4ade80}.create-list-modal-footer{padding:1rem;background-color:#f9fafb;border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem;display:flex;justify-content:flex-end;align-items:center;gap:.75rem}.dark .create-list-modal-footer{background-color:#0f172a80}.create-list-modal-button{padding:.5rem 1rem;font-weight:600;border-radius:.375rem;transition:background-color .2s;border:none;cursor:pointer}.create-list-modal-button:disabled{cursor:not-allowed}.create-list-modal-button.cancel{background-color:#e5e7eb;color:#1f2937}.dark .create-list-modal-button.cancel{background-color:#4b5563;color:#fff}.create-list-modal-button.cancel:hover{background-color:#d1d5db}.dark .create-list-modal-button.cancel:hover{background-color:#6b7280}.create-list-modal-button.create{background-color:#22c55e;color:#fff}.create-list-modal-button.create:hover{background-color:#16a34a}.create-list-modal-button.create:disabled{background-color:#9ca3af}.import-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fade-in-fast .2s ease-out}.import-modal-container{background-color:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;width:100%;max-width:32rem;max-height:90vh;display:flex;flex-direction:column}.dark .import-modal-container{background-color:#181818}.import-modal-header{padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;flex-shrink:0}.dark .import-modal-header{border-bottom-color:#374151}.import-modal-title{font-weight:700;font-size:1.25rem;line-height:1.75rem;color:#1f2937}.dark .import-modal-title{color:#fff}.import-modal-content{padding:1.5rem;overflow-y:auto}.import-modal-info-box{background-color:#eef2ff;color:#4338ca;padding:1rem;border-radius:.5rem;margin-bottom:1.5rem;font-size:.875rem;line-height:1.25rem;border:1px solid #c7d2fe}.dark .import-modal-info-box{background-color:#3730a3;color:#e0e7ff;border-color:#4f46e5}.import-modal-info-box p{margin:0}.import-modal-description{font-size:.875rem;line-height:1.25rem;color:#6b7280;margin-bottom:1.5rem}.dark .import-modal-description{color:#9ca3af}.import-modal-categories-list{display:flex;flex-direction:column;gap:1.5rem}.import-modal-category-item{padding:1rem;background-color:#f9fafb;border-radius:.5rem}.dark .import-modal-category-item{background-color:#1f293780}.import-checkbox-container{display:flex;align-items:center;gap:.75rem}.import-checkbox-input{height:1.25rem;width:1.25rem;border-radius:.25rem;border-color:#d1d5db;accent-color:#16a34a;cursor:pointer}.dark .import-checkbox-input{border-color:#4b5563;background-color:#374151}.import-checkbox-label{font-weight:600;color:#1f2937;cursor:pointer}.dark .import-checkbox-label{color:#fff}.import-modal-merge-controls{margin-top:1rem;padding-left:2rem;display:flex;flex-direction:column;gap:.5rem}.merge-replace-pills{display:flex;align-items:center;gap:.5rem;border-radius:.5rem;background-color:#e5e7eb;padding:.25rem;width:fit-content}.dark .merge-replace-pills{background-color:#1f2937}.merge-replace-pill-button{width:auto;padding:.25rem .75rem;font-size:.75rem;line-height:1rem;font-weight:600;border-radius:.375rem;transition:all .2s;border:none;cursor:pointer}.merge-replace-pill-button.active{background-color:#fff;color:#1f2937;box-shadow:0 1px 2px #0000000d}.dark .merge-replace-pill-button.active{background-color:#4b5563;color:#fff}.merge-replace-pill-button:not(.active){color:#374151;background-color:transparent}.dark .merge-replace-pill-button:not(.active){color:#d1d5db}.import-modal-merge-description{font-size:.75rem;line-height:1rem;color:#6b7280;margin:0}.dark .import-modal-merge-description{color:#9ca3af}.import-modal-merge-description.warning{color:#d97706}.dark .import-modal-merge-description.warning{color:#fb923c}.import-modal-footer{padding:1rem 1.5rem;background-color:#f9fafb;border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem;display:flex;justify-content:flex-end;align-items:center;gap:.75rem;flex-shrink:0}.dark .import-modal-footer{background-color:#0f172a80;border-top:1px solid #374151}.import-modal-button{padding:.5rem 1.25rem;font-weight:600;border-radius:.375rem;transition:background-color .2s;border:none;cursor:pointer}.import-modal-button.cancel{background-color:#e5e7eb;color:#1f2937}.dark .import-modal-button.cancel{background-color:#4b5563;color:#fff}.import-modal-button.cancel:hover{background-color:#d1d5db}.dark .import-modal-button.cancel:hover{background-color:#6b7280}.import-modal-button.import{background-color:#16a34a;color:#fff}.import-modal-button.import:hover{background-color:#15803d}.export-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fade-in-fast .2s ease-out}.export-modal-container{background-color:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;width:100%;max-width:32rem;max-height:90vh;display:flex;flex-direction:column}.dark .export-modal-container{background-color:#181818}.export-modal-header{padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;flex-shrink:0}.dark .export-modal-header{border-bottom-color:#374151}.export-modal-title{font-weight:700;font-size:1.25rem;line-height:1.75rem;color:#1f2937}.dark .export-modal-title{color:#fff}.export-modal-content{padding:1.5rem;overflow-y:auto}.export-modal-description{font-size:.875rem;line-height:1.25rem;color:#6b7280;margin-bottom:1.5rem}.dark .export-modal-description{color:#9ca3af}.export-modal-categories-list{display:flex;flex-direction:column;gap:.5rem}.export-modal-category-item{padding:.5rem;border-radius:.5rem}.export-checkbox-container{display:flex;align-items:center;gap:.75rem}.export-checkbox-input{height:1.25rem;width:1.25rem;border-radius:.25rem;border-color:#d1d5db;accent-color:#16a34a;cursor:pointer}.dark .export-checkbox-input{border-color:#4b5563;background-color:#374151}.export-checkbox-label{font-weight:600;color:#1f2937;cursor:pointer}.dark .export-checkbox-label{color:#fff}.export-modal-footer{padding:1rem 1.5rem;background-color:#f9fafb;border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem;display:flex;justify-content:flex-end;align-items:center;gap:.75rem;flex-shrink:0}.dark .export-modal-footer{background-color:#0f172a80;border-top:1px solid #374151}.export-modal-button{padding:.5rem 1.25rem;font-weight:600;border-radius:.375rem;transition:background-color .2s;border:none;cursor:pointer}.export-modal-button.cancel{background-color:#e5e7eb;color:#1f2937}.dark .export-modal-button.cancel{background-color:#4b5563;color:#fff}.export-modal-button.cancel:hover{background-color:#d1d5db}.dark .export-modal-button.cancel:hover{background-color:#6b7280}.export-modal-button.export{background-color:#16a34a;color:#fff}.export-modal-button.export:hover{background-color:#15803d}.move-stations-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fade-in-fast .2s ease-out}.move-stations-modal-container{background-color:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;width:100%;max-width:32rem;display:flex;flex-direction:column;max-height:80vh}.dark .move-stations-modal-container{background-color:#121212}.move-stations-modal-header{padding:1.5rem;border-bottom:1px solid #e5e7eb;flex-shrink:0;text-align:center}.dark .move-stations-modal-header{border-bottom-color:#282828}.move-stations-modal-title{font-weight:700;font-size:1.5rem;line-height:1.75rem;color:#111827}.dark .move-stations-modal-title{color:#fff}.move-stations-modal-content{padding:0 1.5rem 1.5rem;overflow-y:auto}.move-stations-action-selector{display:flex;background-color:#f3f4f6;border-radius:.5rem;padding:.25rem;margin-top:1rem;margin-bottom:.5rem}.dark .move-stations-action-selector{background-color:#1f2937}.move-stations-action-option{flex:1;padding:.5rem;font-size:.875rem;font-weight:600;text-align:center;border-radius:.375rem;border:none;cursor:pointer;transition:all .2s;color:#6b7280;background-color:transparent}.dark .move-stations-action-option{color:#9ca3af}.move-stations-action-option.active{background-color:#fff;color:#111827;box-shadow:0 1px 3px #0000001a}.dark .move-stations-action-option.active{background-color:#374151;color:#fff}.move-stations-action-description{font-size:.875rem;color:#6b7280;margin-bottom:1rem;text-align:center}.dark .move-stations-action-description{color:#9ca3af}.move-stations-modal-section{margin-top:1.5rem}.move-stations-modal-section-title{font-size:1rem;line-height:1.5rem;font-weight:600;color:#16a34a;margin-bottom:1rem}.dark .move-stations-modal-section-title{color:#4ade80}.move-stations-modal-create-form{display:flex;gap:1rem}.move-stations-modal-input{flex-grow:1;height:3rem;background-color:#f3f4f6;border:1px solid #d1d5db;color:#111827;padding:.75rem 1rem;border-radius:.375rem}.dark .move-stations-modal-input{background-color:#374151;border-color:#4b5563;color:#fff}.move-stations-modal-input:focus{outline:2px solid transparent;outline-offset:2px;border-color:#22c55e;box-shadow:0 0 0 2px #22c55e}.dark .move-stations-modal-input:focus{border-color:#4ade80;box-shadow:0 0 0 2px #4ade80}.move-stations-modal-create-button{height:3rem;padding:0 1.5rem;background-color:#22c55e;color:#fff;font-weight:600;border-radius:.375rem;transition:background-color .2s;border:none;cursor:pointer}.move-stations-modal-create-button:hover{background-color:#16a34a}.move-stations-modal-list{display:flex;flex-direction:column;gap:.25rem}.move-stations-modal-item-button{width:100%;text-align:left;padding:1rem .5rem;color:#111827;border-radius:.375rem;transition:background-color .2s;display:flex;align-items:center;justify-content:space-between;border:none;background:transparent;cursor:pointer;font-weight:500}.dark .move-stations-modal-item-button{color:#fff}.move-stations-modal-item-button:hover{background-color:#f3f4f6}.dark .move-stations-modal-item-button:hover{background-color:#282828}.move-stations-modal-item-count{font-size:.75rem;color:#6b7280}.dark .move-stations-modal-item-count{color:#9ca3af}.move-stations-modal-empty-text{padding-left:.5rem;color:#6b7280}.move-stations-modal-footer{padding:1rem 1.5rem;border-top:1px solid #e5e7eb;text-align:right;flex-shrink:0}.dark .move-stations-modal-footer{border-top-color:#282828}.move-stations-modal-button{padding:.75rem 1.5rem;background-color:#e5e7eb;color:#1f2937;font-weight:600;border-radius:.375rem;border:none;cursor:pointer}.dark .move-stations-modal-button{background-color:#4b5563;color:#fff}.move-captures-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fade-in-fast .2s ease-out}.move-captures-modal-container{background-color:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;width:100%;max-width:32rem;display:flex;flex-direction:column;max-height:80vh}.dark .move-captures-modal-container{background-color:#121212}.move-captures-modal-header{padding:1.5rem;border-bottom:1px solid #e5e7eb;flex-shrink:0;text-align:center}.dark .move-captures-modal-header{border-bottom-color:#282828}.move-captures-modal-title{font-weight:700;font-size:1.5rem;line-height:1.75rem;color:#111827}.dark .move-captures-modal-title{color:#fff}.move-captures-modal-content{padding:0 1.5rem 1.5rem;overflow-y:auto}.move-captures-action-selector{display:flex;background-color:#f3f4f6;border-radius:.5rem;padding:.25rem;margin-top:1rem;margin-bottom:.5rem}.dark .move-captures-action-selector{background-color:#1f2937}.move-captures-action-option{flex:1;padding:.5rem;font-size:.875rem;font-weight:600;text-align:center;border-radius:.375rem;border:none;cursor:pointer;transition:all .2s;color:#6b7280;background-color:transparent}.dark .move-captures-action-option{color:#9ca3af}.move-captures-action-option.active{background-color:#fff;color:#111827;box-shadow:0 1px 3px #0000001a}.dark .move-captures-action-option.active{background-color:#374151;color:#fff}.move-captures-action-description{font-size:.875rem;color:#6b7280;margin-bottom:1rem;text-align:center}.dark .move-captures-action-description{color:#9ca3af}.move-captures-modal-section{margin-top:1.5rem}.move-captures-modal-section-title{font-size:1rem;line-height:1.5rem;font-weight:600;color:#16a34a;margin-bottom:1rem}.dark .move-captures-modal-section-title{color:#4ade80}.move-captures-modal-create-form{display:flex;gap:1rem}.move-captures-modal-input{flex-grow:1;height:3rem;background-color:#f3f4f6;border:1px solid #d1d5db;color:#111827;padding:.75rem 1rem;border-radius:.375rem}.dark .move-captures-modal-input{background-color:#374151;border-color:#4b5563;color:#fff}.move-captures-modal-input:focus{outline:2px solid transparent;outline-offset:2px;border-color:#22c55e;box-shadow:0 0 0 2px #22c55e}.dark .move-captures-modal-input:focus{border-color:#4ade80;box-shadow:0 0 0 2px #4ade80}.move-captures-modal-create-button{height:3rem;padding:0 1.5rem;background-color:#22c55e;color:#fff;font-weight:600;border-radius:.375rem;transition:background-color .2s;border:none;cursor:pointer}.move-captures-modal-create-button:hover{background-color:#16a34a}.move-captures-modal-list{display:flex;flex-direction:column;gap:.25rem}.move-captures-modal-item-button{width:100%;text-align:left;padding:1rem .5rem;color:#111827;border-radius:.375rem;transition:background-color .2s;display:flex;align-items:center;justify-content:space-between;border:none;background:transparent;cursor:pointer;font-weight:500}.dark .move-captures-modal-item-button{color:#fff}.move-captures-modal-item-button:hover{background-color:#f3f4f6}.dark .move-captures-modal-item-button:hover{background-color:#282828}.move-captures-modal-item-count{font-size:.75rem;color:#6b7280}.dark .move-captures-modal-item-count{color:#9ca3af}.move-captures-modal-empty-text{padding-left:.5rem;color:#6b7280}.move-captures-modal-footer{padding:1rem 1.5rem;border-top:1px solid #e5e7eb;text-align:right;flex-shrink:0}.dark .move-captures-modal-footer{border-top-color:#282828}.move-captures-modal-button{padding:.75rem 1.5rem;background-color:#e5e7eb;color:#1f2937;font-weight:600;border-radius:.375rem;border:none;cursor:pointer}.dark .move-captures-modal-button{background-color:#4b5563;color:#fff}.bottom-nav-bar{height:50px;background-color:#fff;position:fixed;bottom:0;left:0;right:0;z-index:30}.dark .bottom-nav-bar{background-color:#000}.bottom-nav-bar-content{display:flex;justify-content:space-around;align-items:center;height:100%}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;transition:color .2s;background:transparent;border:none;cursor:pointer;color:#6b7280;flex:1}.dark .bottom-nav-item{color:#9ca3af}.bottom-nav-item:hover{color:#111827}.dark .bottom-nav-item:hover{color:#fff}.bottom-nav-item.active{color:#111827}.dark .bottom-nav-item.active{color:#fff}.bottom-nav-item-label{font-size:.625rem;line-height:1rem;font-weight:500}.station-info-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;z-index:1050;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fade-in-fast .2s ease-out}.station-info-modal-container{background-color:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;width:100%;max-width:42rem;max-height:90vh;display:flex;flex-direction:column}.dark .station-info-modal-container{background-color:#181818}.station-info-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;flex-shrink:0}.dark .station-info-modal-header{border-bottom-color:#374151}.station-info-modal-title{font-weight:700;font-size:1.25rem;line-height:1.75rem;color:#1f2937}.dark .station-info-modal-title{color:#fff}.station-info-modal-close-button{padding:.25rem;border-radius:9999px;color:#9ca3af;transition:all .2s;border:none;background:transparent;cursor:pointer}.station-info-modal-close-button:hover{background-color:#f3f4f6;color:#1f2937}.dark .station-info-modal-close-button:hover{background-color:#374151;color:#fff}.station-info-modal-close-button svg{width:1.5rem;height:1.5rem}.station-info-modal-content{padding:1.5rem;overflow-y:auto}.station-info-custom-section{background-color:#f9fafb;padding:1rem;border-radius:.5rem;margin-bottom:1.5rem;border:1px solid #e5e7eb}.dark .station-info-custom-section{background-color:#111;border-color:#282828}.station-info-custom-input-group{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.station-info-custom-input{width:100%;height:2.5rem;background-color:#fff;border:1px solid #d1d5db;color:#111827;padding:.5rem .75rem;border-radius:.375rem;font-size:.875rem}.dark .station-info-custom-input{background-color:#282828;border-color:#374151;color:#fff}.station-info-custom-buttons{display:flex;gap:.5rem}.station-info-save-button{padding:.375rem 1rem;background-color:#22c55e;color:#fff;font-weight:600;border-radius:.375rem;font-size:.875rem;cursor:pointer;border:none}.station-info-clear-button{padding:.375rem 1rem;background-color:#ef4444;color:#fff;font-weight:600;border-radius:.375rem;font-size:.875rem;cursor:pointer;border:none}.station-info-list{display:flex;flex-direction:column;gap:.75rem}.station-info-item{display:grid;grid-template-columns:1fr 2fr;gap:1rem;padding:.5rem 0;border-bottom:1px solid #f3f4f6}.dark .station-info-item{border-bottom-color:#27272a}.station-info-item:last-child{border-bottom:none}.station-info-label{font-weight:600;color:#4b5563}.dark .station-info-label{color:#9ca3af}.station-info-value{color:#1f2937;word-break:break-all;font-size:.875rem}.dark .station-info-value{color:#e5e7eb}.add-to-list-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;z-index:1050;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fade-in-fast .2s ease-out}.add-to-list-modal-container{background-color:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;width:100%;max-width:32rem;display:flex;flex-direction:column;max-height:80vh}.dark .add-to-list-modal-container{background-color:#121212}.add-to-list-modal-header{padding:1.5rem;border-bottom:1px solid #e5e7eb;flex-shrink:0;text-align:center}.dark .add-to-list-modal-header{border-bottom-color:#282828}.add-to-list-modal-title{font-weight:700;font-size:1.5rem;line-height:1.75rem;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dark .add-to-list-modal-title{color:#fff}.add-to-list-modal-content{padding:0 1.5rem 1.5rem;overflow-y:auto}.add-to-list-modal-section{margin-top:1.5rem}.add-to-list-modal-section-title{font-size:1rem;line-height:1.5rem;font-weight:600;color:#16a34a;margin-bottom:1rem;padding:0}.dark .add-to-list-modal-section-title{color:#4ade80}.add-to-list-modal-type-pills{display:flex;gap:.5rem;margin-bottom:1rem;background-color:#f3f4f6;padding:.25rem;border-radius:9999px}.dark .add-to-list-modal-type-pills{background-color:#1f2937}.add-to-list-type-pill{flex:1;padding:.375rem .75rem;font-size:.875rem;font-weight:600;border-radius:9999px;border:none;background:transparent;color:#6b7280;cursor:pointer;transition:all .2s}.add-to-list-type-pill.active{background-color:#fff;color:#111827;box-shadow:0 1px 2px #0000000d}.dark .add-to-list-type-pill.active{background-color:#4b5563;color:#fff}.add-to-list-modal-note{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;border-radius:.75rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);margin-bottom:1rem;font-size:.85rem;color:#065f46}.dark .add-to-list-modal-note{color:#a7f3d0}.add-to-list-type-pill.disabled{cursor:not-allowed;opacity:.6}.add-to-list-modal-create-form{display:flex;gap:1rem}.add-to-list-modal-input{flex-grow:1;height:3rem;background-color:#f3f4f6;border:1px solid #d1d5db;color:#111827;padding:.75rem 1rem;border-radius:.375rem;box-shadow:0 1px 2px #0000000d;transition:all .2s;font-size:1rem}.dark .add-to-list-modal-input{background-color:#374151;border-color:#4b5563;color:#fff}.add-to-list-modal-input:focus{outline:2px solid transparent;outline-offset:2px;border-color:#22c55e;box-shadow:0 0 0 2px #22c55e}.dark .add-to-list-modal-input:focus{border-color:#4ade80;box-shadow:0 0 0 2px #4ade80}.add-to-list-modal-create-button{height:3rem;padding:0 1.5rem;background-color:#22c55e;color:#fff;font-weight:600;border-radius:.375rem;transition:background-color .2s;flex-shrink:0;border:none;cursor:pointer;font-size:1rem}.add-to-list-modal-create-button:hover{background-color:#16a34a}.add-to-list-modal-create-button:disabled{opacity:.6;cursor:not-allowed}.add-to-list-modal-list{display:flex;flex-direction:column;gap:.25rem}.add-to-list-modal-item-button,.add-to-list-modal-item-static{width:100%;text-align:left;padding:1rem .5rem;color:#111827;border-radius:.375rem;display:flex;align-items:center;justify-content:space-between;border:none;background:transparent;font-weight:500}.add-to-list-modal-item-button{cursor:pointer;transition:background-color .2s}.dark .add-to-list-modal-item-button,.dark .add-to-list-modal-item-static{color:#fff}.add-to-list-modal-item-button:hover{background-color:#f3f4f6}.dark .add-to-list-modal-item-button:hover{background-color:#282828}.add-to-list-modal-item-count{font-size:.75rem;line-height:1rem;color:#6b7280}.dark .add-to-list-modal-item-count{color:#9ca3af}.add-to-list-modal-icon-wrapper svg{width:1.5rem;height:1.5rem}.add-to-list-modal-icon-wrapper .check-icon-svg{color:#22c55e}.dark .add-to-list-modal-icon-wrapper .check-icon-svg{color:#4ade80}.add-to-list-modal-icon-wrapper .plus-icon-svg{color:#6b7280}.dark .add-to-list-modal-icon-wrapper .plus-icon-svg{color:#9ca3af}.add-to-list-modal-empty-text{padding-left:.5rem;padding-right:.5rem;font-size:.875rem;line-height:1.25rem;color:#6b7280}.add-to-list-modal-footer{padding:1rem 1.5rem;border-top:1px solid #e5e7eb;text-align:right;flex-shrink:0}.dark .add-to-list-modal-footer{border-top-color:#282828}.add-to-list-modal-done-button{padding:.75rem 1.5rem;background-color:#e5e7eb;color:#1f2937;font-weight:600;border-radius:.375rem;transition:background-color .2s;border:none;cursor:pointer}.dark .add-to-list-modal-done-button{background-color:#4b5563;color:#fff}.add-to-list-modal-done-button:hover{background-color:#d1d5db}.dark .add-to-list-modal-done-button:hover{background-color:#6b7280}.confirmation-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fade-in-fast .2s ease-out}.confirmation-modal-container{background-color:#fff;border-radius:2rem;box-shadow:0 25px 50px -12px #00000080;width:100%;max-width:28rem;padding:2.5rem}.dark .confirmation-modal-container{background-color:#121212}.confirmation-modal-header{margin-bottom:1rem}.confirmation-modal-title{font-weight:800;font-size:2.25rem;line-height:2.5rem;color:#111827;margin:0}.dark .confirmation-modal-title{color:#fff}.confirmation-modal-content{margin-bottom:2.5rem;color:#111827;font-size:1.125rem;line-height:1.5rem;font-weight:500;display:flex;flex-direction:column;gap:1rem}.dark .confirmation-modal-content{color:#fff}.confirmation-modal-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:#111827}.confirmation-modal-checkbox input{width:1rem;height:1rem}.dark .confirmation-modal-checkbox{color:#e5e7eb}.confirmation-modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:1.5rem}.confirmation-modal-button{padding:.75rem 2rem;font-weight:800;border-radius:9999px;transition:all .2s cubic-bezier(.4,0,.2,1);border:none;cursor:pointer;font-size:1.125rem}.confirmation-modal-button:focus{outline:2px solid transparent;outline-offset:2px}.confirmation-modal-button.cancel{background-color:transparent;color:#111827}.dark .confirmation-modal-button.cancel{color:#fff}.confirmation-modal-button.cancel:hover{transform:scale(1.04)}.confirmation-modal-button.confirm{background-color:#e91429;color:#fff;min-width:9rem;text-align:center}.confirmation-modal-button.confirm:hover{background-color:#ff1e32;transform:scale(1.04)}.confirmation-modal-button.confirm:active{transform:scale(.98)}.spotify-delete-message{margin:0}.auto-sync-prompt{position:fixed;bottom:6rem;left:50%;transform:translate(-50%);width:91.666667%;max-width:32rem;z-index:30;animation:slide-up-fade .25s ease-out forwards;pointer-events:none}.auto-sync-prompt-card{pointer-events:auto;background:#111827d9;border:1px solid rgba(148,163,184,.35);border-radius:.75rem;padding:1rem 1.25rem;color:#f9fafb;box-shadow:0 20px 30px #00000040;display:flex;flex-direction:column;gap:.75rem}.auto-sync-prompt-title{font-size:1rem;font-weight:700;margin:0}.auto-sync-prompt-message{font-size:.9rem;color:#d1d5db}.auto-sync-prompt-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#cbd5f5}.auto-sync-prompt-checkbox input{accent-color:#22c55e}.auto-sync-prompt-actions{display:flex;justify-content:flex-end;gap:.5rem}.auto-sync-prompt-button{border-radius:999px;padding:.35rem .9rem;font-weight:600;border:none;cursor:pointer}.auto-sync-prompt-button.cancel{background:#94a3b833;color:#e2e8f0}.auto-sync-prompt-button.confirm{background:#22c55e;color:#0f172a}.auto-sync-prompt-button.cancel:hover{background:#94a3b84d}.auto-sync-prompt-button.confirm:hover{background:#16a34a}.sync-conflict-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:50;padding:1.5rem}.sync-conflict-card{width:min(92vw,420px);background:#111827f2;border:1px solid rgba(148,163,184,.35);border-radius:1rem;padding:1.5rem;color:#f8fafc;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 24px 40px #00000059}.sync-conflict-title{margin:0;font-size:1.1rem;font-weight:700}.sync-conflict-message{margin:0;font-size:.9rem;color:#e2e8f0}.sync-conflict-actions{display:flex;gap:.75rem}.sync-conflict-button{flex:1;border:none;border-radius:999px;padding:.6rem 1rem;font-weight:700;cursor:pointer}.sync-conflict-button.local{background:#22c55e;color:#0f172a}.sync-conflict-button.cloud{background:#94a3b833;color:#e2e8f0}.sync-conflict-button.cloud:hover{background:#94a3b84d}.sync-conflict-dismiss{border:none;background:transparent;color:#94a3b8;font-size:.85rem;cursor:pointer;align-self:flex-start}.view-sort-controls-container{position:relative}.view-sort-controls-button{height:2.5rem;width:2.5rem;display:flex;align-items:center;justify-content:center;background-color:transparent;border:none;border-radius:9999px;color:#6b7280;cursor:pointer;transition:all .2s}.view-sort-controls-button:hover{background-color:#f3f4f6;color:#111827}.view-sort-controls-button.active{background-color:#e5e7eb;color:#111827}.dark .view-sort-controls-button{color:#9ca3af}.dark .view-sort-controls-button:hover{background-color:#ffffff1a;color:#fff}.dark .view-sort-controls-button.active{background-color:#ffffff26;color:#fff}.view-sort-icon{width:1.25rem;height:1.25rem}.view-sort-controls-popover{position:absolute;right:0;top:100%;margin-top:.5rem;width:16rem;background-color:#fff;color:#1f2937;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;border:1px solid #e5e7eb;padding:.25rem;z-index:150;animation:fade-in .1s ease-out}.dark .view-sort-controls-popover{background-color:#282828;color:#fff;border:none}.view-sort-controls-section-title{padding:.5rem .5rem .25rem;font-size:.75rem;line-height:1rem;font-weight:700;color:#6b7280}.dark .view-sort-controls-section-title{color:#9ca3af}.view-sort-controls-option-button{width:100%;text-align:left;padding:.375rem .5rem;font-size:.875rem;line-height:1.25rem;border-radius:.25rem;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s;background:transparent;border:none;cursor:pointer;color:#374151}.dark .view-sort-controls-option-button{color:#d1d5db}.view-sort-controls-option-button:hover{background-color:#f3f4f6}.dark .view-sort-controls-option-button:hover{background-color:#ffffff1a}.view-sort-controls-option-label.active{color:#16a34a}.dark .view-sort-controls-option-label.active{color:#4ade80}.check-icon{width:1.25rem;height:1.25rem;color:#16a34a}.dark .check-icon{color:#4ade80}.view-sort-controls-divider{height:1px;background-color:#e5e7eb;margin:.25rem .5rem}.dark .view-sort-controls-divider{background-color:#374151}.view-sort-controls-view-options-wrapper{padding:0 .5rem .25rem}.view-sort-controls-view-options{display:flex;align-items:center;gap:.25rem;background-color:#f3f4f6;border-radius:.375rem;padding:.25rem}.dark .view-sort-controls-view-options{background-color:#1f2937}.view-sort-controls-view-button{flex:1;display:flex;align-items:center;justify-content:center;height:2.25rem;border-radius:.25rem;background-color:transparent;color:#6b7280;border:none;cursor:pointer;transition:all .2s}.dark .view-sort-controls-view-button{color:#9ca3af}.view-sort-controls-view-button.active{background-color:#fff;color:#1f2937;box-shadow:0 1px 2px #0000000d}.dark .view-sort-controls-view-button.active{background-color:#4b5563;color:#fff}.view-sort-controls-view-button svg{width:1.25rem;height:1.25rem}.duplicate-playlist-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fade-in-fast .2s ease-out}.duplicate-playlist-modal-container{background-color:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;width:100%;max-width:28rem}.dark .duplicate-playlist-modal-container{background-color:#121212}.duplicate-playlist-modal-header{padding:1.5rem;border-bottom:1px solid #e5e7eb}.dark .duplicate-playlist-modal-header{border-bottom-color:#282828}.duplicate-playlist-modal-title{font-weight:700;font-size:1.25rem;color:#1f2937}.dark .duplicate-playlist-modal-title{color:#fff}.duplicate-playlist-modal-content{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.duplicate-playlist-modal-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.dark .duplicate-playlist-modal-label{color:#d1d5db}.duplicate-playlist-modal-input{width:100%;height:3rem;background-color:#f3f4f6;border:1px solid #d1d5db;color:#111827;padding:.75rem 1rem;border-radius:.375rem}.dark .duplicate-playlist-modal-input{background-color:#374151;border-color:#4b5563;color:#fff}.duplicate-playlist-modal-input:focus{outline:2px solid transparent;outline-offset:2px;border-color:#1db954;box-shadow:0 0 0 2px #1db954}.dark .duplicate-playlist-modal-input:focus{border-color:#1ed760;box-shadow:0 0 0 2px #1ed760}.duplicate-playlist-visibility-pills{display:flex;background-color:#f3f4f6;padding:.25rem;border-radius:9999px;gap:.25rem}.dark .duplicate-playlist-visibility-pills{background-color:#1f2937}.visibility-pill{flex:1;padding:.5rem;font-size:.875rem;font-weight:600;border-radius:9999px;border:none;cursor:pointer;transition:all .2s;color:#6b7280;background-color:transparent}.dark .visibility-pill{color:#9ca3af}.visibility-pill.active{background-color:#fff;color:#111827;box-shadow:0 1px 3px #0000001a}.dark .visibility-pill.active{background-color:#4b5563;color:#fff}.visibility-hint{margin-top:.5rem;font-size:.75rem;color:#6b7280}.dark .visibility-hint{color:#9ca3af}.duplicate-playlist-modal-footer{padding:1rem 1.5rem;background-color:#f9fafb;border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem;display:flex;justify-content:flex-end;gap:.75rem}.dark .duplicate-playlist-modal-footer{background-color:#0f172a80;border-top:1px solid #282828}.duplicate-playlist-modal-button{padding:.5rem 1.25rem;font-weight:600;border-radius:.375rem;border:none;cursor:pointer;transition:background-color .2s}.duplicate-playlist-modal-button:disabled{opacity:.5;cursor:not-allowed}.duplicate-playlist-modal-button.cancel{background-color:#e5e7eb;color:#1f2937}.dark .duplicate-playlist-modal-button.cancel{background-color:#4b5563;color:#fff}.duplicate-playlist-modal-button.cancel:hover{background-color:#d1d5db}.dark .duplicate-playlist-modal-button.cancel:hover{background-color:#6b7280}.duplicate-playlist-modal-button.duplicate{background-color:#1db954;color:#fff;display:flex;align-items:center;justify-content:center;min-width:6rem}.duplicate-playlist-modal-button.duplicate:hover:not(:disabled){background-color:#1ed760}.duplicate-playlist-small-spinner{width:1.25rem;height:1.25rem;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.context-menu-container{position:fixed;z-index:3000;background-color:#282828;border-radius:4px;padding:4px;min-width:160px;box-shadow:0 16px 24px #0000004d,0 6px 8px #0003;display:flex;flex-direction:column;animation:context-menu-fade .1s ease-out}@keyframes context-menu-fade{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:flex;align-items:center;width:100%;padding:12px;background:transparent;border:none;color:#eaeaea;font-size:14px;font-weight:500;cursor:pointer;text-align:left;border-radius:2px;transition:background-color .1s;gap:12px}.context-menu-item:hover:not(.disabled){background-color:#ffffff1a;color:#fff}.context-menu-item.danger{color:#f55}.context-menu-item.danger:hover:not(.disabled){background-color:#e91429;color:#fff}.context-menu-item.disabled{opacity:.4;cursor:not-allowed}.context-menu-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.context-menu-icon svg{width:100%;height:100%}.context-menu-label{flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-container{height:100vh;display:flex;flex-direction:column;background-color:#f3f4f6;color:#111827;overflow:hidden}.app-container.dark{background-color:#000;color:#fff}.app-header{height:4.5rem;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;background-color:#fff;border-bottom:1px solid #e5e7eb;z-index:100}.dark .app-header{background-color:#000;border-bottom-color:#282828}.app-header-title{font-size:1.5rem;font-weight:700;color:#111827}.dark .app-header-title{color:#fff}.app-header-controls{display:flex;align-items:center;gap:.5rem}.header-control-button{height:2.5rem;width:2.5rem;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:50%;color:#6b7280;transition:all .2s;cursor:pointer;border:none;background:transparent}.header-control-button:hover{background-color:#f3f4f6;color:#111827}.dark .header-control-button{color:#9ca3af}.dark .header-control-button:hover{background-color:#1f2937;color:#fff}.header-control-button svg{width:1.5rem;height:1.5rem}.header-control-button.active{background-color:#e5e7eb;color:#111827}.dark .header-control-button.active{background-color:#1f2937;color:#fff}.header-user-button{position:relative;border:1px solid transparent;overflow:hidden}.header-user-button.signed-in{border-color:#10b981}.header-user-button.signed-out{border-color:#f59e0b}.header-user-avatar{width:2rem;height:2rem;border-radius:999px;object-fit:cover}.header-user-dot{position:absolute;bottom:.3rem;right:.3rem;width:.5rem;height:.5rem;border-radius:999px;background-color:#10b981;border:2px solid #ffffff}.header-user-dot.signed-out{background-color:#f59e0b}.dark .header-user-dot{border-color:#000}.app-body-container{flex-grow:1;display:flex;overflow:hidden;position:relative;padding:.5rem;gap:.5rem}.app-body-container.mobile-layout{padding:0 0 114px}#main-content{flex-grow:1;overflow-y:auto;background-color:#fff;border-radius:.5rem;min-width:0}.dark #main-content{background-color:#121212}.main-content-area{padding:1.5rem;max-width:1600px;margin:0 auto}.main-content-area.auth-content-area{padding:0;max-width:none;height:100%}.auth-page{height:100%;min-height:100%;display:flex;align-items:stretch;justify-content:center;padding:2.5rem;border-radius:.5rem;position:relative;overflow:hidden;background:radial-gradient(circle at 15% 15%,rgba(254,243,199,.9),transparent 55%),radial-gradient(circle at 85% 85%,rgba(191,219,254,.7),transparent 50%),#f8fafc;font-family:Sora,Space Grotesk,sans-serif;color:#0f172a}.dark .auth-page{background:radial-gradient(circle at 15% 15%,rgba(20,83,45,.5),transparent 55%),radial-gradient(circle at 85% 85%,rgba(30,64,175,.4),transparent 50%),#0b0f17;color:#e2e8f0}.auth-frame{width:min(1100px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);gap:2.5rem;align-items:center}.auth-hero{display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem 0;animation:auth-fade-in .6s ease both}.auth-brand{text-transform:uppercase;letter-spacing:.4em;font-size:.72rem;font-weight:600;color:#0f766e}.dark .auth-brand{color:#5eead4}.auth-hero-title{font-size:clamp(2.25rem,2vw + 2rem,3.25rem);font-weight:600;line-height:1.1;margin:0}.auth-hero-subtitle{font-size:1rem;color:#475569;max-width:28rem;margin:0}.dark .auth-hero-subtitle{color:#cbd5f5}.auth-hero-features{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.auth-hero-features li{position:relative;padding-left:1.5rem;font-weight:500}.auth-hero-features li:before{content:"";position:absolute;left:0;top:.45rem;width:.6rem;height:.6rem;border-radius:999px;background:#0f766e}.dark .auth-hero-features li:before{background:#5eead4}.auth-hero-footer{font-size:.9rem;color:#64748b}.dark .auth-hero-footer{color:#94a3b8}.auth-card{background:#ffffffeb;border-radius:1.25rem;border:1px solid rgba(226,232,240,.9);padding:2rem;box-shadow:0 25px 60px #0f172a2e;display:flex;flex-direction:column;gap:1.5rem;animation:auth-fade-in .6s ease .1s both}.auth-form,.auth-signed-in{display:grid;gap:1.25rem}.dark .auth-card{background:#0f172ae6;border-color:#334155b3;box-shadow:0 25px 60px #0006}.auth-card-header{display:grid;gap:.4rem}.auth-card-title{font-size:1.35rem;font-weight:600}.auth-card-subtitle{font-size:.95rem;color:#64748b}.dark .auth-card-subtitle{color:#94a3b8}.auth-provider-stack{display:grid;gap:.75rem}.auth-provider-button{width:100%;border-radius:.9rem;border:1px solid #e2e8f0;background:#fff;color:#0f172a;font-weight:600;padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.auth-provider-button:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0f172a1f}.auth-provider-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.dark .auth-provider-button{background:#1e293be6;border-color:#334155e6;color:#e2e8f0}.auth-provider-icon{width:2rem;height:2rem;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:700;background:#f1f5f9;color:#0f172a}.auth-provider-icon.google{background:#fef3c7;color:#92400e}.auth-provider-icon.apple{background:#e2e8f0;color:#111827}.auth-divider{display:flex;align-items:center;gap:.75rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#94a3b8}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#94a3b866}.auth-tabs{display:grid;grid-template-columns:repeat(2,1fr);background:#f1f5f9;border-radius:.8rem;padding:.25rem;gap:.25rem}.dark .auth-tabs{background:#1e293bb3}.auth-tab{border:none;background:transparent;font-weight:600;padding:.6rem .5rem;border-radius:.65rem;cursor:pointer;color:#475569}.auth-tab.active{background:#fff;color:#0f172a}.dark .auth-tab{color:#cbd5f5}.dark .auth-tab.active{background:#0f172ae6;color:#e2e8f0}.auth-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#94a3b8}.auth-input{width:100%;border-radius:.8rem;border:1px solid #e2e8f0;background:#f8fafc;padding:.75rem .9rem;font-size:.95rem;color:#0f172a}.dark .auth-input{background:#1e293bcc;border-color:#334155e6;color:#e2e8f0}.auth-primary-button{width:100%;border-radius:.9rem;border:none;padding:.8rem 1rem;font-weight:600;background:#0f766e;color:#fff;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.auth-primary-button:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0f766e40}.auth-primary-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.auth-secondary-button{border-radius:.9rem;border:1px solid #e2e8f0;background:transparent;color:#0f172a;padding:.8rem 1rem;font-weight:600;cursor:pointer}.dark .auth-secondary-button{border-color:#334155e6;color:#e2e8f0}.auth-status{font-size:.85rem;color:#b91c1c}.auth-status.working{color:#0f766e}.auth-terms{font-size:.75rem;color:#94a3b8;line-height:1.4}.auth-tier{display:flex;align-items:center;gap:.5rem}.auth-tier-pill{padding:.3rem .7rem;border-radius:999px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;background:#e2e8f0;color:#0f172a}.auth-tier-pill.free{background:#dbeafe;color:#1e3a8a}.auth-tier-pill.premium{background:#fef3c7;color:#92400e}.auth-tier-pill.guest{background:#e2e8f0;color:#334155}.auth-tier-label{font-size:.85rem;color:#64748b}.auth-card-actions{display:flex;flex-wrap:wrap;gap:.75rem}.auth-loading{display:grid;gap:.5rem}.account-page{display:flex;flex-direction:column;gap:1.5rem}.account-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.account-page-title{margin:0;font-size:1.6rem;font-weight:600}.account-page-subtitle{margin:.3rem 0 0;color:#64748b}.dark .account-page-subtitle{color:#94a3b8}.account-tier{display:flex;align-items:center;gap:.6rem}.account-tier-pill{padding:.35rem .7rem;border-radius:999px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;background:#e2e8f0;color:#0f172a}.account-tier-pill.free{background:#dbeafe;color:#1e3a8a}.account-tier-pill.premium{background:#fef3c7;color:#92400e}.account-tier-pill.guest{background:#e2e8f0;color:#334155}.account-tier-label{font-size:.85rem;color:#64748b}.dark .account-tier-label{color:#94a3b8}.account-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.account-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1.5rem;display:flex;flex-direction:column;gap:.9rem}.dark .account-card{background:#0f172a;border-color:#1f2937}.account-card-title{margin:0;font-size:1.1rem;font-weight:600}.account-card-subtitle{margin:0;color:#64748b;font-size:.9rem}.dark .account-card-subtitle{color:#94a3b8}.account-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#94a3b8}.account-input{width:100%;border-radius:.8rem;border:1px solid #e2e8f0;background:#f8fafc;padding:.75rem .9rem;font-size:.95rem;color:#0f172a}.dark .account-input{background:#1e293bcc;border-color:#334155e6;color:#e2e8f0}.account-primary-button{width:fit-content;border-radius:.9rem;border:none;padding:.75rem 1.1rem;font-weight:600;background:#0f766e;color:#fff;cursor:pointer}.account-primary-button:disabled{opacity:.6;cursor:not-allowed}.account-secondary-button{width:fit-content;border-radius:.9rem;border:1px solid #e2e8f0;background:transparent;color:#0f172a;padding:.7rem 1rem;font-weight:600;cursor:pointer}.dark .account-secondary-button{border-color:#334155e6;color:#e2e8f0}.account-plan-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.account-plan-label{font-weight:600;color:#0f172a}.dark .account-plan-label{color:#e2e8f0}.account-provider-list{display:flex;flex-wrap:wrap;gap:.5rem}.account-provider-pill{background:#e2e8f0;color:#0f172a;padding:.3rem .7rem;border-radius:999px;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.dark .account-provider-pill{background:#334155e6;color:#e2e8f0}.account-muted{margin:0;font-size:.85rem;color:#94a3b8}.dark .account-muted{color:#94a3b8}.account-avatar-row{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center}.account-avatar-preview{width:64px;height:64px;border-radius:999px;overflow:hidden;background:#e2e8f0;display:flex;align-items:center;justify-content:center;font-weight:700;color:#0f172a}.account-avatar-preview img{width:100%;height:100%;object-fit:cover}.dark .account-avatar-preview{background:#1f2937;color:#e2e8f0}.account-avatar-fallback{font-size:1.5rem}.account-avatar-fields,.account-playback-group{display:grid;gap:.5rem}.account-slider-row{display:flex;align-items:center;gap:.75rem}.account-slider-row input[type=range]{flex:1}.account-slider-value{min-width:40px;font-weight:600;color:#64748b}.dark .account-slider-value{color:#94a3b8}.account-pill-row{display:flex;gap:.5rem;flex-wrap:wrap}.account-pill{border:1px solid #e2e8f0;background:#f8fafc;color:#475569;padding:.4rem .9rem;border-radius:999px;font-weight:600;cursor:pointer}.account-pill.active{background:#0f766e;color:#fff;border-color:transparent}.dark .account-pill{background:#1e293bcc;border-color:#334155e6;color:#cbd5f5}.dark .account-pill.active{background:#0f766e;color:#fff}@keyframes auth-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-backdrop{z-index:200}.notification-wrapper{z-index:300}@media(max-width:1023px){.app-header{height:4rem;padding:0 1rem}.app-header-title{font-size:1.25rem}.auth-page{padding:1.5rem}.auth-frame{grid-template-columns:1fr}.auth-card{padding:1.5rem}}@media(min-width:1024px){.app-body-container{padding:.75rem;gap:.75rem}}.global-error-boundary-container{min-height:100vh;background-color:#f3f4f6;color:#111827;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem}.dark .global-error-boundary-container{background-color:#121212;color:#fff}.global-error-boundary-card{text-align:center;padding:2rem;background-color:#fff;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;max-width:28rem;width:100%}.dark .global-error-boundary-card{background-color:#1f2937}.global-error-boundary-icon{height:4rem;width:4rem;color:#ef4444;margin-left:auto;margin-right:auto;margin-bottom:1rem}.global-error-boundary-title{font-size:1.5rem;line-height:2rem;font-weight:700;color:#dc2626;margin-bottom:.5rem}.dark .global-error-boundary-title{color:#f87171}.global-error-boundary-message{color:#4b5563;margin-bottom:1.5rem}.dark .global-error-boundary-message{color:#d1d5db}.global-error-boundary-button{background-color:#22c55e;color:#fff;font-weight:700;padding:.5rem 1.5rem;border-radius:.5rem;transition:background-color .3s;border:none;cursor:pointer}.global-error-boundary-button:hover{background-color:#16a34a}.global-error-boundary-button:focus{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 2px #4ade80}
