:root{--color-primary-navy:#0f3d91;--color-primary-blue:#2f80ed;--color-primary-light:#dceeff;--color-primary-50:#2f80ed14;--color-primary-100:#2f80ed24;--color-primary-200:#bfdbfe;--color-primary-300:#93c5fd;--color-primary-400:#60a5fa;--color-primary-500:#2f80ed;--color-primary-600:#1d6fd8;--color-primary-700:#155bb5;--color-primary-800:#0f3d91;--color-primary-900:#0a2b66;--color-white:#fff;--color-light-gray:#eef3f8;--color-gray-text:#4b5563;--color-background:#f4f8fc;--color-surface:#ffffffc2;--color-surface-solid:#fff;--color-surface-soft:#eef3f8a6;--color-surface-secondary:#f8fafccc;--glass-blur:blur(16px) saturate(180%);--glass-border:#ffffffa6;--color-text-primary:#0f1d3a;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-border:#cbd5e1a6;--color-border-strong:#2f80ed59;--color-success:#16a34a;--color-success-soft:#16a34a1f;--color-warning:#f59e0b;--color-warning-soft:#f59e0b1f;--color-danger:#dc2626;--color-danger-soft:#dc26261f;--color-info:#2f80ed;--color-info-soft:#2f80ed1f;--radius-xs:6px;--radius-sm:10px;--radius-md:16px;--radius-lg:20px;--radius-xl:26px;--radius-pill:9999px;--shadow-xs:0 1px 3px #0f3d910a;--shadow-sm:0 6px 20px #0f3d910f;--shadow-md:0 12px 32px #0f3d9117;--shadow-lg:0 20px 48px #0f3d9121;--shadow-glow:0 0 24px #2f80ed40;--container-width:1200px;--header-height:72px;--mobile-header-height:72px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.22s cubic-bezier(.4, 0, .2, 1);--transition-slow:.38s cubic-bezier(.22, 1, .36, 1)}@media (max-width:768px){:root{--header-height:68px;--mobile-header-height:68px}}[data-theme=dark]{--color-background:#070d1a;--color-surface:#0d172cb8;--color-surface-solid:#0d172c;--color-surface-soft:#14234299;--color-surface-secondary:#0f1b34b3;--glass-border:#ffffff1a;--color-text-primary:#f8fbff;--color-text-secondary:#94a3b8;--color-text-muted:#64748b;--color-border:#ffffff1a;--color-border-strong:#60a5fa59;--shadow-xs:0 1px 3px #0000004d;--shadow-sm:0 8px 24px #0006;--shadow-md:0 16px 40px #00000080;--shadow-lg:0 24px 60px #0009;--shadow-glow:0 0 30px #2f80ed59;--color-success-soft:#16a34a33;--color-warning-soft:#f59e0b33;--color-danger-soft:#dc262633;--color-info-soft:#2f80ed33}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{width:100%;max-width:100%;font-family:var(--font-body,system-ui, -apple-system, sans-serif);background-color:var(--color-background);color:var(--color-text-primary);scroll-behavior:smooth;scroll-padding-top:var(--header-height);-webkit-text-size-adjust:100%;line-height:1.5;overflow-x:clip}body{background-color:var(--color-background);width:100%;max-width:100%;min-height:100dvh;color:var(--color-text-primary);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;transition:background-color var(--transition-normal), color var(--transition-normal);flex-direction:column;margin:0;display:flex;overflow-x:clip}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit;background:0 0;border:none}button{cursor:pointer}img,video,svg,canvas{max-width:100%;display:block}table{border-collapse:collapse;width:100%}.skip-link{background:var(--color-primary-600);color:#fff;border-radius:var(--radius-sm);z-index:9999;transition:top var(--transition-fast);padding:12px 20px;font-weight:600;position:absolute;top:-100px;left:16px}.skip-link:focus{top:16px}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading,system-ui, sans-serif);color:var(--color-text-primary);font-weight:700;line-height:1.25}.font-mono{font-family:var(--font-mono,monospace)}.text-primary{color:var(--color-primary-600)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}
.container{width:min(100% - clamp(40px, 8vw, 64px), var(--container-width));padding-left:max(0px, env(safe-area-inset-left));padding-right:max(0px, env(safe-area-inset-right));margin-inline:auto}.section{scroll-margin-top:calc(var(--header-height) + 16px);padding-block:clamp(48px,7vw,100px);position:relative}.section-alt{background-color:#0000;position:relative}.sectionHeader{text-align:center;margin-bottom:clamp(32px,5vw,48px)}.sectionBadge{border-radius:var(--radius-pill);background-color:var(--color-surface);-webkit-backdrop-filter:var(--glass-blur);color:var(--color-primary-600);border:1px solid var(--color-border);letter-spacing:.02em;box-shadow:var(--shadow-xs);align-items:center;gap:6px;margin-bottom:12px;padding:5px 14px;font-size:.82rem;font-weight:650;display:inline-flex}[data-theme=dark] .sectionBadge{color:#60a5fa;background-color:#0f1c36bf;border-color:#ffffff1f}.sectionTitle{font-family:var(--font-heading,system-ui, sans-serif);letter-spacing:-.02em;text-wrap:balance;color:var(--color-text-primary);margin-bottom:12px;font-size:clamp(1.85rem,5vw,2.75rem);font-weight:800;line-height:1.18}.sectionDescription{color:var(--color-text-secondary);max-width:620px;margin-inline:auto;font-size:clamp(.95rem,2.5vw,1.1rem);line-height:1.65}.cardsGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:clamp(16px,3vw,24px);display:grid}.filterScroll{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.filterScroll::-webkit-scrollbar{display:none}.tableWrapper{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.inputField{border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-surface);width:100%;-webkit-backdrop-filter:var(--glass-blur);color:var(--color-text-primary);box-shadow:var(--shadow-xs);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);padding:12px 16px;font-size:.95rem}.inputField:focus{border-color:var(--color-primary-500);background-color:var(--color-surface);outline:none;box-shadow:0 0 0 3px #2f80ed2e}.baseCard{background-color:var(--color-surface);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal)}.baseCard:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-3px)}:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width: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}}
@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}@keyframes nodeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes dataFlow{0%{stroke-dashoffset:60px}to{stroke-dashoffset:0}}.animate-fade-up{animation:fadeUp var(--transition-slow) ease both}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

