*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-family)}.app{display:flex;flex-direction:column;height:100vh;max-width:640px;margin:0 auto}.app-header{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.app-header .logo{height:36px;aspect-ratio:var(--brand-logo-aspect, 1);max-width:200px;flex-shrink:0;background-image:var(--brand-logo-url);background-size:contain;background-position:left center;background-repeat:no-repeat}[data-logo-shape=wordmark] .app-header .brand-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.brand-name{font-weight:600;font-size:1.05rem}.brand-name:after{content:var(--brand-name)}.clear-button{margin-left:auto;padding:.4rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);font-family:inherit;font-size:.85rem;cursor:pointer}.clear-button:disabled{opacity:.5;cursor:default}.chat{flex:1;min-height:0;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.message{max-width:80%;padding:.6rem .9rem;border-radius:var(--radius-lg);line-height:1.4}.message--assistant{align-self:flex-start;background:var(--color-bubble-assistant-bg);color:var(--color-bubble-assistant-text);border:1px solid var(--color-border);border-bottom-left-radius:var(--radius-sm)}.message--user{align-self:flex-end;background:var(--color-bubble-user-bg);color:var(--color-bubble-user-text);border-bottom-right-radius:var(--radius-sm)}.message--thinking{font-style:italic;color:var(--color-text-muted);animation:thinking-pulse 1.4s ease-in-out infinite}@keyframes thinking-pulse{0%,to{opacity:.55}50%{opacity:1}}.message--assistant p{margin:0 0 .5rem}.message--assistant>*:last-child{margin-bottom:0}.message--assistant h1,.message--assistant h2,.message--assistant h3,.message--assistant h4{margin:.75rem 0 .4rem;font-size:1rem}.message--assistant strong{font-weight:600}.message--assistant ul,.message--assistant ol{margin:.3rem 0 .5rem;padding-left:1.25rem}.message--assistant hr{border:none;border-top:1px solid var(--color-border);margin:.6rem 0}.message--assistant table{border-collapse:collapse;width:100%;margin:.4rem 0 .6rem;font-size:.9rem}.message--assistant th,.message--assistant td{border:1px solid var(--color-border);padding:.3rem .5rem;text-align:left}.message--assistant code{background:var(--color-bg);border-radius:var(--radius-sm);padding:.1rem .3rem;font-size:.9em}.auth-widget{max-width:100%;width:20rem;align-self:center;display:flex;flex-direction:column;gap:.6rem}.auth-widget-intro{margin:0;font-size:.9rem;color:var(--color-text-muted)}.auth-widget-tabs{display:flex;gap:.4rem}.auth-tab{flex:1;padding:.4rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);font-family:inherit;font-size:.85rem;cursor:pointer}.auth-tab--active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}.auth-widget-form{display:flex;flex-direction:column;gap:.5rem}.auth-widget-form input{padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:.95rem}.auth-widget-form button{padding:.55rem .9rem;border:none;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-contrast);font-family:inherit;font-size:.95rem;cursor:pointer}.auth-widget-form button:disabled{opacity:.5;cursor:default}.auth-widget-providers{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.auth-widget-provider{padding:.55rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:inherit;font-family:inherit;font-size:.95rem;cursor:pointer}.auth-widget-provider:disabled{opacity:.5;cursor:default}.auth-widget-divider{margin:.25rem 0 0;text-align:center;color:var(--color-text-muted);font-size:.8rem}.auth-widget-error{color:#b3261e;font-size:.85rem}.auth-widget-forgot{margin:0;text-align:right}.auth-widget-link{padding:0;border:none;background:none;color:var(--color-text-muted);font-family:inherit;font-size:.8rem;text-decoration:underline;cursor:pointer}.auth-widget-email-readonly{color:var(--color-text-muted);background:var(--color-bg)}.resumable-session-list{display:flex;flex-direction:column;gap:.5rem}.resumable-session-card{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-family:inherit;text-align:left;cursor:pointer}.resumable-session-venue{font-size:.85rem;font-weight:600}.resumable-session-preview{font-size:.8rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.deposit-payment-card{width:20rem;max-width:100%;display:flex;flex-direction:column;gap:.5rem}.deposit-payment-card--paid{font-weight:600}.deposit-payment-intro{margin:0}.deposit-payment-loading{margin:0;color:var(--color-text-muted);font-size:.9rem}.deposit-payment-form{display:flex;flex-direction:column;gap:.6rem}.deposit-payment-form button{padding:.55rem .9rem;border:none;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-contrast);font-family:inherit;font-size:.95rem;cursor:pointer}.deposit-payment-form button:disabled{opacity:.5;cursor:default}.deposit-payment-error{color:#b3261e;font-size:.85rem}.status-banner{padding:.55rem 1.25rem;border-top:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-size:.82rem;text-align:center}.composer{display:flex;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid var(--color-border);background:var(--color-surface)}.composer input{flex:1;padding:.6rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:1rem}.composer button{padding:.6rem 1.1rem;border:none;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-contrast);font-family:inherit;font-size:1rem;cursor:pointer}.composer button:disabled{opacity:.5;cursor:default}.choice-chips{display:flex;flex-wrap:wrap;gap:.45rem;align-self:flex-start;max-width:100%}.choice-chip{padding:.4rem .85rem;border:1px solid var(--color-primary);border-radius:999px;background:var(--color-surface);color:var(--color-primary);font-family:inherit;font-size:.9rem;cursor:pointer}.choice-chip:hover:not(:disabled){background:var(--color-primary);color:var(--color-primary-contrast)}.choice-chip:disabled{opacity:.5;cursor:default}.form-card{width:24rem;max-width:100%;display:flex;flex-direction:column;gap:.6rem}.form-card-title{margin:0;font-weight:600}.form-card-subtitle{font-weight:400;color:var(--color-text-muted)}.form-card-field{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.form-card-field input,.form-card-field select,.form-card-field textarea{padding:.45rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:.95rem;background:var(--color-surface);color:var(--color-text)}.form-card-options{display:flex;flex-wrap:wrap;gap:.35rem .9rem}.form-card-option{display:inline-flex;align-items:center;gap:.3rem}.form-card-required{color:#b3261e}.form-card-help{color:var(--color-text-muted);font-size:.8rem}.form-card-error{margin:0;padding-left:1rem;color:#b3261e;font-size:.85rem}.form-card button[type=submit]{padding:.55rem .9rem;border:none;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-contrast);font-family:inherit;font-size:.95rem;cursor:pointer}.form-card button[type=submit]:disabled{opacity:.5;cursor:default}.link-error{border-left:3px solid #b91c1c;background:#fef2f2;color:#7f1d1d}.memory-card,.memories-panel{display:flex;flex-direction:column;gap:.5rem}.memory-card-question{margin:0}.memory-card-hook{margin:0;font-style:italic}.memory-card-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.memories-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.4rem}.memories-list li{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.memory-venue{color:var(--color-text-muted);font-size:.85rem}.reply-interrupted p{margin:0 0 .5rem}:root{--brand-name: "Sunset Group Tours";--brand-logo-url: none;--color-primary: #2f6f4f;--color-primary-contrast: #ffffff;--color-bg: #faf7f2;--color-surface: #ffffff;--color-text: #1f2521;--color-text-muted: #6b7268;--color-border: #e2ddd3;--color-bubble-assistant-bg: #ffffff;--color-bubble-assistant-text: var(--color-text);--color-bubble-user-bg: var(--color-primary);--color-bubble-user-text: var(--color-primary-contrast);--font-family: "Inter", system-ui, -apple-system, sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px}
