:root{--ink:#271d1d;--muted:#756969;--paper:#fbf8f2;--panel:#f2ece3;--line:#ded3c5;--wine:#752c3b;--wine2:#963b50;--gold:#b49357;--white:#fff;--shadow:0 18px 60px rgba(48,31,28,.11)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif}.app-shell{min-height:100vh;display:grid;grid-template-columns:290px 1fr}.sidebar{background:#2d2022;color:#f8eee6;padding:24px 18px;display:flex;flex-direction:column;min-height:100vh}.brand{display:flex;gap:12px;align-items:center;margin:0 6px 28px}.brand .cross{font-size:32px;color:#d5b376}.brand strong{display:block;font-family:Georgia,serif;font-size:22px;letter-spacing:.02em}.brand small{display:block;color:#bdaeb0;font-size:11px;text-transform:uppercase;letter-spacing:.16em}.primary{border:1px solid #9a5664;background:#7e3041;color:white;padding:12px 14px;border-radius:9px;font-weight:650;text-align:left}.sidebar-label{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#a89699;margin:28px 8px 10px}#conversation-list{display:flex;flex-direction:column;gap:5px;overflow:auto}.conversation-item{border:0;background:transparent;color:#ded1d2;text-align:left;padding:10px;border-radius:8px;cursor:pointer}.conversation-item:hover,.conversation-item.active{background:#463034;color:white}.conversation-item strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-item small{color:#a89699}.sidebar-foot{margin-top:auto;padding:18px 8px 2px;color:#ad9da0;font-size:12px}.status-dot{display:inline-block;width:7px;height:7px;background:#73a578;border-radius:50%;margin-right:7px}main{min-width:0;display:flex;flex-direction:column;height:100vh}.topbar{min-height:70px;border-bottom:1px solid var(--line);padding:14px 28px;display:flex;align-items:center;justify-content:space-between;background:rgba(251,248,242,.92)}.topbar input{font:600 17px Georgia,serif;border:1px solid transparent;background:transparent;padding:7px;width:min(45vw,500px);color:var(--ink)}.topbar input:focus{outline:none;border-color:var(--line);background:white;border-radius:6px}#mode-chip{font-size:10px;color:var(--wine);background:#efe0e2;padding:4px 7px;border-radius:99px;text-transform:uppercase;letter-spacing:.1em}.actions{display:flex;gap:8px}button{font:inherit;cursor:pointer}.actions button,dialog button{border:1px solid var(--line);background:white;padding:8px 11px;border-radius:7px}.danger{color:#a12638!important;border-color:#dcb8be!important}.empty-state{margin:auto;max-width:700px;text-align:center;padding:50px}.seal{font-size:58px;color:var(--gold)}h1{font:500 clamp(34px,5vw,62px)/1.08 Georgia,serif;margin:18px 0}h1 em{color:var(--wine);font-weight:400}.empty-state p{color:var(--muted);line-height:1.7}.messages{width:min(820px,calc(100% - 40px));margin:0 auto;padding:34px 0 150px;overflow:auto}.message{padding:16px 18px;border-radius:13px;margin:0 0 14px;line-height:1.6;white-space:pre-wrap}.message.user{background:#eee5da;margin-left:15%}.message.assistant{background:white;border:1px solid var(--line);box-shadow:0 7px 25px rgba(50,30,20,.04);margin-right:10%}.message small{display:block;color:var(--muted);margin-top:8px}.composer{position:fixed;bottom:0;left:290px;right:0;background:linear-gradient(transparent,var(--paper) 25%);padding:36px max(20px,calc((100% - 290px - 820px)/2)) 20px}.composer label{position:absolute;left:-9999px}.composer>div{background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;display:flex;padding:8px}.composer textarea{resize:none;flex:1;border:0;outline:0;padding:10px;font:inherit;background:transparent}.composer button{align-self:flex-end;border:0;background:var(--wine);color:white;border-radius:9px;width:40px;height:40px;font-size:20px}.composer small{display:block;text-align:center;color:var(--muted);padding-top:7px}dialog{border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);max-width:430px;color:var(--ink)}dialog::backdrop{background:rgba(32,20,22,.55)}dialog h2{font-family:Georgia,serif}dialog form>div{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto;height:210px}.sidebar-foot{display:none}main{height:calc(100vh - 210px)}.composer{left:0}.topbar{padding:10px 14px}.actions button:first-child{display:none}}
