:root { --color-saffron: #FF9933; --color-saffron-light: #FFB366; --color-saffron-dark: #CC7A00; --color-green: #138808; --color-green-light: #1DB810; --color-green-dark: #0D6606; --color-ashoka: #000080; --color-ashoka-blue: #000080; --color-india-green: #138808; --color-navy: #0A0F2E; --color-navy-mid: #141B3C; --color-navy-light: #1E2A50; --color-white: #FFFFFF; --color-off-white: #F8F9FC; --color-gray-100: #F1F3F8; --color-gray-200: #E2E6EF; --color-gray-400: #9AA3B8; --color-gray-600: #5C647A; --color-gray-800: #2C3148; --color-risk-low: #28A745; --color-risk-moderate: #FFC107; --color-risk-high: #FD7E14; --color-risk-very-high: #DC3545; --color-node-politician: var(--color-saffron); --color-node-company: var(--color-green); --color-node-contract: var(--color-ashoka); --color-node-audit: #DC3545; --color-node-ministry: var(--color-navy); --color-node-scheme: #6F42C1; --font-sans: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif; --font-mono: "JetBrains Mono", "Fira Code", "Courier New", monospace; --font-size-xs: 0.75rem; --font-size-sm: 0.875rem; --font-size-base: 1rem; --font-size-lg: 1.125rem; --font-size-xl: 1.25rem; --font-size-2xl: 1.5rem; --font-size-3xl: 1.875rem; --font-size-4xl: 2.25rem; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --line-height-tight: 1.25; --line-height-normal: 1.5; --line-height-relaxed: 1.75; --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.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; --radius-sm: 0.25rem; --radius-md: 0.5rem; --radius-lg: 0.75rem; --radius-xl: 1rem; --radius-full: 9999px; --shadow-sm: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.08); --shadow-md: 0 4px 6px rgba(0,0,0,0.1), 0 2px 4px rgba(0,0,0,0.06); --shadow-lg: 0 10px 15px rgba(0,0,0,0.1), 0 4px 6px rgba(0,0,0,0.05); --shadow-xl: 0 20px 25px rgba(0,0,0,0.15), 0 10px 10px rgba(0,0,0,0.04); --transition-fast: 150ms ease; --transition-base: 250ms ease; --transition-slow: 400ms ease; --z-dropdown: 100; --z-sticky: 200; --z-modal: 300; --z-toast: 400; } [data-theme="dark"] { --bg-primary: var(--color-navy); --bg-secondary: var(--color-navy-mid); --bg-tertiary: var(--color-navy-light); --bg-card: var(--color-navy-mid); --bg-input: var(--color-navy-light); --text-primary: var(--color-white); --text-secondary: var(--color-gray-400); --text-muted: var(--color-gray-600); --border-color: rgba(255,255,255,0.08); --border-color-strong: rgba(255,255,255,0.15); --accent-primary: var(--color-saffron); --accent-secondary: var(--color-green); --shadow-card: 0 4px 24px rgba(0,0,0,0.4); } [data-theme="light"] { --bg-primary: var(--color-white); --bg-secondary: var(--color-off-white); --bg-tertiary: var(--color-gray-100); --bg-card: var(--color-white); --bg-input: var(--color-gray-100); --text-primary: var(--color-navy); --text-secondary: var(--color-gray-600); --text-muted: var(--color-gray-400); --border-color: var(--color-gray-200); --border-color-strong: var(--color-gray-400); --accent-primary: var(--color-green-dark); --accent-secondary: var(--color-saffron-dark); --shadow-card: var(--shadow-md); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { font-size: 16px; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; } body { font-family: var(--font-sans); font-size: var(--font-size-base); line-height: var(--line-height-normal); background-color: var(--bg-primary); color: var(--text-primary); transition: background-color var(--transition-slow), color var(--transition-slow); } a { color: var(--accent-primary); text-decoration: none; } a:hover { text-decoration: underline; } img, svg { display: block; max-width: 100%; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border-width: 0; } .container { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 var(--space-6); } .container--narrow { max-width: 800px; } .container--wide { max-width: 1440px; }