:root {
  --ai-ink: #261510;
  --ai-green: #6e2b17;
  --ai-mint: #f1ece6;
  --ai-line: #dddde1;
}
.ai-orb { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; border-radius: 13px; color: #fff; background: linear-gradient(145deg, #261510, #7d321b 65%, #c96b4f); box-shadow: 0 8px 24px rgba(11,122,83,.22); }
.ai-orb-large { width: 64px; height: 64px; border-radius: 21px; font-size: 1.45rem; }
.ai-workspace { display: grid; grid-template-columns: 260px minmax(0, 780px); max-width: 1080px; min-height: calc(100vh - 120px); margin: 0 auto; border: 1px solid var(--ai-line); border-radius: 24px; overflow: hidden; background: #fff; }
.ai-history { padding: 18px 12px; background: #f8f6f5; border-right: 1px solid var(--ai-line); }
.ai-new-chat { display: flex; gap: 9px; align-items: center; padding: 11px 14px; border: 1px solid var(--ai-line); border-radius: 14px; color: var(--ai-ink); text-decoration: none; font-weight: 700; background: #fff; }
.ai-history-list { display: grid; gap: 5px; margin-top: 18px; }
.ai-history-item { display: grid; padding: 10px 12px; color: #3f3f47; text-decoration: none; border-radius: 12px; }
.ai-history-item small { color: #7d7e8d; }
.ai-history-item:hover, .ai-history-item.active { color: var(--ai-ink); background: #f1ece6; }
.ai-chat-panel { min-height: 70vh; display: grid; grid-template-rows: auto minmax(0,1fr) auto; }
.ai-chat-header { display: flex; gap: 13px; align-items: center; padding: 20px 24px; border-bottom: 1px solid var(--ai-line); }
.ai-chat-header h1 { margin: 0; color: var(--ai-ink); font-size: 1.15rem; font-weight: 800; }
.ai-chat-header p { margin: 2px 0 0; color: #696a78; font-size: .84rem; }
.ai-messages { overflow-y: auto; padding: 26px; }
.ai-message { max-width: 82%; margin-bottom: 22px; }
.ai-message-user { margin-left: auto; }
.ai-message-label { margin: 0 6px 6px; color: #6c6e7c; font-size: .73rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.ai-message-user .ai-message-label { text-align: right; }
.ai-message-body { padding: 14px 16px; border-radius: 18px; color: var(--ai-ink); background: #f4f2ef; line-height: 1.55; overflow-wrap: anywhere; }
.ai-message-user .ai-message-body { color: #fff; background: var(--ai-green); border-bottom-right-radius: 5px; }
.ai-message-assistant .ai-message-body { border-bottom-left-radius: 5px; }
.ai-thinking { display: flex; align-items: center; gap: 4px; margin: 7px; color: #737584; font-size: .78rem; }
.ai-thinking span { width: 5px; height: 5px; border-radius: 50%; background: var(--ai-green); animation: aiPulse 1.2s infinite; }
.ai-thinking span:nth-child(2) { animation-delay: .15s; }.ai-thinking span:nth-child(3) { animation-delay: .3s; }
@keyframes aiPulse { 0%,70%,100%{opacity:.25;transform:translateY(0)} 35%{opacity:1;transform:translateY(-3px)} }
.ai-error { margin: 7px; color: #a42d2d; font-size: .78rem; }
.ai-empty-state { max-width: 560px; margin: 10vh auto 0; text-align: center; }
.ai-empty-state h2 { margin: 18px 0 8px; color: var(--ai-ink); font-weight: 800; }
.ai-empty-state p { color: #696a78; }
.ai-suggestions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 20px; }
.ai-suggestions button { padding: 9px 13px; border: 1px solid var(--ai-line); border-radius: 999px; color: #3f3f47; background: #fff; }
.ai-composer { margin: 15px 22px 22px; padding: 9px; display: grid; grid-template-columns: 1fr auto; align-items: end; border: 1px solid #c0c0c7; border-radius: 20px; box-shadow: 0 12px 35px rgba(16,38,31,.08); }
.ai-composer textarea { min-height: 48px; max-height: 180px; padding: 12px; resize: vertical; border: 0; outline: 0; }
.ai-composer button { width: 40px; height: 40px; border: 0; border-radius: 13px; color: #fff; background: var(--ai-green); }
.ai-composer small { grid-column: 1 / -1; padding: 4px 10px 0; color: #818391; font-size: .68rem; }
.ai-ask-modal { border: 1px solid var(--ai-line); border-radius: 22px; }
.ai-ask-modal textarea { border-radius: 15px; border-color: var(--ai-line); }
.mososi-ai-toast { position: fixed; right: 24px; bottom: 88px; z-index: 1090; display: flex; gap: 9px; align-items: center; max-width: 340px; padding: 13px 17px; border-radius: 15px; color: #fff; text-decoration: none; background: var(--ai-ink); box-shadow: 0 15px 40px rgba(0,0,0,.22); opacity: 0; transform: translateY(12px); pointer-events: none; transition: .2s ease; }
.mososi-ai-toast.show { opacity: 1; transform: translateY(0); pointer-events: auto; }
.ai-action { color: var(--ai-green) !important; }
.ai-author-badge { display: inline-flex; align-items: center; gap: 3px; margin-left: 4px; padding: 1px 6px; border-radius: 99px; color: #5f2614; background: var(--ai-mint); font-size: .64rem; font-weight: 800; }
@media (max-width: 767px) { .ai-workspace { display: block; min-height: calc(100vh - 150px); border: 0; border-radius: 0; }.ai-history { display:none; }.ai-chat-header { padding:14px 16px; }.ai-chat-header p { display:none; }.ai-messages { padding:18px 14px; }.ai-message{max-width:92%;}.ai-composer{margin:10px 10px 18px;} }

/* Conversation studio: quiet reading surface, ink controls, coral accents. */
.ai-studio { --ai-ink:#202129; --ai-green:#252630; --ai-line:#e3e2df; --ai-accent:#b74730; height:calc(100dvh - 112px); min-height:520px; max-height:1100px; grid-template-columns:240px minmax(0,1fr); max-width:1160px; border-radius:16px; }
.ai-studio [hidden] { display:none!important; }
.ai-studio button, .ai-studio a, .ai-studio input, .ai-studio textarea { -webkit-tap-highlight-color:transparent; }
.ai-studio button:focus-visible, .ai-studio a:focus-visible, .ai-studio input:focus-visible, .ai-studio textarea:focus-visible, .ai-studio summary:focus-visible { outline:2px solid var(--ai-accent); outline-offset:3px; }
.ai-studio button { cursor:pointer; }
.ai-studio button:disabled { opacity:.45; cursor:default; }
.ai-studio .ai-history { min-height:0; overflow-y:auto; background:#f8f7f5; padding:20px 14px; }
.ai-studio .ai-history-list { margin-top:8px; }
.ai-studio .ai-history-item { font-size:.86rem; gap:5px; overflow-wrap:anywhere; }
.ai-studio .ai-history-item.active { background:#ebe8e3; box-shadow:inset 3px 0 var(--ai-accent); }
#aiHistorySearch { width:100%; margin:20px 0; padding:10px; border:1px solid var(--ai-line); border-radius:8px; background:white; font-size:.8rem; }
.ai-eyebrow { color:#79736c; font-size:.67rem; text-transform:uppercase; letter-spacing:.12em; font-weight:700; }
.ai-studio .ai-chat-panel { min-height:0; min-width:0; overflow:hidden; }
.ai-studio .ai-chat-header { padding:16px 24px; gap:12px; }
.ai-studio .ai-chat-header > div:nth-last-child(2) { min-width:0; }
.ai-studio .ai-chat-header p { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:50vw; }
.ai-studio .ai-orb { background:#252630; box-shadow:none; border-radius:50%; color:#f8c7b5; }
.ai-header-new { margin-left:auto; color:var(--ai-ink); padding:10px; }
.ai-history-toggle { display:none; border:0; background:transparent; padding:10px; color:var(--ai-ink); }
.ai-studio .ai-messages { padding:28px clamp(16px,4vw,48px); overscroll-behavior:contain; scrollbar-gutter:stable; }
.ai-studio .ai-empty-state { margin:clamp(12px,5vh,60px) auto 20px; text-align:left; max-width:650px; }
.ai-studio .ai-empty-state h2 { font-size:clamp(1.8rem,3vw,2.65rem); line-height:1.15; font-weight:650; letter-spacing:-.045em; margin:16px 0; }
.ai-studio .ai-empty-state > p:not(.ai-eyebrow) { line-height:1.7; max-width:470px; font-size:.94rem; }
.ai-studio .ai-suggestions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:30px; }
.ai-studio .ai-suggestions button { display:flex; flex-direction:column; align-items:flex-start; text-align:left; padding:16px 13px; border-radius:10px; transition:background .15s,border-color .15s; }
.ai-studio .ai-suggestions button:hover { background:#faf7f3; border-color:#c5b6aa; }
.ai-suggestions i { color:var(--ai-accent); margin-bottom:18px; font-size:1.1rem; }
.ai-suggestions strong { font-size:.83rem; }
.ai-suggestions span { font-size:.74rem; line-height:1.5; color:#79736c; margin-top:6px; }
.ai-studio .ai-message { max-width:100%; margin:0 0 32px; }
.ai-studio .ai-message-user { max-width:86%; margin-left:auto; }
.ai-studio .ai-message-label { font-size:.64rem; letter-spacing:.09em; margin:0 0 10px; color:#77747a; }
.ai-studio .ai-message-user .ai-message-body { background:#f0ede9; color:var(--ai-ink); border-radius:16px 16px 4px 16px; padding:14px 18px; }
.ai-plain { white-space:pre-wrap; overflow-wrap:anywhere; }
.ai-markdown { font-size:.96rem; line-height:1.8; color:var(--ai-ink); overflow-wrap:anywhere; }
.ai-markdown > :first-child { margin-top:0; }
.ai-markdown > :last-child { margin-bottom:0; }
.ai-markdown p { margin:0 0 1em; }
.ai-markdown h1,.ai-markdown h2,.ai-markdown h3,.ai-markdown h4,.ai-markdown h5,.ai-markdown h6 { font-size:1.12rem; font-weight:700; letter-spacing:-.015em; margin:1.6em 0 .65em; line-height:1.4; }
.ai-markdown h1 { font-size:1.4rem; }.ai-markdown h2 { font-size:1.25rem; }
.ai-markdown ul,.ai-markdown ol { padding-left:1.5em; margin-bottom:1em; }.ai-markdown li { margin:.35em 0; }
.ai-markdown a { color:#96402d; text-decoration:underline; text-underline-offset:3px; }
.ai-markdown blockquote { border-left:3px solid #c88e76; padding:4px 0 4px 18px; margin:18px 0; color:#68616a; }
.ai-markdown blockquote p:last-child { margin:0; }
.ai-markdown :not(pre)>code { background:#f1efec; border-radius:4px; padding:.14em .35em; font-size:.87em; color:#853d2c; }
.ai-code { border:1px solid #363843; border-radius:10px; overflow:hidden; margin:20px 0; background:#21222b; color:#eeeef3; }
.ai-code-bar { display:flex; justify-content:space-between; align-items:center; padding:8px 14px; background:#2c2e39; font-size:.73rem; }
.ai-code-bar button { background:transparent; color:#eeeef3; border:1px solid #656675; border-radius:5px; padding:5px 9px; }
.ai-code pre { padding:18px; margin:0; overflow:auto; color:inherit; font-size:.82rem; line-height:1.65; max-height:560px; tab-size:4; }
.ai-table-wrap { overflow-x:auto; margin:20px 0; border:1px solid var(--ai-line); border-radius:8px; }
.ai-markdown table { border-collapse:collapse; min-width:100%; font-size:.86rem; }
.ai-markdown th,.ai-markdown td { padding:10px 14px; text-align:left; border-bottom:1px solid var(--ai-line); min-width:120px; }
.ai-markdown th { background:#f5f3f0; font-weight:650; }
.ai-answer-actions { display:flex; gap:8px; margin-top:15px; flex-wrap:wrap; }
.ai-answer-actions button, .ai-error button, #aiLoadEarlier, #aiJump { font-size:.76rem; background:white; border:1px solid var(--ai-line); color:#5b555e; padding:8px 12px; border-radius:7px; min-height:36px; }
.ai-answer-actions button:hover { color:var(--ai-accent); background:#faf7f3; }
.ai-sources { margin-top:18px; border-top:1px solid var(--ai-line); padding-top:12px; }
.ai-sources summary { cursor:pointer; font-size:.8rem; font-weight:650; color:#6d5d54; }
.ai-source-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:10px; }
.ai-source { display:grid; gap:5px; border:1px solid var(--ai-line); border-radius:8px; padding:10px; text-decoration:none; color:var(--ai-ink); font-size:.8rem; overflow-wrap:anywhere; }
.ai-source small { color:#84776c; font-size:.69rem; }
.ai-compose-area { position:relative; padding:0 24px 12px; background:#fff; }
.ai-studio .ai-composer { margin:0; border-color:#d7d2cc; box-shadow:0 3px 15px #20212908; border-radius:14px; }
.ai-studio .ai-composer textarea { width:100%; min-height:65px; background:transparent; font-size:.93rem; line-height:1.55; resize:none; color:var(--ai-ink); }
.ai-studio .ai-composer:focus-within { border-color:#9b8b7e; }
.ai-studio .ai-composer small { font-size:.64rem; }
.ai-footnote { margin:9px 0 0; color:#7d7880; font-size:.65rem; text-align:center; }
#aiNotice { font-size:.76rem; color:#706672; padding:8px 4px; min-height:32px; }
#aiJump { display:block; margin:0 auto 6px; box-shadow:0 3px 12px #20212912; }
#aiLoadEarlier { display:block; margin:0 auto 24px; }
.ai-error { padding:12px; border-radius:8px; background:#fff4f1; line-height:1.6; }.ai-error button { margin:6px 0 0 8px; }
.ai-excerpt { grid-column:1/-1; position:relative; border-left:3px solid #b96d50; background:#f7f3ee; padding:10px 40px 10px 12px; border-radius:5px; margin:4px; }
.ai-excerpt > span { font-size:.68rem; font-weight:700; color:#92543e; }
.ai-excerpt blockquote { margin:4px 0 0; font-size:.78rem; line-height:1.5; max-height:70px; overflow:auto; white-space:pre-wrap; }
.ai-studio .ai-excerpt button { position:absolute; top:6px; right:6px; width:28px; height:28px; background:transparent; color:#706672; }
@media(max-width:767px) {
 .ai-studio { position:relative; display:block; height:calc(100dvh - 145px); min-height:420px; border-radius:0; }
 .ai-studio .ai-chat-panel { height:100%; }
 .ai-studio .ai-chat-header { padding:10px 12px; gap:8px; }
 .ai-studio .ai-chat-header p { display:block; font-size:.7rem; max-width:46vw; }
 .ai-studio .ai-chat-header h1 { font-size:1rem; }
 .ai-history-toggle { display:block; }
 .ai-studio .ai-history { display:none; position:absolute; top:67px; left:0; bottom:0; width:min(300px,90%); z-index:5; box-shadow:10px 0 25px #20212922; }
 .ai-studio.ai-history-open .ai-history { display:block; }
 .ai-studio .ai-messages { padding:20px 16px; }
 .ai-studio .ai-empty-state { margin-top:10px; }
 .ai-studio .ai-suggestions { grid-template-columns:1fr; margin-top:20px; gap:8px; }
 .ai-studio .ai-suggestions button { display:grid; grid-template-columns:24px 1fr; padding:12px; column-gap:8px; }
 .ai-suggestions i { grid-row:1/3; margin:0; }.ai-suggestions span { margin-top:2px; }
 .ai-studio .ai-message-user { max-width:94%; }
 .ai-markdown { font-size:.91rem; }
 .ai-compose-area { padding:0 10px 10px; }
 .ai-studio .ai-composer textarea { min-height:52px; font-size:16px; }
 .ai-answer-actions button, .ai-history-toggle, .ai-header-new { min-height:44px; }
 .ai-source-grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .ai-studio *, .ai-studio *::before, .ai-studio *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

.ai-studio .ai-composer { padding:12px; transition:border-color .18s,box-shadow .18s; }
.ai-studio .ai-composer:focus-within { border-color:#b48069; box-shadow:0 0 0 3px #b4806910,0 8px 28px #20212909; }
.ai-studio .ai-composer textarea { min-height:84px; padding:10px 8px; }
.ai-studio .ai-composer #aiSend { border-radius:50%; width:42px; height:42px; margin:0 0 8px 8px; transition:transform .15s,background .15s; }
.ai-studio .ai-composer #aiSend:not(:disabled):hover { transform:translateY(-2px); background:#91442e; }
.ai-composer-toolbar { grid-column:1/-1; display:flex; align-items:center; gap:8px; padding:5px 0 7px; flex-wrap:wrap; }
.ai-tool-select { display:inline-flex; gap:5px; align-items:center; padding:0 8px; border:1px solid #e5dfd8; border-radius:9px; color:#62574f; background:#faf8f5; }
.ai-tool-select select { min-height:36px; max-width:150px; border:0; border-radius:5px; padding:4px 3px; background:transparent; color:#4c4542; font-size:.77rem; cursor:pointer; }
.ai-tool-select i { font-size:.85rem; }
.ai-studio .ai-composer #aiExpand { margin-left:auto; background:transparent; border:1px solid #e5dfd8; color:#78685b; height:36px; width:36px; border-radius:8px; }
.ai-studio .ai-composer #aiExpand[aria-pressed=true] { background:#f0e3d9; }
.ai-studio .ai-composer #aiModeHint { padding:4px 2px; color:#70645d; font-size:.7rem; line-height:1.5; }
.ai-studio .ai-composer .ai-composer-hint { display:flex; justify-content:space-between; gap:8px; padding:5px 2px 0; color:#827974; }
.ai-studio.ai-editor-expanded .ai-composer textarea { min-height:min(32vh,260px); max-height:45vh; }
.ai-studio[data-mode=platform] .ai-tool-select:first-child { background:#eef2f6; border-color:#c5d1de; }
.ai-studio[data-mode=write] .ai-tool-select:first-child { background:#f7eee7; border-color:#ddc3af; }
.ai-mode-badge { display:block; width:fit-content; margin:0 0 8px auto; color:#8b6752; font-size:.66rem; letter-spacing:.02em; }
.ai-tool-receipt { margin:0 0 14px; padding:9px 12px; border-left:2px solid #bca491; background:#faf8f5; border-radius:0 7px 7px 0; font-size:.75rem; color:#70665e; }
.ai-tool-receipt summary { cursor:pointer; font-weight:600; }.ai-tool-receipt p { margin:8px 0 0; }
@media(max-width:767px) {
 .ai-studio .ai-composer { padding:8px; }
 .ai-studio .ai-composer textarea { min-height:68px; }
 .ai-tool-select select { min-height:40px; font-size:.75rem; max-width:132px; }
 .ai-studio .ai-composer #aiExpand { width:40px; height:40px; }
 .ai-studio .ai-composer .ai-composer-hint > span:last-child { display:none; }
}
