*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;width:100%;height:-webkit-fill-available;-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior:none}body{min-height:100%;min-height:-webkit-fill-available;width:100%;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#root{min-height:100%;min-height:-webkit-fill-available}:root{--app-height: 100dvh;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}body{font-synthesis:none;text-rendering:optimizeLegibility}.app-shell.is-dark input,.app-shell.is-dark select,.app-shell.is-dark textarea{color-scheme:dark}.app-shell.is-light input,.app-shell.is-light select,.app-shell.is-light textarea{color-scheme:light}button,a,[role=button]{-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer}input,select,textarea{-webkit-tap-highlight-color:transparent;font-size:max(16px,1em);max-width:100%}*{-webkit-overflow-scrolling:touch}img,svg,canvas,video{max-width:100%}.safe-top{padding-top:env(safe-area-inset-top)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-left{padding-left:env(safe-area-inset-left)}.safe-right{padding-right:env(safe-area-inset-right)}::selection{background:#7c3aed40}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#7c3aed40;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#7c3aed73}input,textarea,select{font-size:16px!important;-webkit-text-size-adjust:100%}html,body{overscroll-behavior:none;-webkit-overflow-scrolling:touch;overflow-x:hidden}button,a,[role=button]{touch-action:manipulation}input[type=text],input[type=number],input[type=date],input[type=email],input[type=password],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:8px}input[type=date]{min-height:40px;line-height:1.4}.bottom-nav-safe{padding-bottom:calc(env(safe-area-inset-bottom) + 8px)}@supports (-webkit-touch-callout: none){.modal-overlay{position:fixed;height:-webkit-fill-available}}@media (hover: none) and (pointer: coarse){button:active,[role=button]:active{opacity:.75;transition:opacity .1s}}@supports (height: 100svh){:root{--app-height: 100svh}}@supports (height: 100dvh){:root{--app-height: 100dvh}}html{scroll-behavior:auto}.scroll-ios{-webkit-overflow-scrolling:touch;overflow-y:auto}button,.nav-item,.card-clickable{-webkit-user-select:none;user-select:none}div[style*="overflow-y: auto"],div[style*=overflowY]{-webkit-overflow-scrolling:touch}.fixed-bottom{padding-bottom:env(safe-area-inset-bottom)}@supports not (height: 100dvh){.full-height{height:-webkit-fill-available;height:100vh}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}*{-webkit-tap-highlight-color:transparent}input:focus,textarea:focus,select:focus,button:focus{outline:2px solid #7C3AED;outline-offset:2px}button:focus:not(:focus-visible),[role=button]:focus:not(:focus-visible){outline:none}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:3px solid rgba(124,58,237,.28);outline-offset:3px}@media (hover: hover) and (pointer: fine){.card-lift{will-change:transform,box-shadow}}@media (max-width: 899px){.topbar-safe{box-shadow:0 8px 24px #1f144612!important}.security-grid>div{grid-template-columns:38px minmax(0,1fr)!important}.security-grid>div>span:last-child{grid-column:2;justify-self:start}}.habit-data-scroll{scrollbar-width:thin;scrollbar-color:rgba(124,58,237,.62) rgba(124,58,237,.12)}.habit-data-scroll::-webkit-scrollbar{height:7px}.habit-data-scroll::-webkit-scrollbar-track{background:#7c3aed1a;border-radius:999px}.habit-data-scroll::-webkit-scrollbar-thumb{background:#7c3aed94;border-radius:999px}.habit-scroll-cue{width:fit-content;max-width:100%;margin:-2px 0 8px auto;padding:5px 9px;border-radius:999px;background:#7c3aed1a;color:#6d28d9;font-size:10px;font-weight:800;line-height:1.35}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}body{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:var(--app-height);overflow:hidden}#root{height:var(--app-height);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:none}@media (max-width: 899px){body{font-size:14px}button,input,select,textarea,table{max-width:100%}}
