/* Simetrix Cora AI Agent. Isolated, prefixed .sxcora-. Colours come from CSS
   variables the plugin injects from the Appearance settings. */

.sxcora-root, .sxcora-root * { box-sizing: border-box; }
.sxcora-root {
  --sxcora-overlay: rgba(18,22,28,0.18);
  --sxcora-bg:#1B2027; --sxcora-header:#21262E; --sxcora-bot:#262C35; --sxcora-bot-border:rgba(255,255,255,0.05);
  --sxcora-user:#F5F5F5; --sxcora-user-text:#0D171B; --sxcora-text:#F5F7FA; --sxcora-muted:#A5ACB8;
  --sxcora-input:#181D24; --sxcora-border:rgba(255,255,255,0.08); --sxcora-accent:#F7C51E;
  --sxcora-radius:22px; --sxcora-shadow:0 24px 80px rgba(0,0,0,0.28);
  --sxcora-width:440px; --sxcora-height:680px; --sxcora-header-height:72px;
  font-family:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}

/* Launcher: premium capsule */
.sxcora-launcher {
  position:fixed; right:24px; bottom:24px; z-index:2147483000;
  min-width:0; height:56px; border-radius:18px; padding:16px;
  border:1px solid var(--sxcora-border); background:rgba(27,32,39,0.90); color:var(--sxcora-text);
  -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
  cursor:pointer; display:flex; align-items:center; gap:12px; box-shadow:0 18px 60px rgba(0,0,0,0.18);
  transition:transform .2s ease, opacity .2s ease; text-align:left;
}
.sxcora-launcher:hover { transform:translateY(-2px); }
.sxcora-launcher img { height:24px; width:auto; display:block; }
.sxcora-launch-text { display:flex; flex-direction:column; }
.sxcora-launch-title { font-size:14px; font-weight:700; line-height:1.15; color:var(--sxcora-accent); }
.sxcora-launch-sub { font-size:11px; color:var(--sxcora-muted); margin-top:2px; }
.sxcora-launcher.round { min-width:0; width:56px; height:56px; border-radius:50%; padding:0; justify-content:center; }
.sxcora-launcher.round .sxcora-launch-text, .sxcora-launcher.round img { display:none; }
.sxcora-launcher.round svg { width:24px; height:24px; display:block; }
.sxcora-launcher:not(.round) svg { display:none; }
.sxcora-badge { position:absolute; top:-4px; right:-4px; min-width:20px; height:20px; padding:0 5px; border-radius:10px; background:#E5484D; color:#fff; font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; }

/* Proactive teaser */
.sxcora-teaser {
  position:fixed; right:24px; bottom:92px; z-index:2147482999; width:320px; max-width:calc(100vw - 48px);
  background:var(--sxcora-header); border:1px solid var(--sxcora-border); border-radius:16px;
  padding:14px 16px; color:var(--sxcora-text); box-shadow:var(--sxcora-shadow); cursor:pointer;
  animation:sxcora-rise .3s ease;
}
.sxcora-teaser-top { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.sxcora-teaser-top img { height:18px; width:auto; }
.sxcora-teaser-name { font-size:12px; font-weight:700; color:var(--sxcora-accent); }
.sxcora-teaser-text { font-size:13.5px; line-height:1.45; }
.sxcora-teaser-close { position:absolute; top:8px; right:10px; background:transparent; border:none; color:var(--sxcora-muted); font-size:16px; cursor:pointer; line-height:1; }

/* Backdrop (mobile) */
.sxcora-backdrop { display:none; }

/* Panel */
.sxcora-panel {
  position:fixed; right:24px; bottom:24px; z-index:2147483000;
  width:var(--sxcora-width,440px); height:var(--sxcora-height,680px); max-height:80vh; max-width:calc(100vw - 48px);
  background:var(--sxcora-bg); border:1px solid rgba(255,255,255,0.06);
  border-radius:var(--sxcora-radius); overflow:hidden; display:flex; flex-direction:column;
  box-shadow:var(--sxcora-shadow); animation:sxcora-rise .2s cubic-bezier(.2,.8,.2,1);
}
.sxcora-panel.sxcora-glass { -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); }
@keyframes sxcora-rise { from{opacity:0;transform:translateY(16px);} to{opacity:1;transform:translateY(0);} }

/* Header */
.sxcora-header {
  display:flex; align-items:center; gap:12px; height:var(--sxcora-header-height,72px); padding:20px;
  border-bottom:1px solid transparent; background:var(--sxcora-header); flex-shrink:0;
}
.sxcora-back { background:transparent; border:none; color:var(--sxcora-muted); cursor:pointer; padding:2px; display:none; }
.sxcora-back svg { width:18px; height:18px; }
.sxcora-header.has-back .sxcora-back { display:inline-flex; }
.sxcora-header-left { display:flex; align-items:center; gap:12px; min-width:0; flex:1; }
.sxcora-header.center .sxcora-header-left { justify-content:center; }
.sxcora-logo { height:28px; width:auto; display:block; }
.sxcora-logo-fallback { font-size:15px; font-weight:700; color:var(--sxcora-text); }
.sxcora-htext { min-width:0; }
.sxcora-htitle { color:var(--sxcora-text); font-weight:600; font-size:15px; line-height:1.2; }
.sxcora-hsub { color:var(--sxcora-muted); font-size:11px; font-weight:400; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sxcora-close { width:36px; height:36px; border-radius:12px; background:transparent; border:none; color:var(--sxcora-muted); font-size:20px; line-height:1; cursor:pointer; flex-shrink:0; display:flex; align-items:center; justify-content:center; transition:background .2s ease, color .2s ease; }
.sxcora-close:hover { color:var(--sxcora-text); background:rgba(255,255,255,0.05); }

/* Views */
.sxcora-view { flex:1 1 auto; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
.sxcora-view::-webkit-scrollbar { width:6px; }
.sxcora-view::-webkit-scrollbar-thumb { background:rgba(255,255,255,.10); border-radius:999px; }

/* Home */
.sxcora-home { padding:24px 20px; }
.sxcora-home-greeting { color:var(--sxcora-text); font-size:22px; font-weight:600; line-height:1.3; margin-bottom:8px; }
.sxcora-home-sub { color:var(--sxcora-muted); font-size:14px; line-height:1.5; margin-bottom:20px; }
.sxcora-card { background:var(--sxcora-bot); border:1px solid var(--sxcora-bot-border); border-radius:16px; padding:16px; margin-bottom:14px; cursor:pointer; transition:border-color .15s ease; }
.sxcora-card:hover { border-color:var(--sxcora-accent); }
.sxcora-card-title { color:var(--sxcora-text); font-size:14px; font-weight:600; }
.sxcora-card-sub { color:var(--sxcora-muted); font-size:13px; margin-top:4px; line-height:1.45; }
.sxcora-card-row { display:flex; align-items:center; justify-content:space-between; }
.sxcora-card-row .go { color:var(--sxcora-accent); font-size:18px; }

/* Topic chips */
.sxcora-topics { margin:4px 0 0; }
.sxcora-topics-label { color:var(--sxcora-muted); font-size:11px; letter-spacing:.08em; text-transform:uppercase; margin:8px 0 12px; }
.sxcora-chips { display:flex; flex-wrap:wrap; align-content:flex-start; gap:8px; }
.sxcora-chip { display:inline-flex; align-items:center; flex:0 0 auto; white-space:nowrap; height:34px; line-height:1; background:transparent; border:1px solid var(--sxcora-border); color:var(--sxcora-text); border-radius:999px; padding:0 14px; font-size:13px; cursor:pointer; transition:background .2s ease, border-color .2s ease; }
.sxcora-chip:hover { background:rgba(255,255,255,0.05); }

/* Conversation list */
.sxcora-list { padding:8px 0; }
.sxcora-list-item { display:flex; gap:12px; padding:14px 18px; cursor:pointer; border-bottom:1px solid var(--sxcora-border); }
.sxcora-list-item:hover { background:rgba(255,255,255,0.03); }
.sxcora-li-body { min-width:0; flex:1; }
.sxcora-li-top { display:flex; justify-content:space-between; gap:8px; }
.sxcora-li-name { color:var(--sxcora-text); font-size:13.5px; font-weight:600; }
.sxcora-li-time { color:var(--sxcora-muted); font-size:11px; flex-shrink:0; }
.sxcora-li-prev { color:var(--sxcora-muted); font-size:13px; margin-top:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sxcora-empty { padding:40px 20px; text-align:center; color:var(--sxcora-muted); font-size:13.5px; }
.sxcora-newbtn { display:block; margin:16px auto; background:var(--sxcora-accent); color:#0D171B; border:none; border-radius:20px; padding:10px 18px; font-size:13.5px; font-weight:600; cursor:pointer; }

/* Help / News */
.sxcora-help-search { padding:16px 18px; }
.sxcora-help-search input { width:100%; background:var(--sxcora-input); border:1px solid var(--sxcora-border); border-radius:12px; color:var(--sxcora-text); font-size:14px; padding:11px 14px; outline:none; }
.sxcora-help-results, .sxcora-news { padding:0 18px 18px; }
.sxcora-article { background:var(--sxcora-bot); border:1px solid var(--sxcora-bot-border); border-radius:14px; padding:14px 16px; margin-bottom:12px; }
.sxcora-article h4 { margin:0 0 6px; color:var(--sxcora-text); font-size:14px; }
.sxcora-article p { margin:0; color:var(--sxcora-muted); font-size:13px; line-height:1.5; }
.sxcora-article a { color:var(--sxcora-accent); text-decoration:none; font-size:13px; }

/* Chat */
.sxcora-chat { padding:20px 16px; }
.sxcora-row { display:flex; margin-bottom:16px; }
.sxcora-row.bot { justify-content:flex-start; }
.sxcora-row.user { justify-content:flex-end; }
.sxcora-bubble { max-width:72%; padding:12px 15px; font-size:14px; line-height:1.5; border-radius:18px; white-space:pre-wrap; word-wrap:break-word; animation:sxcora-msg .26s ease-out; }
.sxcora-bubble.bot { background:var(--sxcora-bot); border:1px solid var(--sxcora-bot-border); color:var(--sxcora-text); }
.sxcora-bubble.user { background:var(--sxcora-user); color:var(--sxcora-user-text); }
@keyframes sxcora-msg { from{opacity:0;transform:translateY(6px);} to{opacity:1;transform:none;} }
.sxcora-bubble img.sxcora-media { max-width:100%; border-radius:12px; display:block; margin-top:2px; }
.sxcora-bubble audio { width:230px; max-width:100%; margin-top:2px; }
.sxcora-filechip { display:flex; align-items:center; gap:8px; background:rgba(255,255,255,0.05); border:1px solid var(--sxcora-bot-border); border-radius:10px; padding:8px 10px; font-size:12.5px; color:var(--sxcora-text); }
.sxcora-filechip .ic { width:14px; height:14px; opacity:.7; display:inline-flex; }
.sxcora-typing { display:inline-flex; padding:12px 14px; background:var(--sxcora-bot); border:1px solid var(--sxcora-bot-border); border-radius:18px; }
.sxcora-dot { width:4px; height:4px; border-radius:50%; background:var(--sxcora-muted); margin:0 2px; animation:sxcora-dot 1.3s infinite; }
.sxcora-dot:nth-child(2){ animation-delay:.18s; } .sxcora-dot:nth-child(3){ animation-delay:.36s; }
@keyframes sxcora-dot { 0%,80%,100%{opacity:.2;} 40%{opacity:.9;} }

/* Footer area (nav or composer) */
.sxcora-footer { flex-shrink:0; }

/* Bottom nav */
.sxcora-nav { display:flex; border-top:1px solid var(--sxcora-border); background:var(--sxcora-header); }
.sxcora-nav button { flex:1; display:flex; flex-direction:column; align-items:center; gap:3px; padding:10px 4px 9px; background:transparent; border:none; color:var(--sxcora-muted); cursor:pointer; position:relative; font-size:11px; }
.sxcora-nav button.active { color:var(--sxcora-text); }
.sxcora-nav button svg { width:20px; height:20px; }
.sxcora-nav .nav-badge { position:absolute; top:6px; right:50%; margin-right:-18px; min-width:16px; height:16px; padding:0 4px; border-radius:8px; background:#E5484D; color:#fff; font-size:10px; font-weight:700; display:flex; align-items:center; justify-content:center; }

/* Composer (chat): text full width, icons below */
.sxcora-composer { padding:10px 14px 12px; position:relative; }
.sxcora-inputbox { background:var(--sxcora-input); border:1px solid var(--sxcora-border); border-radius:22px; padding:12px 16px; min-height:56px; }
.sxcora-textarea {
  display:block; width:100%; resize:none;
  background:transparent !important; border:0 !important; box-shadow:none !important; outline:none !important;
  color:var(--sxcora-text) !important; -webkit-text-fill-color:var(--sxcora-text); caret-color:var(--sxcora-accent); font-size:14px; line-height:1.5; font-family:inherit; max-height:120px; padding:2px 0; margin:0;
  -webkit-appearance:none; appearance:none;
}
.sxcora-textarea::placeholder { color:var(--sxcora-muted); opacity:.7; }
.sxcora-inputrow { display:flex; align-items:center; justify-content:space-between; margin-top:8px; }
.sxcora-tools { display:flex; align-items:center; gap:12px; }
.sxcora-tool { width:30px; height:30px; border:none; background:transparent; color:var(--sxcora-muted); cursor:pointer; border-radius:10px; display:flex; align-items:center; justify-content:center; padding:0; transition:background .2s ease,color .2s ease; }
.sxcora-tool:hover { background:rgba(255,255,255,0.05); color:var(--sxcora-text); }
.sxcora-tool svg { width:20px; height:20px; }
.sxcora-send { flex-shrink:0; width:34px; height:34px; border-radius:50%; border:none; background:var(--sxcora-accent); color:#0D171B; opacity:.45; cursor:default; display:flex; align-items:center; justify-content:center; padding:0; transition:opacity .2s ease; }
.sxcora-send.active { opacity:1; cursor:pointer; }
.sxcora-send.active:hover { opacity:.88; }
.sxcora-send svg { width:17px; height:17px; }
.sxcora-foot-note { text-align:center; color:var(--sxcora-muted); font-size:10.5px; padding:6px 0 2px; opacity:.7; }

/* Previews */
.sxcora-previews { display:flex; flex-wrap:wrap; gap:8px; padding:0 14px 6px; }
.sxcora-preview { display:flex; align-items:center; gap:8px; background:rgba(255,255,255,0.05); border:1px solid var(--sxcora-border); border-radius:10px; padding:6px 8px; font-size:12px; color:var(--sxcora-text); max-width:200px; }
.sxcora-preview img { width:28px; height:28px; object-fit:cover; border-radius:6px; }
.sxcora-preview .nm { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sxcora-preview .rm { background:transparent; border:none; color:var(--sxcora-muted); cursor:pointer; font-size:14px; line-height:1; padding:0 2px; }

/* Emoji */
.sxcora-emoji { position:absolute; bottom:84px; left:18px; z-index:5; background:var(--sxcora-header); border:1px solid var(--sxcora-border); border-radius:14px; padding:10px; width:248px; box-shadow:var(--sxcora-shadow); display:grid; grid-template-columns:repeat(8,1fr); gap:4px; }
.sxcora-emoji button { background:transparent; border:none; cursor:pointer; font-size:18px; line-height:1; padding:4px; border-radius:8px; }
.sxcora-emoji button:hover { background:rgba(255,255,255,0.07); }

/* Recording */
.sxcora-recording { display:flex; align-items:center; gap:12px; margin:0 14px 12px; background:var(--sxcora-input); border:1px solid var(--sxcora-border); border-radius:16px; padding:10px 14px; }
.sxcora-rec-dot { width:9px; height:9px; border-radius:50%; background:#E5484D; animation:sxcora-pulse 1.2s infinite; flex-shrink:0; }
@keyframes sxcora-pulse { 0%,100%{opacity:1;} 50%{opacity:.35;} }
.sxcora-rec-time { color:var(--sxcora-text); font-size:14px; font-variant-numeric:tabular-nums; }
.sxcora-rec-spacer { flex:1; }
.sxcora-rec-btn { background:transparent; border:1px solid var(--sxcora-border); color:var(--sxcora-text); border-radius:16px; padding:6px 12px; font-size:12.5px; cursor:pointer; }
.sxcora-rec-btn.cancel { color:var(--sxcora-muted); }
.sxcora-rec-btn.send { background:var(--sxcora-accent); color:#0D171B; border-color:var(--sxcora-accent); font-weight:600; }

/* Mobile */
@media (max-width:520px) {
  .sxcora-backdrop { display:block; position:fixed; inset:0; z-index:2147482999; background:var(--sxcora-overlay); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
  .sxcora-panel { right:0; bottom:0; top:0; left:0; width:100%; height:100%; height:100dvh; max-width:100%; max-height:100%; border-radius:0; border:none; }
  .sxcora-header { height:64px; padding-top:calc(12px + env(safe-area-inset-top)); }
  .sxcora-composer { padding-bottom:calc(12px + env(safe-area-inset-bottom)); }
  .sxcora-nav { padding-bottom:env(safe-area-inset-bottom); }
  .sxcora-launcher { right:16px; bottom:16px; }
  .sxcora-teaser { right:16px; bottom:84px; }
}
@media (prefers-reduced-motion:reduce) { .sxcora-panel,.sxcora-bubble,.sxcora-teaser { animation:none; } .sxcora-dot,.sxcora-rec-dot { animation:none; } .sxcora-launcher:hover { transform:none; } }

.sxcora-shortcode-marker { display:none !important; }
