@font-face{font-family:Lexend Deca;font-weight:100 900;font-style:normal;font-display:swap;src:url(/fonts/LexendDeca-VariableFont_wght.ttf) format("truetype-variations")}:root{--brand-primary: #002941;--brand-accent: #66c9ff;--bg: #f7f8fa;--surface: #ffffff;--text: #1a1a1a;--muted: #6a737d;--border: #e2e6eb;--user-bubble: #002941;--user-bubble-text: #ffffff;--agent-bubble: #ffffff;--radius: 14px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem}*{box-sizing:border-box}html,body{height:100dvh;min-height:100dvh;margin:0}body{font-family:Lexend Deca,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;color:var(--text);background:var(--bg);display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-6);background:var(--brand-primary);color:#fff;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:var(--space-3);font-weight:600}.brand-logo{height:28px;width:auto;display:block}.brand-by{color:#c8d4dd;font-size:.85rem}.app-nav{display:flex;align-items:center;gap:var(--space-4)}.nav-link{color:#c8d4dd;text-decoration:none;font-size:.95rem;padding:var(--space-1) var(--space-2);border-radius:6px}.nav-link:hover{color:#fff;background:#ffffff14}.nav-link:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}#app{flex:1;display:flex;flex-direction:column;align-items:center;padding:var(--space-4);overflow:hidden}.landing{width:100%;max-width:48em;margin:0 auto;padding:var(--space-6) var(--space-4) calc(var(--space-6) * 2)}.landing .hero{padding:var(--space-6) 0 var(--space-4)}.landing .hero h1{font-size:clamp(1.75rem,4vw,2.5rem);color:var(--brand-primary);margin:0 0 var(--space-3);line-height:1.15}.landing .lede{font-size:1.15rem;color:var(--muted);margin:0;max-width:36em}.landing .content{padding-top:var(--space-4)}.landing .content h2{font-size:1.15rem;color:var(--brand-primary);margin:var(--space-6) 0 var(--space-2)}.landing .content p{margin:0 0 var(--space-3);line-height:1.6}.landing .content ul{margin:0 0 var(--space-4);padding-left:1.4em}.landing .content ul li{margin-bottom:var(--space-2);line-height:1.55}.landing .closing{font-style:italic;color:var(--brand-primary);font-size:1.05rem;margin:var(--space-6) 0 var(--space-4)}.cta-row{display:flex;justify-content:flex-start;padding:var(--space-2) 0 var(--space-6)}.cta{background:var(--brand-primary);color:#fff;border:none;border-radius:999px;padding:.85rem 2rem;font:inherit;font-weight:600;font-size:1rem;cursor:pointer;letter-spacing:.02em}.cta:hover{background:color-mix(in oklch,var(--brand-primary) 88%,white)}.cta:focus-visible{outline:2px solid var(--brand-accent);outline-offset:3px}.faq{width:100%;max-width:48em;margin:0 auto;padding:var(--space-6) var(--space-4) calc(var(--space-6) * 2)}.faq h1{font-size:clamp(1.5rem,3.5vw,2rem);color:var(--brand-primary);margin:0 0 var(--space-6)}.faq details{border-bottom:1px solid var(--border);padding:var(--space-3) 0}.faq details:first-of-type{border-top:1px solid var(--border)}.faq summary{cursor:pointer;font-weight:600;color:var(--brand-primary);padding:var(--space-2) 0;list-style:none;position:relative;padding-right:2rem}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--muted);font-weight:400;transition:transform .15s ease}.faq details[open] summary:after{content:"−"}.faq summary:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.faq details p{margin:var(--space-3) 0;line-height:1.6;color:var(--text)}.faq details ul{margin:var(--space-2) 0 var(--space-3);padding-left:1.4em}.faq details li{margin-bottom:var(--space-1);line-height:1.5}.faq details a{color:var(--brand-primary)}.faq-back{margin-top:var(--space-6)}.faq-back a{color:var(--brand-primary);text-decoration:none;font-weight:600}.faq-back a:hover{text-decoration:underline}.chat{width:100%;max-width:min(90%,70em);flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.messages{flex:1;min-height:0;overflow-y:auto;padding:var(--space-6) 0;display:flex;flex-direction:column;gap:var(--space-4)}.msg{max-width:75%;padding:var(--space-3) var(--space-4);border-radius:var(--radius);white-space:pre-wrap;line-height:1.5;font-size:.97rem}.msg.user{align-self:flex-end;background:var(--user-bubble);color:var(--user-bubble-text);border-bottom-right-radius:4px}.msg.assistant{align-self:flex-start;background:var(--agent-bubble);border:1px solid var(--border);border-bottom-left-radius:4px}.msg .cursor{display:inline-block;width:8px;height:1em;background:currentColor;opacity:.5;animation:blink 1s steps(2) infinite;vertical-align:text-bottom;margin-left:2px}@keyframes blink{50%{opacity:0}}.system-note{align-self:center;font-size:.85rem;color:var(--muted);font-style:italic}.system-note.thinking:after{display:inline-block;overflow:hidden;vertical-align:bottom;content:"...";width:0;animation:ellipsis steps(4,end) 1.4s infinite}@keyframes ellipsis{to{width:1.5em}}.note-retry{margin-inline-start:.5rem;padding:.15rem .55rem;font:inherit;font-style:normal;background:transparent;color:var(--accent, #66c9ff);border:1px solid currentColor;border-radius:999px;cursor:pointer}.note-retry:hover{background:color-mix(in oklch,currentColor 12%,transparent)}.note-retry:focus-visible{outline:2px solid currentColor;outline-offset:2px}.composer{width:75%;align-self:center;padding:var(--space-3) 0;display:flex;align-items:flex-end;gap:var(--space-2);background:transparent}.composer textarea{flex:1;resize:none;border:1px solid var(--border);border-radius:10px;padding:var(--space-3);font:inherit;line-height:1.45;outline:none;min-height:88px;max-height:240px}.composer textarea:focus{border-color:var(--brand-accent)}.composer button{min-width:110px;padding:var(--space-3) var(--space-6);border:none;background:var(--brand-primary);color:#fff;border-radius:10px;font:inherit;font-weight:500;cursor:pointer}.composer button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 40em){.app-header{padding:var(--space-3) var(--space-4)}.brand-by{display:none}.brand-name{font-size:.95rem}#app{padding:var(--space-2)}.chat{max-width:100%}.messages{padding:var(--space-4) 0;gap:var(--space-3)}.msg{max-width:92%;font-size:.95rem}.composer{width:100%;padding:var(--space-2) 0}.composer textarea{min-height:64px}.composer button{min-width:auto;padding:0 var(--space-4)}.landing,.faq{padding:var(--space-4) var(--space-3) var(--space-6)}.landing .hero{padding:var(--space-3) 0}.cta{width:100%;padding:.95rem 1.5rem}.cta-row{padding-bottom:var(--space-4)}}
