*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#07080d;--bg-deep:#04050a;
  --sidebar-bg:rgba(14,18,28,0.8);
  --s0:rgba(14,18,30,0.92);--s1:rgba(20,24,40,0.94);--s2:rgba(30,36,55,0.88);
  --border:rgba(255,255,255,0.07);--border-bright:rgba(255,255,255,0.15);--border-active:#9147ff;
  --tp:#f4f5fa;--ts:#9098b5;--tm:#5a627e;--tsec:#7080a8;
  --accent:#9147ff;--accent-bright:#b794ff;--accent-dim:rgba(145,71,255,0.12);
  --accent2:#5be7ff;--accent3:#ff7eb6;
  --green:#2fdba0;--green-dim:rgba(47,219,160,0.1);--red:#ff5a72;--red-dim:rgba(255,90,114,0.12);
  --gold:#ffc857;--cyan:#5be7ff;
  --grad:linear-gradient(90deg,#7a3df0 0%,#9147ff 100%);
  --grad-aurora:
    radial-gradient(ellipse at 15% 0%,rgba(145,71,255,0.18) 0%,transparent 50%),
    radial-gradient(ellipse at 85% 100%,rgba(47,219,160,0.10) 0%,transparent 50%),
    radial-gradient(ellipse at 70% 0%,rgba(255,126,182,0.07) 0%,transparent 40%);
  --shadow:0 4px 24px rgba(0,0,0,0.5);
  --shadow-card:0 8px 32px rgba(0,0,0,0.4),0 0 0 0.5px rgba(255,255,255,0.04) inset;
  --r:18px;--rb:10px;--font:'DM Sans',system-ui,sans-serif;--mono:'JetBrains Mono',monospace;
}
html,body,#root{width:100%;height:100%;overflow:hidden;background:var(--bg-deep)}
body{font-family:var(--font);color:var(--tp);-webkit-font-smoothing:antialiased;background:var(--bg-deep);background-image:var(--grad-aurora);background-attachment:fixed}
*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.08) transparent}
*::-webkit-scrollbar{width:4px;height:4px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.09);border-radius:2px}
input,textarea,select{font-family:var(--font);font-size:13px;color:var(--tp);background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:var(--rb);padding:7px 10px;outline:none;transition:border-color .15s,background .15s}
input:focus,textarea:focus,select:focus{border-color:var(--accent);background:rgba(145,71,255,0.07)}
input::placeholder,textarea::placeholder{color:var(--tm)}
select option{background:#0e1220}
input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent)}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse-dot{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:0.4}}
@keyframes float-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes aurora-drift{0%,100%{transform:translate(0,0) rotate(0deg)}50%{transform:translate(30px,-15px) rotate(2deg)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes fade-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes shine{from{transform:translateX(-100%) skewX(-20deg)}to{transform:translateX(300%) skewX(-20deg)}}
@keyframes shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
@keyframes grad-move{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.live-dot{animation:pulse-dot 1.8s ease-in-out infinite}
.page-enter{animation:float-in 0.3s ease-out both}
.trow{transition:background .1s}
.trow:hover{background:rgba(145,71,255,0.07)!important}
a.lnk{color:var(--accent-bright);text-decoration:none;border-bottom:1px solid rgba(183,148,255,0.25);transition:color .15s,border-color .15s;cursor:pointer}
a.lnk:hover{color:#fff;border-bottom-color:var(--accent-bright)}

/* Knowledge Base content styling */
.kb-content{color:var(--ts);line-height:1.7;font-size:14px}
.kb-content h1,.kb-content h2,.kb-content h3,.kb-content h4,.kb-content h5,.kb-content h6{color:var(--accent-bright);margin:1.4em 0 0.5em;font-weight:700}
.kb-content h1{font-size:22px}.kb-content h2{font-size:19px}.kb-content h3{font-size:16px}
.kb-content p{margin:0 0 0.9em}
.kb-content ul,.kb-content ol{padding-left:1.6em;margin:0 0 0.9em}
.kb-content li{margin:0.2em 0}
.kb-content blockquote{border-left:3px solid var(--accent);padding:8px 14px;margin:0 0 1em;background:rgba(145,71,255,0.07);border-radius:0 6px 6px 0;color:var(--tm);font-style:italic}
.kb-content pre,.kb-content code{font-family:var(--mono);background:rgba(255,255,255,0.05);border-radius:4px;border:1px solid var(--border)}
.kb-content pre{padding:12px 14px;overflow-x:auto;margin:0 0 1em}.kb-content code{padding:1px 5px;font-size:12px}
.kb-content pre code{background:none;border:none;padding:0}
.kb-content a{color:var(--accent-bright);text-decoration:underline;text-underline-offset:2px}
.kb-content a:hover{color:#fff}
.kb-content img{max-width:100%;border-radius:6px;margin:0.5em 0}
.kb-content table{width:100%;border-collapse:collapse;margin:0 0 1em;font-size:13px}
.kb-content th,.kb-content td{padding:7px 12px;border:1px solid var(--border);text-align:left}
.kb-content th{background:rgba(145,71,255,0.1);font-weight:700;color:var(--accent-bright)}
.kb-content hr{border:none;border-top:1px solid var(--border);margin:1.2em 0}
/* Quill dark theme override */
.ql-toolbar.ql-snow{background:#f5f5f5;border-radius:6px 6px 0 0}
.ql-container.ql-snow{border-radius:0 0 6px 6px;min-height:240px}
