.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{bottom:0;top:0}.-right-0\.5{right:-.125rem}.-top-0\.5{top:-.125rem}.left-0{left:0}.left-\[12\%\]{left:12%}.left-\[8\%\]{left:8%}.right-0{right:0}.right-3{right:.75rem}.right-\[10\%\]{right:10%}.right-\[7\%\]{right:7%}.top-0{top:0}.top-3{top:.75rem}.top-\[18\%\]{top:18%}.top-\[54\%\]{top:54%}.top-\[6\%\]{top:6%}.top-\[62\%\]{top:62%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[2000\]{z-index:2000}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.\!hidden{display:none!important}.hidden{display:none}.aspect-\[1123\/1400\]{aspect-ratio:1123/1400}.aspect-\[1223\/1286\]{aspect-ratio:1223/1286}.aspect-\[1310\/794\]{aspect-ratio:1310/794}.aspect-\[1624\/969\]{aspect-ratio:1624/969}.aspect-\[2419\/1464\]{aspect-ratio:2419/1464}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.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-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-80{max-height:20rem}.max-h-\[92vh\]{max-height:92vh}.min-h-\[100svh\]{min-height:100svh}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-3\.5{width:.875rem}.w-3\/5{width:60%}.w-4{width:1rem}.w-4\/5{width:80%}.w-44{width:11rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-\[82vw\]{width:82vw}.w-\[92vw\]{width:92vw}.w-full{width:100%}.w-max{width:-webkit-max-content;width:max-content}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[1600px\]{max-width:1600px}.max-w-\[80\%\]{max-width:80%}.max-w-\[85\%\]{max-width:85%}.max-w-lg{max-width:32rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-center{transform-origin:center}.origin-left{transform-origin:left}.-rotate-90{--tw-rotate:-90deg}.-rotate-90,.scale-x-\[0\.96\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-x-\[0\.96\]{--tw-scale-x:0.96}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-bounce{animation:bounce 1s infinite}.resize{resize:both}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-start{scroll-snap-align:start}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.text-balance{text-wrap:balance}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-tl-sm{border-top-left-radius:.125rem}.rounded-tr-sm{border-top-right-radius:.125rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-slate-100{--tw-border-opacity:1;border-color:#f1f5f9;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.bg-\[\#f7f8fb\]{--tw-bg-opacity:1;background-color:#f7f8fb;background-color:rgb(247 248 251/var(--tw-bg-opacity,1))}.bg-\[var\(--line\)\]{background-color:var(--line)}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.bg-amber-100{--tw-bg-opacity:1;background-color:#fef3c7;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-300{--tw-bg-opacity:1;background-color:#fcd34d;background-color:rgb(252 211 77/var(--tw-bg-opacity,1))}.bg-background{--tw-bg-opacity:1;background-color:#05070a;background-color:rgb(5 7 10/var(--tw-bg-opacity,1))}.bg-emerald-300{--tw-bg-opacity:1;background-color:#6ee7b7;background-color:rgb(110 231 183/var(--tw-bg-opacity,1))}.bg-rose-300{--tw-bg-opacity:1;background-color:#fda4af;background-color:rgb(253 164 175/var(--tw-bg-opacity,1))}.bg-sky-100{--tw-bg-opacity:1;background-color:#e0f2fe;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.bg-sky-300{--tw-bg-opacity:1;background-color:#7dd3fc;background-color:rgb(125 211 252/var(--tw-bg-opacity,1))}.bg-sky-500{--tw-bg-opacity:1;background-color:#0ea5e9;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:#f1f5f9;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-900\/60{background-color:#0f172a99}.bg-violet-300{--tw-bg-opacity:1;background-color:#c4b5fd;background-color:rgb(196 181 253/var(--tw-bg-opacity,1))}.bg-wave{--tw-bg-opacity:1;background-color:#95d9f8;background-color:rgb(149 217 248/var(--tw-bg-opacity,1))}.bg-wave-deep{--tw-bg-opacity:1;background-color:#4fb3e6;background-color:rgb(79 179 230/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/80{background-color:#fffc}.bg-\[radial-gradient\(circle_at_50\%_38\%\2c rgba\(20\2c 28\2c 58\2c 0\.38\)\2c transparent_58\%\)\2c linear-gradient\(to_bottom\2c rgba\(15\2c 22\2c 48\2c 0\.16\)_0\%\2c rgba\(15\2c 22\2c 48\2c 0\.08\)_45\%\2c rgba\(15\2c 22\2c 48\2c 0\.42\)_100\%\)\]{background-image:radial-gradient(circle at 50% 38%,#141c3a61,#0000 58%),linear-gradient(180deg,#0f163029 0,#0f163014 45%,#0f16306b)}.bg-\[repeating-linear-gradient\(45deg\2c \#cbd8df_0px\2c \#cbd8df_2px\2c transparent_2px\2c transparent_4px\)\]{background-image:repeating-linear-gradient(45deg,#cbd8df,#cbd8df 2px,#0000 0,#0000 4px)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from:#0000 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-white\/20{--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#fff3 var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-transparent{--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.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-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-24{padding-bottom:6rem;padding-top:6rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-1{padding-bottom:.25rem}.pb-10{padding-bottom:2.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-4{padding-bottom:1rem}.pr-2{padding-right:.5rem}.pr-6{padding-right:1.5rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-28{padding-top:7rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-display{font-family:TAN New York,cursive}.font-geist{font-family:Geist,-apple-system,BlinkMacSystemFont,sans-serif}.font-plex-kr{font-family:IBM Plex Sans KR,sans-serif}.font-sf-pro{font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-6xl{font-size:3.75rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[19px\]{font-size:19px}.text-\[36px\]{font-size:36px}.text-\[9px\]{font-size:9px}.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-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.not-italic{font-style:normal}.leading-5{line-height:1.25rem}.leading-\[0\.98\]{line-height:.98}.leading-\[1\.05\]{line-height:1.05}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[-0\.03em\]{letter-spacing:-.03em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-\[var\(--ink\)\]{color:var(--ink)}.text-\[var\(--sub\)\]{color:var(--sub)}.text-amber-700{--tw-text-opacity:1;color:#b45309;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-background{--tw-text-opacity:1;color:#05070a;color:rgb(5 7 10/var(--tw-text-opacity,1))}.text-ink{--tw-text-opacity:1;color:#f3f7fa;color:rgb(243 247 250/var(--tw-text-opacity,1))}.text-sky-500{--tw-text-opacity:1;color:#0ea5e9;color:rgb(14 165 233/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:#0369a1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:#94a3b8;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:#475569;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:#1e293b;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:#0f172a;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-wave-light{--tw-text-opacity:1;color:#cdedfc;color:rgb(205 237 252/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/60{color:#fff9}.text-white\/85{color:#ffffffd9}.line-through{-webkit-text-decoration-line:line-through;text-decoration-line:line-through}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);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 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-black\/10{--tw-shadow-color:#0000001a;--tw-shadow:var(--tw-shadow-colored)}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{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)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f)}.drop-shadow-\[0_0_45px_rgba\(210\2c 160\2c 255\2c 0\.55\)\]{--tw-drop-shadow:drop-shadow(0 0 45px #d2a0ff8c)}.drop-shadow-\[0_0_45px_rgba\(210\2c 160\2c 255\2c 0\.55\)\],.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)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-md{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.transition{transition-duration:.15s;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-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;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-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-opacity{transition-duration:.15s}.will-change-transform{will-change:transform}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:500;margin:0;scrollbar-gutter:stable}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.ibm-plex-sans-condensed-light{font-weight:300}.ibm-plex-sans-condensed-light,.ibm-plex-sans-condensed-regular{font-family:IBM Plex Sans Condensed,sans-serif;font-style:normal}.ibm-plex-sans-condensed-regular{font-weight:400}.last\:border-b-0:last-child{border-bottom-width:0}.hover\:bg-\[var\(--wave-10\)\]:hover{background-color:var(--wave-10)}.hover\:bg-sky-600:hover{--tw-bg-opacity:1;background-color:#0284c7;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:#f1f5f9;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:text-slate-600:hover{--tw-text-opacity:1;color:#475569;color:rgb(71 85 105/var(--tw-text-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-sky-300:focus-visible{outline-color:#7dd3fc}.focus-visible\:outline-sky-400:focus-visible{outline-color:#38bdf8}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.group:hover .group-hover\:text-wave{--tw-text-opacity:1;color:#95d9f8;color:rgb(149 217 248/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-0{opacity:0}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.sm\:block{display:block}.sm\:w-\[380px\]{width:380px}.sm\:w-\[760px\]{width:760px}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:py-5{padding-bottom:1.25rem;padding-top:1.25rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-7xl{font-size:4.5rem;line-height:1}.sm\:text-\[16px\]{font-size:16px}.sm\:text-\[56px\]{font-size:56px}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:-mt-\[100vh\]{margin-top:-100vh}.lg\:h-\[130vh\]{height:130vh}.lg\:w-24{width:6rem}.lg\:w-\[30\%\]{width:30%}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:gap-16{gap:4rem}.lg\:border-l{border-left-width:1px}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}.lg\:py-0{padding-top:0}.lg\:pb-0,.lg\:py-0{padding-bottom:0}.lg\:pl-6{padding-left:1.5rem}.lg\:text-\[110px\]{font-size:110px}.lg\:text-\[42px\]{font-size:42px}.lg\:text-\[80px\]{font-size:80px}.lg\:leading-\[1\.1\]{line-height:1.1}}:root{--ink:#0b1e2d;--ink-soft:#41637a;--ink-16:#0b1e2d29;--ink-65:#0b1e2da6;--sub:#44596d;--line:#e5f4fb;--bg:#f5fafd;--surface:#fff;--surface-85:#ffffffd9;--surface-muted:#eef2f5;--track:#d8e5ec;--neutral-dot:#cbd8df;--stripe-a:#f7fcff;--stripe-b:#edf8fd;--shadow:#436f8929;--wave:#95d9f8;--wave-05:#95d9f80d;--wave-08:#95d9f814;--wave-10:#95d9f81a;--wave-15:#95d9f826;--wave-20:#95d9f833;--wave-25:#95d9f840;--wave-28:#95d9f847;--wave-30:#95d9f84d;--wave-35:#95d9f859;--wave-40:#95d9f866;--wave-60:#95d9f899;--wave-100:#95d9f8;--wave-deep:#136f9a;--wave-deepest:#0e4862;--good:#36d399;--good-15:#36d39926;--good-18:#36d3992e;--good-text:#1f9d6f;--warn:#f5b84b;--warn-15:#f5b84b26;--warn-20:#f5b84b33;--warn-text:#b9790e;--excellent-text:#1b6fa3;--danger:#e85d6e;--danger-strong:#e8496a;--danger-18:#e85d6e2e;--accent-plum:#b9a4f0;--accent-plum-soft:#e6def9;--accent-plum-bg-1:#f0def5;--accent-plum-bg-2:#e3c9ee;--accent-plum-2:#d3c4f5;--accent-pink-bg-1:#ffd9e4;--accent-pink-bg-2:#ffc2d4;--accent-mint:#9fe8d8;--accent-mint-bg-1:#d3f5ec;--accent-mint-bg-2:#b9ecdf;--accent-navy:#4a6fa5;--accent-navy-bg-1:#d7e3ee;--accent-navy-bg-2:#b9cee3;--accent-orange-bg-1:#ffe2c2;--accent-orange-bg-2:#ffcf9e;--accent-orange-bg-3:#ffe9d3;--accent-orange-bg-4:#ffd9ad;--accent-sky-bg:#d9eefb;--accent-stage-awake:#f0739a;--accent-stage-light:#7b6fea;--accent-stage-deep:#4c3fae}*{box-sizing:border-box}body{background:#f5fafd;background:var(--bg);color:#0b1e2d;color:var(--ink);overflow-wrap:break-word;word-break:keep-all}button{background:#0000;border:0;cursor:pointer;font:inherit}.app-shell{background:#f5fafd;background:var(--bg);display:flex;min-height:100vh}.eyebrow{color:#44596d;color:var(--sub);font-size:12px;font-weight:700;letter-spacing:.06em;margin:0;text-transform:uppercase}.device-dot{background:#cbd8df;display:inline-block;height:10px;width:10px}.device-dot.online{background:#36d399;box-shadow:0 0 0 4px #36d39926;box-shadow:0 0 0 4px var(--good-15)}.device-dot.idle{background:#f5b84b;background:var(--warn);box-shadow:0 0 0 4px #f5b84b26;box-shadow:0 0 0 4px var(--warn-15)}.device-dot.missing,.device-dot.offline{background:#e85d6e;background:var(--danger);box-shadow:0 0 0 4px #e85d6e2e;box-shadow:0 0 0 4px var(--danger-18)}.iot-device-card.unavailable{cursor:not-allowed;opacity:.55}.iot-toast{background:#0b1e2d;box-shadow:0 8px 24px #0b1e2d29;color:#fff}:where(.landing-page){overflow-x:hidden}:where(.landing-page) :where(h1,h2,h3,p,ul){margin:0;padding:0}:where(.landing-page) :where(ul){list-style:none}:where(.landing-page) :where(button){background:none;border:none;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:inherit}:where(.landing-page) :where(a){color:inherit;text-decoration:none}:where(.landing-page *),:where(.landing-page :after),:where(.landing-page :before){box-sizing:border-box}.landing-page section[id]{scroll-margin-top:88px}.landing-page .pin-spacer{pointer-events:none}.landing-page .pin-spacer>*{pointer-events:auto}.landing-page ::selection{background:#95d9f8;color:#05070a}.landing-page .text-balance{text-wrap:balance}.landing-page .hero-sparkle{animation:wh-twinkle 3s ease-in-out infinite;pointer-events:none;position:absolute;z-index:2}@keyframes wh-twinkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.landing-page .chart-line{stroke-dasharray:1;stroke-dashoffset:1;animation:wh-chart-draw 1.45s cubic-bezier(.22,1,.36,1) forwards,wh-chart-pulse 3.8s ease-in-out 1.45s infinite}.landing-page .chart-area{animation:wh-chart-area 1.1s ease-out .35s forwards;opacity:0}.landing-page .score-ring{stroke-dashoffset:var(--score-length);animation:wh-score-fill 1.35s cubic-bezier(.22,1,.36,1) forwards,wh-score-glow 3.6s ease-in-out 1.35s infinite}@keyframes wh-chart-draw{to{stroke-dashoffset:0}}@keyframes wh-chart-area{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes wh-chart-pulse{0%,to{filter:drop-shadow(0 0 0 rgba(149,217,248,0))}50%{filter:drop-shadow(0 0 10px rgba(149,217,248,.36))}}@keyframes wh-score-fill{to{stroke-dashoffset:var(--score-offset)}}@keyframes wh-score-glow{0%,to{filter:drop-shadow(0 0 0 rgba(149,217,248,0))}50%{filter:drop-shadow(0 0 12px rgba(149,217,248,.42))}}@media (prefers-reduced-motion:reduce){.landing-page *,.landing-page :after,.landing-page :before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}.wh-hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.wh-hide-scrollbar::-webkit-scrollbar{display:none}.insight-chat{background:var(--surface);border-left:1px solid var(--line);flex-shrink:0;height:100vh;order:3;overflow:hidden;position:-webkit-sticky;position:sticky;top:0;transition:width .28s ease;width:0}.insight-chat.open{width:340px}.insight-chat-inner{display:flex;flex-direction:column;height:100%;width:340px}.insight-chat-head{align-items:center;border-bottom:1px solid var(--line);display:flex;flex-shrink:0;height:64px;justify-content:space-between;padding:0 18px}.insight-chat-brand{align-items:center;display:flex;gap:8px}.insight-chat-spark{color:var(--excellent-text);font-size:16px}.insight-chat-close{background:#0000;border:0;border-radius:50%;color:var(--sub);cursor:pointer;display:grid;height:30px;place-items:center;width:30px}.insight-chat-close:hover{background:var(--wave-10);color:var(--ink)}.insight-chat-body{display:flex;flex:1 1;flex-direction:column;gap:10px;overflow-y:auto;padding:16px 18px}.insight-chat-bubble{border-radius:16px;font-size:13px;line-height:1.5;max-width:88%;padding:10px 14px}.insight-chat-bubble.assistant{align-self:flex-start;background:var(--wave-10);border-bottom-left-radius:4px;color:var(--ink)}.insight-chat-bubble.user{align-self:flex-end;background:var(--ink);border-bottom-right-radius:4px;color:var(--surface)}.insight-chat-suggestions{flex-shrink:0;padding:0 18px 14px;position:relative}.insight-chat-suggestions:before{background:linear-gradient(to bottom,#0000,var(--surface));bottom:100%;content:"";height:64px;left:0;pointer-events:none;position:absolute;right:0}.insight-chat-suggestions p{color:var(--sub);font-size:12px;font-weight:700;margin:0 0 8px}.insight-chat-chip-list{display:flex;flex-wrap:wrap;gap:8px}.insight-chat-chip-list button{background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--ink);cursor:pointer;font-size:12px;font-weight:700;padding:8px 12px}.insight-chat-chip-list button:hover{background:var(--wave-05);border-color:var(--wave)}.insight-chat-input-row{border-top:1px solid var(--line);display:flex;flex-shrink:0;gap:8px;padding:14px 18px}.insight-chat-input-row input{border:1px solid var(--line);border-radius:999px;flex:1 1;font:inherit;height:42px;padding:0 14px}.insight-chat-input-row button{background:var(--wave);border:0;border-radius:50%;color:var(--ink);cursor:pointer;display:grid;flex-shrink:0;font-size:16px;font-weight:900;height:42px;place-items:center;width:42px}.content.chat-active{overflow:hidden;padding:0}.chat-page{background:var(--bg);display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-main-topbar{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;min-height:0;padding:8px 16px 0}.chat-main-topbar:empty{display:none}.chat-conv-toggle-btn{align-items:center;background:#0000;border:none;border-radius:7px;color:var(--sub);cursor:pointer;display:flex;height:32px;justify-content:center;transition:background .12s,color .12s;width:32px}.chat-conv-toggle-btn:hover{background:var(--wave-10);color:var(--ink)}.chat-shrink-btn{align-items:center;background:#0000;border:1px solid var(--line);border-radius:8px;color:var(--sub);cursor:pointer;display:flex;font-size:12px;gap:5px;padding:6px 12px;transition:background .12s,color .12s,border-color .12s;white-space:nowrap}.chat-shrink-btn:hover{background:var(--wave-10);border-color:var(--wave-30);color:var(--wave)}.chat-page-body{display:flex;flex:1 1;min-height:0;overflow:hidden}.chat-conv-overlay{display:none}.chat-conv-sidebar{background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;flex-shrink:0;min-width:200px;overflow:hidden;transition:width .22s ease,min-width .22s ease,border-color .22s ease;width:240px}.chat-conv-sidebar.collapsed{border-color:#0000;min-width:0;width:0}.chat-conv-header{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:6px;padding:8px 10px 8px 8px}.conv-list-root{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.conv-new-row{align-items:center;background:#0000;border:none;border-radius:8px;cursor:pointer;display:flex;flex-shrink:0;font-size:12.5px;font-weight:600;gap:8px;margin:8px 8px 0;padding:9px 10px;text-align:left;transition:background .12s;width:calc(100% - 16px)}.conv-new-row:hover{background:var(--wave-10)}.conv-separator{border:none;border-top:1px solid var(--line);flex-shrink:0;margin:8px 8px 4px}.conv-scroll{display:flex;flex:1 1;flex-direction:column;gap:2px;overflow-y:auto;padding:0 8px 8px}.conv-empty{color:var(--sub);font-size:12px;padding:24px 8px;text-align:center}.conv-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:6px;min-width:0;padding:8px 10px;position:relative;transition:background .12s}.conv-item:hover{background:var(--wave-10)}.conv-item.active,.conv-item.menu-open{background:var(--wave-15)}.conv-title{align-items:center;color:var(--ink);display:flex;font-size:12.5px;gap:4px}.conv-title,.conv-title-text{flex:1 1;min-width:0;overflow:hidden}.conv-title-text{text-overflow:ellipsis;white-space:nowrap}.conv-pin-mark{color:var(--wave);flex-shrink:0}.conv-actions{align-items:center;display:flex;flex-shrink:0;margin-left:auto;opacity:0;pointer-events:none;position:relative;transition:opacity .12s}.conv-item.active .conv-actions,.conv-item.menu-open .conv-actions,.conv-item:hover .conv-actions{opacity:1;pointer-events:auto}.conv-kebab-btn{align-items:center;background:#0000;border:none;border-radius:5px;color:var(--sub);cursor:pointer;display:flex;height:24px;justify-content:center;transition:background .12s,color .12s;width:24px}.conv-kebab-btn:hover{background:var(--wave-20);color:var(--ink)}.conv-menu{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 20px #0000001f;display:flex;flex-direction:column;min-width:128px;padding:4px;position:absolute;right:0;top:calc(100% + 2px);z-index:20}.conv-menu-item{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--ink);cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:7px;padding:7px 9px;text-align:left;transition:background .1s;white-space:nowrap}.conv-menu-item:hover{background:var(--wave-10)}.conv-menu-item.danger{color:#ef4444}.conv-menu-item.danger:hover{background:#ef44441a}.conv-edit-input{background:var(--bg);border:1px solid var(--wave-30);border-radius:5px;color:var(--ink);font-size:12.5px;max-width:70%;min-width:0;outline:none;padding:3px 7px}.conv-edit-input:focus{border-color:var(--wave)}.chat-core,.chat-main-area{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.chat-core--compact .chat-messages-area{padding:12px 12px 6px}.chat-topbar-left{align-items:center;display:flex;gap:6px}.chat-topbar-right{align-items:center;display:flex;gap:4px;margin-left:auto}.chat-messages-wrap{overflow:hidden;position:relative}.chat-messages-area,.chat-messages-wrap{display:flex;flex:1 1;flex-direction:column}.chat-messages-area{overflow-y:auto;padding:24px 20px 12px}@keyframes chat-welcome-in{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes chat-card-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.chat-welcome{margin:auto;max-width:560px;opacity:0;padding:24px 0;text-align:center}.chat-welcome--entered{animation:chat-welcome-in .35s cubic-bezier(.22,1,.36,1) forwards}.chat-welcome-icon{align-items:center;color:var(--wave);display:flex;justify-content:center;line-height:1;margin-bottom:12px}.chat-demo-notice{background:linear-gradient(135deg,var(--wave-15),var(--wave-08));border:1px solid var(--wave-35);border-left:3px solid var(--excellent-text);border-radius:12px;box-shadow:0 1px 6px #1b6fa314;color:var(--ink);font-size:13px;line-height:1.55;margin:0 0 24px;padding:14px 16px 14px 18px;text-align:left}.chat-demo-notice strong{color:var(--excellent-text);display:block;font-size:13.5px;font-weight:700;margin-bottom:6px}.chat-demo-notice p{color:var(--ink-soft);margin:0 0 6px}.chat-demo-notice p:last-child{margin-bottom:0}.chat-demo-notice em{color:var(--ink);font-style:normal;font-weight:600}.chat-welcome-title{color:var(--ink);font-size:20px;font-weight:700;margin:0 0 6px}.chat-welcome-sub{color:var(--sub);font-size:13.5px;margin:0 0 28px}.chat-suggestions-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;text-align:left}.chat-suggestion-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:4px;opacity:0;padding:14px 14px 12px;text-align:left;transition:border-color .15s,box-shadow .15s,transform .12s}.chat-suggestion-card--entered{animation:chat-card-in .38s cubic-bezier(.22,1,.36,1) both;animation-delay:.28s;animation-delay:calc(.28s + var(--card-idx, 0)*65ms)}.chat-suggestion-card:hover{border-color:var(--wave-30);box-shadow:0 2px 10px #0000000f;transform:translateY(-1px)}.chat-suggestion-icon{font-size:20px;margin-bottom:2px}.chat-suggestion-card strong{color:var(--ink);font-size:12.5px;font-weight:600}.chat-suggestion-card span:last-child{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--sub);display:-webkit-box;font-size:11.5px;line-height:1.4;overflow:hidden}@keyframes chat-cursor-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes chat-dots{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.chat-cursor-blink{display:none}.chat-streaming-text{line-height:1.55;white-space:pre-wrap;word-break:break-word}@keyframes chat-stream-fade{0%{opacity:.28}to{opacity:1}}.chat-stream-fade{animation:chat-stream-fade .12s ease-out}.chat-activity-line{align-items:center;color:var(--sub);display:inline-flex;font-size:11.5px;gap:6px;margin-bottom:8px}.chat-activity-spinner{animation:chat-tool-spin .8s linear infinite;border:2px solid var(--wave-20);border-radius:50%;border-top-color:var(--wave);height:12px;width:12px}@keyframes chat-tool-spin{to{transform:rotate(1turn)}}.chat-tool-line-icon{align-items:center;display:inline-flex;flex-shrink:0;height:14px;justify-content:center;margin-top:1px;width:14px}.chat-tool-spinner{animation:chat-tool-spin .8s linear infinite;border:1.5px solid var(--wave-20);border-radius:50%;border-top-color:var(--wave);box-sizing:border-box;flex-shrink:0;height:10px;width:10px}.chat-tool-check{color:#16a34a;flex-shrink:0;font-size:10px;line-height:1}.chat-tool-fail{align-items:center;background:#fee2e2;border:1px solid #fca5a5;border-radius:3px;box-sizing:border-box;color:#dc2626;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:700;height:14px;justify-content:center;line-height:1;width:14px}.chat-tool-result{font-weight:400;opacity:.75}.chat-tool-log{contain:layout style;margin-bottom:6px;min-height:22px;min-width:0}.chat-tool-log.has-response{background:var(--wave-05);border:1px solid var(--wave-20);border-radius:8px;overflow:hidden}.chat-tool-log-toggle{align-items:center;animation:chat-tool-toggle-in .14s ease-out;background:#0000;border:none;color:var(--sub);cursor:pointer;display:flex;font-size:11.5px;gap:6px;padding:6px 10px;text-align:left;width:100%}.chat-tool-log-toggle:hover{color:var(--text)}.chat-tool-log-chevron{border-bottom:4px solid #0000;border-left:5px solid;border-top:4px solid #0000;flex-shrink:0;height:0;transition:transform .16s ease;width:0}.chat-tool-log-chevron.is-open{transform:rotate(90deg)}@keyframes chat-tool-toggle-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.chat-tool-log-body{overflow:hidden;transition:max-height .2s ease,opacity .15s ease}.chat-tool-log:not(.has-response) .chat-tool-log-body{max-height:none;opacity:1}.chat-tool-log.has-response.is-collapsed .chat-tool-log-body{max-height:0;opacity:0}.chat-tool-log.has-response:not(.is-collapsed) .chat-tool-log-body{max-height:480px;opacity:1}.chat-tool-log-lines{display:flex;flex-direction:column;gap:2px;padding:2px 0 4px}.chat-tool-log.has-response:not(.is-collapsed) .chat-tool-log-lines{border-top:1px solid var(--wave-20);padding:4px 8px 6px}.chat-tool-line{align-items:flex-start;border-radius:4px;box-sizing:border-box;display:flex;font-size:11.5px;font-weight:500;gap:6px;line-height:1.45;min-height:22px;padding:3px 4px}.chat-tool-line,.chat-tool-line.done,.chat-tool-line.running{color:var(--sub)}.chat-tool-line.failed{color:#dc2626}.chat-tool-line.failed .chat-tool-line-result{color:#b91c1c;opacity:1}.chat-tool-line.is-entering{animation:none}.chat-tool-line-text{align-items:baseline;display:flex;flex:1 1;flex-wrap:wrap;gap:4px;min-width:0}.chat-tool-line-label{flex-shrink:0}.chat-tool-line-result{font-weight:400;opacity:.8;word-break:break-word}.chat-streaming-dots-anim{display:inline-block;height:1em;position:relative;vertical-align:middle;width:28px}.chat-streaming-dots-anim:before{animation:chat-dots 1.2s infinite;color:var(--sub);content:"●●●";font-size:10px;left:0;letter-spacing:3px;position:absolute;top:50%;transform:translateY(-50%)}.chat-thinking{background:var(--wave-05);border:1px solid var(--wave-20);border-radius:8px;margin-bottom:8px;overflow:hidden}.chat-thinking-summary{color:var(--sub);cursor:pointer;font-size:11.5px;list-style:none;padding:6px 10px;-webkit-user-select:none;user-select:none}.chat-thinking-summary::-webkit-details-marker,.chat-thinking-summary::marker{display:none}.chat-thinking-summary:before{content:"▶ ";font-size:9px;margin-right:4px}details[open] .chat-thinking-summary:before{content:"▼ "}.chat-thinking-body{border-top:1px solid var(--wave-20);color:var(--sub);font-size:11.5px;line-height:1.6;padding:6px 10px 8px;white-space:pre-wrap}.chat-bubble-list{display:flex;flex-direction:column;gap:14px;padding-bottom:8px}.chat-scroll-spacer{flex-shrink:0;pointer-events:none;width:100%}.chat-messages-area.is-pinning,.chat-popup-messages.is-pinning{scroll-behavior:smooth}.chat-bubble-row{align-items:flex-start;display:flex;gap:10px}.chat-bubble-row.user{flex-direction:row-reverse}.chat-bubble-row.is-new{animation:chat-bubble-in .22s ease forwards}.chat-bubble-row.user.is-pinned{animation:chat-user-pin .38s cubic-bezier(.22,1,.36,1) both;box-sizing:initial;padding-top:16px}@keyframes chat-user-pin{0%{opacity:.55;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-bubble-avatar{background:linear-gradient(145deg,var(--wave-35),var(--wave));border:1px solid #1b6fa352;border-radius:50%;box-shadow:0 1px 4px #1b6fa329;color:var(--excellent-text);display:grid;flex-shrink:0;height:30px;place-items:center;width:30px}.chat-bubble-avatar svg{display:block}.chat-bubble{border-radius:14px;font-size:13.5px;line-height:1.6;max-width:70%;padding:10px 14px;white-space:pre-wrap;word-break:break-word}.chat-bubble.assistant{background:var(--surface);border:1px solid var(--line);border-top-left-radius:4px;box-sizing:border-box;color:var(--ink)}.chat-bubble.assistant,.chat-bubble.assistant.streaming{min-width:min(280px,100%)}.chat-core--compact .chat-bubble.assistant,.chat-core--compact .chat-bubble.assistant.streaming{min-width:min(200px,100%)}.chat-bubble.user{background:var(--wave);border-top-right-radius:4px;color:#000}.markdown-message{white-space:normal}.markdown-message h3,.markdown-message h4,.markdown-message h5,.markdown-message p,.markdown-message ul{margin:0}.markdown-message p+h3,.markdown-message p+h4,.markdown-message p+p,.markdown-message ul+h3,.markdown-message ul+h4,.markdown-message ul+p,.markdown-table-wrap+p{margin-top:10px}.markdown-message h3,.markdown-message h4,.markdown-message h5{color:var(--ink);font-weight:900;line-height:1.35}.markdown-message h3{font-size:18px}.markdown-message h4{font-size:16px}.markdown-message h5{font-size:14px}.markdown-message strong{font-weight:900}.markdown-message em{color:var(--sub);font-style:italic}.markdown-message code{background:var(--wave-10);border-radius:5px;font-size:.92em;padding:1px 5px}.markdown-code-block{background:#f8fafc;background:var(--surface-muted,#f8fafc);border:1px solid var(--line);border-radius:12px;margin:10px 0;overflow:hidden;position:relative}.markdown-code-block+h3,.markdown-code-block+h4,.markdown-code-block+p,.markdown-code-block+ul,p+.markdown-code-block,ul+.markdown-code-block{margin-top:10px}.markdown-code-pre{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12.5px;line-height:1.55;margin:0;overflow-x:auto;padding:12px 40px 12px 14px;white-space:pre}.markdown-code-pre code{background:#0000;border-radius:0;color:inherit;font-size:inherit;padding:0}.markdown-code-copy{align-items:center;background:#fff;background:var(--surface,#fff);border:1px solid var(--line);border-radius:8px;color:var(--sub);cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:0;position:absolute;right:8px;top:8px;transition:color .12s ease,border-color .12s ease,background .12s ease;width:28px}.markdown-code-copy:hover{background:var(--wave-05);border-color:var(--wave);color:var(--ink)}.markdown-code-copy.is-copied{border-color:color-mix(in srgb,#16a34a 35%,var(--line));color:#16a34a}.markdown-message hr{border:0;border-top:1px solid var(--line);margin:14px 0}.markdown-list{padding-left:18px}.markdown-list li+li{margin-top:5px}.markdown-table-wrap{margin:12px 0;max-width:100%;overflow-x:auto}.markdown-table{border-collapse:collapse;font-size:12px;width:100%}.markdown-table td,.markdown-table th{border:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}.markdown-table th{background:var(--wave-05);font-weight:900}.chat-input-area{background:var(--surface);border-top:1px solid var(--line);padding:12px 20px 18px}.chat-input-form{align-items:flex-end;background:var(--bg);border:1px solid var(--line);border-radius:14px;display:flex;gap:8px;padding:6px 6px 6px 14px;transition:border-color .15s}.chat-input-form:focus-within{border-color:var(--wave-30)}.chat-input{background:#0000;border:none;color:var(--ink);flex:1 1;font-family:inherit;font-size:13.5px;line-height:1.5;max-height:200px;min-height:24px;outline:none;overflow-wrap:break-word;overflow-y:hidden;padding:4px 0;resize:none}.chat-input::placeholder{color:var(--sub)}.chat-mic-error{color:#c04545;font-size:12px;margin:0 0 8px}.chat-mic-btn{align-items:center;background:#0000;border:1px solid var(--line);border-radius:10px;color:var(--ink);cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;transition:opacity .15s,transform .1s,background .15s,border-color .15s,color .15s;width:34px}.chat-mic-btn:disabled{cursor:default;opacity:.4;transform:none}.chat-mic-btn:not(:disabled):hover{opacity:.85;transform:scale(1.05)}.chat-mic-btn.is-listening{animation:chat-mic-pulse 1.4s ease-in-out infinite;background:#c445451f;border-color:#c4454573;color:#c04545}@keyframes chat-mic-pulse{0%,to{box-shadow:0 0 0 0 #c4454500}50%{box-shadow:0 0 0 4px #c445451f}}.chat-send-btn{align-items:center;background:var(--wave);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;transition:opacity .15s,transform .1s;width:34px}.chat-send-btn:disabled{cursor:default;opacity:.4;transform:none}.chat-send-btn:not(:disabled):hover{opacity:.85;transform:scale(1.05)}@media (max-width:760px){.content.chat-active{flex:1 1;min-height:0;overflow:hidden;padding:0}.chat-page-body{position:relative}.chat-page-body--mobile .chat-conv-overlay{background:#00000040;display:block;inset:0;position:absolute;z-index:9}.chat-page-body--mobile .chat-conv-sidebar{border-left:1px solid var(--line);border-right:0;box-shadow:-4px 0 20px #0000001f;height:100%;left:auto;max-width:300px;min-width:0;min-width:auto;position:absolute;right:0;top:0;transition:transform .22s ease,box-shadow .22s ease;width:min(300px,86vw);z-index:10}.chat-page-body--mobile .chat-conv-sidebar.collapsed{border-color:#0000;box-shadow:none;max-width:300px;min-width:0;transform:translateX(100%);width:min(300px,86vw)}.chat-shrink-btn{display:none}.chat-suggestions-grid{grid-template-columns:1fr}.chat-bubble{max-width:88%}.chat-messages-area{padding:16px 12px 8px}.chat-input-area{padding:10px 12px 14px}}@keyframes chat-popup-enter{0%{opacity:0;transform:scale(.9) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes chat-bubble-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-popup{animation:chat-popup-enter .22s ease forwards;background:var(--surface);border:1px solid var(--line);border-radius:16px;bottom:24px;box-shadow:0 8px 32px #00000024,0 2px 8px #0000000f;display:flex;flex-direction:column;overflow:hidden;position:fixed;right:24px;transition:width .25s ease,height .25s ease;-webkit-user-select:none;user-select:none;z-index:1000}.chat-popup--popup{height:520px;width:380px}.chat-popup--mini{height:48px;width:320px}.chat-popup-rh{position:absolute;touch-action:none;z-index:15}.chat-popup-rh--n{height:6px;left:12px;right:12px;top:0}.chat-popup-rh--s{bottom:0;height:6px;left:12px;right:12px}.chat-popup-rh--e{bottom:12px;right:0;top:12px;width:6px}.chat-popup-rh--w{bottom:12px;left:0;top:12px;width:6px}.chat-popup-rh--ne{height:14px;right:0;top:0;width:14px}.chat-popup-rh--nw{height:14px;left:0;top:0;width:14px}.chat-popup-rh--se{bottom:0;height:14px;right:0;width:14px}.chat-popup-rh--sw{bottom:0;height:14px;left:0;width:14px}.chat-popup-header{align-items:center;background:var(--surface);border-bottom:1px solid var(--line);display:flex;flex-shrink:0;gap:6px;height:48px;justify-content:space-between;padding:0 8px 0 14px;-webkit-user-select:none;user-select:none}.chat-popup--mini .chat-popup-header{border-bottom:none}.chat-popup-header-left{align-items:center;display:flex;flex:1 1;gap:7px;min-width:0;overflow:hidden}.chat-popup-icon{color:var(--wave);flex-shrink:0;font-size:14px}.chat-popup-conv-label,.chat-popup-mini-label{color:var(--ink);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-popup-header-actions{align-items:center;display:flex;flex-shrink:0;gap:1px}.chat-popup-action-btn{align-items:center;background:#0000;border:none;border-radius:7px;color:var(--sub);cursor:pointer;display:flex;height:28px;justify-content:center;transition:background .12s,color .12s;width:28px}.chat-popup-action-btn.active,.chat-popup-action-btn:hover{background:var(--wave-10);color:var(--wave)}.chat-popup-conv-panel{background:var(--bg);display:flex;flex:1 1;flex-direction:column;overflow:hidden}.chat-popup-messages{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:14px 14px 8px}.chat-popup-welcome{display:flex;flex-direction:column;gap:8px;margin:auto 0;padding:8px 0}.chat-popup-suggestions{display:flex;flex-direction:column;gap:6px}.chat-popup-welcome-hint{color:var(--sub);font-size:12px;margin:0 0 4px;text-align:center}.chat-popup-suggestion{align-items:flex-start;background:var(--bg);border:1px solid var(--line);border-radius:10px;color:var(--ink);cursor:pointer;display:flex;font-size:12px;gap:8px;line-height:1.4;padding:10px 12px;text-align:left;transition:border-color .15s,background .12s}.chat-popup-suggestion:hover{background:var(--wave-10);border-color:var(--wave-30)}.chat-popup-suggestion-icon{flex-shrink:0;font-size:16px;line-height:1.2}.chat-popup-bubble-list{display:flex;flex-direction:column;gap:10px}.chat-popup-bubble-row{align-items:flex-start;display:flex;gap:7px}.chat-popup-bubble-row.user{flex-direction:row-reverse}.chat-popup-bubble-row.is-new{animation:chat-bubble-in .22s ease forwards}.chat-popup-avatar{background:var(--wave-10);border:1px solid var(--wave-30);border-radius:50%;color:var(--wave);display:grid;flex-shrink:0;font-size:10px;height:24px;place-items:center;width:24px}.chat-popup-bubble{border-radius:12px;font-size:12.5px;line-height:1.5;max-width:78%;padding:8px 11px;white-space:pre-wrap;word-break:break-word}.chat-popup-bubble.assistant{background:var(--surface);border:1px solid var(--line);border-top-left-radius:3px;color:var(--ink)}.chat-popup-bubble.user{background:var(--wave);border-top-right-radius:3px;color:#000}.chat-popup-input-area{background:var(--surface);border-top:1px solid var(--line);flex-shrink:0;padding:8px 10px 10px}.chat-popup-input-form{align-items:flex-end;background:var(--bg);border:1px solid var(--line);border-radius:11px;display:flex;gap:6px;padding:4px 4px 4px 11px;transition:border-color .15s}.chat-popup-input-form:focus-within{border-color:var(--wave-30)}.chat-popup-input{background:#0000;border:none;color:var(--ink);flex:1 1;font-family:inherit;font-size:12.5px;line-height:1.5;max-height:160px;min-height:22px;outline:none;overflow-wrap:break-word;overflow-y:hidden;padding:3px 0;resize:none}.chat-popup-input::placeholder{color:var(--sub)}@media (max-width:760px){.chat-popup--popup{height:480px}.chat-popup--mini,.chat-popup--popup{left:12px;right:12px;width:calc(100vw - 24px)}.insight-chat{height:100vh;position:fixed;right:0;top:0;width:0}.insight-chat.open{width:100vw}}@keyframes wave-circle-expand{0%{-webkit-clip-path:circle(0 at 92% 6%);clip-path:circle(0 at 92% 6%);opacity:1}to{-webkit-clip-path:circle(162% at 92% 6%);clip-path:circle(162% at 92% 6%);opacity:1}}@keyframes wave-ripple-out{0%{opacity:.66;transform:scale(0)}80%{opacity:.28;transform:scale(1)}to{opacity:0;transform:scale(1.08)}}@keyframes wave-overlay-fade{0%,60%{opacity:1}to{opacity:0}}@keyframes wave-surface-rise{0%{opacity:0;transform:translateY(38px)}to{opacity:1;transform:translateY(0)}}@keyframes wave-bubble-float{0%{opacity:0;transform:translate3d(0,56px,0) scale(.45)}18%{opacity:.78;opacity:var(--bubble-alpha,.78)}to{opacity:0;transform:translate3d(20px,-86vh,0) scale(1.14);transform:translate3d(var(--bubble-drift,20px),-86vh,0) scale(1.14)}}.wave-overlay{animation:wave-overlay-fade .75s ease forwards;inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:20}.wave-overlay-fill{animation:wave-circle-expand .48s cubic-bezier(.4,0,.2,1) forwards;background:radial-gradient(circle at 22% 22%,#ffffff8c,#0000 18%),radial-gradient(circle at 78% 24%,#bae1ff6b,#0000 24%),linear-gradient(145deg,#dff3ff,#64b4f0d1 48%,#8ce6d2c7);-webkit-clip-path:circle(0 at 92% 6%);clip-path:circle(0 at 92% 6%);inset:0;position:absolute}.wave-overlay-ripple{animation:wave-ripple-out .58s ease forwards;background:#ffffff8a;border-radius:50%;box-shadow:0 0 0 18px #ffffff24,0 16px 48px var(--wave-35);height:88px;position:absolute;right:5%;top:5%;transform:scale(0);width:88px}.wave-overlay-surface{animation:wave-surface-rise .44s ease-out .12s forwards;bottom:-10px;height:36vh;left:-10%;opacity:0;position:absolute;right:-10%}.wave-overlay-surface svg{fill:#ffffffbd;display:block;height:100%;width:100%}.wave-overlay-bubbles span{--bubble-alpha:0.82;animation:wave-bubble-float var(--bubble-duration) ease-out forwards;animation-delay:var(--bubble-delay);background:#ffffff47;border:1px solid #ffffffc7;border-radius:50%;bottom:-54px;box-shadow:inset -4px -5px 12px #ffffff85,0 8px 24px #4a6fa524;height:var(--bubble-size);left:var(--bubble-left);position:absolute;width:var(--bubble-size)}.wave-overlay-bubbles span:after{background:#ffffffc7;border-radius:50%;content:"";height:26%;left:24%;position:absolute;top:22%;width:26%}.sidebar{background:var(--ink);border-right:1px solid #ffffff14;display:flex;flex-direction:column;flex-shrink:0;height:100vh;position:-webkit-sticky;position:sticky;top:0;transition:width .25s ease;width:263px;z-index:30}.sidebar.collapsed{width:76px}.brand{align-items:center;border-bottom:1px solid #0000;border-image:linear-gradient(90deg,#0000,#ffffff38,#0000) 1;display:flex;gap:12px;height:74px;padding:16px 18px}.brand-mark,.mini-avatar{background:var(--surface);border-radius:50%;color:var(--ink);display:grid;font-weight:800;place-items:center}.brand-group{align-items:center;display:flex;gap:12px;min-width:0}button.brand-group{-webkit-appearance:none;appearance:none;background:#0000;border:none;color:inherit;font:inherit;padding:0;text-align:left}.brand-group--home{cursor:pointer}.brand-group--home:focus-visible{outline:2px solid var(--wave);outline-offset:2px}.brand-mark{background:#0000;font-size:24px;height:40px;overflow:hidden;position:relative;width:40px}.brand-mark-img{height:36px;object-fit:contain;transition:opacity .15s ease;width:36px}.brand-mark-img--default{opacity:1}.brand-mark-img--hover{inset:0;margin:auto;opacity:0;position:absolute}.brand-group:hover .brand-mark-img--default{opacity:0}.brand-group:hover .brand-mark-img--hover{opacity:1}.brand-text strong,.profile strong{color:#fff;display:block;font-size:16px;line-height:1.2;transition:color .15s ease}.brand-text span,.radar-card small{color:var(--sub);display:block;font-size:12px}.brand-text span{color:#ffffffa6;transition:color .15s ease}.brand-group:hover .brand-text span,.brand-group:hover .brand-text strong{color:var(--wave)}.collapse-button{background:#0000;border:0;color:#ffffffbf;cursor:pointer;font-size:26px;margin-left:auto;transition:color .15s ease}.sidebar:not(.collapsed) .collapse-button:hover{color:var(--wave)}.sidebar.collapsed .brand{justify-content:center;padding:16px 10px}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-demo-tag,.sidebar.collapsed .nav-item i,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-subtabs,.sidebar.collapsed .profile-text,.sidebar.collapsed .sidebar-date{display:none}.sidebar.collapsed .brand{position:relative}.sidebar.collapsed .collapse-button{background:var(--surface);border:1px solid var(--line);border-radius:50%;box-shadow:0 2px 8px var(--wave-20);color:var(--ink);display:grid;font-size:18px;height:26px;place-items:center;position:absolute;right:-13px;top:50%;transform:translateY(-50%);width:26px;z-index:200}.nav-list{flex:0 0 auto;padding:14px 10px 0}.nav-list--secondary{flex:1 1;min-height:0;overflow-y:auto;padding-bottom:10px;padding-top:0}.nav-divider{background-image:linear-gradient(90deg,#0000,#ffffff29,#0000);border:0;height:1px;margin:8px 4px 10px}.nav-item{align-items:center;background:#0000;border:0;border-radius:20px;color:#ffffffd9;cursor:pointer;display:flex;font-size:15px;font-weight:700;gap:12px;height:42px;margin-bottom:6px;padding:0 14px;position:relative;text-align:left;transition:color .15s ease;width:100%}.sidebar.collapsed .nav-item{gap:0;justify-content:center;padding:0}.nav-item.active,.nav-item.active .nav-icon,.nav-item:hover,.nav-item:hover .nav-icon{color:var(--wave)}.nav-label{align-items:center;display:inline-flex;gap:8px;min-width:0}.nav-demo-tag{background:linear-gradient(135deg,#6eefc0,#36d399);border:1px solid #ffffff59;border-radius:999px;box-shadow:0 1px 6px #36d39959;color:#0a3d2e;flex-shrink:0;font-size:10px;font-weight:800;letter-spacing:.02em;line-height:1.2;padding:2px 7px;text-transform:lowercase}.nav-item i{background:var(--wave);border-radius:50%;height:6px;margin-left:auto;width:6px}.nav-icon{color:#ffffffd9;display:grid;flex:0 0 21px;height:21px;place-items:center;text-align:center;transition:color .15s ease;width:21px}.nav-icon svg{display:block;height:21px;width:21px}.nav-subtabs{display:flex;flex-direction:column;gap:1px;margin-top:-4px;padding:2px 14px 6px 50px}.nav-subtab-item{background:#0000;border:0;border-radius:12px;color:#fff9;cursor:pointer;font-size:12px;font-weight:600;padding:5px 10px;text-align:left;transition:color .15s ease,background .15s ease;width:100%}.nav-subtab-item:hover{color:#ffffffe6}.nav-subtab-item.active{background:#ffffff14;color:var(--wave)}.nav-item--compact{border-radius:16px;font-size:12px;font-weight:600;gap:9px;height:32px;margin-bottom:3px;padding:0 12px 0 16px}.nav-item--compact .nav-icon{flex:0 0 15px;height:15px;width:15px}.nav-item--compact .nav-icon svg{height:15px;width:15px}.nav-upcoming{padding:0 10px 8px}.nav-upcoming-title{color:#ffffff52;font-size:10px;font-weight:700;letter-spacing:.02em;margin:0 14px 4px}.nav-item--upcoming{color:#ffffff52;cursor:default;font-size:12px;font-weight:600;gap:9px;height:32px;margin-bottom:1px;padding:0 12px 0 16px}.nav-item--upcoming .nav-icon{color:inherit;flex:0 0 15px;height:15px;width:15px}.nav-item--upcoming .nav-icon svg{height:15px;width:15px}.nav-item--upcoming:hover{color:#ffffff73}.nav-item--upcoming:hover .nav-icon{color:inherit}.nav-info{align-items:center;display:inline-flex;position:relative}.nav-info-icon{font-size:13px;line-height:1}.nav-info-tooltip{background:var(--surface);border-radius:10px;box-shadow:0 8px 24px var(--shadow);color:var(--ink);font-size:12px;font-weight:500;left:calc(100% + 12px);line-height:1.5;opacity:0;padding:10px 12px;pointer-events:none;position:absolute;text-align:left;top:50%;transform:translateY(-50%) translateX(-4px);transition:opacity .15s ease,transform .15s ease;visibility:hidden;white-space:normal;width:240px;z-index:50}.nav-info-tooltip:after{border:6px solid #0000;border-right:6px solid var(--surface);content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%)}.nav-info:focus-visible .nav-info-tooltip,.nav-info:hover .nav-info-tooltip,.nav-item--upcoming:hover .nav-info-tooltip{opacity:1;transform:translateY(-50%) translateX(0);visibility:visible}.sidebar.collapsed .nav-upcoming{display:none}.sidebar-bottom{border-image:linear-gradient(90deg,#0000,#ffffff38,#0000) 1;border-top:1px solid #0000;padding:10px 10px 12px}.sidebar-date{color:#fff9;font-size:12px;font-weight:700;margin:0 4px 6px}.bottom-setting{margin-bottom:8px}.workspace{display:flex;flex:1 1;flex-direction:column;height:100vh;min-width:0;overflow:hidden;position:relative}.topbar{align-items:center;background:var(--surface);border-bottom:1px solid var(--line);display:flex;gap:20px;height:64px;justify-content:space-between;padding:0 24px}.topbar h1{font-size:17px;margin:0 0 4px}.topbar-left{align-items:center;display:flex;gap:12px;min-width:0}.topbar-left--demo{flex:1 1;min-width:0}.topbar-left h1,.topbar-title{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-mode-badge{align-items:center;background:linear-gradient(90deg,var(--wave-15),var(--wave-25));border:1px solid var(--wave-35);border-radius:999px;color:var(--excellent-text);display:inline-flex;flex-shrink:0;font-size:15px;font-weight:700;gap:7px;line-height:1.3;padding:6px 14px}.demo-mode-badge-text{white-space:nowrap}.top-actions{align-items:center;display:flex;gap:10px;position:relative}.mobile-nav-backdrop,.mobile-nav-toggle,.top-actions-mobile{display:none}.insight-trigger{align-items:center;background:var(--wave-30);border:0;border-radius:999px;color:var(--ink);cursor:pointer;display:flex;font-size:14px;font-weight:800;gap:8px;height:44px;padding:0 20px}.insight-trigger.active{background:var(--wave)}.wave-ai-trigger{align-items:center;background:var(--wave-60);border:0;border-radius:999px;box-shadow:0 1px 6px var(--wave-20);cursor:pointer;display:flex;font-size:12.5px;font-weight:800;gap:7px;height:36px;letter-spacing:.01em;padding:0 16px;transition:background .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease,opacity .12s ease}.wave-ai-trigger svg{animation:wave-ai-spark-pulse 2.6s ease-in-out infinite}.wave-ai-trigger:hover:not(:disabled){background:var(--wave-deepest);box-shadow:0 3px 12px var(--wave-30);color:#fff;transform:translateY(-1px)}.wave-ai-trigger:active:not(:disabled){transform:translateY(0)}.wave-ai-trigger:disabled{box-shadow:none;cursor:default;opacity:.45}.wave-ai-trigger:disabled svg{animation:none}@keyframes wave-ai-spark-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(1.15)}}.bell{background:#0000;border:0;color:var(--ink);cursor:pointer;height:38px;place-items:center;position:relative;width:38px}.bell,.bell b{border-radius:50%;display:grid}.bell b{background:var(--danger-strong);color:var(--surface);font-size:11px;height:18px;place-items:center;position:absolute;right:-3px;top:-5px;width:18px}.profile{align-items:center;display:flex;gap:11px;padding:8px 12px}.sidebar.collapsed .profile{justify-content:center;padding:8px 0}.mini-avatar{background:var(--wave-60);flex-shrink:0;font-size:15px;height:34px;line-height:1;text-align:center;width:34px}.profile-trigger{background:#0000;border:0;border-radius:999px;cursor:pointer}.profile-trigger:hover{background:var(--wave-05)}.profile-trigger .profile-text strong{color:var(--ink)}.profile-menu{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 40px var(--shadow);padding:8px;position:absolute;right:0;top:48px;width:220px;z-index:20}.profile-menu-head{border-bottom:1px solid var(--line);margin-bottom:4px;padding:6px 8px 10px}.profile-menu-head strong{color:var(--sub);font-size:13px}.profile-menu-item{align-items:center;background:#0000;border:0;border-radius:12px;cursor:pointer;display:flex;gap:11px;padding:8px;text-align:left;width:100%}.profile-menu-item:hover{background:var(--wave-05)}.profile-menu-item.active{background:var(--wave-10)}.profile-menu-item i{color:var(--excellent-text);font-style:normal;font-weight:800;margin-left:auto}.radar-card{background:linear-gradient(135deg,var(--wave-10),var(--surface-85));border-radius:22px;margin-bottom:14px;padding:14px}.content{flex:1 1;overflow:auto;padding:28px;scrollbar-gutter:stable}.content:has(>.power-page),.content:has(>.sleep-page){padding-top:14px}.pulse{background:var(--wave);border-radius:50%;box-shadow:0 0 0 5px var(--wave-15);display:inline-block;height:7px;margin-right:8px;width:7px}@media (max-width:1100px){.sidebar{width:224px}}@media (max-width:760px){.mobile-nav-backdrop{background:#0b1e2d6b;border:0;display:block;inset:0;margin:0;opacity:0;padding:0;pointer-events:none;position:fixed;transition:opacity .22s ease;z-index:110}.mobile-nav-backdrop.visible{opacity:1;pointer-events:auto}.app-shell{display:flex;flex-direction:row;overflow:hidden}.app-shell,.sidebar{height:100vh;height:100dvh}.sidebar{border-bottom:0;border-right:1px solid var(--line);bottom:0;flex-shrink:0;left:0;max-width:292px;padding-bottom:env(safe-area-inset-bottom,0);padding-top:env(safe-area-inset-top,0);position:fixed;top:0;transform:translateX(-105%);transition:transform .24s ease;width:min(292px,86vw);z-index:120}.sidebar.mobile-open{box-shadow:12px 0 40px var(--shadow);transform:translateX(0)}.sidebar.collapsed{width:min(292px,86vw)}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-item i,.sidebar.collapsed .nav-label,.sidebar.collapsed .sidebar-date{display:block}.sidebar.collapsed .nav-subtabs{display:flex}.sidebar.collapsed .nav-upcoming{display:block}.sidebar.collapsed .nav-item{gap:14px;justify-content:flex-start;padding:0 14px}.collapse-button{display:none}.brand{border-bottom:1px solid #0000;border-image:linear-gradient(90deg,#0000,#ffffff38,#0000) 1;height:auto;min-height:52px;padding:10px 16px}.brand-mark{height:36px;width:36px}.brand-mark-img{height:32px;width:32px}.brand-text strong{font-size:15px}.brand-text span{display:block;font-size:12px}.nav-list{-webkit-overflow-scrolling:touch;display:block;flex:0 0 auto;overflow:visible;padding:10px 10px 4px}.nav-list--secondary{flex:0 0 auto;min-height:0;overflow:visible;padding-bottom:6px;padding-top:0}.nav-divider{margin:6px 4px 8px}.nav-item{border-radius:18px;font-size:15px;gap:12px;height:42px;margin-bottom:4px;padding:0 14px;width:100%}.nav-icon{flex:0 0 20px}.nav-icon,.nav-icon svg{height:20px;width:20px}.nav-subtabs{gap:1px;margin-top:-2px;padding:2px 12px 6px 46px}.nav-subtab-item{font-size:12px;padding:5px 10px}.nav-upcoming{padding:4px 10px 6px}.nav-upcoming-title{font-size:10px;margin:0 14px 6px}.nav-item.nav-item--upcoming{font-size:12px;gap:9px;height:30px;margin-bottom:2px;padding:0 12px 0 16px}.nav-item.nav-item--upcoming .nav-icon,.nav-item.nav-item--upcoming .nav-icon svg{height:15px;width:15px}.nav-item.nav-item--upcoming .nav-info-icon{font-size:12px}.nav-item.nav-item--compact{font-size:13px;gap:10px;height:34px;margin-bottom:3px;padding:0 12px 0 16px}.nav-item.nav-item--compact .nav-icon,.nav-item.nav-item--compact .nav-icon svg{height:16px;width:16px}.sidebar-bottom{display:block;margin-top:auto;padding:8px 10px calc(12px + env(safe-area-inset-bottom, 0))}.sidebar-date{font-size:12px;margin:0 4px 6px}.sidebar-bottom .nav-item.bottom-setting{height:40px;margin-bottom:0}.workspace{display:flex;flex:1 1;flex-direction:column;height:100vh;height:100dvh;min-width:0;overflow:hidden;width:100%}.content{-webkit-overflow-scrolling:touch;flex:1 1;min-height:0;overflow-y:auto;padding:16px 16px calc(16px + env(safe-area-inset-bottom, 0))}.topbar{align-items:center;flex-direction:row;flex-shrink:0;gap:10px;height:auto;min-height:56px;padding:calc(10px + env(safe-area-inset-top, 0)) 12px 10px}.mobile-nav-toggle{background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--ink);cursor:pointer;display:grid;flex-shrink:0;height:40px;margin:0;place-items:center;width:40px}.topbar-left{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.topbar h1,.topbar-title{font-size:15px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-left--demo{flex:1 1;max-width:none;width:auto}.demo-mode-badge{font-size:13px;gap:5px;padding:5px 10px}.demo-mode-badge svg{height:14px;width:14px}.top-actions-desktop{display:none}.top-actions-mobile{display:flex;flex-shrink:0;gap:6px;margin-left:0}.top-actions-mobile .profile-text{display:none}.top-actions-mobile .wave-ai-trigger{padding:0 12px}.top-actions-mobile .profile,.top-actions-mobile .profile-trigger--hidden-mobile{display:none}.top-actions-mobile--chat{align-items:center;gap:8px}.topbar-action-separator{background:var(--line);flex-shrink:0;height:22px;width:1px}.chat-conv-toggle-btn--header{background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--ink);cursor:pointer;display:grid;height:36px;padding:0;place-items:center;width:36px}.sidebar-account-mobile{margin-bottom:8px}.sidebar-account-trigger{align-items:center;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:16px;color:#fff;cursor:pointer;display:flex;gap:11px;margin-bottom:6px;padding:9px 14px;text-align:left;width:100%}.sidebar-account-trigger:hover{background:#ffffff1a}.sidebar-account-trigger .mini-avatar{background:var(--wave-60);color:var(--ink);font-size:13px;height:32px;width:32px}.sidebar-account-trigger .profile-text strong{color:#fff;font-size:14px}.sidebar-account-trigger .profile-text span{color:#ffffff8c;display:block;font-size:12px;font-weight:600}.sidebar-account-menu{background:#00000047;border:1px solid #ffffff1f;border-radius:16px;display:flex;flex-direction:column;gap:4px;margin-bottom:8px;padding:6px}.sidebar-account-item{align-items:center;background:#0000;border:0;border-radius:12px;color:#ffffffe0;cursor:pointer;display:flex;gap:11px;padding:8px 10px;text-align:left;width:100%}.sidebar-account-item:hover{background:#ffffff14}.sidebar-account-item .mini-avatar{background:var(--wave-60);color:var(--ink)}.sidebar-account-item .profile-text strong{color:#fff}.sidebar-account-item.active{background:#ffffff1f}.sidebar-account-item i{color:var(--wave);font-style:normal;font-weight:800;margin-left:auto}}.notifications-panel{animation:notifications-panel-in .2s cubic-bezier(.22,1,.36,1);background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 40px var(--shadow);padding:14px;position:absolute;right:44px;top:48px;transform-origin:top right;width:330px;z-index:20}.notification-read-link{background:#0000;border:0;color:#94a3b8;cursor:pointer;flex-shrink:0;font-size:10px;font-weight:500;line-height:1;margin:0;padding:0}.notification-read-link:hover{color:#64748b;text-decoration:underline}@keyframes notifications-panel-in{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:760px){.notifications-panel{left:8px;margin:0;position:fixed;right:8px;top:64px;width:auto}}.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 8px var(--wave-10);min-width:0;padding:24px}.card.wide{grid-column:span 2}.card.clickable{cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.card.clickable:focus-visible,.card.clickable:hover{border-color:var(--wave);box-shadow:0 6px 20px var(--wave-25)}.card-head{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:18px}.card-head h3,.empty-card h3{color:var(--ink-soft);font-size:15px;margin:0}.card-head>span,.empty-card>span{background:var(--wave-15);border-radius:999px;color:var(--ink);font-size:12px;font-weight:800;padding:6px 10px}.card-head>span:has(.card-action-btn){background:none;padding:0}.card-action-btn{background:var(--wave-15);border:none;border-radius:999px;color:var(--ink);cursor:pointer;font-size:12px;font-weight:800;padding:6px 10px}.empty-card{background:linear-gradient(135deg,var(--surface),var(--wave-08));display:flex;flex-direction:column;justify-content:space-between;min-height:260px}.empty-card p{color:var(--sub);line-height:1.6}.tabs{background:var(--surface-muted);border:0;border-radius:12px;display:flex;gap:2px;padding:3px;width:-webkit-fit-content;width:fit-content}.tabs button{align-items:center;background:#0000;border:0;border-radius:9px;color:var(--sub);cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;padding:8px 16px;position:relative;transition:color .2s ease}.tabs button.active{color:var(--ink);font-weight:800}.tabs-pill{background:var(--surface);border-radius:9px;box-shadow:0 1px 3px #00000024,0 1px 1px #0000000d;inset:0;position:absolute}.tabs-label{align-items:center;display:inline-flex;gap:6px;position:relative;z-index:1}.tab-badge{background:linear-gradient(135deg,#6eefc0,#36d399);border-radius:999px;color:#0a3d2e;flex-shrink:0;font-size:10px;font-weight:800;letter-spacing:.02em;line-height:1.2;padding:2px 7px;text-transform:lowercase}.metric{background:var(--surface);border-radius:16px;min-height:108px;padding:16px;position:relative}.metric--dot-corner{padding-right:28px}.metric p{color:var(--sub);font-size:12px;font-weight:700;margin:0 0 8px}.metric strong{color:var(--ink);display:block;font-size:26px;font-weight:800;line-height:1.2;margin-bottom:6px}.metric-value--with-dot{align-items:center;display:inline-flex;max-width:100%;white-space:nowrap}.metric-value--with-dot .metric-dot{flex:0 0 auto}.metric-dot{background:var(--neutral-dot);border-radius:50%;display:inline-block;height:10px;margin-bottom:2px;margin-right:8px;vertical-align:middle;width:10px}.metric--dot-corner>.metric-dot{margin:0;position:absolute;right:14px;top:14px}.metric-dot.online{background:var(--good);box-shadow:0 0 0 4px var(--good-15)}.metric-dot.idle{background:var(--warn);box-shadow:0 0 0 4px var(--warn-15)}.metric-detail{color:var(--sub);display:block;font-size:12px;line-height:1.45;overflow-wrap:break-word;word-break:keep-all}.info-list{display:flex;flex-direction:column}.info-list div{border-bottom:1px solid var(--line);display:flex;gap:18px;justify-content:space-between;padding:15px 0}.info-list div:last-child{border-bottom:0}.info-list span{color:var(--sub);font-size:13px}.info-list strong{font-size:14px;text-align:right}.semi-gauge{height:88px;margin:4px auto 0;overflow:hidden;position:relative;width:176px}.semi-gauge-fill{height:176px;left:0;top:0;width:176px}.semi-gauge-fill,.semi-gauge-hole{border-radius:50%;position:absolute}.semi-gauge-hole{background:var(--surface);height:144px;left:16px;top:16px;width:144px}.semi-gauge-label{bottom:6px;left:0;position:absolute;right:0;text-align:center}.semi-gauge-label strong{font-size:20px}.bar-chart{align-items:end;border-bottom:1px solid var(--line);display:flex;gap:22px;height:220px;padding:18px 8px 0}.bar-chart div{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:9px;height:100%;justify-content:end}.bar-chart i{background:linear-gradient(180deg,var(--wave),var(--wave-28));border-radius:8px 8px 3px 3px;max-width:46px;min-height:22px;width:100%}.bar-chart-note{color:var(--warn-text);font-size:10px;font-weight:800;white-space:nowrap}.bar-chart span{color:var(--sub);font-size:12px}.stepper{align-items:center;display:flex;gap:10px}.stepper-btn{background:var(--surface);border:1px solid var(--wave-20);border-radius:50%;color:var(--ink);cursor:pointer;display:grid;flex-shrink:0;font-size:16px;font-weight:800;height:30px;place-items:center;width:30px}.stepper-btn:hover:not(:disabled){background:var(--wave-10)}.stepper-btn:disabled{border-color:var(--line);color:var(--sub);cursor:not-allowed;opacity:.6}.stepper-value{color:var(--ink);font-size:14px;font-weight:800;min-width:56px;text-align:center}@media (max-width:760px){.tabs{overflow-x:auto;width:100%}.tabs button{flex:1 1;min-width:-webkit-max-content;min-width:max-content}.metric{min-height:auto;padding:12px 14px}.metric strong{font-size:22px}}.page-stack{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1292px}.content.dashboard-active{background-color:#f2f2f7;isolation:isolate;position:relative;scrollbar-gutter:auto}@media (min-width:761px){.content.dashboard-active{padding-bottom:clamp(12px,2.4vh,28px);padding-top:clamp(4px,.8vh,8px)}}.content.dashboard-active:before{background:radial-gradient(circle at 20% 20%,#95dff0 0,#95dff000 60%),radial-gradient(circle at 82% 18%,#f6b3c4 0,#f6b3c400 60%);content:"";filter:blur(130px);height:640px;left:0;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 20%,#0000 65%);mask-image:linear-gradient(180deg,#000 0,#000 20%,#0000 65%);pointer-events:none;position:absolute;right:0;top:0;z-index:-1}.dashboard-page .card{backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);background:#ffffff8c;border:1px solid #fff9;border-radius:24px;box-shadow:0 8px 32px #1f29371f,inset 0 1px 0 #ffffff80}.dashboard-page .card.clickable:focus-visible,.dashboard-page .card.clickable:hover{background:#ffffffb3;border-color:#ffffffd9;box-shadow:0 12px 40px #1f293729,inset 0 1px 0 #fff9}.dashboard-page .dashboard-sleep-card .card{padding:clamp(14px,2.2vh,24px) 18px clamp(10px,1.6vh,18px) 24px}.dashboard-sleep-card .card-head{margin-bottom:8px}.dashboard-page .dashboard-sleep-card .dashboard-alarms-card{padding-bottom:8px}.calendar-popup-grid button.muted-day{color:var(--line)}.calendar-popup-grid button.week-hover:not(.selected){background:#bfdbfe;color:#1d4ed8;font-weight:800}.calendar-popup-grid button.muted-day.week-hover:not(.selected){background:#dbeafe;color:#3b82f6}.date-nav-today-btn{background:#f8fafc;color:#94a3b8}.date-nav-today-btn:hover{background:#f1f5f9;color:#64748b}.hero{align-items:center;background:linear-gradient(135deg,var(--wave-05) 0,var(--wave-40) 100%);border-color:var(--wave-35);display:flex;gap:32px;justify-content:space-between;min-height:164px}.dashboard-page .hero{padding-top:14px}@media (min-width:761px){.dashboard-page .hero{min-height:clamp(90px,15vh,164px)}.dashboard-page.page-stack{-ms-overflow-style:none;height:100%;min-height:0;overflow-y:auto;scrollbar-width:none}}@media (min-width:761px){.dashboard-page.page-stack::-webkit-scrollbar{display:none}}.dashboard-fit-inner{display:flex;flex-direction:column;gap:20px}@media (min-width:761px){.dashboard-fit-inner{gap:clamp(10px,2vh,20px)}}.hero>div:first-child{flex:1 1 auto;min-width:0}.hero h2{color:var(--ink);font-size:26px;font-weight:700;letter-spacing:0;line-height:1.28;margin:8px 0 12px;max-width:900px}.hero p{color:var(--sub);font-size:13px;letter-spacing:-.01em;line-height:1.7;margin:0;max-width:900px}.ai-message-avatar{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:10px}.ai-message-avatar-icon{background:linear-gradient(135deg,var(--wave-20),var(--surface));border-radius:50%;box-shadow:0 0 0 8px var(--wave-05);display:grid;height:84px;place-items:center;width:84px}.ai-message-avatar-icon img{height:46px;object-fit:contain;width:46px}.ai-message-avatar span{background:var(--wave-15);border-radius:999px;color:var(--ink);font-size:12px;font-weight:800;padding:5px 12px}.eyebrow{color:var(--excellent-text)!important;font-size:13px;font-weight:900}.dashboard-grid,.empty-grid,.main-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.split-stats,.state-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-status-card{display:flex;flex-direction:column}.dashboard-gestures-card{padding:clamp(12px,1.8vh,18px) 18px clamp(12px,1.8vh,18px) 24px}.dashboard-gestures-card .card-head{margin-bottom:8px}.dashboard-status-card .state-grid-row{align-content:space-evenly;flex:1 1}.state-grid-row{gap:0;grid-template-columns:1fr}.state-grid-row .metric{align-items:baseline;background:none;border-bottom:1px solid var(--wave-10);border-radius:0;column-gap:12px;display:flex;flex-wrap:wrap;justify-content:space-between;min-height:0;padding:clamp(8px,1.6vh,16px) 2px;row-gap:4px}.state-grid-row .metric:last-child{border-bottom:none}.state-grid-row .metric p{color:var(--ink-soft);font-size:14px;font-weight:600;margin:0;order:1}.state-grid-row .metric strong{font-size:16px;margin:0;order:2;text-align:right}.state-grid-row .metric-dot{height:9px;width:9px}.state-grid-row .metric-detail{color:var(--sub);flex:0 0 100%;line-height:1.4;order:3;overflow-wrap:normal;word-break:keep-all}.dashboard-overview-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:-4px}.dashboard-overview-col{display:flex;flex-direction:column;gap:clamp(6px,1vh,8px);min-width:0}.dashboard-col-title{color:var(--ink);font-size:15px;font-weight:800;margin:0 4px}.dashboard-sleep-card{width:100%}.dashboard-posture-card{min-width:0;width:100%}.dashboard-power-card{backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);background:#ffffff8c;border:1px solid #fff9;border-radius:24px;box-shadow:0 8px 32px #1f29371f,inset 0 1px 0 #ffffff80;color:var(--ink);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font:inherit;gap:clamp(8px,1.4vh,14px);padding:clamp(14px,2.2vh,24px) 24px;text-align:left;transition:box-shadow .15s ease,border-color .15s ease,background .15s ease;width:100%}.dashboard-power-card:focus-visible,.dashboard-power-card:hover{background:#ffffffb3;border-color:#ffffffd9;box-shadow:0 12px 40px #1f293729,inset 0 1px 0 #fff9}.dashboard-power-chart{background:var(--wave-05);border-radius:14px;height:clamp(150px,22.6vh,280px);margin:4px 0 clamp(6px,1vh,10px);padding:8px 0 0}.dashboard-power-summary-row+.dashboard-power-summary-row{border-top:1px solid var(--wave-15);margin-top:auto;padding-top:clamp(8px,1.4vh,14px)}.dashboard-power-summary-label{color:var(--ink-soft);display:block;font-size:15px;font-weight:700;margin-bottom:clamp(8px,1.6vh,18px)}.dashboard-power-summary-values{display:flex;flex-direction:column;gap:5px}.dashboard-power-summary-values span{align-items:baseline;color:var(--sub);display:flex;font-size:12px;font-weight:600;gap:8px;justify-content:space-between}.dashboard-power-summary-values strong{color:var(--ink);font-size:14px;font-weight:800}.dashboard-side-card{min-width:0;width:100%}.dashboard-side-card .line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.promo-card{border-radius:16px;display:flex;flex-direction:column;gap:6px;padding:16px}.promo-card strong{font-size:13px;font-weight:800}.promo-card p{color:var(--ink-65);font-size:11px;line-height:1.5;margin:0}.promo-card.plum{background:linear-gradient(135deg,#e3bdf5,#c48bea)}.promo-card.blue{background:linear-gradient(135deg,var(--accent-sky-bg),var(--wave-15))}.promo-card.navy{background:linear-gradient(135deg,#a9cbf0,#6f9edd)}.promo-card.orange{background:linear-gradient(135deg,var(--accent-orange-bg-3),var(--accent-orange-bg-4))}.promo-card.mint{background:linear-gradient(135deg,#8fe8cf,#4fc9a8)}.promo-card.pink{background:linear-gradient(135deg,var(--accent-pink-bg-1),var(--accent-pink-bg-2))}.overview-banner{padding-bottom:36px;position:relative}.overview-banner-dots{bottom:16px;display:flex;gap:6px;left:28px;position:absolute}.overview-banner-dots button{background:var(--wave-20);border:0;border-radius:50%;cursor:pointer;height:7px;padding:0;width:7px}.overview-banner-dots button.active{background:var(--wave);border-radius:999px;width:16px}.overview-score-row,.overview-tile-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.overview-score-number{font-size:32px;font-weight:800;margin-bottom:10px}.overview-score-number small{color:var(--sub);font-size:14px;font-weight:700;margin-left:4px}.activity-rings{height:96px;margin:8px auto;position:relative;width:96px}.activity-rings i{border:8px solid #0000;border-radius:50%;inset:0;position:absolute}.activity-rings .ring-outer{border-right-color:var(--wave);border-top-color:var(--wave);transform:rotate(35deg)}.activity-rings .ring-mid{border-left-color:var(--accent-plum);border-right-color:var(--accent-plum);border-top-color:var(--accent-plum);inset:16px;transform:rotate(-20deg)}.activity-rings .ring-inner{border-right-color:var(--accent-mint);border-top-color:var(--accent-mint);inset:32px;transform:rotate(70deg)}.feature-tile{border:0;border-radius:20px;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:18px;text-align:left}.feature-tile strong{font-size:15px;font-weight:800}.feature-tile span{color:var(--ink-65);font-size:12px;line-height:1.5}.feature-tile.orange{background:linear-gradient(135deg,var(--accent-orange-bg-1),var(--accent-orange-bg-2))}.feature-tile.purple{background:linear-gradient(135deg,var(--accent-plum-soft),var(--accent-plum-2))}.feature-tile.pink{background:linear-gradient(135deg,var(--accent-pink-bg-1),var(--accent-pink-bg-2))}.feature-tile.mint{background:linear-gradient(135deg,var(--accent-mint-bg-1),var(--accent-mint-bg-2))}.feature-tile.gray{background:var(--surface-muted)}.feature-tile.muted{opacity:.75}.overview-quick-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.overview-quick-item{border:0;border-radius:16px;color:var(--ink);cursor:pointer;font-size:12px;font-weight:700;padding:14px 8px}.overview-quick-item.plum{background:var(--accent-plum-bg-1)}.overview-quick-item.blue{background:var(--wave-15)}.overview-quick-item.green{background:var(--good-18)}.overview-quick-item.gray{background:var(--surface-muted)}@media (max-width:1100px){.overview-score-row,.overview-tile-row{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.dashboard-overview-grid,.empty-grid,.main-grid{grid-template-columns:minmax(0,1fr)}.dashboard-posture-card,.dashboard-power-card,.dashboard-sleep-card{max-width:none;min-width:0;width:100%}.hero{align-items:flex-start;flex-direction:column}}@media (max-width:760px){.page-stack{gap:14px}.hero{min-height:auto;padding:20px}.hero h2{font-size:22px}.hero p{font-size:13px;line-height:1.6;max-width:none}.overview-score-row,.overview-tile-row,.split-stats,.state-grid{grid-template-columns:minmax(0,1fr)}.card.wide{grid-column:1}.overview-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.plan-add-label{color:#64748b;display:block;font-size:11px;font-weight:700;letter-spacing:.02em;margin-bottom:6px}.plan-add-title-row{align-items:stretch;display:flex;gap:8px}.plan-add-title-input{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;color:#0f172a;flex:1 1;font-size:15px;font-weight:500;line-height:1.4;min-width:0;padding:12px 16px;transition:border-color .15s ease,box-shadow .15s ease}.plan-add-title-input::placeholder{color:#94a3b8;font-weight:400}.plan-add-title-input:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f61f;outline:none}.plan-add-submit{align-items:center;background:#2563eb;border:none;border-radius:14px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;transition:background .15s ease,opacity .15s ease;width:44px}.plan-add-submit:disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed}.plan-add-submit:not(:disabled):hover{background:#1d4ed8}.plan-add-time-warn{color:#dc2626;font-size:12px;font-weight:600;line-height:18px;margin-bottom:6px;min-height:18px}.plan-add-days-stack{display:flex;flex-direction:column;gap:10px}.plan-add-repeat{align-items:center;color:#475569;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:8px;margin:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.plan-add-repeat input[type=checkbox]{accent-color:#2563eb;cursor:pointer;height:16px;margin:0;width:16px}.weekly-plan-time-col--mobile{color:#94a3b8;font-size:9px;font-weight:600;letter-spacing:-.02em}.weekly-plan-shell--mobile{border-radius:20px;gap:16px;padding:12px 10px 14px}.weekly-plan-sticky-header--mobile .grid button{padding-bottom:4px;padding-top:4px}.weekly-plan-sticky-header--mobile .grid button .text-xs{font-size:10px}.weekly-plan-sticky-header--mobile .grid button .text-sm{font-size:12px}.weekly-plan-calendar-grid--mobile{margin-left:-2px}.insight-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.insight-section{margin-top:40px}.insight-section-title{color:var(--ink);font-size:22px;font-weight:800;margin:0 0 4px;padding-left:2px}.insight-section-desc{color:var(--ink);font-size:15px;line-height:1.5;margin:0 0 16px;padding-left:2px}.insight-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 8px var(--wave-10);display:flex;flex-direction:column;min-height:140px;padding:16px 18px 14px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.insight-card:hover{border-color:var(--wave-20);box-shadow:0 4px 16px var(--wave-10)}.insight-card.applied{background:linear-gradient(135deg,var(--surface),var(--good-15));border-color:var(--good-18);box-shadow:0 0 0 1px var(--good-18),0 4px 16px #0000000a}.insight-card-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.insight-card-label{background:var(--wave-15);border-radius:999px;color:var(--ink);display:inline-block;flex-shrink:0;font-size:11px;font-weight:900;letter-spacing:.01em;padding:4px 10px}.insight-card.applied .insight-card-label{background:var(--good-18);color:var(--good-text)}.insight-card-label--tip{background:var(--accent-sky-bg);color:var(--excellent-text)}.insight-card-label--goal{background:var(--accent-plum-soft);color:#6a4fc7}.insight-card-label--action{background:var(--warn-15);color:var(--warn-text)}.insight-card-label--banner{background:var(--good-15);color:var(--good-text)}.insight-card-title{color:var(--ink);font-size:16px;font-weight:800;line-height:1.45;margin:0;min-width:0}.insight-card-text{color:var(--sub);flex:1 1;font-size:13px;line-height:1.65;margin:0}.insight-card-schedule{background:var(--wave-10);border-radius:10px;color:var(--ink);font-size:12.5px;font-weight:700;margin:10px 0 0;padding:8px 10px}.insight-card-footer{border-top:1px solid var(--line);display:flex;justify-content:flex-end;margin-top:12px;padding-top:12px}.insight-card.applied .insight-card-footer{border-top-color:var(--good-18)}.insight-card-action{background:var(--wave);border:1px solid var(--wave);border-radius:999px;box-shadow:0 1px 4px #0000000a;color:var(--ink);cursor:pointer;font-size:12px;font-weight:800;padding:8px 16px;transition:background .15s ease,border-color .15s ease,color .15s ease}.insight-card-action:hover{background:var(--wave-deepest);border-color:var(--wave-deepest);color:#fff}.insight-card.applied .insight-card-action{background:var(--good);border-color:var(--good);color:var(--surface)}.insight-card.plain-footer .insight-card-footer{border-top:none;margin-top:12px;padding-top:0}.insight-card.plain-footer.applied .insight-card-footer{border-top:none}.care-report-layout{grid-gap:28px;display:grid;gap:28px;grid-template-columns:1fr}.care-report-layout .card.wide{grid-column:1/-1}.sleep-score-hero .care-analysis-grid .metric{background:#ffffff52}.weekly-score-chart{grid-gap:16px;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) 150px;margin-top:18px}.weekly-trend-summary{align-items:baseline;color:var(--sub);display:flex;flex-wrap:wrap;font-size:14px;gap:8px;line-height:1.4;margin:12px 0 8px}.weekly-trend-summary strong{color:var(--ink);font-size:inherit;line-height:inherit}.weekly-score-average{align-content:center;display:grid;justify-items:center;min-height:210px;padding:18px}.weekly-score-average strong{font-size:34px;margin:8px 0 4px}.calendar-popup:not(.month-calendar-popup){background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 40px var(--shadow);left:50%;padding:14px;position:absolute;top:42px;transform:translateX(-50%);width:260px;z-index:20}.report-summary-only{color:var(--sub);font-size:15px;line-height:1.7;margin:0}@media (max-width:760px){.care-analysis-grid,.insight-list,.weekly-score-chart{grid-template-columns:1fr}}body.calendar-modal-open .content,body.calendar-modal-open .sidebar,body.calendar-modal-open .topbar{pointer-events:none}.calendar-modal-root{inset:0;pointer-events:none;position:fixed;z-index:9999}.calendar-popup-backdrop{background:#0b1e2d14;inset:0;pointer-events:auto;position:absolute;z-index:0}.month-calendar-popup{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 48px #0b1e2d2e;padding:14px;pointer-events:auto;position:fixed;transform:translateX(-50%);width:280px;z-index:1}.month-calendar-popup.placement-above{animation:calendar-popup-above .18s ease}.month-calendar-popup.placement-below{animation:calendar-popup-below .18s ease}@keyframes calendar-popup-above{0%{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes calendar-popup-below{0%{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.calendar-popup-grid.slide-from-left{animation:calendar-slide-in-left .18s ease}.calendar-popup-grid.slide-from-right{animation:calendar-slide-in-right .18s ease}@keyframes calendar-slide-in-left{0%{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}@keyframes calendar-slide-in-right{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}.date-nav-display-label{display:inline-block;transition:opacity .14s ease}.date-nav-display-label.is-fading{opacity:.45}.month-calendar-popup .calendar-popup-grid button.range-active:not(.is-selected):not(.is-today){background:var(--wave-10);color:var(--ink);font-weight:700}.month-calendar-popup .calendar-popup-grid button.muted-day.range-active:not(.is-selected):not(.is-today){background:var(--wave-05);color:var(--sub);font-weight:700}.month-calendar-popup .calendar-popup-grid button.is-hover:not(.is-selected):not(.is-today):not(:disabled){background:#bfdbfe!important;color:#1d4ed8!important;font-weight:800}.month-calendar-popup .calendar-popup-grid button.muted-day.is-hover:not(.is-selected):not(.is-today):not(:disabled){background:#dbeafe!important;color:#3b82f6!important}.month-calendar-popup .calendar-popup-grid button.is-selected,.month-calendar-popup .calendar-popup-grid button.is-today{background:var(--wave);color:var(--ink);font-weight:800}.month-calendar-popup .calendar-popup-grid button.is-selected.is-hover:not(:disabled),.month-calendar-popup .calendar-popup-grid button.is-today.is-hover:not(:disabled){background:#60a5fa!important;color:#fff!important}@media (max-width:760px){.month-calendar-popup.week-calendar-popup.centered-mobile-week{padding:17px;width:min(336px,calc(100vw - 32px))}.month-calendar-popup.week-calendar-popup.centered-mobile-week .calendar-popup-head{margin-bottom:12px}.month-calendar-popup.week-calendar-popup.centered-mobile-week .calendar-popup-head strong{font-size:15.6px}.month-calendar-popup.week-calendar-popup.centered-mobile-week .calendar-popup-head button{font-size:18px;height:31px;width:31px}.month-calendar-popup.week-calendar-popup.centered-mobile-week .calendar-popup-weekdays span{font-size:13.2px}.month-calendar-popup.week-calendar-popup.centered-mobile-week .calendar-popup-grid{gap:5px}.month-calendar-popup.week-calendar-popup.centered-mobile-week .calendar-popup-grid button{border-radius:10px;font-size:14.4px;height:36px}}.page-stack.alarm-page{margin:0;max-width:none}.alarm-page-intro-title{color:var(--ink);font-size:22px;font-weight:800;margin:0 0 4px;padding-left:2px}.alarm-page-intro-desc{color:var(--ink);font-size:15px;line-height:1.5;margin:0;padding-left:2px}.alarm-banner{color:var(--sub);font-size:13px;font-weight:700;margin:0 0 14px}.alarm-section-card .card-head h3{color:var(--ink);font-size:18px}.alarm-editor-overlay{align-items:flex-start;background:#0b1e2d52;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:6vh 16px;position:absolute;z-index:50}.alarm-editor-modal{background:var(--surface);border-radius:20px;box-shadow:0 24px 60px #0b1e2d4d;max-width:1100px;padding:24px;width:100%}.alarm-editor-modal-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.alarm-editor-modal-head h3{color:var(--ink);font-size:18px;margin:0}.alarm-editor-modal-close{border-radius:999px;color:var(--sub);display:grid;height:30px;place-items:center;width:30px}.alarm-editor-modal-close:hover{background:var(--wave-10);color:var(--ink)}.alarm-editor-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.alarm-editor-header .settings-field{align-items:center;display:flex;flex:1 1;gap:10px;margin:0;min-width:200px}.alarm-editor-header .settings-field>span{flex-shrink:0;margin-bottom:0}.alarm-editor-header .settings-field input{flex:1 1;min-width:0;width:auto}.alarm-editor-save-btn{align-items:center;display:inline-flex;gap:6px;justify-content:center}.alarm-editor-header-error{color:var(--danger-strong);flex:1 1 100%;font-size:12px;font-weight:700;margin:0}.alarm-wizard{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.alarm-wizard-step{background:var(--wave-05);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;gap:6px;height:390px;min-width:0;padding:14px;position:relative}.alarm-wizard-step:not(:last-child):after{background:var(--sub);-webkit-clip-path:polygon(0 0,100% 50%,0 100%);clip-path:polygon(0 0,100% 50%,0 100%);content:"";height:8px;opacity:.35;pointer-events:none;position:absolute;right:-11px;top:50%;transform:translateY(-50%);width:8px}.alarm-wizard-step-num{background:var(--wave-15);border-radius:50%;color:var(--ink);display:grid;font-size:11px;font-weight:900;height:20px;place-items:center;position:absolute;right:14px;top:12px;width:20px}.alarm-wizard-step h4{font-size:13px;font-weight:900;margin:0 26px 6px 0}.alarm-wizard-step-body{display:flex;flex:1 1;flex-direction:column;gap:10px;min-height:0;overflow:hidden}.alarm-wizard-step--time .alarm-wizard-step-body{overflow-y:auto;scrollbar-color:#44596d59 #0000;scrollbar-width:auto}.alarm-wizard-step--time .alarm-wizard-step-body::-webkit-scrollbar{width:10px}.alarm-wizard-step--time .alarm-wizard-step-body::-webkit-scrollbar-track{background:#0000}.alarm-wizard-step--time .alarm-wizard-step-body::-webkit-scrollbar-thumb{background:#44596d59;border-radius:999px}.alarm-wizard-step--time .alarm-wizard-step-body::-webkit-scrollbar-button,.alarm-wizard-step--time .alarm-wizard-step-body::-webkit-scrollbar-button:single-button{-webkit-appearance:none;display:none;height:0;width:0}.alarm-wizard-step--device .alarm-wizard-step-body,.alarm-wizard-step--method .alarm-wizard-step-body{overflow:hidden}.alarm-day-row{align-items:center;display:flex;gap:20px}.alarm-day-picker{display:flex;flex:1 1;gap:6px;min-width:0}.alarm-day-picker button{background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--sub);cursor:pointer;font-size:12px;font-weight:800;height:32px;width:32px}.alarm-day-picker button.active{background:var(--wave-10);border-color:var(--wave);color:var(--ink)}.alarm-day-picker button.is-sunday{color:var(--danger)}.alarm-day-picker button.is-sunday.active{background:#e85d6e1f;border-color:var(--danger);color:var(--danger)}.alarm-day-picker button:disabled{cursor:not-allowed;opacity:.4}.alarm-repeat-checkbox{align-items:center;color:var(--ink);cursor:pointer;display:flex;flex-shrink:0;font-size:12px;font-weight:700;gap:8px;margin:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.alarm-repeat-checkbox input[type=checkbox]{accent-color:var(--wave);cursor:pointer;height:16px;margin:0;width:16px}.alarm-checkbox-row{align-items:center;color:var(--ink);cursor:pointer;display:flex;font-size:13px;font-weight:700;gap:8px}.alarm-checkbox-row input[type=checkbox]{accent-color:var(--wave);height:16px;width:16px}.alarm-smartwake-row{cursor:default;justify-content:space-between;min-height:38px}.alarm-checkbox-row-label{align-items:center;cursor:pointer;display:flex;gap:8px}.alarm-radar-select{font-size:12px;height:32px;max-width:168px;padding:0 8px;width:auto}.info-tooltip{display:inline-flex;position:relative;vertical-align:middle}.info-tooltip-trigger{background:#0000;border:1px solid var(--wave-40);border-radius:999px;box-shadow:none;color:var(--wave-deep);cursor:pointer;display:grid;height:18px;outline:none;padding:0;place-items:center;width:18px}.info-tooltip-trigger:hover,.info-tooltip.is-open .info-tooltip-trigger{background:var(--wave-15);border-color:var(--wave-60)}.info-tooltip-trigger:focus,.info-tooltip-trigger:focus-visible{box-shadow:none;outline:none}.info-tooltip-icon{display:block;font-family:Georgia,Times New Roman,serif;font-size:11px;font-style:italic;font-weight:800;line-height:1}.info-tooltip-bubble{animation:info-tooltip-fade-in .14s ease;background:var(--ink);border-radius:12px;box-shadow:0 10px 28px #0b1e2d38;color:#fff;font-size:11px;font-weight:600;line-height:1.45;padding:10px 12px;position:fixed;text-align:left;white-space:pre-line;width:220px;z-index:300}@keyframes info-tooltip-fade-in{0%{opacity:0}to{opacity:1}}.info-tooltip-bubble--wide{font-weight:500;width:min(320px,calc(100vw - 40px))}.info-tooltip-bubble--panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 36px #0b1e2d29;color:var(--ink);font-size:12px;font-weight:500;line-height:1.5;max-height:min(380px,62vh);overflow-x:hidden;overflow-y:auto;padding:14px 14px 12px;white-space:normal;width:min(340px,calc(100vw - 40px))}.alarm-smartwake-panel{background:linear-gradient(160deg,var(--wave-15),var(--wave-05));border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;gap:10px;margin-top:4px;padding:12px 14px}.alarm-smartwake-panel-head{align-items:center;display:flex;gap:12px;justify-content:space-between;min-height:32px}.alarm-smartwake-hint{color:var(--ink-soft);font-size:12px;font-weight:500;line-height:1.5;margin:0}.alarm-smartwake-hint strong{color:var(--ink);font-weight:800}.alarm-smartwake-panel .alarm-radar-select{height:36px;max-width:none;width:100%}.alarm-scroll{scrollbar-color:#44596d59 #0000;scrollbar-width:auto}.alarm-scroll::-webkit-scrollbar{width:10px}.alarm-scroll::-webkit-scrollbar-track{background:#0000}.alarm-scroll::-webkit-scrollbar-thumb{background:#44596d59;border-radius:999px}.alarm-scroll::-webkit-scrollbar-button,.alarm-scroll::-webkit-scrollbar-button:single-button{-webkit-appearance:none;display:none;height:0;width:0}.alarm-device-list{display:flex;flex:1 1;flex-direction:column;gap:5px;min-height:0;overflow-y:auto}.alarm-device-item{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--ink);cursor:pointer;display:flex;font-size:12px;font-weight:700;gap:8px;padding:6px 8px;text-align:left;width:100%}.alarm-device-item:hover{background:var(--wave-10);border-color:var(--wave)}.alarm-device-item.selected{background:var(--wave-15);border-color:var(--wave)}.alarm-device-thumb{background:var(--wave-05);border-radius:8px;display:grid;flex-shrink:0;height:28px;overflow:hidden;place-items:center;width:28px}.alarm-device-thumb img{height:100%;object-fit:contain;width:100%}.alarm-device-thumb-logo{box-sizing:border-box;padding:4px}.alarm-device-thumb-fallback{color:var(--wave);font-size:14px;font-weight:900}.alarm-device-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alarm-method-panel{display:flex;flex-direction:column;gap:14px}.alarm-method-buttons-row{display:flex;gap:8px}.alarm-method-buttons-row button{background:var(--surface);border:1px solid var(--line);border-radius:11px;color:var(--sub);cursor:pointer;flex:1 1;font-size:13px;font-weight:800;height:40px}.alarm-method-buttons-row button.active{background:var(--wave-10);border-color:var(--wave);color:var(--ink)}.alarm-method-buttons-col{display:flex;flex-direction:column;gap:8px}.alarm-method-buttons-col button{background:var(--surface);border:1px solid var(--line);border-radius:11px;color:var(--sub);cursor:pointer;font-size:13px;font-weight:800;height:38px}.alarm-method-buttons-col button.active{background:var(--wave-10);border-color:var(--wave);color:var(--ink)}.alarm-method-notify-btn{align-items:center;display:inline-flex!important;gap:8px;justify-content:center}.alarm-method-notify-btn svg{flex-shrink:0}.alarm-method-hint{color:var(--sub);font-size:12px;font-weight:600;line-height:1.4;margin:10px 0 0}.alarm-slider-row{color:var(--sub);display:flex;flex-direction:column;font-size:12px;font-weight:700;gap:6px}.alarm-slider-row strong{color:var(--ink)}.alarm-slider-row input[type=range]{width:100%}.alarm-tts-form{display:flex;flex-direction:column;gap:7px}.alarm-tts-form .settings-field{margin:0}.alarm-tts-form .settings-field+.settings-field{margin-top:0}.alarm-tts-form .settings-field span{margin-bottom:3px}.alarm-tts-form textarea{font-family:inherit;line-height:1.35;resize:none}.time-wheel-picker{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;display:flex;gap:4px;height:220px;justify-content:center;overflow:hidden;padding:0 4px;position:relative}.time-wheel-highlight{background:var(--wave-10);border:1px solid var(--wave-25);border-radius:10px;height:44px;left:8px;pointer-events:none;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.time-wheel-picker--compact{border-radius:12px;gap:2px;height:108px}.time-wheel-picker--compact.time-wheel-picker--rows-3{height:108px}.time-wheel-picker--compact .time-wheel-highlight{border-radius:8px;height:36px}.time-wheel-picker--compact .wheel-column{width:48px}.time-wheel-picker--compact .wheel-column--meridiem{width:44px}.time-wheel-picker--compact .wheel-item{font-feature-settings:"tnum";font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:15px;font-variant-numeric:tabular-nums;font-weight:500}.time-wheel-picker--compact .wheel-item.active{font-size:19px;font-weight:700}.time-wheel-picker--compact .meridiem-item{font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:14px;font-weight:500}.time-wheel-picker--compact .meridiem-item.active{font-size:17px;font-weight:700}.time-wheel-picker--compact .time-wheel-colon{font-size:20px}.wheel-column{-webkit-overflow-scrolling:touch;overflow-y:scroll;overscroll-behavior:contain;position:relative;scrollbar-width:none;touch-action:pan-y;width:56px}.wheel-column::-webkit-scrollbar{display:none}.wheel-column--meridiem{flex-shrink:0;overflow:hidden;overscroll-behavior:contain;touch-action:none;width:52px}.meridiem-track{background:none;border:0;display:flex;flex-direction:column;padding-bottom:88px;padding-top:88px;transition:transform .22s ease}.meridiem-track.is-pm{transform:translateY(-44px)}.meridiem-item{align-items:center;background:none;border:0;color:var(--sub);cursor:pointer;display:flex;font-size:17px;font-weight:700;height:44px;justify-content:center;opacity:.4;transition:opacity .15s ease,font-size .15s ease,color .15s ease;-webkit-user-select:none;user-select:none}.meridiem-item.active{color:var(--ink);font-size:24px;font-weight:900;opacity:1}.wheel-item{align-items:center;color:var(--sub);cursor:pointer;display:flex;font-size:17px;font-weight:700;justify-content:center;opacity:.4;transition:opacity .15s ease,font-size .15s ease,color .15s ease;-webkit-user-select:none;user-select:none}.wheel-item.active{color:var(--ink);font-size:24px;font-weight:900;opacity:1}.time-wheel-colon{color:var(--ink);font-size:22px;font-weight:900;padding-bottom:2px}.alarm-card-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.alarm-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 8px var(--wave-10);cursor:pointer;display:flex;flex-direction:column;min-height:120px;padding:16px 16px 44px;position:relative;text-align:left}.alarm-card.selected{background:linear-gradient(135deg,var(--surface),var(--wave-10));border-color:var(--wave);box-shadow:0 0 0 3px var(--wave-15),0 1px 8px var(--wave-10)}.alarm-card.disabled{opacity:.55}.alarm-card-tag{background:var(--wave-15);border-radius:999px;color:var(--ink);font-size:10px;font-weight:900;padding:3px 8px;position:absolute;right:16px;top:14px}.alarm-card-time{align-items:baseline;display:flex;gap:6px}.alarm-card-clock{color:var(--ink);font-size:26px;font-weight:700}.alarm-card-meridiem{color:var(--sub);font-size:12px;font-weight:800}.alarm-card-name{color:var(--ink);font-size:13px;font-weight:700;margin:6px 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alarm-card-next{color:var(--sub);font-size:12px;font-weight:600;margin:0;padding-right:56px}.alarm-card .toggle-switch.alarm-card-toggle{bottom:14px;margin:0;position:absolute;right:14px;z-index:1}.alarm-card--add{align-items:center;background:var(--wave-05);border:1px dashed var(--wave-40);color:var(--sub);font:inherit;gap:6px;justify-content:center;padding:16px}.alarm-card--add:focus-visible,.alarm-card--add:hover{background:var(--wave-10);border-color:var(--wave);color:var(--ink)}.alarm-card-add-icon{color:var(--wave-deep);font-size:22px;font-weight:700;line-height:1}.alarm-card-add-label{font-size:13px;font-weight:700}@media (max-width:1100px){.alarm-card-grid,.alarm-wizard{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.alarm-wizard{grid-template-columns:minmax(0,1fr)}.alarm-wizard-step:not(:last-child):after{display:none}.alarm-card-grid{grid-template-columns:minmax(0,1fr)}}.sleep-tabs-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.sleep-tabs-date-slot{flex:1 1 auto;min-width:0}.sleep-tabs-date-slot>div{justify-content:flex-start}.sleep-tabs-row+.insight-section{margin-top:0}@media (min-width:761px){.sleep-tabs-row .tabs{display:none}.sleep-tabs-row{justify-content:flex-end}}.sleep-report-viewport{overflow:hidden;position:relative}.sleep-report-viewport.is-locked{transition:min-height .2s ease}.sleep-report-skeleton{animation:sleep-report-shimmer 1.1s ease-in-out infinite;background:linear-gradient(90deg,var(--wave-05) 0,var(--wave-10) 45%,var(--wave-05) 90%);background-size:200% 100%;border-radius:20px;min-height:300px}.sleep-report-skeleton.is-fill{height:100%;min-height:300px}.sleep-report-viewport.is-locked .sleep-report-skeleton.is-fill{inset:0;position:absolute}.sleep-report-empty{align-items:center;background:var(--wave-05);border:1px dashed var(--line);border-radius:20px;display:flex;flex-direction:column;gap:10px;justify-content:center;min-height:300px;padding:32px 24px;text-align:center}.sleep-report-empty-icon{background:var(--wave-10);border-radius:50%;color:var(--sub);display:grid;font-size:20px;height:44px;line-height:1;place-items:center;width:44px}.sleep-report-empty p{color:var(--sub);font-size:.9rem;line-height:1.55;margin:0;max-width:280px}@keyframes sleep-report-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.sleep-report-content{display:flex;flex-direction:column;gap:16px;will-change:transform,opacity}.sleep-page.page-stack{gap:20px}.sleep-report-content.is-exit-next{animation:sleep-exit-next .16s ease forwards}.sleep-report-content.is-exit-prev{animation:sleep-exit-prev .16s ease forwards}.sleep-report-content.is-enter-next{animation:sleep-enter-next .22s cubic-bezier(.22,1,.36,1)}.sleep-report-content.is-enter-prev{animation:sleep-enter-prev .22s cubic-bezier(.22,1,.36,1)}@keyframes sleep-exit-next{to{opacity:0;transform:translateX(-12px)}}@keyframes sleep-exit-prev{to{opacity:0;transform:translateX(12px)}}@keyframes sleep-enter-next{0%{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}@keyframes sleep-enter-prev{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}.sleep-report-content.is-fade-exit{animation:sleep-fade-out .18s ease forwards}.sleep-report-content.is-fade-enter{animation:sleep-fade-in .2s ease}@keyframes sleep-fade-out{to{opacity:0}}@keyframes sleep-fade-in{0%{opacity:0}to{opacity:1}}.sleep-report-content.is-session-loading{opacity:.88;pointer-events:none;transition:opacity .15s ease}.sleep-score-hero{background:linear-gradient(160deg,var(--wave-20),var(--wave-08));border:1px solid var(--line);border-radius:20px;padding:24px 28px;position:relative}.sleep-score-hero-main{align-items:flex-start;display:flex;gap:28px}.sleep-score-hero-stats{flex:0 0 auto}.sleep-score-hero-report{border-left:1px solid var(--wave-15);flex:1 1;min-width:0;padding-left:28px}.sleep-score-hero-report strong{color:var(--ink);display:block;font-size:14px;font-weight:800;margin-bottom:6px}.sleep-score-hero-report p{color:var(--sub);font-size:13px;line-height:1.7;margin:0}.sleep-hero-nav{background:var(--surface);border:1px solid var(--line);border-radius:50%;box-shadow:0 4px 14px var(--shadow);color:var(--wave-deep);cursor:pointer;display:grid;height:36px;opacity:0;place-items:center;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .15s ease,box-shadow .15s ease,transform .15s ease;width:36px;z-index:4}.sleep-hero-nav.prev{left:-14px}.sleep-hero-nav.next{right:-14px}.sleep-score-hero:hover .sleep-hero-nav:not(:disabled){opacity:1;pointer-events:auto}.sleep-hero-nav:hover:not(:disabled){box-shadow:0 6px 18px var(--wave-30)}.sleep-hero-nav:disabled{cursor:default}.sleep-score-hero.good{background:linear-gradient(160deg,var(--wave-20),var(--wave-08))}.sleep-score-hero.excellent{background:linear-gradient(160deg,var(--good-18),var(--wave-08))}.sleep-score-hero.attention{background:linear-gradient(160deg,var(--warn-20),var(--wave-08))}.sleep-score-hero.danger{background:linear-gradient(160deg,var(--danger-18),var(--wave-08))}.sleep-score-hero-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.sleep-score-hero-number{align-items:center;display:flex;font-size:40px;font-weight:700;gap:10px}.sleep-score-details-btn{background:var(--surface);border:1px solid var(--line);border-radius:999px;cursor:pointer;font-size:12px;font-weight:700;height:32px;padding:0 16px}.sleep-score-hero-actual,.sleep-score-hero-times{align-items:baseline;display:flex;gap:8px;margin-top:6px}.sleep-score-hero-actual strong,.sleep-score-hero-times strong{font-size:16px;font-weight:800}.sleep-score-hero-actual span,.sleep-score-hero-times span{color:var(--sub);font-size:12px}.tag{border-radius:999px;display:inline-block;font-size:11px;font-style:normal;font-weight:800;padding:3px 10px}.tag.good{background:var(--wave-20);color:var(--excellent-text)}.tag.attention{background:var(--warn-20);color:var(--warn-text)}.tag.excellent{background:var(--good-18);color:var(--good-text)}.tag.danger{background:var(--danger-18);color:var(--danger-strong)}.sleep-plan-settings-btn{background:var(--wave-05);border:1px solid var(--line);border-radius:14px;color:var(--ink);cursor:pointer;font-size:13px;font-weight:700;height:40px;margin-top:14px;width:100%}.phone-care>div:first-child strong,.sleep-plan strong{display:block;font-size:30px;margin-bottom:6px}.phone-care>div:first-child span,.sleep-plan>span{color:var(--sub);font-size:13px}.sleep-plan-row{align-items:center;background:var(--wave-05);border-radius:14px;display:flex;gap:14px;justify-content:space-between;margin-top:13px;padding:12px}.sleep-plan-row p{color:var(--sub);font-size:13px;margin:0}.sleep-plan-row b{font-size:14px}.wake-alarm-list{display:flex;flex-direction:column;gap:12px}.wake-alarm-row{align-items:center;background:var(--wave-05);border-radius:15px;display:flex;gap:14px;justify-content:space-between;padding:13px}.wake-alarm-row strong{display:block;font-size:14px;line-height:1.35;margin-bottom:4px}.wake-alarm-row span{color:var(--sub);font-size:12px}.phone-care>div:first-child{background:var(--wave-05);border-radius:16px;margin-bottom:12px;padding:15px}.big-number{align-items:baseline;color:var(--ink);display:flex;font-size:14px;font-weight:700;gap:8px;margin-bottom:8px}.big-number small,.big-number span{color:var(--sub);font-size:14px}.big-number small{font-weight:800}.care-analysis-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.care-analysis-grid .metric{background:var(--wave-10);border:1px solid var(--wave-20);min-height:auto}.care-analysis-grid .metric strong{font-size:23px}.sleep-score-hero .care-analysis-grid .metric{background:var(--surface);border:1px solid #ffffff85}.sleep-score-hero .care-analysis-grid .metric strong{font-size:17px;overflow-wrap:break-word;word-break:break-all}.sleep-score-factor-panel{border-top:1px solid #ffffff8f;margin-top:8px;padding-top:8px}.sleep-score-factor-head{align-items:center;background:none;border:0;cursor:pointer;display:flex;font:inherit;gap:6px;justify-content:flex-start;margin-bottom:0;padding:0;text-align:left;width:100%}.sleep-score-factor-head[aria-expanded=true]{margin-bottom:10px}.sleep-score-factor-toggle{align-items:center;color:var(--ink-soft);display:inline-flex;gap:4px;margin-left:auto}.sleep-score-factor-toggle-text{font-size:12px;font-weight:700}.sleep-score-factor-chevron{display:inline-flex;transition:transform .2s ease}.sleep-score-factor-head[aria-expanded=true] .sleep-score-factor-chevron{transform:rotate(180deg)}.sleep-score-factor-head strong{color:var(--ink-soft);font-size:14px}.sleep-factor-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.sleep-factor-card{background:var(--surface);border:1px solid #ffffff85;border-radius:14px;min-height:86px;padding:12px}.sleep-factor-card span{color:var(--sub);display:block;font-size:12px;font-weight:700;margin-bottom:6px}.sleep-factor-card strong{color:var(--ink);display:block;font-size:18px;line-height:1.25}.sleep-factor-tag{display:inline-block;font-size:12px;font-style:normal;font-weight:800;margin-top:8px}.sleep-factor-tag.good{color:var(--good-text)}.sleep-factor-tag.attention{color:var(--warn-text)}.sleep-factor-tag.excellent{color:var(--excellent-text)}.sleep-factor-tag.danger{color:var(--danger-strong)}.sleep-factor-scroll{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.sleep-factor-card.compact{background:#0000;min-height:72px;padding:10px 12px}.sleep-factor-card.compact strong{font-size:15px}.sleep-factor-card.compact .sleep-factor-tag{font-size:11px;margin-top:4px}.sleep-hypnogram{align-items:flex-start;display:flex;gap:24px;width:100%}.sleep-hypnogram-main{flex:1 1;min-width:0}.sleep-hypnogram-breakdown{display:flex;flex:0 0 260px;flex-direction:column;gap:14px;justify-content:center}.sleep-hypnogram-chart{background:var(--wave-05);border-radius:12px;display:block;height:148px;width:100%}.sleep-hypnogram-grid{stroke:var(--line);stroke-width:1;stroke-dasharray:4 5;opacity:.85}.sleep-movement-plot{height:16px;margin-top:10px;position:relative}.sleep-movement-label{color:var(--sub);font-size:10px;font-weight:700;line-height:1;margin-top:-4px;position:absolute;right:0;top:0;transform:translateY(-100%)}.sleep-movement-line{background:var(--line);height:1px;left:0;position:absolute;right:0;top:50%}.sleep-movement-ticks{height:100%;position:relative}.sleep-movement-tick{background:var(--accent-stage-awake);border-radius:1px;position:absolute;top:50%;transform:translate(-50%,-50%);width:2px}.sleep-hypnogram-times{border-top:1px solid var(--line);color:var(--sub);display:flex;font-size:11px;gap:4px;justify-content:space-between;margin-top:8px;padding-top:8px}.sleep-hypnogram-times span:first-child,.sleep-hypnogram-times span:last-child{color:var(--ink);font-weight:700}.sleep-vitals-inline-grid{grid-gap:20px;border-top:1px solid var(--line);display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px;padding-top:18px}.sleep-vitals-inline-section{padding-left:10px}.sleep-vitals-inline-head{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.sleep-vitals-inline-head strong{color:var(--ink);font-size:18px;font-weight:700}.sleep-vitals-inline-head span{background:var(--wave-15);border-radius:999px;color:var(--ink);flex-shrink:0;font-size:11px;font-weight:800;padding:4px 10px;white-space:nowrap}.sleep-vitals-card-body{display:flex;flex-direction:column;gap:10px;height:210px;min-height:0}.sleep-snore-summary{flex-shrink:0}.sleep-snore-list{display:flex;flex:1 1;flex-direction:column;gap:6px;min-height:0;overflow-y:auto;padding-right:2px}.sleep-snore-item{align-items:center;background:var(--wave-05);border-radius:12px;display:flex;flex-shrink:0;font-size:12px;justify-content:space-between;padding:8px 12px}.sleep-snore-item span:first-child{color:var(--sub)}.sleep-snore-item span:last-child{color:var(--ink);font-weight:800}.sleep-vitals-chart{height:210px}.sleep-custom-scroll{scrollbar-color:#44596d59 #0000;scrollbar-width:auto}.sleep-custom-scroll::-webkit-scrollbar{width:10px}.sleep-custom-scroll::-webkit-scrollbar-track{background:#0000}.sleep-custom-scroll::-webkit-scrollbar-thumb{background:#44596d59;border-radius:999px}.sleep-custom-scroll::-webkit-scrollbar-button,.sleep-custom-scroll::-webkit-scrollbar-button:single-button{-webkit-appearance:none;display:none;height:0;width:0}.date-navigator{align-items:center;display:flex;gap:14px;justify-content:center;position:relative}.date-navigator>button:first-child,.date-navigator>button:last-child{background:var(--surface);border:1px solid var(--line);border-radius:50%;color:var(--ink);cursor:pointer;display:grid;flex-shrink:0;font-size:16px;height:34px;place-items:center;width:34px}.date-navigator>button:first-child:disabled,.date-navigator>button:last-child:disabled{border-color:var(--line);color:var(--sub);cursor:not-allowed;opacity:.5}.date-navigator-label{background:var(--wave-05);border:1px solid var(--line);border-radius:999px;color:var(--ink);cursor:pointer;font-size:13px;font-weight:800;height:34px;min-width:140px;padding:0 18px}.calendar-popup{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 40px var(--shadow);left:50%;padding:14px;position:absolute;top:42px;transform:translateX(-50%);width:260px;z-index:20}.calendar-popup-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.calendar-popup-head strong{font-size:13px}.calendar-popup-head button{background:var(--wave-05);border:0;border-radius:50%;color:var(--ink);cursor:pointer;display:grid;height:26px;place-items:center;width:26px}.calendar-popup-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:4px}.calendar-popup-weekdays span{color:var(--sub);font-size:11px;font-weight:700;text-align:center}.calendar-popup-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-popup-grid button{background:#0000;border:0;border-radius:8px;color:var(--ink);cursor:pointer;font-size:12px;height:30px}.calendar-popup-grid button:hover:not(:disabled){background:var(--wave-10)}.calendar-popup-grid button.selected{background:var(--wave);font-weight:800}.calendar-popup-grid button:disabled{color:var(--line);cursor:not-allowed}.report-score{align-items:center;display:flex;gap:26px}.report-score p{color:var(--sub);margin:0 0 5px}.report-score strong{font-size:54px}.report-score span{color:var(--sub);line-height:1.7;max-width:620px}.report-score.compact strong{font-size:42px}.weekly-trend-chart{background:var(--wave-05);border-radius:16px;min-height:210px;padding:12px 4px 0}.weekly-bottom-grid{grid-gap:10px;align-items:stretch;display:grid;gap:10px;grid-template-columns:150px repeat(auto-fit,minmax(150px,1fr));margin-top:12px}.weekly-bottom-grid .metric{align-items:center;background:var(--wave-10);border:1px solid var(--wave-20);display:flex;flex-direction:column;justify-content:center;min-height:72px;padding:4px 8px;text-align:center}.weekly-bottom-grid .metric p{font-size:12px;line-height:1.2;margin:0 0 1px}.weekly-bottom-grid .metric strong{display:block;font-size:20px;line-height:1.05;margin-bottom:1px}.weekly-bottom-grid .metric-detail{font-size:11px;line-height:1.25}.weekly-score-average{align-items:center;background:var(--wave-15);border-radius:16px;display:flex;flex-direction:column;justify-content:center;min-height:72px;padding:4px 10px}.weekly-score-average p,.weekly-score-average span{color:var(--sub);font-size:12px;line-height:1.2}.weekly-score-average strong{font-size:28px;line-height:1.05;margin:2px 0}.weekly-score-average p{margin:0}@media (max-width:1100px){.care-analysis-grid,.insight-list{grid-template-columns:1fr}}@media (max-width:760px){.sleep-score-hero{padding:16px}.sleep-score-hero-main{flex-direction:column;gap:16px}.sleep-score-hero-report{border-left:none;border-top:1px solid var(--wave-15);padding-left:0;padding-top:16px}.sleep-score-hero-number{font-size:32px}.insight-list,.sleep-vitals-inline-grid{grid-template-columns:1fr}.care-analysis-grid,.weekly-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-score-average{justify-items:center;min-height:0;padding:8px 12px;text-align:center}.weekly-score-average strong{font-size:20px;margin:2px 0}}.sleep-card-title-with-info{align-items:center;display:inline-flex;gap:8px}.sleep-card-title-with-info,.sleep-weekly-title .card-head h3{color:var(--ink);font-size:18px}.sleep-card-title-with-info .info-tooltip-bubble{left:0;right:auto;transform:none}.sleep-stage-info{display:flex;flex-direction:column;gap:12px}.sleep-stage-info-lead{color:var(--ink);font-size:12px;font-weight:600;line-height:1.5;margin:0}.sleep-stage-info-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.sleep-stage-info-item{background:#0000;border-left:3px solid var(--wave);border-radius:0;display:flex;flex-direction:column;gap:2px;padding:2px 0 2px 10px}.sleep-stage-info-item.tone-light{border-left-color:var(--accent-stage-light)}.sleep-stage-info-item.tone-deep{border-left-color:var(--accent-stage-deep)}.sleep-stage-info-item.tone-rem{border-left-color:var(--accent-plum)}.sleep-stage-info-item strong{color:var(--ink);font-size:12px;font-weight:800}.sleep-stage-info-item span,.sleep-stage-info-toss{color:var(--ink-soft);font-size:11px;font-weight:500;line-height:1.45}.sleep-stage-info-toss{margin:0}.sleep-stage-info-note{border-top:1px solid var(--line);color:var(--sub);font-size:11px;font-weight:600;line-height:1.45;margin:0;padding-top:10px}.apnea-screening-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 8px var(--wave-10);margin-top:20px;padding:16px 18px 14px}.apnea-screening-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.apnea-screening-title{color:var(--ink);font-size:16px;font-weight:800;margin:0}.apnea-screening-badge{background:var(--wave-15);border-radius:999px;color:var(--sub);display:inline-block;flex-shrink:0;font-size:11px;font-weight:700;padding:4px 10px}.apnea-screening-summary{color:var(--ink);font-size:14px;line-height:1.5;margin:0 0 10px}.apnea-screening-summary--ok{color:var(--good-text)}.apnea-screening-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.apnea-screening-chip{background:var(--warn-15);border-radius:999px;color:var(--warn-text);font-size:12px;font-weight:700;padding:4px 10px}.apnea-screening-stats{color:var(--sub);font-size:14px;font-weight:600;line-height:1.7;margin:0}.apnea-screening-disclaimer{border-top:1px solid var(--line);color:var(--sub);font-size:13px;line-height:1.5;margin:10px 0 0;padding-top:10px}.posture-status-pill{border-radius:999px;display:inline-block;font-size:22px;font-weight:800;padding:6px 20px}.posture-status-pill.good{background:var(--good-18);color:var(--good-text)}.posture-status-pill.attention{background:var(--warn-20);color:var(--warn-text)}.posture-status-pill.danger{background:var(--danger-18);color:var(--danger-strong)}.gesture-placeholder{align-items:center;background:var(--wave-05);border-radius:16px;color:var(--sub);display:flex;font-size:13px;justify-content:center;min-height:160px}.sitting-time strong{display:block;font-size:30px;margin-bottom:8px}.sitting-time p,.sitting-time span{color:var(--sub);font-size:13px}.sitting-time>div{background:var(--wave-10);border-radius:999px;height:10px;margin:18px 0 12px;overflow:hidden}.sitting-time i{background:var(--wave);border-radius:inherit;display:block;height:100%}.sitting-time p{line-height:1.5;margin:0}.posture-alert-list{display:flex;flex-direction:column;gap:12px}.posture-alert-row{align-items:center;background:var(--wave-05);border-radius:15px;display:flex;gap:14px;justify-content:space-between;padding:13px}.posture-alert-row strong{display:block;font-size:14px;margin-bottom:4px}.posture-alert-row span{color:var(--sub);font-size:12px;line-height:1.4}.toggle-switch{background:var(--track);border:0;border-radius:999px;cursor:pointer;flex-shrink:0;height:26px;position:relative;width:46px}.toggle-switch i{background:var(--surface);border-radius:50%;box-shadow:0 2px 7px var(--ink-16);height:20px;left:3px;position:absolute;top:3px;transition:transform .2s ease;width:20px}.toggle-switch.on{background:var(--wave)}.toggle-switch.on i{transform:translateX(20px)}.factor-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.factor-card{border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;gap:6px;padding:14px}.factor-card.good{background:var(--good-15);border-color:var(--good-18)}.factor-card.attention{background:var(--warn-15);border-color:var(--warn-20)}.factor-card.excellent{background:var(--wave-15);border-color:var(--wave-20)}.factor-tag{font-size:11px;font-style:normal;font-weight:800}.factor-tag.good{color:var(--good-text)}.factor-tag.attention{color:var(--warn-text)}.factor-tag.excellent{color:var(--excellent-text)}.factor-card span{color:var(--sub);font-size:12px}.factor-card strong{font-size:18px;font-weight:800}.posture-report-stack{display:flex;flex-direction:column;gap:20px}.posture-actions-layout{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.posture-action-list{display:flex;flex-direction:column;gap:12px}@media (max-width:1100px){.factor-grid{grid-template-columns:repeat(2,minmax(0,160px))}.posture-actions-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.factor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.factor-card{gap:4px;padding:10px 12px}.factor-card strong{font-size:16px}}.weekly-plan-calendar-scroll{max-height:640px;overflow-x:hidden;overflow-y:auto}.weekly-plan-shell--mobile .weekly-plan-calendar-scroll{max-height:480px}.sleep-history-block{background:#1e293b29;border:1px solid #1e293b38;border-radius:8px;pointer-events:none;position:absolute;z-index:2}.content.weekly-plan-active{padding-top:10px}.weekly-plan-banner{background:linear-gradient(160deg,var(--wave-20),var(--wave-08));border:1px solid var(--wave-35);border-radius:14px;min-height:100px;padding:10px 20px}.weekly-plan-banner-header{color:var(--ink);font-size:26px;font-weight:700;letter-spacing:0;line-height:1.28;margin:8px 0 12px}.weekly-plan-banner-body{color:var(--sub);font-size:13px;letter-spacing:-.01em;line-height:1.7;margin:0}.today-todo-card{background:linear-gradient(135deg,#2563eb,#38bdf8);border-radius:22px;box-shadow:0 10px 24px -8px #2563eb73;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;min-height:120px;padding:18px 16px}.today-todo-card-title{color:#fff;font-size:17px;font-weight:800;letter-spacing:-.01em}.today-todo-badge{background:#ffffff38;border-radius:999px;color:#fff;font-size:11px;font-weight:700;padding:3px 10px}.today-todo-progress{color:#ffffffc7;font-size:12px;margin:0 0 8px}.today-todo-empty{color:#ffffffb8;font-size:12px;margin:0;padding:16px 0;text-align:center}.today-todo-list{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow-y:auto}.today-todo-row{align-items:flex-start;border-bottom:1px solid #ffffff29;cursor:pointer;display:flex;gap:10px;padding:8px 4px;transition:opacity .12s ease}.today-todo-row:last-child{border-bottom:none}.today-todo-row.is-done{opacity:.55}.today-todo-checkbox{align-items:center;border:1.5px solid #ffffffa6;border-radius:5px;color:#2563eb;display:flex;flex-shrink:0;height:16px;justify-content:center;margin-top:2px;transition:background .12s ease,border-color .12s ease;width:16px}.today-todo-checkbox.is-checked{background:#fff;border-color:#fff}.today-todo-title{color:#fff;flex:1 1 auto;font-size:13px;line-height:1.4;margin:0;min-width:0;overflow-wrap:break-word;white-space:normal}.today-todo-row.is-done .today-todo-title{text-decoration:line-through}.today-todo-time{color:#ffffffbf;flex-shrink:0;font-size:11px;margin-top:2px}.plan-purple-card{background:linear-gradient(135deg,#7c3aed,#c084fc);border-radius:22px;box-shadow:0 10px 24px -8px #7c3aed66;color:#fff;padding:18px 16px}.plan-blue-card{background:linear-gradient(135deg,#2563eb,#38bdf8);border-radius:22px;box-shadow:0 10px 24px -8px #2563eb73;box-sizing:border-box;color:#fff;padding:14px 16px}.plan-purple-card-title{color:#fff;font-size:17px;font-weight:800;letter-spacing:-.01em;margin-bottom:12px}.plan-purple-group-label{color:#fff;font-size:15px;font-weight:800;margin:0 0 6px;padding:0 2px}.plan-purple-row{align-items:center;border-bottom:1px solid #ffffff2e;display:flex;gap:8px;padding:9px 2px}.plan-purple-row:last-child{border-bottom:none}.plan-blue-card .plan-purple-row{border-bottom:none;padding:6px 2px}.plan-blue-group{margin-bottom:10px}.plan-blue-group:not(:first-child){border-top:1px solid #ffffff52;margin-top:2px;padding-top:10px}.plan-purple-card .goal-coach-card{background:#0000;border-color:#0000;padding:0}.plan-purple-card .goal-coach-card>p{color:#ffffffe0}.plan-purple-card .goal-coach-textarea{background:#ffffffeb;border-color:#0000;color:#1e1b2e}.plan-purple-card .goal-coach-tag{background:#ffffff2e;color:#fff}.plan-purple-card .goal-coach-submit,.plan-purple-card .goal-coach-tag.is-active{background:#fff;color:#7c3aed}.goal-coach-card{background:var(--wave-05);border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;gap:12px;padding:16px}.goal-coach-card>p{color:var(--sub);font-size:12px;line-height:1.5;margin:0}.goal-coach-textarea{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-sizing:border-box;color:var(--ink);display:block;font:inherit;font-size:13px;line-height:1.45;min-height:42px;outline:none;overflow:hidden;padding:11px 14px;resize:none;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.goal-coach-textarea::placeholder{color:var(--sub);opacity:.85}.goal-coach-textarea:focus{border-color:var(--wave);box-shadow:0 0 0 3px var(--wave-15)}.goal-coach-tags{display:flex;flex-wrap:wrap;gap:6px}.goal-coach-tag{background:#f1f5f9;background:var(--surface-muted,#f1f5f9);border:0;border-radius:999px;color:var(--sub);cursor:pointer;font:inherit;font-size:11px;font-weight:700;padding:5px 11px;transition:background .12s ease,color .12s ease}.goal-coach-submit,.goal-coach-tag.is-active{background:var(--wave);color:#fff}.goal-coach-submit{align-items:center;border:0;border-radius:14px;cursor:pointer;display:inline-flex;font:inherit;font-size:12px;font-weight:800;gap:8px;height:40px;justify-content:center;transition:opacity .15s ease;width:100%}.goal-coach-submit:disabled{cursor:default}.goal-coach-spinner{animation:goal-coach-spin .95s cubic-bezier(.45,.05,.55,.95) infinite;border:2px solid #ffffff59;border-radius:50%;border-top-color:#fff;flex-shrink:0;height:14px;width:14px}.goal-coach-spinner--on-light{border-color:var(--wave-28);border-top-color:var(--wave);height:18px;width:18px}.goal-coach-guide{background:#fee2e28c;border:1px solid #dc262638;border-radius:12px;padding:12px 14px}.goal-coach-guide-title{color:#b91c1c;font-size:12px;font-weight:800;margin:0}.goal-coach-guide-text{color:#7f1d1d;font-size:12px;line-height:1.5;margin:6px 0 0;white-space:pre-line}.goal-coach-loading{align-items:flex-start;background:var(--wave-05);border:1px dashed var(--wave-40);border-radius:16px;display:flex;gap:12px;padding:16px}.goal-coach-loading-title{color:var(--ink);font-size:12px;font-weight:800;margin:0}.goal-coach-loading-sub{color:var(--sub);font-size:11px;line-height:1.45;margin:4px 0 0}@keyframes goal-coach-spin{0%{animation-timing-function:cubic-bezier(.4,0,.7,.2);transform:rotate(0deg)}40%{animation-timing-function:cubic-bezier(.2,.8,.4,1);transform:rotate(140deg)}70%{animation-timing-function:ease-out;transform:rotate(280deg)}to{transform:rotate(1turn)}}.home-twin-page{align-items:stretch;flex:1 1;gap:14px;max-width:100%;min-height:480px;width:100%}.home-twin-page,.twin-device-sidebar{box-sizing:border-box;display:flex;position:relative}.twin-device-sidebar{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex:0 0 auto;flex-direction:column;gap:12px;overflow-x:hidden;overflow-y:auto;padding:14px;scrollbar-gutter:stable;width:min(420px,40%)}.twin-sidebar-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.twin-sidebar-head h3{color:var(--ink);font-size:15px;margin:0}.twin-device-list{display:flex;flex-direction:column;gap:10px;overflow-y:auto}.twin-device-list .iot-device-card{width:100%}.twin-device-list .iot-device-card-name{line-height:1.3;overflow:visible;text-overflow:clip;white-space:normal;word-break:keep-all}.twin-sidebar-back{align-items:center;align-self:flex-start;background:var(--wave-10);border:0;border-radius:8px;color:var(--wave-deep);cursor:pointer;display:inline-flex;font-size:12px;font-weight:800;gap:4px;padding:6px 10px 6px 6px}.twin-sidebar-back:hover{background:var(--wave-15)}.twin-device-detail{display:flex;flex-direction:column;gap:14px;min-width:0;overflow-x:hidden;overflow-y:auto}.twin-device-detail-head{grid-gap:10px 12px;align-items:start;display:grid;gap:10px 12px;grid-template-columns:auto minmax(0,1fr)}.twin-device-detail-title{min-height:40px;min-width:0}.twin-device-detail-head strong{color:var(--ink);display:block;font-size:15px;line-height:1.25}.twin-device-detail-head span{color:var(--sub);display:block;font-size:12px;line-height:1.25;margin-top:2px}.twin-device-detail-head .tabs{grid-column:1/-1;margin:0;max-width:100%;width:-webkit-fit-content;width:fit-content}.twin-scene-area{background:#fff;border-radius:16px;flex:1 1 auto;min-width:0;overflow:hidden;position:relative;width:100%}.home-twin-canvas,.model-house-scene-wrap{display:block;height:100%;width:100%}.model-house-scene-wrap--booting canvas{visibility:hidden}@media (max-width:900px){.home-twin-page{flex-direction:column;height:auto}.twin-device-sidebar{max-height:320px;width:100%}.twin-scene-area{height:60vh;min-height:360px}}.twin-back-button{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#172033d1;border:1px solid #1720333d;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;gap:6px;padding:8px 14px;position:absolute;right:16px;top:16px;transition:right .28s ease;z-index:20}.twin-back-button:hover{background:#172033f2}.twin-room-title{background:#00000059;border-radius:8px;color:#fff;font-size:.95rem;font-weight:600;left:16px;padding:6px 12px;position:absolute;top:16px;z-index:20}.twin-device-label{color:#172033;font-size:13px;font-weight:600;padding:2px;text-shadow:0 1px 1px #ffffffe6,0 0 2px #ffffffbf;-webkit-user-select:none;user-select:none;white-space:nowrap}.twin-device-label,.twin-device-label-wrap{align-items:center;display:inline-flex;gap:6px}.twin-device-label-wrap{flex-direction:column;position:relative}.twin-speech-bubble{background:#0f172aeb;border-radius:10px;box-shadow:0 4px 14px #0f172a47;color:#f8fafc;font-size:11px;font-weight:600;line-height:1.35;max-width:220px;overflow-wrap:anywhere;padding:6px 10px;pointer-events:none;position:relative;text-align:center;white-space:normal;word-break:keep-all}.twin-speech-bubble:after{background:#0f172aeb;bottom:-5px;content:"";height:10px;left:50%;margin-left:-5px;position:absolute;transform:rotate(45deg);width:10px}.twin-overview-room-label{align-items:center;color:#fff;display:inline-flex;font-size:23px;font-weight:700;justify-content:center;line-height:1;text-shadow:0 1px 3px #000c,0 0 6px #0000008c;white-space:nowrap}.twin-status-dot{border-radius:50%;flex-shrink:0;height:11px;width:11px}.twin-dot-on{background:#3ddc84;box-shadow:0 0 6px #3ddc84}.twin-dot-standby{background:#ffb020;box-shadow:0 0 6px #ffb020}.twin-dot-off{background:#ff7043}.twin-device-tooltip{background:#080c14e0;border-radius:10px;bottom:16px;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;font-size:.85rem;gap:4px;left:16px;max-width:calc(100% - 32px);padding:10px 14px;pointer-events:none;position:absolute;width:min(18.75rem,calc(100% - 32px));z-index:25}.twin-device-tooltip strong{line-height:1.35}.twin-device-tooltip strong,.twin-device-tooltip-desc{overflow-wrap:anywhere;white-space:normal;word-break:keep-all}.twin-device-tooltip-desc{line-height:1.45}.twin-device-tooltip small{line-height:1.4;opacity:.75;overflow-wrap:anywhere;white-space:normal;word-break:keep-all}@media (max-width:640px){.twin-device-tooltip{bottom:12px;font-size:.8rem;left:12px;max-width:calc(100% - 24px);padding:9px 12px;width:min(16rem,calc(100% - 24px))}}.camera-pov-overlay{background:#0a0e14;display:flex;flex-direction:column;inset:0;position:fixed;z-index:2000}.camera-pov-header{align-items:center;background:#00000080;color:#fff;display:flex;justify-content:space-between;padding:12px 16px}.camera-pov-canvas{flex:1 1;min-height:0}.camera-pov-inline{height:100%;inset:0;position:absolute;width:100%}.camera-pov-inline canvas{display:block;height:100%!important;width:100%!important}.camera-pov-hint{color:#ffffffa6;font-size:.8rem;margin:0}.camera-pov-controls{align-items:center;background:#000000b8;color:#fff;display:flex;gap:16px;justify-content:space-between;min-height:112px;padding:10px 16px}.camera-pov-open-btn{background:#ffffff14;border:1px solid #fff3;border-radius:8px;color:inherit;cursor:pointer;font-size:.85rem;margin-top:8px;padding:8px 12px}.camera-pov-open-btn:hover{background:#ffffff24}.radar-status-row{align-items:center;background:var(--wave-05);border-radius:14px;display:flex;gap:4px;margin-bottom:16px;padding:12px 14px}.radar-status-row .pulse{margin:0 9px 0 2px}.radar-status-row.warn .pulse{background:var(--warn);box-shadow:0 0 0 5px var(--warn-15)}.radar-status-row strong{display:block;font-size:14px}.radar-status-row span{color:var(--sub);font-size:12px}.stat-trio{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 0}.stat-trio-item{background:var(--wave-05);border-radius:14px;padding:12px;text-align:center}.stat-trio-item p{color:var(--sub);font-size:11px;font-weight:700;margin:0 0 4px}.stat-trio-item strong{display:block;font-size:22px}.stat-trio-item strong span{color:var(--ink-soft);font-size:13px;font-weight:700;margin-left:2px}.stat-trio-item small{color:var(--sub);display:block;font-size:12px;font-weight:700;margin-top:4px}.settings-page{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1292px}.settings-tab-heading{font-size:28px;font-weight:900;letter-spacing:-.02em;line-height:1.15;margin:0 0 4px}.settings-detail{min-width:0}.settings-section-block+.settings-section-block{margin-top:32px}.settings-section-action-row{align-items:center;display:flex;gap:10px}.settings-hero h2{font-size:26px;line-height:1.35;margin:8px 0 10px;max-width:720px}.settings-hero-profile{align-items:center;display:flex;gap:18px}.settings-hero-avatar{background:var(--wave-20);border-radius:50%;color:var(--ink);display:grid;flex-shrink:0;font-size:26px;font-weight:800;height:64px;place-items:center;width:64px}.settings-hero-name{color:var(--ink);font-size:28px;font-weight:900;line-height:1.2;margin:4px 0 0}.settings-layout{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:280px minmax(0,1fr)}.settings-nav{display:flex;flex-direction:column;gap:8px}.settings-nav-tabs{display:none}.settings-nav-item{background:var(--surface);border:1px solid var(--line);border-radius:16px;cursor:pointer;padding:14px;text-align:left;width:100%}.settings-nav-item.active{background:linear-gradient(135deg,var(--surface),var(--wave-10));border-color:var(--wave)}.settings-nav-item strong{display:block;font-size:15px;margin-bottom:4px}.settings-nav-item span{color:var(--sub);font-size:12px;line-height:1.4}.settings-nav-item--manual{background:linear-gradient(135deg,#95d9f824,var(--surface))}.settings-nav-item--manual:hover{border-color:#136f9a59}.settings-manual-mobile-btn{background:linear-gradient(135deg,#95d9f824,var(--surface));border:1px solid var(--line);border-radius:14px;color:#0e4862;color:var(--wave-deepest,#0e4862);cursor:pointer;display:none;font-size:14px;font-weight:700;margin-top:10px;padding:12px 14px;width:100%}.device-summary-row{margin:-4px 0 14px;padding:0}.device-summary-row strong{display:block;font-size:14px;margin-bottom:4px}.device-summary-row span{color:var(--sub);font-size:12px;line-height:1.4}.device-section+.device-section{margin-top:22px}.device-section h3{font-size:15px;margin:0 0 10px}.device-list,.room-zone-list{display:flex;flex-direction:column;gap:12px}.device-row{grid-gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;display:grid;gap:14px;grid-template-columns:64px minmax(0,1fr) 38px auto;padding:14px}.device-row.enabled{background:var(--wave-05)}.device-thumb{background:linear-gradient(135deg,var(--wave-20),var(--surface));border:1px solid var(--wave-20);border-radius:14px;display:grid;height:48px;place-items:center;width:64px}.device-thumb span{border:3px solid var(--ink-soft);border-radius:8px;display:block;height:24px;width:32px}.device-thumb.srs_r4sn span{border-radius:50%;border-width:5px;box-shadow:inset 0 0 0 5px var(--surface);height:34px;width:34px}.device-thumb.wave_mic span{border-radius:999px;height:32px;width:18px}.device-thumb.wave_cam span{border-radius:9px;box-shadow:inset 10px 0 0 var(--ink-soft);height:24px;width:36px}.device-thumb.tizen_tv span{border-radius:5px;height:26px;width:42px}.device-thumb.hue_light span,.device-thumb.tuya_ep2h span{border-radius:8px;height:28px;width:28px}.device-row-title{align-items:center;display:flex;gap:8px;margin-bottom:3px}.device-row-title strong{font-size:15px}.device-row-title em{font-size:11px;font-style:normal;font-weight:800}.device-row-title em.online{color:var(--good-text)}.device-row-title em.idle{color:var(--warn-text)}.device-row-main small,.device-row-main span{color:var(--sub);display:block;font-size:12px;line-height:1.45}.device-remove-btn,.device-settings-btn{border:0;border-radius:10px;cursor:pointer;height:34px}.device-settings-btn{background:#0000;color:var(--sub);display:grid;place-items:center;width:34px}.device-settings-btn:hover{background:var(--wave-15);color:var(--ink)}.device-remove-btn{background:var(--wave-05);color:var(--sub);font-size:12px;font-weight:800;padding:0 12px}.device-dialog-backdrop{background:#0f172a47;display:grid;inset:0;padding:20px;place-items:center;position:fixed;z-index:60}.device-dialog{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px var(--shadow);padding:20px;width:min(520px,100%)}.device-dialog-head{align-items:center;display:flex;gap:14px;margin-bottom:16px}.device-dialog-head span{color:var(--sub);font-size:12px;font-weight:800}.device-dialog-head h3{font-size:20px;margin:2px 0 0}.device-dialog-head>button{background:var(--wave-05);border:0;border-radius:50%;color:var(--sub);cursor:pointer;font-size:22px;height:34px;margin-left:auto;width:34px}.device-enable-row{align-items:center;background:var(--wave-05);border-radius:14px;display:flex;gap:14px;justify-content:space-between;margin-bottom:14px;padding:12px}.device-enable-row span,.device-enable-row strong{display:block}.device-enable-row span{color:var(--sub);font-size:12px;margin-top:3px}.device-detail-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.device-detail-line{border:1px solid var(--line);border-radius:12px;padding:10px 12px}.device-detail-line span{color:var(--sub);display:block;font-size:11px;font-weight:800;margin-bottom:4px}.device-companion-row{align-items:center;border-top:1px solid #00000014;border-top:1px solid var(--settings-border,#00000014);display:flex;gap:16px;justify-content:space-between;margin:16px 0 4px;padding:14px 0 4px}.device-companion-row strong{display:block;font-size:.95rem}.device-companion-row p{font-size:.82rem;line-height:1.35;margin:4px 0 0;opacity:.72}.device-detail-line strong{font-size:13px;word-break:break-word}.device-detail-line.about-dev-unlock{cursor:default;user-select:none;-webkit-user-select:none}.device-detail-line.about-dev-unlock:active{transform:none}.mic-level-block{background:var(--wave-05);border-radius:14px;margin-top:12px;padding:12px}.mic-level-block>div:first-child{display:flex;font-size:12px;justify-content:space-between;margin-bottom:8px}.mic-level-bar{background:var(--wave-15);border-radius:999px;height:9px;overflow:hidden}.mic-level-bar i{background:var(--wave);border-radius:inherit;display:block;height:100%}.room-zone-row{align-items:center;background:var(--wave-05);border:1px solid var(--line);border-radius:16px;display:flex;gap:14px;justify-content:space-between;padding:14px}.room-zone-row span,.room-zone-row strong{display:block}.room-zone-row span{color:var(--sub);font-size:12px;margin-top:4px}.room-zone-add{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;margin-top:14px}.room-zone-add input{background:var(--surface);border:1px solid var(--line);border-radius:12px;font:inherit;height:40px;padding:0 12px}.room-zone-add button{background:var(--wave);border:0;border-radius:12px;color:var(--ink);cursor:pointer;font-weight:800;height:40px;padding:0 16px}.zone-list{display:flex;flex-direction:column;gap:12px}.zone-row{align-items:center;background:var(--wave-05);border:1px solid var(--line);border-radius:16px;display:flex;gap:14px;padding:14px}.zone-row.active{border-color:var(--wave);box-shadow:0 0 0 3px var(--wave-15)}.zone-info strong{display:block;font-size:15px;margin-bottom:4px}.zone-info span{color:var(--sub);font-size:12px}.zone-actions{align-items:center;display:flex;gap:10px;margin-left:auto}.zone-delete{background:#0000;border:0;border-radius:50%;color:var(--sub);cursor:pointer;display:grid;height:32px;place-items:center;width:32px}.zone-delete:hover{background:var(--wave-15);color:var(--ink)}.zone-add-row{display:flex;gap:10px;margin-top:14px}.zone-add-row input,.zone-add-row select{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex:1 1;font:inherit;height:40px;padding:0 12px}.zone-add-row button{background:var(--wave);border:0;border-radius:12px;color:var(--ink);cursor:pointer;flex-shrink:0;font-weight:800;height:40px;padding:0 16px}.household-list{display:flex;flex-direction:column;gap:10px}.household-row{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;cursor:pointer;display:flex;gap:12px;padding:12px 14px;text-align:left;width:100%}.household-row.active{background:var(--wave-05);border-color:var(--wave)}.household-row em{color:var(--excellent-text);font-size:12px;font-style:normal;font-weight:800;margin-left:auto}.personal-profile-panel{align-items:center;display:flex;flex-direction:column;gap:14px;padding:12px 0 4px}.personal-profile-avatar{background:var(--wave-20);border-radius:50%;color:var(--ink);display:grid;font-size:36px;font-weight:800;height:96px;place-items:center;width:96px}.personal-profile-input{border:1px solid var(--line);border-radius:12px;font:inherit;font-size:15px;font-weight:700;height:44px;max-width:280px;padding:0 16px;text-align:center;width:100%}.personal-profile-save{background:var(--wave);border:0;border-radius:12px;color:var(--ink);cursor:pointer;font-weight:800;height:44px;max-width:280px;width:100%}.personal-profile-save:disabled{background:var(--wave-15);color:var(--sub);cursor:default}.general-setting-row{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:14px;justify-content:space-between;padding:13px 0}.general-setting-row:last-of-type{border-bottom:0}.general-setting-row strong{display:block;font-size:14px;margin-bottom:4px}.general-setting-row span{color:var(--sub);font-size:12px}.general-setting-row select{border:1px solid var(--line);border-radius:10px;font:inherit;height:38px;padding:0 12px}.tts-setting-block{padding-top:13px}.tts-setting-head{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:12px}.tts-setting-head span,.tts-setting-head strong{display:block}.tts-setting-head strong{font-size:14px;margin-bottom:4px}.tts-setting-head span{color:var(--sub);font-size:12px}.tts-setting-head select{border:1px solid var(--line);border-radius:10px;font:inherit;height:38px;padding:0 12px}.tts-speaker-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.tts-speaker-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px;text-align:left}.tts-speaker-card.active{background:var(--wave-05);border-color:var(--wave)}.tts-speaker-card strong{font-size:14px}.tts-speaker-card em,.tts-speaker-card small{color:var(--sub);font-size:11px;font-style:normal;line-height:1.4}.segmented{background:var(--wave-05);border-radius:12px;display:flex;padding:4px}.segmented button{background:#0000;border:0;border-radius:9px;color:var(--sub);cursor:pointer;font-weight:700;padding:8px 14px}.segmented button.active{background:var(--surface);box-shadow:0 1px 6px var(--wave-30);color:var(--ink)}.sleep-settings-time-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.sleep-settings-time-field p{color:var(--sub);font-size:12px;font-weight:700;margin:0 0 6px}.sleep-settings-time-field input[type=time]{background:var(--wave-05);border:1.5px solid var(--wave-20);border-radius:12px;color:var(--ink);font:inherit;font-size:14px;font-weight:800;height:42px;padding:0 12px;width:100%}.sleep-settings-duration{border-radius:12px;margin-top:12px;padding:10px 14px}.sleep-settings-callout,.sleep-settings-duration{background:var(--wave-05);color:var(--ink);font-size:13px}.sleep-settings-callout{align-items:center;border:1px solid var(--wave-15);border-radius:14px;display:flex;gap:10px;margin-top:14px;padding:12px 14px}.sleep-settings-callout p{margin:0}.sleep-settings-music-row{align-items:center;background:var(--wave-05);border:1px solid var(--line);border-radius:14px;display:flex;gap:12px;margin-top:12px;padding:12px 14px}.sleep-settings-music-text{flex:1 1}.sleep-settings-music-text strong{display:block;font-size:13px}.sleep-settings-music-text span{color:var(--sub);font-size:11px}.sleep-settings-music-play{background:var(--wave);border:0;border-radius:50%;color:var(--ink);cursor:pointer;display:grid;flex-shrink:0;font-size:13px;height:34px;place-items:center;width:34px}.sleep-settings-music-play.off{background:var(--wave-20)}.sleep-settings-note{background:var(--wave-05);border-radius:12px;margin-top:10px;padding:10px 14px}.sleep-settings-note p{color:var(--sub);font-size:11px;font-weight:700;margin:0 0 4px}.sleep-settings-note strong{font-size:13px}.sleep-settings-slider-block{margin:14px 0}.sleep-settings-slider-label{display:flex;font-size:12px;justify-content:space-between;margin-bottom:8px}.sleep-settings-slider-label span{color:var(--sub)}.sleep-settings-slider-label strong{color:var(--ink);font-weight:800}.light-timeline{background:var(--wave-05);border-radius:14px;margin-top:14px;padding:12px}.light-timeline p{color:var(--sub);font-size:11px;font-weight:700;margin:0 0 8px}.light-timeline-bars{align-items:flex-end;display:flex;gap:4px;height:40px}.light-timeline-bar{background:var(--wave);border-radius:3px 3px 0 0;flex:1 1}.light-timeline-labels{color:var(--sub);display:flex;font-size:10px;justify-content:space-between;margin-top:6px}.debt-bar{background:var(--wave-10);border-radius:999px;height:8px;overflow:hidden}.debt-bar i{border-radius:999px;display:block;height:100%;transition:width .2s ease}.debt-week-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:14px}.debt-day{background:var(--wave-05);border-radius:10px;padding:8px 4px;text-align:center}.debt-day.deficit{background:var(--wave-10)}.debt-day span{color:var(--sub);display:block;font-size:10px}.debt-day strong{display:block;font-size:11px;margin-top:2px}.settings-panel{padding:24px 26px}.settings-panel-desc{color:var(--sub);font-size:13px;line-height:1.5;margin:0 0 4px}.settings-section-block{padding:20px 0 4px}.settings-section-block:first-of-type{padding-top:14px}.settings-section-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.settings-section-head h3{color:var(--ink);font-size:15px;margin:0}.settings-separator{background:var(--line);border:0;height:1px;margin:0}.settings-row{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:11px 0}.settings-row-label strong{display:block;font-size:14px;margin-bottom:3px}.settings-row-label span{color:var(--sub);font-size:12px;line-height:1.4}.settings-row-control{align-items:center;display:flex;flex-shrink:0;gap:10px}.settings-select{background:var(--surface);border:1px solid var(--line);border-radius:10px;cursor:pointer;font:inherit;height:38px;padding:0 12px}.settings-range{accent-color:var(--wave);width:180px}.settings-range-wrap{align-items:center;display:flex;gap:12px}.settings-range-input{appearance:none;-webkit-appearance:none;background:var(--line);border-radius:999px;cursor:pointer;height:6px;outline:none;width:180px}.settings-range-input::-webkit-slider-thumb{-webkit-appearance:none;background:var(--wave);border:none;border-radius:50%;box-shadow:0 1px 4px #0000002e;cursor:grab;height:18px;width:18px}.settings-range-input::-moz-range-thumb{background:var(--wave);border:none;border-radius:50%;box-shadow:0 1px 4px #0000002e;cursor:grab;height:18px;width:18px}.settings-range-input::-webkit-slider-runnable-track{background:#0000}.settings-range-input::-moz-range-track{background:var(--line);border-radius:999px}.settings-range-value{font-size:14px;font-weight:700;min-width:38px;text-align:right}.tts-speaker-select{max-width:340px}.tts-voice-row{align-items:center;display:flex;gap:10px}.tts-custom-select{min-width:240px;position:relative;width:240px}.tts-custom-trigger{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;cursor:pointer;display:flex;font:inherit;font-size:14px;gap:8px;height:38px;justify-content:space-between;padding:0 12px;text-align:left;width:100%}.tts-custom-trigger:hover{border-color:var(--wave)}.tts-custom-dropdown{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #0000001f;left:0;list-style:none;margin:0;max-height:320px;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.tts-custom-option{border-radius:8px;cursor:pointer;padding:10px 12px}.tts-custom-option:hover{background:var(--wave-05)}.tts-custom-option.selected{background:var(--wave-10)}.tts-custom-option strong{display:block;font-size:14px;margin-bottom:2px}.tts-custom-option span{color:var(--sub);display:block;font-size:12px;line-height:1.4}.tts-test-btn{align-items:center;display:inline-flex;flex-shrink:0;gap:6px;white-space:nowrap}.account-profile{align-items:center;display:flex;gap:18px;padding:6px 0 4px}.account-profile-avatar{background:var(--wave-20);border-radius:50%;color:var(--ink);display:grid;flex-shrink:0;font-size:30px;font-weight:800;height:76px;place-items:center;position:relative;width:76px}.account-avatar-edit{background:var(--wave);border:2px solid var(--surface);border-radius:50%;bottom:-2px;color:var(--ink);cursor:pointer;display:grid;font-size:15px;height:26px;line-height:1;place-items:center;position:absolute;right:-2px;width:26px}.account-profile-name{flex:1 1;min-width:0}.account-profile-name>span{color:var(--sub);display:block;font-size:12px;font-weight:700;margin-bottom:6px}.account-profile-name .inline-edit-input{font-size:16px;max-width:280px;width:100%}.inline-edit-input{background:#0000;border:1px solid #0000;border-radius:8px;color:var(--ink);font:inherit;font-weight:700;min-width:0;padding:2px 4px}.inline-edit-input:hover{border-color:var(--line)}.inline-edit-input:focus{background:var(--surface);border-color:var(--wave);outline:none}.settings-add-btn,.settings-btn-danger,.settings-btn-ghost,.settings-btn-primary{border:0;border-radius:10px;cursor:pointer;font:inherit;font-weight:800;height:38px;padding:0 16px}.settings-add-btn,.settings-btn-primary{background:var(--wave);color:var(--ink)}.settings-add-btn{align-items:center;display:inline-flex;font-size:13px;gap:6px;height:34px;padding:0 12px}.settings-btn-primary:disabled{background:var(--wave-15);color:var(--sub);cursor:default}.settings-btn-ghost{background:var(--wave-05);color:var(--sub)}.settings-btn-danger{background:var(--danger);color:#fff}.settings-modal-backdrop{background:#0f172a47;display:grid;inset:0;padding:20px;place-items:center;position:fixed;z-index:60}.settings-modal{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px var(--shadow);overflow:hidden;width:min(460px,100%)}.settings-modal-head{align-items:center;display:flex;justify-content:space-between;padding:18px 20px 0}.settings-modal-head h3{font-size:18px;margin:0}.settings-modal-head>button{background:var(--wave-05);border:0;border-radius:50%;color:var(--sub);cursor:pointer;font-size:22px;height:34px;width:34px}.settings-modal-body{padding:16px 20px}.settings-modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:0 20px 20px}.settings-field{display:block}.settings-field>span{color:var(--sub);display:block;font-size:12px;font-weight:700;margin-bottom:6px}.settings-field input,.settings-field textarea{background:var(--surface);border:1px solid var(--line);border-radius:12px;font:inherit;padding:10px 12px;width:100%}.settings-field+.settings-field{margin-top:14px}.settings-confirm{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px var(--shadow);padding:22px;text-align:center;width:min(400px,100%)}.settings-confirm h3{font-size:17px;margin:0 0 8px}.settings-confirm p{color:var(--sub);font-size:13px;line-height:1.5;margin:0 0 18px}.settings-confirm-actions{display:flex;gap:10px;justify-content:center}.settings-count-pill{background:var(--wave-15);border-radius:999px;color:var(--ink);font-size:12px;font-weight:800;padding:5px 10px}.device-flat-list{display:flex;flex-direction:column;gap:10px}.device-flat-row{grid-gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;display:grid;gap:12px;grid-template-columns:20px 56px minmax(0,1fr) 34px 46px;padding:12px 14px}.device-flat-row.enabled{background:var(--wave-05)}.device-drag-holder{color:var(--track);cursor:default;display:grid;place-items:center}.device-thumb-img{object-fit:contain}.device-thumb-img.row,.device-thumb-placeholder.row{border-radius:14px;height:56px;width:56px}.device-thumb-img.dialog,.device-thumb-placeholder.dialog{border-radius:16px;height:64px;width:64px}.device-thumb-placeholder{background:linear-gradient(135deg,var(--wave-20),var(--surface));border:1px solid var(--wave-20)}.device-flat-main{min-width:0}.device-flat-title{align-items:center;display:flex;gap:8px;margin-bottom:3px}.device-flat-main .device-flat-name{font-size:15px}.device-status-tag{background:#d1fae5;background:var(--good-soft,#d1fae5);border-radius:999px;color:#065f46;color:var(--good-text,#065f46);flex-shrink:0;font-size:11px;font-style:normal;font-weight:800;padding:2px 8px}.device-flat-main small,.device-flat-main span{color:var(--sub);display:block;font-size:12px;line-height:1.45}.device-flat-desc{color:var(--sub)!important;font-size:12px!important;line-height:1.4!important;margin:1px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-flat-main small{font-weight:700}.device-dialog-name{font-size:20px;font-weight:800;margin-top:2px}.device-dialog-label{color:var(--sub);display:block;font-size:12px;font-weight:700;margin-bottom:4px}.device-dialog-footer{align-items:center;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:space-between;margin-top:18px;padding-top:16px}.device-dialog-footer-right{display:flex;gap:8px}.device-delete-link{align-items:center;background:#0000;border:0;border-radius:10px;color:var(--sub);cursor:pointer;display:inline-flex;font:inherit;font-size:13px;font-weight:800;gap:6px;padding:8px 14px}.device-delete-link:hover{background:var(--danger-18);color:var(--danger-strong)}.room-list{display:flex;flex-direction:column;gap:10px}.room-row{grid-gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;cursor:pointer;display:grid;gap:12px;grid-template-columns:20px minmax(0,1fr) 30px;padding:12px 14px}.room-card-delete{background:#0000;border:0;border-radius:8px;color:var(--sub);cursor:pointer;display:grid;height:30px;opacity:0;place-items:center;transition:opacity .15s ease,background .15s ease,color .15s ease;width:30px}.room-row:hover .room-card-delete{opacity:1}.room-card-delete:hover{background:var(--danger-18);color:var(--danger-strong)}.room-row.selected{background:var(--wave-05);border-color:var(--wave);box-shadow:0 0 0 3px var(--wave-15)}.room-drag-handle{color:var(--track);cursor:grab;display:grid;opacity:.45;place-items:center;transition:opacity .15s ease}.room-row:hover .room-drag-handle{opacity:1}.room-row-main strong{display:block;font-size:15px;margin-bottom:3px}.room-row-main span{color:var(--sub);font-size:12px}.room-detail-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.room-config-fields{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:16px}.room-config-field{display:flex;flex-direction:column;gap:4px;min-width:160px}.room-config-field>span{color:var(--sub);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.room-config-field .inline-edit-input{font-size:14px}.room-detail-panel+.room-detail-panel{margin-top:12px}.room-detail-panel{background:var(--wave-05);border:1px solid var(--line);border-radius:16px;padding:14px}.room-detail-panel h4{font-size:13px;margin:0 0 12px}.room-detail-empty{color:var(--sub);font-size:12px;margin:0 0 10px}.room-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.room-chip{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:999px;display:inline-flex;font-size:13px;font-weight:700;gap:7px;padding:5px 8px 5px 6px}.room-chip button{background:var(--wave-15);border:0;border-radius:50%;color:var(--sub);cursor:pointer;display:grid;font-size:14px;height:18px;line-height:1;place-items:center;width:18px}.room-chip button:hover{background:var(--danger-18);color:var(--danger-strong)}.room-device-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.room-device-item{grid-gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;display:grid;gap:10px;grid-template-columns:44px minmax(0,1fr) 30px;padding:8px 10px}.room-device-item .device-thumb-img.row,.room-device-item .device-thumb-placeholder.row{border-radius:10px;height:44px;width:44px}.room-device-item strong{display:block;font-size:13px}.room-device-remove{background:#0000;border:0;border-radius:8px;color:var(--sub);cursor:pointer;display:grid;height:30px;place-items:center;width:30px}.room-device-remove:hover{background:var(--danger-18);color:var(--danger-strong)}.room-add-select{width:100%}.settings-modal-footer:has(.settings-delete-link),.settings-modal-footer:has(.settings-field-error){align-items:center;justify-content:space-between}.settings-modal-footer .settings-field-error{margin:0}.settings-modal-footer-right{display:flex;gap:10px}.settings-delete-link{align-items:center;background:#0000;border:0;border-radius:10px;color:var(--sub);cursor:pointer;display:inline-flex;font:inherit;font-size:13px;font-weight:800;gap:6px;padding:8px 12px}.settings-delete-link:hover{background:var(--danger-18);color:var(--danger-strong)}.settings-field-error{color:var(--danger-strong);font-size:12px;font-weight:700;margin:12px 0 0}.prompt-field{position:relative}.prompt-textarea{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-sizing:border-box;font:inherit;line-height:1.5;min-height:120px;overflow-y:hidden;padding:12px 14px;resize:none;width:100%}.prompt-textarea:focus{border-color:var(--wave);outline:none}.prompt-counter{bottom:12px;color:var(--sub);font-size:11px;font-weight:700;position:absolute;right:12px}.prompt-error{color:#c0392b;display:block;font-size:12px;font-weight:600;margin-top:8px}.ai-model-list{display:flex;flex-direction:column;gap:10px}.ai-model-row{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:14px;text-align:left}.ai-model-row.selected{background:var(--wave-05);border-color:var(--wave);box-shadow:0 0 0 3px var(--wave-15)}.ai-model-name{gap:10px;min-width:0}.ai-model-id,.ai-model-name{align-items:center;display:flex}.ai-model-id{gap:8px}.ai-vendor-icon{flex-shrink:0;height:20px;object-fit:contain;width:20px}.ai-model-vendor{color:var(--sub);font-size:12px;font-weight:700}.ai-model-sep{color:var(--track);font-size:12px}.ai-model-model{font-size:14px;font-weight:800}.ai-model-tags{display:flex;gap:6px}.ai-model-tag{background:var(--wave-15);border-radius:999px;color:var(--ink);font-size:11px;font-weight:800;padding:3px 8px}.ai-model-tag.embedding{background:var(--accent-plum-soft);color:var(--ink)}.ai-model-provider{border-radius:999px;color:var(--sub);color:var(--ink-soft,var(--sub));flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.02em;padding:3px 10px}.about-legal-section,.ai-model-provider{background:var(--surface);border:1px solid var(--line)}.about-legal-section{border-radius:14px;box-sizing:border-box;overflow:hidden;width:100%}.about-legal-section+.about-legal-section{margin-top:10px}.about-legal-section summary{cursor:pointer;font-size:14px;font-weight:700;padding:14px 16px}.about-legal-section[open] summary{border-bottom:1px solid var(--line)}.about-legal-section ol{color:var(--sub);font-size:12px;line-height:1.6;margin:0;padding:14px 16px 16px 34px}.about-legal-section li+li{margin-top:8px}.about-oss-list{grid-gap:10px;box-sizing:border-box;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.about-oss-row{align-items:center;border:1px solid var(--line);border-radius:12px;display:flex;gap:10px;justify-content:space-between;padding:12px 14px}.about-oss-row strong{font-size:13px}.about-oss-row span{color:var(--sub);font-size:12px;font-weight:700}@media (max-width:1100px){.settings-layout{grid-template-columns:1fr}.settings-nav--cards{display:none}.settings-nav-tabs{display:block;margin-bottom:4px}.settings-manual-mobile-btn{display:block}.settings-nav-tabs .tabs{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto;width:100%}.settings-nav-tabs .tabs button{flex:0 0 auto;font-size:13px;padding:8px 12px;white-space:nowrap}}@media (max-width:760px){.settings-layout{gap:14px}.device-flat-row{grid-template-columns:48px minmax(0,1fr) 34px 46px}.device-drag-holder{display:none}.about-oss-list,.device-detail-grid,.room-detail-grid,.room-zone-add,.tts-speaker-grid{grid-template-columns:minmax(0,1fr)}.tts-setting-head{align-items:stretch;flex-direction:column}}.settings-general-tabs{margin-bottom:1.25rem;max-width:100%;width:-webkit-fit-content;width:fit-content}.settings-inline-error{color:var(--danger-strong);font-size:.75rem;margin:.25rem 0 0}.home-control-tabs-row{display:flex;justify-content:center}@media (min-width:761px){.home-control-tabs-row{display:none}}.page-stack--fixed{height:calc(100vh - 121px);min-height:0;overflow:hidden}.page-stack--twin{max-width:none;width:100%}.page-stack--fixed>.home-control-tabs-row{flex:none}.page-stack--fixed>.automation-page,.page-stack--fixed>.home-twin-page,.page-stack--fixed>.iot-control-page{flex:1 1;min-height:0}@media (max-width:760px){.page-stack--fixed{height:auto;overflow:visible}.page-stack--fixed>.automation-page,.page-stack--fixed>.home-twin-page,.page-stack--fixed>.iot-control-page{flex:none}}.radar-sleep-analysis-panel{grid-gap:16px;display:grid;gap:16px;overflow-x:hidden}.wave-station-settings-panel{grid-gap:14px;display:grid;gap:14px;max-width:100%;overflow-x:hidden}.wave-station-settings-panel .device-companion-row{align-items:center;display:flex;gap:12px;justify-content:space-between;min-width:0}.wave-station-settings-panel .device-companion-row p{color:var(--sub);color:var(--ink-soft,var(--sub));flex:1 1;font-size:12px;line-height:1.35;margin:0;min-width:0}.wave-station-settings-panel .device-mic-gain-head,.wave-station-settings-panel .device-stt-transcript-head{align-items:baseline;display:flex;gap:10px;justify-content:space-between}.wave-station-settings-panel .device-mic-gain-head>span:last-child,.wave-station-settings-panel .device-stt-transcript-head em{color:var(--sub);color:var(--ink-soft,var(--sub));font-size:11px;font-style:normal;font-weight:700}.wave-station-settings-panel input[type=range]{width:100%}.wave-station-settings-panel .device-stt-transcript-box{background:#00000008;background:var(--wave-05,#00000008);border:1px solid #0000001a;border:1px solid var(--wave-15,#0000001a);border-radius:10px;box-sizing:border-box;color:inherit;font:inherit;font-size:.86rem;line-height:1.4;min-height:80px;padding:10px 12px;resize:vertical;width:100%}.wave-station-settings-panel .device-stt-transcript small{color:var(--sub);color:var(--ink-soft,var(--sub));display:block;font-size:.72rem;margin-top:5px}.panel-section{grid-gap:8px;display:grid;gap:8px;min-width:0}.device-panel-label,.tts-panel-label{color:var(--sub);font-size:11px;font-weight:800}.device-panel-hint{color:var(--sub);color:var(--ink-soft,var(--sub));font-size:12px;line-height:1.4;margin:0}.panel-section-head{color:var(--sub);font-size:11px;font-weight:800;margin:0}.panel-empty,.panel-loading{color:var(--sub);font-size:13px;padding:24px 4px;text-align:center}.status-chip{background:var(--wave-15);border-radius:999px;color:var(--wave-deepest);display:inline-block;font-size:11px;font-weight:700;padding:5px 9px}.status-chip.inactive{background:var(--surface-muted);color:var(--sub)}.attr-badge{background:var(--wave-15);border-radius:7px;color:var(--wave-deep);display:inline-block;font-size:10px;font-style:normal;font-weight:700;padding:3px 8px}.device-dot{background:var(--neutral-dot);border-radius:50%;flex-shrink:0;height:7px;width:7px}.device-dot.online{background:var(--good)}.device-dot.offline{background:#f59e0b}.iot-device-card .device-dot{position:absolute;right:10px;top:10px}.iot-toast{animation:iot-toast-in .18s ease;background:var(--ink);border-radius:999px;bottom:28px;box-shadow:0 8px 24px var(--ink-16);color:var(--surface);font-size:13px;font-weight:800;left:50%;padding:11px 18px;position:fixed;transform:translateX(-50%);z-index:60}@keyframes iot-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.toggle-switch.toggle-switch--lg{height:32px;width:58px}.toggle-switch.toggle-switch--lg i{height:26px;width:26px}.toggle-switch.toggle-switch--lg.on i{transform:translateX(26px)}.iot-control-page{display:flex;flex-direction:column;min-height:0}.iot-status-banner{background:linear-gradient(160deg,var(--wave-20),var(--wave-08));border:1px solid var(--wave-35);border-radius:14px;flex:none;margin-bottom:20px;padding:16px 20px}.iot-status-banner-header{color:var(--ink);font-size:26px;font-weight:700;letter-spacing:0;line-height:1.28;margin:8px 0 12px}.iot-status-banner-body{color:var(--sub);font-size:13px;letter-spacing:-.01em;line-height:1.7;margin:0}.iot-control-page>.card{display:flex;flex:1 1;flex-direction:column;min-height:0}.iot-control-page .card-head h3{color:var(--ink);font-size:22px;font-weight:800}.iot-control-page .section-description{color:var(--ink);font-size:15px}.iot-control-split{grid-gap:22px;display:grid;flex:1 1;gap:22px;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);min-height:0}.iot-control-pane{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.iot-control-pane:not(.iot-control-pane--detail){overflow-y:auto}.iot-control-pane-head{align-items:center;display:flex;flex:none;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.iot-control-pane-head-left{align-items:center;display:inline-flex;gap:10px;min-width:0}.iot-control-pane-head strong{color:var(--ink);font-size:15px;font-weight:800}.iot-control-pane-head .room-filter-pills{margin-left:auto}.iot-control-menu-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 6px var(--wave-10);display:flex;flex:1 1;flex-direction:column;min-height:0;min-width:0;overflow:hidden;padding:16px}.iot-control-detail-head{align-items:center;display:flex;flex:none;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:4px;min-height:44px}.iot-control-detail-tabs{align-items:center;display:flex;flex:none;margin-left:auto}.iot-control-detail-title{flex:1 1 auto;min-height:40px;min-width:0}.iot-control-detail-title strong{color:var(--ink);display:block;font-size:16px;line-height:1.25}.iot-control-detail-title span{color:var(--sub);display:block;font-size:12px;font-weight:600;line-height:1.25;margin-top:2px}.iot-control-detail-title span,.iot-control-detail-title strong{font-synthesis:none}.iot-control-detail-head .tabs{flex:none}.iot-control-detail-body{flex:1 1;min-height:420px;overflow-x:hidden;overflow-y:auto;padding:18px 4px 8px}.iot-control-detail-empty{margin:auto;text-align:center}@media (max-width:1100px){.iot-control-split{grid-template-columns:1fr}.iot-control-pane--detail{min-height:280px}}@media (max-width:760px){.automation-device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.iot-control-header{display:none}.iot-online-count{align-items:center;color:var(--sub);display:inline-flex;flex:none;font-size:12px;font-weight:600;gap:6px}.room-filter-pills{display:flex;flex-wrap:wrap;gap:8px}.room-filter-pills button{background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--sub);cursor:pointer;font-size:12px;font-weight:800;height:34px;padding:0 16px}.room-filter-pills button.active{background:var(--wave-10);border-color:var(--wave);color:var(--ink)}.iot-device-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.iot-device-card{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 8px var(--wave-10);cursor:pointer;display:flex;gap:12px;min-height:76px;min-width:220px;padding:12px 14px;position:relative;text-align:left}.iot-device-card.selected{background:linear-gradient(135deg,var(--surface),var(--wave-10));border-color:var(--wave);box-shadow:0 0 0 3px var(--wave-15),0 1px 8px var(--wave-10)}.iot-device-card.offline{opacity:.75}.iot-device-thumb-img{background:var(--wave-05);object-fit:contain}.iot-device-thumb-img,.iot-device-thumb-placeholder{border-radius:12px;flex-shrink:0;height:46px;width:46px}.iot-device-thumb-placeholder{background:var(--wave-10);color:var(--wave);display:grid;font-size:19px;font-weight:900;place-items:center}.iot-device-card-body{display:flex;flex:1 1;flex-direction:column;gap:5px;min-width:0;padding-right:20px}.iot-device-card:has(.iot-device-reconnect-btn) .iot-device-card-body{padding-right:40px}.iot-device-card-room{color:var(--sub);font-size:11px;font-weight:800}.iot-device-card-name{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;font-size:16px;line-height:1.25;max-width:100%;overflow:hidden;overflow-wrap:break-word;white-space:normal;width:100%;word-break:keep-all}.iot-device-card-status{position:absolute;right:10px;top:10px}.iot-device-reconnect-btn{background:var(--wave-10);border-radius:50%;bottom:10px;color:var(--wave);cursor:pointer;display:grid;height:30px;place-items:center;position:absolute;right:10px;width:30px}.iot-device-reconnect-btn:hover{background:var(--wave-15)}.iot-device-reconnect-btn.spinning svg{animation:iot-reconnect-spin .8s linear infinite}@keyframes iot-reconnect-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.device-connection-log{display:flex;flex-direction:column;gap:12px}.device-connection-error{background:var(--danger-18);border-radius:10px;color:var(--text);display:flex;flex-direction:column;gap:4px;padding:12px 14px}.device-connection-error strong{color:var(--danger-strong);font-size:13px}.device-connection-error span{font-size:13px;line-height:1.45}.device-detail-tabs{background:var(--wave-05);border-radius:12px;display:flex;gap:6px;margin-bottom:16px;padding:4px}.device-detail-tabs button{background:#0000;border:0;border-radius:9px;color:var(--sub);cursor:pointer;font-size:12px;font-weight:800;height:32px;padding:0 14px}.device-detail-tabs button.active{background:var(--surface);box-shadow:0 1px 6px var(--wave-30);color:var(--ink)}.iot-detail-content{min-height:360px}.iot-detail-content>.panel-empty,.iot-detail-content>.panel-loading{display:grid;min-height:360px;place-items:center}.icon-btn{background:#0000;border:0;border-radius:9px;color:var(--sub);cursor:pointer;display:inline-grid;flex-shrink:0;height:32px;place-items:center;transition:background .15s ease,color .15s ease,opacity .15s ease;width:32px}.icon-btn:hover{background:var(--wave-10);color:var(--ink)}.icon-btn-delete{opacity:0}.icon-btn-delete:hover{background:var(--danger-18);color:var(--danger-strong)}.automation-row:hover .icon-btn-delete,.ir-command-row:hover .icon-btn-delete{opacity:1}.plug-power-row{align-items:center;display:flex;gap:12px;margin-bottom:0}.panel-section .plug-power-row{margin-top:2px}.plug-power-label{font-size:14px;font-weight:900}.plug-btn-row{display:flex;gap:8px;margin-left:auto}.plug-btn-row button{background:var(--surface);border:1px solid var(--line);border-radius:11px;color:var(--ink);cursor:pointer;font-size:13px;font-weight:800;height:36px;padding:0 16px}.plug-btn-row button:hover{background:var(--wave-10);border-color:var(--wave)}.plug-metrics-card{grid-gap:10px;background:var(--wave-10);border-radius:16px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));padding:16px}.plug-metric{align-items:center;display:flex;flex-direction:column;gap:4px;min-width:0}.plug-metric span{color:var(--sub);font-size:11px;font-weight:800}.plug-metric strong{color:var(--ink);font-size:22px;font-weight:900;line-height:1.1}.plug-metric strong small{color:var(--sub);font-size:12px;font-weight:700;margin-left:3px}.light-panel{grid-gap:18px;display:grid;gap:18px;max-width:100%;min-width:0;overflow-x:hidden}.panel-section input[type=range]{width:100%}.light-color-section{align-items:flex-start;display:flex;flex-wrap:nowrap;gap:14px;margin-top:6px;max-width:100%;min-width:0}.light-color-controls{grid-gap:16px;display:grid;gap:16px;max-width:100%;min-width:0;overflow-x:hidden}.light-color-brightness{width:min(100%,420px)}.light-swatch-grid.light-swatch-grid--side{grid-gap:8px;display:grid;flex:0 0 auto;gap:8px;grid-auto-flow:row;grid-template-columns:repeat(3,28px);grid-template-rows:repeat(5,28px);width:-webkit-fit-content;width:fit-content}.light-swatch-grid.light-swatch-grid--side .light-swatch{aspect-ratio:auto;height:28px;width:28px}.light-color-meta{display:flex;flex:0 0 auto;flex-direction:column;gap:10px;min-width:0;padding-top:2px}.light-color-hex{color:var(--ink);font-size:14px;font-weight:800;letter-spacing:.02em}.light-brightness-temp-col{display:flex;flex:1 1;flex-direction:column;gap:18px;min-width:200px;padding-top:4px}.light-rgb-stack{display:flex;flex:0 0 112px;flex-direction:column;gap:10px;padding-top:4px;width:112px}.light-rgb-row{align-items:center;display:flex;gap:10px}.light-rgb-row span{color:var(--sub);flex-shrink:0;font-size:12px;font-weight:900;width:16px}.light-rgb-row input{background:var(--surface);border:1px solid var(--line);border-radius:10px;font-size:13px;font-weight:700;height:36px;min-width:78px;padding:0 10px;width:78px}.light-white-temp{display:flex;flex-direction:column;gap:10px;margin-top:4px;max-width:100%;min-width:0;overflow-x:hidden}.color-wheel{background:radial-gradient(circle,#fffffff2 0,#fff0 68%),conic-gradient(from 90deg,red,#ff0,lime,cyan,blue,#f0f,red);border-radius:50%;box-shadow:inset 0 0 0 1px var(--line);cursor:crosshair;flex-shrink:0;position:relative;touch-action:none}.color-wheel-center{background:var(--surface);box-shadow:0 0 0 1px var(--line);height:10px;inset:0;margin:auto;width:10px}.color-wheel-center,.color-wheel-knob{border-radius:50%;pointer-events:none;position:absolute}.color-wheel-knob{border:3px solid var(--surface);box-shadow:0 0 0 1.5px var(--ink-16),0 2px 8px #0000004d;height:22px;margin-left:-11px;margin-top:-11px;width:22px}.light-color-side{display:flex;flex:1 1;flex-direction:column;gap:12px;min-width:0}.light-rgb-inputs{display:flex;gap:10px}.light-rgb-field{flex:1 1}.light-rgb-field input{width:100%}.light-swatch-label{color:var(--sub);font-size:11px;font-weight:800}.light-swatch-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr))}.light-swatch{aspect-ratio:1;border:1px solid var(--line);border-radius:50%;box-shadow:0 1px 4px var(--ink-16);cursor:pointer;width:100%}.light-swatch:hover{box-shadow:0 0 0 3px var(--wave-15)}.plug-panel,.wave-station-panel{grid-gap:18px;display:grid;gap:18px;min-width:0}.wave-station-panel{align-items:start;overflow-x:hidden}.wave-station-controls{display:flex;flex-direction:column;gap:12px;min-width:0}.wave-station-metrics-card .plug-metric strong{white-space:nowrap}.tts-panel-voice{flex-shrink:0;min-width:120px;width:120px}.temp-slider-wrap{align-items:center;box-sizing:border-box;display:flex;height:20px;max-width:100%;position:relative;width:100%}.temp-slider{-webkit-appearance:none;appearance:none;background:var(--temp-gradient);border-radius:999px;height:6px;margin:0;outline:none;width:100%}.temp-slider-knob{border:2px solid #c8cdd4;border:2px solid var(--line,#c8cdd4);border-radius:50%;box-shadow:0 1px 3px #0000001f;height:18px;left:clamp(10px,var(--temp-position),calc(100% - 10px));pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:18px;z-index:2}.temp-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#0000;border:2px solid #0000;border-radius:50%;box-shadow:none;cursor:pointer;height:18px;width:18px}.temp-slider::-moz-range-track{background:var(--temp-gradient);border-radius:999px;height:6px}.temp-slider::-moz-range-thumb{background:#0000;border:2px solid #0000;border-radius:50%;box-shadow:none;cursor:pointer;height:18px;width:18px}.telemetry-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.telemetry-tile{background:var(--wave-05);border-radius:14px;display:flex;flex-direction:column;gap:6px;padding:12px}.telemetry-tile span{color:var(--sub);font-size:11px;font-weight:800}.telemetry-tile strong{font-size:20px;font-weight:800}.telemetry-tile strong small{color:var(--sub);font-size:12px;font-weight:700;margin-left:3px}.tv-remote{align-items:center;display:flex;flex-direction:column;gap:0;margin:0 auto;max-width:100%;overflow:hidden}.tv-remote-scale{margin-bottom:-18%;max-width:100%;transform:scale(.82);transform-origin:top center;width:280px}.tv-remote-body{background:linear-gradient(180deg,var(--surface-muted) 0,var(--surface) 100%);border-radius:28px;box-shadow:inset 0 1px 0 var(--surface),0 4px 16px var(--wave-10);flex-direction:column;gap:18px;padding:22px 20px 26px}.tv-remote-body,.tv-remote-row{align-items:center;display:flex;width:100%}.tv-remote-row,.tv-remote-row--wide{justify-content:space-between}.tv-remote-power-label{color:var(--sub);font-size:12px;font-weight:800}.tv-remote-btn{background:var(--surface);border:1px solid var(--line);border-radius:50%;box-shadow:0 1px 6px var(--wave-10);color:var(--ink);cursor:pointer;display:grid;flex-shrink:0;height:46px;place-items:center;width:46px}.tv-remote-btn:hover{background:var(--wave-10);border-color:var(--wave)}.tv-remote-btn--power{border-color:var(--danger);color:var(--danger-strong)}.tv-remote-btn--power:hover{background:var(--danger-18)}.tv-dpad{background:var(--wave-05);border-radius:50%;box-shadow:inset 0 0 0 1px var(--line);height:132px;position:relative;width:132px}.tv-dpad-btn{background:#0000;border:0;color:var(--sub);cursor:pointer;display:grid;height:44px;place-items:center;position:absolute;width:44px}.tv-dpad-btn:hover{color:var(--wave)}.tv-dpad-btn--up{left:50%;margin-left:-22px;top:4px}.tv-dpad-btn--down{bottom:4px;left:50%;margin-left:-22px}.tv-dpad-btn--left{left:4px;margin-top:-22px;top:50%}.tv-dpad-btn--right{margin-top:-22px;right:4px;top:50%}.tv-dpad-ok{background:var(--surface);border:0;border-radius:50%;box-shadow:0 1px 8px var(--wave-15);color:var(--ink);cursor:pointer;font-size:13px;font-weight:900;height:52px;left:50%;margin:-26px 0 0 -26px;position:absolute;top:50%;width:52px}.tv-dpad-ok:hover{background:var(--wave-10)}.tv-pill-group{display:flex;flex-direction:column;gap:6px}.tv-pill-btn{background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--ink);cursor:pointer;font-size:12.5px;font-weight:900;height:40px;padding:0 14px}.tv-pill-btn:hover{background:var(--wave-10);border-color:var(--wave)}.tv-remote-status{align-items:center;display:flex;font-size:12px;gap:10px}.tv-mute-btn,.tv-remote-status{color:var(--sub);font-weight:800}.tv-mute-btn{background:var(--surface);border:1px solid var(--line);border-radius:999px;cursor:pointer;font-size:11.5px;height:30px;padding:0 12px}.tv-mute-btn.active{background:var(--wave-10);border-color:var(--wave);color:var(--ink)}.tv-app-diamond{height:168px;margin-top:6px;position:relative;width:168px}.tv-app-btn{background:var(--app-color);border:0;border-radius:14px;box-shadow:0 2px 8px var(--ink-16);color:#fff;cursor:pointer;display:grid;height:52px;opacity:.88;place-items:center;position:absolute;transform:rotate(45deg);width:52px}.tv-app-btn.active,.tv-app-btn:hover{box-shadow:0 0 0 3px var(--wave-15),0 2px 8px var(--ink-16);opacity:1}.tv-app-btn span{display:inline-block;font-size:11px;font-weight:900;transform:rotate(-45deg)}.tv-app-btn--0{left:50%;margin-left:-26px;top:0}.tv-app-btn--1{margin-top:-26px;right:0;top:50%}.tv-app-btn--2{bottom:0;left:50%;margin-left:-26px}.tv-app-btn--3{left:0;margin-top:-26px;top:50%}.radar-set-summary{background:var(--wave-05);border-radius:14px;margin-top:14px;padding:14px}.radar-set-summary p{color:var(--sub);font-size:13px;margin:0 0 10px}.radar-set-summary small{color:var(--sub);display:block;font-size:11.5px;margin-top:10px}.badge{border-radius:999px;font-size:11px;font-weight:800;padding:4px 9px}.badge.state{background:var(--surface-muted);color:var(--sub)}.badge.trigger{background:var(--wave-15);color:var(--ink)}.wave-station-left .tts-panel-textarea{font-size:14.5px;min-height:84px;padding:14px 16px}.wave-station-left .tts-panel-field .tts-panel-toast{right:12px;top:10px}.wave-station-left .tts-panel-controls{gap:10px}.wave-station-left .tts-panel-voice{flex:1 1;font-size:13.5px;height:44px;min-width:150px}.wave-station-left .tts-panel-send{border-radius:12px;font-size:14px;height:44px;padding:0 20px}.wave-station-left .mic-volume-bar{font-size:13px}.wave-station-left .mic-volume-track{height:14px}.wave-station-left .mic-volume-pct{font-size:13px;min-width:40px}.tts-panel{display:flex;flex-direction:column;gap:8px}.tts-panel-field{position:relative}.tts-panel-textarea{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-sizing:border-box;color:var(--ink);display:block;font:inherit;font-size:13px;line-height:1.45;overflow:hidden;padding:10px 12px;resize:none;width:100%}.tts-panel-textarea.has-toast{padding-right:148px}.tts-panel-controls{display:flex;gap:8px}.tts-panel-voice{flex:1.6 1;min-width:0}.tts-panel-send{align-items:center;background:var(--wave);border:0;border-radius:11px;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:13px;font-weight:900;gap:6px;height:38px;padding:0 16px}.tts-panel-send:disabled{cursor:not-allowed;opacity:.5}.tts-panel-toast{background:#ffffffeb;border-radius:8px;box-shadow:0 1px 4px #0f2d461a;color:var(--good);font-size:11.5px;font-weight:800;line-height:1.3;max-width:min(70%,220px);padding:4px 8px;pointer-events:none;position:absolute;right:10px;top:8px;z-index:1}.tts-panel-toast.is-error{color:#c0392b;color:var(--bad,#c0392b)}.mic-volume-bar{align-items:center;color:var(--sub);display:flex;gap:10px}.mic-volume-track{background:var(--wave-10);border-radius:999px;flex:1 1;height:10px;overflow:hidden;position:relative}.mic-volume-fill{background:var(--good);border-radius:999px;height:100%;transition:width .2s ease}.mic-volume-pct{color:var(--sub);font-size:11.5px;font-weight:800;min-width:34px;text-align:right}.mic-mute-btn{background:var(--wave-10);border:0;border-radius:9px;color:var(--wave);cursor:pointer;display:grid;flex-shrink:0;height:32px;place-items:center;width:32px}.mic-mute-btn.muted{background:var(--surface-muted);color:var(--sub)}.camera-video{aspect-ratio:16/9;background:#0b1220;border-radius:4px;overflow:hidden;position:relative}.camera-video-el{display:block;height:100%;object-fit:cover;width:100%}.camera-video-error{align-items:center;background:radial-gradient(circle at 30% 20%,#ffffff14,#0000 60%),#0b1220;display:flex;flex-direction:column;gap:6px;inset:0;justify-content:center;padding:0 24px;position:absolute;text-align:center}.camera-video-error strong{color:#ffffffe6;font-size:13px;font-weight:900;letter-spacing:.02em}.camera-video-error span{color:#fff9;font-size:12px}.camera-video-loading{align-items:center;background:#0b12208c;color:#ffffffbf;display:flex;font-size:12px;font-weight:700;inset:0;justify-content:center;pointer-events:none;position:absolute;z-index:1}.camera-capture-btn{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0b12208c;border:0;border-radius:50%;bottom:14px;color:#fff;cursor:pointer;display:grid;height:44px;place-items:center;position:absolute;right:14px;width:44px}.camera-capture-btn:hover{background:#0b1220bf}.camera-bottom-bar{display:flex;gap:24px;margin-top:18px}.camera-bottom-bar--volume-only{justify-content:stretch}.camera-bottom-bar--volume-only .mic-volume-bar{width:100%}.camera-panel--droid .camera-bottom-bar{margin-top:14px}.camera-bottom-left{display:flex;flex:1 1;flex-direction:column;gap:14px;min-width:0}.camera-bottom-right{align-items:center;display:flex;flex-shrink:0}.camera-bottom-left .tts-panel-controls{justify-content:flex-end}.camera-bottom-left .tts-panel-voice{flex:none;min-width:0;width:104px}.ptz-pad-btn{flex-shrink:0;height:176px;position:relative;width:176px}.ptz-pad-btn.disabled{opacity:.5;pointer-events:none}.ptz-pad-svg{display:block;height:100%;overflow:visible;touch-action:none;-webkit-user-select:none;user-select:none;width:100%}.ptz-pad-ring{fill:var(--line)}.ptz-wedge{fill:var(--wave-40);stroke:none;cursor:pointer;outline:none;transition:fill .12s ease}.ptz-wedge:focus-visible,.ptz-wedge:hover{fill:var(--excellent-text)}.ptz-wedge-group:has(.ptz-wedge:focus-visible) .ptz-wedge-chevron,.ptz-wedge-group:hover .ptz-wedge-chevron,.ptz-wedge:focus-visible+.ptz-wedge-chevron{stroke:#fff}.ptz-wedge-chevron{fill:none;stroke:var(--excellent-text);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transition:stroke .12s ease}.ptz-hub{fill:var(--surface);stroke:var(--line);stroke-width:1.5;filter:drop-shadow(0 1px 2px rgba(23,32,51,.16));filter:drop-shadow(0 1px 2px var(--ink-16,rgba(23,32,51,.16)));pointer-events:none}.snapshot-strip{display:flex;gap:8px;margin-top:16px;overflow-x:auto}.snapshot-thumb{align-items:flex-end;background-position:50%;background-size:cover;border-radius:10px;display:flex;flex-shrink:0;height:54px;padding:5px;width:96px}.snapshot-thumb span{color:#ffffffd9;font-size:10px;font-weight:700}.automation-page .card-head h3{color:var(--ink);font-size:22px;font-weight:800}.automation-page .card-action-btn{background:var(--wave);color:var(--ink);font-size:13px;font-weight:800;height:36px;padding:0 16px}.automation-page .card-action-btn:hover{background:var(--wave-60)}.automation-page .section-description{color:var(--ink);font-size:15px}.automation-search-input{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-sizing:border-box;color:var(--ink);font-size:13px;height:40px;margin:4px 0 18px;padding:0 14px;width:100%}.automation-search-input:focus{border-color:var(--wave-deep);box-shadow:0 0 0 3px var(--wave-15);outline:none}.automation-empty-state{align-items:center;display:flex;flex-direction:column;gap:14px;padding:36px 0}.automation-page,.automation-page>.card{display:flex;flex-direction:column;min-height:0}.automation-page>.card{flex:1 1}.automation-page>.gesture-management{margin-top:32px}.automation-sections-grid{grid-gap:8px 24px;display:grid;flex:1 1;gap:8px 24px;grid-template-columns:1fr 1fr;min-height:0}@media (max-width:760px){.automation-page>.card,.automation-section-body,.automation-sections-grid{flex:none;overflow:visible}.automation-sections-grid{grid-template-columns:1fr}}.automation-section{display:flex;flex-direction:column;min-height:0}.automation-section-head{align-items:center;color:var(--ink);display:flex;flex:none;font-size:14px;font-weight:800;gap:12px;justify-content:space-between;padding:10px 2px}.automation-section-head em{color:var(--sub);font-style:normal;font-weight:700}.automation-section-head .card-action-btn{background:var(--wave);color:var(--ink);flex:none;font-size:12px;font-weight:800;height:32px;padding:0 12px}.automation-section-head .card-action-btn:hover{background:var(--wave-60)}.automation-section-body{display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:0;overflow-y:auto;padding:2px 2px 8px}.automation-row{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;cursor:pointer;display:flex;gap:12px;padding:12px 14px;text-align:left;transition:box-shadow .15s ease,border-color .15s ease;width:100%}.automation-row:hover{border-color:var(--wave);box-shadow:0 2px 10px var(--wave-10)}.automation-row-body{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.automation-row-body strong{color:var(--ink);font-size:14px;font-weight:700}.automation-row-body span,.automation-row-body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automation-row-body span{color:var(--sub);font-size:12px}.automation-row-body em{color:var(--sub);font-size:11px;font-style:normal;opacity:.8}.automation-row-actions{align-items:center;display:flex;flex-shrink:0;gap:4px}.automation-row-test{font-size:11px;height:28px;padding:0 10px;white-space:nowrap}.rule-mode-toggle{background:var(--surface-muted);border-radius:12px;display:flex;gap:3px;margin:4px 0 16px;padding:3px}.rule-mode-toggle button{background:#0000;border:none;border-radius:9px;color:var(--sub);cursor:pointer;flex:1 1;font-size:13px;font-weight:600;height:36px;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.rule-mode-toggle button.active{background:var(--surface);box-shadow:0 1px 4px var(--shadow);color:var(--ink)}.rule-mode-toggle--sm button{font-size:12px;height:32px}.rule-mode-toggle button:disabled{cursor:not-allowed;opacity:.4}.trigger-op-picker{display:flex;gap:6px;margin-top:6px}.trigger-op-picker button{background:var(--surface);border:1px solid var(--line);border-radius:9px;color:var(--sub);cursor:pointer;flex:1 1;font-size:13px;font-weight:600;height:34px;transition:border-color .15s ease,background .15s ease,color .15s ease}.trigger-op-picker button.active{background:var(--wave-15);border-color:var(--wave-deep);color:var(--wave-deepest)}.rule-section{border-top:1px solid var(--line);margin-bottom:18px;padding-top:14px}.rule-section-title{color:var(--ink);font-size:13px;font-weight:700;margin:0 0 10px}.rule-inline-fields{grid-gap:10px;align-items:start;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.rule-inline-fields--2{grid-template-columns:repeat(2,minmax(0,1fr))}.rule-inline-fields>.settings-field+.settings-field{margin-top:0}.rule-inline-fields .settings-field input,.rule-inline-fields .settings-select{box-sizing:border-box;min-width:0;width:100%}.rule-params-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.rule-day-picker{display:flex;gap:6px;margin-top:8px}.rule-day-picker button{background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--sub);cursor:pointer;font-size:12px;font-weight:600;height:36px;transition:border-color .15s ease,background .15s ease,color .15s ease;width:36px}.rule-day-picker button.active{background:var(--wave-deep);border-color:var(--wave-deep);color:#fff}.rule-link-badge{color:var(--wave-deep);display:inline-block;font-size:11px;font-weight:700;margin-top:8px}body.automation-wizard-open{overflow:hidden}.automation-wizard-backdrop{background:#0f172a52;display:grid;inset:0;padding:20px;place-items:center;position:fixed;z-index:60}.automation-wizard-modal{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 70px var(--shadow);display:flex;flex-direction:column;height:min(640px,90vh);max-height:min(640px,90vh);overflow:hidden;width:min(560px,100%)}.automation-wizard-head{align-items:center;border-bottom:1px solid var(--line);display:flex;flex-shrink:0;gap:10px;padding:14px 14px 14px 18px}.automation-wizard-nav-btn{background:var(--wave-05);border:0;border-radius:50%;color:var(--sub);cursor:pointer;display:grid;flex-shrink:0;height:34px;place-items:center;width:34px}.automation-wizard-nav-btn:hover{background:var(--wave-10);color:var(--ink)}.automation-wizard-progress{align-items:center;display:flex;flex:1 1;gap:6px;justify-content:center}.automation-wizard-dot{background:var(--line);border:0;border-radius:50%;cursor:pointer;height:7px;padding:0;width:7px}.automation-wizard-dot.done{background:var(--wave-30)}.automation-wizard-dot.active{background:var(--wave-deep);cursor:default;height:9px;width:9px}.automation-wizard-body{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:20px;position:relative}.automation-wizard-title{color:var(--ink);font-size:19px;font-weight:800;margin:0 0 16px}.automation-wizard-subhead{align-items:center;color:var(--sub);display:flex;font-size:12px;font-weight:800;margin-bottom:6px}.automation-option-list{display:flex;flex-direction:column;gap:10px}.automation-option-item{background:var(--surface);border:1.5px solid var(--line);border-radius:14px;cursor:pointer;display:flex;flex-direction:column;gap:3px;padding:14px 16px;text-align:left;transition:border-color .15s ease,background .15s ease;width:100%}.automation-option-item:hover{background:var(--wave-05);border-color:var(--wave-deep)}.automation-option-item.selected{background:var(--wave-15);border-color:var(--wave-deep)}.automation-option-label{color:var(--ink);font-size:15px;font-weight:700}.automation-option-desc{color:var(--sub);font-size:12px}.automation-wizard-device-list{max-height:300px}.automation-device-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.automation-device-tile{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;cursor:pointer;display:flex;flex-direction:column;gap:8px;min-width:0;padding:12px 8px;text-align:center}.automation-device-tile:hover{background:var(--wave-05);border-color:var(--wave-40)}.automation-device-tile.selected{background:var(--wave-10);border-color:var(--wave);box-shadow:0 0 0 1px var(--wave)}.automation-device-tile-thumb{background:var(--wave-05);border-radius:12px;color:var(--sub);display:grid;height:40px;overflow:hidden;place-items:center;width:40px}.automation-device-tile-thumb img{height:100%;object-fit:contain;width:100%}.automation-device-tile-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--ink);display:-webkit-box;font-size:12px;font-weight:700;line-height:1.3;overflow:hidden;width:100%}.automation-wizard-stack{display:flex;flex-direction:column;gap:16px}.automation-wizard-stack-block{display:flex;flex-direction:column;gap:8px;min-height:0}.automation-wizard-guide{line-height:1.55;margin:20px auto 0;max-width:22em;text-align:center}.automation-inline-delay{align-items:center;color:var(--ink);display:flex;flex-wrap:wrap;font-size:15px;font-weight:700;gap:8px;margin:4px 0 0}.automation-inline-delay-input{background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--ink);font-size:15px;font-weight:800;height:36px;padding:0 10px;text-align:center;width:5.5rem}.automation-schedule-time{align-items:stretch;display:flex;flex-direction:column;gap:10px;width:100%}.automation-schedule-time .time-wheel-picker{margin:0 auto;max-width:360px;width:100%}.automation-wizard-exec{overflow:visible;position:relative}.automation-wizard-body .info-tooltip-bubble{bottom:auto;left:0;top:calc(100% + 8px);transform:none;z-index:90}.automation-wizard-body .info-tooltip--panel .info-tooltip-bubble{background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 32px #0f172a24;color:var(--ink)}.automation-wizard-summary{background:var(--wave-05);border-radius:14px;display:flex;flex-direction:column;gap:10px;margin-top:18px;padding:14px 16px}.automation-wizard-summary>div{align-items:baseline;display:flex;gap:10px;justify-content:space-between}.automation-wizard-summary span{color:var(--sub);flex-shrink:0;font-size:12px;font-weight:700}.automation-wizard-summary-value{color:var(--ink);font-size:13px;font-weight:800;line-height:1.35;min-width:0;text-align:right}.rule-params-rgb{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:4px}.rule-params-rgb-field{min-width:0}.rule-params-rgb-field input{box-sizing:border-box;width:100%}.automation-wizard-error{color:var(--danger-strong);font-size:12px;font-weight:700;margin:12px 0 0}.automation-wizard-footer{align-items:center;border-top:1px solid var(--line);display:flex;flex-shrink:0;gap:8px;justify-content:flex-end;padding:14px 20px}.automation-wizard-secondary{flex:none;min-width:88px}.automation-wizard-primary{flex:none;min-width:108px}.automation-wizard-body .settings-field--row{align-items:center;display:flex;gap:6px;margin:0 0 14px}.automation-wizard-body .settings-field--row>span{color:var(--sub);flex-shrink:0;font-size:12px;font-weight:800;margin:0;min-width:40px}.automation-wizard-body .settings-field--grow{display:flex;flex-direction:column;gap:6px;margin:0 0 14px}.automation-wizard-body .settings-field--grow>span{color:var(--sub);font-size:12px;font-weight:800}.automation-wizard-body .settings-field--row input,.automation-wizard-body .settings-field--row select{flex:1 1;min-width:0}@media (max-width:640px){.automation-wizard-backdrop{padding:0}.automation-wizard-modal{border-radius:0;height:100%;max-height:100%;width:100%}}.trigger-picker-list{display:flex;flex-direction:column;gap:6px;max-height:140px;overflow-y:auto}.trigger-picker-list--grow,.trigger-picker-list--plain{flex:1 1;max-height:none;min-height:0}.trigger-picker-list--plain{min-width:0;overflow-y:auto}.trigger-scroll{scrollbar-color:var(--wave-30) #0000;scrollbar-width:thin}.trigger-scroll::-webkit-scrollbar{width:5px}.trigger-scroll::-webkit-scrollbar-track{background:#0000}.trigger-scroll::-webkit-scrollbar-thumb{background:var(--wave-30);border-radius:999px}.trigger-scroll::-webkit-scrollbar-button{display:none;height:0;width:0}.trigger-device-list{display:flex;flex:1 1;flex-direction:column;gap:5px;min-height:0;overflow-y:auto}.trigger-device-item{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--ink);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:8px;padding:7px 9px;text-align:left;transition:border-color .15s ease,background .15s ease;width:100%}.trigger-device-item:hover{background:var(--wave-05);border-color:var(--wave-deep)}.trigger-device-item.selected{background:var(--wave-15);border-color:var(--wave-deep)}.trigger-device-thumb{background:var(--wave-05);border-radius:8px;display:grid;flex-shrink:0;height:28px;overflow:hidden;place-items:center;width:28px}.trigger-device-thumb img{height:100%;object-fit:contain;width:100%}.trigger-device-thumb-fallback{color:var(--wave);font-size:14px;font-weight:900}.trigger-device-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trigger-picker-item{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--ink);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:8px;min-width:0;padding:9px 10px;text-align:left;transition:border-color .15s ease,background .15s ease;width:100%}.trigger-picker-item-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trigger-picker-item:hover{background:var(--wave-05);border-color:var(--wave-deep)}.trigger-picker-item.selected{background:var(--wave-15);border-color:var(--wave-deep)}.radar-class-groups{display:flex;flex-direction:column;gap:12px;margin-top:12px}.radar-class-group-label{color:var(--sub);display:block;font-size:11px;font-weight:800;margin-bottom:6px}.radar-class-badges{display:flex;flex-wrap:wrap;gap:6px}.radar-class-badges .badge{border-radius:999px;font-size:11px;font-weight:800;padding:4px 9px}.radar-class-badges .badge.state{background:var(--surface-muted);color:var(--sub)}.radar-class-badges .badge.trigger{background:var(--wave-15);color:var(--ink)}.ir-command-page .card-head h3{color:var(--ink);font-size:22px;font-weight:800}.ir-command-page .section-description{color:var(--ink);font-size:15px}.ir-command-section-head{align-items:center;color:var(--ink);display:flex;font-size:14px;font-weight:800;gap:12px;justify-content:space-between;margin:0 0 14px;padding:10px 2px}.ir-command-section-head em{color:var(--sub);font-style:normal;font-weight:700}.ir-command-section-head .card-action-btn{background:var(--wave);color:var(--ink);flex:none;font-size:12px;font-weight:800;height:32px;padding:0 12px}.ir-command-section-head .card-action-btn:hover{background:var(--wave-60)}.ir-command-page .settings-modal{overflow:visible}.ir-command-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:760px){.ir-command-list{grid-template-columns:1fr}}.ir-command-row{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 6px var(--wave-10);display:flex;gap:14px;justify-content:space-between;padding:16px;transition:box-shadow .15s ease,transform .15s ease}.ir-command-row:hover{box-shadow:0 4px 16px var(--wave-15);transform:translateY(-1px)}.ir-command-main{display:flex;flex-direction:column;gap:5px;min-width:0}.ir-command-main strong{color:var(--ink);font-size:15px;font-weight:600}.ir-command-main span{color:var(--sub);font-size:13px}.ir-command-badges{display:flex;gap:6px;margin-top:2px}.ir-attr-badge{background:var(--wave-deep);border:1px solid #0000;color:#fff;font-weight:700}.ir-command-actions{display:flex;flex-shrink:0;gap:6px}.ir-command-actions button{white-space:nowrap}.ir-learn-btn{margin:6px 0 14px;width:100%}.ir-learn-banner{background:var(--wave-10);border-radius:14px;margin:6px 0 14px;padding:14px;text-align:center}.ir-learn-banner--single{align-items:center;color:var(--ink);display:flex;font-size:13px;font-weight:600;gap:9px;justify-content:center;line-height:1.45;padding:13px 16px}.ir-learn-banner-dot{animation:ir-learn-pulse 1.1s ease-in-out infinite;background:var(--wave-deep);border-radius:50%;flex:none;height:8px;width:8px}@keyframes ir-learn-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.ir-learn-banner strong{display:block;font-size:14px;margin-bottom:4px}.ir-learn-banner p{color:var(--sub);font-size:12px;margin:0}.field-label-with-info{align-items:center;display:inline-flex;gap:6px}h4.field-label-with-info{display:flex}.ir-autogrow-textarea{field-sizing:content;display:block;min-height:0;overflow:hidden;resize:none;width:100%}.gesture-management{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr}.gesture-management .card-head h3{color:var(--ink);font-size:22px;font-weight:800}.gesture-management .section-description{color:var(--ink);font-size:15px}.gesture-set-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.gesture-set-definition{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.gesture-set-definition-title{color:var(--ink);font-size:16px;font-weight:700;margin:0 0 4px}.gesture-set-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 1px 8px var(--wave-10);min-height:146px;padding:20px;text-align:left;transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease;width:100%}.gesture-set-card:hover{box-shadow:0 4px 16px var(--wave-15);transform:translateY(-1px)}.gesture-set-card.selected{background:linear-gradient(135deg,var(--surface),var(--wave-10));border-color:var(--wave-deep)}.gesture-set-card.active-set{box-shadow:0 0 0 3px var(--wave-15),0 1px 8px var(--wave-10)}.gesture-set-select-button{background:#0000;border:0;cursor:pointer;padding:0;text-align:left;width:100%}.gesture-set-select-button:disabled{cursor:not-allowed;opacity:.6}.gesture-set-card span{background:var(--wave-15);border-radius:999px;color:var(--wave-deepest);display:inline-block;font-size:11px;font-weight:700;margin-bottom:10px;padding:5px 9px}.gesture-set-card strong{color:var(--ink);display:block;font-size:21px;font-weight:600;margin-bottom:8px}.gesture-set-card p{color:var(--sub);font-size:13px;line-height:1.5;margin:0 0 12px}.gesture-set-card small{color:var(--sub);font-size:12px;font-weight:600}.section-description{color:var(--sub);font-size:13px;line-height:1.5;margin:-4px 0 18px}.wave-term{color:var(--wave-deep);font-weight:700}.gesture-card-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.gesture-control-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 8px var(--wave-10);overflow:hidden;transition:box-shadow .15s ease,transform .15s ease}.gesture-control-card:hover{box-shadow:0 4px 16px var(--wave-15);transform:translateY(-1px)}.gesture-thumb-wrap{background:var(--wave-05);border:1px solid var(--line);border-radius:14px;display:grid;height:104px;margin:12px 12px 0;overflow:hidden;padding:8px;place-items:center}.gesture-thumb-wrap img{height:auto;max-height:88px;max-width:100%;object-fit:contain;width:auto}.gesture-control-card .gesture-card-body{padding:14px}.gesture-control-card h3{color:var(--ink);font-size:16px;font-weight:600;margin:8px 0 6px}.gesture-control-card p{color:var(--sub);font-size:13px;margin:0}.event-log-page .card-head h3{color:var(--ink);font-size:22px;font-weight:800}.event-filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.filter-chip{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--sub);cursor:pointer;display:inline-flex;font-size:12px;font-weight:800;gap:7px;height:32px;padding:0 14px}.filter-chip .event-type-dot{height:8px;width:8px}.filter-chip.active{background:var(--wave-10);border-color:var(--wave);color:var(--ink)}.event-timeline{display:flex;flex-direction:column;gap:10px}.event-row{background:var(--wave-05);border:1px solid var(--line);border-radius:14px;overflow:hidden}.event-row-main{align-items:center;background:#0000;border:0;cursor:pointer;display:flex;gap:12px;padding:13px 14px;text-align:left;width:100%}.event-type-dot{background:var(--neutral-dot);border-radius:50%;flex-shrink:0;height:10px;width:10px}.event-type-connection{background:var(--warn)}.event-type-gesture{background:var(--wave)}.event-type-execution{background:var(--good)}.event-type-schedule{background:var(--accent-navy)}.event-type-ir{background:var(--wave);background:var(--power-blue,var(--wave))}.event-row-body{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.event-row-body strong{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-row-meta{align-items:center;color:var(--sub);display:flex;font-size:11.5px;gap:8px}.event-type-badge{background:var(--wave-15);border-radius:7px;color:var(--ink);font-size:10px;font-style:normal;font-weight:800;padding:2px 7px}.event-row-main time{color:var(--sub);flex-shrink:0;font-size:11.5px}.event-detail-json{background:var(--surface);color:var(--sub);font-size:11.5px;line-height:1.5;margin:0;overflow-x:auto;padding:12px 14px 14px;white-space:pre-wrap}@media (max-width:1100px){.light-swatch-grid:not(.light-swatch-grid--side),.rule-inline-fields,.rule-inline-fields--2,.rule-params-grid,.telemetry-grid,.trigger-wizard{grid-template-columns:repeat(2,minmax(0,1fr))}.trigger-wizard-step:not(:last-child):after{display:none}}@media (max-width:760px){.gesture-card-grid,.gesture-set-list,.light-swatch-grid:not(.light-swatch-grid--side),.rule-inline-fields,.rule-params-grid,.telemetry-grid{grid-template-columns:1fr}.plug-metrics-card{grid-template-columns:repeat(3,minmax(0,1fr))}.light-color-section .light-swatch-grid.light-swatch-grid--side{grid-auto-flow:row;grid-template-columns:repeat(3,28px);grid-template-rows:repeat(5,28px)}.ir-command-row,.rule-row,.trigger-rule-row{align-items:stretch;flex-direction:column}.trigger-wizard{grid-template-columns:1fr}.trigger-wizard-step{height:auto;min-height:180px}.trigger-wizard-step:not(:last-child):after{display:none}.camera-bottom-bar{flex-direction:column}.camera-bottom-right,.light-color-section{justify-content:center}.light-color-section{flex-wrap:wrap}.iot-control-detail-head .tabs{margin-left:0;width:100%}}.power-page{--power-green:#22c55e;--power-green-soft:#22c55e8c;--power-green-deep:#16a34a;--power-orange:#f97316;--power-orange-soft:#f9731673;opacity:0;transition:opacity .3s ease}.power-page.mounted{opacity:1}@media (min-width:761px){.power-page>.tabs{display:none}}.power-live-dot{animation:power-pulse 1.6s ease-out infinite;background:var(--power-green);border-radius:50%;box-shadow:0 0 0 0 #22c55e80;display:inline-block;height:6px;margin-left:5px;vertical-align:middle;width:6px}@keyframes power-pulse{0%{box-shadow:0 0 0 0 #22c55e73}70%{box-shadow:0 0 0 5px #22c55e00}to{box-shadow:0 0 0 0 #22c55e00}}.power-dot-static{background:var(--power-green);border-radius:50%;display:inline-block;flex-shrink:0;height:6px;margin-right:5px;width:6px}.power-stat-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:0}.power-chart-card .power-stat-row{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.power-stat-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;gap:4px;padding:16px 18px;transition:box-shadow .15s}.power-stat-label{align-items:center;color:var(--sub);display:flex;font-size:11.5px;font-weight:500}.power-stat-value{align-items:baseline;display:flex;gap:3px}.power-stat-value strong{color:var(--ink);font-size:26px;font-weight:700;line-height:1.1}.power-stat-value small{color:var(--sub);font-size:13px;font-weight:500}.power-stat-sub{color:var(--sub);font-size:11px;opacity:.7}.power-chart-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px 14px}.power-chart-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.power-chart-stage{position:relative}.power-chart-controls-bar{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:12px}.power-chart-controls-slot{display:flex;z-index:3}.power-chart-title strong{color:var(--ink);display:block;font-size:14px;font-weight:600}.power-chart-title span{color:var(--sub);font-size:12px}.power-chart-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.power-tab-group{background:var(--bg);border:1px solid var(--line);border-radius:10px;display:flex;gap:2px;padding:3px}.power-tab{background:#0000;border:none;border-radius:7px;color:var(--sub);cursor:pointer;font-size:12px;font-weight:500;padding:4px 11px;transition:background .12s,color .12s;white-space:nowrap}.power-tab.active{background:var(--wave-60);display:flex}.power-tab-suffix{font-weight:400;opacity:.9}.power-tab-group.disabled{opacity:.45}.power-tab-group.disabled .power-tab{cursor:not-allowed}.power-range-toolbar{align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:10px;display:flex;gap:2px;padding:3px}.power-combo-wrap{align-items:stretch;border-radius:7px;display:flex;position:relative;transition:background .12s}.power-combo-wrap.active{background:var(--wave-100)}.power-combo-label{background:#0000;border:none;color:var(--sub);cursor:pointer;font-size:12px;font-weight:500;padding:4px 4px 4px 11px;white-space:nowrap}.power-combo-wrap.active .power-combo-label{color:#0e4862}.power-combo-caret-btn{align-items:center;background:#0000;border:none;color:var(--sub);cursor:pointer;display:flex;padding:4px 9px 4px 3px}.power-combo-wrap.active .power-combo-caret-btn{color:#0e4862}.power-combo-menu{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 20px #0000001f;display:flex;flex-direction:column;left:0;min-width:88px;padding:4px;position:absolute;top:calc(100% + 4px);z-index:20}.power-combo-menu-item{background:#0000;border:none;border-radius:6px;color:var(--ink);cursor:pointer;font-size:12px;font-weight:500;padding:7px 10px;text-align:left;transition:background .1s}.power-combo-menu-item:hover{background:var(--wave-10)}.power-combo-menu-item.active{background:var(--wave-10);color:var(--wave-deep);font-weight:700}.power-toolbar-divider{background:var(--line);flex-shrink:0;height:16px;margin:0 2px;width:1px}.power-range-toolbar .power-tab:disabled{cursor:not-allowed;opacity:.45}.power-report-banner{background:linear-gradient(160deg,var(--wave-20),var(--wave-08));border:1px solid var(--wave-35);border-radius:14px;min-height:184px;padding:16px 20px}.power-report-header{color:var(--ink);font-size:26px;font-weight:700;letter-spacing:0;line-height:1.28;margin:8px 0 12px}.power-report-body{color:var(--sub);font-size:13px;letter-spacing:-.01em;line-height:1.7;margin:0;min-height:4.8em;opacity:0;transform:translateY(4px);transition:opacity .22s ease,transform .22s ease}.power-report-body.visible{opacity:1;transform:translateY(0)}.power-report-banner.loading .power-report-body.visible{opacity:.72}.power-report-banner p{color:var(--sub);font-size:13px;line-height:1.7;margin:0}.power-report-banner.unsupported{border-style:dashed}.power-source-heading{color:var(--ink);font-size:15px;font-weight:700;margin:4px 0 -2px}.power-chart{outline:none;-webkit-user-select:none;user-select:none}.power-chart .recharts-responsive-container,.power-chart .recharts-surface,.power-chart .recharts-wrapper,.power-chart svg{outline:none!important}.power-chart :focus,.power-chart :focus-visible{outline:none!important}.power-chart .recharts-wrapper:focus,.power-chart .recharts-wrapper:focus-visible,.power-chart rect:focus,.power-chart rect:focus-visible,.power-chart svg:focus,.power-chart svg:focus-visible{outline:none!important}.power-chart .recharts-active-bar .recharts-rectangle,.power-chart .recharts-bar-rectangle{stroke:none!important}.power-chart-reveal.animate{animation:power-chart-reveal-in .6s cubic-bezier(.22,1,.36,1) both}@keyframes power-chart-reveal-in{0%{-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0)}to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}.power-tooltip{background:var(--surface);border:1px solid var(--wave-20);border-radius:10px;box-shadow:0 4px 16px #00000014;font-size:12px;padding:8px 12px}.power-tooltip-label{color:var(--sub);font-size:11px;margin-bottom:5px}.power-tooltip-row{display:flex;gap:16px;justify-content:space-between}.power-tooltip-row strong{font-weight:600}.power-device-grid{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.power-device-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;position:relative;transition:border-color .15s,box-shadow .15s,opacity .15s}.power-device-card:hover{border-color:var(--wave-30);box-shadow:0 2px 10px var(--wave-10)}.power-device-card.selected{border-color:var(--wave);box-shadow:0 0 0 3px var(--wave-15)}.power-device-card.disabled .power-device-body{opacity:.5}.power-device-card.disabled:hover{border-color:var(--line);box-shadow:none}.power-device-side{align-items:center;display:flex;flex-direction:column;gap:7px;position:absolute;right:10px;top:10px;z-index:2}.power-device-side .power-dot-static{margin-right:0}.toggle-switch.toggle-switch--sm{height:18px;width:32px}.toggle-switch.toggle-switch--sm i{height:12px;left:3px;top:3px;width:12px}.toggle-switch.toggle-switch--sm.on i{transform:translateX(14px)}.power-device-body{background:#0000;border:none;color:inherit;cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:10px;padding:12px 14px;text-align:left;width:100%}.power-device-body:disabled{cursor:not-allowed}.power-device-top{align-items:flex-start;display:flex;gap:9px;padding-right:32px}.power-device-thumb{background:var(--wave-08);border-radius:9px;color:var(--wave);display:grid;flex-shrink:0;height:30px;overflow:hidden;place-items:center;width:30px}.power-device-thumb img{height:100%;object-fit:cover;width:100%}.power-device-info{flex:1 1;min-width:0}.power-device-room{color:var(--sub);display:block;font-size:11px;margin-bottom:2px}.power-device-name{color:var(--ink);display:block;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.power-device-center{align-items:baseline;display:flex;gap:3px;justify-content:center;padding:6px 0}.power-device-w-big{color:var(--ink);font-size:30px;font-weight:700;line-height:1}.power-device-card.selected .power-device-w-big{color:#2cb3f1}.power-device-center small{color:var(--sub);font-size:13px;font-weight:500}.power-device-bottom{align-items:center;display:flex;gap:8px;justify-content:space-between}.power-device-cost,.power-device-va{color:var(--sub);font-size:11.5px;white-space:nowrap}@media (max-width:900px){.power-stat-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.power-stat-row{grid-template-columns:1fr 1fr}}@media (max-width:760px){.power-chart-card{padding:14px 12px 12px}.power-chart-head{margin-bottom:8px}.power-chart-stage{margin:0 -2px;padding-bottom:40px;padding-top:36px}.power-chart-controls-bar{inset:0;margin:0;pointer-events:none;position:absolute}.power-chart-controls-slot{pointer-events:auto;position:absolute}.power-chart-controls-slot--metrics{left:0;margin-bottom:0;top:2px}.power-chart-controls-slot--range{bottom:2px;left:auto;margin-bottom:0;right:0}.power-chart-controls-slot .power-range-toolbar,.power-chart-controls-slot .power-tab-group{box-shadow:0 2px 10px #00000014}.power-chart-controls-slot .power-tab{font-size:11px;padding:3px 8px}.power-chart-controls-slot .power-combo-label,.power-chart-controls-slot .power-range-toolbar .power-tab{font-size:11px}.power-chart-controls-slot .power-tab-suffix{display:none}.power-chart .recharts-cartesian-axis-tick text{font-size:9px}}.power-cost-trend-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 8px var(--wave-10);margin-top:20px;padding:16px 18px 14px}.power-cost-trend-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:6px}.power-cost-trend-title{color:var(--ink);font-size:16px;font-weight:800;margin:0}.power-cost-trend-total{color:var(--sub);font-size:12px;font-weight:700}.power-cost-trend-caption{color:var(--sub);font-size:11px;line-height:1.5;margin:6px 0 0}.developer-settings .developer-tabs{margin:4px 0 16px}.developer-tab-body{min-height:120px}.dev-gesture-tab{display:flex;flex-direction:column;gap:16px}.dev-radar-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.dev-radar-card{align-items:flex-start;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;cursor:pointer;display:flex;gap:10px;padding:12px;text-align:left;transition:border-color .15s ease,box-shadow .15s ease}.dev-radar-card:hover{border-color:color-mix(in srgb,var(--wave) 40%,var(--line))}.dev-radar-card.selected{border-color:var(--wave);box-shadow:0 0 0 3px var(--wave-10)}.dev-radar-card.offline{opacity:.72}.dev-radar-dot{border-radius:50%;flex-shrink:0;height:10px;margin-top:4px;width:10px}.dev-radar-dot.on{background:#3ddc84;box-shadow:0 0 6px #3ddc84}.dev-radar-dot.off{background:#ff7043}.dev-radar-card-body{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.dev-radar-card-row{grid-gap:8px;align-items:baseline;display:grid;gap:8px;grid-template-columns:88px 1fr}.dev-radar-card-label{color:var(--sub);font-size:11px;font-weight:600}.dev-radar-card-value{color:var(--ink);font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-radar-card-value.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:600}.dev-stream-meta{color:var(--sub);font-size:12px;font-weight:600}.dev-ws-state{font-style:normal;font-weight:700}.dev-ws-state.live{color:#16a34a}.dev-ws-state.connecting{color:#ca8a04}.dev-ws-state.closed,.dev-ws-state.error{color:#dc2626}.dev-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.dev-panel{background:#fafbfc;border:1px solid var(--line);border-radius:14px;padding:14px}.dev-panel.dev-wide{grid-column:1/-1}.dev-panel h3{color:var(--ink);font-size:13px;font-weight:700;margin:0 0 12px}.dev-section-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.dev-section-head h3{margin:0}.dev-colormap-select{align-items:center;color:var(--sub);display:flex;font-size:12px;font-weight:600;gap:8px}.dev-colormap-select .settings-select{min-width:120px}.dev-kv{grid-gap:8px;display:grid;gap:8px;margin:0}.dev-kv.two-col{column-gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:8px}.dev-kv>div{border-bottom:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;padding-bottom:6px}.dev-kv dt{color:var(--sub);font-size:12px;font-weight:600}.dev-kv dd{color:var(--ink);font-size:12px;font-weight:700;margin:0;text-align:right}.dev-kv.compact>div{padding-bottom:4px}.dev-empty{color:var(--sub);font-size:12px;padding:16px 0;text-align:center}.dev-prob-list{grid-gap:10px;display:grid;gap:10px}.dev-prob-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:minmax(100px,1fr) 1fr auto}.dev-prob-label{color:var(--ink);font-size:12px;font-weight:600}.dev-prob-track{background:#e8eef2;border-radius:999px;height:10px;overflow:hidden}.dev-prob-fill{background:linear-gradient(90deg,var(--wave),#38bdf8);border-radius:inherit;height:100%}.dev-prob-value{color:var(--ink);font-size:12px;font-weight:700;min-width:48px;text-align:right}.dev-embedding-panel{grid-gap:8px;display:grid;gap:8px}.dev-embedding-axis{color:var(--sub);display:flex;font-size:11px;font-weight:600;justify-content:space-between}.dev-embedding-canvas{border:1px solid var(--line);border-radius:8px;display:block;width:100%}.dev-trigger-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.dev-trigger-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px}.dev-trigger-head{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:10px}.dev-trigger-head strong{color:var(--ink);font-size:13px}.dev-status-pill{border-radius:999px;font-size:10px;font-weight:700;padding:2px 8px}.dev-status-pill.ready{background:#dcfce7;color:#16a34a}.dev-status-pill.cool{background:#f1f5f9;color:#64748b}.dev-threshold-bar{background:#edf2f5;border-radius:8px;height:16px;margin-bottom:10px;overflow:hidden;position:relative}.dev-threshold-zone.low{background:#dc26261a;bottom:0;left:0;position:absolute;top:0}.dev-threshold-zone.mid{background:#2563eb1a;bottom:0;position:absolute;top:0}.dev-threshold-marker{bottom:0;position:absolute;top:0;transform:translateX(-1px);width:2px;z-index:2}.dev-threshold-marker.high{background:#2563eb}.dev-threshold-marker.low{background:#dc2626}.dev-threshold-fill{background:#2563eb80;bottom:0;left:0;position:absolute;top:0;transition:width .08s linear;z-index:1}@media (max-width:760px){.dev-grid,.dev-kv.two-col,.dev-prob-row{grid-template-columns:1fr}.dev-prob-row{gap:4px}.dev-prob-value{text-align:left}.dev-radar-card-row{gap:2px;grid-template-columns:1fr}}