@import"https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;600;700&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.left-0{left:0}.right-0{right:0}.right-3{right:.75rem}.top-0{top:0}.top-1\/2{top:50%}.-ml-1{margin-left:-.25rem}.-ml-2{margin-left:-.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-3{margin-left:.75rem}.ml-6{margin-left:1.5rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.\!hidden{display:none!important}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[180px\]{height:180px}.h-auto{height:auto}.h-full{height:100%}.max-h-\[180px\]{max-height:180px}.min-h-\[180px\]{min-height:180px}.min-h-\[80px\]{min-height:80px}.w-1{width:.25rem}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[180px\]{width:180px}.w-\[var\(--sp-nav-width\)\]{width:var(--sp-nav-width)}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-\[1fr\,auto\]{grid-template-columns:1fr auto}.grid-cols-\[repeat\(auto-fit\,minmax\(64px\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(64px,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-4{column-gap:1rem}.gap-y-1{row-gap:.25rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-0{border-left-width:0px}.border-r{border-right-width:1px}.border-r-0{border-right-width:0px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-amber-300{--tw-border-opacity: 1;border-color:rgb(252 211 77 / var(--tw-border-opacity, 1))}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-primary\/50{border-color:hsl(var(--primary) / .5)}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-rose-200{--tw-border-opacity: 1;border-color:rgb(254 205 211 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-slate-400{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity, 1))}.border-slate-900{--tw-border-opacity: 1;border-color:rgb(15 23 42 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white\/30{border-color:#ffffff4d}.border-t-slate-600{--tw-border-opacity: 1;border-top-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.border-t-white{--tw-border-opacity: 1;border-top-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.bg-accent{background-color:hsl(var(--accent))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-background{background-color:hsl(var(--background))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/15{background-color:hsl(var(--primary) / .15)}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-rose-50{--tw-bg-opacity: 1;background-color:rgb(255 241 242 / var(--tw-bg-opacity, 1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/90{background-color:#ffffffe6}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-5{padding-left:1.25rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-\[calc\(var\(--sp-header-height\)\+4px\)\]{padding-top:calc(var(--sp-header-height) + 4px)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-\[10px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.tracking-\[0\.35em\]{letter-spacing:.35em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-current{color:currentColor}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-rose-700{--tw-text-opacity: 1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.caret-transparent{caret-color:transparent}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-emerald-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(52 211 153 / var(--tw-ring-opacity, 1))}.ring-primary{--tw-ring-color: hsl(var(--primary))}.ring-primary\/20{--tw-ring-color: hsl(var(--primary) / .2)}.ring-offset-2{--tw-ring-offset-width: 2px}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{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))}}@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))}}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.paused{animation-play-state:paused}:root{--background: 0 0% 100%;--foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 47.4% 11.2%;--card: 0 0% 100%;--card-foreground: 222.2 47.4% 11.2%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--ring: 215 20.2% 65.1%;--radius: .5rem}.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--ring: 216 34% 17%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.file\:mr-3::-webkit-file-upload-button{margin-right:.75rem}.file\:mr-3::file-selector-button{margin-right:.75rem}.file\:rounded-md::-webkit-file-upload-button{border-radius:calc(var(--radius) - 2px)}.file\:rounded-md::file-selector-button{border-radius:calc(var(--radius) - 2px)}.file\:border::-webkit-file-upload-button{border-width:1px}.file\:border::file-selector-button{border-width:1px}.file\:border-slate-200::-webkit-file-upload-button{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.file\:border-slate-200::file-selector-button{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.file\:bg-white::-webkit-file-upload-button{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.file\:bg-white::file-selector-button{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.file\:px-3::-webkit-file-upload-button{padding-left:.75rem;padding-right:.75rem}.file\:px-3::file-selector-button{padding-left:.75rem;padding-right:.75rem}.file\:py-2::-webkit-file-upload-button{padding-top:.5rem;padding-bottom:.5rem}.file\:py-2::file-selector-button{padding-top:.5rem;padding-bottom:.5rem}.file\:text-sm::-webkit-file-upload-button{font-size:.875rem;line-height:1.25rem}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::-webkit-file-upload-button{font-weight:500}.file\:font-medium::file-selector-button{font-weight:500}.hover\:border-rose-500:hover{--tw-border-opacity: 1;border-color:rgb(244 63 94 / var(--tw-border-opacity, 1))}.hover\:border-slate-400:hover{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity, 1))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-amber-50:hover{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-amber-700:hover{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-slate-600:hover{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.hover\:text-slate-700:hover{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.hover\:text-slate-800:hover{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.focus\:border-primary:focus{border-color:hsl(var(--primary))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-amber-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(251 191 36 / var(--tw-ring-opacity, 1))}.focus\:ring-primary:focus{--tw-ring-color: hsl(var(--primary))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group[open] .group-open\:rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:focus-within .group-focus-within\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-100{opacity:1}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=on\]\:border-primary[data-state=on]{border-color:hsl(var(--primary))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:hsl(var(--accent))}.data-\[state\=on\]\:bg-primary\/15[data-state=on]{background-color:hsl(var(--primary) / .15)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:hsl(var(--accent-foreground))}.data-\[state\=on\]\:text-primary[data-state=on]{color:hsl(var(--primary))}@media (min-width: 640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.\[\&\>\*\:first-child\]\:rounded-l-none>*:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.\[\&\>\*\:first-child\]\:rounded-r-none>*:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.\[\&\>\*\:last-child\]\:rounded-l-none>*:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.\[\&\>\*\:not\(\:first-child\)\:not\(\:last-child\)\]\:rounded-none>*:not(:first-child):not(:last-child){border-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:ml-\[-1px\]>*:not(:first-child){margin-left:-1px}.\[\&\>\*\:not\(\:first-child\)\]\:border-l-0>*:not(:first-child){border-left-width:0px}.\[\&\>\*\[data-state\=on\]\]\:z-10>*[data-state=on]{z-index:10}.btn{display:inline-flex;align-items:center;justify-content:center;border-width:1px;border-style:solid;border-color:#d1d5da;padding:.5rem 1rem;border-radius:.375rem;background-color:transparent;color:#24292e;cursor:pointer;transition:background-color .2s;font-size:.875rem;line-height:1.25}.btn:hover{background-color:#e6e8ea}.btn-outline{background:transparent;border-color:#3b5cd3;color:#3b5cd3}.btn-outline:hover{background-color:#3b5cd3;color:#fff}.input,.select{display:block;width:100%;padding:.5rem .75rem;border:1px solid #d1d5da;border-radius:.375rem;background-color:#fff;font-size:.875rem;color:#24292e;line-height:1.25}.input-bordered,.select-bordered{border-color:#d1d5da}.bg-base-200{background-color:#f5f5f5}.text-base-content{color:#24292e}.shadow-lg{box-shadow:0 10px 15px #0000001a}.rounded-lg{border-radius:.5rem}.p-6{padding:1.5rem}:root{--sidebar-bg: #ffffff;--sidebar-text: #111827;--sidebar-active-bg: #f3f4f6;--content-bg: #ffffff;--primary-accent: #3B5CD3;--primary-accent-dark: #2D4BB3;--card-danger: #FF4D4F;--card-info: #3B5CD3;--card-success: #47CDA9;--card-padding: 16px;--card-radius: 12px;--border-color: #d1d5da;--text-color: #374151;--hover-bg: #f3f4f6;--danger-color: #ef4444;--danger-color-dark: #dc2626;--bg-light: #ffffff;--bg-light-alt: #f8fafc;--bg-hover: #e6e8ea;--border: #d1d5da;--text-main: #1e293b;--text-muted: #6e6e6e;--sidepanel-width: 372px;--sp-nav-width: 100px;--sp-header-height: 128px}.side-panel-wrapper.dark{--sidebar-bg: #1a1a1a;--sidebar-text: #e5e5e5;--sidebar-active-bg: #2a2a2a;--content-bg: #1a1a1a;--border-color: #3a3a3a;--text-color: #e5e5e5;--hover-bg: #333333;--bg-light: #1a1a1a;--bg-light-alt: #222222;--bg-hover: #333333;--border: #3a3a3a;--text-main: #e5e5e5;--text-muted: #b0b0b0}.side-panel-wrapper.dark,.side-panel-wrapper.dark .side-panel,.side-panel-wrapper.dark .sp-category-menu{background:var(--sidebar-bg);color:var(--sidebar-text)}.side-panel-wrapper.dark .sp-header{background:var(--sidebar-bg);border-bottom-color:var(--border);box-shadow:0 4px 10px #0000004d}.side-panel-wrapper.dark .sp-category-menu{background:var(--bg-light-alt);border-right-color:var(--border)}.side-panel-wrapper.dark .sp-category-btn{color:#b0b0b0}.side-panel-wrapper.dark .sp-category-btn:hover{background:#ffffff14;color:#e5e5e5}.side-panel-wrapper.dark .sp-category-btn.active{background:#3b5cd333;color:#6b8cff}.side-panel-wrapper.dark .sp-section{border-bottom-color:var(--border)}.side-panel-wrapper.dark .sp-section-title{color:var(--text-main)}.side-panel-wrapper.dark .sp-slider-label,.side-panel-wrapper.dark .sp-section-body label{color:#b0b0b0}.side-panel-wrapper.dark .sp-input,.side-panel-wrapper.dark .sp-select,.side-panel-wrapper.dark .plan-input,.side-panel-wrapper.dark .plan-select{background-color:#2a2a2a;border-color:var(--border);color:var(--text-main)}.side-panel-wrapper.dark .sp-input:focus,.side-panel-wrapper.dark .sp-select:focus{border-color:#3b5cd3;box-shadow:0 0 0 2px #3b5cd34d}.side-panel-wrapper.dark .sp-icon-btn{background:#2a2a2a;border-color:var(--border)}.side-panel-wrapper.dark .sp-icon-btn:hover{background-color:#333;border-color:#4a4a4a}.side-panel-wrapper.dark .sp-icon-btn.selected{border-color:#3b5cd3;box-shadow:0 0 0 2px #3b5cd3}.side-panel-wrapper.dark .btn-outline{border-color:#4a4a4a;color:#e5e5e5}.side-panel-wrapper.dark .btn-outline:hover{background-color:#333}.side-panel-wrapper.dark .btn-outline.active{border-color:#3b5cd3;background:#3b5cd326;color:#6b8cff}.side-panel-wrapper.dark .sp-color-btn{border-color:#4a4a4a}.side-panel-wrapper.dark .sp-color-btn:hover{border-color:#3b5cd3}.side-panel-wrapper.dark input[type=range]{background-color:#3a3a3a}.side-panel-wrapper.dark input[type=range]::-webkit-slider-thumb{background-color:#3b5cd3}.side-panel-wrapper.dark input[type=range]::-moz-range-thumb{background-color:#3b5cd3}.side-panel-wrapper.dark .sp-group-box{border-color:var(--border)}.side-panel-wrapper.dark .bg-option{border-color:transparent}.side-panel-wrapper.dark .bg-option.selected{border-color:#3b5cd3}.side-panel-wrapper.dark .upload-option{background-color:#2a2a2a}.side-panel-wrapper.dark .upload-option:hover{background-color:#333}.side-panel-wrapper.dark [data-state=on]{background-color:#3b5cd333!important;color:#6b8cff!important}.side-panel-wrapper.dark [data-state=off]{background-color:#2a2a2a;color:#b0b0b0;border-color:var(--border)}.side-panel-wrapper.dark .side-panel::-webkit-scrollbar{width:8px}.side-panel-wrapper.dark .side-panel::-webkit-scrollbar-track{background:#222}.side-panel-wrapper.dark .side-panel::-webkit-scrollbar-thumb{background:#4a4a4a;border-radius:4px}.side-panel-wrapper.dark .side-panel::-webkit-scrollbar-thumb:hover{background:#5a5a5a}.side-panel-wrapper.dark svg{color:#b0b0b0}.side-panel-wrapper.dark svg path,.side-panel-wrapper.dark svg circle,.side-panel-wrapper.dark svg rect,.side-panel-wrapper.dark svg line,.side-panel-wrapper.dark svg polyline,.side-panel-wrapper.dark svg polygon{stroke:currentColor}.side-panel-wrapper.dark .sp-section-header svg{color:#b0b0b0}.side-panel-wrapper.dark .sp-collapse-btn svg,.side-panel-wrapper.dark .sidebar-icon-button svg{color:#b0b0b0}.side-panel-wrapper.dark .sp-collapse-btn:hover svg,.side-panel-wrapper.dark .sidebar-icon-button:hover svg{color:#e5e5e5}.side-panel-wrapper.dark .text-slate-400{color:#888!important}.side-panel-wrapper.dark .text-slate-500,.side-panel-wrapper.dark .text-slate-600{color:#b0b0b0!important}.side-panel-wrapper.dark .text-slate-700,.side-panel-wrapper.dark .text-slate-800{color:#e5e5e5!important}.side-panel-wrapper.dark .hover\:text-slate-600:hover{color:#d0d0d0!important}.side-panel-wrapper.dark .border-slate-200,.side-panel-wrapper.dark .border-slate-300{border-color:#3a3a3a!important}.side-panel-wrapper.dark .bg-slate-50,.side-panel-wrapper.dark .bg-slate-100{background-color:#2a2a2a!important}.side-panel-wrapper.dark .sp-header svg{color:#b0b0b0}.side-panel-wrapper.dark .sp-header button:hover svg{color:#e5e5e5}.side-panel-wrapper.dark .sp-category-btn svg{color:inherit}.side-panel-wrapper.dark .sp-section-header>svg:hover{background-color:#333;color:#e5e5e5}.side-panel-wrapper.dark .sp-slider-label,.side-panel-wrapper.dark .sp-section-body label,.side-panel-wrapper.dark .text-sm.font-semibold{color:#b0b0b0}.side-panel-wrapper.dark button{color:#e5e5e5}.side-panel-wrapper.dark button svg{color:inherit}.side-panel-wrapper.dark [class*=Button] svg,.side-panel-wrapper.dark .btn svg{color:inherit}.side-panel-wrapper.dark .upload-option svg,.side-panel-wrapper.dark .sp-icon-btn.upload svg{color:#b0b0b0}.side-panel-wrapper.dark .sp-icon-btn svg{color:#b0b0b0}.side-panel-wrapper.dark a{color:#6b8cff}.side-panel-wrapper.dark a:hover{color:#8fa8ff}.side-panel-wrapper.dark .font-semibold{color:#e5e5e5}.side-panel-wrapper.dark input[type=checkbox]+span,.side-panel-wrapper.dark input[type=checkbox]~span{color:#e5e5e5}.side-panel-wrapper.dark .bg-white,.side-panel-wrapper.dark .sp-header{background-color:#1a1a1a!important}.side-panel-wrapper.dark .sp-logo-text{color:#e5e5e5}.side-panel-wrapper.dark .hover\:text-slate-800:hover{color:#e5e5e5!important}.side-panel-wrapper.dark [class*=ghost]{color:#b0b0b0}.side-panel-wrapper.dark .ring-offset-background{--tw-ring-offset-color: #1a1a1a}.side-panel-wrapper.dark .border-input{border-color:#3a3a3a}.side-panel-wrapper.dark .bg-muted{background-color:#2a2a2a}.side-panel-wrapper.dark .text-muted-foreground{color:#b0b0b0}.side-panel-wrapper.dark .bg-accent{background-color:#3b5cd333}.side-panel-wrapper.dark .text-accent-foreground{color:#6b8cff}.App{text-align:center;min-height:100vh;background-repeat:no-repeat;background-size:cover;background-position:center}body,html,#root{margin:0;padding:0;height:100%;font-family:"Baloo 2",sans-serif}.clock-container{position:relative;width:420px;height:420px;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.clock-action-buttons{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(calc(100 / var(--clock-scale, 100)));display:flex;gap:12px;z-index:3100;opacity:0;animation:fadeInActions .3s ease-out forwards;transform-origin:center}.clock-action-buttons:before{content:"";position:absolute;top:50%;left:50%;width:120px;height:120px;background:radial-gradient(circle,#ffffffe6,#fff9 40%,#fff0 70%);border-radius:50%;transform:translate(-50%,-50%);z-index:-1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes fadeInActions{0%{opacity:0;transform:translate(-50%,-50%) scale(calc(100 / var(--clock-scale, 100))) translateY(10px)}to{opacity:1;transform:translate(-50%,-50%) scale(calc(100 / var(--clock-scale, 100))) translateY(0)}}.clock-action-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;background:#fff;color:var(--text-color);box-shadow:0 2px 4px #0000001a;font-size:14px;font-weight:500}.clock-action-btn:hover{background:var(--hover-bg);border-color:var(--primary-accent);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.clock-action-btn:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.clock-action-btn.create-btn{background:var(--primary-accent);color:#fff;border-color:var(--primary-accent)}.clock-action-btn.create-btn:hover{background:var(--primary-accent-dark);border-color:var(--primary-accent-dark)}.clock-action-btn.delete-btn{background:var(--danger-color);color:#fff;border-color:var(--danger-color)}.clock-action-btn.delete-btn:hover{background:var(--danger-color-dark);border-color:var(--danger-color-dark)}.clock-face{position:absolute;top:50%;left:50%;width:300px;height:300px;transform:translate(-50%,-50%);border-radius:50%;background-color:#fff;box-shadow:0 10px 30px #0000001a;z-index:10;pointer-events:auto;-webkit-user-select:none!important;user-select:none!important;-webkit-user-drag:none!important}.ghost-block-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5}.hand{position:absolute;bottom:50%;left:50%;transform-origin:50% 100%}.hour-hand{width:6px;height:auto;margin-left:-3px;background-color:#ff006e;border-radius:4px;z-index:2500}.minute-hand{width:4px;height:47%;margin-left:-2px;background-color:#3a86ff;border-radius:3px}.second-hand{width:2px;height:40%;margin-left:-1px;background-color:#ffbe0b}.number{position:absolute;font-size:20px;font-weight:600;color:#3a0ca3;-webkit-user-select:none!important;user-select:none!important;-webkit-user-drag:none!important;transition:left .5s ease,top .5s ease;pointer-events:none!important}.center-dot{position:absolute;width:12px;height:12px;border-radius:50%;background-color:#3a0ca3;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:auto;cursor:move;z-index:3000}.minute-marks{position:absolute;top:0;left:0;width:100%;height:100%}.minute-mark{position:absolute;width:2px;height:8px;background-color:#8338ec;left:50%;transform-origin:50% 150px}.minute-mark.hour-mark{width:3px;height:14px;background-color:#000}.digital-time{position:absolute;top:33%;left:50%;transform:translate(-50%,-50%);font-size:28px;font-weight:600;color:#3a0ca3;background:#fff;padding:4px 8px;border-radius:6px;box-shadow:0 5px 10px #fff,0 -5px 10px #fff;pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important;-webkit-user-drag:none!important;z-index:2600}.time-block{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.time-block.selected{z-index:2000}.time-block-svg{width:100%;height:100%;overflow:visible;pointer-events:none}.time-block-arc{cursor:pointer;pointer-events:auto;paint-order:stroke fill;stroke-linejoin:round;stroke-linecap:round}.resize-handle{stroke:#000;stroke-width:2;cursor:ew-resize;display:none;pointer-events:auto}.time-block.selected .resize-handle{display:block;pointer-events:auto}.colors{display:flex;flex-wrap:wrap;gap:8px}.color-option{width:24px;height:24px;border-radius:50%;cursor:pointer;border:1px solid #ccc;transition:border-color .2s}.color-option:hover{border-color:#999}.submenu-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:8px 0;border-bottom:1px solid #D1D5DA}.submenu-header .section-title{font-size:12px;font-weight:500;text-transform:uppercase;color:#6e6e6e;margin:0}.side-panel-section>button,.side-panel-section input,.side-panel-section select{padding:8px 12px;margin:4px 0;background:#fff;border:1px solid #D1D5DA;border-radius:4px;text-align:left;font-size:14px;color:#24292e;cursor:pointer;transition:background-color .2s;box-sizing:border-box}.side-panel-section>button:hover,.side-panel-section input:hover,.side-panel-section select:hover{background-color:#e6e8ea}.color-option{width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:border-color .2s,transform .2s}.color-option:hover{border-color:#3a86ff;transform:scale(1.1)}.plan-input{width:100%;padding:6px 8px;margin-bottom:8px;border:1px solid #e5e7eb;border-radius:4px}.plan-select{width:100%;padding:6px 8px;margin:8px 0;border:1px solid #e5e7eb;border-radius:4px}.submenu-content{padding:8px 0 16px;display:flex;flex-direction:column;gap:8px}.main-content{position:relative;margin-left:0;width:100%;height:100vh;background:transparent;overflow:hidden}.weekly-planner-container{position:absolute;cursor:move}.weekly-planner{display:flex;gap:12px;align-items:stretch;flex:none}.weekly-day{flex:1;border-radius:8px;border:1px solid #000;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 30px #0000001a}.day-header{background:#ffffffe6;text-align:center;padding:6px 4px;border-bottom:1px solid rgba(0,0,0,.1);min-height:60px;display:flex;flex-direction:column;justify-content:center;align-items:center}.day-name{display:block;font-size:1rem;font-weight:1000;color:#111827;text-transform:uppercase;-webkit-user-select:none;user-select:none}.day-date{display:block;font-size:.8rem;color:#4b5563;margin-top:1px;-webkit-user-select:none;user-select:none}.day-header-buttons{display:flex;gap:8px;align-items:center;justify-content:center}.day-add-button,.day-delete-button{min-width:auto;padding:6px}.day-delete-button{border-color:#ef4444;color:#ef4444}.day-delete-button:hover{background-color:#ef4444;color:#fff}.day-content{flex:1;padding:8px;display:flex;flex-direction:column;gap:6px;min-height:60px;align-items:center}.weekly-day.today{position:relative;border-color:red!important}.event-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:4px 10px;border-radius:8px;cursor:grab;color:#3a0ca3;-webkit-user-select:none;user-select:none;width:100%;box-sizing:border-box;min-height:120px}.event-item:active{cursor:grabbing}.event-icons-container{scrollbar-width:none;-ms-overflow-style:none}.event-icons-container::-webkit-scrollbar{display:none}.event-image{width:auto;height:auto;max-width:none;object-fit:contain;border-radius:10px;display:block}.event-title{font-size:.9rem;color:#3a0ca3;text-align:center}.color-option-selected{width:16px;height:16px;background:#fff;border-radius:50%;border:2px solid #3a86ff;position:absolute}.colors{position:relative}.side-panel-wrapper{position:fixed;top:0;left:0;bottom:0;z-index:3000;width:calc(var(--sidepanel-width) + var(--sp-nav-width));display:flex;background:#fff;border-right:1px solid #e5e7eb;box-shadow:0 1px 4px #0000001a;transition:left .3s ease,opacity .3s ease}.side-panel-wrapper.collapsed{left:calc(-1 * (var(--sidepanel-width) - 40px));opacity:0}.side-panel-wrapper.collapsed:hover{left:0;opacity:1}.side-panel{width:var(--sidepanel-width);padding:0 16px 16px;display:flex;flex-direction:column;font-family:"Baloo 2",sans-serif;color:#333;overflow-y:auto;height:100%}.sp-header{padding:12px 16px 10px;border-bottom:1px solid #e2e8f0;margin:0 -16px 12px;display:flex;flex-direction:column;gap:6px;position:-webkit-sticky;position:sticky;top:0;background:#fff;z-index:50;box-shadow:0 4px 10px #0f172a0d;min-height:var(--sp-header-height)}.sp-logo{display:flex;align-items:center;gap:8px}.sp-logo-text{font-weight:600;font-size:1.1rem;line-height:40px}.sp-collapse-btn{background:none;border:none;cursor:pointer;color:#666}.sp-section{padding:24px 0;border-bottom:1px solid #e2e8f0}.sp-section:last-child{border-bottom:none}.sp-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.sp-section-title{font-size:1.125rem;font-weight:600;color:#1e293b}.sp-category-menu{flex:0 0 var(--sp-nav-width);width:var(--sp-nav-width);background:#f8fafc;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;align-items:center;padding:calc(var(--sp-header-height) + 4px) 8px 16px;gap:16px;height:100%}.sp-category-menu.locked{opacity:.8}.sp-category-menu-items{display:flex;flex-direction:column;gap:8px;width:100%;overflow-y:auto;flex:1}.sp-category-btn{width:100%;border:none;background:transparent;color:#475569;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border-radius:10px;cursor:pointer;font-size:.7rem;text-align:center;transition:background-color .2s ease,color .2s ease}.sp-category-btn svg{width:22px;height:22px}.sp-category-btn span{line-height:1.1}.sp-category-btn:hover{background:#0f172a14;color:#1e293b}.sp-category-btn.active{background:#3b5cd326;color:#1d3ccf;font-weight:600}.sp-section-anchor{scroll-margin-top:calc(var(--sp-header-height) + 16px)}.icon-visible{color:#333;cursor:pointer}.icon-hidden{color:#bbb;cursor:pointer}.sp-section-body{display:flex;flex-direction:column;gap:12px}.sp-slider-label,.sp-section-body label{display:block;font-size:.875rem;font-weight:500;color:#475569;margin-bottom:8px}.sp-input,.sp-select{width:100%;padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:.875rem;color:#1e293b;background-color:#fff}.sp-input:focus,.sp-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.side-panel input[type=range]{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:8px;background-color:#e2e8f0;border-radius:9999px;outline:none}.side-panel input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background-color:#2563eb;border-radius:9999px;cursor:pointer;border:2px solid #ffffff}.side-panel input[type=range]::-moz-range-thumb{width:16px;height:16px;background-color:#2563eb;border-radius:9999px;cursor:pointer;border:2px solid #ffffff}.side-panel input[type=checkbox]{width:16px;height:16px;border-radius:4px;border:1px solid #cbd5e1;accent-color:#2563eb;margin-right:8px;vertical-align:middle;position:relative;top:-1px}.sp-slider-label input[type=checkbox]{margin-right:8px}.sp-collapse-btn,.sidebar-icon-button{background:none;border:none;padding:4px;color:#64748b;border-radius:6px;cursor:pointer}.sp-collapse-btn:hover,.sidebar-icon-button:hover{background-color:#e2e8f0;color:#1e293b}.sp-collapse-btn svg,.sp-collapse-btn svg path{stroke-width:2px}.sp-section-header svg,.sp-section-header svg path{stroke:currentColor!important;stroke-width:2px}.sp-section-header svg{color:#64748b;padding:4px;border-radius:6px}.sp-section-header svg:hover{background-color:#e2e8f0;color:#1e293b}.sp-section-header>svg{background:none;border:none;padding:4px;color:#64748b;border-radius:6px;cursor:pointer}.sp-section-header>svg:hover{background-color:#e2e8f0;color:#1e293b}.sp-button-row{display:flex;gap:8px}.btn-outline{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid #ddd;background:transparent;border-radius:4px;font-size:.9rem;cursor:pointer;color:#333}.btn-outline.active{border-color:#3b5cd3;background:#3b5cd314;color:#1a237e}.btn-outline:disabled{color:#aaa;border-color:#eee;cursor:default}.sp-color-row{display:flex;gap:8px}.sp-color-btn{width:24px;height:24px;border-radius:9999px;border:2px solid transparent;cursor:pointer}.sp-color-btn.selected{border-color:var(--primary-accent);box-shadow:0 0 0 2px var(--primary-accent)}.sp-icon-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px;width:100%}.sp-icon-btn{width:100%;height:64px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #d1d5da;border-radius:8px;cursor:pointer;transition:background-color .2s,border-color .2s,transform .1s}.sp-icon-btn:hover{background-color:#e6e8ea;border-color:#c1c5ca;transform:translateY(-1px)}.sp-icon-btn:active{transform:translateY(0)}.sp-icon-btn img{width:36px;height:36px}.sp-icon-btn svg{width:36px;height:36px}.sp-icon-btn.selected{border-color:var(--primary-accent);box-shadow:0 0 0 2px var(--primary-accent)}.sp-color-btn:hover{border-color:#2563eb}.sp-icon-btn.upload{border:1px solid #d1d5da;color:#6e6e6e}.sp-icon-btn.upload svg{fill:none;stroke:currentColor;stroke-width:1px}.sp-color-circle{position:relative;width:24px;height:24px;border-radius:9999px;border:2px solid #cbd5e1;padding:0;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background:none}.sp-color-circle::-webkit-color-swatch-wrapper{padding:0}.sp-color-circle::-webkit-color-swatch{border:none;border-radius:9999px;background:transparent}.sp-color-circle:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red 360deg);pointer-events:none}.time-block-arc.past{filter:grayscale(100%)}@keyframes fadeOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOverlayOut{0%{opacity:1}to{opacity:0}}.event-item.selected{outline:3px solid var(--primary-accent);outline-offset:2px;border-radius:8px}.countdown-container.selected .countdown-background,.trafficlight-container.selected .trafficlight-background{outline:calc(4px * var(--widget-inv-scale, 1)) solid var(--primary-accent);outline-offset:calc(2px * var(--widget-inv-scale, 1))}.time-block.selected .time-block-arc{paint-order:stroke fill;stroke-linecap:round;stroke-linejoin:round;filter:none!important}.time-block.selected .time-block-outline-outer{fill:none;stroke:var(--primary-accent);stroke-width:12px;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke;pointer-events:none}.time-block.selected .time-block-outline-gap{fill:none;stroke:#f7f0e6;stroke-width:6px;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke;pointer-events:none}.background-layer{position:fixed;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;background-repeat:no-repeat;pointer-events:none;z-index:-1}.bg-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-top:8px}.bg-option{width:100%;height:0;padding-top:56%;box-sizing:border-box;background-size:cover;background-position:center;border:2px solid transparent;border-radius:4px;cursor:pointer;position:relative}.bg-option .bg-delete-btn{position:absolute;top:4px;right:4px;background-color:#fffc;border:none;border-radius:4px;padding:2px;cursor:pointer}.bg-option .bg-delete-btn svg{pointer-events:none}.bg-option.selected{border-color:var(--primary-accent)}.bg-option.delete-mode:hover{border-color:#ef4444;filter:saturate(1.05)}.snapshot-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:8px}.snapshot-options .snapshot-option{border-radius:4px;overflow:hidden;padding-top:62%}.snapshot-option{cursor:default}.snapshot-option.delete-mode{cursor:pointer}.snapshot-option.delete-mode:hover{border-color:#ef4444;filter:saturate(1.05)}.upload-option{position:relative;background-color:#f0f0f0;box-sizing:border-box}.upload-option:hover{background-color:#e0e0e0}.upload-option svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6e6e6e;fill:none;stroke:currentColor;stroke-width:1px}.countdown-container{position:absolute;display:flex;align-items:center;gap:4px;cursor:move;-webkit-user-select:none;user-select:none;pointer-events:auto}.countdown-number{font-size:24px;font-weight:700;color:#3a0ca3;display:inline-block;width:2ch;text-align:center}.countdown-icon{width:56px;height:56px;object-fit:contain;pointer-events:none}.countdown-arrow{font-size:20px;pointer-events:none}.countdown-background{display:flex;flex-direction:column;align-items:center;border-radius:calc(16px * var(--widget-inv-scale, 1));overflow:hidden}.countdown-row{display:flex;align-items:center;justify-content:center}.countdown-row-top{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;box-sizing:border-box;background:#ffffffe6;padding:8px;border-bottom:1px solid rgba(0,0,0,.1)}.countdown-row-arrow{padding:4px 0}.trafficlight-container{position:absolute;display:flex;align-items:center;cursor:move;-webkit-user-select:none;user-select:none;pointer-events:auto}.trafficlight-background{display:flex;align-items:stretch;border-radius:calc(16px * var(--widget-inv-scale, 1));overflow:hidden;box-sizing:border-box}.trafficlight-left{display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;background:#ffffffe6;border-right:1px solid rgba(0,0,0,.1)}.trafficlight-right{display:flex;align-items:center;gap:12px;padding:12px 14px 12px 22px;box-sizing:border-box}.trafficlight-panel{display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;box-shadow:none}.trafficlight-stack{display:flex;flex-direction:column;gap:14px;background:#2f2f2f;padding:14px;border-radius:16px;box-shadow:inset 0 -2px 6px #0003}.trafficlight-light{width:60px;height:60px;border-radius:50%;border:2px solid rgba(0,0,0,.25);opacity:.35;transition:opacity .15s ease,box-shadow .15s ease}.trafficlight-light.red{--light-glow: rgba(255, 77, 79, .85);background:#ffadad}.trafficlight-light.yellow{--light-glow: rgba(255, 209, 102, .85);background:#fdffb6}.trafficlight-light.green{--light-glow: rgba(6, 214, 160, .85);background:#caffbf}.trafficlight-light.active{opacity:1;box-shadow:0 0 14px var(--light-glow)}.trafficlight-container[data-signal-colors=true] .trafficlight-light.red{background:#ff4d4f}.trafficlight-container[data-signal-colors=true] .trafficlight-light.yellow{background:#ffd166}.trafficlight-container[data-signal-colors=true] .trafficlight-light.green{background:#06d6a0}.trafficlight-arrow{display:inline-block;-webkit-user-select:none;user-select:none;line-height:1}.trafficlight-arrow-rotated{transform:rotate(-90deg)}.trafficlight-right .countdown-arrow-down{font-size:72px}.trafficlight-icons{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.countdown-arrow-down{font-size:40px;line-height:1;font-weight:600}.countdown-mult{font-size:24px;font-weight:700;color:#3a0ca3}.countdown-row-bottom{padding:4px 0 8px}.side-panel input,.side-panel select,.side-panel textarea,.sp-input,.sp-select,.plan-input,.plan-select{box-sizing:border-box}.sp-group-box{border:1px solid #e2e8f0;border-radius:6px;padding:8px;margin-bottom:12px}.clock-container,.weekly-planner-container,.countdown-container{z-index:10!important;position:absolute}.side-panel.locked{pointer-events:none}.side-panel.locked:after{content:"";position:absolute;left:0;right:0;bottom:0;top:var(--sp-header-height);background:#c8c8c866;pointer-events:none;z-index:1}.side-panel.locked .sp-header:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#c8c8c859;pointer-events:none;z-index:65}.side-panel.locked .sp-header{position:-webkit-sticky;position:sticky;top:0;z-index:60;pointer-events:auto;opacity:1}.pin-challenge-panel,.math-challenge-panel,.pattern-lock-panel{z-index:80}.lock-overlay{position:fixed;left:calc(var(--sidepanel-width) + var(--sp-nav-width));top:0;right:0;bottom:0;background:transparent;pointer-events:all;cursor:not-allowed;z-index:5000}.sync-icon{width:24px;height:24px;cursor:pointer;transition:color .3s}.sync-icon.idle{color:#888}.sync-icon.syncing{color:#f5a623;animation:spin 1s linear infinite}.sync-icon.ok{color:#4caf50}.sync-icon.error{color:#f44336}.spinner{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite;vertical-align:middle}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;border:0!important}.sp-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);margin-bottom:12px}.sp-tab{padding:8px 12px;background:transparent;border:none;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent}.sp-tab.active{color:var(--primary-accent);border-bottom-color:var(--primary-accent)}.time-block-arc:focus,.time-block-arc:focus-visible,.time-block-svg:focus,.time-block-svg:focus-visible{outline:none!important}.time-block.selected .resize-handle{stroke:var(--primary-accent)!important;stroke-width:4px!important;opacity:1!important}.time-block.selected.level-outer .resize-handle{paint-order:markers fill stroke!important}.clock-container.dragging,.weekly-planner-container.dragging{cursor:grabbing!important;opacity:.9;z-index:1000;-webkit-user-select:none;user-select:none}.countdown-container.dragging{cursor:grabbing!important;opacity:.9;z-index:1000;-webkit-user-select:none;user-select:none;transform-origin:0 0}.clock-container:not(.dragging),.weekly-planner-container:not(.dragging),.countdown-container:not(.dragging){transition:transform .1s ease-out}.dragging-active,.dragging-active *{user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}.local-app[data-mode=local] .mode-indicator,.synced-app[data-mode=synced] .mode-indicator{position:fixed;top:10px;right:10px;padding:4px 8px;border-radius:4px;font-size:12px;z-index:9999;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.sync-activation-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease-out}.sync-activation-modal{animation:slideUp .4s ease-out;box-shadow:0 20px 60px #0006;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.sync-activation-step h3{margin:0 0 16px;color:#333;font-size:20px;font-weight:600}.sync-activation-step p{margin:0 0 16px;color:#666;line-height:1.5}.sync-activation-step input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .2s;outline:none}.sync-activation-step input:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.sync-activation-step button{background:#4caf50;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;outline:none}.sync-activation-step button:hover{background:#45a049;transform:translateY(-1px)}.sync-activation-step button:disabled{background:#ccc;cursor:not-allowed;transform:none}.sync-activation-step .secondary-button{background:#757575}.sync-activation-step .secondary-button:hover{background:#616161}.sync-activation-step .error-message{color:#f44336;background:#ffebee;padding:8px 12px;border-radius:6px;font-size:14px;margin-bottom:16px}.loading-spinner{font-size:24px;animation:spin 1s linear infinite}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.room-manager{padding:16px;background:var(--sidebar-bg);border-radius:8px;margin-bottom:16px;border:1px solid var(--border)}.room-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.create-room-button{gap:6px}.create-room-button svg{width:14px;height:14px}.current-room-info{background:var(--bg-light-alt);padding:12px;border-radius:6px;margin-bottom:16px;border-left:4px solid var(--primary-accent)}.current-room-label{font-size:.75rem;color:var(--text-muted);margin-bottom:4px}.current-room-name{font-weight:600;color:var(--text-main);font-size:.9rem;display:flex;align-items:center}.room-section{margin-bottom:20px}.room-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border)}.section-title{font-size:.85rem;font-weight:600;color:var(--text-main);display:flex;align-items:center}.section-count{font-size:.75rem;color:var(--text-muted)}.room-list{display:flex;flex-direction:column;gap:8px}.action-icon{width:14px;height:14px;opacity:.7}.action-icon svg{width:100%;height:100%}.share-icon,.action-icon{width:16px;height:16px;stroke:currentColor}.empty-rooms-state{text-align:center;padding:32px 16px;color:var(--text-muted)}.empty-icon{font-size:48px;margin-bottom:12px;opacity:.5}.empty-text{font-size:.9rem;margin-bottom:16px}.join-room-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.room-toggle-button{gap:6px;border-color:#e2e8f0;background:#fff;color:#1e293b}.room-toggle-button[disabled],.room-toggle-button:disabled{opacity:.6}.room-toggle-button[data-state=on]{background:#f8fafc;color:#1e293b;border-color:#e2e8f0}.room-toggle-button:hover{background:#f1f5f9}.room-panel-wrapper{margin-top:16px;border:none;border-radius:0;background:transparent;box-shadow:none}.room-list-item-wrapper{display:flex;flex-direction:column;gap:12px}.room-list-item-wrapper--expanded{border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:0;gap:0}.room-list-item-wrapper--active:not(.room-list-item-wrapper--expanded){border:2px solid #64748b;border-radius:16px;background:#fff;padding:0}.room-list-item-wrapper--active:not(.room-list-item-wrapper--expanded)>.group{border:none;box-shadow:none;background:transparent;padding:12px}.room-list-item-wrapper--active.room-list-item-wrapper--expanded{border:1px solid #0f172a}.room-list-item-wrapper--active.room-list-item-wrapper--expanded>.group{border:none;background:transparent}.room-list-item-wrapper--expanded>.group{border:none;box-shadow:none;border-radius:0;background:transparent;padding:12px}.room-list-panel{border-top:1px solid #e2e8f0;margin-top:0;padding:16px 12px 12px}.room-list-item-wrapper--expanded>.room-list-panel,.room-list-item-wrapper--expanded>.room-list-panel .room-panel{border-radius:0}.room-panel{border-radius:0;overflow:visible}.room-panel-content{width:100%;max-width:none;max-height:none;background:transparent;border-radius:0;box-shadow:none}.room-panel-content--room,.room-panel-content--join{padding:0}.room-panel-content.join-room-modal,.room-panel-content.room-modal,.room-panel-content.share-modal-inline{width:100%;max-width:none}.room-panel-body{padding:0;max-height:none;overflow:visible}.room-panel-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 0 0;border-top:1px solid var(--border);background:transparent}.room-panel--create .room-panel-footer{justify-content:flex-end}.join-room-modal{width:420px;max-height:90vh;overflow-y:auto}.join-description{color:var(--text-muted);font-size:.9rem;line-height:1.4;margin-bottom:20px}.error-message{background-color:#ffebee;border:1px solid #f44336;border-radius:4px;padding:12px;margin-bottom:16px;color:#c62828;font-size:.9rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;max-width:90vw;max-height:90vh;overflow:hidden;animation:slideUp .3s ease}.room-modal{width:480px}.modal-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:1px solid var(--border)}.modal-tab{padding:12px 20px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--text-muted);transition:all .2s ease}.modal-tab:hover{color:var(--text-main);background:var(--bg-hover)}.modal-tab.active{color:var(--primary-accent);border-bottom-color:var(--primary-accent)}.features-tab-content{padding:0}.features-tab-content .feature-settings{padding:0;max-width:none}.features-tab-content .feature-settings-header{display:none}.share-modal{width:420px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border);background:var(--bg-light-alt)}.modal-header h3,.modal-header h4{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-main)}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:4px;transition:all .2s ease}.modal-close:hover{background:var(--bg-hover);color:var(--text-main)}.modal-body{padding:24px;max-height:60vh;overflow-y:auto}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid var(--border);background:var(--bg-light-alt)}.footer-left,.footer-right{display:flex;gap:8px}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;color:var(--text-main);margin-bottom:6px;font-size:.9rem}.form-group small{display:block;color:var(--text-muted);font-size:.75rem;margin-top:2px}.form-group input[type=text],.form-group input[type=password]{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:.9rem;transition:border-color .2s ease}.form-group input[type=text]:focus,.form-group input[type=password]:focus{outline:none;border-color:var(--primary-accent);box-shadow:0 0 0 3px #3b5cd31a}.form-group input.error{border-color:var(--card-danger)}.error-text{color:var(--card-danger);font-size:.75rem;margin-top:4px;display:block}.radio-group{display:flex;flex-direction:column;gap:8px}.radio-group.horizontal{flex-direction:row;gap:16px}.radio-option{display:flex;align-items:flex-start;gap:8px;cursor:pointer;padding:8px;border-radius:6px;transition:background .2s ease}.radio-option:hover{background:var(--bg-light-alt)}.radio-option input[type=radio]{margin:2px 0 0}.radio-label{display:flex;flex-direction:column;gap:2px}.radio-label small{color:var(--text-muted);font-size:.75rem}.room-type-display{display:flex;flex-direction:column;gap:16px}.current-room-type{display:flex;align-items:center;gap:8px;padding:12px;background:var(--bg-light-alt);border-radius:6px;border:1px solid var(--border)}.room-type-icon{font-size:1.2rem}.room-type-label{font-weight:600;color:var(--text-main);margin-right:8px}.room-type-description{color:var(--text-muted);font-size:.8rem}.convert-section{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--bg-light);border-radius:6px;border:1px solid var(--border)}.convert-info p{margin:0 0 8px;color:var(--text-main);font-size:.9rem;line-height:1.4}.convert-warning{background:#fff3cd;border:1px solid #ffeaa7;color:#856404;padding:12px;border-radius:6px;font-size:.85rem}.convert-warning p{margin:0;line-height:1.4}.convert-success{background:#d1edff;border:1px solid #bee5eb;color:#0c5460;padding:12px;border-radius:6px;font-size:.9rem}.convert-success p{margin:0 0 4px;font-weight:600}.convert-success small{color:#0c5460;opacity:.8}.convert-button{display:inline-flex;align-items:center;justify-content:center;border-width:1px;border-style:solid;border-color:var(--card-success);padding:.5rem 1rem;border-radius:.375rem;background-color:var(--card-success);color:#fff;cursor:pointer;transition:background-color .2s;font-size:.875rem;line-height:1.25;margin-top:8px}.convert-button:hover{background-color:#3db89a;border-color:#3db89a}.delete-confirm{display:flex;align-items:center;gap:8px;font-size:.8rem}.share-description{color:var(--text-muted);font-size:.85rem;margin-bottom:20px;line-height:1.4}.share-item{margin-bottom:20px}.share-item label{display:block;font-weight:600;color:var(--text-main);margin-bottom:6px;font-size:.9rem}.share-input-group{display:flex;gap:8px}.share-input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:.85rem;background:var(--bg-light-alt);color:var(--text-main)}.copy-button{display:inline-flex;align-items:center;justify-content:center;border-width:1px;border-style:solid;border-color:var(--primary-accent);padding:.5rem 1rem;border-radius:.375rem;background-color:var(--primary-accent);color:#fff;cursor:pointer;transition:background-color .2s;font-size:.875rem;line-height:1.25;min-width:40px}.copy-button svg{width:16px;height:16px;stroke:currentColor}.copy-button:hover{background-color:#2c4fd6;border-color:#2c4fd6}.copy-button.copied{background-color:var(--card-success);border-color:var(--card-success)}.share-item small{display:block;color:var(--text-muted);font-size:.75rem;margin-top:4px}.share-warning{background:#fff3cd;border:1px solid #ffeaa7;color:#856404;padding:12px;border-radius:6px;font-size:.85rem;margin:16px 0}.share-instructions{background:var(--bg-light-alt);padding:16px;border-radius:6px;margin-top:20px}.share-instructions h5{margin:0 0 8px;font-size:.9rem;color:var(--text-main)}.share-instructions ul{margin:0;padding-left:20px;font-size:.8rem;color:var(--text-muted);line-height:1.4}.share-instructions li{margin-bottom:4px}.time-block-action-buttons{opacity:0;transition:opacity .3s ease-in-out;pointer-events:none}.time-block:hover .time-block-action-buttons{opacity:1;pointer-events:auto;animation:fadeInTimeBlockActions .4s ease-out}@keyframes fadeInTimeBlockActions{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.action-block-segment{transition:opacity .2s ease;cursor:pointer}.action-block-segment:hover{opacity:.8}.plus-symbol{pointer-events:none}.time-block:not(:hover) .time-block-action-buttons{animation:fadeOutTimeBlockActions .3s ease-in forwards}@keyframes fadeOutTimeBlockActions{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.toast{position:fixed;top:20px;right:20px;z-index:10000;min-width:300px;max-width:500px;padding:16px;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;justify-content:space-between;animation:slideInRight .3s ease-out;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.4}.toast-error{background-color:#fee;border:1px solid #fcc;color:#722}.toast-success{background-color:#efe;border:1px solid #cfc;color:#272}.toast-warning{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.toast-info{background-color:#e3f2fd;border:1px solid #bbdefb;color:#0277bd}.toast-content{display:flex;align-items:center;flex:1;gap:8px}.toast-icon{font-size:16px;flex-shrink:0}.toast-message{flex:1;word-wrap:break-word}.toast-actions{display:flex;align-items:center;gap:4px;margin-left:12px}.toast-retry-btn,.toast-close-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s}.toast-retry-btn:hover,.toast-close-btn:hover{opacity:1}.toast-retry-btn{font-size:14px}.toast-close-btn svg{width:16px;height:16px}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast-container .toast{position:relative;top:auto;right:auto;pointer-events:all}.backup-modal{max-width:600px;width:90vw}.backup-tabs{display:flex;border-bottom:1px solid #e2e8f0;margin-bottom:24px}.backup-tab{display:flex;align-items:center;padding:12px 16px;background:none;border:none;cursor:pointer;font-size:14px;font-weight:500;color:#64748b;border-bottom:2px solid transparent;transition:all .2s ease}.backup-tab:hover{color:var(--primary-accent);background-color:#f8fafc}.backup-tab.active{color:var(--primary-accent);border-bottom-color:var(--primary-accent)}.export-options{display:flex;flex-direction:column;gap:12px;margin-top:8px}.export-option{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.export-option input[type=checkbox]{margin:0}.export-option span{-webkit-user-select:none;user-select:none}.backup-actions{display:flex;gap:12px;margin-top:24px}.create-backup-button,.download-backup-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.create-backup-button{background:var(--primary-accent);color:#fff;border-color:var(--primary-accent)}.create-backup-button:hover:not(:disabled){background:color-mix(in srgb,var(--primary-accent) 85%,black);border-color:color-mix(in srgb,var(--primary-accent) 85%,black)}.create-backup-button:disabled{background:#9ca3af;border-color:#9ca3af;cursor:not-allowed}.download-backup-button{background:#10b981;color:#fff;border-color:#10b981}.download-backup-button:hover{background:#059669;border-color:#059669}.backup-preview,.import-preview{margin-top:24px;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.backup-preview h5,.import-preview h5{margin:0 0 12px;font-size:16px;font-weight:600;color:#1e293b}.backup-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.backup-stat{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#fff;border-radius:6px;border:1px solid #e2e8f0}.stat-label{font-size:13px;color:#64748b;font-weight:500}.stat-value{font-size:14px;font-weight:600;color:#1e293b}.room-selection{display:flex;flex-direction:column;gap:8px;margin-top:8px}.room-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px;border-radius:6px;transition:background-color .2s ease}.room-checkbox:hover{background-color:#f8fafc}.room-checkbox input[type=checkbox]{margin:0}.room-checkbox-label{display:flex;flex-direction:column;gap:2px}.room-selection .room-name{font-size:14px;font-weight:500;color:#1e293b}.room-type{font-size:12px;color:#64748b}.download-options{display:flex;flex-direction:column;gap:16px;margin-top:16px}.symbol-download-options{border-top:1px solid #e2e8f0;padding-top:16px}.symbol-download-options h6{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151}.symbol-download-buttons{display:flex;gap:8px;margin-bottom:8px}.download-symbols-button{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid #d1d5da;border-radius:6px;background-color:#f8fafc;color:#374151;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.download-symbols-button:hover:not(:disabled){background-color:#e6e8ea;border-color:#3b5cd3;color:#3b5cd3}.download-symbols-button:disabled{opacity:.6;cursor:not-allowed}.symbol-download-options small{display:block;color:#6b7280;font-size:12px;line-height:1.4}.math-challenge-panel{position:absolute;top:100%;left:0;right:0;z-index:60;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 4px 12px #0000001a;padding:20px;display:flex;flex-direction:column;align-items:center;transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .25s ease-out}.math-challenge-panel.visible{transform:translateY(0);opacity:1;pointer-events:auto}.math-challenge-problem{font-family:system-ui,-apple-system,sans-serif;font-size:24px;font-weight:600;color:#334155;text-align:center;display:flex;align-items:center;justify-content:center;gap:8px}.math-challenge-input{width:80px;height:48px;font-size:24px;font-weight:600;text-align:center;border:1px solid #e2e8f0;border-radius:8px;outline:none;background:#f8fafc;color:#1e293b;transition:border-color .2s,box-shadow .2s}.math-challenge-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626;background:#fff}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.math-challenge-input.error{border-color:#ef4444;animation:shake .4s ease-in-out}.math-challenge-input::-webkit-outer-spin-button,.math-challenge-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.math-challenge-input[type=number]{-moz-appearance:textfield}.pin-challenge-panel{position:absolute;top:100%;left:0;right:0;z-index:60;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 4px 12px #0000001a;padding:20px;display:flex;flex-direction:column;align-items:center;transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .25s ease-out}.pin-challenge-panel.visible{transform:translateY(0);opacity:1;pointer-events:auto}.pin-challenge-sr-input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.pin-challenge-boxes{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;cursor:text;transition:border-color .2s,box-shadow .2s,background .2s}.pin-challenge-boxes:hover{border-color:#cbd5e1}.pin-challenge-boxes:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626;background:#fff}.pin-challenge-boxes:focus-within{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626;background:#fff}.pin-challenge-boxes.error{border-color:#ef4444;animation:shake .4s ease-in-out}.pin-challenge-box{width:28px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#0f172a;position:relative}.pin-challenge-box.filled{background:#e2e8f0;border-color:#94a3b8}@keyframes pin-caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}.pin-challenge-caret{width:2px;height:18px;background:#3b82f6;border-radius:2px;animation:pin-caret-blink 1s step-end infinite}.pin-challenge-hint{font-size:12px;color:#64748b}.pattern-lock-panel{position:absolute;top:100%;left:0;right:0;z-index:60;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 4px 12px #0000001a;padding:24px;display:flex;flex-direction:column;align-items:center;transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .25s ease-out}.pattern-lock-panel.visible{transform:translateY(0);opacity:1;pointer-events:auto}.pattern-grid{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;cursor:crosshair}@keyframes pattern-shake{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(10px)}60%{transform:translate(-8px)}80%{transform:translate(8px)}}.pattern-grid.error{animation:pattern-shake .5s ease-in-out}.pattern-setup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pattern-setup-dialog{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px;max-width:320px;width:90%;box-shadow:0 10px 30px #00000026;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pattern-setup-grid-wrapper{display:flex;justify-content:center;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.pattern-setup-grid-wrapper.shake{animation:pattern-shake .5s ease-in-out}.pattern-setup-grid{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:crosshair}.dark .math-challenge-panel,.dark .pattern-lock-panel{background:#1e293b;border-bottom-color:#334155}.dark .math-challenge-problem{color:#e2e8f0}.dark .math-challenge-input{background:#334155;border-color:#475569;color:#e2e8f0}.dark .math-challenge-input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa4d}.dark .pattern-grid,.dark .pattern-setup-grid{background:#334155;border-color:#475569}.dark .pattern-setup-dialog{background:#1e293b;border-color:#334155}.dark .pattern-setup-grid-wrapper{background:#0f172a;border-color:#334155}@media (max-width: 480px){.math-challenge-problem{font-size:24px}.math-challenge-input{width:70px;height:46px;font-size:22px}.math-challenge-panel,.pattern-lock-panel{padding:16px}}.feature-settings{padding:16px;max-width:500px}.feature-settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.feature-settings-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary, #1a1a1a)}.feature-settings-header .close-button{background:none;border:none;font-size:24px;color:var(--text-secondary, #666);cursor:pointer;padding:4px 8px;line-height:1;border-radius:4px;transition:background-color .2s}.feature-settings-header .close-button:hover{background-color:var(--bg-hover, #f0f0f0)}.feature-info-banner{display:flex;align-items:center;gap:8px;padding:10px 12px;background-color:var(--bg-info, #e8f4fd);border-radius:8px;margin-bottom:16px;font-size:13px;color:var(--text-info, #0066cc)}.feature-info-banner .info-icon{font-size:16px}.feature-section{margin-bottom:24px}.feature-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px}.feature-section h5{margin:16px 0 8px;font-size:13px;font-weight:500;color:var(--text-secondary, #666)}.feature-list{display:flex;flex-direction:column;gap:8px}.feature-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background-color:var(--bg-secondary, #f8f8f8);border-radius:10px;transition:background-color .2s}.feature-item:hover{background-color:var(--bg-hover, #f0f0f0)}.feature-item.locked{opacity:.85}.feature-item.unlocked{background-color:var(--bg-success-light, #e8f5e9)}.feature-info{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:0}.feature-icon{font-size:20px;line-height:1;flex-shrink:0}.feature-text{display:flex;flex-direction:column;gap:2px;min-width:0}.feature-name{font-size:14px;font-weight:500;color:var(--text-primary, #1a1a1a)}.feature-description{font-size:12px;color:var(--text-secondary, #666);line-height:1.3}.feature-expiry,.feature-quota{font-size:11px;color:var(--text-tertiary, #888);margin-top:2px}.feature-toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.feature-toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-toggle-off, #ccc);transition:.2s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.2s;border-radius:50%;box-shadow:0 1px 3px #0003}.feature-toggle input:checked+.toggle-slider{background-color:var(--color-primary, #4CAF50)}.feature-toggle input:checked+.toggle-slider:before{transform:translate(20px)}.feature-toggle input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.feature-status{flex-shrink:0;margin-left:12px}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.active{background-color:var(--bg-success, #4CAF50);color:#fff}.status-badge.locked{background-color:var(--bg-secondary, #e0e0e0);color:var(--text-secondary, #666)}.status-badge .lock-icon{font-size:11px}.code-redeem-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color, #e0e0e0)}.code-input-row{display:flex;gap:8px}.code-input{flex:1;padding:10px 12px;border:1px solid var(--border-color, #ddd);border-radius:8px;font-size:14px;font-family:monospace;text-transform:uppercase;letter-spacing:1px;transition:border-color .2s,box-shadow .2s}.code-input:focus{outline:none;border-color:var(--color-primary, #4CAF50);box-shadow:0 0 0 3px var(--color-primary-light, rgba(76, 175, 80, .15))}.code-input:disabled{background-color:var(--bg-disabled, #f5f5f5);cursor:not-allowed}.redeem-button{padding:10px 16px;background-color:var(--color-primary, #4CAF50);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s;white-space:nowrap}.redeem-button:hover:not(:disabled){background-color:var(--color-primary-dark, #43A047)}.redeem-button:active:not(:disabled){transform:scale(.98)}.redeem-button:disabled{background-color:var(--bg-disabled, #ccc);cursor:not-allowed}.redeem-result{display:flex;flex-direction:column;gap:4px;margin-top:12px;padding:10px 12px;border-radius:8px;font-size:13px}.redeem-result.success{background-color:var(--bg-success-light, #e8f5e9);color:var(--text-success, #2e7d32)}.redeem-result.error{background-color:var(--bg-error-light, #ffebee);color:var(--text-error, #c62828)}.redeem-result .result-icon{font-weight:700}.redeem-result .result-detail{font-size:12px;opacity:.85;margin-left:18px}.no-features{text-align:center;padding:24px;color:var(--text-secondary, #666);font-size:14px}@media (prefers-color-scheme: dark){.feature-settings-header h3{color:var(--text-primary-dark, #f0f0f0)}.feature-item{background-color:var(--bg-secondary-dark, #2a2a2a)}.feature-item:hover{background-color:var(--bg-hover-dark, #333)}.feature-item.unlocked{background-color:var(--bg-success-dark, #1b3d1f)}.feature-name{color:var(--text-primary-dark, #f0f0f0)}.code-input{background-color:var(--bg-input-dark, #1a1a1a);border-color:var(--border-color-dark, #444);color:var(--text-primary-dark, #f0f0f0)}}@media (max-width: 480px){.feature-settings{padding:12px}.feature-item{flex-direction:column;align-items:flex-start;gap:10px}.feature-status{margin-left:32px}.code-input-row{flex-direction:column}.redeem-button{width:100%}}.sidepanel-tooltip{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:2999;pointer-events:none}.sidepanel-tooltip-content{display:flex;flex-direction:column;align-items:center;gap:3px;padding:60px 40px 70px 36px;background:radial-gradient(ellipse 100% 100% at 0% 50%,#fff,#ffffffe6,#ffffff80,#fff0 75%);transform:translate(-100%);opacity:0;transition:transform .4s ease-out,opacity .3s ease-out}.sidepanel-tooltip.visible .sidepanel-tooltip-content{transform:translate(0);opacity:1}.sidepanel-tooltip-arrow{color:#4b5563;margin-bottom:10px;transform:rotate(-15deg);animation:point-left 1.2s ease-in-out infinite}@keyframes point-left{0%,to{transform:rotate(-15deg) translate(0)}50%{transform:rotate(-15deg) translate(-5px)}}.sidepanel-tooltip-text{font-family:"Baloo 2",system-ui,sans-serif;font-size:18px;font-weight:700;color:#374151;letter-spacing:.6px;line-height:1.25;text-transform:uppercase}@media (max-height: 600px){.sidepanel-tooltip-content{padding:40px 28px 50px;gap:2px}.sidepanel-tooltip-text{font-size:14px}.sidepanel-tooltip-arrow{width:18px;height:18px;margin-bottom:6px}}@media (max-width: 768px){.mobile-onboarding{width:100%;height:100%;display:flex;flex-direction:column;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;position:relative;overflow:hidden}.onboarding-container{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;max-width:90%;margin:0 auto}.slides-container{flex:1;width:100%;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}.slides-wrapper{display:flex;width:300%;transition:transform .3s ease-in-out}.slide{width:33.333%;flex-shrink:0;display:flex;justify-content:center;align-items:center;padding:20px;text-align:center}.onboarding-slide{max-width:600px;width:100%}.logo-container{margin-bottom:20px}.logo{width:80px;height:80px;border-radius:50%;border:3px solid white;background:#fff;padding:10px}.onboarding-slide h2{font-size:2.5em;margin:20px 0 10px;font-weight:700}.onboarding-slide p{font-size:1.2em;margin:10px 0;opacity:.9}.info-box{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:15px;padding:20px;margin:20px 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.info-box p{margin:10px 0;font-size:1.1em}.features-grid{display:grid;grid-template-columns:1fr;gap:20px;margin:20px 0}.feature{background:#ffffff1a;border-radius:15px;padding:20px;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.2)}.feature-icon{font-size:2.5em;display:block;margin-bottom:10px}.feature h3{margin:10px 0;font-size:1.4em}.feature p{font-size:1em;opacity:.8}.join-form{margin:20px 0;display:flex;flex-direction:column;gap:15px;max-width:400px;width:100%}.join-input{padding:15px;border:2px solid rgba(255,255,255,.3);border-radius:10px;background:#ffffff1a;color:#fff;font-size:1.1em;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:border-color .3s ease}.join-input::placeholder{color:#ffffffb3}.join-input:focus{outline:none;border-color:#fffc;background:#fff3}.join-button{padding:15px 30px;background:#fff3;border:2px solid rgba(255,255,255,.5);border-radius:10px;color:#fff;font-size:1.2em;font-weight:700;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.join-button:hover:not(:disabled){background:#ffffff4d;border-color:#fffc;transform:translateY(-2px)}.join-button:disabled{opacity:.5;cursor:not-allowed}.error-message{color:#ff6b6b;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:8px;padding:10px;font-size:1em;text-align:center}.skip-text{margin-top:20px;font-size:1em;opacity:.8}.skip-button{background:none;border:none;color:#fff;text-decoration:underline;cursor:pointer;font-size:1em;transition:opacity .3s ease}.skip-button:hover{opacity:.7}.navigation{margin-top:30px;display:flex;flex-direction:column;align-items:center;gap:20px}.dots-container{display:flex;gap:10px;justify-content:center}.dot{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:transparent;cursor:pointer;transition:all .3s ease}.dot.active{background:#fff;border-color:#fff}.dot:hover{border-color:#fffc}.nav-buttons{display:flex;gap:15px;justify-content:center}.nav-button{padding:12px 24px;background:#fff3;border:2px solid rgba(255,255,255,.5);border-radius:25px;color:#fff;font-size:1.1em;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.nav-button:hover:not(:disabled){background:#ffffff4d;border-color:#fffc;transform:translateY(-2px)}.nav-button:disabled{opacity:.5;cursor:not-allowed}.nav-button.complete{background:#4caf504d;border-color:#4caf50cc}.nav-button.complete:hover:not(:disabled){background:#4caf5080}.mobile-onboarding.landscape{padding:10px}.mobile-onboarding.landscape .features-grid{grid-template-columns:repeat(3,1fr)}.mobile-onboarding.landscape .join-form{max-width:500px}.mobile-onboarding.landscape .onboarding-slide h2{font-size:2em}}@media (max-width: 568px) and (orientation: landscape){.mobile-onboarding.landscape .features-grid{grid-template-columns:1fr}.mobile-onboarding.landscape .onboarding-slide h2{font-size:1.8em}.mobile-onboarding.landscape .feature{padding:15px}.mobile-onboarding.landscape .logo{width:60px;height:60px}}@media (max-width: 768px){.mobile-room-modal{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.room-modal-content{width:100%;max-width:400px;display:flex;flex-direction:column;gap:25px}.current-room-section,.join-room-section{background:#fff;border-radius:15px;padding:20px;box-shadow:0 4px 15px #0000001a;border:1px solid #e0e0e0}.current-room-section h3,.join-room-section h3{margin:0 0 15px;font-size:1.2em;color:#333;text-align:center}.room-info-card{background:#f8f9fa;border-radius:10px;padding:15px;text-align:center;border:2px solid #e9ecef}.room-info-card.offline{background:#ffeaea;border-color:#ffcdd2}.room-name{font-size:1.3em;font-weight:700;color:#333;margin-bottom:5px}.room-code{font-size:.9em;color:#666;font-family:monospace;margin-bottom:10px}.room-status{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.9em;font-weight:500}.room-status.connected{color:#4caf50}.room-status.disconnected{color:#f44336}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.room-status.connected .status-dot{background:#4caf50;box-shadow:0 0 6px #4caf5099}.room-status.disconnected .status-dot{background:#f44336;box-shadow:0 0 6px #f4433699}.join-room-button{width:100%;padding:12px;background:#2196f3;color:#fff;border:none;border-radius:8px;font-size:1em;cursor:pointer;transition:background-color .3s ease}.join-room-button:hover{background:#1976d2}.join-form{display:flex;flex-direction:column;gap:12px}.join-input{padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1em;transition:border-color .3s ease}.join-input:focus{outline:none;border-color:#2196f3}.error-message{color:#f44336;background:#ffebee;padding:8px;border-radius:6px;font-size:.9em;text-align:center;border:1px solid #ffcdd2}.join-buttons{display:flex;gap:10px}.join-button{flex:1;padding:10px;border:none;border-radius:6px;font-size:.9em;cursor:pointer;transition:all .3s ease}.join-button.primary{background:#4caf50;color:#fff}.join-button.primary:hover:not(:disabled){background:#45a049}.join-button.primary:disabled{background:#ccc;cursor:not-allowed}.join-button.secondary{background:#f5f5f5;color:#666;border:1px solid #ddd}.join-button.secondary:hover{background:#e0e0e0}.quick-actions{text-align:center;padding:15px;background:#2196f31a;border-radius:10px;border:1px solid rgba(33,150,243,.2)}.action-hint{font-size:.9em;color:#1976d2;font-style:italic}.mobile-room-modal.landscape .room-modal-content{max-width:500px}.mobile-room-modal.landscape .current-room-section,.mobile-room-modal.landscape .join-room-section{padding:15px}}@media (max-width: 568px) and (orientation: landscape){.mobile-room-modal.landscape .room-modal-content{max-width:400px;gap:20px}.mobile-room-modal.landscape .current-room-section h3,.mobile-room-modal.landscape .join-room-section h3{font-size:1.1em}.mobile-room-modal.landscape .room-name{font-size:1.2em}}.mobile-clock{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:12px;box-sizing:border-box}.mobile-clock-shell{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.mobile-clock-shell .clock-container{position:relative;width:min(420px,94vw);height:min(420px,94vw);margin:0 auto}.mobile-clock-info{text-align:center;font-family:"Baloo 2",sans-serif}.block-count{font-size:.9em;color:#3a0ca3;font-weight:600}.mobile-clock.landscape{padding:8px}.mobile-clock.landscape .mobile-clock-shell{flex-direction:row;gap:20px}.mobile-clock.landscape .mobile-clock-info{text-align:left}@media (max-width: 568px) and (orientation: landscape){.mobile-clock.landscape .block-count{font-size:.8em}}@media (max-width: 768px){.mobile-weekly-planner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:10px;box-sizing:border-box;font-family:"Baloo 2",sans-serif}.mobile-weekly-container{width:100%;max-width:100%;overflow-x:auto;display:flex;justify-content:center}.mobile-weekly-planner-grid{display:flex;gap:6px;min-width:-webkit-min-content;min-width:min-content;margin:0 auto}.mobile-weekly-day{flex:0 0 auto;width:70px;min-height:120px;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 12px #0000001a}.mobile-weekly-day.today{border-color:red!important}.mobile-day-header{background:#ffffffe6;text-align:center;padding:6px 4px;border-bottom:1px solid rgba(0,0,0,.1);min-height:40px;display:flex;flex-direction:column;justify-content:center;align-items:center}.mobile-day-name{display:block;font-size:.7rem;font-weight:700;color:#111827;text-transform:uppercase;line-height:1.2}.mobile-day-date{display:block;font-size:.6rem;color:#4b5563;margin-top:2px}.mobile-day-content{flex:1;padding:6px;display:flex;flex-direction:column;gap:4px;align-items:center;min-height:60px}.mobile-event-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:4px 6px;border-radius:6px;width:100%;box-sizing:border-box}.mobile-event-icons{display:flex;flex-wrap:wrap;gap:2px;align-items:center;justify-content:center}.mobile-event-image{object-fit:contain;border-radius:6px}.mobile-event-emoji{line-height:1}.mobile-event-title{font-size:.65rem;color:#3a0ca3;text-align:center;word-break:break-word}.mobile-no-events{font-size:.8rem;color:#999;display:flex;align-items:center;justify-content:center;height:100%}.mobile-weekly-planner.landscape{padding:5px}.mobile-weekly-planner.landscape .mobile-weekly-planner-grid{gap:8px}.mobile-weekly-planner.landscape .mobile-weekly-day{width:80px;min-height:100px}.mobile-weekly-planner.landscape .mobile-day-header{padding:4px;min-height:35px}.mobile-weekly-planner.landscape .mobile-day-content{padding:4px}}@media (max-width: 568px) and (orientation: landscape){.mobile-weekly-planner.landscape .mobile-weekly-day{width:65px;min-height:80px}.mobile-weekly-planner.landscape .mobile-day-name{font-size:.6rem}.mobile-weekly-planner.landscape .mobile-day-date{font-size:.5rem}}@media (max-width: 375px){.mobile-weekly-planner .mobile-weekly-day{width:60px}.mobile-weekly-planner .mobile-day-name{font-size:.6rem}}@media (max-width: 768px){.mobile-countdowns{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:10px;box-sizing:border-box;font-family:"Baloo 2",sans-serif}.mobile-countdowns-container{width:100%;max-width:100%;overflow-x:auto}.mobile-countdowns-list{display:flex;gap:12px;padding:5px;min-width:-webkit-min-content;min-width:min-content;justify-content:center;flex-wrap:wrap}.mobile-countdown-widget{display:flex;flex-direction:column;align-items:center;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #0000001a;min-width:100px}.mobile-countdown-widget.expired{opacity:.6;filter:grayscale(50%)}.mobile-countdown-top{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;box-sizing:border-box;background:#ffffffe6;padding:8px;border-bottom:1px solid rgba(0,0,0,.1)}.mobile-countdown-number{font-size:20px;font-weight:700;color:#3a0ca3;display:inline-block;width:2ch;text-align:center}.mobile-countdown-mult{font-size:18px;font-weight:700;color:#3a0ca3}.mobile-countdown-icons{display:flex;gap:4px;flex-wrap:wrap;align-items:center;justify-content:center}.mobile-countdown-icon{object-fit:contain;-webkit-user-select:none;user-select:none}.mobile-countdown-arrow{padding:4px 0;display:flex;justify-content:center;align-items:center}.mobile-countdown-arrow span{font-size:28px;line-height:1;font-weight:600;color:#3a0ca3}.mobile-countdown-bottom{padding:4px 8px 8px;display:flex;justify-content:center;width:100%;box-sizing:border-box}.mobile-no-countdowns{text-align:center;padding:40px 20px}.mobile-no-countdowns .no-countdowns-icon{font-size:48px;display:block;margin-bottom:16px;opacity:.5}.mobile-no-countdowns h3{margin:0 0 8px;font-size:1.2em;color:#333}.mobile-no-countdowns p{margin:0;font-size:.9em;color:#666}.mobile-countdowns.landscape .mobile-countdowns-list{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.mobile-countdowns.landscape .mobile-countdown-widget{min-width:90px}.mobile-countdowns.landscape .mobile-countdown-number{font-size:18px}.mobile-countdowns.landscape .mobile-countdown-arrow span{font-size:24px}}@media (max-width: 568px) and (orientation: landscape){.mobile-countdowns.landscape .mobile-countdown-widget{min-width:80px}.mobile-countdowns.landscape .mobile-countdown-top{padding:6px}.mobile-countdowns.landscape .mobile-countdown-number{font-size:16px}.mobile-countdowns.landscape .mobile-countdown-arrow span{font-size:20px}.mobile-countdowns.landscape .mobile-countdown-bottom{padding:4px 6px 6px}}.mobile-slider{width:100%;height:100%;display:flex;flex-direction:column;background:#fff;overflow:hidden;position:relative;font-family:"Baloo 2",sans-serif}.room-header{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.1);box-shadow:0 2px 10px #0000000d;z-index:100}.room-info{display:flex;flex-direction:column;gap:2px}.room-name{font-size:1.1em;font-weight:700;color:#3a0ca3}.room-code{font-size:.85em;color:#666;font-family:monospace}.connection-status{display:flex;align-items:center;gap:8px}.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.status-dot.connected{background:#4caf50;box-shadow:0 0 8px #4caf5099}.status-dot.disconnected{background:#f44336;box-shadow:0 0 8px #f4433699}.status-text{font-size:.85em;color:#666;font-weight:500}.mobile-slider .slides-container{flex:1;overflow:hidden;position:relative;touch-action:pan-x;background:#f8fafc;min-height:0;display:flex}.mobile-slider .slides-wrapper{display:flex;height:100%;transition:transform .3s ease-out;will-change:transform;margin:0 auto;align-items:stretch}.mobile-slider .slide{flex-shrink:0;height:100%;min-width:100%;display:flex;align-items:center;justify-content:center;background:#f8fafc;position:relative;padding:0 12px;box-sizing:border-box}.mobile-slider .slide:not(:last-child){border-right:1px solid #e0e0e0}.mobile-slider .slide.active{z-index:10}.mobile-slider .slide-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:15px;box-sizing:border-box;overflow:auto}.mobile-slider .slide-inner{width:min(640px,94vw);max-width:100%;margin:0 auto;display:flex;align-items:center;justify-content:center;height:100%}.mobile-slider .slide-inner>*{width:100%}.navigation{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 15px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(0,0,0,.1)}.dots-container{display:flex;gap:12px;justify-content:center;align-items:center}.dot{width:12px;height:12px;border-radius:50%;border:2px solid #3a0ca3;background:transparent;cursor:pointer;transition:all .3s ease;position:relative}.dot:hover{border-color:#8338ec;transform:scale(1.1)}.dot.active{background:#3a0ca3;border-color:#3a0ca3;box-shadow:0 0 8px #3a0ca366}.dot.active:after{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border:1px solid rgba(58,12,163,.3);border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.1;transform:scale(1.2)}}.slide-title{font-size:1em;font-weight:600;color:#3a0ca3;text-align:center;min-height:1.5em;display:flex;align-items:center;justify-content:center}.arrow-nav{display:flex;gap:20px;justify-content:center;align-items:center}.nav-arrow{width:36px;height:36px;border:2px solid #3a0ca3;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1em;color:#3a0ca3;transition:all .3s ease;font-weight:600}.nav-arrow:hover:not(:disabled){border-color:#8338ec;color:#8338ec;background:#f8f0ff;transform:scale(1.05)}.nav-arrow:disabled{opacity:.3;cursor:not-allowed}.mobile-slider.landscape .room-header{padding:8px 20px}.mobile-slider.landscape .navigation{padding:8px 15px;flex-direction:row;justify-content:space-between}.mobile-slider.landscape .dots-container{gap:15px}.mobile-slider.landscape .dot{width:14px;height:14px}.mobile-slider.landscape .slide-content{padding:10px}.slide-content.loading{opacity:.6;pointer-events:none}.slide-content.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid #ccc;border-top:2px solid #3a0ca3;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.slide-enter{opacity:0;transform:translate(100%)}.slide-enter-active{opacity:1;transform:translate(0);transition:all .3s ease-out}.slide-exit{opacity:1;transform:translate(0)}.slide-exit-active{opacity:0;transform:translate(-100%);transition:all .3s ease-out}.slides-container:active{cursor:grabbing}.slide-content:active{transform:scale(.99);transition:transform .1s ease}@media (max-width: 568px) and (orientation: landscape){.mobile-slider.landscape .room-header{padding:6px 15px}.mobile-slider.landscape .room-name{font-size:1em}.mobile-slider.landscape .navigation{padding:6px 10px}.mobile-slider.landscape .dots-container{gap:10px}.mobile-slider.landscape .dot{width:10px;height:10px}.mobile-slider.landscape .slide-title{font-size:.9em}.mobile-slider.landscape .nav-arrow{width:30px;height:30px;font-size:1em}}.mobile-app{width:100vw;height:100vh;background:#f5f5f5;overflow:hidden;position:fixed;top:0;left:0;font-family:"Baloo 2",sans-serif;display:flex;flex-direction:column;min-height:100vh}.mobile-app.landscape{justify-content:center;align-items:center}.mobile-app.portrait{justify-content:flex-start;align-items:center;padding-top:0}.mobile-app{font-size:14px}.mobile-app.landscape{padding:0}.mobile-beta-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;box-sizing:border-box}.mobile-beta-popup{background:#fff;border-radius:16px;padding:24px;max-width:340px;width:100%;position:relative;box-shadow:0 10px 40px #0000004d;text-align:center;animation:popupSlideIn .3s ease-out}@keyframes popupSlideIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.mobile-beta-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;background:#f0f0f0;border-radius:50%;font-size:24px;line-height:1;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.mobile-beta-close:hover{background:#e0e0e0;color:#333}.mobile-beta-close:active{transform:scale(.95)}.mobile-beta-icon{font-size:48px;margin-bottom:12px}.mobile-beta-title{margin:0 0 16px;font-size:1.4em;font-weight:700;color:#3a0ca3}.mobile-beta-text{margin:0 0 12px;font-size:.95em;color:#555;line-height:1.5}.mobile-beta-text strong{color:#3a0ca3}.mobile-beta-button{margin-top:8px;padding:12px 32px;background:#3a0ca3;color:#fff;border:none;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:"Baloo 2",sans-serif}.mobile-beta-button:hover{background:#2d0a7d;transform:translateY(-1px)}.mobile-beta-button:active{transform:translateY(0)}@media (max-width: 480px){.mobile-app{font-size:12px}.mobile-beta-popup{padding:20px;max-width:300px}.mobile-beta-icon{font-size:40px}.mobile-beta-title{font-size:1.2em}.mobile-beta-text{font-size:.9em}}@media (max-width: 568px) and (orientation: landscape){.mobile-app.landscape{padding:0}.mobile-beta-popup{padding:16px 20px;max-width:400px;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px}.mobile-beta-close{top:8px;right:8px;width:28px;height:28px;font-size:20px}.mobile-beta-icon{font-size:36px;margin-bottom:0}.mobile-beta-title{flex:1;margin:0;font-size:1.1em;text-align:left}.mobile-beta-text{width:100%;font-size:.85em;margin-bottom:8px}.mobile-beta-button{padding:10px 24px;font-size:.9em}}.broadcast-banners{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;flex-direction:column;gap:0}.broadcast-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;animation:broadcast-slide-in .3s ease-out}@keyframes broadcast-slide-in{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.broadcast-banner-icon{font-size:1.125rem;flex-shrink:0}.broadcast-banner-content{flex:1;display:flex;flex-wrap:wrap;gap:.25rem .5rem;align-items:baseline}.broadcast-banner-content strong{font-weight:600}.broadcast-banner-content span{opacity:.9}.broadcast-banner-close{background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;opacity:.7;padding:.25rem;margin:-.25rem;transition:opacity .15s;color:inherit}.broadcast-banner-close:hover{opacity:1}.broadcast-info{background:linear-gradient(90deg,#3b82f6,#2563eb);color:#fff}.broadcast-success{background:linear-gradient(90deg,#10b981,#059669);color:#fff}.broadcast-warning{background:linear-gradient(90deg,#f59e0b,#d97706);color:#fff}.broadcast-maintenance{background:linear-gradient(90deg,#8b5cf6,#7c3aed);color:#fff}@media (max-width: 640px){.broadcast-banner{padding:.625rem .875rem;font-size:.8125rem}.broadcast-banner-content{flex-direction:column;gap:.125rem}}
