:root{color-scheme:light;font-family:Avenir Next,Segoe UI,sans-serif;background:radial-gradient(circle at top left,rgba(248,199,128,.55),transparent 32%),radial-gradient(circle at bottom right,rgba(217,109,57,.24),transparent 28%),#f5ecde;color:#1f1a17}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding:1.25rem}.hero{display:flex;justify-content:space-between;gap:1.25rem;align-items:flex-start;margin-bottom:1rem}.eyebrow{margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;color:#8a5737}.hero h1{margin:0;font-size:clamp(2rem,5vw,3.8rem);line-height:.95}.hero-copy{max-width:42rem;margin:.85rem 0 0;font-size:1rem;color:#5b4335}.layout{display:grid;grid-template-columns:minmax(18rem,24rem) minmax(0,1fr);gap:1rem;align-items:start}.panel{background:#fffcf8d1;border:1px solid rgba(31,26,23,.08);border-radius:1.5rem;box-shadow:0 12px 40px #5f3f2d1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar-panel{padding:1rem}.chat-panel{display:flex;flex-direction:column;min-height:72vh;padding:1rem}.panel-header h2,.panel-header h3{margin:0}.panel-header p{margin:.35rem 0 0;color:#6d5444}.panel-header.compact{margin-top:1rem}.file-drop{display:flex;flex-direction:column;gap:.35rem;margin:1rem 0;padding:1rem;border-radius:1rem;border:1px dashed rgba(217,109,57,.48);background:linear-gradient(180deg,#fbdcb08c,#ffffffc7)}.file-drop input{margin-top:.35rem}.info-card{margin-top:.85rem;padding:.9rem 1rem;border-radius:1rem;background:#ffffffbd}.info-card h3{margin:0 0 .45rem}.info-card p{margin:.35rem 0;color:#5b4335}.model-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.model-card{display:flex;justify-content:space-between;gap:.75rem;padding:.85rem .95rem;border-radius:1rem;background:#ffffffd1;border:1px solid rgba(31,26,23,.08)}.model-card.active{border-color:#d96d39ad;box-shadow:inset 0 0 0 1px #d96d392e}.model-card strong,.model-card span{display:block}.model-card span{margin-top:.25rem;color:#6d5444;font-size:.9rem}.model-actions{display:flex;flex-direction:column;gap:.45rem}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}.settings-grid label,.prompt-field{display:flex;flex-direction:column;gap:.35rem;color:#5b4335}.settings-grid input,.prompt-field textarea,.composer textarea{width:100%;border:1px solid rgba(31,26,23,.14);border-radius:.9rem;padding:.75rem .85rem;background:#fffffff0}.prompt-field{margin-top:1rem}.chat-toolbar{display:flex;gap:.6rem;align-items:center}.status-strip{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-top:1px solid rgba(31,26,23,.08);border-bottom:1px solid rgba(31,26,23,.08);color:#5b4335}.error-text{color:#a13818}.messages{flex:1;display:flex;flex-direction:column;gap:.85rem;padding:1rem 0;overflow:auto}.empty-state{margin:auto 0;padding:1.1rem;border-radius:1rem;background:#ffffffb8;color:#5b4335}.empty-state p{margin:.4rem 0}.message-bubble{max-width:min(44rem,100%);padding:.95rem 1rem;border-radius:1.2rem;background:#ffffffdb;border:1px solid rgba(31,26,23,.08)}.message-bubble.user{align-self:flex-end;background:linear-gradient(180deg,#fbdcb0e0,#ffffffe6)}.message-role{display:inline-block;margin-bottom:.45rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#8a5737}.message-bubble p{margin:0;line-height:1.55;white-space:pre-wrap}.composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:end}.primary-button,.ghost-button{border:none;border-radius:999px;padding:.8rem 1.1rem;transition:transform .12s ease,opacity .12s ease}.primary-button{background:linear-gradient(135deg,#1f1a17,#4b3526);color:#fff8f0}.primary-button.small{padding:.55rem .9rem}.ghost-button{background:#ffffffbd;color:#3e2d22}.ghost-button.danger{color:#a13818}.primary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button:disabled,.ghost-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.site-footer{padding:1rem 0 .2rem;text-align:center}.site-footer a{color:#8a5737;text-decoration:none}.site-footer a:hover{text-decoration:underline}@media (max-width: 980px){.hero{flex-direction:column}.layout{grid-template-columns:1fr}.chat-panel{min-height:60vh}}@media (max-width: 640px){.app-shell{padding:.8rem}.settings-grid,.composer{grid-template-columns:1fr}.status-strip{flex-direction:column}}
