.home-topbar { position: relative; }
.trained-lab-menu-button {
  position: relative;
  width: 44px;
  min-width: 44px;
  max-width: 44px;
  height: 44px;
  flex: 0 0 44px;
  padding: 3px;
  border: 1px solid rgba(226, 184, 99, .42);
  border-radius: 50%;
  background: rgba(8, 39, 37, .9);
  color: #f5e5b8;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.trained-lab-menu-button > span,
.trained-lab-avatar {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: linear-gradient(145deg, #df9b42, #9f4e24);
  color: #fff9e8;
  font: 800 10px/1 system-ui;
}
.trained-lab-menu-button img,
.trained-lab-avatar img { width: 100%; height: 100%; object-fit: cover; }
.trained-lab-menu-button small {
  position: absolute;
  left: 50%;
  top: 49px;
  transform: translateX(-50%);
  width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #d8e3de;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-transform: none;
}
.trained-lab-dropdown {
  position: absolute;
  z-index: 140;
  top: 54px;
  right: 0;
  width: min(290px, calc(100vw - 40px));
  padding: 8px;
  border: 1px solid rgba(226, 184, 99, .42);
  border-radius: 16px;
  background: rgba(4, 30, 29, .98);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .48);
  display: grid;
  gap: 5px;
}
.trained-lab-dropdown[hidden] { display: none; }
.trained-lab-dropdown button {
  min-height: 48px;
  border: 0;
  border-radius: 11px;
  padding: 7px 10px;
  background: transparent;
  color: #f3e5bf;
  display: flex;
  align-items: center;
  gap: 0;
  text-align: left;
}
.trained-lab-dropdown button:hover,
.trained-lab-dropdown button:focus-visible { background: rgba(209, 139, 57, .18); }
.trained-lab-dropdown span { font-weight: 850; }
.trained-lab-screen {
  height: 100dvh;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  background:
    radial-gradient(circle at 85% 5%, rgba(213, 137, 46, .13), transparent 32%),
    #071d1d;
}
.trained-lab-heading { display: flex; align-items: center; gap: 10px; min-width: 0; }
.trained-lab-heading h2 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.trained-lab-content {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 16px max(14px, env(safe-area-inset-right)) 36px max(14px, env(safe-area-inset-left));
  scrollbar-gutter: stable;
}
.trained-lab-shell { width: min(100%, 960px); margin: 0 auto; display: grid; gap: 14px; }
.trained-lab-panel {
  border: 1px solid rgba(224, 184, 101, .2);
  border-radius: 18px;
  padding: 16px;
  background: rgba(8, 43, 40, .88);
  box-shadow: 0 18px 45px rgba(0, 0, 0, .2);
}
.trained-lab-identity-layout {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  margin-top: 18px;
}
.trained-lab-photo-editor { display: grid; justify-items: center; gap: 10px; }
.trained-lab-profile-avatar {
  width: 132px;
  height: 132px;
  border: 3px solid rgba(239, 193, 105, .55);
  border-radius: 50%;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: linear-gradient(145deg, #df9b42, #9f4e24);
  color: #fff9e8;
  font: 900 28px/1 system-ui;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .26);
}
.trained-lab-profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.trained-lab-photo-actions { display: flex; gap: 7px; }
.trained-lab-photo-actions label,
.trained-lab-photo-actions button {
  border: 1px solid rgba(226, 184, 99, .32);
  border-radius: 9px;
  padding: 8px 10px;
  background: #1d5650;
  color: #f4e8cb;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}
.trained-lab-photo-actions button:disabled { opacity: .42; cursor: default; }
.trained-lab-identity-fields { display: grid; gap: 8px; }
.trained-lab-identity-fields > label { color: #d7c69f; font-size: 12px; font-weight: 900; }
.trained-lab-identity-fields > input[type="text"] {
  min-height: 44px;
  border: 1px solid rgba(222, 189, 116, .32);
  border-radius: 10px;
  padding: 9px 11px;
  background: #041f1e;
  color: #f8edcf;
  font: 800 16px/1.2 system-ui;
}
.trained-lab-identity-fields > small { color: #9fb6ac; }
.trained-lab-profile-visibility {
  margin-top: 8px;
  border: 1px solid rgba(226, 186, 100, .18);
  border-radius: 12px;
  padding: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  background: rgba(3, 27, 26, .55);
}
.trained-lab-profile-visibility span,
.trained-lab-profile-visibility strong,
.trained-lab-profile-visibility small { display: block; }
.trained-lab-profile-visibility strong { color: #f5dfaa; }
.trained-lab-profile-visibility small { margin-top: 3px; color: #a9beb5; }
.trained-lab-profile-visibility input { width: 22px; height: 22px; accent-color: #df8f37; }
.trained-lab-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  background: linear-gradient(135deg, rgba(145, 73, 32, .5), rgba(9, 55, 50, .9));
}
.trained-lab-hero h3,
.trained-lab-panel h3 { margin: 0 0 5px; color: #fff3cf; }
.trained-lab-hero p,
.trained-lab-panel p { margin: 4px 0; color: #bfd2ca; }
.trained-lab-version {
  min-width: 92px;
  padding: 12px;
  border-radius: 14px;
  text-align: center;
  background: rgba(0, 0, 0, .22);
}
.trained-lab-version strong { display: block; color: #ffd48b; font-size: 24px; }
.trained-lab-version span { color: #c7d7ce; font-size: 12px; }
.trained-lab-bootstrap { text-align: center; padding: 28px 18px; }
.trained-lab-bootstrap button,
.trained-lab-actions button,
.trained-lab-battle-controls button {
  border: 0;
  border-radius: 12px;
  padding: 11px 15px;
  font-weight: 900;
  cursor: pointer;
}
.trained-lab-primary { background: #df8f37; color: #17110a; }
.trained-lab-secondary { background: #1d5650; color: #f4e8cb; }
.trained-lab-danger { background: #713d37; color: #ffe8dc; }
.trained-lab-danger-zone {
  border-color: rgba(230, 96, 76, .45);
  background: linear-gradient(145deg, rgba(113, 38, 34, .25), rgba(4, 31, 29, .9));
}
.trained-lab-danger-zone h3 { color: #ffd8ce; }
.trained-lab-danger-zone p:not(.eyebrow) { color: #d8bbb3; }
.trained-lab-danger-zone .trained-lab-danger {
  border: 1px solid rgba(255, 151, 130, .38);
  background: #8d382f;
}
.trained-lab-danger-zone .trained-lab-danger:disabled { opacity: .45; cursor: not-allowed; }
.trained-lab-picker {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto auto;
  gap: 10px;
  align-items: end;
}
.trained-lab-field { display: grid; gap: 5px; }
.trained-lab-field label { color: #d7c69f; font-size: 11px; font-weight: 800; }
.trained-lab-field select {
  width: 100%;
  min-height: 42px;
  border: 1px solid rgba(222, 189, 116, .3);
  border-radius: 10px;
  padding: 8px 10px;
  background: #092d2a;
  color: #f8edcf;
}
.trained-lab-presets { display: flex; gap: 5px; flex-wrap: wrap; }
.trained-lab-presets button {
  border: 1px solid rgba(221, 183, 104, .28);
  border-radius: 9px;
  padding: 8px;
  background: rgba(6, 31, 30, .8);
  color: #cfdbd4;
  cursor: pointer;
}
.trained-lab-presets button.is-active { background: #9a5a2e; color: white; }
.trained-lab-scoreboard {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin-top: 12px;
}
.trained-lab-side {
  border-radius: 14px;
  padding: 14px;
  background: rgba(1, 21, 21, .48);
  text-align: center;
}
.trained-lab-side strong { display: block; color: #fff2cd; font-size: 19px; }
.trained-lab-side b { display: block; color: #efad5a; font-size: 31px; }
.trained-lab-vs { color: #b8cbc2; font-weight: 900; }
.trained-lab-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-top: 10px;
}
.trained-lab-metric { padding: 10px; border-radius: 11px; background: rgba(2, 24, 23, .5); }
.trained-lab-metric b { display: block; color: #f1c272; font-size: 19px; }
.trained-lab-metric span { color: #adc1b8; font-size: 11px; }
.trained-lab-list { display: grid; gap: 9px; margin-top: 12px; }
.trained-lab-card {
  border: 1px solid rgba(226, 186, 100, .17);
  border-radius: 13px;
  padding: 13px;
  background: rgba(3, 27, 26, .55);
}
.trained-lab-card-head { display: flex; justify-content: space-between; gap: 10px; align-items: start; }
.trained-lab-card h4 { margin: 0 0 4px; color: #f5dfaa; }
.trained-lab-card small { color: #9db5aa; }
.trained-lab-evidence { margin-top: 8px; padding: 8px 10px; border-left: 3px solid #b8793f; color: #c8d5cf; font-size: 12px; }
.trained-lab-actions { display: flex; gap: 7px; justify-content: flex-end; margin-top: 10px; }
.trained-lab-empty { color: #9fb6ac; text-align: center; padding: 18px 6px; }
.trained-lab-menu-return {
  display: flex;
  justify-content: center;
  padding: 10px 0 max(8px, env(safe-area-inset-bottom));
}
.trained-lab-menu-return button {
  min-height: 44px;
  border: 1px solid rgba(226, 184, 99, .36);
  border-radius: 12px;
  padding: 10px 16px;
  background: rgba(8, 43, 40, .9);
  color: #f4e5bf;
  font-weight: 900;
  cursor: pointer;
}
.trained-lab-menu-return button:hover,
.trained-lab-menu-return button:focus-visible { background: rgba(158, 84, 46, .75); }
.trained-lab-menu-return span { margin-right: 7px; font-size: 18px; }
.trained-lab-status { color: #e8bd72; font-weight: 800; }
.trained-lab-error { color: #ffb29e; text-align: center; padding: 28px; }
.trained-lab-subtitle { margin: 20px 0 8px; color: #f0c47c; }
.trained-lab-profile-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.trained-lab-profile-choice {
  min-height: 132px;
  border: 1px solid rgba(222, 189, 116, .24);
  border-radius: 13px;
  padding: 12px;
  background: rgba(2, 25, 24, .62);
  color: #cbd9d2;
  text-align: left;
  cursor: pointer;
}
.trained-lab-profile-choice b,
.trained-lab-profile-choice strong,
.trained-lab-profile-choice span { display: block; }
.trained-lab-profile-choice b { color: #f3ca82; font-size: 15px; }
.trained-lab-profile-choice strong { margin: 3px 0 8px; color: #fff0c7; font-size: 11px; }
.trained-lab-profile-choice span { color: #a9beb5; font-size: 11px; line-height: 1.35; }
.trained-lab-profile-choice.is-active {
  border-color: #e0a251;
  background: linear-gradient(145deg, rgba(158, 79, 35, .72), rgba(14, 67, 60, .86));
  box-shadow: inset 0 0 0 1px rgba(255, 216, 141, .25);
}
.trained-lab-details { margin-top: 10px; color: #d6c69f; }
.trained-lab-details summary { cursor: pointer; font-weight: 900; }
.trained-lab-editor textarea {
  width: 100%;
  min-height: 220px;
  resize: vertical;
  border: 1px solid rgba(222, 189, 116, .28);
  border-radius: 11px;
  padding: 11px;
  background: #041f1e;
  color: #edf2e8;
  line-height: 1.45;
}
.trained-lab-editor textarea.trained-lab-code {
  min-height: 310px;
  font: 12px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace;
  tab-size: 2;
}
.trained-lab-rule-card label {
  display: block;
  margin-bottom: 6px;
  color: #f5dfaa;
  font-weight: 800;
}
.trained-lab-rule-card.is-disabled {
  border-color: rgba(255,255,255,.1);
  background: rgba(8, 24, 23, .56);
}
.trained-lab-rule-card.is-disabled textarea,
.trained-lab-rule-card.is-disabled small { opacity: .58; }
.trained-lab-rule-state {
  float: right;
  color: #6fe19c;
  font-size: 10px;
  font-weight: 900;
}
.trained-lab-rule-card.is-disabled .trained-lab-rule-state { color: #d6a49a; }
.trained-lab-rule-card .trained-lab-actions { flex-wrap: wrap; }
.trained-lab-editor textarea.trained-lab-rule-text {
  min-height: 72px;
  margin-bottom: 6px;
  font-family: inherit;
}
.trained-lab-new-rule { margin-top: 12px; border-color: rgba(224, 162, 81, .46); }
.trained-lab-new-rule h5 { margin: 0 0 10px; color: #f5dfaa; font-size: 15px; }
.trained-lab-new-rule > label { display: block; margin-bottom: 6px; color: #f5dfaa; font-weight: 800; }
.trained-lab-rule-builder {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 8px 0;
}
.trained-lab-rule-builder .trained-lab-field:last-child { grid-column: 1 / -1; }
.trained-lab-rule-builder input,
.trained-lab-rule-builder select {
  width: 100%;
  min-height: 42px;
  border: 1px solid rgba(222, 189, 116, .3);
  border-radius: 10px;
  padding: 8px 10px;
  background: #092d2a;
  color: #f8edcf;
}
.trained-lab-rule-builder input::placeholder { color: #829f96; }
.trained-lab-markdown-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 22px;
}
.trained-lab-markdown {
  min-width: 0;
  border-top: 1px solid rgba(226, 186, 100, .18);
  padding-top: 12px;
}
.trained-lab-markdown h4 { margin: 0; color: #f5dfaa; }
.trained-lab-markdown textarea { margin-top: 8px; min-height: 280px; }
.trained-lab-analysis .trained-lab-picker { grid-template-columns: minmax(220px, 1fr) auto; margin-top: 12px; }
.trained-lab-analysis-result { margin-top: 13px; padding: 13px; border-radius: 13px; background: rgba(2, 25, 24, .62); }
.trained-lab-analysis-result > p { color: #f3dfb1; }
.trained-lab-analysis-result > small { color: #91aaa0; }
.trained-lab-analysis-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.trained-lab-analysis-columns h4 { margin: 10px 0 5px; color: #efbd6d; }
.trained-lab-analysis-columns ul { margin: 0; padding-left: 18px; color: #bfd2ca; }
.trained-lab-analysis button:disabled { opacity: .58; cursor: wait; }
@media (max-width: 650px) {
  .trained-lab-picker { grid-template-columns: 1fr; }
  .trained-lab-metrics { grid-template-columns: repeat(2, 1fr); }
  .trained-lab-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trained-lab-markdown-grid,
  .trained-lab-rule-builder { grid-template-columns: 1fr; }
  .trained-lab-rule-builder .trained-lab-field:last-child { grid-column: auto; }
  .trained-lab-analysis .trained-lab-picker,
  .trained-lab-analysis-columns { grid-template-columns: 1fr; }
  .trained-lab-identity-layout { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
  .trained-lab-content { padding-inline: 9px; }
  .trained-lab-panel { padding: 13px; }
  .trained-lab-hero { grid-template-columns: 1fr; }
  .trained-lab-version { text-align: left; }
  .trained-lab-scoreboard { grid-template-columns: 1fr; }
  .trained-lab-vs { text-align: center; }
  .trained-lab-actions { flex-direction: column; }
  .trained-lab-menu-return button { width: 100%; }
}
