.ios-banner{z-index:9999;background:#1e1b2e;border:1px solid #a78bfa40;border-radius:1rem;align-items:center;gap:.75rem;padding:.875rem 1rem;display:flex;position:fixed;bottom:1rem;left:1rem;right:1rem;box-shadow:0 8px 32px #00000080}.ios-banner__icon{border-radius:8px;flex-shrink:0}.ios-banner__text{flex:1}.ios-banner__title{color:#fff;margin:0 0 .2rem;font-size:.875rem;font-weight:600}.ios-banner__sub{color:#94a3b8;margin:0;font-size:.78rem}.ios-banner__share{font-size:1rem}.ios-banner__close{color:#94a3b8;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.25rem}.ios-banner__close:hover{color:#fff}:root{--bg:#0a0a0f;--bg-card:#13131a;--border:#ffffff14;--border-light:#ffffff0d;--text:#e2e8f0;--text-muted:#94a3b8;--text-dim:#64748b;--text-dimmer:#475569;--violet:#7c3aed;--violet-mid:#8b5cf6;--violet-light:#a78bfa;--purple-dark:#6d28d9;--purple-light:#c084fc;--fuchsia-light:#e879f9;--teal-light:#2dd4bf;--emerald-light:#34d399}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg);color:var(--text);min-height:100vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}ul{list-style:none}.grad-violet{background:linear-gradient(to right, var(--violet-light), var(--purple-light), var(--fuchsia-light));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.grad-teal{background:linear-gradient(to right, var(--teal-light), var(--emerald-light));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{cursor:pointer;border:none;border-radius:9999px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:linear-gradient(to right, var(--violet), var(--purple-dark));color:#fff;box-shadow:0 8px 24px #7c3aed4d}.btn-primary:hover{background:linear-gradient(to right, var(--violet-mid), var(--violet));transform:translateY(-1px);box-shadow:0 8px 28px #7c3aed73}.btn-secondary{color:#cbd5e1;background:0 0;border:1px solid #ffffff1f}.btn-secondary:hover{color:#fff;border-color:#ffffff40;transform:translateY(-1px)}.navbar{z-index:100;transition:background .3s,border-color .3s,box-shadow .3s;position:fixed;top:0;left:0;right:0}.navbar--scrolled{-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border-light);background:#0a0a0fe0;box-shadow:0 4px 24px #00000040}.navbar__inner{justify-content:space-between;align-items:center;max-width:72rem;height:64px;margin:0 auto;padding:0 1.5rem;display:flex}.navbar__logo{align-items:center;gap:.5rem;display:flex}.navbar__logo-icon{background:linear-gradient(135deg, var(--violet-mid), var(--purple-dark));border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:box-shadow .2s;display:flex;box-shadow:0 4px 14px #7c3aed59}.navbar__logo:hover .navbar__logo-icon{box-shadow:0 4px 20px #7c3aed8c}.navbar__beta{color:var(--violet-light);letter-spacing:.04em;text-transform:uppercase;background:#7c3aed26;border:1px solid #7c3aed4d;border-radius:.375rem;align-self:center;padding:.15rem .4rem;font-size:.6rem;font-weight:600}.navbar__logo-text{color:#fff;letter-spacing:-.02em;font-size:1.125rem;font-weight:700}.navbar__nav{align-items:center;gap:2rem;display:flex}.navbar__nav-link{color:var(--text-muted);font-size:.875rem;transition:color .2s}.navbar__nav-link:hover{color:#fff}.navbar__actions{align-items:center;gap:.5rem;display:flex}.navbar__signin{color:var(--text-muted);padding:.5rem 1rem;font-size:.875rem;transition:color .2s}.navbar__signin:hover{color:#fff}.navbar__cta{background:linear-gradient(to right, var(--violet), var(--purple-dark));color:#fff;border-radius:9999px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s;box-shadow:0 4px 14px #7c3aed40}.navbar__cta:hover{background:linear-gradient(to right, var(--violet-mid), var(--violet));box-shadow:0 4px 20px #7c3aed73}.navbar__toggle{color:var(--text-muted);padding:4px;transition:color .2s}.navbar__toggle:hover{color:#fff}.navbar__mobile{border-top:1px solid var(--border-light);background:#0d0d15;flex-direction:column;gap:1rem;padding:1rem 1.5rem;display:flex}.navbar__mobile-link{color:#cbd5e1;padding:.25rem 0;transition:color .2s}.navbar__mobile-link:hover{color:#fff}.navbar__mobile-cta{text-align:center;background:linear-gradient(to right, var(--violet), var(--purple-dark));color:#fff;border-radius:9999px;margin-top:.5rem;padding:.625rem 1.25rem;font-weight:500;display:block}@media (width>=1024px){.navbar__nav,.navbar__actions{display:flex}.navbar__toggle{display:none}}@media (width<=1023px){.navbar__nav,.navbar__actions{display:none}.navbar__toggle{display:block}}.hero{padding:7rem 0 5rem;position:relative;overflow:hidden}.hero__glows{pointer-events:none;position:absolute;inset:0}.hero__glow{filter:blur(100px);border-radius:50%;position:absolute}.hero__glow--1{background:#7c3aed33;width:22rem;height:22rem;top:20%;left:20%}.hero__glow--2{background:#6d28d926;width:18rem;height:18rem;bottom:20%;right:20%}.hero__grid-bg{opacity:.03;pointer-events:none;background-image:linear-gradient(#8b5cf6 1px,#0000 1px),linear-gradient(90deg,#8b5cf6 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0}.hero__content{grid-template-columns:1fr;align-items:center;gap:3rem;max-width:72rem;margin:0 auto;padding:0 1.5rem;display:grid;position:relative}@media (width>=1024px){.hero__content{grid-template-columns:1fr 1fr}}.hero__pill{color:#c4b5fd;background:#7c3aed1a;border:1px solid #7c3aed38;border-radius:9999px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.375rem 1rem;font-size:.75rem;font-weight:500;display:inline-flex}.hero__heading{color:#fff;letter-spacing:-.03em;margin-bottom:1.25rem;font-size:2.5rem;font-weight:800;line-height:1.1}.hero__body{color:var(--text-muted);max-width:32rem;margin-bottom:2rem;font-size:1rem;line-height:1.7}.hero__badges{flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;display:flex}.hero__badge{color:var(--text-muted);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:9999px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;display:flex}.hero__badge-icon{color:var(--violet-light);display:flex}.hero__ctas{flex-wrap:wrap;gap:.75rem;display:flex}.hero__preview{display:none;position:relative}@media (width>=1024px){.hero__preview{display:block}.hero__heading{font-size:3.5rem}}@media (width>=640px){.hero__heading{font-size:3rem}}.hero__preview-glow{filter:blur(40px);background:#7c3aed1a;border-radius:1.5rem;position:absolute;inset:-8%}.chat-card{background:var(--bg-card);border:1px solid #ffffff1a;border-radius:1.5rem;padding:1.5rem;position:relative;box-shadow:0 24px 60px #00000073}.chat-card__header{border-bottom:1px solid var(--border-light);align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.chat-card__avatar{background:linear-gradient(135deg, var(--violet-mid), var(--purple-dark));border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 4px 14px #7c3aed4d}.chat-card__name{color:#fff;font-size:.875rem;font-weight:600}.chat-card__status{align-items:center;gap:.375rem;margin-top:3px;display:flex}.chat-card__dot{background:#34d399;border-radius:50%;width:6px;height:6px;animation:2s infinite pulse-dot}.chat-card__status-text{color:var(--text-dim);font-size:.7rem}.chat-messages{flex-direction:column;gap:.75rem;display:flex}.chat-row{display:flex}.chat-row--user{justify-content:flex-end}.chat-row--ai{justify-content:flex-start}.chat-bubble{border-radius:1rem;max-width:80%;padding:.625rem 1rem;font-size:.875rem;line-height:1.5}.chat-bubble--ai{color:#cbd5e1;border:1px solid var(--border);background:#ffffff0d;border-top-left-radius:4px}.chat-bubble--user{background:linear-gradient(135deg, var(--violet), var(--purple-dark));color:#fff;border-top-right-radius:4px}.chat-typing{display:flex}.chat-typing__bubble{border:1px solid var(--border);background:#ffffff0d;border-radius:4px 1rem 1rem;align-items:center;gap:4px;padding:.75rem 1rem;display:flex}.chat-typing__dot{background:var(--violet-light);border-radius:50%;width:6px;height:6px;animation:1s infinite bounce-dot}.chat-typing__dot:nth-child(2){animation-delay:.15s}.chat-typing__dot:nth-child(3){animation-delay:.3s}.chat-input{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:1rem;align-items:center;gap:.75rem;margin-top:1rem;padding:.75rem 1rem;display:flex}.chat-input__placeholder{color:var(--text-dimmer);flex:1;font-size:.875rem}.chat-input__btn{background:linear-gradient(135deg, var(--violet), var(--purple-dark));border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:opacity .2s;display:flex;box-shadow:0 2px 10px #7c3aed4d}.chat-input__btn:hover{opacity:.85}.mood-section{padding:5rem 0;position:relative;overflow:hidden}.mood-section__glow{filter:blur(100px);pointer-events:none;background:#0d948814;border-radius:50%;width:28rem;height:28rem;position:absolute;top:50%;right:-4rem;transform:translateY(-50%)}.mood-section__content{grid-template-columns:1fr;align-items:center;gap:3rem;max-width:72rem;margin:0 auto;padding:0 1.5rem;display:grid;position:relative}@media (width>=1024px){.mood-section__content{grid-template-columns:1fr 1fr}}.mood-copy__label{color:var(--teal-light);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.75rem;font-size:.7rem;font-weight:600}.mood-copy__heading{color:#fff;letter-spacing:-.03em;margin-bottom:1.25rem;font-size:2rem;font-weight:800;line-height:1.15}@media (width>=640px){.mood-copy__heading{font-size:2.5rem}}@media (width>=1024px){.mood-copy__heading{font-size:3rem}}.mood-copy__body{color:var(--text-muted);max-width:28rem;margin-bottom:2rem;font-size:1rem;line-height:1.7}.mood-copy__list{flex-direction:column;gap:.75rem;display:flex}.mood-copy__item{color:#cbd5e1;align-items:center;gap:.75rem;font-size:.875rem;display:flex}.mood-copy__item-dot{background:#2dd4bf1f;border:1px solid #2dd4bf47;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.mood-copy__item-inner{background:var(--teal-light);border-radius:50%;width:6px;height:6px}.mood-card-wrap{position:relative}.mood-card-glow{filter:blur(40px);background:#2dd4bf0a;border-radius:1.5rem;position:absolute;inset:-8%}.mood-card{background:var(--bg-card);border:1px solid var(--border);border-radius:1.5rem;padding:1.5rem;position:relative;box-shadow:0 24px 60px #0006}.mood-card__header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;display:flex}.mood-card__title{color:#fff;font-size:1rem;font-weight:600}.mood-card__date{color:var(--text-dim);margin-top:3px;font-size:.7rem}.mood-card__trend{color:var(--teal-light);white-space:nowrap;background:#2dd4bf1a;border:1px solid #2dd4bf33;border-radius:9999px;padding:.25rem .75rem;font-size:.7rem}.mood-chart{align-items:flex-end;gap:.5rem;height:8rem;margin-bottom:1rem;display:flex}.mood-bar-group{flex-direction:column;flex:1;align-items:center;gap:.375rem;height:100%;display:flex}.mood-bar-emoji{font-size:1rem;line-height:1}.mood-bar-track{flex:1;align-items:flex-end;width:100%;display:flex}.mood-bar{opacity:.85;border-radius:4px 4px 0 0;width:100%;transition:opacity .2s}.mood-bar:hover{opacity:1}.mood-bar--1{background:#ef4444}.mood-bar--2{background:#f97316}.mood-bar--3{background:#f59e0b}.mood-bar--4{background:#2dd4bf}.mood-bar--5{background:#34d399}.mood-bar-day{color:var(--text-dim);font-size:.6rem}.mood-legend{border-top:1px solid var(--border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding-top:1rem;display:flex}.mood-legend__items{flex-wrap:wrap;gap:.5rem;display:flex}.mood-legend__item{align-items:center;gap:4px;display:flex}.mood-legend__dot{border-radius:50%;width:8px;height:8px}.mood-legend__label{color:var(--text-dim);font-size:.6rem}.mood-legend__avg{color:var(--text-dim);font-size:.75rem}.mood-checkin{border:1px solid var(--border);background:#ffffff08;border-radius:1rem;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;padding:.75rem 1rem;display:flex}.mood-checkin__title{color:#fff;font-size:.875rem;font-weight:500}.mood-checkin__sub{color:var(--text-dim);margin-top:2px;font-size:.7rem}.mood-checkin__btns{flex-shrink:0;gap:.5rem;display:flex}.mood-checkin__btn{background:#ffffff0d;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;transition:all .15s;display:flex}.mood-checkin__btn:hover{background:#ffffff1a;transform:scale(1.1)}.footer{border-top:1px solid var(--border-light);padding:3rem 0 2rem}.footer__inner{max-width:72rem;margin:0 auto;padding:0 1.5rem}.footer__grid{grid-template-columns:1fr;gap:2.5rem;margin-bottom:2.5rem;display:grid}@media (width>=640px){.footer__grid{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}}@media (width>=768px){.footer__grid{grid-template-columns:2fr 1fr 1fr}.footer__brand{grid-column:auto}}.footer__logo-row{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.footer__logo-icon{background:linear-gradient(135deg, var(--violet-mid), var(--purple-dark));border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;box-shadow:0 4px 14px #7c3aed4d}.footer__logo-text{color:#fff;font-size:1.125rem;font-weight:700}.footer__tagline{color:var(--text-dimmer);max-width:18rem;font-size:.875rem;line-height:1.6}.footer__socials{gap:.75rem;margin-top:1.5rem;display:flex}.footer__social{border:1px solid var(--border);width:36px;height:36px;color:var(--text-dim);background:#ffffff0a;border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:flex}.footer__social:hover{color:#fff;background:#ffffff17}.footer__col-title{color:#fff;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;font-size:.7rem;font-weight:600}.footer__links{flex-direction:column;gap:.625rem;display:flex}.footer__link{color:var(--text-dimmer);font-size:.875rem;transition:color .2s}.footer__link:hover{color:#cbd5e1}.footer__bottom{border-top:1px solid var(--border-light);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding-top:1.5rem;display:flex}@media (width>=640px){.footer__bottom{text-align:left;flex-direction:row;justify-content:space-between}}.footer__copy{color:var(--text-dimmer);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.footer__beta{color:var(--violet-light);letter-spacing:.04em;text-transform:uppercase;background:#7c3aed1f;border:1px solid #7c3aed40;border-radius:.375rem;padding:.15rem .4rem;font-size:.6rem;font-weight:600}.footer__disclaimer{color:#334155;font-size:.75rem}@keyframes bounce-dot{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;position:relative;overflow:hidden}.auth-glow{pointer-events:none;filter:blur(100px);border-radius:50%;position:absolute}.auth-glow--1{background:#7c3aed2e;width:28rem;height:28rem;top:-4rem;left:-4rem}.auth-glow--2{background:#6d28d91f;width:22rem;height:22rem;bottom:-4rem;right:-4rem}.auth-card{background:#111118;border:1px solid #ffffff14;border-radius:1.5rem;width:100%;max-width:420px;padding:2.25rem 2rem;position:relative;box-shadow:0 32px 80px #00000080}.auth-logo{align-items:center;gap:.5rem;margin-bottom:2rem;text-decoration:none;display:inline-flex}.auth-logo__icon{background:linear-gradient(135deg, var(--violet-mid), var(--purple-dark));border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;display:flex;box-shadow:0 4px 14px #7c3aed59}.auth-logo__text{color:#fff;letter-spacing:-.02em;font-size:1.125rem;font-weight:700}.auth-card__head{margin-bottom:1.75rem}.auth-card__title{color:#fff;letter-spacing:-.02em;margin-bottom:.375rem;font-size:1.5rem;font-weight:700}.auth-card__sub{color:var(--text-muted);font-size:.875rem}.auth-form{flex-direction:column;gap:1.125rem;margin-bottom:1.25rem;display:flex}.auth-field{flex-direction:column;gap:.375rem;display:flex}.auth-label-row{justify-content:space-between;align-items:center;display:flex}.auth-label{color:#cbd5e1;font-size:.8rem;font-weight:500}.auth-forgot{color:var(--violet-light);font-size:.75rem;text-decoration:none;transition:color .2s}.auth-forgot:hover{color:var(--purple-light)}.auth-input-wrap{position:relative}.auth-input{color:#fff;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:.75rem;outline:none;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.auth-input::placeholder{color:var(--text-dimmer)}.auth-input:focus{border-color:#7c3aed80;box-shadow:0 0 0 3px #7c3aed1f}.auth-input--icon{padding-right:2.75rem}.auth-input__eye{color:var(--text-dim);align-items:center;transition:color .2s;display:flex;position:absolute;top:50%;right:.875rem;transform:translateY(-50%)}.auth-input__eye:hover{color:#fff}.auth-error{color:#f87171;background:#f8717114;border:1px solid #f8717133;border-radius:.625rem;padding:.625rem .875rem;font-size:.8rem}.auth-submit{background:linear-gradient(to right, var(--violet), var(--purple-dark));color:#fff;cursor:pointer;border:none;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.25rem;padding:.8rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 6px 20px #7c3aed4d}.auth-submit:hover{background:linear-gradient(to right, var(--violet-mid), var(--violet));transform:translateY(-1px);box-shadow:0 6px 24px #7c3aed73}.auth-switch{color:var(--text-muted);text-align:center;margin-bottom:1rem;font-size:.8rem}.auth-terms{color:var(--text-dim);text-align:center;margin-bottom:1rem;font-size:.75rem;line-height:1.5}.auth-switch__link{color:var(--violet-light);font-weight:500;text-decoration:none;transition:color .2s}.auth-switch__link:hover{color:var(--purple-light)}.auth-badge{color:var(--text-dimmer);justify-content:center;align-items:center;gap:.375rem;margin-top:.5rem;font-size:.7rem;display:flex}.dashboard{background:var(--bg);height:100vh;display:flex;overflow:hidden}.dash-overlay{z-index:40;background:#00000080;position:fixed;inset:0}.dash-sidebar{border-right:1px solid var(--border-light);z-index:50;background:#0d0d14;flex-direction:column;flex-shrink:0;width:260px;transition:transform .25s;display:flex;overflow:hidden}.dash-sidebar__top{flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1rem .75rem;display:flex}.dash-sidebar__logo{align-items:center;gap:.5rem;display:flex}.dash-sidebar__logo-icon{background:linear-gradient(135deg, var(--violet-mid), var(--purple-dark));border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex;box-shadow:0 3px 10px #7c3aed4d}.dash-sidebar__logo-text{color:#fff;font-size:1rem;font-weight:700}.dash-sidebar__close{color:var(--text-dim);padding:4px;transition:color .2s;display:none}.dash-sidebar__close:hover{color:#fff}.dash-new-chat{background:linear-gradient(to right, var(--violet), var(--purple-dark));color:#fff;border-radius:.625rem;flex-shrink:0;align-items:center;gap:.5rem;margin:.5rem .75rem .75rem;padding:.625rem 1rem;font-size:.8rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 14px #7c3aed40}.dash-new-chat:hover{background:linear-gradient(to right, var(--violet-mid), var(--violet));box-shadow:0 4px 18px #7c3aed66}.dash-new-chat:disabled{opacity:.6}.dash-chat-list{scrollbar-width:thin;scrollbar-color:#ffffff14 transparent;flex:1;padding:0 .5rem;overflow-y:auto}.dash-sidebar__hint{color:var(--text-dimmer);text-align:center;padding:1.5rem 1rem;font-size:.75rem}.dash-chat-item{text-align:left;border-radius:.625rem;align-items:center;gap:.5rem;width:100%;margin-bottom:2px;padding:.625rem .75rem;transition:background .15s;display:flex}.dash-chat-item:hover{background:#ffffff0a}.dash-chat-item--active{background:#7c3aed1f}.dash-chat-item--active:hover{background:#7c3aed29}.dash-chat-item__icon{color:var(--text-dim);flex-shrink:0}.dash-chat-item--active .dash-chat-item__icon{color:var(--violet-light)}.dash-chat-item__body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.dash-chat-item__preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.dash-chat-item--active .dash-chat-item__preview{color:#e2e8f0}.dash-chat-item__time{color:var(--text-dimmer);font-size:.65rem}.dash-chat-item__delete{width:22px;height:22px;color:var(--text-dimmer);opacity:0;border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,color .15s,background .15s;display:flex}.dash-chat-item:hover .dash-chat-item__delete{opacity:1}.dash-chat-item__delete:hover{color:#ef4444;background:#ef44441a}.dash-sidebar__bottom{border-top:1px solid var(--border-light);flex-direction:column;flex-shrink:0;gap:.625rem;padding:.75rem;display:flex}.dash-nav-btn{width:100%;color:var(--text-muted);text-align:left;border-radius:.625rem;align-items:center;gap:.625rem;padding:.625rem .75rem;font-size:.8rem;transition:all .15s;display:flex}.dash-nav-btn:hover{color:#fff;background:#ffffff0a}.dash-nav-btn--active{color:var(--teal-light);background:#14b8a61a}.dash-nav-btn--active:hover{background:#14b8a624}.dash-usage{border:1px solid var(--border-light);background:#ffffff05;border-radius:.625rem;padding:.625rem .75rem}.dash-usage__row{justify-content:space-between;align-items:center;margin-bottom:.375rem;display:flex}.dash-usage__label{color:var(--text-dim);font-size:.7rem}.dash-usage__count{color:#e2e8f0;font-size:.7rem;font-weight:600}.dash-usage__track{background:#ffffff12;border-radius:9999px;height:4px;margin-bottom:.375rem;overflow:hidden}.dash-usage__fill{border-radius:9999px;height:100%;transition:width .4s}.dash-usage__remaining{color:var(--text-dimmer);font-size:.65rem}.dash-user{align-items:center;gap:.625rem;padding:.5rem;display:flex}.dash-user__avatar{background:linear-gradient(135deg, var(--violet-mid), var(--purple-dark));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:700;display:flex}.dash-user__info{flex:1;min-width:0}.dash-user__name{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.dash-user__email{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.65rem;overflow:hidden}.dash-user__logout{color:var(--text-dim);border-radius:6px;flex-shrink:0;padding:4px;transition:all .2s}.dash-user__logout:hover{color:#f87171;background:#f871711a}.dash-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.dash-topbar{border-bottom:1px solid var(--border-light);background:var(--bg);flex-shrink:0;align-items:center;gap:.75rem;padding:.75rem 1rem;display:none}.dash-topbar__toggle{color:var(--text-muted);transition:color .2s}.dash-topbar__toggle:hover{color:#fff}.dash-topbar__title{color:#fff;font-size:.9rem;font-weight:600}.dash-scroll{scrollbar-width:thin;scrollbar-color:#ffffff14 transparent;flex:1;overflow-y:auto}.dash-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;padding:2rem;display:flex}.dash-empty__icon{width:64px;height:64px;color:var(--violet-light);background:#7c3aed1a;border:1px solid #7c3aed33;border-radius:1.25rem;justify-content:center;align-items:center;margin-bottom:.5rem;display:flex}.dash-empty__title{color:#fff;font-size:1.125rem;font-weight:600}.dash-empty__sub{color:var(--text-muted);max-width:22rem;font-size:.875rem}.dash-empty__btn{background:linear-gradient(to right, var(--violet), var(--purple-dark));color:#fff;border-radius:9999px;align-items:center;gap:.5rem;margin-top:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #7c3aed4d}.dash-empty__btn:hover{transform:translateY(-1px);box-shadow:0 4px 20px #7c3aed73}.dash-empty__btn:disabled{opacity:.6}.dash-loading{color:var(--text-muted);font-size:.875rem}.chat-panel{flex-direction:column;flex:1;display:flex;overflow:hidden}.chat-panel__messages{scrollbar-width:thin;scrollbar-color:#ffffff14 transparent;flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.dash-msg{align-items:flex-end;gap:.5rem;max-width:100%;display:flex}.dash-msg--user{flex-direction:row-reverse}.dash-msg__avatar{background:linear-gradient(135deg, var(--violet-mid), var(--purple-dark));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.dash-msg__bubble{white-space:pre-wrap;word-break:break-word;border-radius:1.25rem;max-width:min(70%,520px);padding:.75rem 1rem;font-size:.9rem;line-height:1.6}.dash-msg__bubble--assistant{border:1px solid var(--border);color:#cbd5e1;background:#ffffff0d;border-bottom-left-radius:4px}.dash-msg__bubble--user{background:linear-gradient(135deg, var(--violet), var(--purple-dark));color:#fff;border-bottom-right-radius:4px}.dash-msg__bubble--typing{align-items:center;gap:4px;padding:.875rem 1rem;display:flex}.typing-dot{background:var(--violet-light);border-radius:50%;width:6px;height:6px;animation:1s infinite bounce-dot}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}.chat-panel__input-area{border-top:1px solid var(--border-light);background:var(--bg);flex-shrink:0;padding:1rem 1.5rem 1.25rem}.chat-panel__input-wrap{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:1rem;align-items:flex-end;gap:.75rem;padding:.75rem 1rem;transition:border-color .2s;display:flex}.chat-panel__input-wrap:focus-within{border-color:#7c3aed66}.chat-panel__textarea{color:#fff;resize:none;scrollbar-width:thin;background:0 0;border:none;outline:none;flex:1;max-height:120px;font-family:inherit;font-size:.9rem;line-height:1.5;overflow-y:auto}.chat-panel__textarea::placeholder{color:var(--text-dimmer)}.chat-panel__send{background:linear-gradient(135deg, var(--violet), var(--purple-dark));color:#fff;border-radius:.625rem;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;box-shadow:0 2px 10px #7c3aed4d}.chat-panel__send:hover:not(:disabled){box-shadow:0 2px 14px #7c3aed80}.chat-panel__send:disabled{opacity:.4}.chat-panel__hint{color:var(--text-dimmer);text-align:center;margin-top:.5rem;font-size:.65rem}.dash-mood{max-width:640px;margin:0 auto;padding:2rem 1.5rem}.dash-mood__title{color:#fff;margin-bottom:.375rem;font-size:1.5rem;font-weight:700}.dash-mood__sub{color:var(--text-muted);margin-bottom:1.5rem;font-size:.875rem}.mood-checkin-card{background:var(--bg-card);border:1px solid var(--border);border-radius:1.25rem;margin-bottom:1rem;padding:1.25rem 1.5rem}.mood-checkin-card__head{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.mood-checkin-card__label{color:#fff;font-size:.9rem;font-weight:600}.mood-checkin-card__logged{color:var(--teal-light);background:#2dd4bf1a;border:1px solid #2dd4bf33;border-radius:9999px;padding:.25rem .625rem;font-size:.75rem}.mood-score-btns{gap:.5rem;display:flex}.mood-score-btn{border:1px solid var(--border);background:#ffffff08;border-radius:.75rem;flex-direction:column;flex:1;align-items:center;gap:.375rem;padding:.75rem .5rem;transition:all .2s;display:flex}.mood-score-btn:hover:not(:disabled){background:#ffffff12;transform:translateY(-2px)}.mood-score-btn:disabled{opacity:.5}.mood-score-btn--active{transform:translateY(-2px)}.mood-score-btn__emoji{font-size:1.5rem}.mood-score-btn__label{color:var(--text-dim);white-space:nowrap;font-size:.6rem}.mood-already-logged{color:var(--text-dim);text-align:center;margin-top:.75rem;font-size:.75rem}.mood-week-card{background:var(--bg-card);border:1px solid var(--border);border-radius:1.25rem;padding:1.25rem 1.5rem}.mood-week-card__head{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.mood-week-card__title{color:#fff;font-size:.9rem;font-weight:600}.mood-week-card__avg{color:var(--text-dim);font-size:.75rem}.mood-week-chart{align-items:flex-end;gap:.5rem;height:7rem;display:flex}.mood-week-bar{flex-direction:column;flex:1;align-items:center;gap:.375rem;height:100%;display:flex}.mood-week-bar__emoji{font-size:.9rem;line-height:1}.mood-week-bar__track{background:#ffffff0a;border-radius:4px 4px 0 0;flex:1;align-items:flex-end;width:100%;display:flex;overflow:hidden}.mood-week-bar__fill{opacity:.85;border-radius:4px 4px 0 0;width:100%;transition:height .4s}.mood-week-bar__day{color:var(--text-dim);font-size:.6rem}@media (width<=768px){.dash-sidebar{position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.dash-sidebar--open{transform:translate(0)}.dash-sidebar__close{display:block}.dash-topbar{display:flex}.mood-score-btn__label{display:none}.dash-msg__bubble{max-width:85%}}.chat-limit-banner{background:#7c3aed14;border:1px solid #7c3aed33;border-radius:1rem;align-items:flex-start;gap:.875rem;margin:0 1.5rem 1.25rem;padding:1rem 1.25rem;display:flex}.chat-limit-banner__icon{flex-shrink:0;font-size:1.25rem}.chat-limit-banner__title{color:#fff;margin-bottom:.25rem;font-size:.875rem;font-weight:600}.chat-limit-banner__sub{color:var(--text-muted);font-size:.8rem;line-height:1.5}.chat-send-error{color:#f87171;background:#f8717114;border:1px solid #f871712e;border-radius:.5rem;margin-bottom:.625rem;padding:.5rem .75rem;font-size:.75rem}.checkin-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#000000a6;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.checkin-modal{text-align:center;background:#111118;border:1px solid #ffffff1a;border-radius:1.5rem;width:100%;max-width:400px;padding:2rem 1.75rem 1.75rem;animation:.25s slide-up;position:relative;box-shadow:0 32px 80px #0009}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.checkin-modal__close{color:var(--text-dim);border-radius:6px;padding:4px;transition:color .2s;position:absolute;top:1rem;right:1rem}.checkin-modal__close:hover{color:#fff}.checkin-modal__icon{margin-bottom:.75rem;font-size:2.25rem}.checkin-modal__title{color:#fff;margin-bottom:.375rem;font-size:1.125rem;font-weight:700}.checkin-modal__sub{color:var(--text-muted);margin-bottom:1.5rem;font-size:.875rem;line-height:1.5}.checkin-mood-btns{justify-content:center;gap:.5rem;display:flex}.checkin-mood-btn{border:1px solid var(--border);background:#ffffff08;border-radius:1rem;flex-direction:column;flex:1;align-items:center;gap:.375rem;padding:.875rem .625rem;transition:all .15s;display:flex}.checkin-mood-btn:hover:not(:disabled){background:#7c3aed1f;border-color:#7c3aed59;transform:translateY(-3px)}.checkin-mood-btn:disabled{opacity:.5}.checkin-mood-btn__emoji{font-size:1.75rem}.checkin-mood-btn__label{color:var(--text-dim);font-size:.65rem}.checkin-done-actions{flex-direction:column;gap:.625rem;display:flex}.checkin-talk-btn{background:linear-gradient(to right, var(--violet), var(--purple-dark));color:#fff;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 14px #7c3aed4d}.checkin-talk-btn:hover{transform:translateY(-1px);box-shadow:0 4px 20px #7c3aed73}.checkin-skip-btn{color:var(--text-dim);padding:.5rem;font-size:.8rem;transition:color .2s}.checkin-skip-btn:hover{color:#fff}.weekly-insight-card{background:linear-gradient(135deg,#7c3aed14,#2dd4bf0d);border:1px solid #7c3aed2e;border-radius:1.25rem;margin-top:1rem;padding:1.25rem 1.5rem}.weekly-insight-card__label{color:var(--violet-light);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.625rem;font-size:.75rem;font-weight:600}.weekly-insight-card__text{color:#cbd5e1;font-size:.9rem;line-height:1.7}.weekly-insight-card__empty{color:var(--text-muted);font-size:.875rem;line-height:1.6}.dash-home{flex:1;justify-content:center;align-items:center;padding:2rem;display:flex;position:relative;overflow:hidden}.dash-home__glow{pointer-events:none;background:radial-gradient(60% 50% at 50% 30%,#7c3aed24 0%,#0000 70%),radial-gradient(40% 35% at 70% 70%,#2dd4bf12 0%,#0000 65%);position:absolute;inset:0}.dash-home__content{text-align:center;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:480px;display:flex;position:relative}.dash-home__icon{margin-bottom:.25rem;font-size:3rem;line-height:1}.dash-home__title{color:#fff;margin:0;font-size:1.5rem;font-weight:700;line-height:1.3}.dash-home__sub{color:var(--text-muted);max-width:340px;margin:0;font-size:.9375rem;line-height:1.6}.dash-home__sub strong{color:#e2e8f0}.dash-home__moods{flex-wrap:wrap;justify-content:center;gap:.625rem;margin-top:.75rem;display:flex}.dash-home__mood-btn{cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:1rem;flex-direction:column;align-items:center;gap:.375rem;min-width:72px;padding:1rem 1.125rem;transition:all .15s;display:flex}.dash-home__mood-btn:hover:not(:disabled){background:#7c3aed1f;border-color:#7c3aed59;transform:translateY(-4px);box-shadow:0 8px 24px #7c3aed33}.dash-home__mood-btn:disabled{opacity:.5}.dash-home__mood-emoji{font-size:2rem;line-height:1}.dash-home__mood-label{color:var(--text-dim);font-size:.65rem;font-weight:500}.dash-home__actions{flex-direction:column;gap:.625rem;width:100%;max-width:260px;margin-top:.5rem;display:flex}.dash-home__action-btn{cursor:pointer;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.dash-home__action-btn--primary{color:#fff;background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 4px 14px #7c3aed4d}.dash-home__action-btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 20px #7c3aed80}.dash-home__action-btn--primary:disabled{opacity:.6}.dash-home__action-btn--outline{color:#e2e8f0;background:0 0;border:1px solid #7c3aed59;font-size:.85rem}.dash-home__action-btn--outline:hover:not(:disabled){background:#7c3aed14;border-color:#7c3aeda6}.dash-home__action-btn--ghost{color:var(--text-dim);background:0 0;font-size:.825rem;font-weight:500}.dash-home__action-btn--ghost:hover{color:#fff}.dash-home__insight{text-align:left;background:linear-gradient(135deg,#7c3aed1a,#2dd4bf0d);border:1px solid #7c3aed33;border-radius:1rem;flex-direction:column;gap:.625rem;width:100%;max-width:380px;padding:1.125rem 1.25rem;display:flex}.dash-home__insight-label{color:var(--violet-light);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:600}.dash-home__insight-text{color:#cbd5e1;font-size:.875rem;line-height:1.65}.dash-sidebar__logo{cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:0;text-decoration:none;display:flex}@media (width<=768px){.dash-home__title{font-size:1.25rem}.dash-home__mood-btn{min-width:60px;padding:.875rem}.dash-home__mood-emoji{font-size:1.75rem}}.dash-save-banner{background:linear-gradient(135deg,#7c3aed26,#2dd4bf14);border:1px solid #7c3aed4d;border-radius:.875rem;margin-bottom:.5rem;padding:.875rem 1rem}.dash-save-banner__text{color:#e2e8f0;margin-bottom:.5rem;font-size:.75rem;line-height:1.4}.dash-save-banner__btn{color:var(--violet-light);font-size:.75rem;font-weight:600;text-decoration:none;transition:color .2s;display:block}.dash-save-banner__btn:hover{color:#fff}.dash-user--guest{cursor:default}.dash-user__avatar--guest{color:var(--text-muted);background:#ffffff12;border:1px dashed #ffffff26}.dash-user__save-link{color:var(--violet-light);font-size:.7rem;text-decoration:none;transition:color .2s}.dash-user__save-link:hover{color:#fff}.app-loading{background:var(--bg);justify-content:center;align-items:center;height:100vh;display:flex}.app-loading__logo{opacity:.7;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.08)}}.admin-page{background:var(--bg);max-width:1100px;min-height:100vh;margin:0 auto;padding:2rem}.admin-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.admin-header__left{align-items:center;gap:1.25rem;display:flex}.admin-header__back{color:var(--text-muted);font-size:.8rem;text-decoration:none;transition:color .2s}.admin-header__back:hover{color:#fff}.admin-header__title{color:#fff;margin:0;font-size:1.5rem;font-weight:700}.admin-header__sub{color:var(--text-dim);margin:0;font-size:.75rem}.admin-refresh{color:var(--text-muted);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:.5rem;align-items:center;gap:.4rem;padding:.45rem .875rem;font-size:.8rem;transition:color .2s,background .2s;display:inline-flex}.admin-refresh:hover{color:#fff;background:#ffffff14}.admin-header__actions{align-items:center;gap:.5rem;display:flex}.admin-logout{color:#f87171;cursor:pointer;background:#f871710f;border:1px solid #f8717126;border-radius:.5rem;align-items:center;gap:.4rem;padding:.45rem .875rem;font-size:.8rem;transition:color .2s,background .2s;display:inline-flex}.admin-logout:hover{background:#f8717126}.admin-stats{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.admin-stat{background:var(--bg-card);border:1px solid #ffffff0f;border-radius:1rem;align-items:flex-start;gap:.875rem;padding:1.125rem 1.25rem;display:flex}.admin-stat__icon{opacity:.9;border-radius:.625rem;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.admin-stat__value{color:#fff;margin-bottom:.2rem;font-size:1.5rem;font-weight:700;line-height:1}.admin-stat__label{color:var(--text-muted);font-size:.75rem;font-weight:500}.admin-stat__sub{color:var(--text-dim);margin-top:.2rem;font-size:.65rem}.admin-users{background:var(--bg-card);border:1px solid #ffffff0f;border-radius:1rem;overflow:hidden}.admin-users__toolbar{border-bottom:1px solid #ffffff0f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.admin-filter-tabs{gap:.375rem;display:flex}.admin-filter-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.5rem;padding:.35rem .75rem;font-size:.75rem;font-weight:500;transition:all .15s}.admin-filter-tab:hover{color:#fff;background:#ffffff0d}.admin-filter-tab--active{color:var(--violet-light);background:#7c3aed1f;border-color:#7c3aed4d}.admin-search{color:#fff;background:#ffffff0a;border:1px solid #ffffff14;border-radius:.5rem;outline:none;width:220px;padding:.4rem .75rem;font-size:.8rem;transition:border-color .2s}.admin-search::placeholder{color:var(--text-dim)}.admin-search:focus{border-color:#7c3aed66}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table__th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;text-align:left;white-space:nowrap;border-bottom:1px solid #ffffff0f;padding:.75rem 1.25rem;font-size:.7rem;font-weight:600}.admin-table__row:not(:last-child){border-bottom:1px solid #ffffff0a}.admin-table__row:hover{background:#ffffff05}.admin-table__cell{color:#e2e8f0;vertical-align:middle;padding:.875rem 1.25rem;font-size:.825rem}.admin-table__cell--muted{color:var(--text-muted);text-align:center}.admin-table__empty{text-align:center;color:var(--text-dim);padding:2rem;font-size:.875rem}.admin-user-cell{align-items:center;gap:.75rem;display:flex}.admin-user-cell__avatar{color:#fff;background:linear-gradient(135deg,#7c3aed,#6d28d9);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:700;display:flex}.admin-user-cell__avatar--guest{color:var(--text-muted);background:#ffffff12;border:1px dashed #ffffff26}.admin-user-cell__name{color:#fff;font-size:.825rem;font-weight:500}.admin-user-cell__email{color:var(--text-dim);font-size:.7rem}.admin-badge{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:.375rem;padding:.2rem .55rem;font-size:.65rem;font-weight:600}.admin-badge--guest{color:var(--text-muted);background:#ffffff0f;border:1px solid #ffffff1a}.admin-badge--user{color:#2dd4bf;background:#2dd4bf1a;border:1px solid #2dd4bf33}.admin-badge--admin{color:#f59e0b;background:#f59e0b1a;border:1px solid #f59e0b40}.admin-row-actions{align-items:center;gap:.375rem;display:flex}.admin-action-btn{cursor:pointer;white-space:nowrap;border-radius:.375rem;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.7rem;font-weight:500;transition:all .15s;display:inline-flex}.admin-action-btn--role{color:var(--violet-light);background:#7c3aed1a;border:1px solid #7c3aed33}.admin-action-btn--role:hover{background:#7c3aed33}.admin-action-btn--delete{color:#ef4444;background:0 0;border:1px solid #0000}.admin-action-btn--delete:hover{background:#ef44441a;border-color:#ef444433}.admin-action-btn--confirm{color:#fff;background:#ef4444;border:1px solid #0000}.admin-action-btn--confirm:hover{background:#dc2626}.admin-action-btn--cancel{color:var(--text-muted);background:0 0;border:1px solid #ffffff1a}.admin-action-btn--cancel:hover{color:#fff}.admin-loading{color:var(--text-muted);padding:1rem 0;font-size:.875rem}@media (width<=640px){.admin-page{padding:1rem}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-search{width:100%}.admin-users__toolbar{flex-direction:column;align-items:flex-start}}.contact-section{background:var(--bg);padding:5rem 1.5rem}.contact-inner{max-width:680px;margin:0 auto}.contact-heading{text-align:center;margin-bottom:2.5rem}.contact-title{color:#fff;margin:0 0 .75rem;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:700}.contact-sub{color:var(--text-muted);margin:0;font-size:1rem}.contact-form{flex-direction:column;gap:1.25rem;display:flex}.contact-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.contact-field{flex-direction:column;gap:.4rem;display:flex}.contact-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:500}.contact-optional{opacity:.5;text-transform:none;letter-spacing:0;font-weight:400}.contact-input,.contact-textarea{color:#fff;resize:none;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:.6rem;outline:none;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.contact-input::placeholder,.contact-textarea::placeholder{color:#ffffff40}.contact-input:focus,.contact-textarea:focus{border-color:#a78bfa80;box-shadow:0 0 0 3px #a78bfa1a}.contact-feedback{border-radius:.5rem;margin:0;padding:.65rem 1rem;font-size:.875rem}.contact-feedback--ok{color:#34d399;background:#34d3991a;border:1px solid #34d39933}.contact-feedback--err{color:#f87171;background:#f871711a;border:1px solid #f8717133}.contact-submit{background:var(--violet);color:#fff;cursor:pointer;border:none;border-radius:.6rem;align-self:flex-start;padding:.75rem 1.75rem;font-size:.95rem;font-weight:600;transition:background .2s,opacity .2s}.contact-submit:hover:not(:disabled){background:var(--violet-light)}.contact-submit:disabled{opacity:.5;cursor:not-allowed}@media (width<=600px){.contact-row{grid-template-columns:1fr}.contact-submit{justify-content:center;width:100%}}
