*,: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}.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-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.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!important}.block{display:block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.\!grid{display:grid!important}.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-56{max-height:14rem}.max-h-\[180px\]{max-height:180px}.min-h-\[180px\]{min-height:180px}.min-h-\[38px\]{min-height:38px}.min-h-\[80px\]{min-height:80px}.w-1{width:.25rem}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-20{width:5rem}.w-24{width:6rem}.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))}.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-2{grid-template-columns:repeat(2,minmax(0,1fr))}.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}.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-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-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}.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-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}.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-4{padding-top:1rem;padding-bottom:1rem}.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-bold{font-weight:700}.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-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-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-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-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-50{opacity:.5}.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-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--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(3px + 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-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))}.blur{--tw-blur: blur(8px);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)}.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}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Baloo2-400-3I1Kdpv5.ttf) format("truetype")}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/Baloo2-600-DKNv9FOM.ttf) format("truetype")}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/Baloo2-700-BreeFivU.ttf) format("truetype")}: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}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.last\:border-b-0:last-child{border-bottom-width:0px}.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-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-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-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}.clock-delete-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;border-radius:50%;pointer-events:none;z-index:11}.clock-delete-overlay-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:red;box-shadow:inset 0 0 0 2px #ffffff1f}.clock-delete-icon{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;background:#fffffff2;color:#b91c1c;box-shadow:0 6px 18px #7f1d1d33;transform:translate(-50%,-50%);z-index:3201}.clock-delete-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.clock-hover-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:18;pointer-events:none}.ghost-block-svg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:visible;z-index:19;pointer-events:none}.ghost-block-arc{cursor:pointer;transition:fill .18s ease,stroke .18s ease,opacity .18s ease;pointer-events:auto;paint-order:stroke fill}.ghost-block-arc:hover{opacity:.92}.ghost-block-plus{position:absolute;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#fffffff2;color:var(--primary-accent);box-shadow:0 6px 18px #3b5cd333;pointer-events:none;z-index:20;transform-origin:center}.ghost-block-arc-discovery{animation:ghost-block-arc-breathe 1.8s ease-in-out infinite}.ghost-block-plus-discovery{animation:ghost-block-plus-glow 1.8s ease-in-out infinite}.ghost-block-plus-discovery svg{animation:ghost-block-plus-icon-pulse 1.8s ease-in-out infinite;transform-origin:center}.ghost-block-plus svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}@keyframes ghost-block-arc-breathe{0%,to{opacity:.94;filter:none}50%{opacity:1;filter:drop-shadow(0 0 5px rgba(59,92,211,.2))}}@keyframes ghost-block-plus-glow{0%,to{box-shadow:0 6px 18px #3b5cd333;background:#fffffff2}50%{box-shadow:0 8px 22px #3b5cd342,0 0 0 4px #3b5cd314;background:#fff}}@keyframes ghost-block-plus-icon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.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{pointer-events:auto}.time-block-arc-movable{cursor:grab}.time-block-move-surface-dragging .time-block-arc-movable{cursor:grabbing}.time-block-arc{paint-order:stroke fill;stroke-linejoin:round;stroke-linecap:round}.resize-handle{cursor:ew-resize;display:none;pointer-events:stroke;stroke:transparent}.time-block.selected .resize-handle{display:block;pointer-events:stroke}.time-block-resize-handle-button{position:absolute;display:none;align-items:center;justify-content:center;width:var(--timeblock-handle-hit-width);height:var(--timeblock-handle-hit-height);padding:0;border:none;background:transparent;pointer-events:auto;touch-action:none;z-index:2105;transform:translate(-50%,-50%) rotate(var(--timeblock-handle-angle))}.time-block.selected .time-block-resize-handle-button{display:inline-flex;pointer-events:auto}.clock-thickness-resize-handle-button{display:inline-flex;pointer-events:auto;z-index:2110}.time-block.selected .time-block-resize-handle-button.resize-handle{pointer-events:auto}.time-block-resize-handle-visual{display:none;pointer-events:none;width:calc(8px * var(--clock-inv-scale, 1));height:var(--timeblock-handle-visual-length);border-radius:999px;background:#111;transform:translate(var(--timeblock-handle-visual-shift));box-shadow:0 1px #ffffff8c;will-change:transform}.time-block.selected .time-block-resize-handle-visual,.clock-thickness-resize-handle-button .time-block-resize-handle-visual{display:block}.time-block-resize-handle-visual-wiggle{animation:time-block-resize-handle-wiggle 1.8s ease-in-out infinite}@keyframes time-block-resize-handle-wiggle{0%,to{transform:translate(var(--timeblock-handle-visual-shift))}50%{transform:translate(calc(var(--timeblock-handle-visual-shift) + (2px * var(--clock-inv-scale, 1))))}}.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}.canvas-edge-delete-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:35;opacity:0;transition:opacity .14s ease,transform .14s ease,filter .14s ease}.canvas-edge-delete-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,#7f1d1d66,#f8717133 64px,#7f1d1d00 128px),linear-gradient(to left,#7f1d1d66,#f8717133 64px,#7f1d1d00 128px),linear-gradient(to bottom,#7f1d1d66,#f8717133 64px,#7f1d1d00 128px),linear-gradient(to top,#7f1d1d66,#f8717133 64px,#7f1d1d00 128px)}.canvas-edge-delete-overlay-active{opacity:1}.canvas-edge-delete-overlay-delete{filter:saturate(.95) drop-shadow(0 0 22px rgba(239,68,68,.14))}.canvas-edge-delete-overlay-delete:before{background:linear-gradient(to right,#7f1d1dc7,#ef444457 52px,#7f1d1d00 128px),linear-gradient(to left,#7f1d1dc7,#ef444457 52px,#7f1d1d00 128px),linear-gradient(to bottom,#7f1d1dc7,#ef444457 52px,#7f1d1d00 128px),linear-gradient(to top,#7f1d1dc7,#ef444457 52px,#7f1d1d00 128px)}.canvas-snap-guides{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20}.canvas-snap-guide{position:absolute;background:#3b5cd3e6;box-shadow:0 0 0 1px #ffffffa6}.canvas-snap-guide-vertical{top:0;bottom:0;width:2px;transform:translate(-1px)}.canvas-snap-guide-horizontal{left:0;right:0;height:2px;transform:translateY(-1px)}.weekly-planner{position:relative;display:flex;gap:12px;align-items:stretch;flex:none;overflow:visible}.weekly-planner-symbol-dragging{cursor:grabbing}.weekly-day{flex:1;min-width:0;border-radius:8px;border:1px solid #000;overflow:visible;display:flex;flex-direction:column;box-shadow:0 10px 30px #0000001a;transition:transform .16s ease,box-shadow .16s ease,outline-color .16s ease}.weekly-day-surface{display:flex;flex:1;min-width:0;flex-direction:column;border-radius:inherit;overflow:hidden;background:inherit}.day-header{background:#ffffffe6;text-align:center;width:100%;min-width:0;box-sizing:border-box;padding:6px 4px 2px;border-bottom:1px solid rgba(0,0,0,.1);display:flex;flex-direction:column;justify-content:flex-start;align-items:center}.day-header-with-weather{min-height:72px}.day-header-compact{min-height:48px;justify-content:center}.day-name{display:block;min-width:0;max-width:100%;font-size:1rem;font-weight:1000;color:#111827;text-transform:uppercase;-webkit-user-select:none;user-select:none}.day-date{display:block;min-width:0;max-width:100%;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;position:relative}.weekly-day-weather{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-width:0;box-sizing:border-box;margin-top:2px;padding:2px 8px 0;border-top:1px solid rgba(15,23,42,.12)}.weekly-day-weather-compact{flex-direction:column;gap:4px}.weather-widget-glyph.weekly-day-weather-glyph{min-width:32px;min-height:32px;width:60px;height:60px;flex:0 0 auto;transform:translateY(1px)}.weather-widget-glyph-image.weekly-day-weather-glyph-image{min-width:32px;width:60px;height:60px}.weekly-day-weather-compact .weather-widget-glyph.weekly-day-weather-glyph,.weekly-day-weather-compact .weather-widget-glyph-image.weekly-day-weather-glyph-image{width:32px;height:32px}.weekly-day-weather-readout{display:inline-flex;align-items:center;gap:4px;min-width:0;flex:0 1 auto}.weekly-day-weather-readout-compact{width:100%;justify-content:center}.weekly-day-weather-thermometer{width:10px;height:22px;transform:translateY(-1px)}.weekly-day-weather-temperature{font-family:"Baloo 2",sans-serif;font-size:1rem;font-weight:700;color:#1f2937;line-height:1;min-width:0;white-space:nowrap}.weekly-day.today{position:relative;border-color:red!important}.weekly-day-drop-target{transform:translateY(-4px);box-shadow:0 14px 32px #1d4ed83d,0 0 0 3px #3b5cd340}.weekly-day-drop-target .day-content{background:linear-gradient(180deg,#ffffff61,#ffffff1f)}.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-scroll{box-sizing:border-box;width:100%;padding:12px;scrollbar-width:none;-ms-overflow-style:none}.event-icons-scroll-horizontal{overflow-x:auto;overflow-y:hidden}.event-icons-scroll-vertical{overflow-x:hidden;overflow-y:auto}.event-icons-scroll::-webkit-scrollbar{display:none}.event-icons-container{box-sizing:border-box;width:-webkit-max-content;width:max-content;min-width:100%}.event-icons-scroll-vertical .event-icons-container{width:100%}.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}.canvas-widget-shell{position:absolute;top:0;left:0;display:inline-flex;align-items:flex-start;justify-content:flex-start;overflow:visible}.canvas-widget-shell-body{position:relative;display:inline-flex;overflow:visible}.canvas-widget-shell.selected .canvas-widget-shell-body{outline:calc(4px * var(--widget-inv-scale, 1)) solid var(--primary-accent);outline-offset:calc(2px * var(--widget-inv-scale, 1));border-radius:calc(22px * var(--widget-inv-scale, 1))}.canvas-widget-delete-dragging{transition:transform .12s ease,opacity .12s ease,filter .12s ease}.canvas-widget-delete-dragging-delete{transform:translateZ(0) scale(.92);filter:drop-shadow(0 16px 28px rgba(239,68,68,.24)) drop-shadow(0 8px 16px rgba(15,23,42,.12));animation:weekly-symbol-delete-wobble .22s ease-in-out infinite;z-index:1100!important}.canvas-widget-delete-dragging-delete .canvas-widget-shell-body,.canvas-widget-delete-dragging-delete .countdown-background,.canvas-widget-delete-dragging-delete .trafficlight-background,.canvas-widget-delete-dragging-delete .weather-widget-background,.clock-container.canvas-widget-delete-dragging-delete .clock-face{filter:saturate(.84) brightness(.94)}.canvas-widget-shell-background-outline.selected .canvas-widget-shell-body,.weekly-widget-shell.selected .canvas-widget-shell-body,.clock-widget-shell.selected .canvas-widget-shell-body{outline:none}.canvas-widget-shell-background-outline.selected .countdown-background,.canvas-widget-shell-background-outline.selected .trafficlight-background,.canvas-widget-shell-background-outline.selected .weather-widget-background{outline:calc(4px * var(--widget-inv-scale, 1)) solid var(--primary-accent);outline-offset:calc(2px * var(--widget-inv-scale, 1));border-radius:calc(16px * var(--widget-inv-scale, 1))}.weekly-widget-shell.selected .canvas-widget-shell-body{outline:calc(4px * var(--widget-inv-scale, 1)) solid var(--primary-accent);outline-offset:calc(2px * var(--widget-inv-scale, 1));border-radius:calc(10px * var(--widget-inv-scale, 1))}.canvas-widget-resize-handle{position:absolute;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:nwse-resize;touch-action:none;user-select:none;-webkit-user-select:none;z-index:30}.canvas-widget-resize-handle:before{content:"";position:absolute;inset:calc(-12px * var(--widget-inv-scale, 1))}.canvas-widget-resize-handle-right{top:50%;right:calc(-18px * var(--widget-inv-scale, 1));transform:translateY(-50%);cursor:ew-resize}.canvas-widget-resize-handle-corner{right:calc(-18px * var(--widget-inv-scale, 1));bottom:calc(-18px * var(--widget-inv-scale, 1))}.weekly-widget-shell .canvas-widget-resize-handle-right{right:calc(-22px * var(--widget-inv-scale, 1))}.weekly-widget-shell .canvas-widget-resize-handle-corner{right:calc(-22px * var(--widget-inv-scale, 1));bottom:calc(-22px * var(--widget-inv-scale, 1))}.clock-widget-shell .canvas-widget-resize-handle-corner{left:calc(var(--clock-corner-handle-left, 420) * 1px);top:calc(var(--clock-corner-handle-top, 420) * 1px);right:auto;bottom:auto;transform:translate(-50%,-50%)}.clock-widget-shell .canvas-widget-resize-handle:before{inset:calc(-18px * var(--widget-inv-scale, 1))}.clock-widget-shell .canvas-widget-resize-handle:focus,.clock-widget-shell .canvas-widget-resize-handle:focus-visible{outline:none;box-shadow:none}.canvas-widget-resize-handle-svg{display:block;pointer-events:none;overflow:visible}.canvas-widget-resize-handle-visual{display:inline-flex;align-items:center;justify-content:center;transform:translateZ(0);transform-origin:center;will-change:transform}.canvas-widget-resize-handle-visual[data-wiggle-direction=horizontal]{--resize-handle-wiggle-transform: translate3d(calc(3px * var(--widget-inv-scale, 1)), 0, 0)}.canvas-widget-resize-handle-visual[data-wiggle-direction=diagonal]{--resize-handle-wiggle-transform: translate3d( calc(3px * var(--widget-inv-scale, 1)), calc(3px * var(--widget-inv-scale, 1)), 0 )}.canvas-widget-resize-handle-visual-wiggle{animation:canvas-widget-resize-handle-wiggle 1.8s ease-in-out infinite}.canvas-widget-resize-handle-svg-corner{width:calc(36px * var(--widget-inv-scale, 1));height:calc(36px * var(--widget-inv-scale, 1))}.canvas-widget-resize-handle-svg-right{width:calc(20px * var(--widget-inv-scale, 1));height:calc(64px * var(--widget-inv-scale, 1))}.canvas-widget-resize-handle-path{fill:none;stroke:#111;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 0 rgba(255,255,255,.55))}@keyframes canvas-widget-resize-handle-wiggle{0%,to{transform:translateZ(0)}50%{transform:var(--resize-handle-wiggle-transform, translate3d(0, 0, 0))}}@media (prefers-reduced-motion: reduce){.ghost-block-arc-discovery,.ghost-block-plus-discovery,.ghost-block-plus-discovery svg,.time-block-resize-handle-visual-wiggle,.canvas-widget-resize-handle-visual-wiggle,.canvas-symbol-trigger-visual-pulse,.trafficlight-light-discovery,.trafficlight-light-discovery-active{animation:none}}.time-block.selected .time-block-arc{paint-order:stroke fill;stroke-linecap:round;stroke-linejoin:round;filter:none!important}.time-block-selection-outline,.time-block-selection-gap{pointer-events:none}.canvas-symbol-trigger{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;pointer-events:auto;border-radius:12px}.canvas-symbol-trigger-visual{display:inline-flex;align-items:center;justify-content:center;transform-origin:center;transition:transform .18s ease,filter .18s ease;will-change:transform,filter}.canvas-symbol-trigger-visual-discovery{filter:drop-shadow(0 0 3px rgba(59,92,211,.44)) drop-shadow(0 0 10px rgba(59,92,211,.3)) drop-shadow(0 0 20px rgba(59,92,211,.22))}.canvas-symbol-trigger-visual-pulse{animation:canvas-symbol-trigger-pulse 1.8s ease-in-out infinite}@keyframes canvas-symbol-trigger-pulse{50%{transform:scale(1.07)}0%,to{transform:scale(1)}}.canvas-symbol-trigger:focus-visible{outline:2px solid var(--primary-accent);outline-offset:3px}.canvas-symbol-trigger>.canvas-symbol-trigger-visual,.canvas-symbol-trigger img,.canvas-symbol-trigger span,.canvas-symbol-trigger svg{pointer-events:none}.countdown-symbol-trigger,.trafficlight-symbol-trigger,.weekly-symbol-trigger{border-radius:10px}.weekly-symbol-draggable{touch-action:none;cursor:grab;transition:transform .14s ease,opacity .14s ease,filter .14s ease}.weekly-symbol-draggable:active{cursor:grabbing}.weekly-symbol-trigger-source-dragging{opacity:.45;transform:scale(.96);filter:saturate(.92)}.weekly-day-editor-trigger{position:absolute;left:50%;top:50%;width:1px;height:1px;padding:0;opacity:0;pointer-events:none;transform:translate(-50%,-50%)}.weekly-day-editor-anchor{display:block;width:1px;height:1px}.weekly-symbol-drag-preview{position:fixed;z-index:2600;pointer-events:none;display:inline-flex;align-items:center;justify-content:center;transform:translateZ(0) scale(1.02);will-change:left,top,transform;filter:drop-shadow(0 14px 24px rgba(15,23,42,.22)) drop-shadow(0 4px 10px rgba(15,23,42,.14));transition:transform .12s ease,opacity .12s ease,filter .12s ease}.weekly-symbol-drag-preview-content{position:absolute;top:0;right:0;bottom:0;left:0;display:inline-flex;align-items:center;justify-content:center;z-index:1;transition:filter .12s ease,opacity .12s ease}.weekly-symbol-drag-preview img,.weekly-symbol-drag-preview span{display:block;pointer-events:none}.weekly-symbol-drag-preview .event-image,.weekly-symbol-drag-preview .event-icon{transform:scale(1.06);transform-origin:center}.weekly-symbol-drag-preview-dragging-delete{transform:translateZ(0) scale(.9);filter:drop-shadow(0 16px 28px rgba(239,68,68,.24)) drop-shadow(0 8px 16px rgba(15,23,42,.12));animation:weekly-symbol-delete-wobble .22s ease-in-out infinite}.weekly-symbol-drag-preview-dragging-delete .weekly-symbol-drag-preview-content{filter:saturate(.84) brightness(.94)}.weekly-symbol-drag-preview-dragging-delete .event-image,.weekly-symbol-drag-preview-dragging-delete .event-icon{filter:drop-shadow(0 0 4px rgba(239,68,68,.56)) drop-shadow(0 0 12px rgba(239,68,68,.4)) drop-shadow(0 0 24px rgba(239,68,68,.28))}.weekly-symbol-drag-preview-delete-exit{transform:translateZ(0) scale(.65);opacity:0;filter:drop-shadow(0 16px 30px rgba(220,38,38,.3)) drop-shadow(0 0 18px rgba(248,113,113,.18))}.weekly-symbol-drag-preview-delete-exit .weekly-symbol-drag-preview-content{opacity:.92;filter:saturate(.76) brightness(.9)}.weekly-symbol-drag-preview-delete-exit .event-image,.weekly-symbol-drag-preview-delete-exit .event-icon{filter:drop-shadow(0 0 5px rgba(239,68,68,.62)) drop-shadow(0 0 14px rgba(239,68,68,.46)) drop-shadow(0 0 28px rgba(239,68,68,.3))}.weekly-planner-delete-mode .weekly-day{box-shadow:0 8px 20px #0f172a14,inset 0 0 0 1px #dc262624}@keyframes weekly-symbol-delete-wobble{0%,to{transform:translateZ(0) scale(.9) rotate(0)}25%{transform:translateZ(0) scale(.9) rotate(-1.8deg)}75%{transform:translateZ(0) scale(.9) rotate(1.8deg)}}.canvas-inline-editor-popover{width:min(360px,calc(100vw - 24px));max-height:min(520px,calc(100vh - 24px));box-sizing:border-box;overflow:hidden;border:1px solid #dbe3f1;border-radius:18px;background:#fffffffa;box-shadow:0 24px 60px #0f172a38;padding:14px;z-index:4200}.canvas-inline-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.canvas-inline-editor-title{font-size:.95rem;font-weight:700;color:#0f172a}.canvas-inline-editor-subtitle{font-size:.8rem;color:#64748b;margin-top:2px}.canvas-inline-editor-section{display:flex;flex-direction:column;gap:8px}.canvas-inline-editor-section+.canvas-inline-editor-section{margin-top:12px}.canvas-inline-editor-section-icons{min-height:0}.canvas-inline-editor-label{font-size:.8rem;font-weight:700;color:#334155}.canvas-inline-editor-scroll{max-height:320px;overflow-y:auto;padding:2px 4px 2px 2px}.canvas-inline-editor-date-input{width:100%;min-height:40px;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:calc(var(--radius) - 2px);background:#fff;color:#0f172a;padding:0 12px;font:inherit}.canvas-inline-editor-date-input:focus{outline:2px solid rgba(59,92,211,.28);outline-offset:2px;border-color:#3b5cd3}.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:relative;display:flex;align-items:center;gap:4px;-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-number-trigger{border-radius:14px;margin:-4px;padding:4px}.countdown-number-trigger .canvas-symbol-trigger-visual{border-radius:10px}.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:relative;display:flex;align-items:center;-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,transform .15s ease,filter .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-light-discovery{animation:trafficlight-light-pulse 1.8s ease-in-out infinite;animation-delay:var(--trafficlight-discovery-delay, 0ms);will-change:opacity,transform,box-shadow}.trafficlight-light-discovery-active{animation-name:trafficlight-light-active-pulse}@keyframes trafficlight-light-pulse{0%,to{opacity:.35;transform:scale(1);box-shadow:none}50%{opacity:.55;transform:scale(1.04);box-shadow:0 0 10px #ffffff14,0 0 12px var(--light-glow)}}@keyframes trafficlight-light-active-pulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 14px var(--light-glow)}50%{opacity:1;transform:scale(1.05);box-shadow:0 0 18px 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}.weather-widget-container{position:relative;display:flex;align-items:center;pointer-events:auto;-webkit-user-select:none;user-select:none}.weather-widget-background{min-width:260px;min-height:230px;border-radius:calc(16px * var(--widget-inv-scale, 1));background-color:#fff;border:1px solid #000;box-shadow:0 10px 30px #0000001a;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}.weather-widget-background-error{background-color:#fff5f5}.weather-widget-header{display:flex;align-items:center;gap:6px;width:100%;box-sizing:border-box;background:#ffffffe6;padding:10px 16px;border-bottom:1px solid rgba(0,0,0,.1)}.weather-widget-map-pin{width:22px;height:22px;flex-shrink:0;color:#333}.weather-widget-city{font-size:18px;font-weight:700;color:#333}.weather-widget-temperature-large{color:#333;font-weight:700;font-size:24px}.weather-widget-body{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:1;padding:16px}.weather-widget-glyph{display:flex;align-items:center;justify-content:center;min-width:96px;min-height:82px;flex-shrink:0}.weather-widget-glyph-image{display:block;width:150px;height:auto;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.weather-widget-readout{display:flex;align-items:center;gap:10px}.weather-widget-thermometer{width:76px;height:170px;flex-shrink:0}.weather-widget-thermometer.weekly-day-weather-thermometer{width:22px;height:62px;transform:translateY(-1px)}.weather-widget-caption{font-size:12px;color:#555;padding:0 16px 12px}.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{z-index:10!important;position:absolute}.canvas-widget-shell{z-index:10!important}.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 .time-block-resize-handle-hit-target{stroke:transparent!important;pointer-events:stroke!important}.canvas-widget-move-surface{cursor:grab}.canvas-widget-move-surface.canvas-widget-move-surface-dragging{cursor:grabbing!important;opacity:.9;z-index:1000;-webkit-user-select:none;user-select:none}.canvas-widget-move-surface.canvas-widget-delete-dragging-delete{opacity:1}.canvas-widget-move-surface:not(.canvas-widget-move-surface-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}.weekly-symbol-pointer-active,.weekly-symbol-pointer-active *{cursor:grabbing!important;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}}.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}}.room-onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:stretch;justify-content:center;padding:28px;background-color:#f6edd7;background-position:center;background-repeat:no-repeat;background-size:cover;overflow:auto}.room-onboarding-shell{width:min(1180px,100%);min-height:calc(100vh - 56px);display:flex;flex-direction:column;gap:24px;padding:28px 34px 34px;border:4px solid #111827;border-radius:34px;background:#fffffff0;box-shadow:0 22px 44px #0f172a29}.room-onboarding-header{display:grid;grid-template-columns:120px minmax(0,1fr) 120px;align-items:start;gap:16px}.room-onboarding-header-actions{display:flex;justify-content:flex-end}.room-onboarding-language{display:inline-flex;align-items:center;gap:8px}.room-onboarding-language-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:36px;border:2px solid #111827;border-radius:10px;background:#fff;color:#111827;cursor:pointer;transition:transform .18s ease,background-color .18s ease}.room-onboarding-language-button:hover{transform:translateY(-1px);background:#f8fafc}.room-onboarding-language-button.is-active{background:#eef2ff;box-shadow:inset 0 0 0 2px #c7d2fe}.room-onboarding-brand{display:flex;justify-content:center;align-items:center;gap:16px;text-align:center}.room-onboarding-brand-logo{width:56px;height:56px;object-fit:contain;flex-shrink:0}.room-onboarding-brand-copy{display:flex;flex-direction:column;align-items:center}.room-onboarding-eyebrow{margin-bottom:6px;color:#475569;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.room-onboarding-title{margin:0;color:#111827;font-family:"Baloo 2",sans-serif;font-size:clamp(2.2rem,3.4vw,3.4rem);line-height:.95}.room-onboarding-subtitle{margin:4px 0 0;color:#1f2937;font-family:"Baloo 2",sans-serif;font-size:clamp(1rem,1.6vw,1.4rem);font-weight:600}.onboarding-close{margin-left:auto;color:#475569}.room-onboarding-progress{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.room-onboarding-progress-step{display:flex;align-items:center;gap:10px;min-height:56px;padding:10px 14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid #111827;border-radius:18px;background:#fff;color:#475569;cursor:pointer;text-align:left}.room-onboarding-progress-step.is-active{background:#dcfce7;color:#111827}.room-onboarding-progress-step.is-current{background:#e0e7ff}.room-onboarding-progress-step:disabled{cursor:default;opacity:.72}.room-onboarding-progress-index{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#111827;color:#fff;font-size:.9rem;font-weight:700;flex-shrink:0}.room-onboarding-progress-label{font-size:.95rem;font-weight:700;line-height:1.2}.room-onboarding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;min-height:0;flex:1}.room-onboarding-grid--balanced,.room-onboarding-grid--choice{grid-template-columns:repeat(2,minmax(0,1fr))}.room-onboarding-grid--landing{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:900px;margin:24px auto 0;flex:1}.onboarding-landing-info{grid-column:1 / -1;padding:18px 28px;border:3px solid #e2e8f0;border-radius:20px;background:#f8fafc;text-align:center}.onboarding-landing-info-text{margin:0;color:#334155;font-size:1.02rem;line-height:1.55}.onboarding-landing-card{display:flex;flex-direction:column;min-height:0;padding:0;border:4px solid #111827;border-radius:28px;background:#fff;color:inherit;text-align:center;text-decoration:none;overflow:hidden;cursor:pointer;box-shadow:0 12px 28px #0f172a14;transition:transform .18s ease,box-shadow .18s ease}.onboarding-landing-card:hover{transform:translateY(-3px);box-shadow:0 18px 34px #0f172a1f}.onboarding-landing-card-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:96px;padding:22px 22px 18px;background:#fff}.onboarding-landing-card-title{color:#111827;font-family:"Baloo 2",sans-serif;font-size:clamp(1.55rem,1.9vw,2rem);font-weight:700;line-height:1.05}.onboarding-landing-card-body{max-width:340px;color:#334155;font-size:.98rem;line-height:1.45}.onboarding-landing-card-visual{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:140px;padding:20px;overflow:hidden}.onboarding-landing-card-visual--peach{background:linear-gradient(180deg,#ffd9ad,#ffd4a2)}.onboarding-landing-card-visual--mint{background:linear-gradient(180deg,#b8f3cf,#a4ecc0)}.onboarding-landing-card-visual--pattern:before,.onboarding-landing-card-visual--pattern:after{content:"";position:absolute;top:18px;right:18px;bottom:18px;left:18px;border-radius:22px}.onboarding-landing-card-visual--pattern:before{border:2px dashed rgba(17,24,39,.12)}.onboarding-landing-card-visual--pattern:after{inset:auto;width:220px;height:220px;bottom:-72px;right:-38px;background:radial-gradient(circle,#ffffff47,#fff0 70%)}.onboarding-landing-card-illustration{position:relative;z-index:1;max-width:88%;max-height:100%;object-fit:contain;filter:drop-shadow(0 12px 20px rgba(15,23,42,.14))}.onboarding-landing-card-illustration--hero{max-width:92%}.onboarding-landing-card-illustration--info{max-width:80%}.onboarding-landing-card-chip{position:relative;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;margin-bottom:12px;border:3px solid #111827;border-radius:999px;background:#ffffffeb;color:#111827;font-family:"Baloo 2",sans-serif;font-size:1rem;font-weight:700;box-shadow:0 10px 18px #0f172a1f}.onboarding-card,.onboarding-choice-card,.onboarding-entry-card{border:4px solid #111827;border-radius:28px;background:#fff;box-shadow:0 10px 24px #0f172a14}.onboarding-card{display:flex;flex-direction:column;gap:18px;padding:24px}.onboarding-card h2{margin:0;color:#111827;font-family:"Baloo 2",sans-serif;font-size:1.4rem;line-height:1.1}.onboarding-card--aside{background:#fffdf6}.onboarding-entry-card{display:flex;flex-direction:column;justify-content:space-between;min-height:320px;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;text-align:left;color:inherit;text-decoration:none;overflow:hidden}.onboarding-entry-card-copy{display:flex;flex-direction:column;gap:10px;padding:24px 24px 18px;background:#fff}.onboarding-entry-card-visual{display:flex;align-items:flex-end;justify-content:space-between;min-height:170px;padding:22px 24px;background:#fde0b2}.onboarding-entry-card--start .onboarding-entry-card-visual{background:#b7f4cf}.onboarding-entry-title,.onboarding-choice-title,.onboarding-intro-title,.onboarding-setting-title{color:#111827;font-family:"Baloo 2",sans-serif;font-size:1.8rem;font-weight:700;line-height:1.05}.onboarding-entry-body,.onboarding-choice-body,.onboarding-setting-copy,.onboarding-intro-body,.onboarding-card--aside p{margin:0;color:#475569;font-size:1rem;line-height:1.5}.onboarding-entry-card-chip,.onboarding-choice-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:2px solid #111827;border-radius:999px;background:#ffffffc7;color:#111827;font-size:.92rem;font-weight:700}.onboarding-choice-card{display:flex;flex-direction:column;align-items:flex-start;min-height:280px;padding:24px;cursor:pointer;text-align:left;transition:transform .18s ease,box-shadow .18s ease}.onboarding-choice-card:hover,.onboarding-entry-card:hover,.onboarding-widget-option:hover{transform:translateY(-2px);box-shadow:0 16px 28px #0f172a1f}.onboarding-choice-icon,.onboarding-intro-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:2px solid #111827;border-radius:14px;background:#fff;color:#111827}.onboarding-choice-link{margin-top:auto}.onboarding-section-title{display:flex;align-items:center;gap:10px;color:#111827;font-family:"Baloo 2",sans-serif;font-size:1.25rem;font-weight:700}.onboarding-section{display:flex;flex-direction:column;gap:10px}.onboarding-helper-note{padding:12px 14px;border:2px solid #cbd5e1;border-radius:16px;background:#f8fafc;color:#334155;font-size:.92rem;line-height:1.45}.onboarding-section-heading{display:flex;flex-direction:column;gap:4px}.onboarding-label{display:block;color:#1f2937;font-size:.95rem;font-weight:700}.onboarding-input{width:100%;height:46px;padding:0 14px;border:2px solid #111827;border-radius:16px;background:#fff;color:#111827;font-size:.98rem}.onboarding-input:focus{outline:none;box-shadow:0 0 0 4px #3b5cd326}.onboarding-field-hint{margin:-6px 0 0;color:#64748b;font-size:.85rem;line-height:1.4}.onboarding-toggle-group{width:100%}.onboarding-widget-grid,.onboarding-intro-grid,.onboarding-share-grid{display:grid;gap:12px}.onboarding-widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-widget-option,.onboarding-card--intro{display:flex;align-items:center;gap:12px;min-height:62px;padding:14px 16px;border:2px solid #111827;border-radius:18px;background:#fff}.onboarding-background-preview{position:relative;width:100%;aspect-ratio:16 / 9;border:5px solid #111827;border-radius:34px;background-position:center;background-repeat:no-repeat;background-size:cover;overflow:hidden}.onboarding-room-scene{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;isolation:isolate}.onboarding-card .bg-options{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:12px}.onboarding-card .bg-option{border-width:3px;border-color:#111827;border-radius:16px}.onboarding-card .bg-option.selected{border-color:#3b5cd3;box-shadow:0 0 0 3px #3b5cd329}.onboarding-room-widget{position:absolute;pointer-events:none}.onboarding-room-widget-scale{position:relative;transform-origin:top left;pointer-events:none}.onboarding-room-widget--clock{top:6%;left:50%}.onboarding-room-widget-scale--clock{transform-origin:0 0;transform:scale(.34) translate(-50%)}.onboarding-room-widget--weekly{left:50%;top:70%}.onboarding-room-widget-scale--weekly{width:-webkit-max-content;width:max-content;transform-origin:0 0;transform:scale(.32) translate(-50%)}.onboarding-room-widget--countdown{top:38%;right:3%;left:auto}.onboarding-room-widget-scale--countdown{width:-webkit-max-content;width:max-content;transform-origin:top right;transform:scale(.44)}.onboarding-room-widget--traffic{top:4%;right:3%;left:auto}.onboarding-room-widget-scale--traffic{width:-webkit-max-content;width:max-content;transform-origin:top right;transform:scale(.29)}.onboarding-room-scene[data-right-layout=countdown-only] .onboarding-room-widget--countdown{top:25%}.onboarding-room-scene[data-right-layout=traffic-only] .onboarding-room-widget--traffic{top:20%}.onboarding-preview-countdown,.onboarding-preview-traffic{position:static;cursor:default;pointer-events:none;z-index:auto!important;transition:none!important}.onboarding-preview-countdown .countdown-background,.onboarding-preview-traffic .trafficlight-background{box-shadow:0 8px 18px #0f172a1f}.onboarding-list{margin:0;padding-left:22px;color:#475569;line-height:1.6}.onboarding-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.onboarding-summary-card{display:grid;gap:10px;padding:14px 16px;border:2px solid #111827;border-radius:18px;background:#fff7ed}.onboarding-summary-row{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#334155;font-size:.92rem}.onboarding-summary-row strong{color:#111827;text-align:right}.onboarding-error{padding:12px 14px;border:2px solid #b91c1c;border-radius:16px;background:#fef2f2;color:#b91c1c;font-size:.92rem;font-weight:600}.onboarding-settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:2px dashed #cbd5e1}.onboarding-section-title+.onboarding-settings-row{border-top:none}.onboarding-inline-field{display:flex;flex-direction:column;gap:8px}.onboarding-optional-panel{display:flex;flex-direction:column;gap:12px;padding-top:4px}.onboarding-share-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.onboarding-share-value,.onboarding-share-link{margin-top:8px;padding:14px 16px;border:2px solid #111827;border-radius:16px;background:#f8fafc;color:#111827;font-size:.95rem;word-break:break-all}.room-onboarding-grid--welcome{grid-template-columns:1fr;max-width:620px;margin:0 auto}.onboarding-welcome-hero{display:flex;flex-direction:column;align-items:center;gap:0;padding:0;border:4px solid #111827;border-radius:28px;background:#fff;box-shadow:0 10px 24px #0f172a14;cursor:pointer;text-align:center;text-decoration:none;color:inherit;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.onboarding-welcome-hero:hover{transform:translateY(-2px);box-shadow:0 16px 28px #0f172a1f}.onboarding-welcome-hero-image{width:100%;max-height:260px;object-fit:contain;padding:24px 24px 0}.onboarding-welcome-hero-copy{display:flex;flex-direction:column;gap:8px;padding:20px 24px 0}.onboarding-welcome-hero-action{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 24px 22px}.onboarding-welcome-info-link{display:flex;align-items:center;gap:16px;padding:14px 20px;border:2px solid #e2e8f0;border-radius:18px;background:#fafaf9;text-decoration:none;color:#475569;transition:background-color .18s ease,border-color .18s ease}.onboarding-welcome-info-link:hover{background:#f1f5f9;border-color:#cbd5e1}.onboarding-welcome-info-image{width:64px;height:64px;object-fit:contain;flex-shrink:0}.onboarding-welcome-info-text{display:flex;flex-direction:column;gap:2px;font-size:.92rem;line-height:1.4}.onboarding-welcome-info-action{display:inline-flex;align-items:center;gap:4px;color:#3b5cd3;font-weight:700;font-size:.88rem}.onboarding-room-type-desc{margin-top:2px}.onboarding-widget-option{align-items:flex-start}.onboarding-widget-icon{flex-shrink:0;margin-top:2px}.onboarding-widget-info{display:flex;flex-direction:column;gap:2px}.onboarding-widget-name{font-weight:700;font-size:.95rem;color:#111827}.onboarding-widget-desc{font-size:.82rem;color:#64748b;line-height:1.35}.onboarding-collapsible-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;border:none;background:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:inherit}.onboarding-collapsible-chevron{display:inline-block;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid #475569;transition:transform .2s ease}.onboarding-collapsible-chevron.is-open{transform:rotate(180deg)}.onboarding-collapsible-body{display:flex;flex-direction:column;gap:12px}.onboarding-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer}.onboarding-aside-illustration{display:block;width:80%;max-width:280px;margin:auto auto 0;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(15,23,42,.1));pointer-events:none}.onboarding-checklist{display:flex;flex-direction:column;gap:10px;margin-top:8px}.onboarding-checklist-title{color:#111827;font-family:"Baloo 2",sans-serif;font-size:1.05rem;font-weight:700}.onboarding-checklist-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border:2px solid #e2e8f0;border-radius:14px;background:#f8fafc;color:#334155;font-size:.92rem;line-height:1.4}.onboarding-checklist-item svg{flex-shrink:0;color:#475569}.onboarding-step-guide{display:flex;flex-direction:column;gap:12px;margin-top:8px}.onboarding-step-guide-item{display:flex;align-items:center;gap:12px;font-size:.92rem;color:#334155;line-height:1.4}.onboarding-step-guide-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#111827;color:#fff;font-size:.82rem;font-weight:700;flex-shrink:0}.onboarding-room-type-visual{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:4px}.onboarding-room-type-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;border:2px solid #e2e8f0;border-radius:18px;background:#f8fafc;text-align:center;transition:border-color .18s ease,background-color .18s ease}.onboarding-room-type-card.is-selected{border-color:#3b5cd3;background:#eef2ff}.onboarding-room-type-card-icons{display:flex;align-items:center;justify-content:center;gap:4px;color:#475569}.onboarding-room-type-card.is-selected .onboarding-room-type-card-icons{color:#3b5cd3}.onboarding-room-type-card-label{font-size:.82rem;font-weight:600;color:#475569}.onboarding-room-type-card.is-selected .onboarding-room-type-card-label{color:#111827}@media (max-width: 1040px){.room-onboarding-overlay{padding:18px}.room-onboarding-shell{min-height:calc(100vh - 36px);padding:24px}.room-onboarding-grid,.room-onboarding-grid--balanced,.room-onboarding-grid--choice,.room-onboarding-grid--landing{grid-template-columns:1fr}.room-onboarding-header{grid-template-columns:1fr;justify-items:center}.room-onboarding-header-actions{width:100%;justify-content:flex-end}.room-onboarding-language{justify-self:start}}@media (max-width: 700px){.room-onboarding-shell{border-radius:24px;padding:18px}.room-onboarding-brand{flex-direction:column}.room-onboarding-title{font-size:2.1rem}.onboarding-entry-title,.onboarding-choice-title,.onboarding-intro-title,.onboarding-setting-title{font-size:1.45rem}.onboarding-widget-grid,.room-onboarding-progress{grid-template-columns:1fr}.onboarding-settings-row,.onboarding-share-row{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.room-onboarding-grid--landing{grid-template-columns:1fr}.onboarding-landing-info{padding:14px 20px}.onboarding-landing-card-copy{padding:20px 18px 16px}.onboarding-landing-card-visual{min-height:120px}.onboarding-landing-card-chip{font-size:.92rem}}.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}}
