@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400&display=swap";
:root{--color-bg:#fafbfc;--color-bg-secondary:#f1f5f9;--color-surface:#fff;--color-surface-hover:#f8fafc;--color-accent:#6366f1;--color-accent-light:#eef2ff;--color-accent-lighter:#e0e7ff;--color-accent-hover:#4f46e5;--color-accent-active:#4338ca;--color-accent-text:#fff;--color-text:#1e293b;--color-text-secondary:#64748b;--color-text-tertiary:#94a3b8;--color-text-inverse:#fff;--color-border:#e2e8f0;--color-border-light:#f1f5f9;--color-border-focus:#6366f1;--color-star:#f59e0b;--color-star-empty:#e2e8f0;--color-success:#10b981;--color-success-light:#ecfdf5;--color-warning:#f59e0b;--color-warning-light:#fffbeb;--color-danger:#ef4444;--color-danger-light:#fef2f2;--color-premium:#d97706;--color-premium-bg:linear-gradient(135deg, #f59e0b, #d97706);--color-overlay:#0f172a80;--color-overlay-light:#0f172a4d;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000d;--shadow-xl:0 20px 25px -5px #00000014, 0 8px 10px -6px #0000000a;--shadow-2xl:0 25px 50px -12px #00000026;--shadow-accent:0 4px 14px #6366f140;--shadow-card-hover:0 12px 24px -4px #0000001a, 0 4px 8px -2px #0000000f;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Code", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.02em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1);--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1);--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:400;--z-modal:500;--z-popover:600;--z-tooltip:700;--z-toast:800;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1440px;--header-height:52px;--sidebar-width:280px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);min-height:100dvh}body.modal-open{overflow:hidden}img,picture,video,canvas,svg{max-width:100%;display:block}img{height:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:var(--color-accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent-hover)}ul,ol{list-style:none}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base);font-weight:600}p{line-height:var(--leading-relaxed);color:var(--color-text-secondary)}strong{font-weight:600}small{font-size:var(--text-sm)}code{font-family:var(--font-mono);background:var(--color-bg-secondary);border-radius:var(--radius-xs);padding:.15em .4em;font-size:.9em}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-xs)}:focus:not(:focus-visible){outline:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.container{width:100%;max-width:var(--container-xl);padding-inline:var(--space-4);margin-inline:auto}@media (min-width:768px){.container{padding-inline:var(--space-8)}}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-accent{color:var(--color-accent)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-mono{font-family:var(--font-mono)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.grid{display:grid}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutToBottom{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-5%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--transition-normal) both}.animate-slide-up{animation:slideUp var(--transition-normal) both}.animate-slide-down{animation:slideDown var(--transition-normal) both}.animate-scale-in{animation:scaleIn var(--transition-normal) both}.animate-pulse{animation:2s infinite pulse}.animate-spin{animation:1s linear infinite spin}.stagger-children>*{animation:slideUp var(--transition-normal) both}.stagger-children>:first-child{animation-delay:0s}.stagger-children>:nth-child(2){animation-delay:50ms}.stagger-children>:nth-child(3){animation-delay:.1s}.stagger-children>:nth-child(4){animation-delay:.15s}.stagger-children>:nth-child(5){animation-delay:.2s}.stagger-children>:nth-child(6){animation-delay:.25s}.stagger-children>:nth-child(7){animation-delay:.3s}.stagger-children>:nth-child(8){animation-delay:.35s}.stagger-children>:nth-child(9){animation-delay:.4s}.stagger-children>:nth-child(10){animation-delay:.45s}
