:root[data-theme=light]{--bg: #ffffff;--card: #f6f8fa;--muted: #57606a;--pri: #F0A07F;--text: #0b0f14;--input-bg: #ffffff;--input-border: #d0d7de;--bubble-user: #e8f0fe;--bubble-assistant: #eef2f7;--chat-bg: #ffffff;--border: #d0d7de}:root[data-theme=dark]{--bg: #0b0f14;--card:#10161d;--muted:#8aa0b4;--pri:#F7CBBD;--text: #e6edf3;--input-bg: #0f141a;--input-border: #1f2a35;--bubble-user: #19324a;--bubble-assistant: #141a22;--chat-bg: #0c1117;--border: #1f2a35}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--pri)}.container{max-width:960px;margin:0 auto;padding:24px}.card{background:var(--card);border-radius:16px;padding:20px;box-shadow:0 10px 30px #0003}.btn{background:var(--pri);color:#10161d;padding:10px 14px;border:none;border-radius:10px;font-weight:600;cursor:pointer}.btn:disabled{opacity:.6;cursor:not-allowed}.row{display:flex;gap:16px;align-items:center}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.muted{color:var(--muted)}.input{width:100%;padding:12px;border-radius:10px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text)}.bubble-user{background:var(--bubble-user);align-self:flex-end}.bubble-assistant{background:var(--bubble-assistant)}.bubble{border-radius:14px;padding:12px 14px;max-width:70%}.chat{display:flex;flex-direction:column;gap:8px;height:60vh;overflow-y:auto;padding:12px;border:1px solid var(--border);border-radius:16px;background:var(--chat-bg)}.persona-pill{background:#18202a;padding:8px 12px;border-radius:999px;font-weight:600;display:inline-block;color:#e6edf3;text-decoration:none}.admin-dropdown{position:relative}.admin-menu{position:absolute;right:0;margin-top:8px;background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px #0003;min-width:200px;padding:8px;z-index:1000}.admin-menu-item{display:block;padding:8px 10px;border-radius:8px;color:var(--text);text-decoration:none}.admin-menu-item:hover{background:#ffffff0a}@keyframes blink{0%{opacity:.2}20%{opacity:1}to{opacity:.2}}.typing{display:inline-flex;gap:6px;align-items:center}.typing .dot{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:blink 1.4s infinite both}.typing .dot:nth-child(2){animation-delay:.2s}.typing .dot:nth-child(3){animation-delay:.4s}linkButton div:hover{text-decoration:underline;cursor:pointer}.light-dark-selector{background:--var(text);position:absolute;top:0;left:0;cursor:pointer;border:0}.smallLogo{max-width:200px}
