@tailwind base;@tailwind components;@tailwind utilities;.dashboard-wrapper{position:relative}.dark .dashboard-wrapper:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.03;background-image:radial-gradient(circle,rgba(255,255,255,.8) 1px,transparent 1px);background-size:16px 16px;z-index:0}.dashboard-wrapper>*{position:relative;z-index:1}.dash-card{border-radius:12px;border:1px solid rgba(0,0,0,.04);box-shadow:0 1px 3px #0000000a;transition:box-shadow .25s ease,border-color .25s ease}.dash-card:hover{box-shadow:0 8px 24px #0000000f;border-color:#00000014}.dark .dash-card{border-color:#ffffff0f;box-shadow:0 1px 4px #0000004d}.dark .dash-card:hover{box-shadow:0 8px 32px #0006;border-color:#ffffff1f}.weather-glow{position:relative}.weather-glow:before{content:"";position:absolute;top:-150px;left:-120px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.2) 0%,rgba(59,130,246,.05) 40%,transparent 65%);pointer-events:none;filter:blur(50px)}.hero-header{position:relative;border-radius:12px;padding:24px 28px;border:1px solid rgba(255,255,255,.06);box-shadow:0 2px 12px #00000014;overflow:hidden;font-family:Inter,system-ui,-apple-system,sans-serif}.hero-header:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.04;background-image:radial-gradient(circle,rgba(255,255,255,.7) 1px,transparent 1px);background-size:14px 14px;border-radius:12px;z-index:0}.hero-header>*{position:relative;z-index:1}.hero-title{font-size:1.5rem;font-weight:800;line-height:1.05;letter-spacing:-.02em}.hero-subtitle{font-size:.875rem;font-weight:500;opacity:.7}.hero-clock{font-size:3rem;font-weight:800;line-height:1;letter-spacing:-.03em;font-family:Inter,system-ui,monospace}.hero-clock-suffix{font-size:.75rem;font-weight:700;opacity:.8;margin-left:6px}.hero-temp{font-size:2rem;font-weight:800;line-height:1;letter-spacing:-.02em}.hero-weather-line{font-size:.8125rem}@media(max-width:768px){.hero-header{padding:28px 24px;border-radius:20px}.hero-title{font-size:1.5rem}.hero-clock{font-size:3rem}.hero-temp{font-size:2.5rem}}.pb-safe,.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}@keyframes animate-svg-fill-1{0%{fill:transparent}to{fill:#fff}}.svg-elem-1{animation:animate-svg-fill-1 .7s cubic-bezier(.47,0,.745,.715) .8s both}@keyframes animate-svg-fill-2{0%{fill:transparent}to{fill:#fff}}.svg-elem-2{animation:animate-svg-fill-2 .7s cubic-bezier(.47,0,.745,.715) .9s both}@keyframes animate-svg-fill-3{0%{fill:transparent}to{fill:#fff}}.svg-elem-3{animation:animate-svg-fill-3 .7s cubic-bezier(.47,0,.745,.715) 1s both}@keyframes animate-svg-fill-4{0%{fill:transparent}to{fill:#fff}}.svg-elem-4{animation:animate-svg-fill-4 .7s cubic-bezier(.47,0,.745,.715) 1.1s both}@keyframes animate-svg-fill-5{0%{fill:transparent}to{fill:#fff}}.svg-elem-5{animation:animate-svg-fill-5 .7s cubic-bezier(.47,0,.745,.715) 1.2s both}@keyframes animate-svg-fill-6{0%{fill:transparent}to{fill:#fff}}.svg-elem-6{animation:animate-svg-fill-6 .7s cubic-bezier(.47,0,.745,.715) 1.3s both}@keyframes animate-svg-fill-7{0%{fill:transparent}to{fill:#fff}}.svg-elem-7{animation:animate-svg-fill-7 .7s cubic-bezier(.47,0,.745,.715) 1.4s both}@keyframes animate-svg-fill-8{0%{fill:transparent}to{fill:#fff}}.svg-elem-8{animation:animate-svg-fill-8 .7s cubic-bezier(.47,0,.745,.715) 1.5s both}@keyframes animate-svg-fill-9{0%{fill:transparent}to{fill:#fff}}.svg-elem-9{animation:animate-svg-fill-9 .7s cubic-bezier(.47,0,.745,.715) 1.6s both}@keyframes animate-svg-fill-10{0%{fill:transparent}to{fill:#fff}}.svg-elem-10{animation:animate-svg-fill-10 .7s cubic-bezier(.47,0,.745,.715) 1.7s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.login-fade-in{animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) .3s both}@keyframes header-svg-reveal{0%{opacity:0}to{opacity:1}}.header-logo path{fill:currentColor}.header-logo .svg-elem-1{opacity:0;animation:header-svg-reveal .5s ease .3s both}.header-logo .svg-elem-2{opacity:0;animation:header-svg-reveal .5s ease .4s both}.header-logo .svg-elem-3{opacity:0;animation:header-svg-reveal .5s ease .5s both}.header-logo .svg-elem-4{opacity:0;animation:header-svg-reveal .5s ease .6s both}.header-logo .svg-elem-5{opacity:0;animation:header-svg-reveal .5s ease .7s both}.header-logo .svg-elem-6{opacity:0;animation:header-svg-reveal .5s ease .8s both}.header-logo .svg-elem-7{opacity:0;animation:header-svg-reveal .5s ease .9s both}.header-logo .svg-elem-8{opacity:0;animation:header-svg-reveal .5s ease 1s both}.header-logo .svg-elem-9{opacity:0;animation:header-svg-reveal .5s ease 1.1s both}.header-logo .svg-elem-10{opacity:0;animation:header-svg-reveal .5s ease 1.2s both}
