:root,:root[data-theme=dark]{--bg: #0f0f1e;--bg-deep: #0a0a14;--surface: #1a1a2e;--surface-2: #232338;--text: #f7f7f7;--text-dim: #8888aa;--border: #2e2e4a;--accent: #00e5a0;--accent-dim: #00b87d;--danger: #ff4d4d;--warn: #ffb800}:root[data-theme=light]{--bg: #f4f4f8;--bg-deep: #eceef4;--surface: #ffffff;--surface-2: #eeeef4;--text: #15151f;--text-dim: #5a5a72;--border: #d8d8e4;--accent: #00b87d;--accent-dim: #00996a;--danger: #e23a3a;--warn: #b07a00}.balnx-shell{height:100dvh;display:flex;flex-direction:column;background:var(--bg-deep);color:var(--text)}.balnx-body{flex:1;display:flex;min-height:0}.balnx-sidebar{width:250px;flex-shrink:0;background:var(--bg);border-right:1px solid var(--surface);display:flex;flex-direction:column;padding:22px 16px;gap:6px}.balnx-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 20px}.balnx-brand-word{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:22px;letter-spacing:3px;color:var(--text)}.balnx-brand-word span{color:var(--accent)}.balnx-navitem{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:10px;background:none;border:none;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;color:var(--text-dim);text-align:left;width:100%;transition:background .12s,color .12s}.balnx-navitem[data-active=true]{background:var(--surface);color:var(--accent)}.balnx-navicon{display:inline-flex;width:20px;justify-content:center}.balnx-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.balnx-content{flex:1;min-height:0;overflow-y:auto}.balnx-page{max-width:860px;margin:0 auto;padding:28px clamp(16px,4vw,36px) 60px}.balnx-page h1{font-family:Space Grotesk,sans-serif;font-size:clamp(22px,3vw,30px);color:var(--text);margin-bottom:4px}.balnx-page .sub{font-family:Inter,sans-serif;font-size:14px;color:var(--text-dim);margin-bottom:24px}.balnx-section-title{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:2px;color:var(--text-dim);margin:26px 0 10px}.balnx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.balnx-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}.balnx-note{background:color-mix(in srgb,var(--accent) 8%,transparent);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;padding:11px 14px;font-family:Inter,sans-serif;font-size:13px;line-height:1.55;color:var(--text);margin:8px 0}.balnx-mobile-header,.balnx-bottomnav{display:none}@media(max-width:899px){.balnx-sidebar{display:none}.balnx-mobile-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--surface);background:var(--bg);flex-shrink:0}.balnx-bottomnav{display:flex;justify-content:space-around;background:var(--bg);border-top:1px solid var(--surface);padding:8px 0;flex-shrink:0}.balnx-bottomnav button{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--text-dim)}.balnx-bottomnav button[data-active=true]{color:var(--accent)}}@keyframes balnxBubbleIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.balnx-bubble-in{animation:balnxBubbleIn .28s cubic-bezier(.2,.7,.2,1)}@keyframes balnxDot{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-5px);opacity:1}}.balnx-typing{display:inline-flex;align-items:center;gap:4px}.balnx-typing span{width:7px;height:7px;border-radius:50%;background:#00e5a0;display:inline-block;animation:balnxDot 1.2s infinite ease-in-out}.balnx-typing span:nth-child(2){animation-delay:.15s}.balnx-typing span:nth-child(3){animation-delay:.3s}@keyframes balnxCaret{0%,to{opacity:1}50%{opacity:0}}.balnx-caret{display:inline-block;width:2px;height:1.05em;background:currentColor;margin-left:2px;vertical-align:text-bottom;animation:balnxCaret .9s step-end infinite}.balnx-card{box-shadow:0 1px 3px #00000012}.balnx-content::-webkit-scrollbar{width:10px}.balnx-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px;border:3px solid transparent;background-clip:content-box}.balnx-content::-webkit-scrollbar-track{background:transparent}input::placeholder{color:var(--text-dim);opacity:.8}
