@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";html,body{width:100%;height:100%}input::-ms-clear{display:none}input::-ms-reveal{display:none}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}input,button,select,optgroup,textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}#root{min-height:100vh}.auth-page{background:linear-gradient(#00000059,#00000059),url(/assets/bedroom-background-Duc-ZvgN.png) 50%/cover no-repeat;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{width:100%;max-width:420px;box-shadow:0 8px 32px #00000026}.sider-user-trigger{width:100%;height:100%;min-height:48px;padding:0 12px}.sider-user-trigger__profile{flex:1;min-width:0;overflow:hidden}.sider-user-trigger__name{color:#ffffffe0;flex:1;min-width:0;font-size:13px;margin:0!important}.sider-user-trigger__sign-in{color:#ffffffe0;text-align:center;flex:1;min-width:0;font-size:13px;text-decoration:none}.sider-user-trigger__sign-in:hover{color:#fff}.sider-user-trigger__sign-out{color:#ffffffe0!important;padding-inline:0!important}.sider-user-trigger__collapse-hint{color:#ffffff73;flex-shrink:0;font-size:12px}.sider-user-trigger .cl-userButtonTrigger{box-shadow:none}.app-sider-brand{--p2m-ease-settle:cubic-bezier(.34, 1.56, .64, 1);color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border-bottom:1px solid #f0f0f0;flex-direction:column;align-items:flex-start;padding:20px 16px;text-decoration:none;display:flex}.app-sider-brand--collapsed{align-items:center;padding:12px 0}.app-sider-brand__logo{transform-origin:50%;transition:transform .26s var(--p2m-ease-settle);display:block}.app-sider-brand:hover .app-sider-brand__logo,.app-sider-brand:focus-visible .app-sider-brand__logo{transform:scale(1.08)rotate(-1.5deg)}.app-sider-brand__tagline{margin-top:4px;display:block}@media (prefers-reduced-motion:reduce){.app-sider-brand__logo{transition:none}.app-sider-brand:hover .app-sider-brand__logo,.app-sider-brand:focus-visible .app-sider-brand__logo{transform:none}}.app-sider-demo{border-top:1px solid #f0f0f0;flex-shrink:0;padding:4px 12px 8px}.app-sider-demo--collapsed{justify-content:center;padding:4px 0 8px;display:flex}.app-sider-demo__btn{color:#00000073;width:28px;height:28px;padding:0}.app-sider-demo__btn:hover{color:#000000e0!important;background:#0000000a!important}.lumi-logo-motion{--p2m-draw:.72s;--p2m-fill:.28s;--p2m-stagger:.12s;--p2m-start:.12s;justify-content:center;width:min(80vw,420px);display:flex}.lumi-logo-motion svg{width:100%;height:auto;display:block;overflow:visible}@media (prefers-reduced-motion:no-preference){.lumi-logo-motion--animated [id^=letter-],.lumi-logo-motion--animated #dot-i{fill-opacity:0;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;paint-order:stroke fill;animation-fill-mode:both}.lumi-logo-motion--animated [id^=letter-]{fill:#042352;stroke:#042352;stroke-width:32px}.lumi-logo-motion--animated #dot-i{fill:#f5c518;stroke:#f5c518;stroke-width:22px}.lumi-logo-motion--animated #letter-l{animation:lumi-draw-on var(--p2m-draw) cubic-bezier(.33, 1, .38, 1) var(--p2m-start) both, lumi-fill-in var(--p2m-fill) cubic-bezier(.22, 1, .36, 1) calc(var(--p2m-start) + var(--p2m-draw)) both, lumi-hide-stroke .16s ease-out calc(var(--p2m-start) + var(--p2m-draw) + var(--p2m-fill) * .5) both}.lumi-logo-motion--animated #letter-u{animation:lumi-draw-on var(--p2m-draw) cubic-bezier(.33, 1, .38, 1) calc(var(--p2m-start) + var(--p2m-stagger) * 1) both, lumi-fill-in var(--p2m-fill) cubic-bezier(.22, 1, .36, 1) calc(var(--p2m-start) + var(--p2m-stagger) * 1 + var(--p2m-draw)) both, lumi-hide-stroke .16s ease-out calc(var(--p2m-start) + var(--p2m-stagger) * 1 + var(--p2m-draw) + var(--p2m-fill) * .5) both}.lumi-logo-motion--animated #letter-m{animation:lumi-draw-on var(--p2m-draw) cubic-bezier(.33, 1, .38, 1) calc(var(--p2m-start) + var(--p2m-stagger) * 2) both, lumi-fill-in var(--p2m-fill) cubic-bezier(.22, 1, .36, 1) calc(var(--p2m-start) + var(--p2m-stagger) * 2 + var(--p2m-draw)) both, lumi-hide-stroke .16s ease-out calc(var(--p2m-start) + var(--p2m-stagger) * 2 + var(--p2m-draw) + var(--p2m-fill) * .5) both}.lumi-logo-motion--animated #letter-i{animation:lumi-draw-on var(--p2m-draw) cubic-bezier(.33, 1, .38, 1) calc(var(--p2m-start) + var(--p2m-stagger) * 3) both, lumi-fill-in var(--p2m-fill) cubic-bezier(.22, 1, .36, 1) calc(var(--p2m-start) + var(--p2m-stagger) * 3 + var(--p2m-draw)) both, lumi-hide-stroke .16s ease-out calc(var(--p2m-start) + var(--p2m-stagger) * 3 + var(--p2m-draw) + var(--p2m-fill) * .5) both}.lumi-logo-motion--animated #letter-a{animation:lumi-draw-on var(--p2m-draw) cubic-bezier(.33, 1, .38, 1) calc(var(--p2m-start) + var(--p2m-stagger) * 4) both, lumi-fill-in var(--p2m-fill) cubic-bezier(.22, 1, .36, 1) calc(var(--p2m-start) + var(--p2m-stagger) * 4 + var(--p2m-draw)) both, lumi-hide-stroke .16s ease-out calc(var(--p2m-start) + var(--p2m-stagger) * 4 + var(--p2m-draw) + var(--p2m-fill) * .5) both}.lumi-logo-motion--animated #letter-i2{animation:lumi-draw-on var(--p2m-draw) cubic-bezier(.33, 1, .38, 1) calc(var(--p2m-start) + var(--p2m-stagger) * 5) both, lumi-fill-in var(--p2m-fill) cubic-bezier(.22, 1, .36, 1) calc(var(--p2m-start) + var(--p2m-stagger) * 5 + var(--p2m-draw)) both, lumi-hide-stroke .16s ease-out calc(var(--p2m-start) + var(--p2m-stagger) * 5 + var(--p2m-draw) + var(--p2m-fill) * .5) both}.lumi-logo-motion--animated #dot-i{animation:lumi-draw-on .52s cubic-bezier(.34, 1.56, .64, 1) calc(var(--p2m-start) + var(--p2m-stagger) * 5 + var(--p2m-draw) * .35) both, lumi-fill-in .24s cubic-bezier(.22, 1, .36, 1) calc(var(--p2m-start) + var(--p2m-stagger) * 5 + var(--p2m-draw) * .35 + .52s) both, lumi-hide-stroke .14s ease-out calc(var(--p2m-start) + var(--p2m-stagger) * 5 + var(--p2m-draw) * .35 + .52s + .24s * .5) both}}@keyframes lumi-draw-on{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes lumi-fill-in{0%{fill-opacity:0}to{fill-opacity:1}}@keyframes lumi-hide-stroke{0%{stroke-opacity:1}to{stroke-opacity:0}}.auth-loading{background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100vh;display:flex}.auth-loading .lumi-logo-motion{width:min(80vw,280px)}.auth-loading__subtitle{color:#999;letter-spacing:.02em;margin:0;font-size:14px}:root{--color-bg-primary:#fff;--color-bg-secondary:#fafafa;--color-text-primary:#1a1a1a;--color-text-secondary:#666;--color-text-tertiary:#999;--color-border:#e0e0e0;--color-border-light:#f0f0f0;--theme-primary:#52b788;--theme-primary-light:#d4f4dd;--theme-primary-dark:#40916c;--theme-glow:#52b7884d;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-sm:14px;--font-size-base:16px;--font-size-2xl:24px;--font-size-3xl:32px;--border-radius-md:8px;--border-radius-lg:12px;--border-width:1px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 2px 8px #0000000f;--theme-transition:.3s ease}.login-container{width:100vw;min-height:100vh;padding:var(--spacing-lg) 5% var(--spacing-lg) var(--spacing-lg);justify-content:flex-end;align-items:center;display:flex;position:relative;overflow:hidden auto}.login-background{z-index:0;background-color:#e8e4df;background-image:linear-gradient(135deg,#ffffff59 0%,#e8e4df99 100%),url(/assets/bedroom-background-Duc-ZvgN.png);background-position:100%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;position:absolute;top:0;left:0}.login-card-wrapper{z-index:2;flex-shrink:0;width:100%;min-width:0;max-width:420px;animation:.5s slideInRight;position:relative}.login-card-wrapper--clerk{max-width:440px}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.login-header--shared{text-align:center;margin-bottom:var(--spacing-md)}.login-logo-slot{width:min(62%,220px);max-width:220px;margin:0 auto var(--spacing-xs);aspect-ratio:1200/344;position:relative}.login-logo-layer{justify-content:center;align-items:center;transition:opacity .6s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;inset:0}.login-logo-layer--motion{opacity:1;z-index:2}.login-logo-layer--static{opacity:0;z-index:1}.login-logo-slot--revealed .login-logo-layer--motion{opacity:0;pointer-events:none;transition-delay:0s}.login-logo-slot--revealed .login-logo-layer--static{opacity:1;transition-delay:80ms}.login-intro-motion.lumi-logo-motion{width:100%;max-width:100%;margin:0}.login-logo-slot .login-logo{object-fit:contain;width:100%;height:auto;max-height:100%;margin:0 auto;display:block}.login-expand{interpolate-size:allow-keywords;max-height:0;transition:max-height 1.05s cubic-bezier(.16,1,.3,1);overflow:hidden}.login-expand--open{max-height:var(--login-expand-h,720px)}.login-card--expanded .login-expand{overflow:visible}.login-expand-inner{min-height:0}.login-expand-inner .login-form,.login-expand-inner .login-clerk-widget{opacity:0;transition:opacity .65s cubic-bezier(.22,1,.36,1) .28s,transform .65s cubic-bezier(.22,1,.36,1) .28s;transform:translateY(10px)}.login-card--expanded .login-expand-inner .login-form,.login-card--expanded .login-expand-inner .login-clerk-widget{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.login-logo-layer,.login-expand{transition:none}.login-expand--open{max-height:none;overflow:visible}.login-expand-inner .login-form,.login-expand-inner .login-clerk-widget{opacity:1;transition:none;transform:none}}.login-card{-webkit-backdrop-filter:blur(20px)saturate(180%);border-radius:var(--border-radius-lg);padding:var(--spacing-2xl);transition:background var(--theme-transition), border-color var(--theme-transition), box-shadow var(--theme-transition), transform var(--theme-transition);background:#ffffff40;border:1px solid #ffffff4d;position:relative;box-shadow:0 8px 32px #0000001a,inset 0 1px #fff6}.login-card:before{content:"";border-radius:var(--border-radius-lg);pointer-events:none;z-index:0;background:linear-gradient(135deg,#ffffff1a 0%,#ffffff0d 100%);position:absolute;inset:0}.login-card>*{z-index:1;position:relative}.login-card:hover{box-shadow:0 12px 40px #00000026, inset 0 1px 0 #ffffff80, 0 0 20px var(--theme-glow);background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.login-card--clerk{-webkit-backdrop-filter:none;padding:var(--spacing-xl) var(--spacing-lg);background:#fff;border:1px solid #00000014;overflow:visible;box-shadow:0 8px 32px #0000001f}.login-card--clerk:before{display:none}.login-card--clerk:hover{background:#fff;border-color:#00000014;transform:none;box-shadow:0 8px 32px #0000001f}.login-card--clerk .login-header--shared{margin-bottom:var(--spacing-sm)}.login-clerk-widget{width:100%;min-width:0;overflow:visible}.login-card--expanded .login-clerk-widget{min-height:260px}.login-clerk-widget .cl-rootBox,.login-clerk-widget .cl-cardBox,.login-clerk-widget .cl-card,.login-clerk-widget .cl-main,.login-clerk-widget .cl-form,.login-clerk-widget .cl-formField,.login-clerk-widget .cl-formFieldRow{box-sizing:border-box;width:100%!important;min-width:0!important;max-width:100%!important}.login-clerk-widget .cl-formFieldInput,.login-clerk-widget .cl-formFieldInput input{box-sizing:border-box!important;width:100%!important;max-width:100%!important}.login-clerk-widget .cl-footer,.login-clerk-widget [class*=cl-footer]{display:none!important}.login-subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--spacing-md);font-weight:400}.login-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6}.login-form,.login-form .form-group{margin-bottom:var(--spacing-lg)}.login-form label{font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-weight:500;display:block}.login-form .form-input{width:100%;padding:var(--spacing-md);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-md);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-text-primary);background:var(--color-bg-primary);transition:all var(--theme-transition)}.login-form .form-input:focus{border-color:var(--theme-primary);box-shadow:0 0 0 3px var(--theme-primary-light);outline:none}.login-form .form-input::placeholder{color:var(--color-text-tertiary)}.form-options{margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm);justify-content:space-between;align-items:center;display:flex}.checkbox-label{align-items:center;gap:var(--spacing-sm);cursor:pointer;color:var(--color-text-secondary);display:flex}.form-checkbox{cursor:pointer;width:18px;height:18px;accent-color:var(--theme-primary)}.forgot-link{color:var(--theme-primary);transition:all var(--theme-transition);text-decoration:none}.forgot-link:hover{color:var(--theme-primary-dark);text-decoration:underline}.login-btn{width:100%;padding:var(--spacing-md) var(--spacing-xl);background:var(--theme-primary);border:var(--border-width) solid var(--theme-primary);border-radius:var(--border-radius-md);color:#fff;font-size:var(--font-size-base);cursor:pointer;transition:all var(--theme-transition);margin-bottom:var(--spacing-lg);font-weight:600}.login-btn:hover{background:var(--theme-primary-dark);border-color:var(--theme-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.login-btn:active{transform:translateY(0)}.login-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-divider{text-align:center;margin:var(--spacing-lg) 0;color:var(--color-text-tertiary);font-size:var(--font-size-sm);align-items:center;display:flex}.login-divider:before,.login-divider:after{content:"";border-bottom:var(--border-width) solid var(--color-border-light);flex:1}.login-divider span{padding:0 var(--spacing-md)}.guest-btn{width:100%;padding:var(--spacing-md) var(--spacing-xl);background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-secondary);font-size:var(--font-size-base);cursor:pointer;transition:all var(--theme-transition);margin-bottom:var(--spacing-lg);font-weight:500}.guest-btn:hover{border-color:var(--theme-primary);color:var(--theme-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.guest-btn:active{transform:translateY(0)}.login-footer{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.signup-link{color:var(--theme-primary);transition:all var(--theme-transition);font-weight:500;text-decoration:none}.signup-link:hover{color:var(--theme-primary-dark);text-decoration:underline}@media (width<=768px){.login-container{padding:var(--spacing-lg);justify-content:center}.login-card-wrapper{max-width:100%}.login-background{background-position:30%}}@media (width<=480px){.login-card{padding:var(--spacing-xl)}.login-logo-slot{width:min(72%,200px)}}.onboarding-page{background:#fafafa;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:32px 16px 72px;display:flex}.onboarding-intro{flex-direction:column;align-items:center;gap:16px;display:flex}.onboarding-intro__subtitle{color:#666;margin:0;font-size:14px}.onboarding-card{background:#fff;border-radius:12px;width:100%;max-width:520px;padding:32px 28px 24px;box-shadow:0 2px 16px #0000000f}.onboarding-card__header{text-align:center;margin-bottom:24px}.onboarding-card__title{margin:0 0 8px!important}.onboarding-card__desc{color:#0000008c;margin:0!important}.onboarding-skip{position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.onboarding-privacy-box{background:#f6ffed;border:1px solid #b7eb8f;border-radius:8px;margin-bottom:16px;padding:12px 14px}.onboarding-privacy-box p{color:#000000a6;margin:0;font-size:13px;line-height:1.6}
