@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-semi-condensed-vietnamese-700-normal-Dm7RZTvf.woff2) format("woff2"),url(/assets/barlow-semi-condensed-vietnamese-700-normal-BvUTSFNY.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-semi-condensed-latin-ext-700-normal-BhgEo64M.woff2) format("woff2"),url(/assets/barlow-semi-condensed-latin-ext-700-normal-C0vCoZIV.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-semi-condensed-latin-700-normal-BpqDG8I9.woff2) format("woff2"),url(/assets/barlow-semi-condensed-latin-700-normal-BMyZXq_9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-semi-condensed-vietnamese-800-normal-Dg4KWlVx.woff2) format("woff2"),url(/assets/barlow-semi-condensed-vietnamese-800-normal-BmhfYeue.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-semi-condensed-latin-ext-800-normal-mDlgYxrz.woff2) format("woff2"),url(/assets/barlow-semi-condensed-latin-ext-800-normal-C348B91E.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-semi-condensed-latin-800-normal-C0_dLkYa.woff2) format("woff2"),url(/assets/barlow-semi-condensed-latin-800-normal-BEMn64Cj.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-cream: #f2f2eb;--color-teal: #3d5f58;--color-teal-dark: #2d4540;--color-coral: #e97b77;--color-coral-hover: #ee9390;--color-gold: #f5b726;--color-ink: #101d1d;--color-muted: #505050;--color-white: #fff;--color-surface: #f7f7f2;--color-border: #d0d0d0;--color-field-border: #70786f;--color-error: #b3261e;--color-error-surface: #f9dedc;--color-error-text: #410e0b;--color-reward-surface: #ffd8a8;--color-reward-text: #3d2f0a;--font-heading: "Barlow Semi Condensed", "Arial Narrow", sans-serif;--font-body: "Inter Variable", system-ui, sans-serif;--radius: 8px;font-family:var(--font-body);color:var(--color-ink);background:var(--color-cream);font-synthesis:none;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-width:280px}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button:disabled{cursor:not-allowed}button,label,p,dd{overflow-wrap:anywhere}button{color:inherit}:focus-visible{outline:3px solid var(--color-teal);outline-offset:3px}h1,h2,h3{font-family:var(--font-heading);margin:0;text-wrap:balance}h1{font-size:2rem;line-height:1.1;font-weight:700;letter-spacing:-.015em}h1[tabindex]:focus{outline:none}h2{font-size:1.75rem;line-height:1.2}h3{font-size:1.5rem;line-height:1.25}p{margin:0;line-height:1.6}input,textarea,select{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--color-field-border);border-radius:var(--radius);background:var(--color-white);color:var(--color-ink);font-size:1rem;line-height:1.5}textarea{resize:vertical}textarea::placeholder,input::placeholder{color:var(--color-muted);opacity:1}input:disabled,textarea:disabled,select:disabled{color:var(--color-muted);background:#efefea}[aria-invalid=true]{border-color:var(--color-error)}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:20px;padding:0;margin:0;flex:0 0 20px;accent-color:var(--color-teal)}.app{width:100%;max-width:760px;height:100dvh;margin:0 auto;padding:0 16px;display:flex;flex-direction:column}.app-header{min-height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.header-brand,.header-actions,.brand{display:flex;align-items:center;gap:8px}.brand{gap:8px;font-family:var(--font-heading);font-size:1.375rem;font-weight:800;white-space:nowrap}.brand-mark{width:28px;height:28px;color:var(--color-teal)}.session-label{font-size:.6875rem;color:var(--color-muted)}main{min-width:0;min-height:0;flex:1;display:flex;flex-direction:column;overflow-y:auto}.app--conversation main{overflow:hidden}.icon-button{width:44px;min-width:44px;height:44px;padding:10px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius);background:transparent}.icon{width:22px;height:22px;flex-shrink:0}.icon-button:hover:not(:disabled){background:#e2e9e3}.icon-button:disabled{color:var(--color-muted)}.button{min-height:46px;padding:12px 16px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;border-radius:var(--radius);font-size:.9375rem;line-height:1.45;font-weight:600;transition:background-color .15s ease}.button--primary{background:var(--color-coral);color:var(--color-ink)}.button--primary:hover:not(:disabled){background:var(--color-coral-hover)}.button--primary:active:not(:disabled){background:#e78a85}.button--secondary{border-color:var(--color-field-border);background:transparent}.button--quiet{background:transparent;text-decoration:underline;text-underline-offset:3px}.button--secondary:hover:not(:disabled),.button--quiet:hover:not(:disabled){background:#e2e9e3}.button:disabled{color:var(--color-muted);background:#e2e3dc}.text-action{min-height:44px;display:inline-flex;align-items:center;gap:6px;padding:8px 0;border:0;background:transparent;color:var(--color-teal-dark);font-size:.8125rem;font-weight:600}.text-action:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}.text-action:disabled{color:var(--color-muted)}.text-action .icon{width:16px;height:16px}.welcome{min-height:0;flex:1;display:flex;flex-direction:column;justify-content:center;gap:32px;padding:40px 8px max(40px,env(safe-area-inset-bottom))}.welcome h1{font-size:clamp(3.5rem,15vw,5rem);line-height:.98;letter-spacing:-.025em;font-weight:800;color:var(--color-teal-dark)}.welcome p{max-width:28ch;margin-top:20px;color:var(--color-muted);font-size:1rem}.welcome-cta{width:100%;max-width:320px}.loading-status{margin:auto;color:var(--color-muted);font-size:.875rem}.chat{flex:1;min-height:0;display:flex;flex-direction:column}.message-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 4px 16px}.chat-thread{min-height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}.chat-thread>*{flex-shrink:0}.chat-thread>:last-child{margin-bottom:0}.message{width:fit-content;max-width:90%;margin-bottom:24px}.message p{white-space:pre-wrap}.message--assistant{padding:0;max-width:min(90%,65ch)}.message--user{margin-left:auto;padding:10px 14px;background:#e2e9e3;border-radius:var(--radius)}.message-note{display:block;color:var(--color-muted);margin-top:6px;font-size:.75rem}.typing-status,.chat-status{color:var(--color-muted);font-size:.8125rem}.typing-bubble{display:inline-flex;align-items:center;min-height:40px;padding:12px 16px;margin:0 0 20px;background:#e2e9e3;border-radius:var(--radius)}.typing-dots{display:flex;align-items:center;gap:5px}.typing-dots>span{width:6px;height:6px;border-radius:50%;background:var(--color-teal);animation:typing-dot 1.2s ease-in-out infinite}.typing-dots>span:nth-child(2){animation-delay:.15s}.typing-dots>span:nth-child(3){animation-delay:.3s}@keyframes typing-dot{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.chat-status{padding:0 4px 8px}.chat-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 4px;flex-shrink:0}.quick-replies{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}.recommendation-actions{display:flex;gap:16px;flex-wrap:wrap}.message--carousel{width:100%;max-width:100%}.recommendation-carousel{width:100%;margin-top:12px}.carousel-track{position:relative;display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:4px 2px 12px}.hobby-card{flex:0 0 calc(100% - 24px);scroll-snap-align:start;min-width:0;padding:20px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);display:flex;flex-direction:column;gap:12px}.hobby-card:only-child{flex-basis:100%}.hobby-card h2{font-size:1.75rem}.hobby-card p{font-size:.9375rem}.hobby-card-meta{display:flex;justify-content:space-between;gap:12px;color:var(--color-muted);font-size:.6875rem}.hobby-card-starter strong{display:block;font-size:.8125rem;margin-bottom:6px}.hobby-card details{border-top:1px solid var(--color-border)}.hobby-card-actions{margin-top:auto;display:flex;flex-direction:column;align-items:stretch;gap:4px}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:12px;font-size:.75rem;color:var(--color-muted)}.carousel-next .icon{transform:rotate(180deg)}@media(min-width:640px){.hobby-card{flex-basis:340px}.hobby-card:only-child{flex-basis:340px}}.quick-reply{min-width:44px;min-height:44px;padding:8px 14px;border:1px solid var(--color-field-border);border-radius:var(--radius);background:transparent;color:var(--color-teal-dark);font-size:.875rem}.quick-reply:hover:not(:disabled){background:#e2e9e3}.quick-reply:disabled{color:var(--color-muted)}.composer{display:flex;gap:8px;align-items:flex-end;flex-shrink:0;padding:10px 0 max(12px,env(safe-area-inset-bottom))}.composer textarea{min-height:46px;max-height:120px;padding:11px 12px;resize:none;overflow-y:auto}.composer-send{background:var(--color-coral);margin-bottom:1px}.composer-send:hover:not(:disabled){background:var(--color-coral-hover)}.composer-send:disabled{background:#e2e3dc}.inline-warning{display:flex;align-items:center;justify-content:space-between;min-height:36px;padding:0 4px;gap:12px;color:var(--color-error-text);font-size:.75rem;flex-shrink:0}.inline-warning .text-action{min-height:36px}.error-banner,.connection-banner{padding:12px;margin:12px 0;border-radius:var(--radius);font-size:.875rem}.error-banner{background:var(--color-error-surface);color:var(--color-error-text)}.connection-banner{background:var(--color-reward-surface);color:var(--color-reward-text)}.info-dialog{width:calc(100% - 32px);max-width:460px;max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--color-border);border-radius:12px;background:var(--color-cream);color:var(--color-ink)}.info-dialog::backdrop{background:#101d1d61}.info-content{padding:20px}.info-content>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.info-content h2{font-size:1.625rem}.info-content p{font-size:.875rem;margin-top:10px}.info-content details{margin-top:16px;border-top:1px solid var(--color-border)}summary{min-height:44px;padding:12px 0;font-size:.875rem;font-weight:600}.info-actions{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:24px}.review-view,.utility-view{padding:20px 0 max(24px,env(safe-area-inset-bottom))}.review-view>h1{margin-bottom:24px}.review-form{padding:0}.field+.field,.field-grid,.cycle-picker,.exclusions{margin-top:20px}.field>label{display:block;font-size:.8125rem;font-weight:600;margin-bottom:6px}.field__hint{color:var(--color-muted);font-size:.75rem;line-height:1.5;margin:6px 0 10px}.field__error{color:var(--color-error);font-size:.75rem;margin-top:6px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field-grid .field{margin:0}.cycle-picker{padding:0;border:0;min-width:0}.cycle-picker legend{font-size:.8125rem;font-weight:600}.cycle-options{display:flex;gap:12px;margin-top:8px}.cycle-option{display:flex;flex:1;align-items:center;gap:12px;padding:12px;border:1px solid var(--color-field-border);border-radius:var(--radius);font-size:.875rem;cursor:pointer}.cycle-option.is-selected{background:#e2e9e3;border-color:var(--color-teal)}.checkbox-label{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:12px 0;font-size:.875rem;line-height:1.5;cursor:pointer}.checkbox-label small{display:block;color:var(--color-muted);font-size:.75rem}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.exclusions{border-top:1px solid var(--color-border)}.review-submit{width:100%;margin-top:16px}.utility-edit{margin-top:24px}.experiments-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;flex-wrap:wrap}.experiments-heading p{color:var(--color-muted);font-size:.8125rem;margin-top:8px}.reward-badge{padding:6px 10px;background:var(--color-reward-surface);color:var(--color-reward-text);border-radius:9999px;font-size:.6875rem}.experiment-grid{margin-top:24px}.experiment{padding:20px 0;border-top:1px solid var(--color-border)}.experiment>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.experiment h3{font-size:1.5rem}.experiment>p{margin-top:8px;font-size:.9375rem}.experiment-meta{color:var(--color-muted);font-size:.6875rem;white-space:nowrap}.experiment>.button{margin-top:16px}.activity-detail{padding-top:16px}.activity-detail>p{margin-bottom:16px}.activity-detail details{margin:12px 0}.activity-detail details p,.activity-detail ul{font-size:.875rem;line-height:1.6;margin-bottom:8px}.activity-detail ul{padding-left:20px}.activity-form{padding-top:16px;border-top:1px solid var(--color-border)}.activity-form h4{font-size:1rem;margin:0 0 16px}.activity-form .field{margin-top:16px}.activity-form>.button{width:100%}.refresh-panel,.history{margin-top:24px;border-top:1px solid var(--color-border)}.refresh-panel label{display:block;font-size:.8125rem;margin-bottom:8px}.refresh-panel .button{margin-top:12px}.history section{padding:16px 0;border-bottom:1px solid var(--color-border)}.history h3{font-size:1.125rem}.history p,.history li{font-size:.8125rem;line-height:1.6;margin-top:8px}.history ul{padding-left:16px}.privacy-panel{padding:20px 0 32px}.privacy-panel>p{margin-top:16px;font-size:.875rem}.privacy-panel>section{padding-top:20px;margin-top:24px;border-top:1px solid var(--color-border)}.privacy-panel h2{font-size:1.5rem}.privacy-panel section>p{margin-top:8px;font-size:.875rem}.privacy-panel section>.button,.privacy-panel section>label{margin-top:12px}.privacy-panel section>label{display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:12px;z-index:10;padding:12px;background:var(--color-ink);color:var(--color-white)}.skip-link:focus{top:12px}@media(min-width:640px){.app{padding-inline:24px}.app-header{min-height:72px}.welcome{padding-inline:40px}.welcome h1{font-size:5rem}.message-log{padding-inline:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
