:root{--color-navy: #2F4156;--color-teal: #567C8D;--color-sky: #C8D9E5;--color-sky-dark: #A8BFD0;--color-sky-deep: #8FAFC3;--color-cream: #F0EDE8;--color-white: #FFFFFF;--color-dim: rgba(47, 65, 86, .55);--color-faint: rgba(47, 65, 86, .08);--color-text-primary: var(--color-navy);--color-text-muted: var(--color-dim);--color-bg-page: var(--color-cream);--color-bg-card: var(--color-white);--color-bg-dark: var(--color-navy);--color-accent: var(--color-teal);--color-border: var(--color-sky-dark);--color-border-light: var(--color-sky);--header-height: 56px;--subheader-height: 40px;--chat-max-width: 820px;--composer-min-height: 80px;--font-primary: "DM Sans", sans-serif;--font-accent: "Fraunces", serif;--shadow-bubble: 0 2px 8px rgba(47, 65, 86, .08);--shadow-focus: 0 0 0 2px var(--color-teal);--ease-out: cubic-bezier(.33, 1, .68, 1)}*,*:before,*:after{box-sizing:border-box}:root{font-family:var(--font-primary);line-height:1.5;font-weight:400;color:var(--color-text-primary);background-color:var(--color-cream);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.6}}@keyframes bounce-dot{0%,80%,to{transform:scale(.8);opacity:.6}40%{transform:scale(1.2);opacity:1}}@keyframes message-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-status-dot-pulse{animation:pulse-dot 2s ease-in-out infinite}.chat-message-enter{animation:message-enter .35s var(--ease-out) forwards}.chat-thinking-dot:nth-child(1){animation:bounce-dot .6s ease-in-out 0s infinite}.chat-thinking-dot:nth-child(2){animation:bounce-dot .6s ease-in-out .15s infinite}.chat-thinking-dot:nth-child(3){animation:bounce-dot .6s ease-in-out .3s infinite}.chat-interface{display:flex;flex-direction:column;min-height:100vh;background:var(--color-cream)}.chat-header{position:sticky;top:0;z-index:100;height:var(--header-height);background:var(--color-navy);display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0}.chat-header-left{display:flex;align-items:center;gap:12px;flex-shrink:0}.chat-header-center{flex:1;display:flex;align-items:center;justify-content:center;min-width:0}.chat-header-new-session-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;border:none;border-radius:10px;color:var(--color-white);font-family:var(--font-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s,color .2s}.chat-header-new-session-btn:hover{background:var(--color-sky-dark);color:var(--color-white)}.chat-header-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.chat-header-icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:transparent;border:none;border-radius:10px;color:var(--color-white);cursor:pointer;transition:background .2s,opacity .2s}.chat-header-icon-btn:hover{background:#ffffff26;opacity:1}.chat-logo-icon{height:40px;width:auto;flex-shrink:0;object-fit:contain}.chat-status-dot{width:8px;height:8px;border-radius:50%;background:var(--color-sky);flex-shrink:0}.chat-status-label{font-size:.8125rem;color:var(--color-white);opacity:.95}.chat-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-teal);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--color-white)}.chat-main{flex:1;display:flex;min-height:0}.session-memory-wrap{width:320px;flex-shrink:0;position:sticky;top:calc(var(--header-height) + var(--subheader-height));align-self:flex-start;max-height:calc(100vh - var(--header-height) - var(--subheader-height));overflow-y:auto;background:var(--color-cream);border-right:1px solid rgba(47,65,86,.25)}.chat-content{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.chat-memory-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;padding:0;margin-right:8px;background:transparent;border:none;border-radius:10px;color:var(--color-text-muted);cursor:pointer;transition:background .2s,color .2s}.chat-memory-toggle:hover{background:#c8d9e533;color:var(--color-teal)}.chat-subheader{height:var(--subheader-height);background:var(--color-white);border-bottom:1px solid rgba(47,65,86,.12);display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0}.chat-subheader-left{display:flex;align-items:center;gap:8px}.chat-status-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--color-sky-dark);color:var(--color-white);font-size:.8125rem;font-weight:500;border-radius:20px}.chat-session-id{font-size:.75rem;color:var(--color-text-muted)}.chat-area{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:24px 16px 16px}.chat-messages{max-width:var(--chat-max-width);width:100%;margin:0 auto;overflow-y:auto;overflow-x:hidden;padding-bottom:16px;display:flex;flex-direction:column;gap:16px}.chat-message{display:flex;width:100%}.chat-message-user{justify-content:flex-end}.chat-message-assistant{justify-content:flex-start}.chat-bubble{max-width:85%;padding:16px;border-radius:16px;font-size:.9375rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.chat-message-assistant .chat-bubble{background:var(--color-white);color:var(--color-text-primary);box-shadow:var(--shadow-bubble);border:1px solid rgba(47,65,86,.06)}.chat-message-user .chat-bubble{background:var(--color-sky-dark);color:var(--color-white)}.chat-message-error .chat-bubble{background:var(--color-sky);color:var(--color-navy);border:1px solid rgba(47,65,86,.2)}.chat-bubble-thinking{display:inline-flex;align-items:center;gap:10px}.chat-thinking-dots{display:inline-flex;align-items:center;gap:4px}.chat-thinking-dot{width:6px;height:6px;border-radius:50%;background:var(--color-sky-dark)}.chat-thinking-text{font-size:.875rem;color:var(--color-text-muted)}.chat-composer{flex-shrink:0;background:var(--color-white);border-top:1px solid var(--color-teal);padding:16px 24px 20px}.chat-composer-inner{max-width:var(--chat-max-width);margin:0 auto;display:flex;align-items:flex-end;gap:12px;background:var(--color-white);border:1px solid rgba(47,65,86,.25);border-radius:12px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.chat-composer-inner:focus-within{border-color:var(--color-teal);box-shadow:var(--shadow-focus)}.chat-upload-btn{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:10px;color:var(--color-text-muted);cursor:pointer;transition:background .2s,color .2s}.chat-upload-btn:hover{background:#a8bfd033;color:var(--color-sky-dark)}.chat-mic-btn{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:10px;color:var(--color-text-muted);cursor:pointer;transition:background .2s,color .2s}.chat-mic-btn:hover{background:#c8d9e566;color:var(--color-teal)}.chat-mic-btn:disabled{opacity:.5;cursor:not-allowed}.chat-mic-btn.listening{background:var(--color-sky-dark);color:var(--color-white);animation:mic-pulse 1.5s ease-in-out infinite}.input-methods{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}.input-methods:empty{display:none}.input-tag{font-size:11px;padding:2px 8px;background:var(--blush-light);color:var(--color-teal);border-radius:10px}.listening-indicator{position:absolute;top:-30px;left:50%;transform:translate(-50%);background:var(--color-sky-dark);color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;display:flex;align-items:center;gap:6px;z-index:10}.chat-composer{position:relative}.pulse-dot{width:8px;height:8px;background:#fff;border-radius:50%;animation:pulse-dot 1s ease-in-out infinite}@keyframes mic-pulse{0%,to{opacity:1}50%{opacity:.6}}.image-preview{display:flex;gap:12px;padding:12px;margin-bottom:8px;background:var(--color-white);border:1px solid rgba(47,65,86,.2);border-radius:8px;align-items:center;max-width:var(--chat-max-width);margin-left:auto;margin-right:auto}.image-preview img{width:60px;height:60px;object-fit:cover;border-radius:4px}.preview-info{flex:1;display:flex;flex-direction:column;font-size:13px}.preview-info span:first-child{color:var(--color-text-primary);font-weight:500}.preview-info span:last-child{color:var(--color-text-muted);font-size:12px}.preview-remove{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;font-size:1.25rem;line-height:1;color:var(--color-text-muted);cursor:pointer;transition:background .2s,color .2s}.preview-remove:hover{background:#c8d9e54d;color:var(--color-sky-dark)}.chat-bubble-image{display:block;max-width:300px;border-radius:8px;margin-top:8px}.chat-input{flex:1;min-height:44px;max-height:160px;padding:10px 0;border:none;background:transparent;font-family:var(--font-primary);font-size:.9375rem;color:var(--color-text-primary);resize:none;outline:none}.chat-input::placeholder{color:var(--color-text-muted)}.chat-send-btn{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-sky-dark);border:none;border-radius:12px;color:var(--color-white);cursor:pointer;transition:background .2s}.chat-send-btn:hover:not(:disabled){background:var(--color-teal)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-composer-hint{max-width:var(--chat-max-width);margin:6px auto 0;font-size:.75rem;color:var(--color-text-muted)}.session-memory{padding:24px 20px;height:100%}.memory-header{margin-bottom:16px}.memory-header h3{margin:0 0 4px;font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.memory-subtitle{margin:0;font-size:.75rem;color:var(--color-text-muted)}.memory-loading{margin:0 0 16px;font-size:.8125rem;color:var(--color-text-muted)}.memory-sections{display:flex;flex-direction:column;gap:4px}.memory-section{border-radius:10px;overflow:hidden}.memory-section-header{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;background:transparent;border:none;font-family:var(--font-primary);font-size:.875rem;color:var(--color-teal);cursor:pointer;transition:background .2s}.memory-section-header:hover{background:#c8d9e533}.memory-section-icon{display:flex;align-items:center;justify-content:center;color:var(--color-sky-dark);flex-shrink:0}.memory-section-title{flex:1;text-align:left}.memory-section-chevron{flex-shrink:0;transition:transform .2s var(--ease-out);color:var(--color-text-muted)}.memory-section-body{padding:0 14px 12px 42px}.memory-section-custom{font-size:.875rem;color:var(--color-text-primary);line-height:1.5}.memory-section-custom>div{margin-bottom:12px}.memory-section-custom ul{margin:4px 0 0;padding-left:18px}.memory-section-custom li{margin-bottom:4px}.memory-section-list{margin:0;padding-left:18px;font-size:.875rem;color:var(--color-text-primary);line-height:1.5}.memory-section-item{margin-bottom:6px}.memory-section-item-enter{animation:message-enter .3s var(--ease-out) forwards}.memory-section-empty{margin:0;font-size:.8125rem;color:#2f415699}.outcomes-subsection{margin-bottom:16px}.outcomes-subsection:last-child{margin-bottom:0}.outcomes-subsection strong{display:block;color:var(--color-teal);font-size:13px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.outcomes-subsection ul{margin:0;padding-left:20px}.outcomes-subsection li{margin-bottom:6px;color:var(--color-text-primary);line-height:1.5}.pricing-details-list{display:flex;flex-direction:column;gap:12px}.pricing-detail-item{line-height:1.6}.pricing-detail-item strong{color:var(--color-teal);font-weight:600;display:inline;margin-right:6px}@media(max-width:767px){.session-memory-wrap{position:fixed;left:0;top:0;bottom:0;z-index:50;width:320px;max-width:85vw;transform:translate(-100%);transition:transform .25s var(--ease-out);box-shadow:4px 0 20px #2f415626}.session-memory-wrap.session-memory-open{transform:translate(0)}.chat-memory-toggle{display:flex}}:root{--blush-light: rgba(200, 217, 229, .35);--border-light: rgba(47, 65, 86, .15)}.results-page{min-height:100vh;background:var(--color-cream);display:flex;flex-direction:column}.results-subheader{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--color-white);border-bottom:1px solid var(--border-light)}.results-subheader-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-navy)}.results-session-id{font-size:.75rem;color:var(--color-text-muted)}.results-main{flex:1;padding:24px 16px 40px;overflow-y:auto}.results-loading,.results-error{max-width:900px;margin:40px auto;padding:40px;background:var(--color-white);border-radius:16px;box-shadow:0 2px 8px #0000001a;text-align:center}.results-spinner{width:48px;height:48px;margin:0 auto 20px;border:3px solid var(--blush-light);border-top-color:var(--color-sky-dark);border-radius:50%;animation:results-spin .8s linear infinite}@keyframes results-spin{to{transform:rotate(360deg)}}.results-loading-message{margin:0 0 8px;font-size:1.125rem;font-weight:500;color:var(--color-navy)}.results-loading-hint{margin:0;font-size:.875rem;color:var(--color-text-muted)}.results-error-message{margin:0 0 12px;font-size:1rem;color:var(--color-navy)}.results-error-suggestion{margin:0 0 24px;font-size:.875rem;color:var(--color-text-muted)}.results-content{max-width:900px;margin:0 auto;padding:40px;background:var(--color-white);border-radius:16px;box-shadow:0 2px 8px #0000001a}.results-markdown{font-size:.9375rem;line-height:1.6}.config-h1{color:var(--color-navy);font-size:32px;font-weight:600;margin-bottom:16px;border-bottom:2px solid var(--color-sky-dark);padding-bottom:12px}.config-h2{color:var(--color-navy);font-size:24px;font-weight:600;margin-top:32px;margin-bottom:16px}.config-h3{color:var(--color-teal);font-size:18px;font-weight:600;margin-top:24px;margin-bottom:12px}.config-h4{color:var(--color-teal);font-size:16px;font-weight:600;margin-top:20px;margin-bottom:10px}.config-p{margin:0 0 12px;color:var(--color-text-primary)}.config-ul,.config-ol{margin:0 0 16px;padding-left:24px}.config-li{margin-bottom:8px}.results-markdown input[type=checkbox]{accent-color:var(--color-sky-dark);margin-right:10px;vertical-align:middle}.config-table{width:100%;border-collapse:collapse;margin:20px 0}.config-table th{background:var(--color-teal);color:var(--color-white);padding:12px;text-align:left;font-weight:600}.config-table td{padding:12px;border:1px solid var(--border-light)}.config-table tr:nth-child(2n){background:var(--blush-light)}.config-pre{margin:16px 0;overflow-x:auto}.config-code{background:#f5f5f5;padding:16px;border-radius:8px;font-family:Courier New,monospace;font-size:.875rem;display:block;overflow-x:auto}.config-inline-code{background:#f5f5f5;padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:.875em}.config-link{color:var(--color-teal);text-decoration:underline}.config-link:hover{color:var(--color-navy)}.results-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:center;margin-top:40px;padding-top:24px;border-top:1px solid var(--border-light)}.results-actions .btn-primary,.results-actions .btn-secondary{display:inline-flex;align-items:center;gap:8px}.btn-primary{padding:12px 24px;background:var(--color-sky-dark);color:var(--color-white);border:none;border-radius:8px;font-weight:600;font-family:var(--font-primary);font-size:.9375rem;cursor:pointer;transition:background .2s,color .2s}.btn-primary:hover{background:var(--color-teal)}.btn-secondary{padding:12px 24px;background:var(--color-white);color:var(--color-navy);border:1px solid var(--color-teal);border-radius:8px;font-weight:600;font-family:var(--font-primary);font-size:.9375rem;cursor:pointer;transition:background .2s,color .2s}.btn-secondary:hover{background:var(--blush-light)}.chat-generate-wrap{max-width:var(--chat-max-width);width:100%;margin:0 auto;padding:0 16px 16px}.generate-config-btn{width:100%;margin:20px 0 0;padding:16px;background:var(--color-sky-dark);color:var(--color-white);border:none;border-radius:12px;font-size:16px;font-weight:600;font-family:var(--font-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .2s}.generate-config-btn:hover{background:var(--color-teal)}.spinner-small{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin-right:8px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}@media print{.results-page{background:#fff}.chat-header,.results-subheader,.results-actions{display:none!important}.results-content{box-shadow:none;border-radius:0;margin:0;padding:40px}.results-markdown *{-webkit-print-color-adjust:exact!important;color-adjust:exact!important;print-color-adjust:exact!important}.config-h1,.config-h2{page-break-after:avoid}.config-table,pre{page-break-inside:avoid}}
