/* Reference-inspired neutral chat theme; AEON-RAW content and behavior are retained. */
:root {
  font-family:ui-sans-serif,-apple-system,system-ui,"Segoe UI","Noto Sans",Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol",sans-serif;
  --sidebar-width:260px;--canvas:#fff;--sidebar:#f9f9f9;--text:#0d0d0d;--muted:#676767;
  --line:#e3e3e3;--soft:#f4f4f4;--hover:#ececec;--accent:#0d0d0d;--banner:#f4f4f4;
  --button:#0d0d0d;--button-text:#fff;--shadow:0 8px 32px #00000012;
  color:var(--text);background:var(--canvas);font-size:16px;
}
html,html[data-theme=dark] { background:var(--canvas); }
body { height:auto;min-height:100dvh;overflow:auto;background:var(--canvas); }
button,a,input,textarea,select { font-family:inherit; }
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible { outline-color:var(--text); }
.site-stage { width:100%; }
.aeon-wordmark { display:block;font-family:Arial,Helvetica,sans-serif;font-size:20px;font-weight:900;letter-spacing:-.8px;line-height:1.2;white-space:nowrap; }

.platform-frame { position:relative;isolation:isolate; }
.platform-surface { position:relative;isolation:isolate;overflow:hidden;height:100dvh;min-height:0;background:var(--canvas); }

.sidebar { position:absolute;width:var(--sidebar-width);padding:12px;z-index:20;border-right:0; }
.sidebar-header { height:40px;margin-bottom:16px;padding:0 2px; }
.brand { display:inline-flex;align-items:center;min-height:36px;padding:4px 8px;border-radius:8px;background:transparent;color:var(--text); }.brand:hover { background:var(--hover); }
.collapse-button { width:36px;height:36px; }.navigation { gap:2px; }
.nav-item { min-height:40px;font-size:14px;border-radius:999px;padding:10px 12px;gap:12px;line-height:20px; }
.nav-outbound { display:none; }.x-icon { width:20px;text-align:center;font-size:20px;line-height:20px; }
.contract-block { margin:16px 10px 12px; }
.contract-label { display:block;font-size:12px;line-height:18px;font-weight:500;color:var(--muted);margin-bottom:8px; }
.contract-copy { width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--canvas);border:1px solid var(--line);border-radius:12px;text-align:left; }
.contract-copy:hover { background:var(--soft); }.contract-copy code { font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;flex:1;min-width:0; }
.contract-copy svg { width:16px;height:16px;color:var(--muted); }.contract-copy.copied { border-color:var(--text);background:var(--soft); }
.docs-link { margin-top:0; }.docs-link[aria-current=page] { background:var(--hover); }
.sidebar-divider { height:1px;background:var(--line);margin:16px 10px; }
.sidebar .new-chat { background:var(--button);color:var(--button-text);border:0;border-radius:999px;min-height:44px;margin:0 0 24px;font-weight:500; }
.sidebar .new-chat:hover { background:var(--button);opacity:.85; }
.nav-item kbd { opacity:0;font-size:11px; }.nav-item:hover kbd { opacity:.7; }
.history-section { flex:1;min-height:90px; }.history-section h2 { margin:0 12px 10px;font-size:12px;line-height:18px;font-weight:500;color:var(--muted); }
.history-empty { color:var(--muted);font-size:13px;line-height:20px;padding:0 12px;max-width:200px;margin:0; }
.chat-history { display:flex;flex-direction:column;gap:2px; }
.history-item { display:flex;align-items:center;gap:10px;min-height:38px;border-radius:10px;padding:9px 12px;text-align:left;font-size:14px;line-height:20px;width:100%; }
.history-item span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.history-item svg { height:16px;width:16px;color:var(--muted); }
.history-item:hover,.history-item[aria-current=true] { background:var(--hover); }


.main { height:100%; }.topbar { min-height:64px;padding:12px 20px; }
.wordmark { font-size:20px;font-weight:500;letter-spacing:-.5px;line-height:28px; }.inner-raw { color:inherit;font-weight:inherit; }.model-button { gap:8px; }
.workspace { padding:0 32px 72px;overflow-y:auto; }
.home h1 { font-size:28px;line-height:36px;font-weight:500;letter-spacing:-.6px;margin:0 0 32px; }
.home>p,.hero-mark { display:none; }
.composer-area { max-width:768px; }
.composer { display:flex;align-items:flex-end;gap:8px;border-radius:28px;padding:8px 8px 8px 20px;border:1px solid var(--line);background:var(--soft);box-shadow:none; }
.composer:focus-within { border-color:#b4b4b4;box-shadow:none; }
.composer textarea { flex:1;min-width:0;font-size:16px;line-height:24px;min-height:36px;padding:6px 0; }
.composer-actions { display:flex;align-items:center;flex-shrink:0; }
.send-button,.stop-button { width:36px;height:36px;background:var(--button);color:var(--button-text); }
.composer-actions .icon-button { margin:0; }
.send-button:disabled { background:#e3e3e3;color:#fff; }.send-button:not(:disabled):hover,.stop-button:hover { background:var(--button);opacity:.85; }
.capacity-note { color:var(--muted);font-size:12px;line-height:18px;margin-top:12px; }
.workspace.in-conversation { padding:8px 32px 0; }
.conversation { padding:20px max(20px,calc((100% - 704px)/2)) 24px;scrollbar-width:thin; }
.message { margin:0 0 32px;font-size:16px;line-height:1.65; }
.message-user { margin-left:auto;max-width:85%;padding:10px 18px;border-radius:24px; }
.message-assistant { display:block;padding:0;margin-bottom:48px; }
.message-assistant:last-child { margin-bottom:8px; }
.message-copy { padding:0; }
.in-conversation .composer-area { padding-bottom:max(20px,env(safe-area-inset-bottom));padding-top:12px; }
.sidebar-scrim { position:absolute; }.docs-page { flex:1;padding:32px 48px;overflow:auto; }
.docs-back { font-size:14px;color:var(--muted);text-underline-offset:4px;display:inline-block;margin-bottom:56px; }
.docs-page h1 { font-size:32px;line-height:40px;letter-spacing:-.7px;font-weight:500;margin:12px 0 28px; }
.docs-rule { width:100%;height:1px;background:var(--line); }.dialog { border-radius:24px; }.dialog .dialog-eyebrow { font-family:inherit;letter-spacing:0;font-size:13px; }
.docs-page { min-height:0; }
.docs-content { max-width:760px;margin-inline:auto; }
.docs-page h2 { margin:0 0 16px;font-size:22px;line-height:30px;letter-spacing:-.4px;font-weight:500; }
.docs-intro { padding:32px 0 40px; }
.docs-intro p,.faq-item p { margin:0;font-size:15px;line-height:1.75;overflow-wrap:anywhere; }
.docs-intro p + p { margin-top:20px; }
.docs-page .docs-note { color:var(--muted);font-size:13px;line-height:1.7;margin:0; }
.docs-intro .docs-note { margin-top:16px; }
.docs-note a { color:inherit;text-underline-offset:3px; }
.docs-faq { padding-bottom:24px; }
.faq-document { padding-top:32px;font-size:15px;line-height:1.75;overflow-wrap:anywhere; }
.faq-document h3 { margin:28px 0 16px;font-size:18px;line-height:1.5; }
.faq-document h4 { margin:28px 0 12px;font-size:16px;line-height:1.5; }
.faq-document p { margin:0 0 16px; }
.faq-document ul,.faq-document ol { margin:0 0 20px;padding-left:24px; }
.faq-document li + li { margin-top:8px; }
.faq-document hr { margin:32px 0;border:0;border-top:1px solid var(--line); }
.faq-document a { text-underline-offset:3px; }
.faq-document code { font-size:.9em; }
.faq-list { margin-top:24px;border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item summary { display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:18px 0;list-style:none;cursor:pointer;font-size:15px;line-height:24px;font-weight:500; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::marker { content:""; }
.faq-item summary:hover { color:var(--muted); }
.faq-item summary:focus-visible { outline:2px solid var(--text);outline-offset:4px;border-radius:4px; }
.faq-toggle { position:relative;width:16px;height:16px;flex-shrink:0;color:var(--muted); }
.faq-toggle::before,.faq-toggle::after { content:"";position:absolute;left:1px;top:7px;width:14px;height:1.5px;background:currentColor; }
.faq-toggle::after { transform:rotate(90deg); }
.faq-item[open] .faq-toggle::after { display:none; }
.faq-item p { padding:0 32px 22px 0;color:var(--muted); }
.docs-page .docs-storage-note { margin-top:24px; }
html[data-theme=dark] { --canvas:#212121;--sidebar:#171717;--text:#ececec;--muted:#b4b4b4;--line:#424242;--soft:#2f2f2f;--hover:#2f2f2f;--accent:#ececec;--banner:#2f2f2f;--button:#f9f9f9;--button-text:#0d0d0d;color:var(--text); }
html[data-theme=dark] .new-chat { background:var(--button); }
html[data-theme=dark] .composer { background:#303030;border-color:#424242;box-shadow:none; }
html[data-theme=dark] .composer:focus-within { border-color:#595959; }.send-button:disabled { cursor:default; }
html[data-theme=dark] .send-button:disabled { background:#676767;color:#303030; }
@media(max-width:1100px) { .workspace{padding:0 24px 56px} }
@media(max-width:767px) {
  .sidebar{position:absolute;width:min(280px,calc(100% - 40px));padding:12px}.sidebar-header{margin-bottom:16px}.main{height:100%}
  .topbar{min-height:64px;padding:12px;align-items:center}.wordmark{font-size:18px}.model-button{padding:4px}
  .workspace{padding:0 16px 32px}.home h1{font-size:28px;line-height:36px;letter-spacing:-.6px;margin-bottom:28px}.heading-desktop{display:none}.heading-mobile{display:inline}
  .composer{padding:8px 8px 8px 18px}.composer textarea{font-size:16px;padding:6px 0}
  .workspace.in-conversation{padding:0 16px}.conversation{padding:20px 4px 24px}.message-user{max-width:90%;padding:10px 16px}.message-assistant{margin-bottom:40px}
  .in-conversation .composer-area{padding-top:8px;padding-bottom:max(16px,env(safe-area-inset-bottom))}
  .capacity-note{font-size:12px;line-height:18px;margin-top:12px}
  .docs-page{padding:24px}.docs-back{margin-bottom:40px}
}
@media(min-width:768px) { .heading-mobile{display:none} }
@media(max-width:380px) { .home h1{font-size:26px} }
@media(pointer:coarse) { .composer-actions .icon-button{width:44px;height:44px}.composer textarea{min-height:44px;padding-block:10px} }
@media(max-height:740px) and (min-width:768px) {
  .sidebar-header{margin-bottom:10px}.sidebar-divider{margin-top:12px;margin-bottom:12px}.sidebar .new-chat{margin-bottom:18px}
  .workspace{padding-top:12px;padding-bottom:32px}.home h1{margin-bottom:28px}
}
html,body { overflow-x:clip; }
.skip-link:not(:focus) { clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;padding:0; }

/* Keep the meme beside the chat, with its own space in the page layout. */
.site-stage { display:grid;grid-template-columns:minmax(0,1fr) 223px;grid-template-areas:"platform meme"; }
.platform-frame { grid-area:platform;min-width:0; }

.meme-column { grid-area:meme;min-width:0;padding:20px;border-left:1px solid var(--line); }
.meme-column img { display:block;width:183px;max-width:100%;height:auto;margin-inline:auto; }

.conversation { overscroll-behavior-y:auto; }
@media(max-width:1000px) {
  .site-stage { grid-template-columns:minmax(0,1fr);grid-template-areas:"platform" "meme"; }
  .meme-column { padding:32px 20px;border-left:0;border-top:1px solid var(--line); }
}
