@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--ink:#171a21;--muted:#777f8e;--line:#e4e7ed;--paper:#f7f8fa;--white:#fff;--accent:#cbd3df;--ease:cubic-bezier(.2,.75,.25,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
::selection{background:#dce5f3;color:#151923}
.site-header{height:88px;max-width:1320px;padding:0 42px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5}
.brand{display:inline-flex;align-items:center;gap:11px;font-family:'Manrope',sans-serif;font-size:1.25rem;font-weight:800;letter-spacing:-.075em}
.brand-light{font-weight:500;color:#737b89}
.brand-mark{width:27px;height:27px;display:flex;align-items:center;justify-content:center;gap:2px;border:1px solid #d5dae3;border-radius:9px;background:linear-gradient(145deg,#fff,#e3e7ed);box-shadow:inset 1px 1px 1px white,2px 3px 6px #18202b14;transform:rotate(-4deg)}
.brand-mark span{display:block;width:3px;border-radius:4px;background:linear-gradient(#7f8a9b,#222b39)}
.brand-mark span:nth-child(1){height:8px}.brand-mark span:nth-child(2){height:14px}.brand-mark span:nth-child(3){height:10px}
.header-actions{display:flex;align-items:center;gap:25px}
.nav-link{font-size:.86rem;color:#606775;transition:color .2s}
.nav-link:hover,.text-link:hover{color:#11151c}
.nav-link strong{color:var(--ink);font-weight:600}
.button{min-height:50px;padding:0 21px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:18px;font-size:.9rem;font-weight:600;transition:transform .2s var(--ease),box-shadow .2s,border-color .2s;cursor:pointer;border:1px solid transparent}
.button:hover{transform:translateY(-2px)}
.button:active{transform:translateY(0)}
.button-dark{color:#fff;background:linear-gradient(120deg,#292d35,#111318);box-shadow:0 7px 18px #11131820,inset 0 1px #ffffff24}
.button-dark:hover{box-shadow:0 10px 24px #1113182b}
.button-dark span{font-size:1.1rem;font-weight:400}
.button-small{min-height:42px;padding:0 16px;border-radius:10px;font-size:.82rem}
.button-full{width:100%;margin-top:8px}
.eyebrow,.aside-kicker{font-size:.68rem;letter-spacing:.13em;font-weight:700;color:#7a8392;display:flex;align-items:center;gap:9px}
.status-dot{width:7px;height:7px;background:#8da99b;border-radius:50%;box-shadow:0 0 0 4px #8da99b1c;display:inline-block}
.hero{max-width:1320px;margin:0 auto;min-height:650px;padding:70px 42px 74px;display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:34px;overflow:hidden}
.hero-copy{position:relative;z-index:2;padding:0 0 18px}
.hero h1,.auth-aside h1{font-family:'Manrope',sans-serif;font-size:clamp(3.5rem,6.4vw,6.3rem);line-height:.99;letter-spacing:-.085em;font-weight:600;margin:26px 0 24px}
.heading-muted{color:#a6adb9}
.hero-description{font-size:1.02rem;color:#707887;line-height:1.75;max-width:365px;margin:0}
.hero-actions{display:flex;align-items:center;gap:23px;margin-top:32px;flex-wrap:wrap}
.text-link{font-size:.85rem;color:#636b79;transition:color .2s}
.text-link span{margin-left:5px}
.hero-note{display:flex;align-items:center;gap:11px;margin-top:62px;font-size:.74rem;color:#969daa;letter-spacing:.02em}
.note-line{height:1px;width:28px;background:#c5cbd5}
.hero-visual{min-height:490px;position:relative;display:flex;align-items:center;justify-content:center;perspective:1200px}
.visual-glow{position:absolute;width:80%;height:80%;border-radius:50%;background:radial-gradient(ellipse,#e1e6ef 0%,#eff1f5 44%,transparent 73%);filter:blur(9px)}
.preview-window{width:min(100%,510px);position:relative;z-index:1;border:1px solid #d9dee7;border-radius:19px;background:linear-gradient(145deg,#ffffffed,#f7f8faed);box-shadow:0 34px 80px #252f4214,0 8px 20px #252f420d,inset 0 1px white;overflow:hidden;transform:rotateY(-7deg) rotateX(2deg);animation:float-in .9s var(--ease) both}
.preview-topbar{height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border-bottom:1px solid #e9ebf0;color:#a1a8b4;font-size:.55rem;letter-spacing:.12em}
.window-dots{display:flex;gap:4px}.window-dots i{height:5px;width:5px;border-radius:50%;background:#d1d6df}.window-dots i:first-child{background:#aab6c7}
.preview-menu{letter-spacing:2px}
.preview-content{padding:27px 29px 18px}
.preview-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.micro-label{font-size:.58rem;letter-spacing:.13em;color:#9199a7;font-weight:700}
.preview-heading h2{font-family:'Manrope',sans-serif;font-size:1.3rem;letter-spacing:-.05em;margin:7px 0 0}
.avatar,.user-avatar{display:grid;place-items:center;width:35px;height:35px;border-radius:12px;background:linear-gradient(145deg,#fff,#e1e5ed);border:1px solid #e0e4eb;box-shadow:2px 3px 8px #1b25300c;font-size:.85rem;font-weight:700}
.preview-stat{padding:17px 18px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(110deg,#f4f6f9,#fff);border:1px solid #e8ebf1;border-radius:13px;margin-bottom:13px}
.preview-stat strong{display:block;font-family:'Manrope',sans-serif;font-size:2.2rem;line-height:1.1;letter-spacing:-.08em;margin-top:6px}
.stat-trend{font-size:.66rem;color:#718d7e;background:#eaf1ec;border-radius:8px;padding:7px 9px}
.stat-trend span{font-size:.85rem;margin-right:3px}
.preview-goal{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #eceef2}
.goal-icon{height:34px;width:34px;display:grid;place-items:center;flex-shrink:0;border-radius:11px;font-size:1rem}
.goal-icon-blue{background:#e8eef8;color:#617da9}.goal-icon-lilac{background:#f0eaf8;color:#987bb7}.goal-icon-green{background:#e8f1e9;color:#789a80}
.goal-info{flex:1;min-width:0}.goal-info strong{display:block;font-size:.74rem;font-weight:600}.goal-info>span{display:block;font-size:.63rem;color:#979eaa;margin-top:4px}
.progress-track{height:3px;border-radius:5px;background:#e8ebf0;margin-top:9px;overflow:hidden}.progress-track span{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#a4b2c7,#647c9e)}
.goal-percent{font-size:.68rem;color:#818a98}
.preview-footer{display:flex;align-items:center;gap:8px;color:#9ba2ad;font-size:.64rem;padding-top:17px}
.footer-orb{height:6px;width:6px;border-radius:50%;background:#91ab9b}
.floating-chip{position:absolute;z-index:2;right:-4px;bottom:42px;display:flex;align-items:center;gap:10px;padding:12px 16px 12px 12px;border:1px solid #e3e6ec;border-radius:14px;background:#ffffffeb;box-shadow:0 14px 36px #202b3c16;animation:chip-in .8s .3s both}
.chip-check{display:grid;place-items:center;width:29px;height:29px;border-radius:10px;background:#e8f0e9;color:#62836e;font-size:.9rem}
.floating-chip strong,.floating-chip small{display:block}.floating-chip strong{font-size:.72rem}.floating-chip small{font-size:.62rem;color:#8a929f;margin-top:3px}
.orbit{position:absolute;border:1px solid #dfe3eb;border-radius:50%;pointer-events:none}.orbit-one{width:480px;height:480px;animation:orbit-spin 60s linear infinite}.orbit-two{width:560px;height:560px;border-style:dashed;opacity:.65;animation:orbit-spin 90s linear infinite reverse}
.home-bottom{max-width:1236px;margin:0 auto;padding:22px 0 25px;border-top:1px solid #e7e9ee;display:flex;align-items:center;gap:26px;color:#9ba2ad;font-size:.62rem;letter-spacing:.12em}
.home-bottom>span:first-child{font-weight:700;color:#737c8a}.bottom-rule{height:1px;background:#e1e4ea;flex:1}
.site-footer{max-width:1236px;margin:0 auto;padding:21px 0 25px;display:flex;justify-content:space-between;gap:16px;color:#a1a7b1;font-size:.69rem;border-top:1px solid #e9ebf0}
.page-home .site-footer{border-top:0}
.page-auth{min-height:100vh;background:linear-gradient(120deg,#f4f5f7,#fafbfc 56%,#f0f2f6);display:flex;flex-direction:column}
.auth-header{width:100%}
.auth-layout{width:min(1080px,calc(100% - 64px));margin:auto;flex:1;display:grid;grid-template-columns:1fr .88fr;align-items:center;gap:clamp(35px,8vw,115px);padding:25px 0 60px}
.auth-aside{position:relative;min-height:500px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.auth-aside h1{font-size:clamp(3.6rem,6vw,5.7rem);margin:25px 0 20px}
.auth-aside>p{color:#747d8c;font-size:.96rem}
.aside-decoration{position:absolute;width:260px;height:260px;left:220px;bottom:-105px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#fafbfc,#e5e8ee);box-shadow:inset 3px 3px 8px #fff,inset -8px -8px 20px #d6dbe4,10px 15px 35px #1a24310b;color:#c3c9d3;font-family:'Manrope',sans-serif;font-size:2.3rem;font-weight:800;letter-spacing:-.1em}
.aside-decoration>span span{color:#8d98a8}
.deco-ring{position:absolute;inset:17px;border-radius:50%;border:1px solid #d8dde6}
.deco-ring-inner{inset:31px;border-style:dashed;opacity:.75;animation:orbit-spin 45s linear infinite}
.auth-panel{background:#ffffffc9;border:1px solid #e4e7ed;border-radius:24px;padding:clamp(27px,4vw,43px);box-shadow:0 25px 70px #2834470b,inset 0 1px #fff;backdrop-filter:blur(16px);animation:rise-in .65s var(--ease) both}
.auth-panel-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:30px}
.secure-label{font-size:.67rem;color:#929aa7}
.auth-panel h2{font-family:'Manrope',sans-serif;font-size:2rem;letter-spacing:-.065em;margin:0}
.form-intro{color:#7f8794;font-size:.84rem;margin:9px 0 26px}
.auth-form{display:flex;flex-direction:column;gap:9px}
.auth-form label{font-size:.76rem;font-weight:600;margin-top:7px;display:flex;justify-content:space-between;gap:10px}
.auth-form input{width:100%;height:48px;border:1px solid #e0e4eb;border-radius:10px;background:#fafbfc;padding:0 13px;color:var(--ink);font-size:.84rem;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.auth-form input::placeholder{color:#a7aeba}
.auth-form input:focus{border-color:#9caabd;background:#fff;box-shadow:0 0 0 4px #cfd8e522}
.auth-form .button{margin-top:14px}
.label-row{display:flex;justify-content:space-between;align-items:center}
.label-hint{font-size:.65rem;color:#969eaa;font-weight:400}
.auth-switch{text-align:center;font-size:.77rem;color:#7b8390;margin:23px 0 0}
.auth-switch a{font-weight:700;color:#252a33}.auth-switch a span{margin-left:3px}
.back-home{display:block;text-align:center;color:#9aa1ac;font-size:.73rem;margin-top:24px;transition:color .2s}.back-home:hover{color:#343b47}
.form-alert{border:1px solid #efd6d6;background:#fff4f3;color:#a34c4c;padding:11px 13px;border-radius:10px;font-size:.78rem;margin-bottom:17px;line-height:1.45}
.page-signup .auth-layout{padding-top:10px;padding-bottom:35px}
.page-signup .auth-aside{min-height:580px}
.page-signup .auth-panel-top{margin-bottom:22px}
.page-signup .form-intro{margin-bottom:18px}
.page-signup .auth-form{gap:7px}
.page-signup .auth-form input{height:44px}
.page-signup .auth-form .button{margin-top:11px}
.page-signup .auth-switch{margin-top:17px}
.page-signup .back-home{margin-top:16px}
.dashboard-header{max-width:100%;padding:0 max(34px,calc((100vw - 1180px)/2));border-bottom:1px solid #e7e9ee;background:#ffffff9c;backdrop-filter:blur(15px)}
.user-pill{display:flex;align-items:center;gap:9px;font-size:.8rem;color:#626b79}
.user-avatar{width:29px;height:29px;border-radius:10px;font-size:.75rem}
.date-chip{border:1px solid #e0e4eb;border-radius:10px;padding:10px 13px;background:#fff;color:#7d8593;font-size:.75rem;letter-spacing:.04em}
@keyframes rise-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes float-in{from{opacity:0;transform:translateY(15px) rotateY(-7deg) rotateX(2deg)}to{opacity:1;transform:translateY(0) rotateY(-7deg) rotateX(2deg)}}
@keyframes chip-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes orbit-spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.site-header{padding:0 25px}.hero{grid-template-columns:1fr;gap:15px;padding:55px 28px 35px}.hero-copy{padding-left:8px}.hero h1{font-size:clamp(3.5rem,10vw,5.7rem)}.hero-note{margin-top:35px}.hero-visual{min-height:480px}.preview-window{width:min(88%,510px)}.floating-chip{right:2%}.orbit-one{width:420px;height:420px}.orbit-two{width:490px;height:490px}.home-bottom{margin:0 28px}.auth-layout{grid-template-columns:.75fr 1fr;gap:30px;width:calc(100% - 48px)}.auth-aside h1{font-size:clamp(3rem,6vw,4.6rem)}.aside-decoration{left:100px}.auth-panel{padding:27px}}
@media(max-width:620px){.site-header{height:72px;padding:0 20px}.brand{font-size:1.15rem}.header-actions{gap:14px}.header-actions>.nav-link{font-size:.78rem}.button-small{padding:0 11px;min-height:38px;font-size:.76rem}.hero{padding:48px 20px 22px}.hero h1{font-size:clamp(3.2rem,13vw,4.7rem)}.hero-description{font-size:.94rem}.hero-actions{gap:17px}.hero-visual{min-height:390px;margin:0 -12px}.preview-window{width:94%;border-radius:15px}.preview-content{padding:20px 17px 14px}.preview-topbar{height:38px}.preview-heading h2{font-size:1.1rem}.preview-stat{padding:13px}.preview-stat strong{font-size:1.8rem}.goal-icon{height:30px;width:30px}.goal-info strong{font-size:.68rem}.floating-chip{right:0;bottom:16px;padding:9px 11px}.orbit-one{width:330px;height:330px}.orbit-two{width:385px;height:385px}.home-bottom{margin:0 20px;gap:12px;font-size:.52rem;flex-wrap:wrap}.home-bottom .bottom-rule{min-width:30px}.site-footer{margin:0 20px;font-size:.64rem}.auth-header .nav-link{font-size:.72rem}.auth-layout{width:calc(100% - 32px);grid-template-columns:1fr;padding:18px 0 35px;gap:22px}.auth-aside{min-height:190px;padding:15px 9px 5px}.auth-aside h1{font-size:3.2rem;margin:16px 0 10px}.auth-aside>p{margin:0;font-size:.85rem}.aside-decoration{width:150px;height:150px;left:auto;right:0;bottom:-65px;font-size:1.6rem}.deco-ring{inset:10px}.deco-ring-inner{inset:20px}.auth-panel{padding:24px 20px;border-radius:19px}.auth-panel-top{margin-bottom:22px}.page-signup .auth-aside{min-height:180px}.page-signup .auth-aside h1{font-size:3rem}.page-signup .auth-layout{padding-top:8px}.page-signup .auth-panel-top{margin-bottom:18px}.secure-label{font-size:.6rem}.dashboard-header{padding:0 18px}.dashboard-header .header-actions{gap:11px}.user-pill{font-size:.72rem}.dashboard-main{padding:34px 16px 50px}.dashboard-heading h1{font-size:2.65rem}.dashboard-heading{margin-bottom:24px}.dash-card{padding:18px}.site-footer{padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
