@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap");:root{--bg:#05080f;--card:#0c1322;--card2:#111b2e;--border:hsla(0,0%,100%,.06);--accent:#00d4a1;--accent-dim:#00b88a;--indigo:#818cf8;--warn:#fbbf24;--danger:#f87171;--text:#edf2f7;--text-soft:#cbd5e1;--muted:#8b9ab8;--dim:#334155;--nav-bg:rgba(5,8,15,.92);--input-bg:#0f1729;--shadow:0 1px 3px rgba(0,0,0,.4);--font-body:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-mono:"JetBrains Mono","IBM Plex Mono","Courier New",monospace;--font-heading:"Playfair Display",Georgia,serif}html[data-theme=light]{--bg:#f8fafb;--card:#fff;--card2:#f1f5f9;--border:#e2e8f0;--accent:#059669;--accent-dim:#047857;--text:#0f172a;--text-soft:#334155;--muted:#64748b;--dim:#94a3b8;--nav-bg:hsla(0,0%,100%,.95);--input-bg:#f1f5f9;--shadow:0 1px 3px rgba(0,0,0,.06)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}a,body,button,div,h1,h2,h3,h4,h5,h6,input,li,p,select,span,textarea{font-family:var(--font-body)!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.font-mono,.mps-logo,.mps-value,code,pre{font-family:var(--font-mono)!important}body{margin:0;padding:0;font-size:16px;font-weight:400;line-height:1.6;background-color:var(--bg);color:var(--text);transition:background-color .3s,color .3s}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--dim);border-radius:3px}::selection{background:rgba(0,212,161,.15);color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input[type=number]{-moz-appearance:textfield}a{text-decoration:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 0 0 rgba(0,212,161,.15)}50%{box-shadow:0 0 20px 4px rgba(0,212,161,.08)}}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){button{min-height:44px}body{overflow-x:hidden}}