/* Main styles for aimcore Controller Kalibrierung */

/* aimcore branding */
:root {
  --bs-primary: #111827;
  --bs-primary-rgb: 17, 24, 39;
  --aimcore-accent: #2563eb;
  --aimcore-bg: #f8fafc;
  --aimcore-text: #111827;
}

body {
  background: var(--aimcore-bg);
  color: var(--aimcore-text);
}

.navbar {
  box-shadow: 0 8px 30px rgba(15, 23, 42, 0.06);
}

.aimcore-brand {
  display: inline-flex;
  align-items: baseline;
  gap: 0.55rem;
  letter-spacing: -0.02em;
}

.aimcore-wordmark {
  font-weight: 900;
  font-size: 1.35rem;
  text-transform: lowercase;
}

.aimcore-subtitle {
  font-size: 0.92rem;
  color: #64748b;
  font-weight: 600;
}

.btn-primary {
  --bs-btn-bg: #111827;
  --bs-btn-border-color: #111827;
  --bs-btn-hover-bg: #2563eb;
  --bs-btn-hover-border-color: #2563eb;
  --bs-btn-active-bg: #1d4ed8;
  --bs-btn-active-border-color: #1d4ed8;
}

.btn-outline-primary {
  --bs-btn-color: #111827;
  --bs-btn-border-color: #111827;
  --bs-btn-hover-bg: #111827;
  --bs-btn-hover-border-color: #111827;
}

.stick-card-active {
  border-color: #2563eb !important;
  box-shadow: 0 0 16px rgba(37, 99, 235, 0.22) !important;
}

.stick-card-active .card-header {
  background-color: #111827 !important;
}

.aimcore-footer a {
  text-decoration: none;
  font-weight: 600;
}

.card, .modal-content {
  border-radius: 14px;
}



/* Add padding to body to prevent content from being hidden behind fixed footer */
body {
  padding-bottom: 80px;
}

dl.row dt {
  font-weight: normal;
}
dl.row dd {
  font-family: monospace;
}

#left-stick-card,
#right-stick-card {
  cursor: pointer;
  outline: none !important;
}

.stick-card-active {
  border: 1px solid #2563eb !important;
  box-shadow: 0 0 16px rgba(37, 99, 235, 0.22) !important;
}

.stick-card-active .card-header {
  background-color: #111827 !important;
  color: white !important;
}

/* Quick Test Icon Animations */
@keyframes shake {
  0%, 100% { transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% { transform: translateX(-2px); }
  20%, 40%, 60%, 80% { transform: translateX(2px); }
}

@keyframes pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.1); opacity: 0.8; }
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
  40% { transform: translateY(-3px); }
  60% { transform: translateY(-2px); }
}

@keyframes glow {
  0%, 100% { text-shadow: 0 0 5px rgba(13, 110, 253, 0.5); }
  50% { text-shadow: 0 0 15px rgba(13, 110, 253, 0.8), 0 0 25px rgba(13, 110, 253, 0.6); }
}

/* Animation classes for different test types - only animate when accordion is expanded */
.accordion-item:has(.accordion-collapse.show) i.fas.test-icon-usb {
  animation: pulse 1s ease-in-out infinite !important;
}

.accordion-item:has(.accordion-collapse.show) i.fas.test-icon-buttons {
  animation: bounce 0.6s ease-in-out infinite !important;
}

.accordion-item:has(.accordion-collapse.show) i.fas.test-icon-haptic {
  animation: shake 0.5s ease-in-out infinite !important;
}

.accordion-item:has(.accordion-collapse.show) i.fas.test-icon-adaptive {
  animation: pulse 1s ease-in-out infinite !important;
}

.accordion-item:has(.accordion-collapse.show) i.fas.test-icon-speaker {
  animation: bounce 0.6s ease-in-out infinite !important;
}

.accordion-item:has(.accordion-collapse.show) i.fas.test-icon-microphone {
  animation: glow 1.5s ease-in-out infinite !important;
}

.accordion-item:has(.accordion-collapse.show) i.fas.test-icon-lights {
  animation: glow 1.2s ease-in-out infinite !important;
}

.accordion-item:has(.accordion-collapse.show) i.fas.test-icon-headphone {
  animation: pulse 1s ease-in-out infinite !important;
}

/* Quick Test accordion button height reduction */
#quickTestAccordion .accordion-button {
  padding: 0.5rem 1rem;
}

/* Quick Test accordion body tint */
#quickTestAccordion .accordion-collapse .accordion-body {
  background-color: rgba(13, 125, 253, 0.05);
}

/* Skip button hover behavior */
.skip-btn {
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}

.accordion-header:hover .skip-btn {
  opacity: 1;
}

/* Blinking animation for range calibration alert */
@keyframes blink {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0.3; }
}

.blink-text {
  animation: blink 1s infinite;
}

/* Pulsing animation for text */
@keyframes pulse-text {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

.pulsing-text {
  animation: pulse-text 0.75s ease-in-out infinite;
}

/* Set text color to red for internationalized elements */
/* .ds-i18n {
  color: red;
} */

/* Styles for fine-tuning interface */

/* Styling for coordinate labels - base state to prevent layout shift */
#finetuneStickCanvasLx-lbl,
#finetuneStickCanvasLy-lbl,
#finetuneStickCanvasRx-lbl,
#finetuneStickCanvasRy-lbl {
  padding: 2px 4px !important;
  border-radius: 3px !important;
  background-color: transparent !important;
}

/* Styling for finetune input boxes - base state to prevent layout shift */
input[id^="finetune"] {
  border: 1px solid transparent !important;
  width: 90px !important;
  min-width: 90px !important;
  color: #969696 !important;
}

/* Styling for highlighted coordinate labels */
#finetuneStickCanvasLx-lbl.text-primary,
#finetuneStickCanvasLy-lbl.text-primary,
#finetuneStickCanvasRx-lbl.text-primary,
#finetuneStickCanvasRy-lbl.text-primary {
  color: #0d6efd !important;
  background-color: rgba(13, 110, 253, 0.1) !important;
}

/* CSS Grid layout for finetune inputs around canvas */
.finetune-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-template-rows: auto 1fr auto;
  grid-template-areas:
  ". top ."
  "left center right"
  ". bottom .";
  justify-items: center;
  align-items: center;
  width: 100%;
  margin: 0 auto;
  max-width: fit-content;
}

.finetune-top {
  grid-area: top;
}

.finetune-left {
  grid-area: left;
}

.finetune-center {
  grid-area: center;
}

.finetune-right {
  grid-area: right;
}

.finetune-bottom {
  grid-area: bottom;
}

/* Finetune mode visibility controls */
.finetune-center-mode {
  display: block;
}

.finetune-circularity-mode {
  display: none;
}

/* When circularity mode is active */
#finetuneModal.circularity-mode .finetune-center-mode {
  display: none;
}

#finetuneModal.circularity-mode .finetune-circularity-mode {
  display: block;
}

/* Hide raw numbers mode - hide input boxes when checkbox is unchecked */
#finetuneModal.hide-raw-numbers .finetune-top,
#finetuneModal.hide-raw-numbers .finetune-left,
#finetuneModal.hide-raw-numbers .finetune-right,
#finetuneModal.hide-raw-numbers .finetune-bottom {
  display: none;
}

/* Hide spacers when raw numbers are hidden */
#finetuneModal.hide-raw-numbers .spacer.hide-raw-numbers {
  display: none;
}

/* Adjust grid layout when raw numbers are hidden - center the canvas */
#finetuneModal.hide-raw-numbers .finetune-grid {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  grid-template-areas: "center";
}

/* when element with id finetuneModal has class hide-raw-numbers, hide all elements with id finetuneStickCanvasL and finetuneStickCanvasR */
#finetuneModal.hide-raw-numbers #finetuneStickCanvasL,
#finetuneModal.hide-raw-numbers #finetuneStickCanvasR {
  display: none;
}
#finetuneModal:not(.hide-raw-numbers) #finetuneStickCanvasL,
#finetuneModal:not(.hide-raw-numbers) #finetuneStickCanvasR {
  display: block;
}
#finetuneModal.hide-raw-numbers #finetuneStickCanvasL_large,
#finetuneModal.hide-raw-numbers #finetuneStickCanvasR_large
{
  display: block;
}
#finetuneModal:not(.hide-raw-numbers) #finetuneStickCanvasL_large,
#finetuneModal:not(.hide-raw-numbers) #finetuneStickCanvasR_large {
  display: none;
}

/* Error slack button toggle states */
.left-stick-values,
.right-stick-values {
  display: block;
}

.left-stick-slider,
.right-stick-slider {
  display: none;
}

/* When left stick is in slider mode (only in circularity mode) */
#finetuneModal.circularity-mode #left-stick-card.show-slider .left-stick-values {
  display: none !important;
}

#finetuneModal.circularity-mode #left-stick-card.show-slider .left-stick-slider.finetune-circularity-mode {
  display: block !important;
}

/* When right stick is in slider mode (only in circularity mode) */
#finetuneModal.circularity-mode #right-stick-card.show-slider .right-stick-values {
  display: none !important;
}

#finetuneModal.circularity-mode #right-stick-card.show-slider .right-stick-slider.finetune-circularity-mode {
  display: block !important;
}
/*# sourceMappingURL=app.css.map */

/* ==========================================================
   aimcore dark neon theme
   Logo-inspired styling: anthracite background, cyan/orange glow
   ========================================================== */
:root {
  --aimcore-bg: #070a0f;
  --aimcore-bg-2: #0b0f14;
  --aimcore-panel: rgba(18, 25, 34, 0.92);
  --aimcore-panel-strong: rgba(21, 30, 41, 0.98);
  --aimcore-panel-soft: rgba(255, 255, 255, 0.045);
  --aimcore-border: rgba(255, 255, 255, 0.10);
  --aimcore-border-strong: rgba(118, 243, 255, 0.32);
  --aimcore-text: #eef3f7;
  --aimcore-muted: #98a7b8;
  --aimcore-cyan: #76f3ff;
  --aimcore-cyan-2: #39dff3;
  --aimcore-orange: #ffb067;
  --aimcore-orange-2: #ff8a3d;
  --aimcore-red: #ff5f6d;
  --aimcore-green: #7fffb2;
  --aimcore-gradient: linear-gradient(90deg, #ffb067 0%, #f0f4f8 48%, #76f3ff 100%);
  --aimcore-shadow: 0 20px 60px rgba(0, 0, 0, 0.42);
  --aimcore-glow-cyan: 0 0 24px rgba(118, 243, 255, 0.22);
  --aimcore-glow-orange: 0 0 24px rgba(255, 176, 103, 0.18);
  --bs-body-bg: #070a0f;
  --bs-body-color: #eef3f7;
  --bs-primary: #39dff3;
  --bs-primary-rgb: 57, 223, 243;
}

html {
  background: var(--aimcore-bg);
}

body.aimcore-dark-theme,
body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 12% 5%, rgba(255, 176, 103, 0.16), transparent 28rem),
    radial-gradient(circle at 86% 0%, rgba(118, 243, 255, 0.18), transparent 30rem),
    radial-gradient(circle at 50% 100%, rgba(57, 223, 243, 0.06), transparent 35rem),
    linear-gradient(180deg, #070a0f 0%, #0b0f14 52%, #080b10 100%) !important;
  color: var(--aimcore-text) !important;
  padding-bottom: 96px;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background-image:
    linear-gradient(rgba(118, 243, 255, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(118, 243, 255, 0.045) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,0.45), transparent 70%);
}

.container.p-2 {
  padding-top: 1.5rem !important;
}

/* Header */
.navbar,
.navbar.bg-body-tertiary,
.bg-body-tertiary {
  background: rgba(7, 10, 15, 0.86) !important;
  color: var(--aimcore-text) !important;
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(118, 243, 255, 0.18);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.32), 0 0 28px rgba(118, 243, 255, 0.08);
}

.navbar .container-fluid {
  max-width: 1280px;
}

.aimcore-brand {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  min-height: 56px;
  padding: 0.25rem 0;
}

.aimcore-logo {
  display: block;
  height: 48px;
  width: auto;
  max-width: 230px;
  object-fit: contain;
  filter: drop-shadow(0 0 12px rgba(118, 243, 255, 0.18)) drop-shadow(0 0 10px rgba(255, 176, 103, 0.14));
}

.aimcore-wordmark {
  font-weight: 900;
  letter-spacing: -0.04em;
  background: var(--aimcore-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.aimcore-subtitle {
  color: var(--aimcore-muted);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-size: 0.76rem;
  border-left: 1px solid rgba(255,255,255,0.14);
  padding-left: 1rem;
}

.nav-link,
.navbar-nav .nav-link,
.dropdown-toggle,
#curLang {
  color: var(--aimcore-text) !important;
}

.nav-link:hover,
.nav-link:focus,
.navbar-nav .nav-link.show {
  color: var(--aimcore-cyan) !important;
  text-shadow: 0 0 12px rgba(118, 243, 255, 0.36);
}

.navbar-toggler {
  border-color: rgba(118, 243, 255, 0.35) !important;
}
.navbar-toggler-icon {
  filter: invert(1) grayscale(1) brightness(1.5);
}

/* Cards / panels */
.card,
.modal-content,
.accordion-item,
.dropdown-menu {
  background: linear-gradient(180deg, var(--aimcore-panel-strong), rgba(10, 14, 20, 0.96)) !important;
  color: var(--aimcore-text) !important;
  border: 1px solid var(--aimcore-border) !important;
  border-radius: 18px !important;
  box-shadow: var(--aimcore-shadow), 0 0 0 1px rgba(118, 243, 255, 0.035);
}

.card:hover {
  border-color: rgba(118, 243, 255, 0.22) !important;
  box-shadow: var(--aimcore-shadow), var(--aimcore-glow-cyan);
}

.card-header,
.modal-header,
.accordion-header,
.accordion-button {
  background: linear-gradient(90deg, rgba(255,176,103,0.13), rgba(118,243,255,0.08)) !important;
  color: var(--aimcore-text) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.card-header i,
.nav-tabs i,
.modal-title i {
  color: var(--aimcore-cyan);
  text-shadow: 0 0 14px rgba(118, 243, 255, 0.35);
}

.text-bg-light,
.bg-light,
.bg-white {
  background: linear-gradient(180deg, var(--aimcore-panel-strong), rgba(10, 14, 20, 0.96)) !important;
  color: var(--aimcore-text) !important;
}

.text-muted,
small,
.muted,
.form-text {
  color: var(--aimcore-muted) !important;
}

.border-top,
.border-bottom,
hr {
  border-color: rgba(255,255,255,0.10) !important;
}

/* Main connect panels */
#offlinebar,
#onlinebar,
#mainmenu {
  background: rgba(7, 10, 15, 0.32);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 22px;
  box-shadow: 0 22px 70px rgba(0,0,0,0.22);
  margin-top: 1rem;
}

#offlinebar,
#onlinebar {
  padding: 1.4rem !important;
  background:
    linear-gradient(180deg, rgba(21,30,41,0.84), rgba(8,12,18,0.84)),
    radial-gradient(circle at 0% 0%, rgba(255,176,103,0.14), transparent 50%),
    radial-gradient(circle at 100% 0%, rgba(118,243,255,0.16), transparent 50%);
}

#offlinebar p,
#onlinebar p {
  color: var(--aimcore-text);
}

/* Buttons */
.btn {
  border-radius: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}
.btn:hover {
  transform: translateY(-1px);
}

.btn-primary,
.btn-outline-primary:hover,
.btn-success {
  --bs-btn-bg: #39dff3;
  --bs-btn-border-color: rgba(118, 243, 255, 0.55);
  --bs-btn-color: #061015;
  --bs-btn-hover-bg: #76f3ff;
  --bs-btn-hover-border-color: #76f3ff;
  --bs-btn-hover-color: #061015;
  --bs-btn-active-bg: #24c7dc;
  --bs-btn-active-border-color: #24c7dc;
  background: linear-gradient(90deg, var(--aimcore-cyan-2), var(--aimcore-cyan)) !important;
  border-color: rgba(118, 243, 255, 0.65) !important;
  color: #061015 !important;
  box-shadow: var(--aimcore-glow-cyan);
}

.btn-outline-primary,
.btn-outline-secondary,
.btn-secondary,
.btn-ghost {
  background: rgba(255,255,255,0.035) !important;
  border-color: rgba(118, 243, 255, 0.35) !important;
  color: var(--aimcore-text) !important;
}

.btn-outline-secondary:hover,
.btn-secondary:hover,
.btn-outline-primary:hover {
  border-color: rgba(118, 243, 255, 0.72) !important;
  box-shadow: var(--aimcore-glow-cyan);
  color: #061015 !important;
}

.btn-danger,
.btn-outline-danger {
  background: linear-gradient(90deg, #ff5f6d, #ff8a3d) !important;
  border-color: rgba(255, 138, 61, 0.72) !important;
  color: #180907 !important;
  box-shadow: var(--aimcore-glow-orange);
}

.btn-warning {
  background: linear-gradient(90deg, var(--aimcore-orange-2), var(--aimcore-orange)) !important;
  border-color: rgba(255, 176, 103, 0.72) !important;
  color: #170d04 !important;
  box-shadow: var(--aimcore-glow-orange);
}

/* Navigation tabs */
.nav-tabs {
  border-bottom: 1px solid rgba(118, 243, 255, 0.20) !important;
  gap: 0.35rem;
}

.nav-tabs .nav-link {
  background: rgba(255,255,255,0.035) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 14px 14px 0 0 !important;
  color: var(--aimcore-muted) !important;
}

.nav-tabs .nav-link.active {
  background: linear-gradient(90deg, rgba(255,176,103,0.18), rgba(118,243,255,0.16)) !important;
  color: var(--aimcore-text) !important;
  border-color: rgba(118, 243, 255, 0.42) !important;
  box-shadow: var(--aimcore-glow-cyan);
}

/* Forms, tables, dropdowns */
.form-control,
.form-select,
.input-group-text,
pre,
code {
  background-color: rgba(255,255,255,0.055) !important;
  color: var(--aimcore-text) !important;
  border-color: rgba(255,255,255,0.11) !important;
}

.form-control:focus,
.form-select:focus {
  border-color: rgba(118, 243, 255, 0.7) !important;
  box-shadow: 0 0 0 .25rem rgba(118, 243, 255, 0.12) !important;
}

.dropdown-item {
  color: var(--aimcore-text) !important;
}
.dropdown-item:hover,
.dropdown-item:focus {
  background: rgba(118, 243, 255, 0.12) !important;
  color: var(--aimcore-cyan) !important;
}

.table,
.table > :not(caption) > * > * {
  color: var(--aimcore-text) !important;
  background-color: transparent !important;
  border-color: rgba(255,255,255,0.09) !important;
}

/* Alerts / warnings */
.alert,
#missinghid > .container > div,
#aboutdrift > .container > div:first-child {
  background: linear-gradient(180deg, rgba(255,176,103,0.10), rgba(255,176,103,0.05)) !important;
  color: #ffd7b2 !important;
  border: 1px solid rgba(255,176,103,0.45) !important;
  border-left: 4px solid var(--aimcore-orange) !important;
  border-radius: 16px !important;
  box-shadow: var(--aimcore-glow-orange) !important;
}

.alert-primary,
.alert-info {
  background: linear-gradient(180deg, rgba(118,243,255,0.11), rgba(118,243,255,0.045)) !important;
  color: #c8fbff !important;
  border-color: rgba(118,243,255,0.45) !important;
}

.text-danger,
.text-danger * {
  color: #ff7b86 !important;
}

.text-secondary {
  color: var(--aimcore-muted) !important;
}

/* Canvas / joystick area */
canvas {
  border-radius: 14px;
  filter: drop-shadow(0 0 14px rgba(118, 243, 255, 0.08));
}

#controller-svg-container {
  background: radial-gradient(circle at center, rgba(118,243,255,0.08), transparent 55%);
  border-radius: 20px;
  padding: 1rem;
}

#controller-svg-container svg {
  filter: drop-shadow(0 0 18px rgba(118,243,255,0.12));
}

/* Active calibration cards */
.stick-card-active {
  border-color: rgba(118, 243, 255, 0.72) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,0.36), var(--aimcore-glow-cyan) !important;
}

.stick-card-active .card-header {
  background: linear-gradient(90deg, rgba(57,223,243,0.22), rgba(255,176,103,0.10)) !important;
  color: var(--aimcore-text) !important;
}

/* Modals */
.modal-backdrop.show {
  opacity: .78 !important;
}

.btn-close {
  filter: invert(1) grayscale(1) brightness(1.8);
}

/* Footer */
.aimcore-footer,
footer.fixed-bottom {
  background: rgba(7, 10, 15, 0.90) !important;
  backdrop-filter: blur(14px);
  border-top: 1px solid rgba(118, 243, 255, 0.18) !important;
  box-shadow: 0 -14px 40px rgba(0,0,0,0.32);
}

.aimcore-footer strong {
  background: var(--aimcore-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.aimcore-footer a,
.aimcore-footer .text-dark {
  color: var(--aimcore-text) !important;
}

.aimcore-footer a:hover {
  color: var(--aimcore-cyan) !important;
  text-shadow: 0 0 12px rgba(118, 243, 255, 0.36);
}

/* Small screens */
@media (max-width: 767px) {
  .aimcore-brand {
    gap: .65rem;
  }
  .aimcore-logo {
    height: 38px;
    max-width: 170px;
  }
  .aimcore-subtitle {
    display: none;
  }
  body {
    padding-bottom: 120px;
  }
  .container.p-2 {
    padding-left: .75rem !important;
    padding-right: .75rem !important;
  }
  footer.fixed-bottom {
    position: static !important;
    margin-top: 2rem;
  }
}


/* aimcore Build Check */
.aimcore-buildcheck-card {
  margin: 1.4rem 0 1.6rem;
  padding: 1.25rem;
  border-radius: 22px;
  border: 1px solid rgba(118, 243, 255, 0.18);
  background:
    radial-gradient(circle at top left, rgba(255,176,103,0.12), transparent 28%),
    radial-gradient(circle at top right, rgba(118,243,255,0.14), transparent 26%),
    linear-gradient(180deg, rgba(22,29,39,0.94), rgba(8,12,18,0.96));
  box-shadow: 0 20px 58px rgba(0,0,0,0.38), 0 0 30px rgba(118,243,255,0.10);
}

.aimcore-buildcheck-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.aimcore-kicker {
  margin: 0 0 .25rem;
  color: var(--aimcore-cyan);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .78rem;
  font-weight: 800;
}

.aimcore-buildcheck-card h1 {
  margin: 0 0 .35rem;
  font-size: clamp(1.45rem, 2.2vw, 2.2rem);
  font-weight: 900;
  background: var(--aimcore-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.aimcore-buildcheck-card p {
  color: var(--aimcore-muted);
}

.aimcore-buildcheck-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .75rem;
  margin-top: 1rem;
}

#aimcoreBuildId {
  width: 100%;
  border: 1px solid rgba(118,243,255,0.22);
  border-radius: 14px;
  padding: .82rem 1rem;
  color: var(--aimcore-text);
  background: rgba(255,255,255,0.04);
  outline: none;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

#aimcoreBuildId:focus {
  border-color: rgba(118,243,255,0.72);
  box-shadow: 0 0 0 .2rem rgba(118,243,255,0.12), var(--aimcore-glow-cyan);
}

.aimcore-buildcheck-help {
  margin: .7rem 0 0;
  font-size: .92rem;
}

.aimcore-link-button {
  border: 0;
  background: transparent;
  color: var(--aimcore-orange);
  font-weight: 800;
  padding: 0;
  text-decoration: underline;
}

.aimcore-build-result {
  margin-top: 1rem;
}

.aimcore-build-result-card {
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 18px;
  background: rgba(7,10,15,0.58);
  overflow: hidden;
}

.aimcore-build-result-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.aimcore-build-result-head h2 {
  margin: 0;
  color: var(--aimcore-text);
  font-weight: 900;
}

.aimcore-status-pill {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  border-radius: 999px;
  padding: .35rem .7rem;
  background: rgba(118,243,255,0.12);
  border: 1px solid rgba(118,243,255,0.28);
  color: var(--aimcore-cyan);
  font-weight: 800;
  white-space: nowrap;
}

.aimcore-build-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: .75rem;
  padding: 1rem;
}

.aimcore-build-field {
  border-radius: 14px;
  padding: .78rem;
  background: rgba(255,255,255,0.035);
  border: 1px solid rgba(255,255,255,0.07);
}

.aimcore-build-field span {
  display: block;
  color: var(--aimcore-muted);
  font-size: .8rem;
  margin-bottom: .15rem;
}

.aimcore-build-field strong {
  color: var(--aimcore-text);
}

.aimcore-parts-list {
  padding: 0 1rem 1rem;
}

.aimcore-parts-list h3,
.aimcore-qc-list h3 {
  color: var(--aimcore-text);
  font-size: 1rem;
  margin: .2rem 0 .65rem;
}

.aimcore-parts-list ul,
.aimcore-qc-list ul {
  margin: 0;
  padding-left: 1.15rem;
  color: var(--aimcore-text);
}

.aimcore-parts-list li,
.aimcore-qc-list li {
  margin-bottom: .35rem;
}

.aimcore-qc-list {
  padding: 0 1rem 1rem;
}

.aimcore-build-alert {
  border-radius: 14px;
  padding: .9rem 1rem;
  border: 1px solid rgba(255,176,103,0.35);
  background: rgba(255,176,103,0.08);
  color: #ffd8b6;
}

@media (max-width: 640px) {
  .aimcore-buildcheck-form {
    grid-template-columns: 1fr;
  }
  .aimcore-build-result-head {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* Fix: Originaler Drift-Hinweis darf den Build-Check nicht überlagern */
#aboutdrift,
.aimcore-notice-flow {
  position: static !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  z-index: 1 !important;
  width: 100%;
  margin: 0 auto 7rem !important;
  pointer-events: auto;
}

#aboutdrift > .container {
  max-width: 1320px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

#aboutdrift > .container > div:first-child {
  margin-top: 1.1rem !important;
  margin-bottom: 1.1rem !important;
  padding: 1rem 1.1rem !important;
}

#lastConnected {
  margin-bottom: 1.5rem;
  color: var(--aimcore-muted);
}

.aimcore-buildcheck-card,
.aimcore-build-result,
.aimcore-build-result-card {
  position: relative;
  z-index: 2;
  overflow: visible;
}

.aimcore-build-result-card {
  margin-bottom: 1.25rem;
}

.aimcore-parts-list,
.aimcore-qc-list {
  position: relative;
  z-index: 2;
}

@media (max-width: 767px) {
  #aboutdrift,
  .aimcore-notice-flow {
    margin-bottom: 2rem !important;
  }
}
