/* NTCOS — generated from tokens.json */
/* Cópia de teste local: fontes apontam para ../assets/fonts/ */

:root, [data-theme="light"] {
  --brand-abissal: #000029;
  --brand-fossa: #000051;
  --brand-ultramar: #173DED;
  --brand-reflexo: #A9B8FF;
  --brand-nevoa: #DCDEE2;
  --brand-prata: #BABABA;
  --brand-vela: #FFFFFF;
  --brand-onix: #0A0A0F;
  --brand-oceano: #000312;
  --ultramar-400: #4A68F2;
  --ultramar-500: #173DED;
  --ultramar-600: #1230C4;
  --ultramar-700: #0E26A0;
  --reflexo-200: #CFD8FF;
  --bg: #F7F9FF;
  --canvas: #F3F5FC;
  --surface: #FFFFFF;
  --surface-raised: #FFFFFF;
  --surface-sunken: #EDF1FC;
  --surface-tint: #EBEFFE;
  --track: #DDE4F5;
  --segment-active: var(--surface);
  --halo: #DCE4FF;
  --line: #E3E8F6;
  --line-strong: #CCD5F2;
  --field-line: #7F88A6;
  --ink: #000029;
  --ink-2: #2E3654;
  --muted: #535C7C;
  --disabled: #8D95B0;
  --accent: #173DED;
  --primary: #173DED;
  --primary-hover: #1230C4;
  --primary-press: #0E26A0;
  --on-primary: #FFFFFF;
  --focus: #173DED;
  --sidebar-top: #173DED;
  --sidebar-bg: #1230C4;
  --sidebar-ink: #FFFFFF;
  --sidebar-muted: #CFD8FF;
  --sidebar-active: #3758F0;
  --sidebar-active-line: rgba(255,255,255,0.24);
  --sidebar-marker: #FFFFFF;
  --sidebar-hover: rgba(255,255,255,0.08);
  --kpi-from: #173DED;
  --kpi-to: #0E26A0;
  --kpi-ink: #FFFFFF;
  --kpi-muted: #CFD8FF;
  --kpi-bar: rgba(255,255,255,0.50);
  --kpi-chip: rgba(0,0,41,0.22);
  --chart-line: #173DED;
  --chart-area: rgba(23,61,237,0.14);
  --chart-grid: var(--line);
  --chart-bar: #7689DC;
  --chart-2: #6A82F4;
  --glass: rgba(255,255,255,0.86);
  --glass-line: #FFFFFF;
  --glass-stage: rgba(0,0,41,0.24);
  --glass-stage-line: rgba(255,255,255,0.28);
  --scrim: rgba(0,0,41,0.24);
  --stage-from: #000051;
  --stage-via: #173DED;
  --stage-to: #4A68F2;
  --success-bg: #E5F5EB;
  --success: #0B6B35;
  --success-solid: #0F7A3D;
  --danger-bg: #FDECEA;
  --danger: #B42318;
  --warning-bg: #FFF1DB;
  --warning: #8A4B00;
  --info-bg: #EBEFFE;
  --info: #173DED;
  --online: #2BD47A;
  --shadow-xs: 0 1px 2px rgba(14,38,160,0.06);
  --shadow-sm: 0 6px 18px rgba(14,38,160,0.06);
  --shadow-md: 0 14px 40px rgba(14,38,160,0.07);
  --shadow-lg: 0 22px 46px rgba(14,38,160,0.13);
  --shadow-xl: 0 24px 80px rgba(0,0,41,0.16), 0 3px 12px rgba(0,0,41,0.04);
  --shadow-glass: 0 15px 30px rgba(23,61,237,0.11), inset 0 2px 3px #FFFFFF;
  --shadow-primary: 0 12px 30px rgba(23,61,237,0.22);
  --shadow-focus: 0 0 0 4px rgba(23,61,237,0.16);
  --shadow-inset: inset 0 1px 0 #FFFFFF;
  --shadow-frame: 0 -10px 80px rgba(0,0,41,0.40), 0 0 0 1px rgba(255,255,255,0.35);
}

[data-theme="dark"] {
  --bg: #000312;
  --canvas: #000312;
  --surface: #060B1E;
  --surface-raised: #0B1230;
  --surface-sunken: #02061A;
  --surface-tint: #09133F;
  --track: #0B1230;
  --segment-active: var(--line-strong);
  --halo: #0A1A6B;
  --line: #141B33;
  --line-strong: #222B4D;
  --field-line: #5A6386;
  --ink: #FFFFFF;
  --ink-2: #C9CEDF;
  --muted: #9098B4;
  --disabled: #4A5272;
  --accent: #A9B8FF;
  --primary-hover: #2A50F0;
  --primary-press: #1230C4;
  --focus: #A9B8FF;
  --sidebar-top: #060B1E;
  --sidebar-bg: #060B1E;
  --sidebar-muted: #9098B4;
  --sidebar-active: #0B1230;
  --sidebar-active-line: #222B4D;
  --sidebar-marker: #A9B8FF;
  --sidebar-hover: rgba(169,184,255,0.06);
  --chart-line: #A9B8FF;
  --chart-area: rgba(169,184,255,0.16);
  --chart-grid: var(--line);
  --chart-bar: #4A5BA6;
  --chart-2: #4A68F2;
  --glass: rgba(6,11,30,0.62);
  --glass-line: rgba(169,184,255,0.14);
  --glass-stage-line: rgba(255,255,255,0.22);
  --scrim: rgba(0,3,18,0.64);
  --stage-from: #000312;
  --stage-via: #000051;
  --stage-to: #173DED;
  --success-bg: #0C2B2D;
  --success: #6EE7A0;
  --danger-bg: #2E1826;
  --danger: #FF8A80;
  --warning-bg: #2E2623;
  --warning: #FFC46B;
  --info-bg: #09133F;
  --info: #A9B8FF;
  --shadow-xs: 0 1px 2px rgba(0,0,0,0.40);
  --shadow-sm: 0 6px 18px rgba(0,0,0,0.36);
  --shadow-md: 0 14px 40px rgba(0,0,0,0.42);
  --shadow-lg: 0 22px 50px rgba(0,0,0,0.50);
  --shadow-xl: 0 24px 80px rgba(0,0,0,0.60), 0 3px 12px rgba(0,0,0,0.30);
  --shadow-glass: 0 15px 30px rgba(0,0,0,0.45), inset 0 1px 0 rgba(169,184,255,0.12);
  --shadow-primary: 0 12px 30px rgba(23,61,237,0.36);
  --shadow-focus: 0 0 0 4px rgba(169,184,255,0.22);
  --shadow-inset: inset 0 1px 0 rgba(169,184,255,0.08);
  --shadow-frame: 0 -10px 80px rgba(0,0,0,0.70), 0 0 0 1px rgba(169,184,255,0.18);
}

:root {
  --space-0: 2px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 28px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-14: 56px;
  --space-16: 64px;
  --space-18: 72px;
  --space-20: 80px;
  --space-24: 96px;
  --space-28: 112px;
  --container: 1440px;
  --content: 1280px;
  --section-head: 840px;
  --prose: 62ch;
  --header-h: 88px;
  --header-h-sm: 76px;
  --sidebar-w: 272px;
  --sidebar-w-collapsed: 72px;
  --control-h: 44px;
  --control-h-sm: 36px;
  --control-h-lg: 60px;
  --nav-h: 44px;
  --icon: 20px;
  --icon-sm: 16px;
  --radius-xs: 6px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-control: 14px;
  --radius-lg: 18px;
  --radius-card: 22px;
  --radius-xl: 28px;
  --radius-2xl: 34px;
  --radius-pill: 999px;
  --radius-round: 50%;
  --radius-icon: 24%;
  --blur-sm: 6px;
  --blur-md: 14px;
  --blur-lg: 18px;
  --blur-halo: 24px;
  --blur-stage: 110px;
  --z-base: 0;
  --z-sticky: 20;
  --z-header: 50;
  --z-dropdown: 60;
  --z-overlay: 80;
  --z-toast: 90;
  --opacity-disabled: 0.48;
  --opacity-grain: 0.10;
  --opacity-mark: 0.08;
  --font-text: Juturu, "Segoe UI", Arial, sans-serif;
  --font-mono: "JetBrains Mono", Consolas, monospace;
  --font-brand: "NextF Games", "Arial Black", sans-serif;
  --font-editorial: Orvien, Georgia, serif;
}

.display-xl { font-family: var(--font-text); font-size: 96px; line-height: 1.04; font-weight: 500; letter-spacing: -0.025em; }
.display { font-family: var(--font-text); font-size: 72px; line-height: 1.06; font-weight: 500; letter-spacing: -0.02em; }
.h1 { font-family: var(--font-text); font-size: 56px; line-height: 1.06; font-weight: 500; letter-spacing: -0.02em; }
.h2 { font-family: var(--font-text); font-size: 44px; line-height: 1.08; font-weight: 500; letter-spacing: -0.015em; }
.h3 { font-family: var(--font-text); font-size: 30px; line-height: 1.15; font-weight: 500; letter-spacing: -0.01em; }
.h4 { font-family: var(--font-text); font-size: 22px; line-height: 1.22; font-weight: 500; letter-spacing: 0; }
.title { font-family: var(--font-text); font-size: 20px; line-height: 1.25; font-weight: 500; letter-spacing: 0; }
.title-sm { font-family: var(--font-text); font-size: 17px; line-height: 1.3; font-weight: 500; letter-spacing: 0; }
.lead { font-family: var(--font-text); font-size: 20px; line-height: 1.5; font-weight: 400; letter-spacing: 0.01em; }
.body-lg { font-family: var(--font-text); font-size: 18px; line-height: 1.6; font-weight: 400; letter-spacing: 0.01em; }
.body { font-family: var(--font-text); font-size: 16px; line-height: 1.6; font-weight: 400; letter-spacing: 0.015em; }
.body-sm { font-family: var(--font-text); font-size: 14px; line-height: 1.5; font-weight: 400; letter-spacing: 0.015em; }
.caption { font-family: var(--font-text); font-size: 13px; line-height: 1.45; font-weight: 400; letter-spacing: 0.02em; }
.meta { font-family: var(--font-text); font-size: 12px; line-height: 1.5; font-weight: 400; letter-spacing: 0.02em; }
.ui-lg { font-family: var(--font-text); font-size: 17px; line-height: 1.2; font-weight: 500; letter-spacing: 0.01em; }
.ui { font-family: var(--font-text); font-size: 15px; line-height: 1.2; font-weight: 500; letter-spacing: 0.02em; }
.ui-sm { font-family: var(--font-text); font-size: 14px; line-height: 1.2; font-weight: 500; letter-spacing: 0.02em; }
.ui-xs { font-family: var(--font-text); font-size: 13px; line-height: 1.2; font-weight: 500; letter-spacing: 0.02em; }
.badge { font-family: var(--font-text); font-size: 12px; line-height: 1; font-weight: 700; letter-spacing: 0.02em; }
.label { font-family: var(--font-text); font-size: 11px; line-height: 1.2; font-weight: 700; letter-spacing: 0.16em; }
.kpi-xl { font-family: var(--font-text); font-size: 64px; line-height: 1; font-weight: 700; letter-spacing: -0.015em; }
.kpi-lg { font-family: var(--font-text); font-size: 40px; line-height: 1.05; font-weight: 700; letter-spacing: -0.01em; }
.kpi-sm { font-family: var(--font-text); font-size: 22px; line-height: 1.1; font-weight: 700; letter-spacing: 0; }
.unit { font-family: var(--font-text); font-size: 16px; line-height: 1; font-weight: 500; letter-spacing: 0; }
.data-lg { font-family: var(--font-mono); font-size: 22px; line-height: 1.2; font-weight: 500; letter-spacing: 0; }
.data { font-family: var(--font-mono); font-size: 14px; line-height: 1.4; font-weight: 500; letter-spacing: 0; }
.data-sm { font-family: var(--font-mono); font-size: 12px; line-height: 1.4; font-weight: 500; letter-spacing: 0; }
.eyebrow { font-family: var(--font-brand); font-size: 12px; line-height: 1; font-weight: 900; letter-spacing: 0.14em; font-style: italic; }
.quote { font-family: var(--font-editorial); font-size: 24px; line-height: 1.35; font-weight: 400; letter-spacing: 0; }

@font-face { font-family: "NextF Games"; src: url("../assets/fonts/NextFGames-BlackItalic.woff2") format("woff2"); font-weight: 900; font-style: italic; font-display: swap; }
@font-face { font-family: "NextF Games"; src: url("../assets/fonts/NextFGames-Black.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Juturu"; src: url("../assets/fonts/Juturu-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Juturu"; src: url("../assets/fonts/Juturu-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Juturu"; src: url("../assets/fonts/Juturu-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Orvien"; src: url("../assets/fonts/Orvien-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
