@import url("https://fonts.googleapis.com/css2?family=Calistoga&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap");:root{--modern-background:#FAFAFA;--modern-foreground:#0F172A;--modern-muted:#F1F5F9;--modern-muted-foreground:#64748B;--modern-card:#FFFFFF;--modern-border:#E2E8F0;--modern-accent:#0052FF;--modern-accent-secondary:#4D7CFF;--modern-accent-foreground:#FFFFFF;--modern-ring:#0052FF;--font-display:"Calistoga",Georgia,serif;--font-ui:"Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono",monospace;--modern-radius-sm:0.5rem;--modern-radius-md:0.75rem;--modern-radius-lg:1rem;--modern-radius-xl:1.25rem;--modern-radius-full:9999px;--modern-shadow-sm:0 1px 3px rgba(0,0,0,0.06);--modern-shadow-md:0 4px 6px rgba(0,0,0,0.07);--modern-shadow-lg:0 10px 15px rgba(0,0,0,0.08);--modern-shadow-xl:0 20px 25px rgba(0,0,0,0.1);--modern-shadow-accent:0 4px 14px rgba(0,82,255,0.25);--modern-shadow-accent-lg:0 8px 24px rgba(0,82,255,0.35);--chat-sidebar-width:260px;--chat-sidebar-collapsed:68px;--chat-content-max-width:768px;--chat-input-max-width:720px;--chat-message-gap:24px;--chat-bubble-radius:18px}.dark{--modern-background:#0F172A;--modern-foreground:#F8FAFC;--modern-muted:#1E293B;--modern-muted-foreground:#94A3B8;--modern-card:#1E293B;--modern-border:#334155}.font-display{font-family:var(--font-display);font-weight:400;letter-spacing:-.02em}.font-ui{font-family:var(--font-ui);font-weight:400;letter-spacing:-.01em}.font-mono-label{font-family:var(--font-mono);font-weight:400;letter-spacing:.15em;text-transform:uppercase}.gradient-text{background:linear-gradient(to right,var(--modern-accent),var(--modern-accent-secondary));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.gradient-underline{position:relative}.gradient-underline:after{content:"";position:absolute;bottom:-.25rem;left:0;height:.75rem;width:100%;border-radius:.125rem;background:linear-gradient(90deg,rgba(0,82,255,.15),rgba(77,124,255,.1))}@media (min-width:768px){.gradient-underline:after{bottom:-.5rem;height:1rem}}.modern-card{background-color:var(--modern-card);border:1px solid var(--modern-border);border-radius:var(--modern-radius-lg);box-shadow:var(--modern-shadow-md);transition:all .3s ease}.modern-card:hover{box-shadow:var(--modern-shadow-xl)}.modern-card-elevated{box-shadow:var(--modern-shadow-lg)}.modern-card-elevated:hover{box-shadow:var(--modern-shadow-accent-lg);transform:translateY(-2px)}.modern-card-featured{position:relative;padding:2px;background:linear-gradient(135deg,var(--modern-accent),var(--modern-accent-secondary));border-radius:var(--modern-radius-lg)}.modern-card-featured-inner{background-color:var(--modern-card);border-radius:calc(var(--modern-radius-lg) - 2px);width:100%;height:100%}.modern-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-ui);font-weight:500;border-radius:var(--modern-radius-md);transition:all .2s ease-out;cursor:pointer}.modern-btn-primary{background:linear-gradient(to right,var(--modern-accent),var(--modern-accent-secondary));color:var(--modern-accent-foreground);box-shadow:var(--modern-shadow-sm)}.modern-btn-primary:hover{box-shadow:var(--modern-shadow-accent);transform:translateY(-2px);filter:brightness(1.1)}.modern-btn-primary:active{transform:scale(.98)}.modern-btn-secondary{background-color:transparent;border:1px solid var(--modern-border);color:var(--modern-foreground)}.modern-btn-secondary:hover{background-color:var(--modern-muted);border-color:rgba(0,82,255,.3);box-shadow:var(--modern-shadow-sm)}.modern-btn-ghost{background-color:transparent;color:var(--modern-muted-foreground)}.modern-btn-ghost:hover{color:var(--modern-foreground);background-color:rgba(0,82,255,.05)}.modern-input{height:3rem;border:1px solid var(--modern-border);border-radius:var(--modern-radius-md);background-color:transparent;font-family:var(--font-ui);color:var(--modern-foreground);transition:all .2s ease}.modern-input:focus{outline:none;border-color:var(--modern-accent);box-shadow:0 0 0 2px rgba(0,82,255,.1)}.modern-input::placeholder{color:var(--modern-muted-foreground);opacity:.5}.modern-section-label{display:inline-flex;align-items:center;gap:.75rem;padding:.5rem 1.25rem;border:1px solid rgba(0,82,255,.3);background-color:rgba(0,82,255,.05);border-radius:var(--modern-radius-full)}.modern-section-label-dot{width:.5rem;height:.5rem;border-radius:50%;background-color:var(--modern-accent)}.modern-section-label-text{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--modern-accent)}.modern-inverted{background-color:var(--modern-foreground);color:var(--modern-background);position:relative;overflow:hidden}.modern-dot-pattern{position:absolute;inset:0;background-image:radial-gradient(circle,white 1px,transparent 0);background-size:32px 32px;opacity:.03;pointer-events:none}.modern-radial-glow{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,var(--modern-accent),transparent 70%);opacity:.06;filter:blur(150px);pointer-events:none}.modern-hover-lift{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}.modern-hover-lift:hover{transform:translateY(-4px)}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.animate-pulse-dot{animation:pulse-dot 2s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:float 5s ease-in-out infinite}@keyframes float-delayed{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float-delayed{animation:float-delayed 4s ease-in-out infinite;animation-delay:.5s}@keyframes rotate-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-rotate-slow{animation:rotate-slow 60s linear infinite}@media (prefers-reduced-motion:reduce){.animate-float,.animate-float-delayed,.animate-pulse-dot,.animate-rotate-slow{animation:none}.modern-btn:hover,.modern-hover-lift:hover{transform:none}}@media (max-width:768px){.modern-card{border-radius:var(--modern-radius-md)}.modern-btn{min-height:44px}}