*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overscroll-behavior:none;touch-action:manipulation;-webkit-text-size-adjust:100%;width:100%}body{background:#0d0d0d;display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;overflow:hidden;font-family:Barlow,sans-serif}::-webkit-scrollbar{display:none}.app-shell{background:#111;color:#f0f0f0;display:flex;flex-direction:column;font-family:Barlow,sans-serif;height:100%;margin:0 auto;max-width:430px;min-height:0;overflow:hidden;padding-top:max(14px,env(safe-area-inset-top));position:relative;width:100%}.home-stats,.macro-grid,.profile-stats{display:grid}.home-stats{grid-template-columns:1fr 1fr}.macro-grid,.profile-stats{grid-template-columns:1fr 1fr 1fr}.quick-actions{display:flex}@media(min-width:700px){.app-shell{max-width:480px}}@media(max-width:340px),(max-height:620px){.app-shell{padding-top:max(8px,env(safe-area-inset-top))}.screen{inset:8px 0 0}.magic-nav{height:64px}.magic-nav .text{font-size:8px;margin-top:4px}.magic-nav .icon svg{height:19px;width:19px}.magic-nav li.active .icon{transform:translateY(-25px)}.magic-nav li.active .text{transform:translateY(5px)}.magic-indicator{height:50px;top:-26px;width:50px;left:calc(var(--indicator-left, calc(10% - 28px) ) + 3px)}.home-stats{gap:8px!important}.quick-actions{gap:6px!important}.home-screen{padding:0 12px 16px!important}.home-screen>*{margin-bottom:12px!important}.home-stats>div,.home-stats>button{padding:12px!important}.macro-grid,.profile-stats{grid-template-columns:repeat(auto-fit,minmax(86px,1fr))!important}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}@keyframes checkBounce{0%{transform:scale(0) rotate(-20deg)}55%{transform:scale(1.3) rotate(6deg)}75%{transform:scale(.88) rotate(-3deg)}to{transform:scale(1) rotate(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes subTabFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes navDot{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes barFill{0%{width:0%}}@keyframes progressArc{0%{stroke-dasharray:0 9999}}@keyframes tabSlideInRight{0%{opacity:0;transform:translate3d(22px,0,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes tabSlideInLeft{0%{opacity:0;transform:translate3d(-22px,0,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes pushIn{0%{opacity:.94;transform:translate3d(var(--route-shift, 14px),0,0)}to{opacity:1;transform:translateZ(0)}}.screen-enter{animation:fadeUp .28s cubic-bezier(.22,.68,0,1.2) both}.card-enter{animation:fadeUp .22s cubic-bezier(.22,.68,0,1.2) both}.expand-enter{animation:slideDown .2s ease both}.sub-tab-enter{animation:subTabFade .22s cubic-bezier(.22,.68,0,1.2) both}.screen-container{background:#111;flex:1;isolation:isolate;min-height:0;overflow:hidden;position:relative}.screen{inset:16px 0 0;opacity:0;overflow:hidden;pointer-events:none;position:absolute;transform:scale(.992);transition:opacity .42s cubic-bezier(.22,.61,.36,1),transform .42s cubic-bezier(.22,.61,.36,1),filter .42s cubic-bezier(.22,.61,.36,1);filter:brightness(.86);will-change:opacity,transform,filter;z-index:1}.screen.active{opacity:1;pointer-events:auto;transform:scale(1);filter:brightness(1);z-index:2}.screen.slide-right.active{animation:tabSlideInRight .28s cubic-bezier(.22,.68,.2,1) both}.screen.slide-left.active{animation:tabSlideInLeft .28s cubic-bezier(.22,.68,.2,1) both}.screen.push-forward.active{--route-shift: 14px;animation:pushIn .22s cubic-bezier(.22,.68,.2,1) both}.screen.push-back.active{--route-shift: -12px;animation:pushIn .2s ease-out both}.screen-container .screen>.screen-enter{animation:none}.magic-nav{--items: 5;--item-size: calc(100% / var(--items));height:74px;background:#161616;border-top:1px solid #2a2a2a;flex-shrink:0;overflow:visible;position:relative;z-index:20}.magic-nav ul{display:flex;height:100%;list-style:none;position:relative}.magic-nav li{width:var(--item-size);height:100%;position:relative;z-index:2}.magic-nav button{-webkit-tap-highlight-color:transparent;align-items:center;background:transparent;border:0;color:#999;cursor:pointer;display:flex;flex-direction:column;font-family:Barlow,sans-serif;height:100%;justify-content:center;padding:0;position:relative;width:100%}.magic-nav .icon{align-items:center;display:flex;height:24px;justify-content:center;line-height:1;position:relative;transform:translateY(0);transition:transform .48s cubic-bezier(.2,.86,.22,1.12),color .28s ease;width:24px}.magic-nav .icon svg{height:21px;width:21px}.magic-nav .text{color:currentColor;font-size:9px;font-weight:500;line-height:1;margin-top:5px;opacity:.76;transform:translateY(0);transition:transform .36s cubic-bezier(.19,1,.22,1),opacity .24s ease,color .24s ease}.magic-nav li.active button{color:#c8ff00}.magic-nav li.active .icon{color:#050505;transform:translateY(-29px)}.magic-nav li.active .text{color:#c8ff00;font-weight:800;opacity:1;transform:translateY(7px)}.magic-indicator{background:#c8ff00;border:6px solid #111111;border-radius:50%;box-shadow:0 10px 26px #c8ff002e;height:56px;left:var(--indicator-left, calc(10% - 28px) );pointer-events:none;position:absolute;top:-29px;transition:left .52s cubic-bezier(.19,1,.22,1);width:56px;z-index:1}.magic-indicator:before,.magic-indicator:after{content:"";height:18px;position:absolute;top:24px;width:18px}.magic-indicator:before{border-top-right-radius:18px;box-shadow:1px -8px #111;left:-22px}.magic-indicator:after{border-top-left-radius:18px;box-shadow:-1px -8px #111;right:-22px}.stagger>*:nth-child(1){animation:fadeUp .22s .04s both}.stagger>*:nth-child(2){animation:fadeUp .22s .1s both}.stagger>*:nth-child(3){animation:fadeUp .22s .16s both}.stagger>*:nth-child(4){animation:fadeUp .22s .22s both}.stagger>*:nth-child(5){animation:fadeUp .22s .28s both}.magic-nav li.active .icon svg{animation:navDot .4s cubic-bezier(.22,.68,0,1.2) both}.nav-active svg{animation:navDot .4s cubic-bezier(.22,.68,0,1.2) both}.check-pop{animation:scaleIn .25s cubic-bezier(.22,.68,0,1.2) both}.check-bounce{animation:checkBounce .38s cubic-bezier(.22,.68,0,1.2) both}.timer-pulse{animation:pulse 1.4s ease-in-out infinite}.macro-bar-fill{animation:barFill .7s cubic-bezier(.22,.68,0,1.2) both}.card-hover{transition:transform .18s ease,box-shadow .18s ease}.card-hover:active{transform:scale(.97)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
