@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@theme inline{--animation-delay-0: 0s; --animation-delay-75: 75ms; --animation-delay-100: .1s; --animation-delay-150: .15s; --animation-delay-200: .2s; --animation-delay-300: .3s; --animation-delay-500: .5s; --animation-delay-700: .7s; --animation-delay-1000: 1s; --animation-repeat-0: 0; --animation-repeat-1: 1; --animation-repeat-infinite: infinite; --animation-direction-normal: normal; --animation-direction-reverse: reverse; --animation-direction-alternate: alternate; --animation-direction-alternate-reverse: alternate-reverse; --animation-fill-mode-none: none; --animation-fill-mode-forwards: forwards; --animation-fill-mode-backwards: backwards; --animation-fill-mode-both: both; --percentage-0: 0; --percentage-5: .05; --percentage-10: .1; --percentage-15: .15; --percentage-20: .2; --percentage-25: .25; --percentage-30: .3; --percentage-35: .35; --percentage-40: .4; --percentage-45: .45; --percentage-50: .5; --percentage-55: .55; --percentage-60: .6; --percentage-65: .65; --percentage-70: .7; --percentage-75: .75; --percentage-80: .8; --percentage-85: .85; --percentage-90: .9; --percentage-95: .95; --percentage-100: 1; --percentage-translate-full: 1; --animate-in: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-out: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes enter { from { opacity: var(--tw-enter-opacity,1); transform: translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0)); filter: blur(var(--tw-enter-blur,0)); }}@keyframes exit { to { opacity: var(--tw-exit-opacity,1); transform: translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0)); filter: blur(var(--tw-exit-blur,0)); }}--animate-accordion-down: accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-accordion-up: accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-down: collapsible-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-up: collapsible-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes accordion-down { from { height: 0; }to { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }}@keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }to { height: 0; }}@keyframes collapsible-down { from { height: 0; }to { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }}@keyframes collapsible-up { from { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }to { height: 0; }}--animate-caret-blink: caret-blink 1.25s ease-out infinite; @keyframes caret-blink { 0%,70%,100% { opacity: 1; }20%,50% { opacity: 0; }}}@utility animation-duration-*{--tw-animation-duration: calc(--value(number)*1ms) ; --tw-animation-duration: --value(--animation-duration-*,[duration],"initial",[*]); animation-duration: calc(--value(number)*1ms) ; animation-duration: --value(--animation-duration-*,[duration],"initial",[*]);}@utility delay-*{animation-delay: calc(--value(number)*1ms) ; animation-delay: --value(--animation-delay-*,[duration],"initial",[*]); --tw-animation-delay: calc(--value(number)*1ms) ; --tw-animation-delay: --value(--animation-delay-*,[duration],"initial",[*]);}@utility repeat-*{animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]); --tw-animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]);}@utility direction-*{animation-direction: --value(--animation-direction-*,"initial",[*]); --tw-animation-direction: --value(--animation-direction-*,"initial",[*]);}@utility fill-mode-*{animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]); --tw-animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]);}@utility running{animation-play-state: running;}@utility paused{animation-play-state: paused;}@utility play-state-*{animation-play-state: --value("initial",[*]);}@utility blur-in{--tw-enter-blur: 20px;}@utility blur-in-*{--tw-enter-blur: calc(--value(number)*1px) ; --tw-enter-blur: --value(--blur-*,[*]);}@utility blur-out{--tw-exit-blur: 20px;}@utility blur-out-*{--tw-exit-blur: calc(--value(number)*1px) ; --tw-exit-blur: --value(--blur-*,[*]);}@utility fade-in{--tw-enter-opacity: 0;}@utility fade-in-*{--tw-enter-opacity: calc(--value(number)*.01) ; --tw-enter-opacity: --value(--percentage-*,[*]);}@utility fade-out{--tw-exit-opacity: 0;}@utility fade-out-*{--tw-exit-opacity: calc(--value(number)*.01) ; --tw-exit-opacity: --value(--percentage-*,[*]);}@utility zoom-in{--tw-enter-scale: 0;}@utility zoom-in-*{--tw-enter-scale: calc(--value(number)*1%) ; --tw-enter-scale: --value(ratio) ; --tw-enter-scale: --value(--percentage-*,[*]);}@utility -zoom-in-*{--tw-enter-scale: calc(--value(number)*-1%) ; --tw-enter-scale: calc(--value(ratio)*-1) ; --tw-enter-scale: --value(--percentage-*,[*]);}@utility zoom-out{--tw-exit-scale: 0;}@utility zoom-out-*{--tw-exit-scale: calc(--value(number)*1%) ; --tw-exit-scale: --value(ratio) ; --tw-exit-scale: --value(--percentage-*,[*]);}@utility -zoom-out-*{--tw-exit-scale: calc(--value(number)*-1%) ; --tw-exit-scale: calc(--value(ratio)*-1) ; --tw-exit-scale: --value(--percentage-*,[*]);}@utility spin-in{--tw-enter-rotate: 30deg;}@utility spin-in-*{--tw-enter-rotate: calc(--value(number)*1deg) ; --tw-enter-rotate: calc(--value(ratio)*360deg) ; --tw-enter-rotate: --value(--rotate-*,[*]);}@utility -spin-in{--tw-enter-rotate: -30deg;}@utility -spin-in-*{--tw-enter-rotate: calc(--value(number)*-1deg) ; --tw-enter-rotate: calc(--value(ratio)*-360deg) ; --tw-enter-rotate: --value(--rotate-*,[*]);}@utility spin-out{--tw-exit-rotate: 30deg;}@utility spin-out-*{--tw-exit-rotate: calc(--value(number)*1deg) ; --tw-exit-rotate: calc(--value(ratio)*360deg) ; --tw-exit-rotate: --value(--rotate-*,[*]);}@utility -spin-out{--tw-exit-rotate: -30deg;}@utility -spin-out-*{--tw-exit-rotate: calc(--value(number)*-1deg) ; --tw-exit-rotate: calc(--value(ratio)*-360deg) ; --tw-exit-rotate: --value(--rotate-*,[*]);}@utility slide-in-from-top{--tw-enter-translate-y: -100%;}@utility slide-in-from-top-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-y: calc(--value(ratio)*-100%) ; --tw-enter-translate-y: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-in-from-bottom{--tw-enter-translate-y: 100%;}@utility slide-in-from-bottom-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-y: calc(--value(ratio)*100%) ; --tw-enter-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-left{--tw-enter-translate-x: -100%;}@utility slide-in-from-left-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-x: calc(--value(ratio)*-100%) ; --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-in-from-right{--tw-enter-translate-x: 100%;}@utility slide-in-from-right-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-x: calc(--value(ratio)*100%) ; --tw-enter-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-start{&:dir(ltr){ --tw-enter-translate-x: -100%; }&:dir(rtl){ --tw-enter-translate-x: 100%; }}@utility slide-in-from-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-x: calc(--value(ratio)*-100%) ; --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-x: calc(--value(ratio)*100%) ; --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-in-from-end{&:dir(ltr){ --tw-enter-translate-x: 100%; }&:dir(rtl){ --tw-enter-translate-x: -100%; }}@utility slide-in-from-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-x: calc(--value(ratio)*100%) ; --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-x: calc(--value(ratio)*-100%) ; --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }}@utility slide-out-to-top{--tw-exit-translate-y: -100%;}@utility slide-out-to-top-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-y: calc(--value(ratio)*-100%) ; --tw-exit-translate-y: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-out-to-bottom{--tw-exit-translate-y: 100%;}@utility slide-out-to-bottom-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-y: calc(--value(ratio)*100%) ; --tw-exit-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-left{--tw-exit-translate-x: -100%;}@utility slide-out-to-left-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-x: calc(--value(ratio)*-100%) ; --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-out-to-right{--tw-exit-translate-x: 100%;}@utility slide-out-to-right-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-x: calc(--value(ratio)*100%) ; --tw-exit-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-start{&:dir(ltr){ --tw-exit-translate-x: -100%; }&:dir(rtl){ --tw-exit-translate-x: 100%; }}@utility slide-out-to-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-x: calc(--value(ratio)*-100%) ; --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-x: calc(--value(ratio)*100%) ; --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-out-to-end{&:dir(ltr){ --tw-exit-translate-x: 100%; }&:dir(rtl){ --tw-exit-translate-x: -100%; }}@utility slide-out-to-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-x: calc(--value(ratio)*100%) ; --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-x: calc(--value(ratio)*-100%) ; --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }}@theme inline{@keyframes accordion-down {from {height: 0;} to {height: var( --radix-accordion-content-height, var(--accordion-panel-height, auto) );}} @keyframes accordion-up {from {height: var( --radix-accordion-content-height, var(--accordion-panel-height, auto) );} to {height: 0;}}}@custom-variant data-open{&:where([data-state="open"]),&:where([data-open]:not([data-open="false"])) {@slot;}}@custom-variant data-closed{&:where([data-state="closed"]),&:where([data-closed]:not([data-closed="false"])) {@slot;}}@custom-variant data-checked{&:where([data-state="checked"]),&:where([data-checked]:not([data-checked="false"])) {@slot;}}@custom-variant data-unchecked{&:where([data-state="unchecked"]),&:where([data-unchecked]:not([data-unchecked="false"])) {@slot;}}@custom-variant data-selected{&:where([data-selected="true"]) {@slot;}}@custom-variant data-disabled{&:where([data-disabled="true"]),&:where([data-disabled]:not([data-disabled="false"])) {@slot;}}@custom-variant data-active{&:where([data-state="active"]),&:where([data-active]:not([data-active="false"])) {@slot;}}@custom-variant data-horizontal{&:where([data-orientation="horizontal"]) {@slot;}}@custom-variant data-vertical{&:where([data-orientation="vertical"]) {@slot;}}@utility no-scrollbar{-ms-overflow-style: none; scrollbar-width: none; &::-webkit-scrollbar {display: none;}}@property --scroll-fade-t{syntax: "<length-percentage>"; inherits: false; initial-value: 0px;}@property --scroll-fade-b{syntax: "<length-percentage>"; inherits: false; initial-value: 0px;}@property --scroll-fade-s{syntax: "<length-percentage>"; inherits: false; initial-value: 0px;}@property --scroll-fade-e{syntax: "<length-percentage>"; inherits: false; initial-value: 0px;}@property --scroll-fade-mask{syntax: "*"; inherits: false;}@theme inline{@keyframes scroll-fade-reveal-t {from { --scroll-fade-t: 0px; } to { --scroll-fade-t: var(--_scroll-fade-size-t, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))); }} @keyframes scroll-fade-reveal-b {from { --scroll-fade-b: var(--_scroll-fade-size-b, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))); } to { --scroll-fade-b: 0px; }} @keyframes scroll-fade-reveal-s {from { --scroll-fade-s: 0px; } to { --scroll-fade-s: var(--_scroll-fade-size-s, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))); }} @keyframes scroll-fade-reveal-e {from { --scroll-fade-e: var(--_scroll-fade-size-e, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))); } to { --scroll-fade-e: 0px; }}}@utility scroll-fade{ --_scroll-fade-size-t: var( --scroll-fade-t-size, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))) ); --_scroll-fade-size-b: var( --scroll-fade-b-size, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))) ); --scroll-fade-block: linear-gradient( to bottom, transparent 0, #000 var(--scroll-fade-t, 0px), #000 calc(100% - var(--scroll-fade-b, 0px)), transparent 100% ); -webkit-mask-image: var(--scroll-fade-mask, var(--scroll-fade-block)); mask-image: var(--scroll-fade-mask, var(--scroll-fade-block)); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-t 1ms ease-in-out, scroll-fade-reveal-b 1ms ease-in-out; animation-timeline: scroll(self y), scroll(self y); animation-range: 0 var(--scroll-fade-reveal, calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal, calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-t: var(--_scroll-fade-size-t); --scroll-fade-b: var(--_scroll-fade-size-b); } }@utility scroll-fade-y{ --_scroll-fade-size-t: var( --scroll-fade-t-size, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))) ); --_scroll-fade-size-b: var( --scroll-fade-b-size, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))) ); --scroll-fade-block: linear-gradient( to bottom, transparent 0, #000 var(--scroll-fade-t, 0px), #000 calc(100% - var(--scroll-fade-b, 0px)), transparent 100% ); -webkit-mask-image: var(--scroll-fade-mask, var(--scroll-fade-block)); mask-image: var(--scroll-fade-mask, var(--scroll-fade-block)); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-t 1ms ease-in-out, scroll-fade-reveal-b 1ms ease-in-out; animation-timeline: scroll(self y), scroll(self y); animation-range: 0 var(--scroll-fade-reveal, calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal, calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-t: var(--_scroll-fade-size-t); --scroll-fade-b: var(--_scroll-fade-size-b); } }@utility scroll-fade-x{ --_scroll-fade-size-s: var( --scroll-fade-s-size, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))) ); --_scroll-fade-size-e: var( --scroll-fade-e-size, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))) ); --scroll-fade-inline: linear-gradient( to right, transparent 0, #000 var(--scroll-fade-s, 0px), #000 calc(100% - var(--scroll-fade-e, 0px)), transparent 100% ); &:where([dir="rtl"], [dir="rtl"] *) { --scroll-fade-inline: linear-gradient( to left, transparent 0, #000 var(--scroll-fade-s, 0px), #000 calc(100% - var(--scroll-fade-e, 0px)), transparent 100% ); } -webkit-mask-image: var(--scroll-fade-mask, var(--scroll-fade-inline)); mask-image: var(--scroll-fade-mask, var(--scroll-fade-inline)); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-s 1ms ease-in-out, scroll-fade-reveal-e 1ms ease-in-out; animation-timeline: scroll(self inline), scroll(self inline); animation-range: 0 var(--scroll-fade-reveal, calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal, calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-s: var(--_scroll-fade-size-s); --scroll-fade-e: var(--_scroll-fade-size-e); } }@utility scroll-fade-t{ --_scroll-fade-size-t: var( --scroll-fade-t-size, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))) ); --scroll-fade-mask: linear-gradient( to bottom, transparent 0, #000 var(--scroll-fade-t, 0px), #000 100% ); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-t 1ms ease-in-out; animation-timeline: scroll(self y); animation-range: 0 var(--scroll-fade-reveal, calc(var(--spacing) * 24)); animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-t: var(--_scroll-fade-size-t); } }@utility scroll-fade-b{ --_scroll-fade-size-b: var( --scroll-fade-b-size, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))) ); --scroll-fade-mask: linear-gradient( to bottom, #000 0, #000 calc(100% - var(--scroll-fade-b, 0px)), transparent 100% ); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-b 1ms ease-in-out; animation-timeline: scroll(self y); animation-range: calc( 100% - var(--scroll-fade-reveal, calc(var(--spacing) * 24)) ) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-b: var(--_scroll-fade-size-b); } }@utility scroll-fade-l{ --_scroll-fade-size-s: var( --scroll-fade-s-size, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))) ); --scroll-fade-mask: linear-gradient( to right, transparent 0, #000 var(--scroll-fade-s, 0px), #000 100% ); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-s 1ms ease-in-out; animation-timeline: scroll(self x); animation-range: 0 var(--scroll-fade-reveal, calc(var(--spacing) * 24)); animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-s: var(--_scroll-fade-size-s); } }@utility scroll-fade-r{ --_scroll-fade-size-e: var( --scroll-fade-e-size, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))) ); --scroll-fade-mask: linear-gradient( to right, #000 0, #000 calc(100% - var(--scroll-fade-e, 0px)), transparent 100% ); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-e 1ms ease-in-out; animation-timeline: scroll(self x); animation-range: calc( 100% - var(--scroll-fade-reveal, calc(var(--spacing) * 24)) ) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-e: var(--_scroll-fade-size-e); } }@utility scroll-fade-s{ --_scroll-fade-size-s: var( --scroll-fade-s-size, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))) ); --scroll-fade-mask: linear-gradient( to right, transparent 0, #000 var(--scroll-fade-s, 0px), #000 100% ); &:where([dir="rtl"], [dir="rtl"] *) { --scroll-fade-mask: linear-gradient( to left, transparent 0, #000 var(--scroll-fade-s, 0px), #000 100% ); } -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-s 1ms ease-in-out; animation-timeline: scroll(self inline); animation-range: 0 var(--scroll-fade-reveal, calc(var(--spacing) * 24)); animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-s: var(--_scroll-fade-size-s); } }@utility scroll-fade-e{ --_scroll-fade-size-e: var( --scroll-fade-e-size, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))) ); --scroll-fade-mask: linear-gradient( to right, #000 0, #000 calc(100% - var(--scroll-fade-e, 0px)), transparent 100% ); &:where([dir="rtl"], [dir="rtl"] *) { --scroll-fade-mask: linear-gradient( to left, #000 0, #000 calc(100% - var(--scroll-fade-e, 0px)), transparent 100% ); } -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-e 1ms ease-in-out; animation-timeline: scroll(self inline); animation-range: calc( 100% - var(--scroll-fade-reveal, calc(var(--spacing) * 24)) ) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-e: var(--_scroll-fade-size-e); } }@utility scroll-fade-*{ --scroll-fade-size: calc(var(--spacing) * --value(integer)); --scroll-fade-size: --value([length], [percentage]); }@utility scroll-fade-t-*{ --scroll-fade-t-size: calc(var(--spacing) * --value(integer)); --scroll-fade-t-size: --value([length], [percentage]); }@utility scroll-fade-b-*{ --scroll-fade-b-size: calc(var(--spacing) * --value(integer)); --scroll-fade-b-size: --value([length], [percentage]); }@utility scroll-fade-s-*{ --scroll-fade-s-size: calc(var(--spacing) * --value(integer)); --scroll-fade-s-size: --value([length], [percentage]); }@utility scroll-fade-e-*{ --scroll-fade-e-size: calc(var(--spacing) * --value(integer)); --scroll-fade-e-size: --value([length], [percentage]); }@utility scroll-fade-none{ --scroll-fade-mask: none; }@property --shimmer-angle{syntax: "<angle>"; inherits: true; initial-value: 20deg;}@property --shimmer-image{syntax: "*"; inherits: false;}@property --shimmer-text-fill{syntax: "*"; inherits: false;}@theme inline{@keyframes tw-shimmer {from {background-position: 100% 0;} to {background-position: 0 0;}}}@utility shimmer{ --_spread: var(--shimmer-spread, calc(3ch + 40px) ); --_base: currentColor; --_highlight: var( --shimmer-color, oklch(from currentColor l c h / calc(alpha/5) ) ); background-image: var( --shimmer-image, linear-gradient( calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread)) ) ); background-repeat: no-repeat; background-size: calc(200% + var(--_spread) * 2) 100%; background-position: 0 0; background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: var(--shimmer-text-fill, transparent); animation: tw-shimmer var(--shimmer-duration, 2s) linear infinite; @variant dark { --_highlight: var( --shimmer-color, oklch(from currentColor max(.8, calc(l + .4) ) c h / calc(alpha + .4) ) ); } &:where([dir="rtl"], [dir="rtl"] *) { animation-direction: reverse; } }@utility shimmer-once{animation-iteration-count: 1;}@utility shimmer-reverse{animation-direction: reverse;}@utility shimmer-none{ --shimmer-image: none; --shimmer-text-fill: currentColor; }@utility shimmer-color-*{ --shimmer-color: --value(--color, [color]); --shimmer-color: color-mix( in oklch, --value(--color, [color]) calc(--modifier(integer)*1%) , transparent ); }@utility shimmer-duration-*{ --shimmer-duration: calc(--value(integer)*1ms) ; }@utility shimmer-spread-*{ --shimmer-spread: calc(var(--spacing) * --value(integer)); --shimmer-spread: --value([length], [percentage]); }@utility shimmer-angle-*{ --shimmer-angle: calc(--value(integer)*1deg) ; }@media (prefers-reduced-motion: reduce){.shimmer{animation:none;background-image:none;-webkit-text-fill-color:currentColor}}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@tailwind base;@custom-variant dark (&:is(.dark *));@tailwind components;@tailwind utilities;@theme inline{ --font-heading: var(--font-sans); --font-sans: "Geist Variable", sans-serif; --color-sidebar-ring: var(--sidebar-ring); --color-sidebar-border: var(--sidebar-border); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar: var(--sidebar); --color-chart-5: var(--chart-5); --color-chart-4: var(--chart-4); --color-chart-3: var(--chart-3); --color-chart-2: var(--chart-2); --color-chart-1: var(--chart-1); --color-ring: var(--ring); --color-input: var(--input); --color-border: var(--border); --color-destructive: var(--destructive); --color-accent-foreground: var(--accent-foreground); --color-accent: var(--accent); --color-muted-foreground: var(--muted-foreground); --color-muted: var(--muted); --color-secondary-foreground: var(--secondary-foreground); --color-secondary: var(--secondary); --color-primary-foreground: var(--primary-foreground); --color-primary: var(--primary); --color-popover-foreground: var(--popover-foreground); --color-popover: var(--popover); --color-card-foreground: var(--card-foreground); --color-card: var(--card); --color-foreground: var(--foreground); --color-background: var(--background); --radius-sm: calc(var(--radius) * .6); --radius-md: calc(var(--radius) * .8); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) * 1.4); --radius-2xl: calc(var(--radius) * 1.8); --radius-3xl: calc(var(--radius) * 2.2); --radius-4xl: calc(var(--radius) * 2.6); }:root{--background: oklch(1 0 0);--foreground: oklch(.145 0 0);--card: oklch(1 0 0);--card-foreground: oklch(.145 0 0);--popover: oklch(1 0 0);--popover-foreground: oklch(.145 0 0);--primary: oklch(.205 0 0);--primary-foreground: oklch(.985 0 0);--secondary: oklch(.97 0 0);--secondary-foreground: oklch(.205 0 0);--muted: oklch(.97 0 0);--muted-foreground: oklch(.556 0 0);--accent: oklch(.97 0 0);--accent-foreground: oklch(.205 0 0);--destructive: oklch(.577 .245 27.325);--border: oklch(.922 0 0);--input: oklch(.922 0 0);--ring: oklch(.708 0 0);--chart-1: oklch(.87 0 0);--chart-2: oklch(.556 0 0);--chart-3: oklch(.439 0 0);--chart-4: oklch(.371 0 0);--chart-5: oklch(.269 0 0);--radius: .625rem;--sidebar: oklch(.985 0 0);--sidebar-foreground: oklch(.145 0 0);--sidebar-primary: oklch(.205 0 0);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.97 0 0);--sidebar-accent-foreground: oklch(.205 0 0);--sidebar-border: oklch(.922 0 0);--sidebar-ring: oklch(.708 0 0)}.dark{--background: oklch(.145 0 0);--foreground: oklch(.985 0 0);--card: oklch(.205 0 0);--card-foreground: oklch(.985 0 0);--popover: oklch(.205 0 0);--popover-foreground: oklch(.985 0 0);--primary: oklch(.922 0 0);--primary-foreground: oklch(.205 0 0);--secondary: oklch(.269 0 0);--secondary-foreground: oklch(.985 0 0);--muted: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--accent: oklch(.269 0 0);--accent-foreground: oklch(.985 0 0);--destructive: oklch(.704 .191 22.216);--border: oklch(1 0 0 / 10%);--input: oklch(1 0 0 / 15%);--ring: oklch(.556 0 0);--chart-1: oklch(.87 0 0);--chart-2: oklch(.556 0 0);--chart-3: oklch(.439 0 0);--chart-4: oklch(.371 0 0);--chart-5: oklch(.269 0 0);--sidebar: oklch(.205 0 0);--sidebar-foreground: oklch(.985 0 0);--sidebar-primary: oklch(.488 .243 264.376);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.269 0 0);--sidebar-accent-foreground: oklch(.985 0 0);--sidebar-border: oklch(1 0 0 / 10%);--sidebar-ring: oklch(.556 0 0)}@layer base{*{@apply border-border outline-ring/50;}body{@apply bg-background text-foreground;}html{@apply font-sans;}}.photo-fullview-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0a0c18fa;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.photo-fullview-img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:1.2rem;box-shadow:0 8px 40px #000000b3;background:#181c2a;margin-bottom:1.5rem;transition:transform .2s cubic-bezier(.22,1,.36,1)}.photo-fullview-title{color:#f3f4f6;font-size:1.1rem;margin-bottom:2.5rem;text-align:center;text-shadow:0 2px 8px #000a;word-break:break-all}.close-btn{position:absolute;top:2.2rem;left:2.2rem;background:#1e293bd9;color:#fff;border:none;border-radius:50%;width:2.7rem;height:2.7rem;font-size:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0006;z-index:10001;transition:background .15s}.close-btn:hover{background:#ef4444;color:#fff}.nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#1e293bd9;color:#fff;border:none;border-radius:50%;width:2.7rem;height:2.7rem;font-size:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0006;z-index:10001;transition:background .15s}.nav-btn.prev{left:2.2rem}.nav-btn.next{right:2.2rem}.nav-btn:hover{background:#38bdf8;color:#181c2a}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle 600px at 50% 50%,rgba(59,130,246,.3),transparent 60%),#050816;color:#f9fafb;overscroll-behavior-y:none}body{min-height:100vh;min-height:100dvh}.page{min-height:100vh;min-height:100dvh;display:flex;align-items:flex-start;justify-content:center;padding:3rem 1.5rem 4rem}.media-page-container{height:100svh;height:var(--app-height, 100dvh);display:flex;flex-direction:column;overflow:hidden}.media-page-container .page{flex:1 1 auto;min-height:0;align-items:stretch;justify-content:center;overflow:hidden;padding:1rem .5rem}.media-page-container .card.full{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:1rem}.media-page-container .toolbar-row,.media-page-container .player,.media-page-container .video-player-container{flex-shrink:0}.media-page-container .music-list-shell{flex:1 1 auto;min-height:0}.media-page-container .music-list{max-height:none;height:100%;min-height:0}.card{background:linear-gradient(135deg,#17255473,#0f172a99);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(56,189,248,.15);border-radius:1rem;padding:2rem;max-width:640px;width:100%;box-shadow:0 20px 40px #0f172ae6}.card.full{max-width:1160px}.page.page-connect{padding-top:2.5rem;flex-direction:column;justify-content:space-between;align-items:center}h1{margin:0 0 .5rem;font-size:1.75rem}.subtitle{margin:0 0 1.5rem;color:#9ca3af}.form{display:flex;flex-direction:column;gap:.75rem}label{font-weight:600}.label-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.label-actions{display:inline-flex;align-items:center;gap:.35rem}.label-nav-button{border:1px solid #1f2937;background:#0f172a;color:#e5e7eb;border-radius:.6rem;padding:.2rem .5rem;font-size:.85rem;line-height:1.1;box-shadow:none}.label-nav-button:hover:not(:disabled){background:#111827;transform:none;box-shadow:none}.label-nav-button:disabled{opacity:.4;cursor:not-allowed}input[type=url],input[type=search],input[type=text]{padding:.75rem .9rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.1);background:#02061799;color:#f9fafb;font-size:.95rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}input[type=url]:focus,input[type=search]:focus,input[type=text]:focus{outline:none;border-color:#38bdf8;box-shadow:0 0 0 1px #0ea5e9}button{border:none;border-radius:999px;padding:.75rem 1.4rem;font-size:.95rem;font-weight:600;background:#22c55e;color:#022c22;cursor:pointer;transition:transform .05s ease,box-shadow .1s ease,background .1s ease}button:hover{background:#16a34a;box-shadow:0 10px 20px #16a34a66;transform:translateY(-1px)}button:active{transform:translateY(0);box-shadow:none}button.secondary{display:flex;align-items:center;gap:.6rem;background:#1e293b;color:#e5e7eb;box-shadow:none}button.secondary:hover{background:#111827}.hint{margin:0;font-size:.85rem;color:#9ca3af}.error,.info{margin:1.25rem 0;padding:.9rem 1.25rem;border-radius:.85rem;font-size:.92rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;line-height:1.4;box-shadow:0 4px 15px #0003;animation:alertIn .3s cubic-bezier(.23,1,.32,1)}@keyframes alertIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.error{background:#f871711f;color:#fca5a5;border:1px solid rgba(248,113,113,.3)}.info{background:#38bdf81a;color:#bae6fd;border:1px solid rgba(56,189,248,.3)}.alert-dismiss{background:transparent;padding:.35rem;color:inherit;opacity:.5;transition:all .2s ease;border-radius:999px;display:flex;align-items:center;justify-content:center;margin-right:-.25rem;cursor:pointer}.alert-dismiss:hover{opacity:1;background:#ffffff1a;transform:none;box-shadow:none}.info{animation:infoPulse 2s infinite ease-in-out}@keyframes infoPulse{0%{opacity:.8;transform:scale(.998)}50%{opacity:1;transform:scale(1)}to{opacity:.8;transform:scale(.998)}}.page.page-not-found{align-items:center}.not-found-card{text-align:center;max-width:560px}.not-found-sign{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}.not-found-code{margin:0;font-size:4.5rem;letter-spacing:.2rem;color:#38bdf8;text-shadow:0 10px 40px rgba(56,189,248,.35)}.not-found-title{margin:.6rem 0 .75rem;font-size:1.4rem}.not-found-copy{margin:0 0 1.75rem;color:#9ca3af;line-height:1.5}.not-found-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.button-link{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.75rem 1.4rem;font-size:.95rem;font-weight:600;background:#22c55e;color:#022c22;text-decoration:none;transition:transform .05s ease,box-shadow .1s ease,background .1s ease}.button-link:hover{background:#16a34a;box-shadow:0 10px 20px #16a34a66;transform:translateY(-1px)}.button-link:active{transform:translateY(0);box-shadow:none}.button-link.secondary{background:#1e293b;color:#e5e7eb}.button-link.secondary:hover{background:#111827}.top-bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:linear-gradient(180deg,#17255480,#0f172abf);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(56,189,248,.15)}.desktop-only{display:flex!important}.mobile-only{display:none!important}.top-bar h1{font-size:1.3rem;margin-bottom:.1rem}.server-label{font-size:.8rem;color:#9ca3af;text-decoration:none}.server-label:hover{text-decoration:underline}.top-bar-left{display:flex;align-items:center;gap:.75rem}.app-icon{width:40px;height:40px;border-radius:12px;box-shadow:0 2px 8px #00000026;background:linear-gradient(135deg,#2d2d2d,#232323);object-fit:cover;flex-shrink:0}.top-bar-title{display:flex;flex-direction:column;justify-content:center}.top-bar-center{flex:1;display:flex;justify-content:center}.media-nav{position:relative;display:flex;align-items:center;background:#1e293b80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.35rem;border-radius:999px;border:1px solid rgba(255,255,255,.08);gap:.25rem}.nav-indicator{position:absolute;top:.35rem;height:calc(100% - .7rem);background:linear-gradient(135deg,#38bdf8,#0ea5e9);border-radius:999px;transition:left .45s cubic-bezier(.34,1.56,.64,1),right .45s cubic-bezier(.34,1.56,.64,1),opacity .2s ease;box-shadow:0 4px 12px #0ea5e966,0 0 20px #38bdf833;z-index:0;pointer-events:none}.media-nav .nav-item{position:relative;display:flex;align-items:center;gap:.6rem;padding:.5rem 1.1rem;border-radius:999px;font-size:.85rem;font-weight:500;color:#94a3b8;background:transparent;border:none;transition:color .3s ease,transform .15s ease;box-shadow:none;z-index:1;cursor:pointer}.media-nav .nav-item:active{transform:scale(.95)}.media-nav .nav-item:hover{color:#e2e8f0;background:#ffffff0d;transform:none}.media-nav .nav-item.active{color:#0f172a}.media-nav .nav-item svg{stroke-width:2.5px}.top-bar-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0;position:relative}.menu-button{background:#1e293b;color:#e5e7eb;border-radius:999px;padding:.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.menu-button:hover{background:#111827;color:#fff}.menu-button[aria-expanded=true]{background:#0ea5e9;color:#0f172a}.menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;width:200px;background:#0f172ae6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #1e293b;border-radius:1rem;overflow:hidden;box-shadow:0 10px 25px #00000080;display:flex;flex-direction:column;z-index:100;animation:menuIn .2s ease-out}@keyframes menuIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.menu-item{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.25rem;background:transparent;color:#9ca3af;border-radius:0;width:100%;text-align:left;font-weight:500;transition:all .2s ease}.menu-item:hover{background:#38bdf81a;color:#fff;transform:none;box-shadow:none}.menu-item.active{color:#38bdf8;background:#38bdf80d}.menu-divider{height:1px;background:#1e293b;margin:.25rem .75rem}.toolbar-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:0 0 .75rem}.search-row{display:flex;align-items:center;gap:.5rem;flex:1 1 220px}.search-input-wrapper{position:relative;display:flex;align-items:center;flex:1 1 auto}.search-input-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#fff;pointer-events:none;flex-shrink:0}.search-row input{flex:1 1 auto;padding-left:2.25rem!important}.search-row button{flex-shrink:0}.search-back-button,.search-toggle-button{display:none!important}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:none}input[type=search]::-ms-clear,input[type=search]::-ms-reveal{display:none;width:0;height:0}.search-row .search-clear-button{flex:0 0 2.45rem;width:2.45rem;height:2.45rem;padding:0!important;border:1px solid #1f2937;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#020617!important;color:#94a3b8!important;box-shadow:none!important;transform:none!important}.search-row .search-clear-button svg{width:1rem;height:1rem}.search-row .search-clear-button:hover:not(:disabled){background:#38bdf824!important;color:#e2e8f0!important;border-color:#38bdf88c;box-shadow:none!important;transform:none!important}.search-row .search-clear-button:disabled{opacity:.38;cursor:default}.sort-row{display:flex;align-items:center;gap:.35rem;flex-shrink:0;flex:0 0 auto;justify-content:flex-end}.sort-label{font-size:.8rem;color:#9ca3af}.sort-row select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:.4rem 2.25rem .4rem .75rem;border-radius:.35rem;border:1px solid rgba(255,255,255,.1);background:#02061799;color:#f9fafb;font-size:.85rem;min-height:2.2rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.group\/native-select{position:relative!important;display:inline-flex!important;align-items:center;vertical-align:middle}.native-select-chevron{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:#fff;pointer-events:none;display:flex;align-items:center;justify-content:center;opacity:.9;z-index:10;transition:opacity .15s ease,color .15s ease}.group\/native-select:hover .native-select-chevron{opacity:1;color:#38bdf8}.sort-row select:focus{outline:none;border-color:#38bdf8;box-shadow:0 0 0 1px #0ea5e9}.sort-row .sort-icon-button{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;padding:0;border-radius:50%;background:transparent;color:#e5e7eb}.sort-row .sort-icon-button:hover{background:transparent;color:#fff;box-shadow:none;transform:none}.music-list{list-style:none;margin:0;padding:0;overflow-y:auto;scroll-behavior:smooth;overscroll-behavior-y:none;flex:1 1 auto;min-width:0}.music-list-shell .music-list{-ms-overflow-style:none}.music-list-shell .music-list::-webkit-scrollbar{display:none}.music-list-shell{display:flex;align-items:stretch;gap:.5rem}.music-side-rail{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.25rem 0;width:20px;flex-shrink:0}.scrollbar-track{width:4px;flex:1;position:relative;background:#ffffff0d;border-radius:999px;margin:.2rem 0;cursor:pointer;transition:background .2s}.scrollbar-track:hover{background:#ffffff1a}.scrollbar-thumb{position:absolute;width:100%;left:0;background:#fff3;border-radius:999px;height:var(--thumb-height, 20%);top:var(--thumb-top, 0%);transition:background .2s,top .12s ease-out;cursor:grab}.scrollbar-thumb:active{cursor:grabbing}.scrollbar-thumb:hover,.scrollbar-thumb.dragging{background:#38bdf899}.scrollbar-thumb.dragging{transition:background .2s}.folder-header{margin-top:.75rem;padding:.35rem .5rem;font-size:.8rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;border-bottom:none;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.folder-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-hide-button{background:transparent;padding:.15rem .35rem;min-width:0;box-shadow:none;color:#9ca3af}.folder-hide-button:hover{background:transparent;color:#e5e7eb;box-shadow:none;transform:none}.folder-header-actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.folder-header-left{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1}.folder-select-control{position:relative;flex:0 0 auto;display:none;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;border-radius:999px;background:#020617b8;border:1px solid rgba(148,163,184,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 22px #00000059;cursor:pointer;opacity:0;transition:transform .18s ease,border-color .18s ease,background .18s ease,opacity .2s ease}.selection-mode-active .folder-select-control{display:inline-flex;animation:folder-checkbox-show .2s ease forwards}.folder-select-control.selected{border-color:#38bdf8bf;background:#0f172ae6}.folder-select-control input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none}.folder-select-control:hover{transform:scale(1.04);border-color:#38bdf8bf;background:#0f172ae6}@keyframes folder-checkbox-show{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.select-all-toggle.toggle-active{color:#38bdf8!important}.letter-nav{display:flex;flex-direction:column;align-items:center;gap:.15rem;font-size:.7rem;color:#6b7280}.letter-nav-button{border-radius:.35rem;padding:.1rem .25rem;width:1.6rem;min-width:0;background:transparent;color:inherit;font-size:.7rem;font-weight:500;box-shadow:none}.letter-nav-button.has-items{color:#d1d5db}.letter-nav-button.has-items:hover{background:#111827;color:#e5e7eb}.letter-nav-button.disabled{opacity:.35;cursor:default}.scroll-edge-button{background:transparent;border-radius:0;padding:.1rem;box-shadow:none;color:#6b7280}.scroll-edge-button:hover:not(:disabled){background:transparent;color:#e5e7eb;transform:none}.scroll-edge-button:disabled{opacity:.3;cursor:default}.sort-toggle.toggle-active{background:transparent;color:#38bdf8}.sort-toggle.toggle-active:hover{background:transparent;color:#38bdf8;box-shadow:none;transform:none}.sort-toggle.toggle-active svg{stroke-width:3px}.music-item{display:flex;align-items:center;justify-content:space-between;padding:.35rem .45rem;min-height:52px;border-bottom:none;transition:background .15s ease;animation:itemEntry .4s ease-out both;content-visibility:auto;contain-intrinsic-size:auto 52px}.music-item:hover{background:#ffffff0a;transform:translate(4px)}.music-item:active{background:#ffffff14;transform:translate(2px)}@keyframes itemEntry{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.music-art{width:36px;height:36px;border:.5px solid rgba(255,255,255,.2)!important;border-radius:.35rem;background:#020617;margin-right:.5rem;flex-shrink:0;overflow:hidden}.music-art img{width:100%;height:100%;object-fit:cover;display:block}.music-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center}.music-title{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.1rem}.music-item .music-title.playing-title{color:#22d3ee}.music-details{display:flex;align-items:center;font-size:.72rem;min-width:0;color:#9ca3af}.music-artist{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-artist:not(:empty)+.music-meta:not(:empty):before{content:"•";margin:0 .4rem;opacity:.5;flex-shrink:0}.music-meta{color:#6b7280;flex-shrink:0;white-space:nowrap}.music-actions{flex-shrink:0;margin-left:.5rem}.music-actions button{font-size:.75rem;padding:.35rem .7rem;background:transparent;border:none;color:#22c55e;box-shadow:none}.music-actions button:hover{background:#22c55e1f;box-shadow:none;transform:none}.music-actions button.playing{background:transparent;color:#ef4444;box-shadow:none}.music-actions button.playing:hover{background:#ef44441f;box-shadow:none;transform:none}.video-top-player{margin:0 0 1rem;border:1px solid rgba(30,64,175,.7);border-radius:1rem;overflow:hidden;background:#020617}.video-top-player video{width:100%;display:block;background:#000;max-height:58vh;object-fit:contain}.video-top-meta{padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.75rem}.video-top-title{font-size:1.25rem;font-weight:600;color:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-seekbar-row{display:flex;align-items:center;gap:.65rem}.video-seekbar-row input[type=range]{flex:1 1 auto;min-width:0}.video-time-label{min-width:3.15rem;text-align:center;color:#9ca3af;font-size:.8rem}.video-controls{display:flex;align-items:center;justify-content:center;gap:.55rem}.player{margin-top:1.5rem;padding:0;border-radius:1rem;border:1px solid rgba(30,64,175,.7);background:#020617;position:relative;overflow:hidden;animation:playerEntry .6s cubic-bezier(.23,1,.32,1) both}#player{--player-pad: .6rem;--player-art-radius: .5rem;border-radius:1rem}@keyframes playerEntry{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes playerFullscreenPanelIn{0%{opacity:.88;transform:translateY(1.1rem) scale(.965)}60%{opacity:1;transform:translateY(-.12rem) scale(1.004)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes playerFullscreenArtIn{0%{opacity:0;transform:translateY(1.35rem) scale(.72)}62%{opacity:1;transform:translateY(-.2rem) scale(1.018)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes playerFullscreenChromeIn{0%{opacity:0;transform:translateY(.8rem)}to{opacity:1;transform:translateY(0)}}.player-background{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;background-size:cover;background-position:center;background-repeat:no-repeat;filter:blur(26px);transform:scale(1.1);transform-origin:center center;opacity:.8;z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform,opacity}.player-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top left,rgba(56,189,248,.16),transparent 55%),linear-gradient(to bottom right,#000000bf,#000000e6);z-index:1}.player-content{position:relative;z-index:2;padding:1.25rem;display:flex;flex-direction:column;gap:.9rem}.player-main{display:flex;align-items:center;gap:1rem}.player-art{width:85px;height:85px;padding:0;border:1.5px solid rgba(255,255,255,.5)!important;border-radius:.25rem;background:#020617;overflow:hidden;flex-shrink:0;cursor:pointer;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-mask-image:-webkit-radial-gradient(white,black);mask-image:radial-gradient(#fff,#000)}.player-art:hover{background:#020617;transform:none;box-shadow:0 0 0 2px #38bdf86b}.player-art:focus-visible{outline:2px solid #38bdf8;outline-offset:3px}.player-art img{width:100%;height:100%;object-fit:cover;display:block}.player-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.player-title{font-size:1.4rem;font-weight:600}.player-title-button{background:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:0}.player-title-button:hover{background:transparent;color:#22bdc5;text-decoration:none;box-shadow:none;transform:none}.player-artist{font-size:.8rem;color:#9ca3af}.player-timeline{display:flex;align-items:center;gap:.75rem}.player-timeline input[type=range]{flex:1 1 auto}.player-seekbar-wrap{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center;height:12px;cursor:pointer;container-type:inline-size}.seekbar-custom-track{position:absolute;left:0;right:0;height:4px;background:#ffffff29;border-radius:999px;pointer-events:none;transition:height .12s ease}.seekbar-custom-buffered{position:absolute;left:0;height:4px;background:#ffffff61;border-radius:999px;pointer-events:none;transition:height .12s ease,width .1s linear}.seekbar-custom-played{position:absolute;left:0;height:4px;background:linear-gradient(to right,#00f2fe,#4ade80) no-repeat;background-size:100cqw 100%;border-radius:999px;pointer-events:none;transition:height .15s ease,box-shadow .15s ease;box-shadow:0 0 4px #00f2fe66}.player-seekbar-wrap.is-playing .seekbar-custom-played{box-shadow:0 0 3px #fff,0 0 8px #00f2fe,0 0 16px #4ade80,0 0 24px #4ade8099}.player-seekbar-wrap:hover .seekbar-custom-track,.player-seekbar-wrap:hover .seekbar-custom-buffered,.player-seekbar-wrap:hover .seekbar-custom-played,.player-seekbar-wrap.is-scrubbing .seekbar-custom-track,.player-seekbar-wrap.is-scrubbing .seekbar-custom-buffered,.player-seekbar-wrap.is-scrubbing .seekbar-custom-played{height:6px}.player-seekbar-wrap input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:100%;background:transparent;margin:0;padding:0;position:absolute;left:0;top:0;z-index:5;cursor:pointer;border:none;box-shadow:none}.player-seekbar-wrap input[type=range]:focus{outline:none}.player-seekbar-wrap input[type=range]::-webkit-slider-runnable-track{background:transparent;border:none;height:100%}.player-seekbar-wrap input[type=range]::-moz-range-track{background:transparent;border:none;height:100%}.player-seekbar-wrap input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #00f2fe;box-shadow:0 0 4px #00f2fe99,0 1px 3px #00000080;cursor:pointer;transform:scale(1);transition:transform .1s ease,box-shadow .15s ease,border-color .15s ease;z-index:6}.player-seekbar-wrap:hover input[type=range]::-webkit-slider-thumb,.player-seekbar-wrap input[type=range]:active::-webkit-slider-thumb,.player-seekbar-wrap.is-scrubbing input[type=range]::-webkit-slider-thumb{transform:scale(1.3);background:#fff;border-color:#4ade80;box-shadow:0 0 15px #4ade80,0 0 4px #fff,0 1px 3px #00000080}.player-seekbar-wrap.is-playing input[type=range]::-webkit-slider-thumb{box-shadow:0 0 10px #00f2fe,0 0 3px #fff,0 1px 2px #0006}.player-seekbar-wrap input[type=range]::-moz-range-thumb{width:12px;height:12px;border:2px solid #00f2fe;border-radius:50%;background:#fff;box-shadow:0 0 4px #00f2fe99,0 1px 3px #00000080;cursor:pointer;transform:scale(1);transition:transform .1s ease,box-shadow .15s ease,border-color .15s ease;z-index:6}.player-seekbar-wrap:hover input[type=range]::-moz-range-thumb,.player-seekbar-wrap input[type=range]:active::-moz-range-thumb,.player-seekbar-wrap.is-scrubbing input[type=range]::-moz-range-thumb{transform:scale(1.3);background:#fff;border-color:#4ade80;box-shadow:0 0 15px #4ade80,0 0 4px #fff,0 1px 3px #00000080}.player-seekbar-wrap.is-playing input[type=range]::-moz-range-thumb{box-shadow:0 0 10px #00f2fe,0 0 3px #fff,0 1px 2px #0006}.seek-time-preview{position:absolute;bottom:calc(100% + .65rem);z-index:3;--preview-radius: .55rem;--preview-padding: .35rem;--seek-preview-half-width: clamp(3.75rem, 8vw, 5rem);width:clamp(7.5rem,16vw,10rem);padding:var(--preview-padding);border-radius:var(--preview-radius);border:1px solid rgba(255,255,255,.14);background:#020617e0;color:#f8fafc;font-size:.76rem;font-weight:600;line-height:1;text-align:center;box-shadow:0 .45rem 1.2rem #00000059;opacity:0;pointer-events:none;transform:translate(-50%) translateY(.25rem);transition:opacity .12s ease,transform .12s ease}.seek-preview-frame{width:100%;aspect-ratio:16 / 9;overflow:hidden;border-radius:calc(var(--preview-radius) - var(--preview-padding));background:#020617}.seek-preview-frame video{display:block;width:100%;height:100%;object-fit:cover}.seek-preview-sprite{display:block;width:100%;height:100%}.seek-preview-time{margin-top:.32rem}.seek-time-preview:after{content:"";position:absolute;left:50%;top:100%;width:.45rem;height:.45rem;background:#020617e0;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);transform:translate(-50%,-50%) rotate(45deg)}.seek-time-preview-visible{opacity:1;transform:translate(-50%) translateY(0)}.player-time{font-size:.8rem;color:#9ca3af;min-width:3.2rem;text-align:center}.video-seek-warning{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .7rem;border-radius:.6rem;border:1px solid rgba(250,204,21,.35);background:#facc151a;color:#fde68a;font-size:.78rem}.video-compat-warning{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .7rem;border-radius:.6rem;border:1px solid rgba(56,189,248,.45);background:#0ea5e924;color:#bae6fd;font-size:.78rem}.video-compat-warning a{color:#e0f2fe;text-decoration:underline;font-weight:600;white-space:nowrap}.video-compat-warning a:hover{color:#fff}.video-seek-warning a{color:#fef08a;text-decoration:underline;font-weight:600;white-space:nowrap}.video-seek-warning a:hover{color:#fff7b2}.player-controls-row{display:flex;align-items:center;justify-content:center;gap:.75rem;position:relative}.player-controls-row .player-controls{flex:0 1 auto}.player-left-actions{position:absolute;left:0;display:flex;align-items:center;gap:.25rem}.player-side-actions{position:absolute;right:0;display:flex;align-items:center;gap:.25rem}.player-fullscreen-button,.player-floating-button,.player-loop-button{padding:.4rem .7rem;font-size:.9rem;border-radius:999px;background:transparent;color:#e5e7eb}.player-fullscreen-button:hover,.player-floating-button:hover,.player-loop-button:hover{background:transparent;color:#fff}.player-fullscreen-button.toggle-active,.player-floating-button.toggle-active,.player-loop-button.toggle-active{color:#38bdf8}.player-fullscreen-button.toggle-active svg{stroke-width:3px}.player-floating-button[disabled]{opacity:.5;cursor:not-allowed}.player-controls{display:flex;align-items:center;justify-content:center;gap:.5rem}.player-controls .icon-button,.player-left-actions .icon-button,.player-side-actions .icon-button{display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:.4rem .7rem;font-size:.9rem;border-radius:999px;background:transparent;color:#e5e7eb;box-shadow:none}.player-controls .icon-button.play-main{padding-inline:1.1rem;padding-block:.55rem;background:#22c55e;color:#022c22}.player-controls .icon-button.play-main:hover{background:#16a34a;box-shadow:0 10px 20px #16a34a66;transform:translateY(-1px)}.player-controls .icon-button:hover,.player-left-actions .icon-button:hover,.player-side-actions .icon-button:hover{background:transparent;color:#fff;box-shadow:none;transform:translateY(-1px)}.player-controls .icon-button.toggle-active,.player-left-actions .icon-button.toggle-active,.player-side-actions .icon-button.toggle-active{background:transparent;color:#38bdf8}.player-controls .icon-button.toggle-active svg{stroke-width:3px}#player .player-content{display:grid;grid-template-columns:minmax(124px,152px) 1fr;grid-template-rows:auto auto auto;column-gap:1rem;row-gap:.7rem;padding:var(--player-pad)}#player .player-main{display:contents}#player .player-art{grid-column:1;grid-row:1 / span 3;width:100%;height:auto;aspect-ratio:1 / 1;margin:0;border-radius:var(--player-art-radius);align-self:start}#player .player-info{grid-column:2;grid-row:1;min-width:0}#player .player-timeline{grid-column:2;grid-row:2}#player .player-controls{grid-column:2;grid-row:3;justify-content:center}.music-player-transitioning .skeleton-art,.music-player-transitioning .skeleton-text,.music-player-transitioning .skeleton-action,.music-player-transitioning .skeleton-card .skeleton-image{animation:none}.music-player-active .music-player-card,.music-player-transitioning .music-player-card,.card:has(.video-player-window-fullscreen){-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.music-player-active #player{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;z-index:9999;margin:0;border-radius:0;border:none;background:radial-gradient(circle at 50% 8%,rgba(56,189,248,.14),transparent 34%),#020617;will-change:transform,opacity;animation:playerFullscreenPanelIn .35s cubic-bezier(.16,1,.3,1) both}.music-player-active #player .player-background{top:-6rem;right:-6rem;bottom:-6rem;left:-6rem;filter:blur(54px) saturate(1.18);transform:scale(1.08);opacity:.62}.music-player-active #player .player-overlay{background:linear-gradient(to bottom,#0206173d,#020617d6),radial-gradient(circle at 50% 18%,rgba(255,255,255,.08),transparent 42%)}.music-player-active #player .player-content{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto auto;gap:clamp(.6rem,2vh,1.2rem);padding:clamp(.9rem,2.4vw,1.6rem)}.music-player-active #player .player-main{display:contents}.music-player-active #player .player-art{grid-column:1;grid-row:1;align-self:center;justify-self:center;display:flex;align-items:center;justify-content:center;width:min(52vw,52dvh,520px)!important;height:min(52vw,52dvh,520px)!important;aspect-ratio:1 / 1!important;padding:0;margin:0;border:1.5px solid rgba(255,255,255,.5)!important;--fullscreen-art-radius: clamp(1.1rem, 2.2vw, 2rem);border-radius:var(--fullscreen-art-radius);background:#020617!important;overflow:hidden;position:relative;box-shadow:0 20px 40px #00000073!important;line-height:0;animation:playerFullscreenArtIn .56s cubic-bezier(.16,1,.3,1) .03s both;-webkit-mask-image:-webkit-radial-gradient(white,black);mask-image:radial-gradient(#fff,#000)}.music-player-active #player .player-art:hover{background:#020617!important;box-shadow:0 20px 40px #00000073!important;transform:none}.player-art-frame{width:100%;height:100%;position:relative;overflow:hidden;border-radius:calc(var(--fullscreen-art-radius, inherit) - 1.5px);clip-path:inset(0 round calc(var(--fullscreen-art-radius, inherit) - 1.5px));-webkit-mask-image:-webkit-radial-gradient(white,black);mask-image:radial-gradient(#fff,#000);display:flex;align-items:center;justify-content:center}.player-art-frame-blur{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;background-size:cover;background-position:center;filter:blur(14px) saturate(1.2) brightness(.75);z-index:1}.player-art-frame-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:2}.music-player-active #player .player-art img.player-art-foreground{position:relative;z-index:3;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border-radius:calc(var(--fullscreen-art-radius, inherit) - 1.5px);clip-path:inset(0 round calc(var(--fullscreen-art-radius, inherit) - 1.5px));-webkit-mask-image:none;mask-image:none;box-shadow:none;animation:none}.music-player-active #player .player-art img:not(.player-art-foreground){--fullscreen-art-radius: clamp(1.1rem, 2.2vw, 2rem);display:block;width:auto;height:auto;max-width:min(45vw,800px);max-height:min(45dvh,480px);object-fit:contain;border-radius:var(--fullscreen-art-radius);clip-path:inset(0 round var(--fullscreen-art-radius));-webkit-mask-image:-webkit-radial-gradient(white,black);box-shadow:none;transform-origin:center;will-change:transform,opacity;mask-image:radial-gradient(#fff,#000);animation:playerFullscreenArtIn .56s cubic-bezier(.16,1,.3,1) .03s both}.music-player-active #player .player-info{grid-column:1;grid-row:2;align-items:flex-start;text-align:left;width:min(100%,920px);justify-self:center;margin-top:clamp(.5rem,1.4vh,1rem);margin-bottom:clamp(.2rem,.8vh,.6rem);animation:playerFullscreenChromeIn .36s ease .13s both}.music-player-active #player .player-title{max-width:min(100%,920px);width:100%;font-size:clamp(1rem,2vw,1.45rem);line-height:1.2;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.music-player-active #player .player-title-button{display:block;width:100%;text-align:left;border-radius:0!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}@media (max-width: 385px){.video-player-footer .player-title,.video-player-footer .player-title-button,#video-current-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:5px}}.music-player-active #player .player-artist{font-size:clamp(.82rem,1.4vw,1rem);color:#e2e8f0b8}.music-player-active #player .player-timeline{grid-column:1;grid-row:3;width:min(100%,920px);justify-self:center;margin-block:clamp(.35rem,1.2vh,.9rem);animation:playerFullscreenChromeIn .36s ease .18s both}.music-player-active #player .player-controls{grid-column:1;grid-row:4;justify-self:center;width:min(100%,760px);gap:clamp(.45rem,1.6vw,1rem);margin-top:clamp(.45rem,1.5vh,1rem);padding:clamp(.8rem,1.7vh,1.25rem) 0 clamp(.35rem,.9vh,.7rem);animation:playerFullscreenChromeIn .36s ease .23s both}.music-player-active #player .player-controls .icon-button{width:clamp(2.35rem,5vw,3.4rem);height:clamp(2.35rem,5vw,3.4rem);padding:0}.music-player-active #player .player-controls .icon-button.play-main{width:clamp(3.2rem,6vw,4.3rem);height:clamp(3.2rem,6vw,4.3rem);padding:0}.music-player-active #player .player-controls svg{width:clamp(1rem,2.4vw,1.45rem);height:clamp(1rem,2.4vw,1.45rem)}.music-player-active #player .player-controls .play-main svg{width:clamp(1.25rem,2.8vw,1.75rem);height:clamp(1.25rem,2.8vw,1.75rem)}@media (max-width: 640px){.media-page-container .music-page.music-player-active,.music-player-active .music-player-card{padding:.5rem}.music-player-active #player .player-content{grid-template-rows:minmax(0,1fr) auto auto auto;padding:.7rem;gap:.7rem}.music-player-active #player .player-art{width:min(100%,70dvh);max-width:100%}.music-player-active #player .player-controls{gap:.18rem;padding:.45rem}.music-player-active #player .player-controls .icon-button{width:2rem;height:2rem}.music-player-active #player .player-controls .icon-button.play-main{width:2.75rem;height:2.75rem}}@media (prefers-reduced-motion: reduce){.music-player-active #player,.music-player-active #player .player-art img,.music-player-active #player .player-info,.music-player-active #player .player-timeline,.music-player-active #player .player-controls{animation:none}}.visual-grid{margin-top:.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem}.visual-card{background:#0b1223;border:1.5px solid rgba(255,255,255,.5)!important;border-radius:.85rem;overflow:hidden;transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1),border-color .32s ease;will-change:transform;content-visibility:auto;contain-intrinsic-size:auto 300px}.visual-card.is-selected{border-color:#38bdf8bf!important;box-shadow:0 0 0 1px #38bdf838,0 12px 32px #00000073}.photo-card-media{position:relative;overflow:hidden}.photo-card-footer{display:flex;align-items:center;gap:.45rem;padding:.4rem .65rem .45rem}.photo-card-footer .visual-meta{flex:1 1 auto;min-width:0}.photo-card-footer .visual-title{line-height:1.35;font-size:.78rem}.photo-select-control{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;border-radius:999px;background:#020617b8;border:1px solid rgba(148,163,184,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 22px #00000059;cursor:pointer;opacity:0;pointer-events:none;transition:transform .18s ease,border-color .18s ease,background .18s ease,opacity .2s ease}.photo-select-control.selected,.selection-mode-active .photo-select-control{opacity:1;pointer-events:auto}.photo-select-control:hover{transform:scale(1.04);border-color:#38bdf8bf;background:#0f172ae6}.photo-select-control input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none}.photo-select-box{width:.65rem;height:.65rem;border-radius:.15rem;display:inline-flex;align-items:center;justify-content:center;color:#e0f2fe}@keyframes photo-selection-dialog-show{0%{opacity:0;transform:translate(-50%,2.25rem) scale(.96);filter:blur(10px)}60%{opacity:1}to{opacity:1;transform:translate(-50%) scale(1);filter:blur(0)}}@keyframes photo-selection-dialog-show-mobile{0%{opacity:0;transform:translateY(2.25rem) scale(.96);filter:blur(10px)}60%{opacity:1}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.photo-selection-dialog{position:fixed;left:50%;bottom:1.25rem;transform:translate(-50%);z-index:10020;display:flex;align-items:center;gap:1rem;padding:.95rem 1.1rem;border-radius:1rem;background:#020617e0;color:#f8fafc;border:1px solid rgba(148,163,184,.22);box-shadow:0 18px 40px #00000073,0 0 0 1px #38bdf814;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:photo-selection-dialog-show .46s cubic-bezier(.16,1,.3,1) both;will-change:opacity,transform,filter}.photo-selection-copy{display:flex;align-items:baseline;gap:.45rem;white-space:nowrap}.photo-selection-copy strong{font-size:1.1rem;color:#7dd3fc}.photo-selection-actions{display:flex;align-items:center;gap:.6rem}.photo-selection-close-button{width:2.3rem;height:2.3rem;padding:0;flex:0 0 auto;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff5f5}.photo-selection-close-button:hover{background:linear-gradient(135deg,#f87171,#ef4444);color:#fff;box-shadow:0 10px 22px #dc262659}.photo-selection-close-button:active{transform:translateY(0);box-shadow:none}.photo-selection-close-button svg{width:1rem;height:1rem}.photo-selection-download-button{width:2.3rem;height:2.3rem;padding:0;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#38bdf8,#0ea5e9);color:#03111f;box-shadow:none}.photo-selection-download-button:hover{background:linear-gradient(135deg,#7dd3fc,#38bdf8);box-shadow:0 10px 22px #0ea5e959}.photo-selection-download-button:active{transform:translateY(0);box-shadow:none}.photo-selection-download-button svg{flex:0 0 auto;width:1rem;height:1rem}.photo-selection-nav{display:flex;align-items:center;gap:.35rem;background:#ffffff0a;padding:.2rem;border-radius:999px;border:1px solid rgba(255,255,255,.05)}.photo-selection-nav-btn{width:2.1rem;height:2.1rem;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#94a3b8;border-radius:50%;transition:all .2s ease}.photo-selection-nav-btn:hover:not(:disabled){background:#38bdf824;color:#38bdf8}.photo-selection-nav-btn:active:not(:disabled){transform:scale(.95)}.photo-selection-nav-btn:disabled{opacity:.25;cursor:not-allowed}.photo-selection-nav-btn svg{width:1rem;height:1rem}@keyframes pulseHighlight{0%{box-shadow:0 0 #38bdf8cc,0 12px 32px #000000b3;transform:scale(1.025) translateY(-6px)}70%{box-shadow:0 0 0 12px #38bdf800,0 12px 32px #000000b3;transform:scale(1.025) translateY(-6px)}to{box-shadow:0 0 #38bdf800,0 12px 32px #000000b3;transform:scale(1) translateY(0)}}.visual-card.nav-highlighted{border-color:#38bdf8!important;animation:pulseHighlight 1.5s cubic-bezier(.25,1,.5,1) forwards;z-index:5}@media (max-width: 640px){.photo-selection-dialog{left:.75rem;right:auto;bottom:1.5rem;transform:none;width:max-content;max-width:calc(100vw - 5.5rem);gap:.75rem;padding:.7rem .8rem;border-radius:.9rem;animation:photo-selection-dialog-show-mobile .46s cubic-bezier(.16,1,.3,1) both}.photo-selection-copy{min-width:0;gap:.35rem}.photo-selection-copy strong,.photo-selection-copy span{font-size:.84rem}.photo-selection-actions{gap:.45rem}.photo-selection-close-button{width:2rem;height:2rem}.photo-selection-download-button{width:2rem;height:2rem;padding:0}.photo-selection-download-button svg{width:.9rem;height:.9rem}.photo-selection-nav-btn{width:1.8rem;height:1.8rem}}.visual-card:hover{transform:translateY(-6px) scale(1.025);border-color:#38bdf873!important;box-shadow:0 12px 32px #00000073,0 0 0 1px #38bdf826,0 0 20px #38bdf814}.visual-card:active{transform:translateY(-2px) scale(1.01);transition-duration:.1s}.visual-card a{text-decoration:none}.visual-card img,.visual-card video{width:100%;display:block;background:#020617;transition:transform .45s cubic-bezier(.22,1,.36,1),filter .45s ease}.photo-card-media:hover img,.photo-card-media:hover video{transform:scale(1.06);filter:brightness(1.08)}.visual-image-card img{aspect-ratio:4 / 5;object-fit:cover;transform-origin:top center}.photo-card-media:hover img{transform:scale(1.18);filter:brightness(1.06)}@keyframes photoCardFadeIn{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.visual-image-card{animation:photoCardFadeIn .45s cubic-bezier(.22,1,.36,1) both}@keyframes photoShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.visual-image-card img[data-loading=true]{background:linear-gradient(90deg,#0b1223 25%,#162033,#0b1223 75%);background-size:200% 100%;animation:photoShimmer 1.5s ease-in-out infinite}.visual-image-card img{transition:transform .45s cubic-bezier(.22,1,.36,1),filter .45s ease,opacity .4s ease}.visual-image-card img.photo-loaded{opacity:1}.visual-image-card .visual-meta{transition:opacity .35s ease,transform .35s cubic-bezier(.22,1,.36,1)}.visual-image-card .photo-card-footer:hover .visual-meta{opacity:1;transform:none}.visual-image-card .photo-card-footer:hover .photo-select-control{border-color:#38bdf8bf;background:#0f172ae6}.visual-card:hover .visual-title{color:#f0f9ff}.visual-video-card video{aspect-ratio:16 / 9;object-fit:contain}@media (max-width: 385px){.player-title,.player-artist,#current-title,#current-artist,#video-current-title,#video-current-folder{max-width:100%}.player-title-button,.player-artist,#video-current-folder{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}}.photo-overlay-img{will-change:transform,opacity}@keyframes photoSlideFromRight{0%{opacity:0;transform:translate(60px) scale(.97)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes photoSlideFromLeft{0%{opacity:0;transform:translate(-60px) scale(.97)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes photoOverlayFadeIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.photo-slide-from-right{animation:photoSlideFromRight .3s cubic-bezier(.22,1,.36,1) both}.photo-slide-from-left{animation:photoSlideFromLeft .3s cubic-bezier(.22,1,.36,1) both}.photo-fade-in{animation:photoOverlayFadeIn .35s cubic-bezier(.22,1,.36,1) both}.photo-overlay-icon-button{position:absolute;top:1rem;width:3.35rem;height:3.35rem;border-radius:50%;padding:0;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;z-index:1002;box-shadow:none}.photo-overlay-icon-button:hover{background-color:#ffffff1f!important;box-shadow:none;transform:none}.photo-overlay-icon-button:active{transform:none;box-shadow:none}.photo-overlay-icon-button svg{width:1.6rem;height:1.6rem;stroke-width:2.75}.photo-overlay-close-button{right:1rem}.photo-overlay-save-button{right:4.9rem}.photo-overlay-copy-button{right:8.8rem}.copied-toast{position:absolute;bottom:7.5rem;left:50%;transform:translate(-50%);background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:.6rem 1.25rem;border-radius:999px;font-size:.9rem;font-weight:500;box-shadow:0 8px 32px #00000080,0 0 0 1px #ffffff26;z-index:1010;animation:toastFadeInUp .3s cubic-bezier(.22,1,.36,1) both;pointer-events:none}@keyframes toastFadeInUp{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.visual-meta{padding:.55rem .65rem .7rem}.visual-title{font-size:.85rem;line-height:1.25;color:#e5e7eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-player-container{margin-bottom:.9rem;border:1.2px solid rgba(255,255,255,.5)!important;border-radius:.9rem;overflow:hidden;background:#000;position:relative}.video-player-container.video-player-fullscreen{border-radius:0;border:none!important;display:flex;flex-direction:column;width:100%;height:100dvh;min-height:100dvh;background:#000}.video-player-container.video-player-window-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;margin:0;border-radius:0;border:none!important;display:flex;flex-direction:column;height:100dvh;background:#000}.video-screen-area{position:relative;display:flex;align-items:center;justify-content:center;background:#000;touch-action:none}.ambient-canvas{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:130%;height:130%;object-fit:cover;filter:blur(80px) saturate(1.6);opacity:0;pointer-events:none;z-index:0;will-change:filter,opacity;transition:opacity .6s ease}.ambient-canvas.ambient-canvas--image{background-size:cover;background-position:center}.video-player-fullscreen .ambient-canvas.ambient-canvas-active,.video-player-window-fullscreen .ambient-canvas.ambient-canvas-active,.video-player-container:fullscreen .ambient-canvas.ambient-canvas-active,.video-player-container:-webkit-full-screen .ambient-canvas.ambient-canvas-active{opacity:.45}.video-player-container.video-normal-ambient:not(.video-player-fullscreen):not(.video-player-window-fullscreen) .ambient-canvas.ambient-canvas-active{opacity:.42}@media (prefers-reduced-motion: reduce){.ambient-canvas{transition:none}}.video-screen-area video{position:relative;z-index:1}.video-shortcut-hint{position:absolute;left:50%;bottom:1rem;transform:translate(-50%);z-index:12;padding:.4rem .8rem;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#020617ad;color:#f8fafc;font-size:.8rem;font-weight:600;letter-spacing:.02em;pointer-events:none;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:video-shortcut-hint-in .14s ease-out}@keyframes video-shortcut-hint-in{0%{opacity:0;transform:translate(-50%) translateY(5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.video-player-container video{width:100%;max-height:46vh;max-height:46dvh;display:block;background:transparent;object-fit:contain;cursor:pointer}.video-player-container.video-normal-ambient:not(.video-player-fullscreen):not(.video-player-window-fullscreen) .video-screen-area{overflow:hidden}.video-player-container.video-normal-ambient:not(.video-player-fullscreen):not(.video-player-window-fullscreen) .video-screen-area video{width:auto;height:46vh;height:46dvh;max-width:100%;max-height:46vh;max-height:46dvh;aspect-ratio:var(--video-aspect-ratio);background:transparent}.video-screen-area,.video-screen-area video{-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:none}.video-player-fullscreen .video-screen-area,.video-player-window-fullscreen .video-screen-area{flex:1 1 auto;min-height:0;overflow:hidden}.video-player-container:fullscreen .video-screen-area,.video-player-container:-webkit-full-screen .video-screen-area{flex:1 1 auto;min-height:0;overflow:hidden}.video-player-fullscreen .video-screen-area video,.video-player-window-fullscreen .video-screen-area video{width:100%!important;height:100%!important;aspect-ratio:auto;max-width:none!important;max-height:none!important;min-width:0;min-height:0;object-fit:contain!important;object-position:center center;margin:0}.video-player-container:fullscreen .video-screen-area video,.video-player-container:-webkit-full-screen .video-screen-area video,.video-player-container .video-screen-area video:fullscreen,.video-player-container .video-screen-area video:-webkit-full-screen{width:100vw!important;height:100vh!important;height:100dvh!important;aspect-ratio:auto;max-width:none!important;max-height:none!important;min-width:0;min-height:0;object-fit:contain!important;object-position:center center;background:transparent;margin:0}.video-play-overlay{position:absolute;left:50%;top:50%;width:4.25rem;height:4.25rem;display:flex;align-items:center;justify-content:center;background:#0206177a;border:none;border-radius:999px;padding:0;cursor:pointer;color:#ffffffd9;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .2s ease,opacity .4s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1);z-index:5}.video-play-overlay.overlay-visible{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.video-play-overlay:hover{background:#0206179e;color:#fff;box-shadow:0 .6rem 1.4rem #00000059;transform:translate(-50%,-50%) scale(1.05)}.video-play-overlay svg{width:2.1rem;height:2.1rem;transition:transform .35s cubic-bezier(.22,1,.36,1)}.video-play-overlay:active svg{transform:scale(.88)}.video-player-container .video-player-footer{margin-top:0;border-top-left-radius:0;border-top-right-radius:0;border-top:none;box-shadow:none;overflow:visible;background:#020617;position:relative;z-index:10}.video-player-container .video-player-footer:not(.video-footer-floating){border:none}.video-player-footer .player-content{padding:.8rem 1.25rem 1rem;gap:.6rem}.video-player-footer .player-main,.video-player-footer .player-info,.video-player-footer .player-timeline,.video-player-footer .player-controls-row{gap:.4rem}.video-player-footer .player-title{font-size:1.1rem;line-height:1.2}.video-player-footer .player-artist{font-size:.75rem}.video-player-footer .player-background{display:none}.video-player-footer .player-overlay{top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(to bottom right,#0f172af5,#020617fa)}.video-player-container .video-footer-floating{position:absolute;bottom:1.5rem;left:0;right:0;margin:0 auto;width:640px;max-width:calc(100vw - 2rem);z-index:20;border-radius:1.25rem;border:1px solid rgba(255,255,255,.12);background:#02061773;-webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6);box-shadow:0 8px 32px #0009,0 0 0 1px #ffffff0f inset;opacity:1;transform:translateY(0) scale(1);transform-origin:50% 100%;filter:blur(0);will-change:opacity,transform,filter;transition:opacity .34s ease,transform .48s cubic-bezier(.16,1,.3,1),filter .34s ease,backdrop-filter .45s ease}.video-player-container .video-footer-floating .player-overlay{background:transparent}.video-footer-floating:not(.video-footer-hidden){animation:video-controls-panel-show .46s cubic-bezier(.16,1,.3,1) both}.video-footer-floating .player-content{animation:video-controls-content-show .42s cubic-bezier(.16,1,.3,1) .04s both;height:100%;display:flex;flex-direction:column;justify-content:center}.video-footer-floating .player-info{align-items:flex-start;text-align:left;overflow:hidden;max-width:100%}.video-footer-floating .player-title{overflow:hidden;max-width:100%}.video-footer-floating .player-title-button,.video-footer-floating .player-artist{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%}@media (orientation: portrait){.video-footer-floating .player-content,.video-footer-floating .player-controls{gap:1.25rem}.video-footer-floating .player-left-actions,.video-footer-floating .player-side-actions{gap:.85rem}.video-footer-floating .player-controls .icon-button,.video-footer-floating .player-left-actions .icon-button,.video-footer-floating .player-side-actions .icon-button{padding-inline:.85rem}}.video-footer-floating .player-background{opacity:.25}.video-footer-floating .player-overlay{background:radial-gradient(circle at top left,rgba(56,189,248,.08),transparent 55%),linear-gradient(to bottom right,#00000026,#00000040)}.video-footer-hidden{pointer-events:none!important;animation:video-controls-panel-hide .28s cubic-bezier(.7,0,.84,0) both}.video-footer-hidden .player-content{animation:video-controls-content-hide .2s ease both}@keyframes video-controls-panel-show{0%{opacity:0;transform:translateY(2.25rem) scale(.96);filter:blur(10px)}60%{opacity:1}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes video-controls-panel-hide{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(2.25rem) scale(.96);filter:blur(8px)}}@keyframes video-controls-content-show{0%{opacity:0;transform:translateY(.45rem)}to{opacity:1;transform:translateY(0)}}@keyframes video-controls-content-hide{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(.35rem)}}@media (prefers-reduced-motion: reduce){.video-footer-floating,.video-footer-floating:not(.video-footer-hidden),.video-footer-floating:not(.video-footer-hidden) .player-content,.video-footer-hidden .player-content,.video-footer-hidden{animation:none;transition:opacity .12s ease;filter:none}.video-footer-hidden{opacity:0;transform:translateY(1.25rem) scale(1)!important}}.video-player-fullscreen.video-cursor-hidden,.video-player-window-fullscreen.video-cursor-hidden{cursor:none}.connect-card{position:relative;overflow:hidden}.connect-shell{width:100%;max-width:1160px}.connect-layout{position:relative;display:flex;gap:2rem;align-items:stretch}.connect-header{display:flex;align-items:center;gap:1.25rem;margin-bottom:.75rem}.connect-header h1{margin:0;line-height:1.2}.connect-logo{width:64px;height:64px;border-radius:1.1rem;object-fit:cover;flex-shrink:0;box-shadow:0 8px 24px #0006;border:1px solid rgba(255,255,255,.1)}.connect-left,.connect-right{position:relative;z-index:1}.connect-left{flex:1.4 1 280px}.connect-right{flex:1 1 280px;display:flex;flex-direction:column;justify-content:flex-end}.connect-pill{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:#0f172ad9;border:1px solid rgba(148,163,184,.6);color:#e5e7eb;margin-bottom:.9rem}.connect-feature-list{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.25rem}.connect-feature-list li{padding-left:0}.connect-feature-title{display:block;font-size:.9rem;font-weight:600}.connect-feature-desc{display:block;margin-top:.15rem;font-size:.8rem;color:#9ca3af}.connect-panel{background:radial-gradient(circle at top left,#0f172af2,#020617fa);border-radius:1rem;padding:1.5rem 1.4rem 1.4rem;border:2px solid rgba(255,255,255,.12);box-shadow:none}.connect-panel h2{margin:0 0 .35rem;font-size:1.1rem}.connect-panel-subtitle{margin:0 0 1rem;font-size:.85rem;color:#9ca3af}.connect-steps{margin-top:1.5rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;font-size:.8rem}.connect-step{display:flex;gap:.6rem;padding:.6rem .7rem;border-radius:.9rem;background:#0f172ae6;border:1px solid rgba(30,64,175,.5)}.quick-connect{margin-top:1.5rem;margin-bottom:0;padding:1.1rem 0;display:flex;align-items:center;gap:1.25rem;border-top:1px solid rgba(255,255,255,.05);animation:alertIn .8s ease-out}.quick-connect-label{font-size:.7rem;font-weight:800;color:#475569;text-transform:uppercase;letter-spacing:.15em;white-space:nowrap}.quick-connect-list{display:flex;gap:.75rem;overflow-x:auto;overscroll-behavior-x:none;scrollbar-width:none;padding:.5rem 0}.quick-connect-list::-webkit-scrollbar{display:none}.quick-connect-item-wrapper{flex:0 0 auto;display:flex;align-items:center;background:#1e40af1f;border:1px solid rgba(56,189,248,.15);border-radius:999px;transition:all .25s ease}.quick-connect-item-wrapper:hover{background:#1e40af33;border-color:#38bdf866;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.quick-connect-item{background:transparent;border:none;color:#38bdf8;padding:.4rem .5rem .4rem 1.1rem;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap}.quick-connect-item:hover{background:transparent;box-shadow:none;transform:none}.quick-connect-remove{background:transparent;border:none;color:#64748b;padding:.4rem .8rem .4rem .3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s}.quick-connect-remove:hover{background:transparent;box-shadow:none;transform:none;color:#f87171}.connect-step-number{width:1.6rem;height:1.6rem;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;background:#22c55e;color:#022c22;flex-shrink:0}.connect-step-title{font-weight:600}.connect-step-text{margin-top:.1rem;color:#9ca3af}.connect-step-body{display:flex;flex-direction:column}.connect-credit{margin-top:1.75rem;text-align:center}.connect-credit-text{margin:0;font-size:.8rem;color:#9ca3af}.connect-credit-links{margin-top:.5rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.connect-credit-links a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:transparent;color:#e5e7eb;text-decoration:none}.connect-credit-icon svg{width:20px;height:20px}.connect-credit-icon.youtube{color:#dc2626}.connect-credit-icon.facebook{color:#60a5fa}.connect-credit-icon.instagram{color:#ec4899}.connect-credit-icon.twitter{color:#06b6d4}.connect-credit-icon.github{color:#e5e7eb}.connect-credit-email{margin-top:.75rem;display:flex;justify-content:center;align-items:center;gap:.4rem;font-size:.9rem}.connect-credit-email-icon{width:20px;height:20px;color:#22c55e}.connect-credit-email a{color:#22c55e;text-decoration:none}@media (max-width: 900px){.connect-layout{flex-direction:column}.connect-feature-list,.connect-steps{grid-template-columns:1fr}.connect-download-row{flex-direction:column;align-items:stretch;width:100%;max-width:420px}.connect-download-row a{width:100%;box-sizing:border-box}}.connect-extra{margin-top:2rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.connect-download-row{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.connect-android-link{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.5rem;border-radius:999px;border:1px solid rgba(34,197,94,.7);background:#052e16b3;color:#bbf7d0;font-size:.9rem;font-weight:600;text-decoration:none;box-shadow:0 12px 30px #22c55e40}.connect-desktop-link{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.5rem;border-radius:999px;border:1px solid rgba(59,130,246,.8);background:#0f172ae6;color:#bfdbfe;font-size:.9rem;font-weight:600;text-decoration:none;box-shadow:0 12px 30px #3b82f659}.repo-link{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.5rem;border-radius:999px;border:1px solid rgba(246,59,59,.8);background:#0f172ae6;color:#f8a0a0;font-size:.9rem;font-weight:600;text-decoration:none;box-shadow:0 12px 30px #f63b3b59}.connect-guide-grid{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.connect-guide-item{margin:0;padding:.9rem;border-radius:1rem;background:#0f172ae6;border:1px solid rgba(30,64,175,.6);box-shadow:0 14px 35px #0f172ae6;font-size:.8rem;color:#e5e7eb;display:flex;flex-direction:column}.connect-guide-item img{width:100%;border-radius:.75rem;display:block;margin-bottom:.6rem}.connect-guide-img-step1{width:90%;margin-inline:auto}.connect-guide-img-windows{width:80%;margin:.4rem auto .2rem}.connect-guide-stack{display:flex;flex-direction:column;justify-content:space-between;gap:.7rem;flex:1}.connect-guide-step-text{margin:.2rem 0 0;font-size:.8rem;color:#9ca3af}.connect-guide-step-text a{color:#38bdf8;text-decoration:none}.connect-guide-note{margin:.3rem 0 0;font-size:.78rem;color:#6b7280}.connect-guide-item figcaption{color:#9ca3af}.connect-keyboard-guide{--keycap-size: 72px;--keycap-gap: 10px;--spacebar-width: calc(var(--keycap-size) * 5 + var(--keycap-gap) * 4);padding:1.5rem 1rem;background:#0f172a66;border:1px solid rgba(255,255,255,.05);border-radius:.75rem;box-shadow:inset 0 1px 2px #0000004d;width:100%;box-sizing:border-box}.connect-keyboard-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;margin-bottom:1rem;text-align:center}.keyboard-container{display:flex;flex-direction:column;gap:var(--keycap-gap);align-items:center}.keyboard-row{display:flex;gap:var(--keycap-gap);justify-content:center;width:100%}.keycap{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;width:var(--keycap-size);height:var(--keycap-size);padding:calc(var(--keycap-size) * .12) calc(var(--keycap-size) * .05) calc(var(--keycap-size) * .08);background:linear-gradient(180deg,#1e293b,#0f172a);border:1.5px solid rgba(255,255,255,.12);border-bottom:calc(var(--keycap-size) * .08) solid rgba(0,0,0,.75);border-radius:8px;box-shadow:0 4px 8px #00000059,inset 0 1px #ffffff26;color:#f3f4f6;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .1s ease;box-sizing:border-box}.keycap:hover{transform:translateY(1px);border-bottom-width:calc(var(--keycap-size) * .05);border-color:#38bdf8;box-shadow:0 2px 4px #38bdf833,0 0 8px #38bdf866}.keycap:active{transform:translateY(3px);border-bottom-width:1.5px;box-shadow:0 0 3px #38bdf866}.keycap.spacebar{width:var(--spacebar-width);height:calc(var(--keycap-size) * .65);flex-direction:row;justify-content:center;gap:12px;align-items:center;padding-inline:20px}.key-char{font-family:inherit;font-weight:800;font-size:calc(var(--keycap-size) * .25);color:#38bdf8;text-shadow:0 0 6px rgba(56,189,248,.25);line-height:1}.keycap.spacebar .key-char{font-size:calc(var(--keycap-size) * .18);text-transform:uppercase;letter-spacing:.05em}.key-icon-wrapper{display:inline-flex;align-items:center;justify-content:center;color:#e5e7eb}.key-icon-wrapper svg{display:block;width:calc(var(--keycap-size) * .24)!important;height:calc(var(--keycap-size) * .24)!important}.spacebar-icons{gap:6px;opacity:.85}.spacebar-icons svg{width:calc(var(--keycap-size) * .2)!important;height:calc(var(--keycap-size) * .2)!important}.key-label{font-size:clamp(.55rem,calc(var(--keycap-size) * .12),.85rem);font-weight:600;color:#9ca3af;text-transform:uppercase;white-space:nowrap;line-height:1}.keycap.spacebar .key-label{font-size:clamp(.68rem,calc(var(--keycap-size) * .15),.95rem);color:#9ca3af}@media (max-width: 640px){.connect-keyboard-guide{--keycap-size: 46px;--keycap-gap: 5px;padding:.85rem .5rem}}@media (max-width: 900px){.connect-guide-grid{grid-template-columns:1fr}}.connect-showcase{margin:4.5rem 0 2rem;display:flex;flex-direction:column;gap:6rem}.showcase-item{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:4rem}.showcase-item.reverse{grid-template-columns:.9fr 1.1fr}.showcase-item.reverse .showcase-content{order:2}.showcase-item.reverse .showcase-image-wrapper{order:1}.showcase-badge{display:inline-flex;padding:.35rem .85rem;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1.25rem}.music-section .showcase-badge{background:#a855f726;color:#a855f7}.video-section .showcase-badge{background:#38bdf826;color:#38bdf8}.photo-section .showcase-badge{background:#22c55e26;color:#22c55e}.showcase-content h3{font-size:2.25rem;line-height:1.2;margin-bottom:1.25rem;color:#f8fafc;font-weight:700}.showcase-content p{font-size:1.05rem;color:#94a3b8;line-height:1.7;margin-bottom:1.75rem}.showcase-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.showcase-features li{display:flex;align-items:center;gap:.6rem;font-size:.95rem;color:#cbd5e1}.showcase-features li:before{content:"✓";font-weight:700}.music-section .showcase-features li:before{color:#a855f7}.video-section .showcase-features li:before{color:#38bdf8}.photo-section .showcase-features li:before{color:#22c55e}.showcase-image-wrapper{position:relative;border-radius:1.5rem;padding:.6rem;box-shadow:0 30px 60px -12px #000000b3,0 0 0 1px #ffffff0d}.music-section .showcase-image-wrapper{background:linear-gradient(135deg,#a855f740,#0f172a4d)}.video-section .showcase-image-wrapper{background:linear-gradient(135deg,#38bdf840,#0f172a4d)}.photo-section .showcase-image-wrapper{background:linear-gradient(135deg,#22c55e40,#0f172a4d)}.showcase-image-wrapper img{width:100%;border-radius:1rem;display:block}@media (max-width: 900px){.connect-showcase{gap:5rem}.showcase-item.hero{margin-bottom:2rem}.showcase-item,.showcase-item.reverse{grid-template-columns:1fr;gap:2rem;text-align:left}.showcase-item.reverse .showcase-content{order:1}.showcase-image-wrapper.hero-wrapper{background:linear-gradient(135deg,#a855f740,#0f172a4d);box-shadow:0 40px 80px -15px #000c,0 0 0 1px #ffffff0d}.showcase-item.reverse .showcase-image-wrapper{order:2}.showcase-features{align-items:flex-start}.showcase-content h3{font-size:1.85rem}}.back-to-top{position:fixed;bottom:2rem;right:2rem;width:4.5rem;height:4.5rem;padding:0;background:linear-gradient(135deg,#38bdf8,#0ea5e9);color:#0f172a;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:999;box-shadow:0 8px 30px #0ea5e966,0 0 0 1px #ffffff1a;transition:all .4s cubic-bezier(.175,.885,.32,1.275);opacity:0;transform:translateY(20px) scale(.8);pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.back-to-top.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.back-to-top:hover{background:linear-gradient(135deg,#7dd3fc,#38bdf8);transform:translateY(-5px) scale(1.05);box-shadow:0 12px 40px #0ea5e980,0 0 0 1px #fff3}.back-to-top:hover svg{transform:translateY(-2px)}.back-to-top svg{width:2.2rem!important;height:2.2rem!important;min-width:2.2rem;min-height:2.2rem;stroke-width:2.5px;transition:transform .2s ease}.back-to-top:active{transform:translateY(0) scale(.95)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-item{pointer-events:none}.skeleton-art{background:linear-gradient(90deg,#1e293b80 25%,#33415580,#1e293b80 75%);background-size:200% 100%;animation:shimmer 2s infinite linear;border-radius:8px}.skeleton-text{background:linear-gradient(90deg,#1e293b80 25%,#33415580,#1e293b80 75%);background-size:200% 100%;animation:shimmer 2s infinite linear;border-radius:4px}.skeleton-item .title-skeleton{width:60%;height:1.1rem;margin-bottom:.5rem}.skeleton-item .artist-skeleton{width:40%;height:.85rem}.skeleton-item .meta-skeleton{width:20%;height:.85rem}.skeleton-action{width:32px;height:32px;border-radius:50%;background:linear-gradient(90deg,#1e293b80 25%,#33415580,#1e293b80 75%);background-size:200% 100%;animation:shimmer 2s infinite linear}.skeleton-card{pointer-events:none;background:linear-gradient(135deg,#17255473,#0f172a99);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(56,189,248,.15)}.skeleton-card .skeleton-image{aspect-ratio:4 / 5;background:linear-gradient(90deg,#1e293b80 25%,#33415580,#1e293b80 75%);background-size:200% 100%;animation:shimmer 2s infinite linear}.skeleton-card .visual-meta .title-skeleton{width:80%;height:1rem;margin-top:.5rem}@media (max-width: 1376px),(max-height: 1376px){body{font-size:14px}.page{padding:1.5rem .9rem 2rem}.card{padding:1.5rem 1.2rem}.top-bar{padding:.6rem .9rem}.desktop-only{display:flex!important}.top-bar h1{font-size:1.05rem}.server-label{font-size:.7rem}.app-icon{width:34px;height:34px;border-radius:10px}.menu-button{width:34px;height:34px}.button-link,button{padding:.6rem 1.1rem;font-size:.85rem}.media-nav .nav-item{padding:.4rem .85rem;font-size:.8rem}.toolbar-row{gap:.4rem}.music-item{min-height:50px;padding:.32rem .4rem}.music-title{font-size:.8rem}.music-details{font-size:.68rem}.player{margin-top:1.1rem}.player-title{font-size:1.1rem}.player-artist{font-size:.75rem}.player-controls{gap:.6rem}.player-controls .icon-button{padding:.25rem .45rem}.player-controls .icon-button.play-main{padding-inline:.85rem;padding-block:.4rem}.player-controls svg{width:.95rem;height:.95rem}.player-controls .play-main svg{width:1.1rem;height:1.1rem}}@media (max-width: 1133px) and (max-height:1133px){.page{padding-top:1.1rem}}@media (max-width: 950px) and (max-height:950px){.desktop-only{display:none!important}.mobile-only{display:flex!important}}@media (max-width: 640px){.photo-fullview-img{max-width:98vw;max-height:60vh}.close-btn,.nav-btn{width:2.2rem;height:2.2rem;font-size:1.4rem;top:1.1rem;left:1.1rem;right:1.1rem}.nav-btn.prev{left:1.1rem;top:50%}.nav-btn.next{right:1.1rem;top:50%}.page{padding:1rem 1.5rem 2rem}.top-bar{padding:.45rem .85rem;gap:.5rem}.desktop-only{display:none!important}.mobile-only{display:flex!important}.search-row{flex:1 1 100%}.sort-row{justify-content:flex-end;flex:1 1 100%}.toolbar-row:not(.search-active) .search-row{display:none!important}.toolbar-row.search-active .sort-row{display:none!important}.search-toggle-button{display:inline-flex!important;background:transparent!important;border:none!important;color:#94a3b8!important;width:2.2rem!important;height:2.2rem!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;box-shadow:none!important;transform:none!important;padding:0!important;border-radius:50%!important}.search-toggle-button:hover{background:#ffffff14!important;color:#fff!important}.search-back-button{display:inline-flex!important;background:transparent!important;border:none!important;color:#94a3b8!important;width:2.2rem!important;height:2.2rem!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;box-shadow:none!important;transform:none!important;padding:0!important;border-radius:50%!important}.search-back-button:hover{background:#ffffff14!important;color:#fff!important}.toolbar-row.search-active .search-row{flex:1 1 100%!important;display:flex!important}.music-item{gap:.4rem}.music-art{width:40px;height:40px;margin-right:.5rem}.video-top-title{font-size:1.1rem}.video-seekbar-row{gap:.45rem}.video-time-label{min-width:2.85rem;font-size:.75rem}#player{--player-pad: .5rem;--player-art-radius: .4rem}#player .player-content{display:flex;flex-direction:column;row-gap:.8rem;column-gap:0;padding:var(--player-pad);text-align:center}#player .player-main{display:flex;justify-content:flex-start;width:100%}#player .player-info{align-items:flex-start;text-align:left;grid-column:auto;grid-row:auto;flex:1;min-width:0}#player .player-art{grid-column:auto;grid-row:auto;width:56px;height:56px;aspect-ratio:auto;margin:0;border:1px solid rgba(255,255,255,.5)!important}#player .player-timeline,#player .player-controls{grid-column:auto;grid-row:auto}.player-content{padding:1.25rem 1.1rem 1.45rem;gap:1.1rem}.player-art{width:56px;height:56px}.player-title{font-size:.9rem}.player-artist{font-size:.7rem}.player-time{font-size:.75rem;min-width:2.6rem}.player-controls{gap:.9rem}.player-controls .icon-button{padding:.18rem .35rem}.player-controls .icon-button.play-main{padding-inline:.7rem;padding-block:.3rem}.player-controls svg{width:1rem;height:1rem}.player-controls .play-main svg{width:1.15rem;height:1.15rem}.video-player-footer .player-controls{gap:.5rem}.video-player-footer .icon-button{padding:.2rem .35rem}.video-player-footer .icon-button svg{width:1rem;height:1rem}.video-player-footer .play-main svg{width:1.2rem;height:1.2rem}.video-player-footer .player-left-actions,.video-player-footer .player-side-actions{gap:.15rem}.visual-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.visual-title{font-size:.78rem}.video-player-container:not(.video-player-fullscreen):not(.video-player-window-fullscreen) .video-screen-area{aspect-ratio:16 / 9!important;width:100%!important;height:auto!important}.video-player-container:not(.video-player-fullscreen):not(.video-player-window-fullscreen) .video-screen-area video{aspect-ratio:16 / 9!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important}.photo-overlay-icon-button{top:.65rem;width:3.1rem;height:3.1rem}.photo-overlay-close-button{right:.65rem}.photo-overlay-save-button{right:4.2rem}.photo-overlay-icon-button svg{width:1.45rem;height:1.45rem;stroke-width:2.9}.video-play-overlay{width:3.5rem;height:3.5rem}.video-play-overlay svg{width:1.75rem;height:1.75rem}.back-to-top{bottom:1.5rem;right:1.5rem;width:3.5rem;height:3.5rem}.back-to-top svg{width:1.8rem!important;height:1.8rem!important;min-width:1.8rem;min-height:1.8rem}body{font-size:14px}.card{padding:1.25rem 1rem}.top-bar-center{flex:0;min-width:0}.top-bar-right{gap:.35rem;flex-shrink:0}.media-nav .secondary{padding:.38rem .7rem;font-size:.8rem}.top-bar h1{font-size:1.05rem}.server-label{font-size:.7rem}.music-list-shell{align-items:stretch}.letter-nav{font-size:.65rem}input[type=url],input[type=search],input[type=text]{padding:.6rem .75rem;font-size:.85rem}select{padding:.6rem .75rem;font-size:.8rem}.music-title{font-size:.8rem}.video-player-footer .icon-button:not(.play-main){padding:.16rem .28rem}.video-player-footer .icon-button:not(.play-main) svg{width:.8rem;height:.8rem}}@media (max-width: 640px){#player .player-content{grid-template-columns:minmax(110px,138px) 1fr;column-gap:.8rem}}@media (max-width: 385px){.music-title{font-size:.75rem}.player-content{padding:.6rem .5rem .8rem;gap:.6rem}.player-art{width:42px;height:42px}.page{padding:.8rem 1.5rem!important}.card{padding:.8rem .6rem!important}.player-title,.player-title-button,.player-artist{font-size:.85rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block;width:100%}.player-artist{font-size:.65rem;opacity:.8}.player-controls .icon-button{padding:.12rem .25rem}.player-controls .icon-button.play-main{padding-inline:.55rem;padding-block:.22rem}.player-controls svg{width:.85rem;height:.85rem}.player-controls .play-main svg{width:1rem;height:1rem}}@media (max-width: 360px) and (max-height: 640px){#player .player-art,.player-art{width:38px;height:38px}.music-player-active #player .player-art{width:min(85vw,45dvh)!important;height:min(85vw,45dvh)!important;aspect-ratio:1 / 1!important}}@media (max-width: 640px){.media-page-container .music-page.music-player-active{padding:.5rem}.music-player-active .music-player-card{padding:.5rem!important}.music-player-active .toolbar-row,.music-player-active .music-list-shell{display:none}.music-player-active #player{flex:1 1 auto;min-height:0;margin-top:0}.music-player-active #player .player-content{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto auto;padding:1.25rem 1rem;gap:1.25rem;height:100%;min-height:0;text-align:center}.music-player-active #player .player-main{display:contents}.music-player-active #player .player-art{grid-column:1;grid-row:1;align-self:center;justify-self:center;display:flex;align-items:center;justify-content:center;width:min(85vw,45dvh)!important;height:min(85vw,45dvh)!important;aspect-ratio:1 / 1!important;padding:0;margin:0;border:1.5px solid rgba(255,255,255,.5)!important;--fullscreen-art-radius: clamp(.8rem, 4vw, 1.5rem);border-radius:var(--fullscreen-art-radius);box-shadow:0 15px 35px #0006!important;background:#020617!important;overflow:hidden;position:relative;-webkit-mask-image:-webkit-radial-gradient(white,black);mask-image:radial-gradient(#fff,#000)}.music-player-active #player .player-art img.player-art-foreground{position:relative;z-index:3;display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain;border-radius:calc(var(--fullscreen-art-radius, inherit) - 1.5px);clip-path:inset(0 round calc(var(--fullscreen-art-radius, inherit) - 1.5px));-webkit-mask-image:none;mask-image:none;box-shadow:none}.music-player-active #player .player-art img:not(.player-art-foreground){--fullscreen-art-radius: clamp(1rem, 4vw, 1.5rem);display:block;width:auto;height:auto;max-width:100%;max-height:45dvh;object-fit:contain;border-radius:var(--fullscreen-art-radius);clip-path:inset(0 round var(--fullscreen-art-radius));-webkit-mask-image:-webkit-radial-gradient(white,black);mask-image:-webkit-radial-gradient(white,black);box-shadow:0 15px 35px #0000004d}.music-player-active #player .player-info,.music-player-active #player .player-timeline,.music-player-active #player .player-controls{grid-column:1}.music-player-active #player .player-info{grid-row:2;align-items:flex-start;text-align:left;width:100%}.music-player-active #player .player-title-button{display:block;width:100%;text-align:left;border-radius:0!important;padding-right:5px}@media (max-width: 385px){.music-player-active #player .player-title,.music-player-active #player .player-title-button,.video-player-footer .player-title,#video-current-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}.music-player-active #player .player-timeline{grid-row:3}.music-player-active #player .player-controls{grid-row:4;width:100%;justify-content:space-evenly;gap:.2rem;padding:.45rem}.music-player-active #player .player-controls .icon-button{width:2rem;height:2rem;padding:0}.music-player-active #player .player-controls .icon-button.play-main{width:2.75rem;height:2.75rem;padding:0}@media (max-height: 700px){.music-player-active #player .player-content{padding:.8rem 1rem;gap:.6rem}.music-player-active #player .player-art img{max-height:42dvh}}}.marquee{position:relative!important;overflow:hidden!important;text-overflow:clip!important;white-space:nowrap!important;text-align:left!important;display:block!important;border-radius:0!important}.marquee .marquee-inner{display:inline-block!important;padding-left:100%!important;will-change:transform;animation:ls-marquee 15s linear infinite}@keyframes ls-marquee{0%{transform:translate(0)}to{transform:translate(-100%)}}@media (prefers-reduced-motion: reduce){.marquee .marquee-inner{animation:none}}@media (max-aspect-ratio: 1.2/1){.music-player-active #player .player-art{width:min(85vw,45dvh)!important;height:min(85vw,45dvh)!important;aspect-ratio:1 / 1!important}}@media (orientation: landscape) and (min-aspect-ratio: 1.2/1){.music-player-active #player .player-content{display:grid;grid-template-columns:1fr 1.3fr;grid-template-rows:1fr auto auto 1fr;column-gap:clamp(2.5rem,6vw,6rem);row-gap:.5rem;padding:clamp(2rem,4vw,4rem);align-items:center;max-width:1300px;margin:0 auto;width:100%}.music-player-active #player .player-art{grid-column:1!important;grid-row:1 / span 4!important;justify-self:center!important;align-self:center!important;width:min(42vw,70dvh,480px)!important;height:min(42vw,70dvh,480px)!important;aspect-ratio:1 / 1!important}.music-player-active #player .player-info{grid-column:2!important;grid-row:2!important;align-items:flex-start!important;text-align:left!important;margin-top:0!important;margin-bottom:.5rem!important;width:100%!important}.music-player-active #player .player-title-button{text-align:left!important;justify-content:flex-start!important}.music-player-active #player .player-timeline{grid-column:2!important;grid-row:3!important;width:100%!important;margin-block:.8rem!important}.music-player-active #player .player-controls{grid-column:2!important;grid-row:4!important;justify-self:center!important;width:100%!important;margin:0!important;padding:0!important;align-self:start!important;display:flex!important;justify-content:center!important}}@media (orientation: landscape) and (max-height: 580px) and (min-aspect-ratio: 1.2/1){.music-player-active #player .player-content{grid-template-columns:1fr 1.3fr;grid-template-rows:.5fr auto auto .5fr;column-gap:clamp(2rem,4vw,5rem);padding:clamp(1rem,3vw,2.5rem)}.music-player-active #player .player-art{width:min(40vw,75dvh,300px)!important;height:min(40vw,75dvh,300px)!important}.music-player-active #player .player-info{margin-bottom:.25rem!important}.music-player-active #player .player-timeline{margin-block:.4rem!important}}@media (orientation: landscape) and (min-width: 1500px) and (min-height: 820px){.music-player-active #player .player-content{max-width:1400px;grid-template-columns:1fr 1.6fr;column-gap:clamp(3rem,6vw,7rem);padding:clamp(3rem,5vw,5rem)}.music-player-active #player .player-art{width:min(44vw,75dvh,520px)!important;height:min(44vw,75dvh,520px)!important;--fullscreen-art-radius: clamp(1.4rem, 2.5vw, 2.2rem);border-radius:var(--fullscreen-art-radius);border:1.5px solid rgba(255,255,255,.5)!important}.music-player-active #player .player-info{margin-bottom:1rem!important}.music-player-active #player .player-title{font-size:clamp(1.4rem,2.2vw,1.8rem)!important}.music-player-active #player .player-artist{font-size:clamp(.95rem,1.4vw,1.15rem)!important;margin-top:.35rem!important}.music-player-active #player .player-timeline{margin-block:1.2rem!important}.music-player-active #player .player-time{font-size:.95rem!important;min-width:3.5rem!important}.music-player-active #player .player-controls{gap:.8rem!important;margin-top:.5rem!important}.music-player-active #player .player-controls .icon-button{width:3.2rem!important;height:3.2rem!important}.music-player-active #player .player-controls .icon-button.play-main{width:4rem!important;height:4rem!important}.music-player-active #player .player-controls svg{width:1.35rem!important;height:1.35rem!important}.music-player-active #player .player-controls .play-main svg{width:1.7rem!important;height:1.7rem!important}}@media (max-width: 380px){.music-page:not(.music-player-active) #player{border:1.5px solid rgba(56,189,248,.25)!important;border-radius:1rem!important;background:#0f172af2!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;margin-inline:.2rem!important;margin-bottom:.2rem!important;box-shadow:0 8px 32px #0000005c!important}.music-page:not(.music-player-active) #player .player-content{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:.4rem!important;padding:.35rem .5rem!important}.music-page:not(.music-player-active) #player .player-timeline{display:none!important}.music-page:not(.music-player-active) #player .player-main{display:flex!important;flex-direction:row!important;align-items:center!important;gap:.45rem!important;flex:1!important;min-width:0!important}.music-page:not(.music-player-active) #player .player-art{width:42px!important;height:42px!important;border-radius:.4rem!important;border:1px solid rgba(255,255,255,.15)!important}.music-page:not(.music-player-active) #player .player-info{align-items:flex-start!important;text-align:left!important;flex:1!important;min-width:0!important;gap:.05rem!important}.music-page:not(.music-player-active) #player .player-title{font-size:.7rem!important;font-weight:650!important;color:#fff!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;width:100%!important}.music-page:not(.music-player-active) #player .player-title-button{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important;width:100%!important;text-align:left!important}.music-page:not(.music-player-active) #player .player-artist{font-size:.6rem!important;color:#9ca3af!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;width:100%!important}.music-page:not(.music-player-active) #player .player-controls{display:flex!important;flex-direction:row!important;align-items:center!important;gap:.45rem!important;margin:0!important;padding:0!important;flex-shrink:0!important;width:auto!important;height:auto!important;background:transparent!important;border:none!important;box-shadow:none!important}.music-page:not(.music-player-active) #player #repeat-toggle,.music-page:not(.music-player-active) #player #rewind-10,.music-page:not(.music-player-active) #player #forward-10,.music-page:not(.music-player-active) #player #shuffle-toggle{display:none!important}.music-page:not(.music-player-active) #player #play-pause{background-color:#22c55e!important;color:#022c22!important;border-radius:50%!important;width:30px!important;height:30px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:none!important;box-shadow:0 0 8px #22c55e4d!important;padding:0!important;transform:none!important}.music-page:not(.music-player-active) #player #play-pause svg{width:12px!important;height:12px!important;fill:#022c22!important}.music-page:not(.music-player-active) #player #prev-track,.music-page:not(.music-player-active) #player #next-track{background:transparent!important;border:none!important;color:#e5e7eb!important;padding:0!important;width:22px!important;height:22px!important;display:flex!important;align-items:center!important;justify-content:center!important;transform:none!important}.music-page:not(.music-player-active) #player #prev-track svg,.music-page:not(.music-player-active) #player #next-track svg{width:14px!important;height:14px!important}.sort-row{gap:.2rem!important}.sort-row .sort-icon-button{width:1.85rem!important;height:1.85rem!important}.sort-label{white-space:nowrap!important}.sort-row select{padding:.25rem 1.45rem .25rem .45rem!important;font-size:.76rem!important;min-height:1.85rem!important;height:1.85rem!important;min-width:4.6rem!important}.sort-row .native-select-chevron{right:.4rem!important}.sort-row .native-select-chevron svg{width:.75rem!important;height:.75rem!important}.music-item{min-height:46px!important;padding:.2rem .35rem!important;contain-intrinsic-size:auto 46px!important}.music-art{width:30px!important;height:30px!important;margin-right:.4rem!important}.music-title{font-size:.76rem!important}.music-details{font-size:.64rem!important}.folder-header{margin-top:.5rem!important;padding:.25rem .4rem!important;font-size:.75rem!important;min-height:30px!important}}
