@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/lora-latin.woff2) format("woff2")}@font-face{font-family:Lora;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/lora-italic-latin.woff2) format("woff2")}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/playfair-display-latin.woff2) format("woff2")}:root{--bg-app: #ede8dc;--bg-chat: #faf7f2;--bg-panel: #f0ebe0;--bg-card: #fdfbf6;--accent-sage: #7c9e7a;--accent-sage-dark: #4d7a4b;--accent-pop: #ff6b1a;--accent-pop-soft: #ffb088;--text-warm: #2d2a27;--text-muted: #a09589;--border-soft: #c0b8ae;--border-softer: #dcd5c5;--danger: #b85a5a;--due-soon: #c79544;--due-overdue: #b85a5a;--ink-muted: #72675c;--ink-sage: #487246;--ink-pop: #b84100;--ink-danger: #ab4a4a;--ink-due-soon: #866228;--ink-due-overdue: #9f4545;--border-interactive: #918372;--font-display: "Playfair Display", Georgia, serif;--font-body: "Lora", Georgia, serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-soft: 0 1px 2px rgba(45, 42, 39, .04), 0 8px 32px rgba(45, 42, 39, .06);color-scheme:light;color:var(--text-warm);background:var(--bg-app);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh;min-height:100dvh}body{background:var(--bg-app);overscroll-behavior-y:contain}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;margin:0}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:1rem;color:var(--text-warm)}textarea{resize:vertical}::placeholder{color:var(--ink-muted);opacity:1}:focus-visible{outline:2px solid var(--ink-sage);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:.75rem;z-index:200;background:var(--bg-card);color:var(--text-warm);border:1px solid var(--border-interactive);border-radius:var(--radius-sm);padding:.5rem .9rem;font-size:.9rem;text-decoration:none}.skip-link:focus-visible{top:.5rem}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.muted{color:var(--ink-muted);font-style:italic}.error-text{color:var(--ink-danger)}.primary-btn{background:var(--accent-sage-dark);color:#fdfbf6;border:none;border-radius:var(--radius-md);padding:.6rem 1.25rem;min-height:44px;font-size:.95rem;font-weight:500;transition:background .12s ease,color .12s ease,transform .12s ease}.primary-btn:hover:not(:disabled){background:var(--accent-pop);color:var(--text-warm)}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.link-btn{background:none;border:none;color:var(--ink-muted);font-size:.9rem;padding:.35rem .5rem;min-height:32px;min-width:32px;border-radius:var(--radius-sm);transition:color .12s ease}.link-btn:hover{color:var(--ink-pop)}.splash{min-height:100dvh;display:grid;place-items:center;padding:2rem}.splash-card{background:var(--bg-chat);border-radius:var(--radius-lg);padding:3rem 2.5rem;max-width:380px;width:100%;text-align:center;box-shadow:var(--shadow-soft)}.splash-title{font-size:2.5rem;margin-bottom:.5rem}.splash-sub{color:var(--ink-muted);margin:0 0 2rem}.app-root{display:flex;flex-direction:column;min-height:100dvh;height:100dvh}.app-bar{position:relative;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:var(--bg-chat);border-bottom:1px solid var(--border-softer);flex-shrink:0}.app-bar__title{font-size:1.4rem}.app-bar__right{display:flex;align-items:center;gap:.5rem}.app-bar__offline{font-size:.75rem;color:var(--ink-muted);border:1px solid var(--border-soft);border-radius:999px;padding:.15rem .6rem;text-transform:uppercase;letter-spacing:.05em}.app-bar__menu-wrap{position:relative}.app-bar__menu{position:absolute;top:calc(100% + .35rem);right:0;background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);z-index:50;min-width:200px;overflow:hidden}.app-bar__menu-item{display:block;width:100%;text-align:left;background:none;border:none;padding:.7rem 1rem;font-size:.9rem;color:var(--text-warm);border-bottom:1px solid var(--border-softer);text-decoration:none;box-sizing:border-box}a.app-bar__menu-item:hover{background:var(--bg-panel);color:var(--ink-pop)}.app-bar__menu-item:last-child{border-bottom:none}.app-bar__menu-item:hover:not(:disabled){background:var(--bg-panel);color:var(--ink-pop)}.app-bar__menu-item:disabled{opacity:.45;cursor:not-allowed}.app-main{flex:1;overflow:hidden;display:flex;min-height:0}.app-main--split{display:grid;grid-template-columns:minmax(0,52%) minmax(0,1fr);transition:grid-template-columns .28s ease}.app-main--split.app-main--collapsed{grid-template-columns:minmax(0,100%) 0fr}.app-main--split.app-main--collapsed .right-panel{visibility:hidden;overflow:hidden;border-left:0}.app-main--mobile{flex-direction:column}.app-bar__dashboard-toggle{font-size:.85rem;white-space:nowrap}.bottom-nav{display:flex;background:var(--bg-chat);border-top:1px solid var(--border-softer);flex-shrink:0;padding-bottom:env(safe-area-inset-bottom,0)}.bottom-nav__btn{flex:1;background:none;border:none;padding:.6rem .25rem;min-height:48px;display:flex;flex-direction:column;align-items:center;gap:.15rem;color:var(--ink-muted);transition:color .12s ease}.bottom-nav__btn--active{color:var(--accent-sage-dark)}.bottom-nav__icon{font-size:1.2rem}.bottom-nav__label{font-size:.7rem}.chat-panel{display:flex;flex-direction:column;background:var(--bg-chat);min-height:0;height:100%;border-right:1px solid var(--border-softer)}.app-main--mobile .chat-panel{border-right:none}.chat-panel__header{display:flex;align-items:baseline;gap:.75rem;padding:1rem 1.5rem .75rem}.chat-panel__header h2{font-size:1.6rem}.chat-panel__offline{font-size:.7rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em}.chat-panel__messages{flex:1;overflow-y:auto;padding:.5rem 1.5rem 1rem;display:flex;flex-direction:column;gap:.75rem}.chat-panel__empty{margin:auto;text-align:center;color:var(--ink-muted);font-style:italic}.chat-bubble{max-width:80%;padding:.7rem 1rem;border-radius:var(--radius-lg);line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.chat-bubble--assistant{align-self:flex-start;background:var(--bg-card);border:1px solid var(--border-softer);border-bottom-left-radius:var(--radius-sm)}.chat-bubble--user{align-self:flex-end;background:var(--accent-sage-dark);color:#fdfbf6;border-bottom-right-radius:var(--radius-sm)}.chat-bubble--error{color:var(--ink-danger)}.chat-bubble__dots{display:inline-flex;gap:4px;align-items:center;padding:4px 0}.chat-bubble__dots span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:dot-pulse 1.4s infinite ease-in-out both}.chat-bubble__dots span:nth-child(2){animation-delay:.2s}.chat-bubble__dots span:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,80%,to{opacity:.25;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}.chat-panel__composer{display:flex;gap:.5rem;padding:.75rem 1.25rem 1rem;border-top:1px solid var(--border-softer);background:var(--bg-chat);align-items:flex-end;padding-bottom:max(1rem,env(safe-area-inset-bottom,0))}.chat-panel__composer textarea{flex:1;border:1px solid var(--border-interactive);border-radius:var(--radius-md);padding:.65rem .85rem;background:var(--bg-card);resize:none;max-height:160px;min-height:44px;transition:border-color .12s ease}.chat-panel__composer textarea:focus{border-color:var(--accent-sage-dark)}.chat-panel__send{width:44px;height:44px;border-radius:50%;border:none;background:var(--accent-sage-dark);color:#fdfbf6;font-size:1.2rem;display:grid;place-items:center;transition:background .12s ease;flex-shrink:0}.chat-panel__send:hover:not(:disabled){background:var(--accent-pop);color:var(--text-warm)}.chat-panel__send:disabled{opacity:.4;cursor:not-allowed}.right-panel{background:var(--bg-panel);display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.right-panel__tabs{display:flex;gap:.25rem;padding:0 1rem;border-bottom:1px solid var(--border-softer);flex-shrink:0}.right-panel__tab{background:none;border:none;padding:.7rem .85rem;min-height:44px;font-size:.95rem;color:var(--ink-muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .12s ease,border-color .12s ease;font-family:var(--font-body)}.right-panel__tab--active{color:var(--ink-sage);border-bottom-color:var(--accent-sage)}.right-panel__body{flex:1;overflow-y:auto;padding:1rem 1.25rem 2rem}.mobile-tab-view{flex:1;overflow-y:auto;padding:1rem 1.25rem 2rem;background:var(--bg-panel)}.mood-widget{background:var(--bg-card);border:1px solid var(--border-softer);border-radius:var(--radius-md);padding:1rem 1.1rem;margin:1rem 1.25rem .75rem}.mood-widget__title{font-size:1.1rem;margin-bottom:.6rem}.mood-widget__scale{display:flex;gap:.4rem;justify-content:space-between;margin-bottom:.6rem}.mood-widget__btn{flex:1;background:var(--bg-card);border:1px solid var(--border-interactive);border-radius:var(--radius-md);padding:.55rem .25rem;display:flex;flex-direction:column;align-items:center;gap:.15rem;color:var(--ink-muted);transition:border-color .12s ease,color .12s ease,transform .12s ease}.mood-widget__btn:hover{transform:translateY(-1px)}.mood-widget__btn--active{border-width:2px;padding:calc(.55rem - 1px) calc(.25rem - 1px)}.mood-widget__emoji{font-size:1.3rem}.mood-widget__label{font-size:.7rem;letter-spacing:.03em}.mood-widget__note{width:100%;margin-top:.4rem;padding:.5rem .75rem;border:1px solid var(--border-interactive);border-radius:var(--radius-md);background:var(--bg-card)}.mood-widget__note:focus{border-color:var(--accent-sage-dark)}.mood-widget__save{margin-top:.5rem;background:var(--accent-sage-dark);color:#fdfbf6;border:none;border-radius:var(--radius-md);padding:.55rem 1rem;min-height:44px;font-size:.9rem;transition:background .12s ease,color .12s ease}.mood-widget__save:hover:not(:disabled){background:var(--accent-pop);color:var(--text-warm)}.mood-widget__save:disabled{opacity:.5;cursor:not-allowed}.mood-widget__confirm{margin:.5rem 0 0;font-size:.85rem;color:var(--ink-sage)}.mood-widget__confirm:empty{margin:0}.tab-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.6rem}.tab-head h3{font-size:1.25rem}.goal-form{background:var(--bg-card);border:1px solid var(--border-softer);border-radius:var(--radius-md);padding:.9rem;display:flex;flex-direction:column;gap:.6rem;margin-bottom:.75rem}.goal-form input[type=text],.goal-form>input{border:1px solid var(--border-interactive);border-radius:var(--radius-sm);padding:.5rem .7rem;background:var(--bg-card)}.goal-form input:focus{border-color:var(--accent-sage-dark)}.goal-form__date{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--ink-muted)}.goal-form__date input{border:1px solid var(--border-interactive);border-radius:var(--radius-sm);padding:.3rem .5rem;font-size:.9rem}.goal-form__milestones{display:flex;flex-wrap:wrap;gap:.4rem}.goal-form__milestone-row{display:flex;gap:.4rem;flex:1 1 100%}.goal-form__milestone-row input{flex:1}.goals-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.goal-card{background:var(--bg-card);border:1px solid var(--border-softer);border-radius:var(--radius-md);padding:.85rem .95rem}.goal-card--done .goal-card__title{text-decoration:line-through;color:var(--ink-muted)}.goal-card__top{display:flex;align-items:center;gap:.6rem}.goal-card__check{background:none;border:none;color:var(--ink-sage);font-size:1.2rem;padding:0;min-width:32px;min-height:32px;line-height:1}.goal-card__title{flex:1;font-size:1.05rem}.goal-card__delete{font-size:1.1rem;line-height:1}.goal-card__progress{margin-top:.5rem;display:flex;align-items:center;gap:.6rem;font-size:.8rem;color:var(--ink-muted)}.goal-card__bar{flex:1;height:6px;background:var(--bg-panel);border-radius:3px;overflow:hidden}.goal-card__bar-fill{height:100%;background:var(--accent-pop);transition:width .2s ease}.goal-card__milestones{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem}.goal-card__milestones li{display:flex;align-items:center;gap:.5rem;font-size:.92rem}.goal-card__milestones li.done{color:var(--ink-muted);text-decoration:line-through}.goal-card__milestone-check{background:none;border:1px solid var(--border-interactive);border-radius:50%;width:24px;height:24px;font-size:.75rem;padding:0;flex-shrink:0;display:grid;place-items:center;color:var(--ink-sage)}.goals-tab__done{margin-top:1rem;color:var(--ink-muted)}.goals-tab__done summary{cursor:pointer;font-style:italic}.badge{display:inline-block;font-size:.7rem;padding:.15rem .55rem;border-radius:999px;text-transform:lowercase;letter-spacing:.02em;background:var(--bg-panel);color:var(--ink-muted);border:1px solid var(--border-soft)}.badge--soon{background:#f4e7c9;color:var(--ink-due-soon);border-color:#e6c98a}.badge--overdue{background:#f0d7d2;color:var(--ink-due-overdue);border-color:#d8a39c}.chip{display:inline-flex;align-items:center;gap:.3rem;background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:999px;padding:.2rem .6rem;font-size:.8rem}.chip button{background:none;border:none;font-size:.95rem;color:var(--ink-muted);padding:0;min-width:24px;min-height:24px;line-height:1}.habit-form{background:var(--bg-card);border:1px solid var(--border-softer);border-radius:var(--radius-md);padding:.9rem;display:flex;flex-direction:column;gap:.7rem;margin-bottom:.75rem}.habit-form>input{border:1px solid var(--border-interactive);border-radius:var(--radius-sm);padding:.5rem .7rem;background:var(--bg-card)}.habit-form>input:focus{border-color:var(--accent-sage-dark)}.habit-form fieldset{border:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.habit-form legend{font-size:.8rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.habit-form__types{display:grid;gap:.4rem;grid-template-columns:1fr}@media (min-width: 480px){.habit-form__types{grid-template-columns:1fr 1fr 1fr}}.habit-form__type{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:.55rem .7rem;cursor:pointer;display:flex;flex-direction:column;gap:.15rem}.habit-form__type input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.habit-form__type:focus-within{outline:2px solid var(--ink-sage);outline-offset:2px}.habit-form__type strong{font-size:.95rem}.habit-form__type span{font-size:.75rem;color:var(--ink-muted)}.habit-form__type--active{border-color:var(--accent-sage-dark);background:#f4f4ec}.habit-form__freq-options{display:flex;gap:.35rem;flex-wrap:wrap}.habit-form__days{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.4rem}.habit-form__count{font-size:.9rem;color:var(--ink-muted);display:flex;align-items:center;gap:.4rem}.habit-form__count input{width:60px;border:1px solid var(--border-interactive);border-radius:var(--radius-sm);padding:.3rem .5rem}.pill{background:var(--bg-card);border:1px solid var(--border-interactive);border-radius:999px;padding:.3rem .7rem;min-height:32px;font-size:.85rem;color:var(--ink-muted);cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;font-family:var(--font-body)}.pill input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.pill:focus-within{outline:2px solid var(--ink-sage);outline-offset:2px}.pill--active{background:var(--accent-sage-dark);color:#fdfbf6;border-color:var(--accent-sage-dark)}.habits-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.habit-card{display:flex;align-items:center;gap:.7rem;background:var(--bg-card);border:1px solid var(--border-softer);border-radius:var(--radius-md);padding:.65rem .85rem;position:relative;flex-wrap:wrap}.habit-card--paused{opacity:.55}.habit-card--paused .habit-card__check{background:var(--bg-panel);color:var(--ink-muted)}.habit-card__check{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--border-interactive);background:var(--bg-card);font-size:1.1rem;display:grid;place-items:center;color:var(--ink-muted);flex-shrink:0;transition:background .12s ease,color .12s ease,border-color .12s ease}.habit-card__check:hover:not(:disabled){border-color:var(--accent-sage-dark)}.habit-card__check--on{background:var(--accent-pop);border-color:var(--accent-pop);color:var(--text-warm);font-weight:700}.habit-card--negative .habit-card__check{border-color:var(--ink-danger);color:var(--ink-danger)}.habit-card--negative .habit-card__check--on{background:var(--ink-danger);border-color:var(--ink-danger);color:#fdfbf6}.habit-card__body{flex:1;min-width:0}.habit-card__top{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}.habit-card__top h4{font-size:1rem;font-weight:500;font-family:var(--font-body)}.habit-card__type,.habit-card__freq{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted)}.habit-card__type{background:var(--bg-panel);border-radius:999px;padding:.05rem .5rem}.habit-card__metric{font-size:.85rem;color:var(--ink-muted);display:flex;gap:.5rem;align-items:center}.habit-card__metric .streak{color:var(--ink-pop);font-weight:600}.habit-card__trend{font-style:italic}.habit-card__actions{display:flex;gap:.2rem;margin-left:auto}.habit-card__note-row{flex:1 1 100%;display:flex;gap:.4rem;margin-top:.5rem;align-items:center}.habit-card__note-row input{flex:1;border:1px solid var(--border-interactive);border-radius:var(--radius-sm);padding:.4rem .6rem;font-size:.9rem}.habit-card__confirm{flex:1 1 100%;display:flex;flex-direction:column;gap:.5rem;margin-top:.6rem;padding:.7rem .85rem;background:#f7ece6;border:1px solid var(--accent-pop-soft);border-radius:var(--radius-md)}.habit-card__confirm-text{display:flex;flex-direction:column;gap:.15rem}.habit-card__confirm-text strong{font-family:var(--font-display);font-size:1rem}.habit-card__confirm-text span{font-size:.85rem;color:var(--ink-muted)}.habit-card__confirm-actions{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.habit-card__confirm-arm,.habit-card__confirm-final{border:1px solid var(--ink-danger);background:transparent;color:var(--ink-danger);min-height:44px;border-radius:var(--radius-sm);padding:.4rem .85rem;font-size:.88rem;font-family:var(--font-body);transition:background .12s ease,color .12s ease}.habit-card__confirm-arm:hover{background:var(--ink-danger);color:#fdfbf6}.habit-card__confirm-final{background:var(--ink-danger);color:#fdfbf6;animation:confirm-pulse .9s ease-in-out infinite}@keyframes confirm-pulse{0%,to{box-shadow:0 0 #b85a5a66}50%{box-shadow:0 0 0 6px #b85a5a00}}.history-tab__chart{background:var(--bg-card);border:1px solid var(--border-softer);border-radius:var(--radius-md);padding:.5rem .5rem .25rem;margin-bottom:1rem}.history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.history-row{display:flex;gap:.7rem;background:var(--bg-card);border:1px solid var(--border-softer);border-radius:var(--radius-md);padding:.55rem .85rem;align-items:center}.history-row__emoji{font-size:1.4rem}.history-row__body{display:flex;flex-direction:column;gap:.1rem}.history-row__date{font-size:.75rem;color:var(--ink-muted);text-transform:lowercase}.history-row__note{font-size:.92rem}.insight-cards{display:flex;flex-direction:column;gap:.6rem}.insight-card{background:var(--bg-card);border:1px solid var(--border-softer);border-radius:var(--radius-md);padding:.85rem 1rem}.insight-card h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin-bottom:.35rem;font-family:var(--font-body);font-weight:500}.insight-card p{margin:0;line-height:1.55}.insight-card--accent{background:linear-gradient(180deg,#f4f4ec 0%,var(--bg-card) 100%);border-color:var(--accent-sage)}.exercise-card{align-self:stretch;background:var(--bg-card);border:1px solid var(--accent-sage);border-radius:var(--radius-lg);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.6rem}.exercise-card__header{display:flex;align-items:baseline;justify-content:space-between}.exercise-card__header h3{font-size:1.05rem}.exercise-card__progress{font-size:.75rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em}.exercise-card__prompt{margin:0;line-height:1.5}.exercise-card__input{border:1px solid var(--border-interactive);border-radius:var(--radius-md);padding:.55rem .75rem;background:var(--bg-card);font-family:var(--font-body);font-size:.95rem}.exercise-card__input:focus{border-color:var(--accent-sage-dark)}.exercise-card__input--single{padding:.4rem .7rem}.exercise-card__row{display:flex;gap:.4rem;flex-wrap:wrap}.exercise-card__row .exercise-card__input{flex:1 1 140px}.exercise-card__actions{display:flex;gap:.5rem;justify-content:flex-end;align-items:center}.breathing{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem 0}.breathing__circle{width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,var(--accent-pop-soft) 0%,var(--accent-sage) 70%);transition:transform 1s ease-in-out,opacity 1s ease-in-out;transform:scale(.6);opacity:.7}.breathing--active.breathing--inhale .breathing__circle{transform:scale(1.2);opacity:1;transition-duration:4s}.breathing--active.breathing--hold .breathing__circle{transform:scale(1.2);opacity:1;transition-duration:7s}.breathing--active.breathing--exhale .breathing__circle{transform:scale(.6);opacity:.7;transition-duration:8s}.breathing--active.breathing--rest .breathing__circle{transform:scale(.6);opacity:.7;transition-duration:1s}.breathing__label{display:flex;flex-direction:column;align-items:center;gap:.1rem}.breathing__label strong{font-size:1.05rem;font-family:var(--font-display)}.breathing__label span{font-size:.85rem;color:var(--ink-muted)}@media (max-width: 899px){.chat-panel__messages{padding:.5rem 1rem 1rem}.chat-panel__composer{padding:.65rem .85rem .85rem}.right-panel__body,.mobile-tab-view{padding:.85rem 1rem 2rem}.mood-widget{margin:.85rem 0 .6rem}}.consent-banner{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);z-index:150;width:min(680px,calc(100vw - 2rem));background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.consent-banner__text{margin:0;font-size:.92rem;line-height:1.5}.consent-banner__text a{color:var(--ink-sage)}.consent-banner__actions{display:flex;gap:.5rem;flex-wrap:wrap}.consent-btn{font-family:var(--font-body);font-size:.9rem;border-radius:var(--radius-md);padding:.55rem 1.1rem;min-height:44px;background:var(--bg-card);color:var(--text-warm);border:1px solid var(--border-interactive);transition:background .12s ease,color .12s ease}.consent-btn:hover{border-color:var(--ink-sage);color:var(--ink-sage)}.consent-btn--solid{background:var(--accent-sage-dark);border-color:var(--accent-sage-dark);color:#fdfbf6}.consent-btn--solid:hover{background:var(--ink-sage);color:#fdfbf6}.consent-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:160;background:#2d2a2773;display:grid;place-items:center;padding:1rem;overflow-y:auto}.consent-settings{background:var(--bg-chat);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);width:min(560px,100%);max-height:calc(100dvh - 2rem);overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.9rem}.consent-settings__head{display:flex;align-items:center;justify-content:space-between}.consent-settings__head h2{font-size:1.35rem}.consent-settings__close{background:none;border:none;font-size:1.4rem;line-height:1;color:var(--ink-muted);min-width:44px;min-height:44px;border-radius:var(--radius-sm)}.consent-settings__close:hover{color:var(--text-warm)}.consent-settings__gpc{margin:0;font-size:.88rem;color:var(--ink-sage);border:1px solid var(--border-softer);border-radius:var(--radius-md);padding:.6rem .8rem;background:#f4f4ec}.consent-row{border:1px solid var(--border-softer);border-radius:var(--radius-md);padding:.75rem .9rem;background:var(--bg-card)}.consent-row__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.consent-row__title{font-weight:600}.consent-row__locked{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-sage)}.consent-row__toggle{width:22px;height:22px;accent-color:var(--accent-sage-dark)}.consent-row__desc{margin:.4rem 0 0;font-size:.85rem;color:var(--ink-muted);line-height:1.45}.consent-settings__actions{display:flex;gap:.5rem;flex-wrap:wrap}.legal-links{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;align-items:center;justify-content:center;font-size:.82rem}.legal-links a,.legal-links__btn{color:var(--ink-muted);text-decoration:underline;background:none;border:none;padding:.35rem 0;font-size:.82rem;font-family:var(--font-body);min-height:32px}.legal-links a:hover,.legal-links__btn:hover{color:var(--text-warm)}.splash{grid-template-rows:1fr auto}.splash-footer{padding:1.25rem 1rem calc(1.25rem + env(safe-area-inset-bottom,0))}.legal-page{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg-app)}.legal-page__header{padding:1rem 1.5rem;background:var(--bg-chat);border-bottom:1px solid var(--border-softer)}.legal-page__home{color:var(--ink-sage);text-decoration:none;font-family:var(--font-display);font-size:1.1rem}.legal-page__home:hover{text-decoration:underline}.legal-page__body{flex:1;width:min(720px,100%);margin:0 auto;padding:2rem 1.5rem 3rem}.legal-page__body h1{font-size:2rem;margin-bottom:.35rem}.legal-page__body h2{font-size:1.25rem;margin:1.75rem 0 .5rem}.legal-page__body p{margin:0 0 .9rem;line-height:1.65}.legal-page__body a{color:var(--ink-sage)}.legal-page__effective{color:var(--ink-muted);font-size:.9rem;margin-bottom:1.5rem}.legal-inline-btn{background:none;border:none;padding:0;font-family:var(--font-body);font-size:inherit;color:var(--ink-sage);text-decoration:underline}.legal-table-wrap{overflow-x:auto;margin:1rem 0}.legal-table{border-collapse:collapse;width:100%;font-size:.88rem;background:var(--bg-card)}.legal-table th,.legal-table td{border:1px solid var(--border-soft);padding:.5rem .65rem;text-align:left;vertical-align:top}.legal-table th{background:var(--bg-panel);font-weight:600}.legal-page__footer{padding:1.25rem 1rem calc(1.25rem + env(safe-area-inset-bottom,0));border-top:1px solid var(--border-softer);background:var(--bg-chat)}
