/* Montserrat */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100;
  font-display: block;
  src: url('/fonts/montserrat-100.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 200;
  font-display: block;
  src: url('/fonts/montserrat-200.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: block;
  src: url('/fonts/montserrat-300.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/montserrat-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: block;
  src: url('/fonts/montserrat-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: block;
  src: url('/fonts/montserrat-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url('/fonts/montserrat-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  font-display: block;
  src: url('/fonts/montserrat-800.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url('/fonts/montserrat-900.woff2') format('woff2');
}
:root {
  --ui-font: 'Montserrat';
}
*,
*::before,
*::after,
::marker,
::placeholder {
  font-family: var(--ui-font);
}

/* Theme tokens */
/* Shared visual values. Feature styles own layout, not alternate themes. */
:root {
  --ui-bg: #101418;
  --ui-surface: #121c24;
  --ui-surface-raised: #18232d;
  --ui-surface-field: #0c151e;
  --ui-surface-card: #ffffff04;
  --ui-surface-overlay: #121c24ed;
  --ui-border: #687d8c66;
  --ui-line: #ffffff15;
  --ui-control-border: #a3c5de38;
  --ui-text: #e4ebf0;
  --ui-muted: #a5b8c5;
  --ui-accent: #e8bd74;
  --ui-accent-hover: #f3ce8f;
  --ui-accent-text: #171d22;
  --ui-accent-soft: #e8bd740a;
  --ui-accent-border: #e8bd7470;
  --ui-danger: #e3a89a;
  --ui-danger-soft: #d287770a;
  --ui-danger-border: #d287774c;
  --ui-success: #8dd7b0;
  --ui-armor: #9bb8cb;
  --ui-resource-low: #f0a44b;
  --ui-resource-critical: #f38175;
  --ui-hover: #202c37;
  --ui-selected: #302b23;
  --ui-radius: 6px;
  --ui-window-radius: 8px;
  --ui-gap: 12px;
  --ui-card-padding: 16px;
  --ui-control-height: 40px;
  --ui-control-font: 14px;
  --ui-chat-font-size: 14px;
  --ui-backdrop: #03080db5;
  --ui-scrollbar: #53616c;
  --ui-panel: var(--ui-surface);
  --ui-raised: var(--ui-surface-raised);
  --ui-green: var(--ui-success);
  --panel: var(--ui-surface);
  --light: var(--ui-border);
  --dark: var(--ui-surface-field);
  --panel-surface: var(--ui-surface);
  --panel-header: var(--ui-surface-raised);
  --panel-border: var(--ui-border);
  --panel-line: var(--ui-line);
  --panel-text: var(--ui-text);
  --panel-muted: var(--ui-muted);
  --panel-radius: var(--ui-window-radius);
  --panel-padding: 24px;
  --panel-title-size: 18px;
  --panel-icon-size: 36px;
  --panel-icon-offset-y: -1px;
  --panel-icon-color: var(--ui-accent);
  --panel-icon-surface: var(--ui-accent-soft);
  --panel-icon-border: #e8bd7438;
  --table-border: var(--ui-line);
  --table-row-line: var(--ui-line);
  --table-header: var(--ui-surface-raised);
  --table-hover: var(--ui-hover);
  --table-selected: var(--ui-selected);
  --table-radius: var(--ui-radius);
  --table-cell-padding: 12px;
}
@media (max-width: 680px) {
  :root {
    --panel-padding: 16px;
    --table-cell-padding: 10px;
  }
}
