/* Hydra X self-hosted fonts. Inter and Newsreader, variable (wght + opsz), SIL OFL 1.1.
   Family names match tokens.css (--hx-font-sans, --hx-font-serif). Normal style only: no italic anywhere. */

/* inter-vietnamese-opsz-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(./inter/inter-vietnamese-opsz-normal.woff2) format('woff2-variations');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* inter-latin-ext-opsz-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(./inter/inter-latin-ext-opsz-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* inter-latin-opsz-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(./inter/inter-latin-opsz-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* newsreader-vietnamese-opsz-normal */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(./newsreader/newsreader-vietnamese-opsz-normal.woff2) format('woff2-variations');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* newsreader-latin-ext-opsz-normal */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(./newsreader/newsreader-latin-ext-opsz-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* newsreader-latin-opsz-normal */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(./newsreader/newsreader-latin-opsz-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* Hydra X product UI tokens v0.90. Generated from tokens.json; edit tokens.json, not this file. */
:root {
  --hx-graphite: #2B2B2B;
  --hx-teal: #20B2AA;
  --hx-teal-ink: #0F7A74;
  --hx-teal-light: #E8F8F7;
  --hx-buy: #1E9E5A;
  --hx-buy-ink: #1A7F4B;
  --hx-buy-depth: #E9F6EF;
  --hx-sell: #D64545;
  --hx-sell-ink: #C23A3A;
  --hx-sell-depth: #FCEDED;
  --hx-line: #E6E8EA;
  --hx-input-border: #D5D9DD;
  --hx-muted: #6B7280;
  --hx-inactive: #9CA3AF;
  --hx-sidebar-engrave: rgba(32,178,170,0.38);
  --hx-chart-1: #2B2B2B;
  --hx-chart-2: #20B2AA;
  --hx-chart-3: #8A9099;
  --hx-chart-4: #7FD3CE;
  --hx-chart-5: #C5C9CE;
  --hx-chart-grid: #EEF0F2;
  --hx-control-comfortable: 40px;
  --hx-control-compact: 32px;
  --hx-control-mobile: 48px;
  --hx-row-comfortable: 48px;
  --hx-row-blotter: 28px;
  --hx-row-orderbook: 22px;
  --hx-row-mobile-list: 64px;
  --hx-sidebar: 240px;
  --hx-radius-control: 6px;
  --hx-radius-card: 8px;
  --hx-radius-sheet: 16px;
  --hx-radius-book: 0px;
  --hx-shadow-float: 0 8px 24px rgba(17,24,39,.12);
  --hx-dur-data: 0ms;
  --hx-dur-flash: 400ms;
  --hx-dur-feedback: 120ms;
  --hx-dur-transition: 200ms;
  --hx-brand-engrave: 1200ms;
  --hx-brand-sweep: 3600ms;
  --hx-brand-wait: 1600ms;
  --hx-brand-success: 900ms;
  --hx-spinner-delay: 200ms;
  --hx-ground: #FFFFFF;
  --hx-panel: #FFFFFF;
  --hx-on-primary: #FFFFFF;
  --hx-order-buy-fill: #1A7F4B;
  --hx-order-sell-fill: #C23A3A;
  --hx-ease: cubic-bezier(.2,0,0,1);
  --hx-font-sans: Inter, system-ui, sans-serif;
  --hx-font-serif: Newsreader, Georgia, serif;
}
body { font-family: var(--hx-font-sans); color: var(--hx-graphite); font-feature-settings: 'tnum' 1; }
.hx-key-phrase { font-weight: 500; color: var(--hx-teal); font-style: normal; white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: 0ms !important; animation-duration: 0ms !important; } }

/* Dark theme: trading screens only, per-user setting. */
[data-theme="dark-trading"] {
  --hx-graphite: #E8EAED;
  --hx-teal-ink: #4FC9C2;
  --hx-teal-light: #1E3634;
  --hx-buy-ink: #3CCB82;
  --hx-buy-depth: #183326;
  --hx-sell-ink: #F07171;
  --hx-sell-depth: #3A1F20;
  --hx-line: #34373B;
  --hx-input-border: #6B7178;
  --hx-muted: #9AA1AB;
  --hx-chart-1: #E8EAED;
  --hx-chart-grid: #2E3135;
  --hx-ground: #1F2022;
  --hx-panel: #26282B;
  --hx-on-primary: #1F2022;
}
/* Console names, folded onto the Hydra X kit tokens (assets/hx/tokens.css, served first) where they map 1:1. */
:root {
 color-scheme:light; --colorBuyText:var(--hx-buy-ink); --colorSellText:var(--hx-sell-ink);
 --colorBgLayout:var(--hx-ground); --colorBgContainer:var(--hx-panel); --colorBgElevated:var(--hx-panel);
 --colorText:var(--hx-graphite); --colorTextHeading:var(--hx-graphite); --colorTextSecondary:var(--hx-muted); --colorTextTertiary:var(--hx-muted);
 --colorBorder:var(--hx-muted); --colorBorderSecondary:var(--hx-line); --colorSplit:var(--hx-line);
 --colorFillAlter:var(--hx-ground); --colorFillAlterSolid:var(--hx-teal-light); --colorFillSecondary:var(--hx-teal-light); --colorBgSelected:var(--hx-teal-light);
 --colorPrimary:var(--hx-graphite); --colorPrimaryHover:var(--hx-muted); --colorPrimaryActive:var(--hx-muted); --colorPrimaryBg:var(--hx-teal-light);
 --colorLink:var(--hx-teal-ink); --controlOutline:#1668DC; --colorTextLightSolid:var(--hx-on-primary);
 --colorTextDisabled:#00000040; --colorBgDisabled:#0000000A;
 --boxShadowSecondary:0 9px 28px 8px rgba(0,0,0,.05),0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08);
 --colorDefaultText:var(--hx-muted); --colorDefaultDot:var(--hx-inactive); --colorDefaultBg:var(--hx-ground);
 --colorInfoText:var(--hx-teal-ink); --colorInfoDot:var(--hx-teal-ink); --colorInfoBg:var(--hx-teal-light);
 --colorSuccessText:var(--hx-teal-ink); --colorSuccessDot:var(--hx-teal); --colorSuccessBg:var(--hx-ground);
 /* The kit has no warning colour: warning-class tags read as uncoloured process states. */
 --colorWarningText:var(--hx-muted); --colorWarningDot:var(--hx-inactive); --colorWarningBg:var(--hx-ground);
 --colorErrorText:var(--hx-sell-ink); --colorErrorDot:var(--hx-sell); --colorErrorBg:var(--hx-ground);
 /* Existing consumers use these names for text, not status dots. */
 --colorWarning:var(--colorWarningText); --colorError:var(--colorErrorText);
 /* product-ui SKILL.md §8, verbatim: "items Inter 13.5 px at white 66%; hover white 90% on white 4%; active white SemiBold on white 7% with a 3 px teal bar"; "Footer ... white 10% top rule"; phones "graphite app bar (56 px)", "300 px drawer with 48 px items". */
 --siderBg:var(--hx-graphite); --siderText:#FFFFFFA8; --siderHover:#FFFFFFE6; --siderHoverBg:#FFFFFF0A; --siderActiveBg:#FFFFFF12; --siderRule:#FFFFFF1A; --siderStrong:var(--hx-on-primary); --siderFocus:var(--hx-teal); --siderBar:var(--hx-teal);
 --fontNav:13.5px; --navBar:3px; --appBar:56px; --drawerWidth:300px; --logoWidth:80px; /* hydra-x-brand: "Never render below 80px wide (digital)" */
 --fontFamily:var(--hx-font-sans);
 --fontFamilyCode:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,Courier,monospace;
 --fontSize:14px; --fontSizeSM:12px; --fontSizeDense:13px; --fontSizeLG:16px; --fontPanel:15px; --trackTitle:-.01em; /* tokens.json type: panel-heading 15/20, page-title tracking -1%; kit tokens.css has no type variables */ --fontHeading:24px; --fontHero:30px;
 --lineHeight:20px; --lineHeightSM:16px; --lineHeightDense:18px; --lineHeightLG:24px; --linePanel:20px; --lineHeading:30px; --lineHero:38px;
 --sizeXXS:4px; --sizeXS:8px; --sizeSM:12px; --size:16px; --sizeMD:20px; --sizeLG:24px; --sizeXL:32px; --sizeXXL:48px;
 --lineWidth:1px; --focusWidth:2px; --radiusSM:4px; --radius:var(--hx-radius-control); --radiusLG:var(--hx-radius-card);
 --controlHeight:var(--hx-control-comfortable); --controlHeightMobile:var(--hx-control-mobile); --rowHeightCompact:var(--hx-control-compact); --rowHeight:var(--hx-row-comfortable); --siderWidth:var(--hx-sidebar); /* product-ui §7 and §6: panel 44% (min 480), form column 380, band 220 to 240, display 40 to 52 (28 on phones) */ --loginPanel:44%; --loginPanelMin:480px; --loginForm:380px; --loginBand:230px; --fontDisplay:48px; --lineDisplay:51px; --fontDisplayPhone:28px; --lineDisplayPhone:30px; /* display 48/51, phones 28/30 (plan §1 Type row, kit display-mobile) */
}
