:root[data-theme=light],body.light{--color-text-primary: #000000;--color-text-secondary: #262626;--color-text-tertiary: #FFFFFF;--color-background-primary: #F7F5F1;--color-background-secondary: #F7F5F1;--color-background-tertiary: #28292E;--color-button-background: #FFFFFF;--color-button-blue: #17D5FF;--color-button-green: #2DD36F;--color-button-yellow: #FFC409;--color-button-red: #EB445A;--color-button-unselected: #999999;--color-button-hover: #999999;--color-icon-bg: #999999;--color-icon-primary: #000000;--color-icon-secondary: #666666;--color-icon-tertiary: #666666;--color-border-modal: #28292E;--color-placeholder: #333333;--color-favorite: #FF0000;--color-line-divider: #999999;--color-modal-background: #0E0E0E;--color-modal-bg-message: #F7F5F1;--color-bg-menu: #FFFFFF;--color-menu-divider: #666666;--color-bg-toggle: #999999;--color-table-divider: #FFFFFF;--color-bg-pattern-preview: #FFFFFF;--color-bg-playlist-card: #F7F5F1;--color-bg-playlist-search: #F2F2F2}:root[data-theme=dark],body.dark{--color-text-primary: #FFFFFF;--color-text-secondary: #DBDBDB;--color-text-tertiary: #000000;--color-background-primary: #18191C;--color-background-secondary: #FFFFFF;--color-background-tertiary: #F4F5F8;--color-button-background: #222428;--color-button-blue: #17D5FF;--color-button-green: #2DD36F;--color-button-yellow: #FFC409;--color-button-red: #EB445A;--color-button-unselected: #999999;--color-button-hover: #999999;--color-icon-bg: #666666;--color-icon-primary: #FFFFFF;--color-icon-secondary: #A6A6A6;--color-icon-tertiary: #F4F5F8;--color-border-modal: #F4F5F8;--color-placeholder: #333333;--color-favorite: #FF0000;--color-line-divider: #000000;--color-modal-background: #0E0E0E;--color-modal-bg-message: #222428;--color-bg-menu: #222428;--color-menu-divider: #FFFFFF;--color-bg-toggle: #FFFFFF;--color-table-divider: #222428;--color-bg-pattern-preview: #666666;--color-bg-playlist-card: #1E1F22;--color-bg-playlist-search: #35363B}:root{font-family:Montserrat,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;transition:background-color .3s ease,color .3s ease;--color-scroll: color-mix(in srgb, var(--color-text-primary), transparent 60%);--color-scroll-hover: color-mix(in srgb, var(--color-text-primary), transparent 40%)}*{margin:0;padding:0;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--color-scroll) transparent}body{margin:0;min-height:100vh;color:var(--color-text-primary);background-color:var(--color-background-primary)}a{color:inherit;text-decoration:none}input:focus{outline:none}a:focus-visible,input:focus-visible,button:focus-visible,textarea:focus-visible{outline:2px solid var(--color-button-blue);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-scroll);border-radius:10px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--color-scroll-hover)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.z-10{z-index:10}.m-4{margin:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.block{display:block}.flex{display:flex}.table{display:table}.table-header-group{display:table-header-group}.hidden{display:none}.w-full{width:100%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.items-center{align-items:center}.justify-between{justify-content:space-between}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:.75rem}.bg-gray-700\/50{background-color:#37415180}.bg-success{background-color:var(--color-button-green)}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.uppercase{text-transform:uppercase}.text-success-content{color:var(--color-text-tertiary)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}@media (max-width: 480px){.mobile-lg\:mb-3{margin-bottom:.75rem}.mobile-lg\:px-4{padding-left:1rem;padding-right:1rem}.mobile-lg\:text-sm{font-size:.875rem;line-height:1.25rem}}.search-input-wrapper{display:flex;align-items:center;border-radius:20px;width:100%;overflow:hidden;transition:width .3s ease}@media (max-width: 320px){.search-input-wrapper{padding:.5rem 1.125rem}}.search-input-wrapper:has(input:focus-visible){outline:2px solid var(--color-button-blue);outline-offset:2px}.search-input-wrapper.large{background-color:var(--color-background-secondary);padding:.75rem 1.25rem}.search-input-wrapper.large input{font-size:1rem;color:var(--color-placeholder)}.search-input-wrapper.large input::-moz-placeholder{color:var(--color-placeholder)}.search-input-wrapper.large input::placeholder{color:var(--color-placeholder)}.search-input-wrapper.small{background-color:var(--color-bg-playlist-search);padding:.5rem .875rem}.search-input-wrapper.small input{font-size:.875rem;color:var(--color-text-primary)}.search-input-wrapper.small input::-moz-placeholder{color:var(--color-text-primary)}.search-input-wrapper.small input::placeholder{color:var(--color-text-primary)}.search-input-wrapper .search-icon{display:flex;align-items:center;justify-content:center}.search-input-wrapper .search-icon img{width:100%;height:100%}.search-input-wrapper input{background:transparent;border:none;outline:none;font-weight:300;margin-left:.75rem;width:100%}@media (max-width: 480px){.search-input-wrapper input{font-size:.875rem}}.search-input-wrapper input::-moz-placeholder{opacity:.6}.search-input-wrapper input::placeholder{opacity:.6}.search-input-wrapper.collapsed{padding:0;justify-content:center;width:2.375rem;height:3rem;cursor:pointer;border-radius:10px;padding:0 .625rem}.search-input-wrapper.collapsed input{width:0;margin:0;opacity:0;pointer-events:none}.search-input-wrapper.collapsed .search-icon{margin:0}.icon-primary{color:var(--color-icon-primary)}.sidebar-container{background-color:var(--color-button-background);z-index:1001;display:flex;flex-direction:column;gap:3.75rem;transition:width .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar-container.collapsed:not(.mobile-open){width:5rem;padding:3rem 0}.sidebar-container.collapsed:not(.mobile-open) .sidebar-header{justify-content:center;position:relative;height:3.25rem}.sidebar-container.collapsed:not(.mobile-open) .sidebar-header .logo-full-wrapper{display:none}.sidebar-container.collapsed:not(.mobile-open) .sidebar-header .logo-small-wrapper,.sidebar-container.collapsed:not(.mobile-open) .sidebar-header .toggle-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:all .3s ease}.sidebar-container.collapsed:not(.mobile-open) .sidebar-header .logo-small-wrapper{opacity:1;z-index:10;pointer-events:auto}.sidebar-container.collapsed:not(.mobile-open) .sidebar-header .toggle-btn{opacity:0;z-index:5;pointer-events:none;transform:translate(-50%,-50%) scale(.8)}.sidebar-container.collapsed:not(.mobile-open) .sidebar-header:hover .logo-small-wrapper,.sidebar-container.collapsed:not(.mobile-open) .sidebar-header:focus-within .logo-small-wrapper{opacity:0;pointer-events:none}.sidebar-container.collapsed:not(.mobile-open) .sidebar-header:hover .toggle-btn,.sidebar-container.collapsed:not(.mobile-open) .sidebar-header:focus-within .toggle-btn{opacity:1;z-index:20;pointer-events:auto;cursor:pointer;transform:translate(-50%,-50%) scale(1);background-color:color-mix(in srgb,var(--color-button-hover),transparent 85%)}.sidebar-container.collapsed:not(.mobile-open) .sidebar-content .nav-item{display:block;padding:.563rem .5rem;border-radius:10px}.sidebar-container.collapsed:not(.mobile-open) .sidebar-content .label{display:none}.sidebar-container.expanded,.sidebar-container.mobile-open{width:21.625rem;padding:3rem 1.813rem}@media (max-width: 320px){.sidebar-container.expanded,.sidebar-container.mobile-open{width:18rem;padding:3rem 1rem}}.sidebar-container.expanded .sidebar-header,.sidebar-container.mobile-open .sidebar-header{justify-content:space-between;flex-direction:row-reverse;align-items:start}.sidebar-container.expanded .sidebar-header .logo-small-wrapper,.sidebar-container.mobile-open .sidebar-header .logo-small-wrapper{display:none}.sidebar-container.expanded .sidebar-header .logo-full-wrapper,.sidebar-container.mobile-open .sidebar-header .logo-full-wrapper{display:block}.sidebar-container.expanded .sidebar-header .logo-full-wrapper img,.sidebar-container.mobile-open .sidebar-header .logo-full-wrapper img{width:10.875rem;height:auto}.sidebar-container.expanded .sidebar-header .toggle-btn,.sidebar-container.mobile-open .sidebar-header .toggle-btn{position:static;transform:none;opacity:1;pointer-events:auto;z-index:auto;width:2.188rem;height:2.188rem}.sidebar-container.expanded .sidebar-header .toggle-btn:hover,.sidebar-container.mobile-open .sidebar-header .toggle-btn:hover{background-color:color-mix(in srgb,var(--color-button-hover),transparent 85%)}.sidebar-container.expanded .sidebar-content,.sidebar-container.mobile-open .sidebar-content{opacity:1;visibility:visible}.sidebar-container.expanded .sidebar-content .nav-item,.sidebar-container.mobile-open .sidebar-content .nav-item{display:flex;align-items:center;width:100%;padding:.563rem 1.125rem;border-radius:15px}.sidebar-container.expanded .sidebar-content .nav-list .label,.sidebar-container.mobile-open .sidebar-content .nav-list .label{display:inline}.sidebar-header{width:100%;display:flex;align-items:center;position:relative}.sidebar-header .toggle-btn{border:none;background:transparent;width:3.25rem;height:3.25rem;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer}.sidebar-header .toggle-btn img{width:1.438rem;height:1.438rem}.sidebar-header .logo-small-wrapper img{max-width:none}.sidebar-content{display:flex;flex-direction:column;align-items:center;gap:3.125rem}.sidebar-content .search-wrapper{display:flex;justify-content:center;width:100%}.nav-list{width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem}.nav-item{text-decoration:none;color:var(--color-text-primary);transition:background-color .2s,color .2s;white-space:nowrap;cursor:pointer}.nav-item .icon-container{display:flex;justify-content:center}.nav-item .icon-container img{width:1.5rem;height:1.5rem}.nav-item .label{margin-left:1.125rem;font-size:1rem}@media (max-width: 480px){.nav-item .label{font-size:.875rem}}.nav-item:hover,.nav-item.active{background-color:color-mix(in srgb,var(--color-button-hover),transparent 85%)}.mobile-menu-trigger{display:none;position:fixed;top:1.5rem;left:1.125rem;z-index:1001;background:transparent;border:none;cursor:pointer;transition:opacity .3s ease,transform .3s ease;opacity:1;transform:scale(1)}.mobile-menu-trigger img{width:2.438rem;height:2.438rem}.mobile-menu-trigger.hidden{opacity:0;pointer-events:none;transform:scale(.8)}.mobile-overlay{display:none}@media (max-width: 768px){.mobile-menu-trigger{display:block}.mobile-overlay{display:block;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:999;opacity:0;pointer-events:none;transition:opacity .1s}.mobile-overlay.open{opacity:1;pointer-events:auto}.sidebar-container{position:fixed;left:0;top:0;height:100vh;transform:translate(-100%)}.sidebar-container.mobile-open{transform:translate(0)}}.app-layout{position:relative;display:flex;height:100vh;width:100vw;background-color:var(--color-background-primary);overflow:hidden}@media (max-width: 768px){.app-layout:before{content:"";position:fixed;top:0;left:0;width:100%;height:5rem;background-color:var(--color-background-primary);z-index:990}}.main-content{position:relative;height:100%;z-index:0;flex:1;display:flex;flex-direction:column;min-height:0;transition:margin-left .4s cubic-bezier(.4,0,.2,1)}.scrollable-page-content{position:absolute;top:4.25rem;right:1rem;left:0;bottom:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;margin-top:.75rem;margin-left:3.25rem;margin-bottom:1.5rem;padding-left:1rem;padding-right:3.25rem;z-index:1}@media (max-width: 1024px){.scrollable-page-content{margin-left:2rem;padding-right:2rem}}@media (max-width: 768px){.scrollable-page-content{margin-left:.375rem;padding-right:.375rem}}.theme-toggle-component{width:2.188rem;height:.438rem;border-radius:.438rem;position:relative;cursor:pointer;transition:background-color .3s ease;background-color:var(--color-bg-toggle)}button.menu-item .theme-toggle-component{pointer-events:none}.theme-toggle-component .toggle-knob{width:1rem;height:1rem;background-color:#333;border-radius:50%;position:absolute;top:-.281rem;left:2px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.theme-toggle-component.light .toggle-knob{transform:translate(0)}.theme-toggle-component.dark .toggle-knob{transform:translate(.938rem)}.dropdown-trigger-wrapper{width:100%;height:100%;display:flex;cursor:pointer}.dropdown-trigger-wrapper:focus-visible{outline:2px solid var(--color-button-blue);outline-offset:2px;border-radius:4px}.dropdown-content-wrapper{animation:slideDown .2s cubic-bezier(.4,0,.2,1)}@keyframes slideDown{0%{opacity:0}to{opacity:1}}.profile-menu-container{z-index:1000;position:fixed;top:2.5rem;right:3rem;display:flex;justify-content:flex-end}@media (max-width: 768px){.profile-menu-container{top:1.5rem;right:1.375rem;width:auto}}.profile-trigger{background:transparent;border:none;border-radius:50%;cursor:pointer;padding:0}.avatar-wrapper{border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:color-mix(in srgb,var(--color-icon-bg),transparent 50%)}.avatar-wrapper img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-wrapper.profile{width:2.375rem;height:2.375rem}.avatar-wrapper.menu{width:3.25rem;height:3.25rem}.avatar-wrapper.profile .generic-icon{width:1.5rem;height:1.5rem}.avatar-wrapper.menu .generic-icon{width:2rem;height:2rem}.profile-dropdown{position:absolute;top:110%;right:0;max-width:13.875rem;box-shadow:0 4px 4px #00000040;background-color:var(--color-bg-menu);border-radius:20px;padding:1.125rem .75rem;z-index:1000}.user-info-header{display:flex;flex-direction:column;align-items:center;padding:1rem 1rem 2rem;text-align:center}.user-info-header .header-avatar{margin-bottom:.438rem;border:none}.user-info-header .user-name{font-size:1rem;font-weight:500;margin-bottom:.313rem;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}@media (max-width: 320px){.user-info-header .user-name{font-size:.875rem}}.user-info-header .user-email{font-size:.75rem;font-weight:300;margin:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.menu-list{display:flex;flex-direction:column;gap:.75rem}.menu-item{display:flex;align-items:center;padding:.5rem .375rem;border-radius:10px;text-decoration:none;color:var(--color-text-primary);transition:background-color .2s;cursor:pointer;background:transparent;border:none;width:100%;text-align:left;font-family:inherit;font-size:inherit}.menu-item:hover,.menu-item.active{background-color:color-mix(in srgb,var(--color-button-hover),transparent 85%)}.menu-item .icon-container{width:1.125rem;height:1.125rem;margin-right:1rem;display:flex;align-items:center;justify-content:center}.menu-item .icon-container img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.menu-item .small-icon{width:.938rem;height:.938rem}.menu-item .label{flex:1;font-size:.875rem}@media (max-width: 320px){.menu-item .label{font-size:.75rem}}.menu-item .right-element{display:flex;align-items:center}.menu-item-with-margin{margin-bottom:.5rem}.menu-divider{height:1px;background-color:var(--color-menu-divider)}.svg-spinner{animation:svg-spin 1s linear infinite;display:block}@keyframes svg-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.global-loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:transparent;z-index:50;display:flex;align-items:center;justify-content:center}.global-loading-overlay .spinner-wrapper{display:flex;flex-direction:column;align-items:center;gap:1rem}@media (max-width: 480px){.global-loading-overlay.compact .spinner-wrapper{gap:.5rem}}.oasis-container{position:relative;width:100%;min-height:100vh;overflow:hidden;z-index:0;display:flex;align-items:center;justify-content:center}.file-input-wrapper{display:flex;flex-direction:column;gap:1.25rem;width:100%}@media (max-width: 480px){.file-input-wrapper{gap:1.25rem}}.file-input-wrapper .input-label{font-size:1.25rem;font-weight:300}@media (max-width: 480px){.file-input-wrapper .input-label{font-size:1.125rem}}.file-input-wrapper .input-container{height:100%;display:flex;align-items:center;padding:.5rem 1.125rem;background-color:var(--color-button-background);border-radius:15px}.file-input-wrapper .input-container .btn-clear-file{cursor:pointer;border-radius:8px;padding:.1rem}.file-input-wrapper .input-container .btn-clear-file:hover{opacity:.8}.file-input-wrapper .input-container .custom-file-box{flex:1;display:flex;align-items:stretch;justify-content:space-between;cursor:pointer;border:1px solid var(--color-text-primary);border-radius:10px;overflow:hidden}.file-input-wrapper .input-container .custom-file-box:focus-visible{outline:2px solid var(--color-button-blue);outline-offset:2px}.file-input-wrapper .input-container .custom-file-box .file-name-container{flex:1;background-color:transparent;display:flex;align-items:center;padding:.75rem .875rem}.file-input-wrapper .input-container .custom-file-box .file-name{font-size:.875rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;word-break:break-word}.file-input-wrapper .input-container .custom-file-box .icon-wrapper{display:flex;align-items:center;justify-content:center;background-color:var(--color-text-primary);padding:.625rem}.file-input-wrapper .input-container .input-disabled{opacity:.5;cursor:not-allowed}.form-input{padding:.75rem 1.25rem;border-radius:15px;background:#fff;border:none;font-size:1rem;color:var(--color-placeholder);width:100%;box-sizing:border-box;outline:none}.form-input::-moz-placeholder{color:var(--color-placeholder);opacity:.6}.form-input::placeholder{color:var(--color-placeholder);opacity:.6}@media (max-width: 480px){.form-input{font-size:.875rem;padding:1rem 1.125rem}}.password-input-wrapper{position:relative;width:100%;display:flex;align-items:center}.password-input-wrapper:focus-within{outline:2px solid var(--color-button-blue);outline-offset:2px}.password-input{padding-right:1.25rem;outline:none;border:none;background:transparent;flex:1;box-sizing:border-box;width:100%;min-width:0}.password-input::-moz-placeholder{color:var(--color-placeholder);opacity:.6}.password-input::placeholder{color:var(--color-placeholder);opacity:.6}.password-input:focus{outline:none}.password-toggle{position:absolute;top:50%;right:18px;transform:translateY(-50%);background:none;border:none;padding:0;margin:0;cursor:pointer;display:flex;align-items:center}@media (max-width: 480px){.password-toggle svg{width:.875rem!important;height:auto!important}}.form-button{display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;border-radius:24px;font-size:1.125rem;letter-spacing:.01em;border:none;cursor:pointer;transition:opacity .2s}.form-button[disabled],.form-button:disabled{cursor:not-allowed;opacity:.6}.submit-button{width:100%;background:var(--color-background-tertiary);color:var(--color-text-tertiary);padding:.75rem 1rem}.cancel-button{background:var(--color-button-background);padding:.75rem 1.5rem}.cancel-button.btn-text{width:-moz-max-content;width:max-content}@media (max-width: 768px){.cancel-button.btn-text{font-size:1rem}}@media (max-width: 480px){.cancel-button.btn-text{font-size:.875rem}}.checkbox-root{display:flex;align-items:center;gap:.625rem;cursor:pointer;position:relative}.checkbox-root.is-disabled{opacity:.5;cursor:not-allowed}.checkbox-root input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:.875rem;height:.875rem;border:2px solid var(--color-text-primary);border-radius:50%;background:transparent;margin:0;position:relative;outline:none;cursor:pointer;flex-shrink:0}.checkbox-root input[type=checkbox]:focus-visible{outline:2px solid var(--color-button-blue);outline-offset:2px}.checkbox-root input[type=checkbox]:disabled{cursor:not-allowed}.checkbox-root .checkbox-custom{position:absolute;width:.875rem;height:.875rem;border-radius:50%;pointer-events:none}.checkbox-root input[type=checkbox]:checked+.checkbox-custom{background:var(--color-text-primary)}.checkbox-root .checkbox-label{font-weight:300}@media (max-width: 480px){.checkbox-root .checkbox-label{font-size:.875rem}}.form-footer-container{width:100%;display:flex;gap:1rem}.form-footer-container .btn-text{width:-moz-max-content;width:max-content}.form-footer-container .btn-submit{min-width:15rem}@media (max-width: 768px){.form-footer-container .btn-text{font-size:1rem}}@media (max-width: 600px){.form-footer-container .btn-submit{min-width:10.25rem}}@media (max-width: 480px){.form-footer-container{flex-direction:column-reverse;gap:1.5rem}.form-footer-container .btn-text{width:100%;font-size:.875rem}.form-footer-container .btn-submit{min-width:100%}.form-footer-container .btn-cancel{width:100%;justify-content:center}}.page-header-component{flex-shrink:0;display:flex;flex-direction:column;gap:2.5rem}@media (max-width: 480px){.page-header-component{gap:1.75rem}}.page-header-component h1{font-size:2rem;font-weight:400;margin:0}@media (max-width: 480px){.page-header-component h1{font-size:1.5rem}}.page-header-component .btn-back{text-decoration:none;background:none;border:none;color:inherit;width:-moz-max-content;width:max-content;display:flex;align-items:center;gap:1.375rem;cursor:pointer;border-radius:20px;font-size:1.5rem;font-weight:300;padding-left:.5rem;padding-right:.5rem;transition:opacity .2s}@media (max-width: 480px){.page-header-component .btn-back{font-size:1.25rem}}.page-header-component .btn-back:hover{opacity:.8}.page-header-component .btn-back-disabled{pointer-events:none;opacity:.6}.new-pattern-page{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2rem;margin-top:1rem;container-type:inline-size;container-name:new-pattern-page}@media (max-width: 510px){.new-pattern-page{gap:2.5rem}}.new-pattern-page .form-container{width:100%;display:flex;align-items:flex-start;gap:2.5rem}.new-pattern-page .form-container .pattern-form{width:60%;display:flex;flex-direction:column;gap:2rem}.new-pattern-page .form-container .pattern-form .first-content{display:flex;flex-direction:column;gap:1.625rem}.new-pattern-page .form-container .pattern-form .first-content .pattern-name{display:flex;flex-direction:column;gap:1.25rem}.new-pattern-page .form-container .pattern-form .first-content .pattern-name label{font-size:1.25rem;font-weight:300}.new-pattern-page .form-container .pattern-form .first-content .publish-request{display:flex;align-items:center;gap:.875rem;font-weight:300}.new-pattern-page .form-container .pattern-form .first-content .publish-request label{white-space:nowrap}.new-pattern-page .form-container .pattern-form .first-content .publish-request .publish-status span{font-size:.875rem;padding:.375rem .875rem;border-radius:10px;color:#fff;white-space:nowrap}.new-pattern-page .form-container .pattern-form .first-content .publish-request .publish-status span.pending{background-color:var(--color-icon-bg)}.new-pattern-page .form-container .pattern-form .first-content .publish-request .publish-status span.approved{background-color:var(--color-button-green)}.new-pattern-page .form-container .pattern-form .first-content .publish-request .publish-status span.rejected{background-color:var(--color-button-red)}.new-pattern-page .form-container .pattern-form .first-content .publish-request .comment{font-size:.75rem}@media (max-width: 480px){.new-pattern-page .form-container .pattern-form .first-content .publish-request{gap:.625rem}}@media (max-width: 380px){.new-pattern-page .form-container .pattern-form .first-content .publish-request label{white-space:normal}}@media (max-width: 480px){.new-pattern-page .form-container .pattern-form .first-content{margin-bottom:1rem}.new-pattern-page .form-container .pattern-form .first-content .pattern-name{gap:1.25rem}.new-pattern-page .form-container .pattern-form .first-content .pattern-name label{font-size:1.125rem}}.new-pattern-page .form-container .pattern-form .files-row{margin-bottom:.5rem;display:flex;gap:2rem}.new-pattern-page .form-container .pattern-form .files-row>*{flex:1}@media (max-width: 1024px){.new-pattern-page .form-container .pattern-form .files-row{flex-direction:column}}@media (max-width: 480px){.new-pattern-page .form-container .pattern-form .files-row{margin-bottom:1.375rem}}.new-pattern-page .visual-column{flex:1;display:flex;align-items:center;justify-content:center;position:relative}.new-pattern-page .visual-column .circle-preview{overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;width:28.375rem;height:28.375rem;border-radius:50%;border:20px solid #28292E;background-color:color-mix(in srgb,var(--color-bg-pattern-preview),transparent 50%)}.new-pattern-page .visual-column .circle-preview .preview-image{width:80%;height:80%;-o-object-fit:contain;object-fit:contain}.new-pattern-page .visual-column .circle-preview .thr-placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.new-pattern-page .visual-column .circle-preview .thr-placeholder span{font-size:.9rem;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.new-pattern-page .visual-column .circle-preview .thr-placeholder small{font-size:.75rem;opacity:.7}@media (max-width: 1920px){.new-pattern-page .visual-column .circle-preview{width:23.75rem;height:23.75rem}}@container new-pattern-page (max-width: 920px){.new-pattern-page .form-container .pattern-form{width:50%}.new-pattern-page .visual-column .circle-preview{width:22.125rem;height:22.125rem}}@container new-pattern-page (max-width: 724px){.new-pattern-page .form-container .pattern-form .files-row{flex-direction:column}.new-pattern-page .visual-column .circle-preview{width:18rem;height:18rem}}@container new-pattern-page (max-width: 620px){.new-pattern-page .form-container{flex-direction:column-reverse;gap:1.125rem}.new-pattern-page .form-container .pattern-form{width:100%;gap:1.125rem}.new-pattern-page .form-container .pattern-form .btn-submit{min-width:11rem}.new-pattern-page .visual-column{width:100%}.new-pattern-page .visual-column .circle-preview{width:18.75rem;height:18.75rem}}@media (max-width: 510px){.new-pattern-page .form-container .pattern-form .form-footer-container{gap:1.5rem;flex-direction:column-reverse}.new-pattern-page .form-container .pattern-form .form-footer-container .btn-text{min-width:none;width:100%}}@media (max-width: 320px){.new-pattern-page .visual-column .circle-preview{width:16.25rem;height:16.25rem}}.alert-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:color-mix(in srgb,var(--color-modal-background),transparent 40%);z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.alert-modal-content{max-width:25%;background-color:var(--color-modal-bg-message);box-shadow:0 4px 4px #00000040;border-radius:40px;padding:1.5rem 2rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.alert-modal-content p{font-size:1.125rem;text-align:center}@media (max-width: 1366px){.alert-modal-content{max-width:50%}}@media (max-width: 768px){.alert-modal-content{max-width:60%}}@media (max-width: 480px){.alert-modal-content{max-width:80%;padding-top:1.125rem;padding-bottom:1.125rem}.alert-modal-content p{font-size:1rem}}@media (max-width: 320px){.alert-modal-content{padding-left:1.25rem;padding-right:1.25rem}.alert-modal-content p{font-size:.875rem}}@media (max-width: 480px){.alert-icon{width:3rem!important;height:auto!important}}.alert-modal-footer{width:100%;display:flex;justify-content:center}.alert-modal-footer .modal-button{max-width:6.25rem;padding:.75rem 1rem}@media (max-width: 480px){.alert-modal-footer .modal-button{font-size:.875rem;border-radius:10px}}.new-playlist-page{container-type:inline-size;container-name:new-playlist-page;height:100vh;width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2.5rem;padding:.5rem;overflow:hidden;box-sizing:border-box}@media (max-width: 524px){.new-playlist-page{height:auto}}.new-playlist-page .form-container{flex:1;display:flex;flex-direction:column;gap:2.5rem;width:100%;min-height:0}.new-playlist-page .form-container .form-content{flex:1;display:flex;gap:4rem;width:100%;min-height:0}@media (max-width: 1366px){.new-playlist-page .form-container .form-content{gap:2.75rem}}@media (max-width: 768px){.new-playlist-page .form-container .form-content{gap:2rem}}@media (max-width: 524px){.new-playlist-page .form-container .form-content{flex-direction:column;gap:1.5rem}}.new-playlist-page .form-container .form-content label,.new-playlist-page .form-container .form-content p{font-weight:300;font-size:1.25rem}@media (max-width: 480px){.new-playlist-page .form-container .form-content label,.new-playlist-page .form-container .form-content p{font-size:1.125rem}}.new-playlist-page .form-container .form-content .input-column,.new-playlist-page .form-container .form-content .selected-pattern-column{display:flex;flex-direction:column;flex:1;min-width:0}@media (max-width: 524px){.new-playlist-page .form-container .form-content .input-column,.new-playlist-page .form-container .form-content .selected-pattern-column{flex:none}}.new-playlist-page .form-container .form-content .input-column .new-playlist-container,.new-playlist-page .form-container .form-content .selected-pattern-column .new-playlist-container{flex:1;overflow:hidden;min-height:0;display:flex;flex-direction:column;background-color:var(--color-bg-menu);border-radius:15px;padding:.625rem}@media (max-width: 524px){.new-playlist-page .form-container .form-content .input-column .new-playlist-container,.new-playlist-page .form-container .form-content .selected-pattern-column .new-playlist-container{flex:none;height:12.5rem;min-height:12.5rem}}.new-playlist-page .form-container .form-content .input-column{gap:2rem}@media (max-width: 524px){.new-playlist-page .form-container .form-content .input-column{gap:1.125rem}}.new-playlist-page .form-container .form-content .input-column .content{display:flex;flex-direction:column;gap:1.25rem}.new-playlist-page .form-container .form-content .input-column .content .search-input-wrapper{background-color:#fff}.new-playlist-page .form-container .form-content .input-column .content:last-child{flex:1;min-height:0}.new-playlist-page .form-container .form-content .input-column .content .patterns{position:relative;flex:1;display:flex;flex-direction:column;min-height:0}.new-playlist-page .form-container .form-content .selected-pattern-column{gap:1.25rem}.new-playlist-page .form-container .form-content .loading-container{position:relative;flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center}.new-playlist-page .form-container .form-content .empty-state{flex:1;min-height:0;height:auto;display:flex;align-items:center;justify-content:center}.new-playlist-page .form-container .form-content .empty-state p{font-size:1rem}.new-playlist-page .form-container .form-content .playlist-patterns{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-auto-rows:max-content;gap:1rem;flex:1;min-height:0;width:100%;overflow-y:auto;padding:.5rem}@media (max-width: 1920px){.new-playlist-page .form-container .form-content .playlist-patterns{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media (max-width: 1366px){.new-playlist-page .form-container .form-content .playlist-patterns{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}@container new-playlist-page (max-width: 600px){.new-playlist-page .form-container{overflow-y:auto;padding-right:.5rem}.new-playlist-page .form-container .form-content{flex:none;flex-direction:column}.new-playlist-page .form-container .form-content .input-column,.new-playlist-page .form-container .form-content .selected-pattern-column{flex:none;width:100%}.new-playlist-page .form-container .form-content .input-column .new-playlist-container,.new-playlist-page .form-container .form-content .selected-pattern-column .new-playlist-container{flex:none;height:12.5rem;min-height:12.5rem}.new-playlist-page .form-container .btn-submit{min-width:11rem}}.pattern-thumbnail{display:flex;gap:.5rem;align-items:center;min-width:0;background-color:var(--color-bg-playlist-card);border-radius:16px;padding:.5rem;border:none;text-align:left;color:inherit;font-family:inherit;position:relative;cursor:default}.pattern-thumbnail.interactive{cursor:pointer;transition:background-color .2s}.pattern-thumbnail.interactive:hover{opacity:.8}.pattern-thumbnail.interactive:hover .hover-indicator{opacity:1;transform:translate(0)}.pattern-thumbnail.compact{flex-direction:row}.pattern-thumbnail.compact .thumb-media{width:2.5rem;height:2.5rem;border-radius:50%}.pattern-thumbnail.large{flex-direction:column;align-items:center;text-align:center}.pattern-thumbnail.large .thumb-media{width:5rem;height:5rem;aspect-ratio:1;border-radius:20px}@media (max-width: 480px){.pattern-thumbnail.large .thumb-media{width:3.75rem;height:3.75rem}}.pattern-thumbnail.large .btn-delete-action{margin-top:.5rem}.pattern-thumbnail .thumb-media{position:relative;flex-shrink:0;overflow:hidden}.pattern-thumbnail .thumb-media img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.pattern-thumbnail .thumb-media .thumb-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-skeleton);animation:pulse 1.2s infinite}.pattern-thumbnail .thumb-media .thumb-fallback{display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.pattern-thumbnail .thumb-name{flex:1;width:100%;overflow:hidden}.pattern-thumbnail .thumb-name span{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:2;line-clamp:2;font-size:.75rem;color:var(--color-text-secondary);word-break:break-word}@media (max-width: 480px){.pattern-thumbnail .thumb-name span{font-size:.625rem}}.pattern-thumbnail .btn-delete-action{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;opacity:.8;transition:opacity .2s;flex-shrink:0}.pattern-thumbnail .btn-delete-action:hover{opacity:1}
