@font-face{font-family:Satoshi;src:url(/fonts/satoshi/Satoshi-Regular.woff2) format("woff2"),url(/fonts/satoshi/Satoshi-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@tailwind base;@tailwind components;@tailwind utilities;:root{--foreground-rgb:255,255,255;--background-start-rgb:0,0,0;--background-end-rgb:0,0,0;--background:#ffffff;--foreground:#ffffff}@media (prefers-color-scheme:dark){:root{--foreground-rgb:255,255,255;--background-start-rgb:0,0,0;--background-end-rgb:0,0,0;--background:#ffffff;--foreground:#ffffff}}.dark-mode,:root{--bg-primary:#121212;--bg-secondary:#1e1e1e;--bg-tertiary:#252525;--text-primary:#ffffff;--text-secondary:rgba(255,255,255,0.7);--text-tertiary:rgba(255,255,255,0.5);--border-color:rgba(255,255,255,0.08);--card-bg:rgba(30,30,30,0.7);--card-border:rgba(255,255,255,0.1);--highlight-bg:rgba(59,130,246,0.2);--highlight-text:#3b82f6;--shadow-color:rgba(0,0,0,0.5);--input-bg:#2a2a2a;--input-border:rgba(255,255,255,0.1);--input-text:#ffffff;--button-primary-bg:#3b82f6;--button-primary-text:#ffffff;--button-secondary-bg:#374151;--button-secondary-text:#ffffff;--success-color:#10b981;--error-color:#ef4444;--warning-color:#f59e0b;--info-color:#3b82f6;--navbar-bg:linear-gradient(180deg,#1e1e1e,#121212);--navbar-text:#ffffff;--card-hover-bg:#2a2a2a;--dropdown-bg:#2a2a2a;--dropdown-text:#ffffff;--dropdown-hover-bg:#374151;--table-header-bg:#1e1e1e;--table-bg:#121212;--table-border:rgba(255,255,255,0.05);--table-row-hover:rgba(59,130,246,0.1);--scrollbar-track:#1e1e1e;--scrollbar-thumb:#374151;--tooltip-bg:#2a2a2a;--tooltip-text:#ffffff;--code-bg:#1e1e1e;--code-text:#f9fafb}.light-mode{--bg-primary:#f5f5f5;--bg-secondary:#ffffff;--bg-tertiary:#f3f4f6;--text-primary:#1f2937;--text-secondary:#4b5563;--text-tertiary:#6b7280;--border-color:rgba(0,0,0,0.08);--card-bg:rgba(255,255,255,0.9);--card-border:rgba(0,0,0,0.1);--highlight-bg:rgba(59,130,246,0.1);--highlight-text:#2563eb;--shadow-color:rgba(0,0,0,0.1);--input-bg:#ffffff;--input-border:rgba(0,0,0,0.1);--input-text:#1f2937;--button-primary-bg:#2563eb;--button-primary-text:#ffffff;--button-secondary-bg:#e5e7eb;--button-secondary-text:#1f2937;--success-color:#059669;--error-color:#dc2626;--warning-color:#d97706;--info-color:#2563eb;--navbar-bg:linear-gradient(180deg,#ffffff,#f5f5f5);--navbar-text:#1f2937;--card-hover-bg:#f9fafb;--dropdown-bg:#ffffff;--dropdown-text:#1f2937;--dropdown-hover-bg:#f3f4f6;--table-header-bg:#f3f4f6;--table-bg:#ffffff;--table-border:rgba(0,0,0,0.05);--table-row-hover:rgba(59,130,246,0.05);--scrollbar-track:#f1f1f1;--scrollbar-thumb:#c1c1c1;--tooltip-bg:#1f2937;--tooltip-text:#ffffff;--code-bg:#f3f4f6;--code-text:#1f2937}body{background:var(--bg-primary);transition:background .3s ease,color .3s ease}body,h1,h2,h3,h4,h5,h6{color:var(--text-primary)}div,p,span{color:var(--text-secondary)}input,select,textarea{background-color:var(--input-bg);border:1px solid var(--input-border);color:var(--input-text);transition:all .3s ease}input:focus,select:focus,textarea:focus{border-color:var(--highlight-text);box-shadow:0 0 0 2px var(--highlight-bg);outline:none}.btn,button{transition:all .2s ease}.btn-primary,button.primary{background-color:var(--button-primary-bg);color:var(--button-primary-text)}.btn-secondary,button.secondary{background-color:var(--button-secondary-bg);color:var(--button-secondary-text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--highlight-text)}svg{color:currentColor}table{border-collapse:separate;border-spacing:0;width:100%}thead th{background-color:var(--table-header-bg);color:var(--text-primary);border-bottom:1px solid var(--table-border)}tbody tr{background-color:var(--table-bg)}tbody tr:hover{background-color:var(--table-row-hover)}td,th{border-bottom:1px solid var(--table-border);padding:.75rem 1rem;transition:background-color .2s ease}.box,.card,.panel{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text-primary);box-shadow:0 4px 6px var(--shadow-color);transition:background .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}.box:hover,.card:hover,.panel:hover{box-shadow:0 10px 15px var(--shadow-color);border-color:var(--highlight-text)}code,pre{background-color:var(--code-bg);color:var(--code-text);border-radius:4px;padding:.2em .4em;font-family:var(--font-mono)}pre{padding:1rem;overflow-x:auto}pre code{background-color:transparent;padding:0}*,:after,:before{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.bg-grid-pattern{background-size:20px 20px}.dark-mode .bg-grid-pattern{background-image:linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 0),linear-gradient(180deg,rgba(255,255,255,.05) 1px,transparent 0)}.light-mode .bg-grid-pattern{background-image:linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 0),linear-gradient(180deg,rgba(0,0,0,.05) 1px,transparent 0)}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-gradient-shift{background-size:200% 200%;animation:gradient-shift 5s ease infinite}@keyframes pulse-ring{0%{transform:scale(0);opacity:.7}to{transform:scale(3);opacity:0}}.animate-pulse-ring{animation:pulse-ring 2s ease-out infinite}@keyframes ripple{to{transform:scale(4);opacity:0}}.animate-ripple{animation:ripple .6s linear}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .3s ease-out}:root{--color-primary:#3b82f6;--color-secondary:#9333ea;--color-accent:#f97316;--color-text:#ffffff;--color-background:#121212;--font-family:Satoshi;--font-size-base:14px;--border-radius:0.5rem}body{font-family:var(--font-family),sans-serif;font-size:var(--font-size-base);background-color:var(--color-background);color:var(--color-text)}.btn-primary{background-color:var(--color-primary)}.btn-primary,.btn-secondary{border-radius:var(--border-radius)}.btn-secondary{background-color:var(--color-secondary)}.accent{color:var(--color-accent)}.card{border-radius:var(--border-radius)}.gradient-bg{background:linear-gradient(to right,var(--color-primary),var(--color-secondary))}