:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#25312c;background:#fff;font-size:14px;letter-spacing:0;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #387b66;outline-offset:3px}svg{width:19px;height:19px;flex-shrink:0}h1,h2,p{margin-top:0}h1{font-size:30px;line-height:1.25;font-weight:550}h2{font-size:22px;font-weight:550}p{line-height:1.7}main{height:100dvh}.workspace{display:flex;height:100dvh;overflow:hidden}.sidebar{width:248px;flex-shrink:0;background:#f3f5f3;border-right:1px solid #e3e8e4;padding:28px 18px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:600;padding:0 10px 32px}.brand svg{color:#357450;width:26px;height:26px}.new-chat{display:flex;align-items:center;gap:11px;padding:13px 12px;border:1px solid #d9e0db;border-radius:6px;background:#fff;text-align:left}.new-chat:hover{background:#e9f0eb}.section-label{font-size:10px;font-weight:600;color:#7b857f;margin:32px 12px 14px}.conversation-list{flex:1;overflow:auto}.conversation-link{display:flex;align-items:center;gap:9px;padding:12px 10px;color:#58655d;border-radius:5px;margin-bottom:5px}.conversation-link span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-link.selected{background:#e2eae4;color:#244c35}.conversation-link:hover{background:#e8eee9}.muted{color:#778079}.empty-list{font-size:12px;padding:0 12px}.sidebar-bottom{border-top:1px solid #dfe5e0;padding-top:20px}.identity{display:flex;align-items:center;gap:10px;margin-bottom:16px}.identity strong{font-weight:500;display:block;overflow-wrap:anywhere}.identity small{display:block;margin-top:4px;font-size:11px;color:#7b857f}.avatar{height:30px;width:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e8edf0;color:#546671;font-size:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dbe2dc;background:#fff;border-radius:5px;padding:10px 14px;font-size:12px;font-weight:500;min-height:38px}.button:hover{background:#f1f5f2}.button.primary{background:#286349;color:#fff;border-color:#286349}.button.danger{color:#a23939;border-color:#ddb7b7}.login-button{width:100%;font-size:11px;white-space:normal;text-align:center}.text-button{display:inline-flex;align-items:center;gap:7px;font-size:12px;padding:8px 0}.text-button:hover{color:#286349}.text-button svg{width:15px;height:15px}.main-area{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{min-height:74px;border-bottom:1px solid #eef0ee;display:flex;align-items:center;justify-content:space-between;padding:14px 28px;gap:12px}.topbar-title{display:flex;gap:13px;align-items:center;font-size:13px;color:#647068;flex-wrap:wrap}.demo-badge{font-size:10px;padding:4px 7px;border:1px solid #eadfc1;border-radius:4px;color:#826c35;background:#fcf9f0;white-space:nowrap}.topbar-actions{display:flex;align-items:center;gap:14px}.icon-button{height:34px;width:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;flex-shrink:0}.icon-button:hover{background:#edf2ee}.presence{display:flex;align-items:center;gap:6px;font-size:11px;white-space:nowrap}.dot{width:6px;height:6px;border-radius:50%;background:#b3b9b5}.dot.online{background:#448667}.panels{display:flex;flex:1;min-height:0}.chat-panel{flex:1;min-width:0;display:flex;flex-direction:column}.panel-header{min-height:56px;display:flex;align-items:center;gap:8px;padding:16px 28px;color:#496b57;font-size:12px}.panel-header>svg{width:14px;height:14px}.panel-header strong{font-weight:600}.panel-header>span{color:#8a918c;font-size:11px;overflow-wrap:anywhere}.panel-header .icon-button{margin-left:auto}.transcript{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px max(28px,calc((100% - 680px)/2));scrollbar-width:thin}.welcome{max-width:540px;margin:clamp(30px,12vh,140px) auto 30px;text-align:left}.welcome-mark{width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:#edf4ee;border-radius:8px;color:#3f7953;margin-bottom:26px}.welcome-mark svg{width:28px;height:28px}.eyebrow{font-size:10px;color:#718376;font-weight:500;margin-bottom:13px}.welcome h1{margin-bottom:18px}.opening-question{font-size:17px;color:#647168;line-height:1.7;max-width:460px}.privacy-note{display:flex;align-items:center;gap:7px;color:#86928a;font-size:11px;margin-top:25px}.privacy-note svg{width:12px;height:12px}.composer-area{padding:12px max(28px,calc((100% - 680px)/2)) 18px}.composer-tools{display:flex;justify-content:space-between;align-items:center;color:#758179;min-height:35px;margin-bottom:8px}.composer{border:1px solid #dbe3dd;border-radius:8px;display:flex;align-items:flex-end;padding:13px;background:#fafcfb;gap:8px}.composer:focus-within{border-color:#88a391}.composer textarea{flex:1;min-width:0;resize:none;border:0;background:none;padding:3px 0;outline:none;line-height:1.6;color:#33453a;max-height:180px}.composer textarea::placeholder{color:#98a099}.send-button{width:33px;height:33px;background:#286349;border-radius:5px;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.composer-note{text-align:center;color:#909892;font-size:10px;margin:10px 0 0}.message{margin:10px 0 32px;overflow-wrap:anywhere}.message-heading{display:flex;align-items:center;gap:9px;font-size:12px;min-height:32px}.message-heading strong{font-weight:550}.mediator-avatar{color:#357450;background:#edf4ee}.mediator-avatar svg{width:17px;height:17px}.message p{margin:10px 0 0 39px;white-space:pre-wrap;font-size:14px;line-height:1.85}.message-tag{font-size:9px;color:#778781}.thinking{font-size:12px;color:#7d8a80;margin:16px 0 20px 39px}.shared-panel{border-left:1px solid #d8e0e8;background:#fcfdff}.shared-panel .panel-header{background:#f0f5fa;color:#42627f}.shared-panel .panel-header>span{color:#748798}.split .transcript{padding-left:24px;padding-right:24px}.split .composer-area{padding-left:24px;padding-right:24px}.split .welcome{margin-top:10vh}.split .opening-question{font-size:16px}.split h1{font-size:26px}.shared-composer{background:#fff;border-color:#d3dfeb}.shared-composer .send-button{background:#476987}.shared-status{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;font-size:11px;color:#7b8b9b;border-bottom:1px solid #e8edf2;min-height:45px}.shared-empty{padding:70px 15px;text-align:center;color:#8a99a7}.shared-empty>svg{width:29px;height:29px;margin-bottom:20px}.shared-empty h2{font-size:20px;color:#61798f}.shared-empty p{font-size:13px}.session-invitation{display:flex;align-items:center;gap:16px;background:#edf4fa;padding:12px 24px;font-size:12px;color:#3e5f7b}.session-invitation>span{flex:1}.modal-backdrop{position:fixed;inset:0;background:#17271f55;display:flex;align-items:center;justify-content:center;z-index:20;padding:20px}.modal{position:relative;background:#fff;border-radius:8px;padding:36px;width:500px;max-width:100%;max-height:90dvh;overflow:auto;box-shadow:0 16px 70px #14271d22}.modal-close{position:absolute;top:12px;right:12px}.modal h2{margin-top:12px}.modal p{font-size:13px;color:#6d7b71}.modal textarea,.invite-url,.dev-login input{width:100%;border:1px solid #d3ddd5;border-radius:5px;padding:12px;background:#fbfcfb;color:#34473a;line-height:1.6;resize:vertical;margin:8px 0 16px}.field-label{font-size:12px;color:#718175}.login-options{margin:25px 0}.google{width:100%}.dev-login{border-top:1px solid #eee;margin-top:24px;padding-top:18px}.dev-login label{font-size:12px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#e8f1eb;border:1px solid #bdcfbf;color:#355940;padding:13px 20px;border-radius:5px;max-width:min(620px,90vw);z-index:30;font-size:12px;box-shadow:0 5px 20px #0001}.toast.error{background:#fff0ed;border-color:#efc6bf;color:#8e4036}.invite-page{min-height:100dvh;padding:35px}.invite-content{max-width:470px;margin:70px auto}.invite-content>p{color:#708078}.decline-link{margin-top:20px;display:block}.mobile-tabs,.mobile-menu{display:none}@media(min-width:1600px){.sidebar{width:270px}}@media(max-width:1100px){.sidebar{width:210px;padding-left:12px;padding-right:12px}.topbar{padding:14px 18px}.topbar-title{gap:7px}.presence-word{display:none}.split .panel-header{padding:15px}.split .panel-header>span{font-size:10px}.split .composer-area,.split .transcript{padding-left:16px;padding-right:16px}}@media(max-width:760px){.sidebar{display:none}.sidebar.visible{display:flex;position:fixed;inset:0 auto 0 0;z-index:15;width:248px;box-shadow:10px 0 40px #0002}.mobile-menu{display:inline-flex}.topbar{min-height:67px;padding:10px 12px;align-items:center}.topbar-title{font-size:11px;gap:6px}.topbar-title>span:first-of-type{display:none}.topbar-actions{gap:5px}.invite-button{padding:8px;font-size:11px}.invite-button svg{width:15px;height:15px}.presence{font-size:10px;max-width:95px;overflow:hidden}.mobile-tabs{display:flex;border-bottom:1px solid #e2e7e3;flex-shrink:0}.mobile-tabs button{width:50%;padding:12px;display:flex;justify-content:center;gap:8px;font-size:12px;color:#819088;border-bottom:2px solid transparent}.mobile-tabs button.active{border-color:#437858;color:#2f573c}.mobile-tabs svg{width:14px;height:14px}.mobile-hidden{display:none}.panels.split{display:block;position:relative}.chat-panel{height:100%}.shared-panel{border-left:0}.panel-header{padding:13px 20px;min-height:47px}.transcript,.split .transcript{padding:12px 22px}.welcome,.split .welcome{margin-top:8vh}.welcome h1,.split h1{font-size:27px}.opening-question{font-size:16px}.composer-area,.split .composer-area{padding:10px 16px 12px}.composer-tools .text-button{font-size:11px}.composer-note{font-size:9px}.message p{font-size:13px;margin-left:0}.session-invitation{padding:10px 14px;gap:10px;font-size:11px;flex-wrap:wrap}.session-invitation .button{min-height:32px;padding:7px 12px}.modal{padding:28px 22px}.invite-page{padding:25px 20px}.invite-content{margin-top:35px}.privacy-note{align-items:flex-start;font-size:10px}.toast{bottom:10px}.welcome-mark{margin-bottom:22px}}@media(prefers-reduced-motion:no-preference){.message{animation:appear .15s ease-out}@keyframes appear{from{opacity:.3;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}}

/* Generated conversation titles may include long unbroken participant words. */
.confidential-label{display:flex;align-items:center;gap:6px;font-size:12px;color:#496b57}.confidential-label small{font-weight:400}.topbar{flex-wrap:wrap}.topbar-actions{flex-wrap:wrap}.shared-toggle{max-width:100%;text-align:left}.panel-header{flex-wrap:wrap}.demo-accounts{max-width:600px;height:auto;margin:40px auto;padding:20px}.demo-account{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #dbe2dc}.demo-account details{max-width:65%;font-size:12px}.demo-account summary{cursor:pointer}.demo-account p{margin-top:12px}.demo-accounts .dev-login{margin-bottom:20px}.shared-status{flex-wrap:wrap;gap:8px}
@media(min-width:901px){.panels.split .shared-panel{flex:0 0 var(--panel-width,50%)}}
@media(max-width:900px){.resize-handle{display:none}.panels.split{display:block;position:relative}.mobile-tabs{display:flex}.mobile-tabs button{width:50%;padding:12px}.mobile-hidden{display:none}.chat-panel{height:100%}.shared-panel{width:100%}.topbar{padding:10px 12px}.topbar-title>span:first-of-type{display:none}.confidential-label{flex-wrap:wrap}.shared-toggle{font-size:11px;padding:8px}.topbar-actions{gap:6px}}
.topbar-title{min-width:0}.topbar-title>span{overflow-wrap:anywhere}.panel-header strong{min-width:0;overflow-wrap:anywhere}

.process-intro{max-width:460px;color:#58655d}.arrival-context{font-size:14px;text-align:left}.arrival-context blockquote{margin:8px 0 18px;padding:10px 16px;border-left:3px solid #9db4a4;white-space:pre-wrap;overflow-wrap:anywhere}.sharing-draft{padding:16px 20px;border-top:1px solid #cfd9d2;background:#f8faf8;max-height:45vh;overflow:auto}.sharing-draft p{font-size:12px;margin:6px 0 12px}.sharing-draft textarea,#invitation-intro{display:block;width:100%;resize:vertical;padding:10px;border:1px solid #cfd9d2;border-radius:5px;margin-bottom:10px}.sharing-draft .text-button{margin-left:12px}.chat-choices{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:10px 0 0 40px}.chat-choice{text-align:left;padding:9px 13px;border:1px solid #cddbd2;border-radius:8px;max-width:100%;overflow-wrap:anywhere;background:#f8faf8}.chat-choice:hover{background:#e8f0eb}.chat-choices small{color:#778079}@media(max-width:760px){.chat-choices{margin-left:0}}

.context-tabs { display:flex; gap:8px; padding:12px 18px; border-bottom:1px solid #ddd; }
.context-tabs button { border:0; border-radius:8px; padding:8px 14px; cursor:pointer; background:transparent; }
.context-tabs button[aria-pressed="true"] { background:#e1ebe4; font-weight:600; }
.context-document { overflow:auto; padding:20px; flex:1; min-height:0; }
.document-text { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; margin:16px 0; }
.document-text ins { background:#d8efdf; text-decoration:underline; }
.document-text del { background:#f6dddd; text-decoration:line-through; }
.context-document textarea { width:100%; box-sizing:border-box; min-height:180px; }
.document-conflict { background:#fff1cd; padding:12px; border-radius:8px; }
#context-history { margin-top:24px; }
#context-history article { border-top:1px solid #ddd; padding-top:12px; }

.document-text ins, .document-text del { padding:1px 2px; border-radius:3px; }

.chat-footer { position:relative; flex-shrink:0; display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; padding:9px 20px; border-top:1px solid #dce5df; background:#f5f8f6; font-size:11px; color:#52665a; }
@media(max-width:700px) { .chat-footer { padding:8px 12px; gap:5px 12px; } }

.model-selector { display:flex; align-items:center; gap:.4rem; }
.model-selector select { max-width:12rem; padding:.25rem .4rem; border:1px solid var(--border, #d5d8d1); border-radius:.4rem; background:transparent; color:inherit; font:inherit; }

/* A single conversation with explicit audiences. */
.unified-panel { min-width: 0; width: 100%; }
.unified-panel .transcript { width: 100%; max-width: 880px; margin: 0 auto; }
.unified-panel .composer-area { width: 100%; padding: 12px max(20px, calc((100% - 840px) / 2)) 18px; box-sizing: border-box; }
.unified-panel .composer-area[data-audience="private"] { background: #edf5ee; }
.unified-panel .composer-area[data-audience="shared"] { background: #fff3df; }
.audience-selector { display: flex; align-items: center; gap: .7rem; margin-bottom: .6rem; }
.audience-selector select { max-width: 100%; padding: .5rem; border: 1px solid #c9cec8; border-radius: .6rem; background: white; color: inherit; font: inherit; }
.message-audience { font-size: .72rem; color: #58675e; margin-left: auto; }
.message-heading { flex-wrap: wrap; }
.memory-note { border-top: 1px solid #dce1dc; padding: 1rem 0; }
#memory-popup { max-height: 75vh; overflow: auto; }
@media(max-width: 700px) { .message-audience { width: 100%; margin-left: 2.5rem; } .topbar-actions { flex-wrap: wrap; } }

.audience-selector label { flex-shrink: 0; }
.audience-selector select { min-width: 0; flex: 1; }
#memory-popup nav { display: flex; gap: 1rem; flex-wrap: wrap; }


/* Background identifies audience; bubble color identifies the speaker. */
.unified-panel .transcript { max-width: none; padding: 0; }
.unified-panel .transcript > .welcome { padding: 0 24px; }
.message-lane { padding: 12px max(20px, calc((100% - 880px) / 2)); }
.message-lane-private { background: #edf5ee; }
.message-lane-shared { background: #fff3df; }
.message-lane-private + .message-lane-shared,
.message-lane-shared + .message-lane-private { border-top: 1px solid #ffffff; padding-top: 20px; }
.unified-panel .message { width: fit-content; max-width: 82%; padding: 15px 19px; margin: 0 auto 0 0; border: 1px solid #e5cfd7; border-radius: 20px 20px 20px 6px; background: #f9eaf0; }
.unified-panel .message-shared { margin-left: auto; margin-right: 0; border-radius: 20px 20px 6px 20px; }
.unified-panel .mediator-message { background: #eeebf8; border-color: #d9d2eb; }
.unified-panel .message-own { margin-left: auto; margin-right: auto; border-radius: 20px; background: #e7f0fa; border-color: #ccdced; }
.unified-panel .message p { margin: 8px 0 0; line-height: 1.75; }
.unified-panel .message-heading { gap: 8px; }
.unified-panel .message .avatar { background: #ffffffa6; }
.unified-panel .message-audience { font-size: 10px; color: #536659; }
.unified-panel .message-shared .message-audience { color: #796443; }
.audience-selector { display: flex; width: 100%; align-items: center; gap: 4px; padding: 0; border: 0; background: transparent; margin-bottom: 10px; }
.audience-selector button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 40px; padding: 9px 17px; border-radius: 9px; color: #667168; font-size: 13px; border: 1px solid transparent; }
.audience-selector svg { width: 15px; height: 15px; }
.audience-selector .audience-private { background: #edf5ee; color: #315740; }
.audience-selector .audience-private[aria-pressed="true"] { border-color: #71967b; box-shadow: inset 0 0 0 1px #71967b; }
.audience-selector .audience-shared { background: #fff3df; color: #75572f; }
.audience-selector .audience-shared[aria-pressed="true"] { border-color: #b49769; box-shadow: inset 0 0 0 1px #b49769; }
.audience-selector button:hover { filter: brightness(.98); }
.audience-selector .audience-invite { margin-left: auto; background: #eeebf8; color: #64527d; border-color: #d9d2eb; }
.composer-private, .composer-shared { background: #fff; border-radius: 15px; }
.composer-private { border-color: #ceded1; }
.composer-shared { border-color: #e5d4b8; }
.composer-shared .send-button { background: #82643c; }
.composer-shared:focus-within { border-color: #b89a6b; }
@media(max-width: 700px) {
  .unified-panel .message { max-width: 92%; padding: 12px 14px; }
  .unified-panel .message-audience { width: auto; margin-left: 0; flex-basis: 100%; }
  .audience-selector button { min-height: 42px; padding: 9px 13px; }
}

.audience-divider { display: flex; align-items: center; gap: 12px; margin: 2px 0 18px; color: #526b59; font-size: 11px; }
.audience-divider::before, .audience-divider::after { content: ""; flex: 1; height: 1px; background: currentColor; opacity: .22; }
.audience-divider span { display: inline-flex; align-items: center; gap: 7px; }
.audience-divider svg { width: 14px; height: 14px; }
.message-lane-shared .audience-divider { color: #80663e; }

/* Status stays muted; completed mediator messages render readable Markdown. */
.unified-panel .message-pending p { color: #7b7d85; font-style: italic; }
.thinking-dots { display: flex; gap: 4px; color: #7b7d85; font-size: 24px; line-height: 1; height: 28px; margin-top: 8px; align-items: center; }
.thinking-dots span { animation: thinking-dot 1.2s ease-in-out infinite; }
.thinking-dots span:nth-child(2) { animation-delay: .2s; }
.thinking-dots span:nth-child(3) { animation-delay: .4s; }
@keyframes thinking-dot { 0%, 60%, 100% { opacity: .35; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }
@media (prefers-reduced-motion: reduce) { .thinking-dots span { animation: none; } }
.unified-panel .message-markdown { margin-top: 8px; line-height: 1.75; }
.unified-panel .message-markdown p { white-space: normal; margin: 0 0 .7em; }
.unified-panel .message-markdown > :last-child { margin-bottom: 0; }
.message-markdown :is(h1,h2,h3,h4,h5,h6) { font-size: 1.08em; line-height: 1.4; margin: .8em 0 .35em; font-weight: 600; }
.message-markdown :is(ul,ol) { padding-left: 1.5em; margin: .5em 0; }
.message-markdown li + li { margin-top: .3em; }
.message-markdown blockquote { margin: .6em 0; padding-left: 1em; border-left: 3px solid #b9afcf; }
.message-markdown a[href] { color: #574775; text-decoration: underline; }
.message-markdown pre { white-space: pre-wrap; overflow-wrap: anywhere; padding: .7em; background: #ffffff80; border-radius: 6px; }
.message-markdown code { font-size: .9em; background: #ffffff60; }
.message-markdown table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.message-markdown :is(th,td) { padding: .4em .6em; border: 1px solid #d2cbe0; text-align: left; }
