:root{--via-black:#080a0f;--via-900:#0d1117;--via-800:#111827;--via-750:#141e2e;--via-700:#1a2332;--via-600:#1e2d45;--via-400:#2d4468;--blue-900:#0a1628;--blue-800:#0d2044;--blue-700:#102b5c;--blue-600:#1440a0;--blue-500:#1b52c8;--blue-400:#2563eb;--blue-300:#3b82f6;--blue-200:#60a5fa;--blue-100:#93c5fd;--blue-50:#dbeafe;--cyan-600:#0891b2;--cyan-500:#06b6d4;--cyan-400:#22d3ee;--cyan-300:#67e8f9;--purple-800:#4c1d95;--purple-600:#7c3aed;--purple-500:#8b5cf6;--purple-400:#a78bfa;--purple-300:#c4b5fd;--green-600:#059669;--green-500:#10b981;--green-400:#34d399;--green-300:#6ee7b7;--amber-600:#d97706;--amber-500:#f59e0b;--amber-400:#fcd34d;--red-600:#dc2626;--red-500:#ef4444;--red-400:#f87171;--magenta-600:#be185d;--magenta-500:#ec4899;--magenta-400:#f472b6;--tx-primary:#f1f5f9;--tx-secondary:#94a3b8;--tx-tertiary:#64748b;--tx-muted:#475569;--tx-disabled:#334155;--bd-1:#ffffff12;--bd-2:#ffffff1f;--bd-3:#ffffff2e;--bd-blue:#3b82f666;--bd-purple:#7c3aed59;--bd-green:#10b9814d;--bd-red:#ef44444d;--bd-amber:#f59e0b4d;--ff-sans:"Space Grotesk", system-ui, -apple-system, sans-serif;--ff-mono:"JetBrains Mono", "Fira Code", monospace;--ff-display:"Syne", "Space Grotesk", system-ui, sans-serif;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-black:800;--text-xs:10px;--text-sm:11px;--text-caption:12px;--text-body-sm:13px;--text-body:14px;--text-body-lg:16px;--text-h4:15px;--text-h3:18px;--text-h2:22px;--text-h1:28px;--text-d-lg:36px;--text-d-xl:48px;--text-d-2xl:72px;--lh-none:1;--lh-tight:1.25;--lh-snug:1.4;--lh-normal:1.6;--lh-relaxed:1.75;--lh-loose:2;--ls-tighter:-.04em;--ls-tight:-.02em;--ls-normal:0em;--ls-wide:.06em;--ls-wider:.1em;--ls-widest:.14em;--r-xs:2px;--r-sm:4px;--r-base:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-2xl:28px;--r-full:9999px;--s-0-5:2px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--glow-xs:0 0 8px #2563eb26;--glow-sm:0 0 16px #2563eb4d;--glow-md:0 0 28px #2563eb73;--glow-lg:0 0 48px #2563eb99, 0 0 80px #2563eb33;--glow-purple:0 0 20px #7c3aed59;--glow-green:0 0 14px #10b9814d;--glow-avatar:0 0 24px #8b5cf666, 0 0 48px #ec489926;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 8px 32px #0009;--grad-brand:linear-gradient(135deg, #2563eb, #06b6d4);--grad-surface:linear-gradient(135deg, #0d2044, #1a2332);--grad-hero:radial-gradient(ellipse at top, #0d2044 0%, #080a0f 70%);--grad-page:linear-gradient(180deg, #0a1628 0%, #080a0f 100%);--grad-sign:linear-gradient(135deg, #7c3aed, #2563eb);--grad-avatar:linear-gradient(135deg, #ec4899, #8b5cf6);--grad-text:linear-gradient(90deg, #3b82f6, #22d3ee);--dur-fast:.1s;--dur-base:.2s;--dur-slow:.3s;--dur-slower:.5s;--dur-avatar:.8s;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-inout:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--sidebar-w:200px;--sidebar-sm:48px;--topbar-h:52px;--panel-right-w:280px;--content-max:1280px;--chat-max:860px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;font-size:16px}body{background:var(--via-black);color:var(--tx-primary);font-family:var(--ff-sans);font-size:var(--text-body);line-height:var(--lh-normal)}::selection{color:var(--tx-primary);background:#2563eb4d}:focus-visible{outline:2px solid var(--blue-400);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--via-900)}::-webkit-scrollbar-thumb{background:var(--via-600);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--via-500)}.display-2xl{font-family:var(--ff-display);font-size:clamp(40px,6vw,var(--text-d-2xl));font-weight:var(--fw-black);letter-spacing:var(--ls-tighter);line-height:var(--lh-none)}.display-xl{font-family:var(--ff-display);font-size:clamp(30px,4vw,var(--text-d-xl));font-weight:var(--fw-black);letter-spacing:-.03em;line-height:1.05}.display-lg{font-size:clamp(24px,3vw,var(--text-d-lg));font-weight:var(--fw-bold);letter-spacing:-.025em;line-height:1.1}.h1{font-size:var(--text-h1);font-weight:var(--fw-bold);letter-spacing:-.02em;line-height:var(--lh-tight)}.h2{font-size:var(--text-h2);font-weight:var(--fw-semibold);letter-spacing:-.015em;line-height:1.3}.h3{font-size:var(--text-h3);font-weight:var(--fw-semibold);letter-spacing:-.01em;line-height:1.35}.h4{font-size:var(--text-h4);font-weight:var(--fw-semibold);letter-spacing:0;line-height:1.4}.body-lg{font-size:var(--text-body-lg);line-height:var(--lh-relaxed)}.body-md{font-size:var(--text-body);line-height:var(--lh-normal)}.body-sm{font-size:var(--text-body-sm);line-height:var(--lh-snug)}.caption{font-size:var(--text-caption);color:var(--tx-muted)}.overline{font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--blue-400)}.code-md{font-family:var(--ff-mono);font-size:14px;font-weight:500;line-height:var(--lh-loose)}.code-sm{font-family:var(--ff-mono);font-size:12px;line-height:var(--lh-loose)}.text-primary{color:var(--tx-primary)}.text-secondary{color:var(--tx-secondary)}.text-muted{color:var(--tx-muted)}.text-blue{color:var(--blue-300)}.text-cyan{color:var(--cyan-400)}.text-purple{color:var(--purple-400)}.text-green{color:var(--green-400)}.text-amber{color:var(--amber-400)}.text-red{color:var(--red-400)}.text-magenta{color:var(--magenta-400)}.text-gradient-brand{background:var(--grad-text);-webkit-text-fill-color:transparent;background-clip:text}.surface{background:var(--via-900)}.surface-raised{background:var(--via-800)}.card{background:var(--via-900);border:1px solid var(--bd-1);border-radius:var(--r-lg);padding:var(--s-5);transition:border-color var(--dur-base) var(--ease-out)}.card:hover{border-color:var(--bd-2)}.card-blue{background:linear-gradient(135deg, var(--blue-900) 0%, var(--via-900) 60%);border-color:var(--blue-600);box-shadow:var(--glow-sm)}.card-sign{background:#7c3aed0f;border-color:#7c3aed40}.card-avatar{background:linear-gradient(135deg,#ec48990f,#8b5cf60f);border-color:#ec489933}.grad-border{background:var(--grad-brand);border-radius:calc(var(--r-lg) + 2px);padding:2px}.grad-border>*{background:var(--via-900);border-radius:var(--r-lg)}.glass{-webkit-backdrop-filter:blur(12px);border:1px solid var(--bd-2);background:#0d1117b3}.glass-blue{backdrop-filter:blur(8px);background:#2563eb0f;border:1px solid #2563eb33}.btn{justify-content:center;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);font-family:var(--ff-sans);font-size:var(--text-body-sm);font-weight:var(--fw-medium);border-radius:var(--r-md);cursor:pointer;transition:all var(--dur-base) var(--ease-out);white-space:nowrap;border:1px solid #0000;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--blue-400);color:#fff;border-color:var(--blue-600)}.btn-primary:hover{background:var(--blue-300);box-shadow:var(--glow-sm)}.btn-secondary{background:var(--via-800);color:var(--tx-primary);border-color:var(--bd-2)}.btn-secondary:hover{border-color:var(--blue-300);color:var(--blue-200)}.btn-ghost{color:var(--tx-secondary);background:0 0}.btn-ghost:hover{color:var(--tx-primary);background:#ffffff0f}.btn-danger{color:var(--red-400);background:#ef44441f;border-color:#ef444440}.btn-danger:hover{background:#ef444438}.btn-sign{color:var(--purple-400);background:#7c3aed26;border-color:#7c3aed59}.btn-sign:hover{box-shadow:var(--glow-purple);background:#7c3aed40}.btn-sm{font-size:var(--text-caption);border-radius:var(--r-base);padding:5px 10px}.btn-lg{font-size:var(--text-body);border-radius:var(--r-lg);padding:11px 22px}.btn-xl{font-size:var(--text-body-lg);border-radius:var(--r-xl);padding:14px 28px}.btn-icon{background:var(--via-800);border-color:var(--bd-2);width:34px;height:34px;color:var(--tx-secondary);border-radius:var(--r-md);padding:0}.btn-icon:hover{color:var(--blue-300);border-color:var(--blue-400)}.badge{border-radius:var(--r-full);font-size:var(--text-sm);font-weight:var(--fw-semibold);letter-spacing:.04em;align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.badge-blue{color:var(--blue-200);background:#2563eb2e;border:1px solid #2563eb4d}.badge-green{color:var(--green-400);background:#10b98126;border:1px solid #10b98140}.badge-red{color:var(--red-400);background:#ef444426;border:1px solid #ef444440}.badge-amber{color:var(--amber-400);background:#f59e0b26;border:1px solid #f59e0b40}.badge-cyan{color:var(--cyan-300);background:#06b6d421;border:1px solid #06b6d440}.badge-purple{color:var(--purple-400);background:#7c3aed26;border:1px solid #7c3aed4d}.badge-gray{color:var(--tx-secondary);border:1px solid var(--bd-1);background:#ffffff0f}.badge-dot:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px;display:inline-block}.input,input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],select,textarea{background:var(--via-800);border:1px solid var(--bd-2);border-radius:var(--r-md);width:100%;color:var(--tx-primary);font-family:var(--ff-sans);font-size:var(--text-body-sm);transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);appearance:none;outline:none;padding:9px 12px}.input:focus,input:focus,select:focus,textarea:focus{border-color:var(--blue-400);box-shadow:0 0 0 3px #2563eb26}input::placeholder,textarea::placeholder{color:var(--tx-muted)}.input-error{border-color:var(--red-500)!important}.label{font-size:var(--text-caption);font-weight:var(--fw-medium);color:var(--tx-secondary);margin-bottom:5px;display:block}.hint{font-size:var(--text-sm);color:var(--tx-muted);margin-top:3px}.error-msg{font-size:var(--text-sm);color:var(--red-400);margin-top:3px}.toggle{flex-shrink:0;width:36px;height:20px;display:inline-block;position:relative}.toggle input{opacity:0;width:0;height:0}.toggle-slider{background:var(--via-700);border:1px solid var(--bd-2);cursor:pointer;transition:background var(--dur-base) var(--ease-out);border-radius:10px;position:absolute;inset:0}.toggle-slider:before{content:"";background:var(--tx-secondary);width:14px;height:14px;transition:transform var(--dur-base) var(--ease-spring), background var(--dur-base) var(--ease-out);border-radius:50%;position:absolute;top:2px;left:2px}.toggle input:checked+.toggle-slider{background:var(--blue-700);border-color:var(--blue-500)}.toggle input:checked+.toggle-slider:before{background:var(--blue-300);transform:translate(16px)}.app-shell{background:var(--via-black);height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--via-900);border-right:1px solid var(--bd-1);padding:var(--s-3);transition:width var(--dur-slow) var(--ease-inout);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.sidebar.collapsed{width:var(--sidebar-sm)}.topbar{height:var(--topbar-h);background:var(--via-900);border-bottom:1px solid var(--bd-1);padding:0 var(--s-4);align-items:center;gap:var(--s-3);flex-shrink:0;display:flex}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.content-area{padding:var(--s-4);flex:1;overflow-y:auto}.nav-item{align-items:center;gap:var(--s-2);border-radius:var(--r-md);font-size:var(--text-body-sm);color:var(--tx-secondary);cursor:pointer;transition:all var(--dur-base) var(--ease-out);border:1px solid #0000;padding:7px 10px;display:flex}.nav-item:hover{color:var(--tx-primary);background:#ffffff0d}.nav-item.active{background:var(--blue-900);color:var(--blue-300);border-color:var(--blue-800)}.nav-item.sign{color:var(--purple-400)}.nav-item.sign:hover{background:#7c3aed14}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-online{background:var(--green-400);box-shadow:0 0 6px var(--green-500);animation:2s infinite pulse-on}.status-loading{background:var(--amber-400);animation:1s infinite pulse-ld}.status-error{background:var(--red-400)}.status-idle{background:var(--tx-muted)}.status-sign{background:var(--purple-400);box-shadow:var(--glow-purple);animation:2s infinite pulse-on}@keyframes pulse-on{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse-ld{0%,to{opacity:1}50%{opacity:.4}}.bubble-via{background:var(--blue-900);border:1px solid var(--blue-800);color:var(--tx-primary);font-size:var(--text-body-sm);line-height:var(--lh-relaxed);border-radius:14px 14px 14px 3px;align-self:flex-start;max-width:85%;padding:10px 14px}.bubble-user{background:var(--via-700);border:1px solid var(--bd-2);color:var(--tx-primary);font-size:var(--text-body-sm);line-height:var(--lh-relaxed);border-radius:14px 14px 3px;align-self:flex-end;max-width:85%;padding:10px 14px}.notif{gap:var(--s-3);border-radius:var(--r-md);border-left:3px solid;align-items:flex-start;padding:12px 16px;display:flex}.notif-info{border-color:var(--blue-400);background:#2563eb14}.notif-success{border-color:var(--green-500);background:#10b98114}.notif-warning{border-color:var(--amber-500);background:#f59e0b14}.notif-error{border-color:var(--red-500);background:#ef444414}.notif-sign{border-color:var(--purple-600);background:#7c3aed14}.notif-avatar{border-color:var(--magenta-500);background:#ec489914}.progress-track{background:var(--via-700);border-radius:3px;height:6px;overflow:hidden}.progress-fill{border-radius:3px;height:100%;transition:width 1.2s cubic-bezier(.4,0,.2,1)}.progress-blue{background:linear-gradient(90deg,var(--blue-600),var(--blue-300))}.progress-green{background:var(--green-500)}.progress-purple{background:linear-gradient(90deg,var(--purple-600),var(--purple-400))}.progress-amber{background:linear-gradient(90deg,var(--amber-600),var(--amber-400))}.code-block{border:1px solid var(--bd-1);border-radius:var(--r-lg);background:#06090f;overflow:hidden}.code-header{background:var(--via-900);border-bottom:1px solid var(--bd-1);justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.code-lang{font-family:var(--ff-mono);font-size:var(--text-sm);color:var(--tx-muted)}.code-body{font-family:var(--ff-mono);font-size:12px;line-height:var(--lh-loose);color:var(--tx-secondary);padding:14px;overflow-x:auto}.t-kw{color:#c678dd}.t-fn{color:#61afef}.t-st{color:#98c379}.t-cm{color:#5c6370;font-style:italic}.t-nu{color:#d19a66}.t-vr{color:#e06c75}.t-cl{color:#e5c07b}.diff-add{color:var(--green-400);background:#10b98114}.diff-del{color:var(--red-400);background:#ef444414}.diff-ctx{color:var(--tx-muted)}.avatar-container{border-radius:var(--r-xl);padding:var(--s-5);background:linear-gradient(135deg,#ec48990f,#8b5cf60f);border:1px solid #ec489933}.avatar-display{background:linear-gradient(135deg,var(--purple-600),var(--magenta-500));width:80px;height:80px;box-shadow:var(--glow-avatar);border:2px solid #ec489966;border-radius:50%;justify-content:center;align-items:center;animation:3s ease-in-out infinite avatar-pulse;display:flex}@keyframes avatar-pulse{0%,to{box-shadow:var(--glow-avatar)}50%{box-shadow:0 0 36px #8b5cf699,0 0 64px #ec489940}}.wave-bar{background:linear-gradient(to top,var(--purple-500),var(--cyan-400));border-radius:2px;width:3px}@keyframes wave1{0%,to{height:8px}50%{height:18px}}@keyframes wave2{0%,to{height:20px}50%{height:8px}}@keyframes wave3{0%,to{height:28px}50%{height:12px}}@keyframes wave4{0%,to{height:16px}50%{height:26px}}.sign-mode-badge{border-radius:var(--r-full);color:var(--purple-400);font-size:var(--text-sm);font-weight:var(--fw-semibold);background:#7c3aed26;border:1px solid #7c3aed59;align-items:center;gap:5px;padding:4px 12px;display:inline-flex}.sign-card{background:var(--via-900);border-radius:var(--r-lg);padding:var(--s-4);text-align:center;transition:all var(--dur-base) var(--ease-out);border:1px solid #7c3aed33}.sign-card:hover{box-shadow:var(--glow-purple);border-color:#7c3aed66}.skeleton{background:linear-gradient(90deg, var(--via-800) 25%, var(--via-700) 50%, var(--via-800) 75%);background-size:200% 100%;border-radius:4px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{border:2px solid var(--bd-2);border-top-color:var(--blue-400);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.divider{background:var(--bd-1);height:1px;margin:var(--s-4) 0}.divider-vertical{background:var(--bd-1);width:1px;margin:0 var(--s-3)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bg-via-tech,.bg-via-hero{background-color:var(--via-black);background-image:radial-gradient(circle at 20% 30%, #2563eb38, transparent 35%), radial-gradient(circle at 78% 48%, #06b6d42e, transparent 30%), linear-gradient(120deg, #60a5fa14 1px, transparent 1px), linear-gradient(30deg, #3b82f612 1px, transparent 1px), var(--grad-page);background-position:50%,50%,0 0,0 0,50%;background-size:auto,auto,34px 34px,34px 34px,auto}.bg-via-auth{background-color:var(--via-black);background-image:radial-gradient(circle at 50% 25%, #2563eb47, transparent 45%), radial-gradient(circle at 72% 62%, #8b5cf629, transparent 35%), linear-gradient(180deg, #080a0f33, #080a0fa6), var(--grad-page)}.bg-via-auth-panel{border:1px solid var(--bd-2);-webkit-backdrop-filter:blur(10px);background:#0d1117a8}.whatsapp-float[data-astro-cid-vsqmdgo3]{color:#4ed9a6;backdrop-filter:blur(8px);z-index:999;background-color:#0a0a0ccc;border:1px solid #4ed9a64d;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;bottom:32px;right:32px;box-shadow:0 8px 32px #00000080,inset 0 1px #ffffff1a}.whatsapp-icon[data-astro-cid-vsqmdgo3]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px;transition:transform .3s}.whatsapp-float[data-astro-cid-vsqmdgo3]:hover{color:#fff;background-color:#25d366;border-color:#25d366;transform:translateY(-4px)scale(1.05);box-shadow:0 12px 40px #25d36666}.whatsapp-float[data-astro-cid-vsqmdgo3]:hover .whatsapp-icon[data-astro-cid-vsqmdgo3]{transform:rotate(8px)}@font-face{font-family:Space Grotesk;src:url(/assets/fonts/SpaceGrotesk-Variable.ttf)format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/fonts/JetBrainsMono-Variable.ttf)format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Syne;src:url(/assets/fonts/Syne-Variable.ttf)format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}html,body{width:100%;height:100%;margin:0;font-family:Space Grotesk,sans-serif}
