:root{font-family:Segoe UI,Noto Sans SC,sans-serif;color:#102019;background:radial-gradient(circle at top left,rgba(212,145,83,.2),transparent 28%),radial-gradient(circle at top right,rgba(31,74,61,.18),transparent 30%),linear-gradient(180deg,#f6f0e4,#ebe3d2);line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh}button,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;min-height:100vh;grid-template-columns:minmax(280px,360px) 1fr;gap:1.5rem;padding:1.5rem}.sidebar,.chat-stage{display:flex;flex-direction:column;gap:1rem}.brand-block{padding:.5rem .25rem}.brand-block h1,.chat-header h2{margin:0;font-size:clamp(2rem,3vw,3.1rem);line-height:.95}.lede,.session-note,.conversation-card span,.empty-card span,.composer-footer p,.state-card span,.persona-card span{color:#102019b8}.eyebrow{margin:0 0 .35rem;color:#85521f;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.panel{border:1px solid rgba(16,32,25,.08);border-radius:24px;background:#fffcf6cc;box-shadow:0 18px 50px #201d1314;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.grow-panel{flex:1;min-height:0}.panel-heading,.chat-header,.composer{padding:1.1rem 1.2rem}.panel-heading{display:flex;align-items:center;justify-content:space-between}.panel-heading h2{margin:0;font-size:1rem}.panel-heading span{color:#102019a3;font-size:.82rem}.persona-grid,.conversation-list,.message-list{display:flex;flex-direction:column;gap:.8rem;padding:0 1.2rem 1.2rem}.conversation-list{overflow:auto;padding-bottom:1.2rem}.persona-card,.conversation-card{width:100%;border:1px solid rgba(16,32,25,.1);border-radius:18px;background:#ffffffc7;color:inherit;text-align:left;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.persona-card:hover,.conversation-card:hover,.persona-card:focus-visible,.conversation-card:focus-visible,.composer button:hover,.composer button:focus-visible{transform:translateY(-1px);border-color:#1f4a3d40;box-shadow:0 10px 24px #10201914}.persona-card{padding:1rem}.persona-card strong,.conversation-card strong{display:block;margin-bottom:.3rem}.persona-card.is-active,.conversation-card.is-active{border-color:#1f4a3d6b;background:linear-gradient(145deg,#1f4a3d1f,#ffffffd9)}.conversation-card{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.95rem 1rem}.conversation-card small{color:#10201994;white-space:nowrap}.empty-card,.state-card,.messages-panel{padding:1.2rem}.messages-panel{display:flex;min-height:0;flex:1;flex-direction:column;gap:1rem;overflow:auto}.banner{border-radius:16px;padding:.85rem 1rem}.banner-error{background:#9525251a;color:#7f1d1d}.state-card,.empty-card{border:1px dashed rgba(16,32,25,.2);border-radius:18px;background:#ffffff73}.state-card-large{margin:auto 0}.message-bubble{max-width:min(100%,760px);border-radius:22px;padding:1rem 1.1rem}.message-bubble header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.6rem}.message-bubble header span{color:#10201994;font-size:.85rem}.message-bubble p{margin:0;white-space:pre-wrap}.message-bubble.assistant{align-self:flex-start;background:#ffffffb8;border:1px solid rgba(16,32,25,.08)}.message-bubble.user{align-self:flex-end;background:linear-gradient(135deg,#1f4a3d,#325b4d);color:#f5f2e9}.message-bubble.user header span{color:#f5f2e9b8}.composer{display:flex;flex-direction:column;gap:.85rem}.composer-label{font-size:.92rem;font-weight:600}.composer textarea{min-height:120px;resize:vertical;border:1px solid rgba(16,32,25,.14);border-radius:20px;background:#ffffffdb;padding:1rem;color:inherit}.composer textarea:focus{outline:2px solid rgba(31,74,61,.24);outline-offset:2px}.composer-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.composer-footer p{margin:0;max-width:42rem;font-size:.88rem}.composer button{border:none;border-radius:999px;background:#d89153;padding:.85rem 1.2rem;color:#1b1208;font-weight:700}.composer button:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}@media(max-width:960px){.app-shell{grid-template-columns:1fr}.composer-footer{flex-direction:column;align-items:stretch}.composer button{width:100%}}
