@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=DM+Serif+Display&display=swap');
:root{--paper:#f5f0e8;--paper-2:#ece5da;--ink:#211f1b;--muted:#746f66;--line:#d9d0c3;--red:#d84a34;--teal:#177c70;--green:#2d8a69;--white:#fffdf8;--shadow:0 24px 70px rgba(48,38,23,.12);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--paper);font-size:16px}button,input,textarea{font:inherit}button{color:inherit}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.kicker,.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:600;color:var(--red);margin:0 0 8px}.wordmark{font-family:"DM Serif Display",serif;font-size:1.7rem;text-decoration:none;color:var(--ink)}.wordmark span{color:var(--red)}
.login-page{background:var(--ink);padding:clamp(12px,3vw,42px)}.login-shell{min-height:calc(100vh - clamp(24px,6vw,84px));display:grid;grid-template-columns:1.15fr .85fr;background:var(--paper);overflow:hidden}.login-story{padding:clamp(30px,6vw,92px);display:flex;flex-direction:column;justify-content:space-between;position:relative;background:radial-gradient(circle at 80% 20%,rgba(216,74,52,.15),transparent 24%),linear-gradient(135deg,var(--paper),#e8dfd1)}.login-story:after{content:"";position:absolute;width:40vw;height:40vw;border:1px solid rgba(33,31,27,.14);border-radius:50%;right:-22vw;bottom:-18vw}.login-story h1{font:clamp(3rem,6vw,6.6rem)/.94 "DM Serif Display",serif;max-width:10ch;margin:0;letter-spacing:-.04em}.login-copy{max-width:43ch;color:var(--muted);line-height:1.65}.security-note{font-size:.8rem;color:var(--muted)}.login-panel{display:grid;place-items:center;background:var(--white);padding:28px}.login-form{width:min(390px,100%);display:grid;gap:24px}.login-form h2{font:2.4rem/1 "DM Serif Display",serif;margin:0}.login-form label{display:grid;gap:8px;font-size:.8rem;font-weight:600}.login-form input{height:52px;border:0;border-bottom:1px solid var(--line);background:transparent;outline:none}.login-form input:focus{border-color:var(--red)}.primary{height:54px;border:0;background:var(--ink);color:var(--white);padding:0 20px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.form-error{background:#f8ddd7;color:#7b2b1e;padding:12px 14px;font-size:.85rem}
.app-page{overflow:hidden}.app-shell{height:100dvh;display:grid;grid-template-columns:72px minmax(280px,360px) minmax(420px,1fr) minmax(240px,300px);background:var(--white)}.rail{background:var(--ink);display:flex;flex-direction:column;align-items:center;padding:22px 0;gap:42px}.mark{font:1.45rem "DM Serif Display",serif;color:var(--white);text-decoration:none}.rail nav{display:grid;gap:12px}.rail-button,.icon-button,.back-button,.detail-close{border:0;background:transparent;cursor:pointer}.rail-button{width:44px;height:44px;color:#aaa397;border:1px solid transparent}.rail-button.active{color:var(--white);border-color:#5b554d;background:#302d28}.rail-button:disabled{opacity:.25}.logout{margin-top:auto}.conversation-pane{border-right:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column;min-width:0}.pane-heading{display:flex;justify-content:space-between;align-items:end;padding:28px 24px 18px}.pane-heading h1{font:2.5rem/1 "DM Serif Display",serif;margin:0}.live-state{font-size:.72rem;color:var(--teal);display:flex;gap:6px;align-items:center}.live-state i{width:7px;height:7px;background:var(--teal);border-radius:50%}.search{margin:0 18px;display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:10px 4px}.search input{width:100%;border:0;background:transparent;outline:none}.filters{display:flex;gap:8px;padding:18px}.filter{border:1px solid var(--line);background:transparent;border-radius:999px;padding:7px 13px;font-size:.75rem;cursor:pointer}.filter.active{background:var(--ink);color:var(--white);border-color:var(--ink)}.conversation-list{overflow:auto;padding-bottom:24px}.conversation{width:100%;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;padding:17px 18px;display:grid;grid-template-columns:42px 1fr auto;gap:12px;cursor:pointer;transition:background .2s var(--ease)}.conversation:hover,.conversation.active{background:var(--white)}.conversation.active{box-shadow:inset 3px 0 var(--red)}.avatar,.profile-avatar,.conversation-avatar{display:grid;place-items:center;border-radius:50%;background:#ddd1c1;color:#5a4c3d;font-weight:600}.conversation-avatar{width:42px;height:42px}.conversation-main{min-width:0}.conversation-top{display:flex;justify-content:space-between;gap:8px}.conversation-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-time{font-size:.68rem;color:var(--muted)}.conversation-preview{font-size:.78rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px}.unread{min-width:20px;height:20px;border-radius:20px;background:var(--red);color:white;font-size:.68rem;display:grid;place-items:center;padding:0 5px;align-self:end}
.chat-pane{min-width:0;background:var(--white);position:relative}.empty-state{height:100%;display:grid;place-content:center;text-align:center;padding:30px}.empty-state h2{font:2.4rem "DM Serif Display",serif;margin:4px}.empty-state p:last-child{color:var(--muted)}.empty-orbit{width:94px;height:94px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;margin:0 auto 24px;position:relative}.empty-orbit:after{content:"";position:absolute;width:7px;height:7px;background:var(--red);border-radius:50%;top:8px;right:14px}.chat-view{height:100%;display:grid;grid-template-rows:auto auto 1fr auto}.chat-header{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 22px;gap:12px}.chat-header .avatar{width:42px;height:42px}.chat-identity{min-width:0}.chat-identity h2{font-size:1rem;margin:0}.chat-identity p{font-size:.72rem;color:var(--muted);margin:4px 0 0}.bot-toggle{margin-left:auto;border:1px solid var(--line);background:transparent;border-radius:999px;padding:8px 12px;display:flex;gap:7px;align-items:center;cursor:pointer;font-size:.72rem}.bot-toggle i{width:8px;height:8px;border-radius:50%;background:var(--green)}.bot-toggle.off i{background:var(--muted)}.connection-notice{padding:10px 18px;background:#fff1ce;color:#6b4d15;font-size:.75rem}.message-list{overflow:auto;padding:30px clamp(18px,4vw,52px);display:flex;flex-direction:column;gap:10px;background:linear-gradient(90deg,rgba(236,229,218,.35) 1px,transparent 1px);background-size:72px 100%}.day-marker{align-self:center;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:12px}.message{max-width:min(74%,560px);padding:11px 14px;line-height:1.5;font-size:.88rem;position:relative}.message.inbound{align-self:flex-start;background:var(--paper-2);border-radius:2px 14px 14px 14px}.message.outbound{align-self:flex-end;background:var(--ink);color:var(--white);border-radius:14px 2px 14px 14px}.message-meta{display:flex;justify-content:flex-end;gap:7px;margin-top:6px;font-size:.62rem;opacity:.65}.media-card{display:block;color:inherit;text-decoration:none;border:1px solid currentColor;padding:12px;margin-bottom:8px}.composer{border-top:1px solid var(--line);padding:16px 20px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:end}.composer textarea{resize:none;min-height:44px;max-height:120px;border:0;background:var(--paper);padding:12px 14px;outline:none;line-height:1.4}.attach-button{width:44px;height:44px;border:1px solid var(--line);background:transparent;cursor:pointer}.send-button{height:44px;border:0;background:var(--red);color:white;padding:0 16px;cursor:pointer;display:flex;gap:16px;align-items:center}.back-button{display:none;font-size:1.2rem}.detail-pane{border-left:1px solid var(--line);padding:28px 24px;background:var(--paper);position:relative;overflow:auto}.detail-close{display:none;position:absolute;right:18px;top:18px;font-size:1.5rem}.profile-avatar{width:78px;height:78px;font-size:1.4rem;margin:26px 0 16px}.detail-pane h2{font:1.65rem "DM Serif Display",serif;margin:0}.detail-pane>p:not(.kicker){font-size:.78rem;color:var(--muted)}.detail-rule{height:1px;background:var(--line);margin:26px 0}.detail-pane dl{display:grid;gap:18px}.detail-pane dl div{display:flex;justify-content:space-between;gap:12px}.detail-pane dt{color:var(--muted);font-size:.74rem}.detail-pane dd{margin:0;font-size:.78rem;font-weight:600;text-align:right}.detail-note{margin-top:34px;border-top:2px solid var(--ink);padding-top:14px}.detail-note span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.detail-note p{font-size:.75rem;line-height:1.5;color:var(--muted)}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--ink);color:white;padding:12px 18px;opacity:0;pointer-events:none;transition:.25s var(--ease);box-shadow:var(--shadow);z-index:500;font-size:.82rem}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1120px){.app-shell{grid-template-columns:64px 330px 1fr}.detail-pane{position:fixed;right:0;top:0;bottom:0;width:min(320px,90vw);z-index:300;transform:translateX(100%);transition:transform .3s var(--ease);box-shadow:var(--shadow)}.detail-pane.open{transform:none}.detail-close{display:block}}
@media(max-width:760px){.app-shell{display:block}.rail{display:none}.conversation-pane,.chat-pane{height:100dvh}.chat-pane{display:none}.app-shell.chat-open .conversation-pane{display:none}.app-shell.chat-open .chat-pane{display:block}.back-button{display:block}.pane-heading{padding-top:max(24px,env(safe-area-inset-top))}.composer{padding-bottom:max(16px,env(safe-area-inset-bottom))}.message{max-width:86%}.login-shell{grid-template-columns:1fr}.login-story{min-height:45vh}.login-panel{min-height:55vh}.login-story h1{font-size:clamp(2.8rem,15vw,4.8rem)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
.chat-view{grid-template-rows:auto auto 1fr auto auto}.file-tray{margin:-8px 20px 12px 76px;background:var(--paper-2);padding:9px 12px;display:flex;justify-content:space-between;gap:12px;font-size:.75rem}.file-tray button{border:0;background:transparent;color:var(--red);cursor:pointer}
