@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=DM+Sans:wght@400;500;600&display=swap";:root{--kb-offset: 0px;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--bg: #F5F1EC;--white: #ffffff;--blue: #79B5D1;--blue-light: #A1CBDF;--blue-dark: #5FA0BD;--blue-soft: #EEF6FB;--dark: #464646;--text: #464646;--text-muted: #7A7A7A;--text-light: #9A9A9A;--border: #ebebeb;--danger: #D14343;--danger-soft: #FCE8E8;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow: 0 2px 8px rgba(0, 0, 0, .04);--shadow-cta: 0 4px 12px rgba(121, 181, 209, .25);--shadow-lg: 0 8px 30px rgba(121, 181, 209, .12);--font-heading: "Cormorant Garamond", serif;--font-body: "DM Sans", sans-serif;--radius-sm: 16px;--radius-card: 24px;--radius-lg: 28px;--radius-pill: 999px}*{box-sizing:border-box;margin:0;padding:0}*:before,*:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;min-height:100dvh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea{font-family:inherit;font-size:inherit;color:inherit}.sticky-footer,.onboarding-footer{padding-bottom:calc(var(--safe-bottom) + var(--kb-offset));transition:padding-bottom .2s ease}.bottom-nav{bottom:calc(20px + var(--kb-offset))!important;transition:bottom .2s ease}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:500;color:var(--dark);letter-spacing:-.01em;line-height:1.1}h1 em,h2 em,h3 em{color:var(--blue);font-style:italic;font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:600;font-size:16px;padding:16px 24px;border-radius:var(--radius-pill);background:var(--blue);color:var(--white);box-shadow:var(--shadow-cta);transition:background .15s ease,transform .1s ease,box-shadow .15s ease;cursor:pointer;border:none}.btn:hover{background:var(--blue-dark)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[disabled]{background:#d9d9d9;color:#999;box-shadow:none;cursor:default}.btn-secondary{background:transparent;color:var(--blue);border:1.5px solid var(--blue);box-shadow:none}.btn-secondary:hover{background:var(--blue-soft)}.btn-danger{background:transparent;color:var(--danger);border:1.5px solid var(--danger);box-shadow:none}.btn-danger:hover{background:var(--danger-soft)}.label-caps{font-family:var(--font-body);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-weight:500}.card{background:var(--white);border-radius:20px;padding:20px;box-shadow:var(--shadow)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes typingDot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.skeleton{background:linear-gradient(90deg,#ececec,#f6f6f6,#ececec);background-size:200% 100%;animation:shimmer 1.4s linear infinite}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important}}
