:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#132238;background:radial-gradient(circle at top left,rgba(246,210,143,.45),transparent 32%),radial-gradient(circle at right,rgba(111,181,255,.28),transparent 30%),linear-gradient(180deg,#f6f0e8,#f4f7fb);line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;border:none}.app-shell{min-height:100vh}.navbar{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 2rem}.brand{font-size:1.5rem;font-weight:800;letter-spacing:.04em}.nav-links{display:flex;align-items:center;gap:1rem}.nav-cta,.primary-button,.secondary-button,.ghost-button{border-radius:999px;transition:transform .2s ease,box-shadow .2s ease}.primary-button,.nav-cta{background:#132238;color:#fff;padding:.9rem 1.3rem;box-shadow:0 18px 30px #13223826}.secondary-button{background:#fffc;color:#132238;padding:.9rem 1.3rem;border:1px solid rgba(19,34,56,.12)}.ghost-button{background:transparent;color:#132238;padding:.55rem .8rem}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.nav-cta:hover{transform:translateY(-1px)}.hero-section,.auth-page,.chat-layout{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding-bottom:2rem}.hero-section{display:grid;place-items:center;min-height:calc(100vh - 90px)}.hero-content{max-width:780px;text-align:center;padding:3rem 2rem}.hero-content h1{font-size:clamp(2.4rem,7vw,4.8rem);line-height:1.05;margin:0}.hero-copy{font-size:1.1rem;margin:1.5rem auto 0;max-width:680px;color:#42556f}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;font-weight:700;color:#91661c;margin-bottom:1rem}.hero-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:2rem}.auth-page{display:grid;place-items:center;min-height:calc(100vh - 90px)}.auth-card{width:min(100%,460px);padding:2rem;border-radius:28px;background:#ffffffd1;border:1px solid rgba(19,34,56,.1);box-shadow:0 25px 60px #1322381f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-card h1{margin:0}.muted{color:#617289}.auth-form{display:grid;gap:1rem;margin-top:1.5rem}.auth-form label{display:grid;gap:.4rem}.auth-form input,.chat-input-bar input{width:100%;padding:.95rem 1rem;border-radius:16px;border:1px solid rgba(19,34,56,.15);background:#ffffffe0;outline:none}.auth-form input:focus,.chat-input-bar input:focus{border-color:#2d6cdf;box-shadow:0 0 0 4px #2d6cdf1a}.form-error{padding:.8rem 1rem;border-radius:16px;background:#b72b2b14;color:#8a1e1e}.auth-switch{margin-top:1rem}.page-center{min-height:100vh;display:grid;place-items:center}.chat-layout{padding-top:1rem}.chat-panel{display:grid;grid-template-rows:auto auto 1fr auto;min-height:calc(100vh - 130px);padding:1.25rem;border-radius:30px;background:#ffffffb8;border:1px solid rgba(19,34,56,.08);box-shadow:0 25px 60px #1322381a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chat-panel-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.chat-panel-header h1{margin:.25rem 0 0}.messages-container{overflow-y:auto;padding:1rem 0;display:grid;gap:1rem}.message-row{display:flex}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start}.message-bubble{max-width:min(780px,90%);padding:1rem 1.1rem;border-radius:24px}.message-bubble.user{background:#132238;color:#fff;border-bottom-right-radius:8px}.message-bubble.assistant{background:#edf4ff;color:#132238;border-bottom-left-radius:8px}.message-role{display:inline-block;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.35rem}.message-bubble p{margin:0;white-space:pre-wrap}.chat-input-bar{display:grid;grid-template-columns:1fr auto;gap:.8rem;margin-top:1rem}.empty-state{min-height:240px;display:grid;place-items:center;color:#617289;text-align:center}.welcome-text{color:#617289}@media (max-width: 768px){.navbar,.chat-panel-header{flex-direction:column;align-items:flex-start}.chat-input-bar{grid-template-columns:1fr}.nav-links{flex-wrap:wrap}}
