.tg-app {
  --tg-palette-carbon: #202226;
  --tg-palette-paper: #f4f1ea;
  --tg-palette-signal: #405566;
  --tg-type-ui: Segoe UI, Inter, system-ui, -apple-system, Arial, sans-serif;
  --tg-type-heading: Segoe UI, Inter, system-ui, -apple-system, Arial, sans-serif;
  --tg-type-mono: ui-monospace, SFMono-Regular, Consolas, monospace;
  --tg-type-heading-weight: 650;
  --tg-type-heading-tracking: -0.025em;
  --tg-type-body-size: 1rem;
  --tg-type-body-leading: 1.55;
  --tg-type-title-size: clamp(1.875rem, 3vw, 2.5rem);
  --tg-type-amount-size: clamp(1.75rem, 3vw, 2.5rem);
  --tg-type-meta-size: 0.875rem;
  --tg-control-radius: 0.375rem;
  --tg-control-surface-radius: 0.375rem;
  --tg-control-target: 2.75rem;
  --tg-control-focus-width: 3px;
  --tg-control-focus-offset: 3px;
  --tg-control-disabled-opacity: 0.6;
  --tg-control-heading-rule: 1px;
}

.tg-app, .tg-app[data-bs-theme=light], .tg-app [data-bs-theme=light] {
  color-scheme: light;
  --tg-page: #f4f1ea;
  --tg-surface: #ffffff;
  --tg-surface-soft: #eeece6;
  --tg-text: #202226;
  --tg-text-muted: #5e6264;
  --tg-border: #d4d1c9;
  --tg-control-border: #7c817f;
  --tg-action: #202226;
  --tg-action-hover: #383c40;
  --tg-on-action: #ffffff;
  --tg-current: #405566;
  --tg-current-soft: #e6ecef;
  --tg-on-current: #ffffff;
  --tg-focus: #405566;
  --tg-success: #414b45;
  --tg-on-success: #ffffff;
  --tg-warning: #805b25;
  --tg-on-warning: #ffffff;
  --tg-error: #96383d;
  --tg-error-hover: #7d2b30;
  --tg-on-error: #ffffff;
  --tg-info: #5e6264;
  --tg-on-info: #ffffff;
  --tg-focus-rgb: 64, 85, 102;
  --bs-body-color: var(--tg-text);
  --bs-body-color-rgb: 32, 34, 38;
  --bs-body-bg: var(--tg-page);
  --bs-body-bg-rgb: 244, 241, 234;
  --bs-body-font-family: var(--tg-type-ui);
  --bs-body-font-size: var(--tg-type-body-size);
  --bs-body-line-height: var(--tg-type-body-leading);
  --bs-heading-color: var(--tg-text);
  --bs-emphasis-color: var(--tg-text);
  --bs-emphasis-color-rgb: 32, 34, 38;
  --bs-secondary-color: var(--tg-text-muted);
  --bs-secondary-color-rgb: 94, 98, 100;
  --bs-tertiary-color: var(--tg-text-muted);
  --bs-tertiary-color-rgb: 94, 98, 100;
  --bs-secondary-bg: var(--tg-surface-soft);
  --bs-secondary-bg-rgb: 238, 236, 230;
  --bs-tertiary-bg: var(--tg-surface);
  --bs-tertiary-bg-rgb: 255, 255, 255;
  --bs-border-color: var(--tg-border);
  --bs-border-color-translucent: var(--tg-border);
  --bs-link-color: var(--tg-text);
  --bs-link-color-rgb: 32, 34, 38;
  --bs-link-hover-color: var(--tg-current);
  --bs-link-hover-color-rgb: 64, 85, 102;
  --bs-code-color: var(--tg-text-muted);
  --bs-highlight-bg: var(--tg-current-soft);
  --bs-highlight-color: var(--tg-text);
  --bs-focus-ring-color: rgba(var(--tg-focus-rgb), .25);
  --bs-border-radius: var(--tg-control-radius);
  --bs-border-radius-lg: var(--tg-control-surface-radius);
  --bs-form-invalid-color: var(--tg-error);
  --bs-form-invalid-border-color: var(--tg-error);
  --bs-form-valid-color: var(--tg-success);
  --bs-form-valid-border-color: var(--tg-success);
  --bs-primary: var(--tg-action);
  --bs-primary-rgb: 32, 34, 38;
  --bs-primary-text-emphasis: #202226;
  --bs-primary-bg-subtle: rgb(237.16, 237.32, 237.64);
  --bs-primary-border-subtle: rgb(170.26, 171.02, 172.54);
  --bs-secondary: var(--tg-text-muted);
  --bs-secondary-rgb: 94, 98, 100;
  --bs-secondary-text-emphasis: rgb(50.6, 53.2, 56.6);
  --bs-secondary-bg-subtle: rgb(242.12, 242.44, 242.6);
  --bs-secondary-border-subtle: rgb(193.82, 195.34, 196.1);
  --bs-success: var(--tg-success);
  --bs-success-rgb: 65, 75, 69;
  --bs-success-text-emphasis: rgb(41.9, 46.3, 47.3);
  --bs-success-bg-subtle: rgb(239.8, 240.6, 240.12);
  --bs-success-border-subtle: rgb(182.8, 186.6, 184.32);
  --bs-warning: var(--tg-warning);
  --bs-warning-rgb: 128, 91, 37;
  --bs-warning-text-emphasis: rgb(60.8, 51.1, 37.7);
  --bs-warning-bg-subtle: rgb(244.84, 241.88, 237.56);
  --bs-warning-border-subtle: rgb(206.74, 192.68, 172.16);
  --bs-danger: var(--tg-error);
  --bs-danger-rgb: 150, 56, 61;
  --bs-danger-text-emphasis: rgb(67.4, 40.6, 44.9);
  --bs-danger-bg-subtle: rgb(246.6, 239.08, 239.48);
  --bs-danger-border-subtle: rgb(215.1, 179.38, 181.28);
  --bs-info: var(--tg-info);
  --bs-info-rgb: 94, 98, 100;
  --bs-info-text-emphasis: rgb(50.6, 53.2, 56.6);
  --bs-info-bg-subtle: rgb(242.12, 242.44, 242.6);
  --bs-info-border-subtle: rgb(193.82, 195.34, 196.1);
  --tg-check: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgb(255, 255, 255)' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m4 8 3 3 5-6'/%3e%3c/svg%3e");
  --tg-radio: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='rgb(255, 255, 255)'/%3e%3c/svg%3e");
  --tg-mixed: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath stroke='rgb(255, 255, 255)' stroke-linecap='round' stroke-width='3' d='M4 8h8'/%3e%3c/svg%3e");
}

.tg-app[data-bs-theme=dark], .tg-app [data-bs-theme=dark] {
  color-scheme: dark;
  --tg-page: #17191b;
  --tg-surface: #202326;
  --tg-surface-soft: #2a2d30;
  --tg-text: #f1efe9;
  --tg-text-muted: #b9bdc0;
  --tg-border: #44494c;
  --tg-control-border: #858d92;
  --tg-action: #f1efe9;
  --tg-action-hover: #d7d5ce;
  --tg-on-action: #17191b;
  --tg-current: #a7bdce;
  --tg-current-soft: #2a3740;
  --tg-on-current: #17191b;
  --tg-focus: #a7bdce;
  --tg-success: #c1ccc4;
  --tg-on-success: #17191b;
  --tg-warning: #ddbc84;
  --tg-on-warning: #17191b;
  --tg-error: #eea0a5;
  --tg-error-hover: #f6bac0;
  --tg-on-error: #261216;
  --tg-info: #b9bdc0;
  --tg-on-info: #17191b;
  --tg-focus-rgb: 167, 189, 206;
  --bs-body-color: var(--tg-text);
  --bs-body-color-rgb: 241, 239, 233;
  --bs-body-bg: var(--tg-page);
  --bs-body-bg-rgb: 23, 25, 27;
  --bs-body-font-family: var(--tg-type-ui);
  --bs-body-font-size: var(--tg-type-body-size);
  --bs-body-line-height: var(--tg-type-body-leading);
  --bs-heading-color: var(--tg-text);
  --bs-emphasis-color: var(--tg-text);
  --bs-emphasis-color-rgb: 241, 239, 233;
  --bs-secondary-color: var(--tg-text-muted);
  --bs-secondary-color-rgb: 185, 189, 192;
  --bs-tertiary-color: var(--tg-text-muted);
  --bs-tertiary-color-rgb: 185, 189, 192;
  --bs-secondary-bg: var(--tg-surface-soft);
  --bs-secondary-bg-rgb: 42, 45, 48;
  --bs-tertiary-bg: var(--tg-surface);
  --bs-tertiary-bg-rgb: 32, 35, 38;
  --bs-border-color: var(--tg-border);
  --bs-border-color-translucent: var(--tg-border);
  --bs-link-color: var(--tg-text);
  --bs-link-color-rgb: 241, 239, 233;
  --bs-link-hover-color: var(--tg-current);
  --bs-link-hover-color-rgb: 167, 189, 206;
  --bs-code-color: var(--tg-text-muted);
  --bs-highlight-bg: var(--tg-current-soft);
  --bs-highlight-color: var(--tg-text);
  --bs-focus-ring-color: rgba(var(--tg-focus-rgb), .25);
  --bs-border-radius: var(--tg-control-radius);
  --bs-border-radius-lg: var(--tg-control-surface-radius);
  --bs-form-invalid-color: var(--tg-error);
  --bs-form-invalid-border-color: var(--tg-error);
  --bs-form-valid-color: var(--tg-success);
  --bs-form-valid-border-color: var(--tg-success);
  --bs-primary: var(--tg-action);
  --bs-primary-rgb: 241, 239, 233;
  --bs-primary-text-emphasis: #f1efe9;
  --bs-primary-bg-subtle: rgb(48.72, 51.32, 53.6);
  --bs-primary-border-subtle: rgb(111.42, 112.52, 112.1);
  --bs-secondary: var(--tg-text-muted);
  --bs-secondary-rgb: 185, 189, 192;
  --bs-secondary-text-emphasis: rgb(224.2, 224, 220.7);
  --bs-secondary-bg-subtle: rgb(44.24, 47.32, 50.32);
  --bs-secondary-border-subtle: rgb(90.14, 93.52, 96.52);
  --bs-success: var(--tg-success);
  --bs-success-rgb: 193, 204, 196;
  --bs-success-text-emphasis: rgb(226.6, 228.5, 221.9);
  --bs-success-bg-subtle: rgb(44.88, 48.52, 50.64);
  --bs-success-border-subtle: rgb(93.18, 99.22, 98.04);
  --bs-warning: var(--tg-warning);
  --bs-warning-rgb: 221, 188, 132;
  --bs-warning-text-emphasis: rgb(235, 223.7, 202.7);
  --bs-warning-bg-subtle: rgb(47.12, 47.24, 45.52);
  --bs-warning-border-subtle: rgb(103.82, 93.14, 73.72);
  --bs-danger: var(--tg-error);
  --bs-danger-rgb: 238, 160, 165;
  --bs-danger-text-emphasis: rgb(240.1, 215.3, 212.6);
  --bs-danger-bg-subtle: rgb(48.48, 45, 48.16);
  --bs-danger-border-subtle: rgb(110.28, 82.5, 86.26);
  --bs-info: var(--tg-info);
  --bs-info-rgb: 185, 189, 192;
  --bs-info-text-emphasis: rgb(224.2, 224, 220.7);
  --bs-info-bg-subtle: rgb(44.24, 47.32, 50.32);
  --bs-info-border-subtle: rgb(90.14, 93.52, 96.52);
  --tg-check: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgb(23, 25, 27)' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m4 8 3 3 5-6'/%3e%3c/svg%3e");
  --tg-radio: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='rgb(23, 25, 27)'/%3e%3c/svg%3e");
  --tg-mixed: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath stroke='rgb(23, 25, 27)' stroke-linecap='round' stroke-width='3' d='M4 8h8'/%3e%3c/svg%3e");
}

.tg-app {
  background: var(--tg-page);
  color: var(--tg-text);
  font-family: var(--tg-type-ui);
  font-size: var(--tg-type-body-size);
  line-height: var(--tg-type-body-leading);
}
.tg-app body {
  background: var(--tg-page);
  color: var(--tg-text);
}
.tg-app h1, .tg-app h2, .tg-app h3, .tg-app h4, .tg-app h5, .tg-app h6 {
  color: var(--tg-text);
  font-family: var(--tg-type-heading);
  font-weight: var(--tg-type-heading-weight);
  letter-spacing: var(--tg-type-heading-tracking);
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.tg-app .tg-title {
  font-size: var(--tg-type-title-size);
}
.tg-app .tg-kicker {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--tg-text-muted);
  font-weight: 600;
}
.tg-app .tg-meta, .tg-app .form-text {
  color: var(--tg-text-muted);
  font-size: var(--tg-type-meta-size);
}
.tg-app .tg-reference {
  font-family: var(--tg-type-mono);
  font-size: 0.8125rem;
  overflow-wrap: anywhere;
}
.tg-app .tg-number, .tg-app .tg-money {
  font-variant-numeric: tabular-nums lining-nums;
}
.tg-app .tg-money {
  font-weight: 650;
  letter-spacing: -0.025em;
}
.tg-app .tg-money--large {
  font-size: var(--tg-type-amount-size);
  line-height: 1.2;
}
.tg-app a {
  text-underline-offset: 0.2em;
}
.tg-app ::selection {
  color: var(--tg-text);
  background: var(--tg-current-soft);
}
.tg-app :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: var(--tg-control-focus-width) solid var(--tg-focus);
  outline-offset: var(--tg-control-focus-offset);
}

.tg-app .btn {
  --bs-btn-border-radius: var(--tg-control-radius);
  --bs-btn-font-weight: 600;
  --bs-btn-disabled-opacity: var(--tg-control-disabled-opacity);
  min-block-size: var(--tg-control-target);
  white-space: normal;
}
.tg-app .btn-primary {
  --bs-btn-color: var(--tg-on-action);
  --bs-btn-bg: var(--tg-action);
  --bs-btn-border-color: var(--tg-action);
  --bs-btn-hover-color: var(--tg-on-action);
  --bs-btn-hover-bg: var(--tg-action-hover);
  --bs-btn-hover-border-color: var(--tg-action-hover);
  --bs-btn-active-color: var(--tg-on-action);
  --bs-btn-active-bg: var(--tg-action-hover);
  --bs-btn-active-border-color: var(--tg-action-hover);
  --bs-btn-disabled-color: var(--tg-on-action);
  --bs-btn-disabled-bg: var(--tg-action);
  --bs-btn-disabled-border-color: var(--tg-action);
  --bs-btn-focus-shadow-rgb: var(--tg-focus-rgb);
}
.tg-app .text-bg-primary {
  color: var(--tg-on-action) !important;
}
.tg-app .btn-danger {
  --bs-btn-color: var(--tg-on-error);
  --bs-btn-bg: var(--tg-error);
  --bs-btn-border-color: var(--tg-error);
  --bs-btn-hover-color: var(--tg-on-error);
  --bs-btn-hover-bg: var(--tg-error-hover);
  --bs-btn-hover-border-color: var(--tg-error-hover);
  --bs-btn-active-color: var(--tg-on-error);
  --bs-btn-active-bg: var(--tg-error-hover);
  --bs-btn-active-border-color: var(--tg-error-hover);
  --bs-btn-disabled-color: var(--tg-on-error);
  --bs-btn-disabled-bg: var(--tg-error);
  --bs-btn-disabled-border-color: var(--tg-error);
  --bs-btn-focus-shadow-rgb: var(--tg-focus-rgb);
}
.tg-app .text-bg-danger {
  color: var(--tg-on-error) !important;
}
.tg-app .btn-success {
  --bs-btn-color: var(--tg-on-success);
  --bs-btn-bg: var(--tg-success);
  --bs-btn-border-color: var(--tg-success);
  --bs-btn-hover-color: var(--tg-on-success);
  --bs-btn-hover-bg: var(--tg-success);
  --bs-btn-hover-border-color: var(--tg-success);
  --bs-btn-active-color: var(--tg-on-success);
  --bs-btn-active-bg: var(--tg-success);
  --bs-btn-active-border-color: var(--tg-success);
  --bs-btn-disabled-color: var(--tg-on-success);
  --bs-btn-disabled-bg: var(--tg-success);
  --bs-btn-disabled-border-color: var(--tg-success);
  --bs-btn-focus-shadow-rgb: var(--tg-focus-rgb);
}
.tg-app .text-bg-success {
  color: var(--tg-on-success) !important;
}
.tg-app .btn-warning {
  --bs-btn-color: var(--tg-on-warning);
  --bs-btn-bg: var(--tg-warning);
  --bs-btn-border-color: var(--tg-warning);
  --bs-btn-hover-color: var(--tg-on-warning);
  --bs-btn-hover-bg: var(--tg-warning);
  --bs-btn-hover-border-color: var(--tg-warning);
  --bs-btn-active-color: var(--tg-on-warning);
  --bs-btn-active-bg: var(--tg-warning);
  --bs-btn-active-border-color: var(--tg-warning);
  --bs-btn-disabled-color: var(--tg-on-warning);
  --bs-btn-disabled-bg: var(--tg-warning);
  --bs-btn-disabled-border-color: var(--tg-warning);
  --bs-btn-focus-shadow-rgb: var(--tg-focus-rgb);
}
.tg-app .text-bg-warning {
  color: var(--tg-on-warning) !important;
}
.tg-app .btn-info {
  --bs-btn-color: var(--tg-on-info);
  --bs-btn-bg: var(--tg-info);
  --bs-btn-border-color: var(--tg-info);
  --bs-btn-hover-color: var(--tg-on-info);
  --bs-btn-hover-bg: var(--tg-info);
  --bs-btn-hover-border-color: var(--tg-info);
  --bs-btn-active-color: var(--tg-on-info);
  --bs-btn-active-bg: var(--tg-info);
  --bs-btn-active-border-color: var(--tg-info);
  --bs-btn-disabled-color: var(--tg-on-info);
  --bs-btn-disabled-bg: var(--tg-info);
  --bs-btn-disabled-border-color: var(--tg-info);
  --bs-btn-focus-shadow-rgb: var(--tg-focus-rgb);
}
.tg-app .text-bg-info {
  color: var(--tg-on-info) !important;
}
.tg-app .btn-outline-secondary, .tg-app .btn-outline-primary {
  --bs-btn-color: var(--tg-text);
  --bs-btn-border-color: var(--tg-control-border);
  --bs-btn-hover-color: var(--tg-text);
  --bs-btn-hover-bg: var(--tg-surface-soft);
  --bs-btn-hover-border-color: var(--tg-text);
  --bs-btn-active-color: var(--tg-text);
  --bs-btn-active-bg: var(--tg-current-soft);
  --bs-btn-active-border-color: var(--tg-current);
  --bs-btn-disabled-color: var(--tg-text-muted);
  --bs-btn-disabled-border-color: var(--tg-control-border);
  --bs-btn-disabled-bg: transparent;
}
.tg-app .btn-link {
  --bs-btn-color: var(--tg-text);
  --bs-btn-hover-color: var(--tg-current);
  --bs-btn-active-color: var(--tg-current);
  --bs-btn-disabled-color: var(--tg-text-muted);
}
.tg-app .btn:focus-visible, .tg-app .form-control:focus-visible, .tg-app .form-select:focus-visible {
  outline: var(--tg-control-focus-width) solid var(--tg-focus);
  outline-offset: var(--tg-control-focus-offset);
  box-shadow: none;
}
.tg-app .form-label, .tg-app legend {
  font-weight: 600;
}
.tg-app .form-control, .tg-app .form-select {
  min-block-size: var(--tg-control-target);
  border-color: var(--tg-control-border);
  border-radius: var(--tg-control-radius);
  color: var(--tg-text);
  background-color: var(--tg-surface);
}
.tg-app .form-control:focus, .tg-app .form-select:focus {
  border-color: var(--tg-focus);
  color: var(--tg-text);
  background-color: var(--tg-surface);
  box-shadow: none;
}
.tg-app .form-control::placeholder, .tg-app .form-select::placeholder {
  color: var(--tg-text-muted);
  opacity: 1;
}
.tg-app .form-control:disabled, .tg-app .form-control[readonly], .tg-app .form-select:disabled, .tg-app .form-select[readonly] {
  background-color: var(--tg-surface-soft);
  color: var(--tg-text-muted);
  opacity: 1;
}
.tg-app .tg-date {
  min-inline-size: 0;
  max-inline-size: 100%;
  padding-inline: 0.75rem;
  color-scheme: inherit;
}
.tg-app .input-group-text {
  border-color: var(--tg-control-border);
  color: var(--tg-text-muted);
  background: var(--tg-surface-soft);
}
.tg-app .form-check-input {
  border-color: var(--tg-control-border);
  background-color: var(--tg-surface);
}
.tg-app .form-check-input:checked, .tg-app .form-check-input:indeterminate {
  border-color: var(--tg-current);
  background-color: var(--tg-current);
}
.tg-app .form-check-input:focus {
  border-color: var(--tg-focus);
  box-shadow: none;
}
.tg-app .form-check-input[type=checkbox]:checked {
  --bs-form-check-bg-image: var(--tg-check);
}
.tg-app .form-check-input[type=radio]:checked {
  --bs-form-check-bg-image: var(--tg-radio);
}
.tg-app .form-check-input[type=checkbox]:indeterminate {
  --bs-form-check-bg-image: var(--tg-mixed);
}
.tg-app .form-switch .form-check-input:checked {
  --bs-form-switch-bg: var(--tg-radio);
}
.tg-app .form-control.is-invalid, .tg-app .form-control[aria-invalid=true], .was-validated .tg-app .form-control:invalid, .tg-app .form-select.is-invalid, .tg-app .form-select[aria-invalid=true], .was-validated .tg-app .form-select:invalid, .tg-app .form-check-input.is-invalid, .tg-app .form-check-input[aria-invalid=true], .was-validated .tg-app .form-check-input:invalid {
  border-color: var(--tg-error);
}
.tg-app .form-control.is-invalid:focus, .tg-app .form-control[aria-invalid=true]:focus, .was-validated .tg-app .form-control:invalid:focus, .tg-app .form-select.is-invalid:focus, .tg-app .form-select[aria-invalid=true]:focus, .was-validated .tg-app .form-select:invalid:focus, .tg-app .form-check-input.is-invalid:focus, .tg-app .form-check-input[aria-invalid=true]:focus, .was-validated .tg-app .form-check-input:invalid:focus {
  border-color: var(--tg-error);
}
.tg-app .invalid-feedback {
  color: var(--tg-error);
}
.tg-app .tg-choice {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  min-block-size: var(--tg-control-target);
  max-inline-size: 100%;
  padding: 0.625rem 0.875rem;
  border: 1px solid var(--tg-control-border);
  border-radius: var(--tg-control-radius);
  background: var(--tg-surface);
  color: var(--tg-text);
  cursor: pointer;
  overflow-wrap: anywhere;
}
.tg-app .tg-choice .form-check-input {
  flex-shrink: 0;
  margin: 0;
}
.tg-app .tg-choice:hover {
  border-color: var(--tg-text);
}
.tg-app .tg-choice.is-invalid {
  border-color: var(--tg-error);
}
.tg-app .tg-choice:has(input:checked), .tg-app .tg-choice[aria-pressed=true] {
  border-color: var(--tg-current);
  background: var(--tg-current-soft);
}
.tg-app .tg-choice:has(input:focus-visible) {
  outline: var(--tg-control-focus-width) solid var(--tg-focus);
  outline-offset: var(--tg-control-focus-offset);
}
.tg-app .tg-choice .form-check-input:focus-visible {
  outline: none;
}
.tg-app .tg-choice:has(input:disabled), .tg-app .tg-choice:disabled, .tg-app .tg-choice[aria-disabled=true] {
  opacity: var(--tg-control-disabled-opacity);
  cursor: not-allowed;
}

.tg-app .tg-surface {
  background: var(--tg-surface);
  border: 1px solid var(--tg-border);
  border-radius: var(--tg-control-surface-radius);
}
.tg-app .tg-soft {
  background: var(--tg-surface-soft);
}
.tg-app .tg-section {
  border-block-start: var(--tg-control-heading-rule) solid var(--tg-text);
}
.tg-app .tg-rule {
  border-block-start: 1px solid var(--tg-border);
}
.tg-app .tg-basis {
  border-inline-start: 2px solid var(--tg-control-border);
}
.tg-app .tg-interpretation {
  border-inline-start: 2px dashed var(--tg-control-border);
}
.tg-app .tg-status {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--tg-text-muted);
}
.tg-app .tg-status--warning {
  color: var(--tg-warning);
}
.tg-app .tg-status--error {
  color: var(--tg-error);
}
.tg-app .tg-status--success {
  color: var(--tg-success);
}
.tg-app .tg-notice {
  color: var(--tg-text);
  background: var(--tg-surface-soft);
  border-inline-start: 3px solid var(--tg-control-border);
}
.tg-app .tg-notice--warning {
  border-inline-start-color: var(--tg-warning);
}
.tg-app .tg-notice--error {
  border-inline-start-color: var(--tg-error);
}
.tg-app .tg-notice--success {
  border-inline-start-color: var(--tg-success);
}
.tg-app .table {
  --bs-table-color: var(--tg-text);
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--tg-border);
  --bs-table-striped-color: var(--tg-text);
  --bs-table-striped-bg: var(--tg-surface-soft);
  --bs-table-hover-color: var(--tg-text);
  --bs-table-hover-bg: var(--tg-surface-soft);
  --bs-table-active-color: var(--tg-text);
  --bs-table-active-bg: var(--tg-current-soft);
  vertical-align: middle;
}
.tg-app .table th {
  color: var(--tg-text-muted);
  font-size: 0.875rem;
  font-weight: 600;
}
.tg-app .table > :not(caption) > * > * {
  padding-block: 0.875rem;
}
.tg-app .table tr[aria-selected=true] {
  --bs-table-bg: var(--tg-current-soft);
}
.tg-app .tg-disclosure {
  border-block: 1px solid var(--tg-border);
}
.tg-app .tg-disclosure summary {
  min-block-size: var(--tg-control-target);
  padding-block: 0.75rem;
  font-weight: 600;
  cursor: pointer;
}
.tg-app .tg-on-action {
  color: var(--tg-on-action);
}
.tg-app .tg-current-label {
  color: var(--tg-current);
}
.tg-app .tg-house-hero {
  padding-block: clamp(4.5rem, 8vw, 8rem);
}
.tg-app .tg-house-title {
  max-inline-size: 19ch;
  font-size: clamp(2.65rem, 5.85vw, 5.25rem);
  font-weight: 700;
  letter-spacing: -0.055em;
  line-height: 1.04;
  text-wrap: balance;
}
.tg-app .tg-house-support-column {
  padding-block-end: 0.25rem;
}
.tg-app .tg-house-support {
  max-inline-size: 29rem;
  font-size: clamp(1.0625rem, 1.5vw, 1.25rem);
  line-height: 1.58;
  border-block-start: 2px solid var(--tg-current);
  padding-block-start: 1.25rem;
}
.tg-app .tg-house-chapter {
  padding-block: clamp(4.5rem, 7.5vw, 7rem);
}
.tg-app .tg-house-chapter-copy {
  max-inline-size: 43rem;
}
.tg-app .tg-house-chapter-title {
  font-size: clamp(2.75rem, 4.8vw, 4.75rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.065;
}
.tg-app .tg-house-chapter-action .btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  min-block-size: 3.25rem;
  padding-inline: 1.5rem;
}
@media (min-width: 992px) {
  .tg-app .tg-house-hero {
    padding-block: clamp(6rem, 9vw, 9rem);
  }
  .tg-app .tg-house-support {
    border-block-start: 0;
    padding-block-start: 0;
    border-inline-start: 2px solid var(--tg-current);
    padding-inline-start: 1.5rem;
  }
}
@media (max-width: 575.98px) {
  .tg-app .tg-house-chapter-action, .tg-app .tg-house-chapter-action .btn {
    inline-size: 100%;
  }
}

.tg-app .tg-header {
  border-block-end: 1px solid var(--tg-border);
}
.tg-app .tg-wordmark {
  display: inline-flex;
  align-items: center;
  min-block-size: var(--tg-control-target);
  color: var(--tg-text);
  font-family: var(--tg-type-ui);
  font-size: clamp(1.125rem, 1.075rem + 0.35vw, 1.3125rem);
  font-weight: 750;
  letter-spacing: 0.048em;
  line-height: 1.15;
  white-space: nowrap;
  text-decoration: none;
}
.tg-app .tg-footer .tg-wordmark {
  font-size: 1rem;
}
.tg-app .tg-nav {
  --bs-nav-link-color: var(--tg-text-muted);
  --bs-nav-link-hover-color: var(--tg-text);
}
.tg-app .tg-nav .nav-link {
  min-block-size: var(--tg-control-target);
}
.tg-app .tg-nav .nav-link[aria-current=page], .tg-app .tg-nav .nav-link.active {
  color: var(--tg-text);
  text-decoration: underline;
  text-decoration-color: var(--tg-current);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.5em;
  font-weight: 600;
}
@media (min-width: 992px) {
  .tg-app .tg-nav-nojs {
    display: none;
  }
}
.tg-app .tg-nav .offcanvas-lg {
  --bs-offcanvas-bg: var(--tg-surface);
  --bs-offcanvas-color: var(--tg-text);
  --bs-offcanvas-border-color: var(--tg-border);
}
.tg-app .tg-nav .nav-link {
  --bs-nav-link-color: var(--tg-text-muted);
  --bs-nav-link-hover-color: var(--tg-text);
  color: var(--tg-text-muted);
  overflow-wrap: anywhere;
}
.tg-app .tg-nav .nav-link:hover, .tg-app .tg-nav .nav-link:focus-visible {
  color: var(--tg-text);
}
.tg-app .tg-nav .nav-link[aria-current=page] {
  color: var(--tg-text);
}
.tg-app .tg-nav .dropdown-menu {
  --bs-dropdown-color: var(--tg-text);
  --bs-dropdown-link-color: var(--tg-text);
  --bs-dropdown-link-hover-bg: var(--tg-surface-soft);
  --bs-dropdown-link-active-bg: var(--tg-current-soft);
  --bs-dropdown-link-active-color: var(--tg-text);
  --bs-dropdown-bg: var(--tg-surface);
  --bs-dropdown-border-color: var(--tg-border);
}
.tg-app .tg-nav .dropdown-menu .dropdown-item[aria-current=page] {
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--tg-current);
  text-underline-offset: 0.35em;
}
.tg-app .tg-nav .btn-close:focus-visible {
  outline: var(--tg-control-focus-width) solid var(--tg-focus);
  outline-offset: var(--tg-control-focus-offset);
  box-shadow: none;
}
@media (max-width: 991.98px) {
  .tg-app .tg-nav .offcanvas-lg {
    --bs-offcanvas-width: 100vw;
  }
  .tg-app .tg-nav .offcanvas-body {
    padding-block: 0.5rem 1.5rem;
  }
  .tg-app .tg-nav .navbar-nav {
    align-items: stretch;
    gap: 0.375rem;
  }
  .tg-app .tg-nav .nav-link, .tg-app .tg-nav .tg-nav-group-heading {
    display: block;
    min-block-size: var(--tg-control-target);
    padding: 0.625rem 0.75rem;
    overflow-wrap: anywhere;
  }
  .tg-app .tg-nav .tg-nav-group-heading {
    font-weight: 600;
  }
  .tg-app .tg-nav .tg-nav-group .dropdown-menu {
    display: block;
    position: static;
    float: none;
    margin: 0;
    padding: 0 0 0 0.625rem;
    border: 0;
    box-shadow: none;
    background: transparent;
  }
  .tg-app .tg-nav .dropdown-item {
    white-space: normal;
    min-block-size: var(--tg-control-target);
  }
}
.tg-app .navbar-toggler {
  min-inline-size: var(--tg-control-target);
  min-block-size: var(--tg-control-target);
  border: 0;
  border-radius: var(--tg-control-radius);
  background: transparent;
  color: var(--tg-text);
}
.tg-app .navbar-toggler:focus {
  box-shadow: none;
}
.tg-app .navbar-toggler:focus-visible {
  outline: var(--tg-control-focus-width) solid var(--tg-focus);
  outline-offset: var(--tg-control-focus-offset);
}
.tg-app .tg-footer {
  border-block-start: 1px solid var(--tg-border);
  color: var(--tg-text-muted);
  font-size: 0.875rem;
}
