.landing-page{--paper: #F4EFE4;--paper-2: #EFE8D9;--paper-3: #E8DFCC;--ink: #231F18;--ink-soft: #564E42;--ink-faint: #8C8273;--maroon: #B93A51;--maroon-deep: #7A2236;--maroon-tint: rgba(185, 58, 81, .07);--gold: #A2742F;--line: rgba(35, 31, 24, .14);--line-soft: rgba(35, 31, 24, .08);--shadow: 0 1px 2px rgba(35, 31, 24, .05), 0 18px 40px -24px rgba(35, 31, 24, .28);--display: "Fraunces", Georgia, "Times New Roman", serif;--body: "Hanken Grotesk", system-ui, sans-serif;--maxw: 1180px;background:var(--paper);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}.landing-page .grain{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:.045;mix-blend-mode:multiply}.landing-page .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}.landing-page section{position:relative;z-index:2}.landing-page h1,.landing-page h2,.landing-page h3{font-family:var(--display);font-weight:500;line-height:1.06;letter-spacing:-.01em}.landing-page .em{font-style:italic;color:var(--maroon)}.landing-page .eyebrow{font-family:var(--body);font-size:.75rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--maroon);display:inline-flex;align-items:center;gap:.7rem}.landing-page .eyebrow:before{content:"";width:26px;height:1px;background:var(--maroon);opacity:.55;display:inline-block}.landing-page a{color:inherit;text-decoration:none}.landing-page .btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--body);font-weight:600;font-size:.98rem;padding:.95rem 1.6rem;border-radius:999px;cursor:pointer;border:1px solid transparent;transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease;white-space:nowrap}.landing-page .btn .arr{transition:transform .25s ease}.landing-page .btn:hover .arr{transform:translate(4px)}.landing-page .btn-primary{background:var(--maroon);color:#fdf8ee;box-shadow:0 10px 24px -14px #b93a51cc}.landing-page .btn-primary:hover{background:var(--maroon-deep);transform:translateY(-2px)}.landing-page .btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.landing-page .btn-ghost:hover{border-color:var(--maroon);color:var(--maroon);transform:translateY(-2px)}.landing-page .lp-header{position:sticky;top:0;z-index:50;background:#f4efe4d1;-webkit-backdrop-filter:saturate(160%) blur(12px);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--line-soft)}.landing-page .nav{display:flex;align-items:center;justify-content:space-between;height:72px}.landing-page .brand{display:flex;align-items:center;gap:.6rem}.landing-page .brand .name{font-family:var(--display);font-weight:600;font-size:1.12rem;letter-spacing:.04em;text-transform:uppercase}.landing-page .brand .name span{color:var(--maroon)}.landing-page .nav-links{display:flex;align-items:center;gap:2rem}.landing-page .nav-links a{font-size:.92rem;font-weight:500;color:var(--ink-soft);transition:color .2s ease;position:relative}.landing-page .nav-links a:after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:var(--maroon);transition:width .25s ease}.landing-page .nav-links a:hover{color:var(--ink)}.landing-page .nav-links a:hover:after{width:100%}.landing-page .nav-cta{display:flex;align-items:center;gap:1.2rem}.landing-page .menu-btn{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px}.landing-page .menu-btn span{width:22px;height:2px;background:var(--ink);display:block;transition:.3s}.landing-page .hero{padding:clamp(3.5rem,8vw,7rem) 0 clamp(4rem,8vw,6.5rem);position:relative;overflow:hidden}.landing-page .hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.5;background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(120% 80% at 70% 12%,#000 0%,transparent 62%);mask-image:radial-gradient(120% 80% at 70% 12%,#000 0%,transparent 62%)}.landing-page .hero-inner{position:relative;z-index:2;max-width:880px}.landing-page .hero h1{font-size:clamp(2.9rem,7.2vw,5.6rem);font-weight:500;margin:1.5rem 0 0;letter-spacing:-.02em}.landing-page .hero .lead{font-size:clamp(1.12rem,2vw,1.4rem);color:var(--ink-soft);max-width:640px;margin:1.6rem 0 2.4rem;line-height:1.6}.landing-page .chatbox{max-width:660px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:.55rem .55rem .55rem 1.4rem;display:flex;align-items:center;gap:1rem;cursor:text;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}.landing-page .chatbox:hover{border-color:var(--maroon);transform:translateY(-2px);box-shadow:0 1px 2px #231f180d,0 26px 50px -28px #b93a5166}.landing-page .chatbox .ph{flex:1;color:var(--ink-faint);font-size:1.05rem;font-weight:400;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.landing-page .chatbox .ph b{color:var(--ink);font-weight:500}.landing-page .chat-send{flex:none;width:46px;height:46px;border-radius:12px;background:var(--maroon);display:grid;place-items:center;color:#fdf8ee;transition:background .25s ease,transform .25s ease}.landing-page .chatbox:hover .chat-send{background:var(--maroon-deep)}.landing-page .chat-send svg{width:20px;height:20px}.landing-page .chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem;max-width:680px}.landing-page .chip{font-size:.86rem;font-weight:500;color:var(--ink-soft);background:var(--paper-2);border:1px solid var(--line-soft);padding:.5rem 1rem;border-radius:999px;cursor:pointer;transition:all .22s ease}.landing-page .chip:hover{background:#fff;border-color:var(--maroon);color:var(--maroon);transform:translateY(-1px)}.landing-page .reassure{margin-top:1.6rem;font-size:.86rem;color:var(--ink-faint);display:flex;align-items:center;gap:.5rem}.landing-page .reassure .dot{width:5px;height:5px;border-radius:50%;background:var(--gold);display:inline-block}.landing-page .band{padding:clamp(5rem,9vw,8.5rem) 0}.landing-page .band--alt{background:var(--paper-2);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.landing-page .sec-head{max-width:680px;margin-bottom:clamp(2.4rem,5vw,3.6rem)}.landing-page .sec-head h2{font-size:clamp(2rem,4.6vw,3.4rem);margin-top:1.1rem}.landing-page .sec-head p{color:var(--ink-soft);font-size:1.08rem;margin-top:1.1rem;max-width:580px}.landing-page .story-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5.5rem);align-items:start}.landing-page .story-copy p{color:var(--ink-soft);font-size:1.08rem;margin-bottom:1.3rem;max-width:42ch}.landing-page .story-copy p:first-child{font-size:1.18rem;color:var(--ink)}.landing-page .pullquote{position:relative;align-self:center;border-left:2px solid var(--maroon);padding:1rem 0 1rem 2rem}.landing-page .pullquote q{font-family:var(--display);font-style:italic;font-size:clamp(1.7rem,3.2vw,2.6rem);line-height:1.2;quotes:none;display:block;color:var(--ink)}.landing-page .pullquote .by{margin-top:1.4rem;font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}.landing-page .phil-lead{font-family:var(--display);font-size:clamp(1.3rem,2.6vw,1.9rem);font-weight:400;line-height:1.45;max-width:760px;color:var(--ink)}.landing-page .principles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:clamp(2.6rem,5vw,3.8rem)}.landing-page .principle{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:2rem 1.8rem;transition:transform .3s ease,box-shadow .3s ease}.landing-page .band--alt .principle{background:#fff}.landing-page .principle:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.landing-page .principle .num{font-family:var(--display);font-style:italic;color:var(--maroon);font-size:1.3rem;margin-bottom:.9rem}.landing-page .principle h3{font-size:1.32rem;margin-bottom:.7rem;font-weight:600}.landing-page .principle p{color:var(--ink-soft);font-size:.98rem}.landing-page .aud-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}.landing-page .aud{background:#fff;border:1px solid var(--line);border-radius:18px;padding:2.2rem;display:flex;gap:1.4rem;align-items:flex-start;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.landing-page .aud:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#b93a5166}.landing-page .aud .flag{flex:none;width:46px;height:46px;border-radius:12px;background:var(--maroon-tint);color:var(--maroon);display:grid;place-items:center;font-family:var(--display);font-weight:600;font-size:1.15rem}.landing-page .aud h3{font-size:1.28rem;margin-bottom:.5rem;font-weight:600}.landing-page .aud p{color:var(--ink-soft);font-size:1rem}.landing-page .topics{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.landing-page .topic{padding:2.1rem 1.9rem;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);transition:background .25s ease}.landing-page .topic:hover{background:var(--paper-2)}.landing-page .topic h3{font-size:1.18rem;margin-bottom:.5rem;font-weight:600}.landing-page .topic p{color:var(--ink-soft);font-size:.95rem}.landing-page .cta{position:relative;overflow:hidden;background:var(--maroon-deep);color:#f7ecdc;border-radius:26px;padding:clamp(3rem,7vw,5.5rem) clamp(1.8rem,6vw,5rem);text-align:center}.landing-page .cta .grid2{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.12;pointer-events:none;background-image:linear-gradient(rgba(255,240,220,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,240,220,.5) 1px,transparent 1px);background-size:54px 54px;-webkit-mask-image:radial-gradient(100% 100% at 50% 0,#000,transparent 70%);mask-image:radial-gradient(100% 100% at 50% 0,#000,transparent 70%)}.landing-page .cta h2{font-size:clamp(2rem,4.4vw,3.3rem);color:#fdf6ea;position:relative;margin:0 auto}.landing-page .cta p{position:relative;color:#f7ecdcd9;max-width:52ch;margin:1.4rem auto 2.4rem;font-size:1.1rem}.landing-page .cta .btn-primary{background:#fdf6ea;color:var(--maroon)}.landing-page .cta .btn-primary:hover{background:#fff}.landing-page .cta .btn-ghost{color:#fdf6ea;border-color:#fdf6ea66}.landing-page .cta .btn-ghost:hover{border-color:#fdf6ea;color:#fdf6ea;background:#fdf6ea14}.landing-page .cta-actions{position:relative;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.landing-page .lp-footer{padding:clamp(3.5rem,6vw,5rem) 0 2.5rem;border-top:1px solid var(--line-soft)}.landing-page .foot-top{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;align-items:flex-start}.landing-page .foot-brand{max-width:340px}.landing-page .foot-brand .brand{margin-bottom:1rem}.landing-page .foot-brand p{color:var(--ink-soft);font-size:.95rem}.landing-page .foot-links{display:flex;gap:3.5rem;flex-wrap:wrap}.landing-page .foot-col h4{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:1rem;font-weight:600}.landing-page .foot-col a{display:block;color:var(--ink-soft);font-size:.95rem;margin-bottom:.6rem;transition:color .2s ease}.landing-page .foot-col a:hover{color:var(--maroon)}.landing-page .foot-bottom{margin-top:clamp(2.5rem,5vw,3.5rem);padding-top:1.6rem;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;gap:1.2rem;flex-wrap:wrap}.landing-page .disclaimer{color:var(--ink-faint);font-size:.8rem;max-width:60ch;line-height:1.6}.landing-page .copy{color:var(--ink-faint);font-size:.8rem;white-space:nowrap}.landing-page .reveal{transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.landing-page .reveal-init{opacity:0;transform:translateY(26px)}.landing-page .reveal.in{opacity:1;transform:none}@keyframes landingFadeUp{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}.landing-page .anim{opacity:0;animation:landingFadeUp .9s cubic-bezier(.2,.7,.2,1) forwards}.landing-page .d1{animation-delay:.05s}.landing-page .d2{animation-delay:.18s}.landing-page .d3{animation-delay:.32s}.landing-page .d4{animation-delay:.46s}.landing-page .d5{animation-delay:.6s}.landing-page .d6{animation-delay:.74s}@media (prefers-reduced-motion: reduce){.landing-page .reveal,.landing-page .anim{animation:none!important;opacity:1!important;transform:none!important;transition:none!important}}@media (max-width: 900px){.landing-page .nav-links{display:none}.landing-page .menu-btn{display:flex}.landing-page .nav-cta .btn{display:none}.landing-page .story-grid{grid-template-columns:1fr;gap:2.5rem}.landing-page .principles,.landing-page .aud-grid,.landing-page .topics{grid-template-columns:1fr}.landing-page .topic{border-right:none}.landing-page .mobile-menu.open{display:flex}}@media (max-width: 560px){.landing-page .chips{gap:.5rem}.landing-page .foot-links{gap:2rem}}.landing-page .assistant-markdown{font-size:.92rem;line-height:1.6}.landing-page .assistant-markdown p{margin-bottom:.5rem}.landing-page .assistant-markdown p:last-child{margin-bottom:0}.landing-page .assistant-markdown ul,.landing-page .assistant-markdown ol{padding-left:1.3rem;margin-bottom:.5rem}.landing-page .assistant-markdown li{margin-bottom:.25rem}.landing-page .assistant-markdown strong{font-weight:600}.landing-page .assistant-markdown a{color:#7a2236;text-decoration:underline;text-underline-offset:2px;font-weight:500}.landing-page .assistant-markdown a:hover{color:#b93a51}.landing-page .assistant-markdown hr{border:none;border-top:1px solid rgba(35,31,24,.1);margin:.8rem 0}.landing-page .chat-messages{max-height:540px;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding:.8rem 0}.landing-page .chat-msg{display:flex;flex-direction:column}.landing-page .chat-msg--user{align-items:flex-end}.landing-page .chat-msg--ai{align-items:flex-start}.landing-page .chat-msg__bubble{max-width:82%;border-radius:18px;padding:.7rem 1rem;box-shadow:0 1px 3px #231f1814}.landing-page .chat-msg__bubble--user{background:#7a2236;color:#fdf8ee;border-bottom-right-radius:4px}.landing-page .chat-msg__bubble--ai{background:#efe8d9;color:#231f18;border-bottom-left-radius:4px}.landing-page .chat-msg__text{font-size:.92rem;line-height:1.55;white-space:pre-wrap}.landing-page .chat-msg__meta{display:flex;align-items:center;gap:.7rem;margin-top:.4rem;font-size:.72rem}.landing-page .chat-msg__time{color:inherit;opacity:.55;flex-shrink:0}.landing-page .chat-msg__cta{color:inherit;opacity:.7;text-decoration:none;font-weight:500;transition:opacity .2s;white-space:nowrap}.landing-page .chat-msg--user .chat-msg__cta{display:none}.landing-page .chat-msg__cta:hover{opacity:1;text-decoration:underline}.landing-page .chat-msg__cta .arr{transition:transform .2s;display:inline-block}.landing-page .chat-msg__cta:hover .arr{transform:translate(3px)}.landing-page .chat-msg__error{padding:.6rem .9rem;background:#fef2f2;color:#b91c1c;border-radius:10px;font-size:.85rem;align-self:center}.landing-page .chat-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.8rem}.landing-page .chat-input-row{display:flex;gap:.6rem}.landing-page .chat-input{flex:1;border:1px solid rgba(35,31,24,.14);border-radius:999px;padding:.7rem 1.2rem;font-size:.92rem;font-family:Hanken Grotesk,system-ui,sans-serif;outline:none;background:#fff;color:#231f18;transition:border-color .2s}.landing-page .chat-input:focus{border-color:#b93a51}.landing-page .chat-btn{width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:background .2s}.landing-page .chat-btn--send{background:#7a2236}.landing-page .chat-btn--send:disabled{opacity:.5;cursor:default}.landing-page .chat-btn--send:not(:disabled):hover{background:#b93a51}.landing-page .chat-btn--stop{background:#8c8273}.landing-page .chat-btn--stop:hover{background:#564e42}.landing-page .mobile-menu{display:none;flex-direction:column;gap:.2rem;padding:1rem 28px 1.6rem;background:var(--paper);border-bottom:1px solid var(--line-soft)}.landing-page .mobile-menu a{padding:.7rem 0;color:var(--ink-soft);font-weight:500;border-bottom:1px solid var(--line-soft)}:root,[data-theme=dark]{--bg-primary: #0d0d0d;--bg-secondary: #111111;--bg-card: #1a1a1a;--bg-card-hover: #222222;--bg-input: #1a1a1a;--color-maroon: #8b1a2e;--color-maroon-hover: #a32135;--color-maroon-light: rgba(139, 26, 46, .15);--color-gold: #c9a84c;--color-gold-light: #e2c47a;--text-primary: #f0ede8;--text-secondary: #9a9080;--text-muted: #6b6358;--border: #2a2a2a;--border-light: #333333;--user-bubble: linear-gradient(135deg, #8b1a2e, #6b1222);--assistant-bubble-bg: #1a1a1a;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px}[data-theme=light]{--bg-primary: #f8f5f0;--bg-secondary: #f0ece5;--bg-card: #ffffff;--bg-card-hover: #f5f2ec;--bg-input: #ffffff;--color-maroon: #8b1a2e;--color-maroon-hover: #a32135;--color-maroon-light: rgba(139, 26, 46, .1);--color-gold: #9a6f1e;--color-gold-light: #b8892e;--text-primary: #1a1a1a;--text-secondary: #666666;--text-muted: #999999;--border: #e5e0d8;--border-light: #d9d4cc;--user-bubble: linear-gradient(135deg, #8b1a2e, #6b1222);--assistant-bubble-bg: #ffffff;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100dvh;overflow:hidden}#root{height:100dvh;display:flex;flex-direction:column}.app{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border);background-color:var(--bg-primary);z-index:10;flex-shrink:0}.header-left{display:flex;align-items:center;gap:12px}.header-logo{height:40px;width:auto;object-fit:contain;border-radius:var(--radius-sm)}.header-monogram-fallback{display:none;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-maroon);color:#fff;font-family:Playfair Display,serif;font-weight:700;font-size:14px;border-radius:var(--radius-sm)}.header-title{font-family:Playfair Display,serif;font-weight:600;font-size:1.15rem;color:var(--text-primary);letter-spacing:.02em}.header-right{display:flex;align-items:center;gap:8px}.btn-new-conversation{display:flex;align-items:center;gap:6px;padding:8px 14px;background-color:var(--color-maroon);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;transition:background-color .2s ease}.btn-new-conversation:hover{background-color:var(--color-maroon-hover)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.theme-toggle:hover{background-color:var(--bg-card-hover);color:var(--color-gold)}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.welcome-screen{display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:100%;padding:60px 24px 24px;overflow-y:auto}.welcome-content{display:flex;flex-direction:column;align-items:center;max-width:600px;width:100%;text-align:center;flex:1;justify-content:center;gap:16px}.welcome-logo-container{margin-bottom:8px}.welcome-logo{height:96px;width:auto;object-fit:contain;border-radius:var(--radius-sm)}.welcome-monogram-fallback{display:none;align-items:center;justify-content:center;width:64px;height:64px;background-color:var(--color-maroon);color:#fff;font-family:Playfair Display,serif;font-weight:700;font-size:24px;border-radius:var(--radius-md)}.welcome-heading{font-family:Playfair Display,serif;font-weight:600;font-size:2.5rem;color:var(--text-primary);line-height:1.2;letter-spacing:-.01em}.welcome-subheading{font-family:Inter,sans-serif;font-size:1.05rem;color:var(--text-secondary);line-height:1.5;margin-bottom:24px}.suggested-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:560px}.suggested-btn{padding:14px 18px;background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-family:Inter,sans-serif;font-size:.85rem;line-height:1.4;text-align:left;cursor:pointer;transition:all .2s ease}.suggested-btn:hover{background-color:var(--bg-card-hover);border-color:var(--color-gold);color:var(--text-primary)}.welcome-input-area{width:100%;max-width:600px;margin-top:32px}.welcome-input-area .input-row{display:flex;gap:8px;width:100%}.welcome-input-area .chat-input{flex:1;padding:14px 18px;background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:Inter,sans-serif;font-size:.95rem;outline:none;transition:border-color .2s ease}.welcome-input-area .chat-input:focus{border-color:var(--color-gold)}.welcome-input-area .chat-input::placeholder{color:var(--text-muted)}.welcome-disclaimer{margin-top:16px;font-size:.75rem;color:var(--text-muted);text-align:center;line-height:1.5}.chat-interface{display:flex;flex-direction:column;height:100%;overflow:hidden}.messages-container{flex:1;overflow-y:auto;padding:20px 16px;display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:3px}.message-row{display:flex;gap:10px;max-width:720px;width:100%;margin:0 auto}.user-row{justify-content:flex-end}.assistant-row{justify-content:flex-start}.assistant-avatar{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:var(--color-gold);color:#0d0d0d;font-family:Playfair Display,serif;font-weight:700;font-size:11px;border-radius:50%;margin-top:4px}.message-bubble{padding:12px 16px;border-radius:var(--radius-lg);max-width:85%;position:relative}.user-bubble{background:var(--user-bubble);color:#fff;border-bottom-right-radius:var(--radius-sm)}.assistant-bubble{background-color:var(--assistant-bubble-bg);border:1px solid var(--border);color:var(--text-primary);border-bottom-left-radius:var(--radius-sm)}.message-text{white-space:pre-wrap;word-wrap:break-word;font-size:.95rem;line-height:1.6}.message-time{display:block;font-size:.7rem;color:var(--text-muted);margin-top:6px;text-align:right;opacity:.8}.message-markdown{font-size:.95rem;line-height:1.7;word-wrap:break-word}.message-markdown p{margin-bottom:12px}.message-markdown p:last-child{margin-bottom:0}.message-markdown h1,.message-markdown h2,.message-markdown h3,.message-markdown h4{font-family:Playfair Display,serif;margin-top:20px;margin-bottom:10px;color:var(--color-gold)}.message-markdown h1{font-size:1.4rem}.message-markdown h2{font-size:1.2rem}.message-markdown h3{font-size:1.1rem}.message-markdown ul,.message-markdown ol{padding-left:24px;margin-bottom:12px}.message-markdown li{margin-bottom:6px}.message-markdown strong{color:var(--color-gold-light);font-weight:600}[data-theme=light] .message-markdown strong{color:var(--color-gold)}.message-markdown em{font-style:italic}.message-markdown blockquote{border-left:3px solid var(--color-gold);padding-left:14px;margin:12px 0;color:var(--text-secondary);font-style:italic}.message-markdown a{color:var(--color-gold);text-decoration:underline;text-underline-offset:2px}.message-markdown a:hover{color:var(--color-gold-light)}.message-markdown code{background-color:var(--bg-card-hover);padding:2px 6px;border-radius:4px;font-size:.85em;font-family:SF Mono,Fira Code,monospace}.message-markdown pre{background-color:var(--bg-card-hover);padding:14px;border-radius:var(--radius-md);overflow-x:auto;margin:12px 0;border:1px solid var(--border)}.message-markdown pre code{background:none;padding:0;font-size:.85rem}.message-markdown hr{border:none;border-top:1px solid var(--border);margin:16px 0}.cta-container{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.cta-button{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background-color:var(--color-maroon);color:#fff;text-decoration:none;border-radius:var(--radius-sm);font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;transition:background-color .2s ease}.cta-button:hover{background-color:var(--color-maroon-hover)}.error-banner{display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:var(--color-maroon-light);border:1px solid var(--color-maroon);border-radius:var(--radius-md);color:#f0ede8;font-size:.85rem;max-width:720px;margin:0 auto;width:100%}.typing-indicator-bubble{min-width:70px;padding:16px 20px}.typing-dots{display:flex;align-items:center;gap:5px}.typing-dot{width:8px;height:8px;background-color:var(--color-gold);border-radius:50%;animation:typingBounce 1.4s ease-in-out infinite}.typing-dot:nth-child(1){animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.quick-questions{display:flex;gap:8px;padding:8px 16px;overflow-x:auto;flex-shrink:0;scrollbar-width:none}.quick-questions::-webkit-scrollbar{display:none}.quick-question-btn{flex-shrink:0;padding:8px 14px;background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--text-secondary);font-family:Inter,sans-serif;font-size:.8rem;white-space:nowrap;cursor:pointer;transition:all .2s ease}.quick-question-btn:hover{background-color:var(--bg-card-hover);border-color:var(--color-gold);color:var(--text-primary)}.input-area{padding:12px 16px 20px;border-top:1px solid var(--border);background-color:var(--bg-primary);flex-shrink:0}.input-area .input-row,.welcome-input-area .input-row{display:flex;gap:8px;width:100%;max-width:720px;margin:0 auto;align-items:flex-end}.chat-input-textarea{flex:1;padding:12px 16px;background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:Inter,sans-serif;font-size:.95rem;line-height:1.5;outline:none;resize:none;min-height:48px;max-height:120px;transition:border-color .2s ease}.chat-input-textarea:focus{border-color:var(--color-gold)}.chat-input-textarea::placeholder{color:var(--text-muted)}.btn-send{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:var(--color-maroon);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:background-color .2s ease;flex-shrink:0}.btn-send:hover{background-color:var(--color-maroon-hover)}.btn-send:disabled{opacity:.5;cursor:not-allowed}.btn-stop{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--color-maroon);cursor:pointer;transition:all .2s ease;flex-shrink:0}.btn-stop:hover{background-color:var(--color-maroon-light);border-color:var(--color-maroon)}@media (max-width: 640px){.app-header{padding:10px 14px}.header-title{font-size:1rem}.header-logo{height:32px}.welcome-screen{padding:32px 16px 20px}.welcome-heading{font-size:1.8rem}.welcome-subheading{font-size:.95rem}.suggested-grid{grid-template-columns:1fr}.suggested-btn{padding:12px 16px;font-size:.82rem}.messages-container{padding:14px 12px}.message-bubble{max-width:92%}.quick-questions{padding:8px 12px}.input-area{padding:10px 12px 16px}.chat-input-textarea{font-size:.9rem;padding:10px 14px}.btn-send,.btn-stop{width:44px;height:44px}}@media (max-width: 380px){.welcome-heading{font-size:1.5rem}.welcome-logo{height:48px}.header-title{font-size:.9rem}.btn-new-conversation span{display:none}}
