/* Map 2D Packetifier — generated from tokens.json */
:root, [data-theme="nuit"] {
  --bg: #0b1018;
  --surface-1: #121a26;
  --surface-2: #182333;
  --surface-3: #1f2c3f;
  --line: #283547;
  --line-control: #62748c;
  --ink: #edf3fa;
  --ink-2: #a7b4c5;
  --ink-3: #8c9aae;
  --ink-disabled: #5a677a;
  --accent: #7aaeff;
  --accent-hover: #96c0ff;
  --accent-pressed: #5f95eb;
  --accent-soft: #1b2d4a;
  --on-accent: #08101c;
  --focus: #b4d1ff;
  --link: var(--accent);
  --success: #5bd19a;
  --success-soft: #0f2a1f;
  --warning: #f0b95a;
  --warning-soft: #2e2410;
  --danger: #ff8b7b;
  --danger-soft: #36171a;
  --danger-fill: #be3a30;
  --on-danger: #ffffff;
  --map-grid-faint: #131b27;
  --map-gridline: #0b101880;
  --map-frontier: #020306;
  --map-border: #5a6a80;
  --map-axis: #a7b4c540;
  --map-label-bg: #0b1018d9;
  --map-hover: #edf3fa;
  --map-selected: var(--accent);
  --map-dim: #0b1018c2;
  --map-stale: #d5dfeb;
  --zone-free: #2d3642;
  --zone-safe: #187c49;
  --zone-safe-mark: #80dba2;
  --zone-war: #cb473d;
  --zone-war-mark: #862721;
  --zone-protected: #b8892d;
  --zone-protected-mark: #6f4f07;
  --zone-unknown: #1e242e;
  --zone-unknown-mark: #6f7c8c;
  --faction-01: #0f68a2;
  --faction-02: #505ba7;
  --faction-03: #734f99;
  --faction-04: #8c467e;
  --faction-05: #984260;
  --faction-06: #6e6600;
  --faction-07: #007872;
  --faction-08: #00738d;
  --faction-09: #518fc2;
  --faction-10: #7784c6;
  --faction-11: #9779ba;
  --faction-12: #af71a1;
  --faction-13: #ba6f87;
  --faction-14: #928c3f;
  --faction-15: #269c96;
  --faction-16: #2a98af;
  --shadow-popover: 0 8px 24px #000000a6, 0 0 0 1px #283547;
  --shadow-modal: 0 16px 48px #000000cc, 0 0 0 1px #283547;
  --shadow-window: 0 12px 40px #00000099, 0 0 0 1px #2f3d52;
  --focus-ring: 0 0 0 2px #0b1018, 0 0 0 4px #b4d1ff;
}
[data-theme="contraste"] {
  --bg: #000000;
  --surface-1: #0a0a0a;
  --surface-2: #141414;
  --surface-3: #1e1e1e;
  --line: #8c9aad;
  --line-control: #c2cedc;
  --ink: #ffffff;
  --ink-2: #e3e9f0;
  --ink-3: #cbd4df;
  --ink-disabled: #8c9aad;
  --accent: #a9cbff;
  --accent-hover: #c6dcff;
  --accent-pressed: #8db8ff;
  --accent-soft: #0e2242;
  --on-accent: #000000;
  --focus: #ffe066;
  --success: #7cf0b6;
  --success-soft: #002a14;
  --warning: #ffd27a;
  --warning-soft: #2a1e00;
  --danger: #ffa89c;
  --danger-soft: #3a0008;
  --danger-fill: #ff6b5b;
  --on-danger: #000000;
  --map-grid-faint: #1a1a1a;
  --map-gridline: #000000b3;
  --map-frontier: #000000;
  --map-border: #c2cedc;
  --map-axis: #ffffff66;
  --map-label-bg: #000000e6;
  --map-hover: #ffffff;
  --map-dim: #000000d9;
  --map-stale: #ffffff;
  --zone-free: #58647a;
  --zone-safe: #1f9a5b;
  --zone-safe-mark: #a6f0c2;
  --zone-war: #e5574c;
  --zone-war-mark: #5c0f0a;
  --zone-protected: #d9a43c;
  --zone-protected-mark: #5a3e00;
  --zone-unknown: #141414;
  --zone-unknown-mark: #c2cedc;
  --shadow-popover: 0 0 0 2px #ffffff;
  --shadow-modal: 0 0 0 2px #ffffff;
  --shadow-window: 0 0 0 2px #ffffff;
  --focus-ring: 0 0 0 2px #000000, 0 0 0 4px #ffe066;
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 10px;
  --radius-full: 9999px;
  --control-sm: 28px;
  --control-md: 32px;
  --control-lg: 40px;
  --map-control: 36px;
  --icon-sm: 16px;
  --icon-md: 20px;
  --titlebar-h: 32px;
  --header-h: 44px;
  --footer-h: 28px;
  --ruler-w: 24px;
  --legend-w: 264px;
  --inspector-w: 360px;
  --tooltip-max-w: 280px;
  --reader-w: 500px;
  --reader-h: 370px;
  --installer-w: 560px;
  --installer-h: 400px;
  --zoom-min: 1px;
  --zoom-mid: 6px;
  --zoom-close: 28px;
  --zoom-label-cell: 64px;
  --zoom-max: 96px;
  --bp-wide: 1280px;
  --bp-medium: 1024px;
  --bp-compact: 800px;
  --duration-fast: 100ms;
  --duration-base: 160ms;
  --duration-slow: 240ms;
  --z-map: 0;
  --z-map-controls: 10;
  --z-panel: 20;
  --z-tooltip: 40;
  --z-modal: 60;
  --z-toast: 70;
  --opacity-disabled: 0.48;
  --font-sans: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --font-display: "Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
  --font-mono: "Cascadia Mono", "Cascadia Code", Consolas, "SF Mono", ui-monospace, Menlo, monospace;
}
.display { font-family: var(--font-display); font-size: 32px; line-height: 40px; font-weight: 600; letter-spacing: -0.01em; }
.title { font-family: var(--font-display); font-size: 20px; line-height: 28px; font-weight: 600; }
.heading { font-family: var(--font-sans); font-size: 16px; line-height: 22px; font-weight: 600; }
.body { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 400; }
.body-strong { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 600; }
.label { font-family: var(--font-sans); font-size: 13px; line-height: 18px; font-weight: 500; }
.caption { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 400; }
.overline { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0.06em; }
.titlebar { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 400; }
.data-lg { font-family: var(--font-mono); font-size: 16px; line-height: 22px; font-weight: 500; }
.data { font-family: var(--font-mono); font-size: 13px; line-height: 18px; font-weight: 400; }
.data-sm { font-family: var(--font-mono); font-size: 12px; line-height: 16px; font-weight: 400; }
.code { font-family: var(--font-mono); font-size: 18px; line-height: 26px; font-weight: 600; letter-spacing: 0.08em; }
.terminal { font-family: var(--font-mono); font-size: 14px; line-height: 20px; font-weight: 400; }
