:root {
  color-scheme: light;
  --console-bg: #f4f6f3;
  --console-surface: #ffffff;
  --console-ink: #17201d;
  --console-muted: #68736e;
  --console-line: #dce2de;
  --console-line-strong: #c8d0cb;
  --console-accent: #19724f;
  --console-accent-soft: #e3f1e9;
  --console-coral: #c4513c;
  --console-coral-soft: #f9e9e5;
  --console-amber: #9a6a12;
  --console-amber-soft: #f6efd9;
  --console-shadow: 0 18px 48px rgba(36, 54, 46, .09);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100dvh;
  background: var(--console-bg);
  color: var(--console-ink);
  font-family: "IBM Plex Sans", "Noto Sans SC", "Microsoft YaHei", sans-serif;
  letter-spacing: 0;
}
button, input, select { font: inherit; letter-spacing: 0; }
button { color: inherit; }
[hidden] { display: none !important; }

.console-skip {
  position: fixed;
  top: .75rem;
  left: .75rem;
  z-index: 30;
  padding: .65rem .9rem;
  background: var(--console-ink);
  color: #fff;
  transform: translateY(-180%);
  transition: transform .2s ease;
}
.console-skip:focus { transform: translateY(0); }

.console-shell { min-height: 100dvh; }
.console-topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid var(--console-line);
  backdrop-filter: blur(16px);
}
.console-topbar-inner {
  width: min(100% - 2rem, 1360px);
  min-height: 4.75rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(13rem, 1fr) auto minmax(10rem, 1fr);
  align-items: center;
  gap: 1.5rem;
}
.console-brand {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  color: inherit;
  text-decoration: none;
  width: fit-content;
}
.console-brand > span:last-child { display: grid; gap: .12rem; }
.console-brand strong { font-size: 1rem; font-weight: 700; white-space: nowrap; }
.console-brand small { color: var(--console-muted); font: 600 .64rem/1.2 ui-monospace, monospace; }
.console-brand-mark {
  width: 2.15rem;
  height: 2.15rem;
  display: grid;
  grid-template-columns: repeat(3, .28rem);
  align-items: end;
  justify-content: center;
  gap: .18rem;
  padding-bottom: .5rem;
  background: var(--console-ink);
  border-radius: 6px;
}
.console-brand-mark i { display: block; width: .28rem; background: #9ae1bb; border-radius: 1px; }
.console-brand-mark i:nth-child(1) { height: .52rem; }
.console-brand-mark i:nth-child(2) { height: 1rem; }
.console-brand-mark i:nth-child(3) { height: .75rem; }
.console-brand-mark.is-large { width: 3rem; height: 3rem; grid-template-columns: repeat(3, .36rem); padding-bottom: .68rem; }

.console-nav { display: flex; align-items: stretch; height: 4.75rem; }
.console-nav button {
  position: relative;
  min-width: 5.5rem;
  padding: 0 .9rem;
  border: 0;
  background: transparent;
  color: var(--console-muted);
  font-size: .9rem;
  font-weight: 600;
  cursor: pointer;
  transition: color .2s ease, background .2s ease;
}
.console-nav button::after {
  content: "";
  position: absolute;
  right: .9rem;
  bottom: 0;
  left: .9rem;
  height: 3px;
  background: var(--console-accent);
  opacity: 0;
  transform: scaleX(.35);
  transition: opacity .2s ease, transform .2s ease;
}
.console-nav button:hover { color: var(--console-ink); background: #f7f9f7; }
.console-nav button.is-active { color: var(--console-accent); }
.console-nav button.is-active::after { opacity: 1; transform: scaleX(1); }
.console-nav button:active, .console-button:active, .console-icon-button:active { transform: translateY(1px); }

.console-service-state {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: .5rem;
  color: var(--console-muted);
  font-size: .78rem;
}
.console-service-state span { width: .52rem; height: .52rem; background: #9aa39f; border-radius: 50%; }
.console-service-state span.is-ready { background: var(--console-accent); box-shadow: 0 0 0 4px var(--console-accent-soft); }

.console-workspace { width: min(100% - 2rem, 1240px); margin: 0 auto; padding: 3rem 0 5rem; outline: 0; }
.console-view { animation: console-view-in .24s ease; }
.console-view.is-active { display: block; }
@keyframes console-view-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }

.console-game-navigation {
  display: flex;
  gap: .35rem;
  margin: -1rem 0 1rem;
  padding-bottom: .7rem;
  overflow-x: auto;
  border-bottom: 1px solid var(--console-line);
}
.console-game-navigation button {
  flex: 0 0 auto;
  min-height: 2.35rem;
  padding: .45rem .75rem;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: var(--console-muted);
  font-size: .8rem;
  font-weight: 650;
  cursor: pointer;
}
.console-game-navigation button:hover { color: var(--console-ink); background: #eef2ef; }
.console-game-navigation button.is-active { border-color: #9fc5b2; color: var(--console-accent); background: var(--console-accent-soft); }
.console-game-status { margin: .75rem 0; color: var(--console-muted); font-size: .82rem; }
.console-game-host { min-height: 24rem; }

.console-page-heading {
  min-height: 6rem;
  margin-bottom: 2rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
}
.console-page-heading > div:first-child { max-width: 46rem; }
.console-page-heading span, .console-section header span, .console-login-panel > span:not(.console-brand-mark) {
  display: block;
  margin-bottom: .4rem;
  color: var(--console-accent);
  font-size: .72rem;
  font-weight: 700;
}
.console-page-heading h1 { margin: 0; font-size: clamp(2rem, 4vw, 3.1rem); line-height: 1.05; font-weight: 700; letter-spacing: 0; }
.console-page-heading p { margin: .8rem 0 0; color: var(--console-muted); font-size: 1rem; line-height: 1.7; text-wrap: pretty; }
.console-heading-actions { display: flex; gap: .6rem; }

.console-button, .console-icon-button, .console-text-button {
  border: 1px solid var(--console-line-strong);
  background: var(--console-surface);
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, color .2s ease, transform .15s ease;
}
.console-button { min-height: 2.6rem; padding: .6rem 1rem; border-radius: 5px; font-size: .86rem; font-weight: 650; }
.console-button:hover, .console-icon-button:hover { border-color: #98aaa0; background: #f8faf8; }
.console-button.is-primary { background: var(--console-accent); border-color: var(--console-accent); color: #fff; }
.console-button.is-primary:hover { background: #125f41; }
.console-button.is-danger { color: var(--console-coral); border-color: #e5b9b0; }
.console-icon-button { width: 2.65rem; height: 2.65rem; padding: 0; border-radius: 5px; font-size: 1.25rem; line-height: 1; }
.console-text-button { padding: .35rem 0; border: 0; border-bottom: 1px solid var(--console-line-strong); background: transparent; color: var(--console-accent); font-size: .82rem; }
.console-test-api { align-self: start; }
.console-test-api-actions { min-height: 4.5rem; margin-top: 0; padding: .8rem 1.25rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--console-line); }
.console-test-api-actions p { margin: 0; color: var(--console-muted); font-size: .78rem; line-height: 1.55; }
button:focus-visible, input:focus-visible, select:focus-visible, a:focus-visible { outline: 3px solid rgba(25, 114, 79, .24); outline-offset: 2px; }

.console-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--console-line-strong);
  border-bottom: 1px solid var(--console-line-strong);
  background: var(--console-surface);
}
.console-metrics article { min-width: 0; padding: 1.3rem 1.5rem 1.45rem; border-right: 1px solid var(--console-line); }
.console-metrics article:last-child { border-right: 0; }
.console-metrics span { display: block; color: var(--console-muted); font-size: .78rem; }
.console-metrics strong { display: block; margin-top: .6rem; font-size: 1.65rem; font-weight: 650; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.console-metrics small { display: block; margin-top: .35rem; color: var(--console-muted); overflow-wrap: anywhere; }

.console-overview-grid, .console-douyin-layout, .console-settings-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(18rem, .85fr); gap: 1.25rem; margin-top: 1.25rem; }
.console-profile-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1.25rem; }
.console-profile-list { margin-top: 1.25rem; }
.console-gameplay-test { margin-top: 1.25rem; }
.console-gameplay-test-main { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, .9fr); }
.console-gameplay-test-main > .console-form-meta { grid-column: 1; margin: 0; align-self: end; }
.console-gameplay-progress { grid-column: 2; grid-row: 1 / span 2; min-width: 0; border-left: 1px solid var(--console-line); }
.console-gameplay-code { min-width: 0; padding: 1rem 1.25rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .45rem .75rem; border-bottom: 1px solid var(--console-line); }
.console-gameplay-code > span { grid-column: 1 / -1; color: var(--console-muted); font-size: .72rem; font-weight: 600; }
.console-gameplay-code code { min-width: 0; padding: .65rem .75rem; overflow-wrap: anywhere; background: #f5f8f6; border: 1px solid var(--console-line); border-radius: 4px; color: var(--console-ink); }
.console-gameplay-status { min-height: 3.2rem; margin: 0; padding: .85rem 1.25rem; color: var(--console-muted); font-size: .76rem; line-height: 1.55; overflow-wrap: anywhere; border-bottom: 1px solid var(--console-line); }
.console-gameplay-stages { margin: 0; padding: 0; list-style: none; }
.console-gameplay-stages li { min-height: 3rem; padding: .65rem 1.25rem; display: grid; grid-template-columns: minmax(10rem, .8fr) minmax(0, 1.2fr); align-items: center; gap: 1rem; border-bottom: 1px solid var(--console-line); }
.console-gameplay-stages li:last-child { border-bottom: 0; }
.console-gameplay-stages strong { font-size: .78rem; }
.console-gameplay-stages span { color: var(--console-muted); font-size: .72rem; overflow-wrap: anywhere; }
.console-gameplay-stages li::before { content: ""; width: .48rem; height: .48rem; grid-column: 1; grid-row: 1; align-self: center; border-radius: 50%; background: #a8b0ac; transform: translateX(-.75rem); }
.console-gameplay-stages li strong { grid-column: 1; grid-row: 1; }
.console-gameplay-stages li span { grid-column: 2; grid-row: 1; }
.console-gameplay-stages li.is-passed::before { background: var(--console-accent); }
.console-gameplay-stages li.is-failed::before { background: var(--console-coral); }
.console-gameplay-actions { justify-content: space-between !important; }
.console-section {
  min-width: 0;
  background: var(--console-surface);
  border: 1px solid var(--console-line);
  border-radius: 7px;
}
.console-section > header { min-height: 4.5rem; padding: 1.05rem 1.25rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--console-line); }
.console-section header span { margin-bottom: .22rem; }
.console-section h2 { margin: 0; font-size: 1rem; font-weight: 700; }
.console-section header > small { color: var(--console-muted); }
.console-activity-list { min-height: 17.5rem; }
.console-activity-item { display: grid; grid-template-columns: 7.2rem minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: 1rem 1.25rem; border-bottom: 1px solid var(--console-line); }
.console-activity-item:last-child { border-bottom: 0; }
.console-activity-item time { color: var(--console-muted); font: .74rem/1.4 ui-monospace, monospace; font-variant-numeric: tabular-nums; }
.console-activity-item div { min-width: 0; }
.console-activity-item strong, .console-activity-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.console-activity-item strong { font-size: .88rem; }
.console-activity-item small { margin-top: .25rem; color: var(--console-muted); }
.console-empty { margin: 0; padding: 2rem 1.25rem; color: var(--console-muted); }
.console-status-section dl, .console-security-list { margin: 0; }
.console-status-section dl div, .console-security-list div { padding: 1rem 1.25rem; border-bottom: 1px solid var(--console-line); }
.console-status-section dl div:last-child, .console-security-list div:last-child { border-bottom: 0; }
.console-status-section dt, .console-security-list dt { color: var(--console-muted); font-size: .75rem; }
.console-status-section dd, .console-security-list dd { margin: .35rem 0 0; font-size: .88rem; font-weight: 600; overflow-wrap: anywhere; }
code { font: .78rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; color: #315248; }

.console-connection-main { min-height: 9rem; padding: 1.5rem 1.25rem; display: flex; align-items: center; gap: 1.25rem; }
.console-connection-main strong { font-size: 1.15rem; }
.console-connection-main p { margin: .5rem 0 0; max-width: 38rem; color: var(--console-muted); line-height: 1.65; }
.console-signal { flex: 0 0 auto; width: 3.5rem; height: 3.5rem; display: flex; align-items: end; justify-content: center; gap: .25rem; padding-bottom: .75rem; background: var(--console-accent-soft); border-radius: 7px; }
.console-signal i { width: .34rem; background: var(--console-accent); border-radius: 1px; }
.console-signal i:nth-child(1) { height: .65rem; }.console-signal i:nth-child(2) { height: 1.25rem; }.console-signal i:nth-child(3) { height: 1.8rem; }
.console-facts { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--console-line); }
.console-facts div { padding: 1rem 1.25rem; border-right: 1px solid var(--console-line); border-bottom: 1px solid var(--console-line); }
.console-facts div:nth-child(2n) { border-right: 0; }
.console-facts div:nth-last-child(-n+2) { border-bottom: 0; }
.console-facts dt { color: var(--console-muted); font-size: .72rem; }
.console-facts dd { margin: .35rem 0 0; font-size: .86rem; font-weight: 600; overflow-wrap: anywhere; }
.console-badge { display: inline-flex !important; align-items: center; width: fit-content; margin: 0 !important; padding: .3rem .5rem; border: 1px solid var(--console-line-strong); border-radius: 4px; color: var(--console-muted) !important; font-size: .7rem !important; }
.console-badge.is-ready { background: var(--console-accent-soft); border-color: #b4d8c6; color: var(--console-accent) !important; }
.console-badge.is-error { background: var(--console-coral-soft); border-color: #edc3bb; color: var(--console-coral) !important; }
.console-event-types { display: grid; }
.console-event-types > div { min-height: 5.3rem; display: grid; grid-template-columns: 1.2rem minmax(0, 1fr); align-content: center; column-gap: .75rem; padding: .8rem 1.25rem; border-bottom: 1px solid var(--console-line); }
.console-event-types > div:last-child { border-bottom: 0; }
.console-event-types strong { font-size: .88rem; }
.console-event-types small { grid-column: 2; margin-top: .22rem; color: var(--console-muted); }
.type-dot { grid-row: 1 / span 2; align-self: center; width: .65rem; height: .65rem; margin: 0 !important; border-radius: 2px; }
.type-dot.is-comment { background: var(--console-accent); }.type-dot.is-like { background: #517ba8; }.type-dot.is-gift { background: var(--console-coral); }
.console-callbacks { margin-top: 1.25rem; }

/* Diagnostic task tables contain long IDs, logids and platform errors. Keep
   them readable at desktop widths instead of letting table-layout:fixed
   squeeze each column into a vertically wrapped strip. Both sections span
   the workspace; narrower viewports can scroll horizontally. */
.console-data-tasks { grid-column: 1 / -1; }
.console-data-task-table { min-width: 98rem; }
.console-data-task-table col.is-room { width: 13rem; }
.console-data-task-table col.is-session { width: 8rem; }
.console-data-task-table col.is-task { width: 7rem; }
.console-data-task-table col.is-status { width: 11rem; }
.console-data-task-table col.is-task-id { width: 13rem; }
.console-data-task-table col.is-logid { width: 19rem; }
.console-data-task-table col.is-callback { width: 8rem; }
.console-data-task-table col.is-error { width: 19rem; }
.console-task-history-table { min-width: 78rem; }
.console-task-history-table th:nth-child(1) { width: 10rem; }
.console-task-history-table th:nth-child(2) { width: 8rem; }
.console-task-history-table th:nth-child(3) { width: 16rem; }
.console-task-history-table th:nth-child(4) { width: 8rem; }
.console-task-history-table th:nth-child(5) { width: 10rem; }
.console-task-history-table th:nth-child(6) { width: 24rem; }
.console-task-history-table th:nth-child(7) { width: 8rem; }
.console-task-history-table th:nth-child(8) { width: 24rem; }
.console-data-task-table td, .console-task-history-table td { vertical-align: top; }
.console-data-task-table th,
.console-data-task-table td { min-width: 0; }
.console-data-task-table td:nth-child(1),
.console-data-task-table td:nth-child(2),
.console-data-task-table td:nth-child(3),
.console-data-task-table td:nth-child(7) { white-space: nowrap; }
.console-data-task-table td:nth-child(5),
.console-data-task-table td:nth-child(6),
.console-task-history-table td:nth-child(5),
.console-task-history-table td:nth-child(6) { word-break: break-all; }

.console-filters { display: grid; grid-template-columns: repeat(3, minmax(8.5rem, .7fr)) minmax(14rem, 1.4fr); gap: .75rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--console-line); }
.console-filters label, .console-form-grid label, .console-login-panel label { display: grid; gap: .4rem; min-width: 0; }
.console-filters label > span, .console-form-grid label > span, .console-login-panel label > span { color: var(--console-muted); font-size: .72rem; font-weight: 600; }
input, select { width: 100%; min-height: 2.55rem; padding: .55rem .7rem; border: 1px solid var(--console-line-strong); border-radius: 4px; background: #fff; color: var(--console-ink); }
input::placeholder { color: #9ba49f; }
.console-log-meta { min-height: 2.8rem; display: flex; align-items: center; justify-content: flex-start; gap: 1rem; padding: .6rem 1.25rem; color: var(--console-muted); font-size: .74rem; border-bottom: 1px solid var(--console-line); }
.console-live-indicator { display: inline-flex; align-items: center; gap: .45rem; }
.console-live-indicator i { width: .45rem; height: .45rem; border-radius: 50%; background: var(--console-accent); }
.console-live-indicator.is-paused i { background: #9aa39f; }
#eventLogStatus { margin-left: auto; text-align: right; }
#eventJumpLatest { flex: 0 0 auto; white-space: nowrap; }
.console-table-wrap { width: 100%; overflow-x: auto; }
.console-gift-catalog { grid-column: 1 / -1; }
.console-gift-table { min-width: 64rem; }
.console-gift-table th:nth-child(1) { width: 9rem; }
.console-gift-table th:nth-child(2) { width: 7rem; }
.console-gift-table th:nth-child(3) { width: 10rem; }
.console-gift-table th:nth-child(5) { width: 12rem; }
.console-gift-table td:first-child strong, .console-gift-table td:first-child small { display: block; }
.console-gift-table td:first-child small { margin-top: .25rem; color: var(--console-muted); }
.console-gift-id { overflow-wrap: anywhere; min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .65rem; }
.console-gift-id code { min-width: 0; white-space: normal; word-break: break-all; }
.console-gift-id .console-text-button { white-space: nowrap; }
table { width: 100%; border-collapse: collapse; table-layout: fixed; }
th, td { padding: .82rem 1rem; border-bottom: 1px solid var(--console-line); text-align: left; vertical-align: middle; font-size: .8rem; overflow-wrap: anywhere; }
th { background: #f8faf8; color: var(--console-muted); font-size: .7rem; font-weight: 700; }
tbody tr:last-child td { border-bottom: 0; }
.console-event-table th:nth-child(1) { width: 10.5rem; }.console-event-table th:nth-child(2) { width: 12rem; }.console-event-table th:nth-child(4) { width: 7rem; }.console-event-table th:nth-child(5) { width: 12rem; }
.console-event-row { cursor: pointer; transition: background .18s ease; }
.console-event-row:hover, .console-event-row:focus { background: #f4f8f5; outline: 0; }
.console-event-row.is-selected { background: var(--console-accent-soft); }
.console-event-row strong, .console-event-row small { display: block; }
.console-event-row small { margin-top: .2rem; color: var(--console-muted); }
.console-event-summary { max-width: 30rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.console-request-id { font: .72rem/1.4 ui-monospace, monospace; color: var(--console-muted); }
.console-empty-cell { height: 8rem; color: var(--console-muted); text-align: center; }
.console-status { display: inline-block; padding: .25rem .45rem; border-radius: 3px; background: #edf0ee; color: #59645f; font-size: .7rem; font-weight: 700; }
.console-status.is-good { background: var(--console-accent-soft); color: var(--console-accent); }
.console-status.is-bad { background: var(--console-coral-soft); color: var(--console-coral); }
.console-status.is-warn { background: var(--console-amber-soft); color: var(--console-amber); }
.console-detail { position: fixed; top: 5.35rem; right: 1rem; bottom: 1rem; z-index: 20; width: min(34rem, calc(100vw - 2rem)); margin: 0; padding: 1.15rem 1.25rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-content: start; gap: 1rem; overflow-y: auto; overscroll-behavior: contain; visibility: hidden; opacity: 0; transform: translateX(calc(100% + 2rem)); pointer-events: none; background: var(--console-ink); border-radius: 7px; color: #f5f8f6; box-shadow: 0 1.5rem 4rem rgba(23, 32, 29, .28); transition: transform .2s ease, opacity .2s ease, visibility .2s; }
.console-detail.is-open { visibility: visible; opacity: 1; transform: translateX(0); pointer-events: auto; }
.console-detail > div > span { color: #9ae1bb; font-size: .72rem; font-weight: 700; }
.console-detail h2 { margin: .3rem 0 0; font-size: 1rem; }
.console-detail .console-icon-button { background: transparent; border-color: #52615b; color: #fff; }
.console-detail dl { grid-column: 1 / -1; margin: .25rem 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #3d4b46; }
.console-detail dl div { min-width: 0; padding: .85rem 1rem .85rem 0; border-bottom: 1px solid #3d4b46; }
.console-detail dt { color: #9facA7; font-size: .7rem; }
.console-detail dd { margin: .35rem 0 0; font-size: .8rem; overflow-wrap: anywhere; white-space: pre-wrap; }
.console-raw-request { grid-column: 1 / -1; display: grid; gap: .85rem; padding-top: 1rem; border-top: 1px solid #52615b; }
.console-ai-trace { grid-column: 1 / -1; display: grid; gap: .85rem; padding-top: 1rem; border-top: 1px solid #52615b; }
.console-raw-request[hidden] { display: none; }
.console-ai-trace[hidden] { display: none; }
.console-raw-request > header, .console-ai-trace > header, .console-raw-block > header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.console-raw-request h3, .console-ai-trace h3 { margin: .25rem 0 0; font-size: .9rem; overflow-wrap: anywhere; }
.console-raw-request dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; margin: 0; }
.console-raw-block { min-width: 0; }
.console-raw-block pre { max-height: 18rem; margin: .5rem 0 0; padding: .8rem; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; background: #17201d; border: 1px solid #52615b; border-radius: 6px; font: .78rem/1.55 ui-monospace, SFMono-Regular, Consolas, monospace; }

.console-history-footer { min-height: 4.2rem; padding: .8rem 1.25rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--console-line); color: var(--console-muted); font-size: .76rem; }
.console-service-tabs { margin-bottom: 1.25rem; display: flex; gap: .35rem; padding-bottom: .55rem; overflow-x: auto; border-bottom: 1px solid var(--console-line-strong); }
.console-service-tabs button { flex: 0 0 auto; min-height: 2.55rem; padding: .55rem .9rem; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--console-muted); font-weight: 650; cursor: pointer; }
.console-service-tabs button.is-active { border-color: #b4d8c6; background: var(--console-accent-soft); color: var(--console-accent); }
.console-subheading { min-height: 4.5rem; margin-bottom: 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.console-subheading span { color: var(--console-accent); font-size: .7rem; font-weight: 700; }
.console-subheading h2 { margin: .25rem 0 0; font-size: 1.15rem; }
.console-subheading p { margin: .45rem 0 0; color: var(--console-muted); font-size: .86rem; line-height: 1.55; }
.console-inline-form { margin-bottom: 1.25rem; padding: .8rem 1.25rem; display: grid; grid-template-columns: minmax(12rem, 18rem) minmax(0, 1fr) auto; align-items: end; gap: 1rem; }
.console-load-balancing-form { margin-bottom: 1rem; }
.console-load-balancing-form .console-form-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; }
.console-form-inline-meta { align-self: center; color: var(--console-muted); font-size: .76rem; }
.console-inline-form label { display: grid; gap: .35rem; color: var(--console-muted); font-size: .72rem; font-weight: 600; }
.console-inline-form > span { align-self: center; color: var(--console-muted); font-size: .76rem; }
.console-test-sessions .console-inline-form { grid-template-columns: minmax(0, 1fr) max-content; }
.console-test-sessions .console-inline-form .console-button { white-space: nowrap; }
.console-test-code { min-width: 0; display: grid; gap: .75rem; padding: 0 1.25rem 1rem; }
.console-test-code-row { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .75rem; }
.console-test-code-row > div { min-width: 0; display: grid; gap: .3rem; }
.console-test-code-row span { color: var(--console-muted); font-size: .7rem; font-weight: 650; }
.console-test-code-row code { overflow-wrap: anywhere; }
.console-test-code-row .console-button { white-space: nowrap; }
.console-test-sessions > section > header { min-height: 4.5rem; padding: 1rem 1.25rem; display: flex; align-items: center; border-top: 1px solid var(--console-line); }
.console-test-sessions > section > header h3 { margin: 0; font-size: 1rem; font-weight: 700; }
.console-batch-list, .console-service-section { margin-top: 1.25rem; }
.console-batch-card, .console-voice-card { min-width: 0; padding: .9rem 1.25rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--console-line); }
.console-batch-card:last-child, .console-voice-card:last-child { border-bottom: 0; }
.console-batch-card > div:first-child, .console-voice-card > div:first-child { min-width: 0; }
.console-batch-card strong, .console-batch-card small, .console-voice-card strong, .console-voice-card small { display: block; overflow-wrap: anywhere; }
.console-batch-card small, .console-voice-card small { margin-top: .3rem; color: var(--console-muted); }
.console-compact-actions { display: flex; align-items: center; justify-content: flex-end; gap: .5rem; flex-wrap: wrap; }
.console-compact-actions select { width: auto; min-width: 10rem; }
.console-language-filter { display: inline-flex; align-items: center; }
.console-language-filter .console-button { min-height: 2.35rem; border-radius: 0; }
.console-language-filter .console-button:first-child { border-radius: 5px 0 0 5px; }
.console-language-filter .console-button:last-child { margin-left: -1px; border-radius: 0 5px 5px 0; }
.console-language-filter .console-button.is-active { position: relative; border-color: #b4d8c6; background: var(--console-accent-soft); color: var(--console-accent); }
.console-voice-preview-field { margin: 1rem 1.25rem 0; display: grid; gap: .45rem; color: var(--console-muted); font-size: .72rem; font-weight: 600; }
.console-voice-preview-field textarea { width: 100%; min-height: 4.5rem; padding: .65rem .75rem; resize: vertical; border: 1px solid var(--console-line-strong); border-radius: 4px; background: #fff; color: var(--console-ink); font: inherit; line-height: 1.5; letter-spacing: 0; }
.console-voice-preview-field textarea:focus { border-color: var(--console-accent); outline: 2px solid var(--console-accent-soft); outline-offset: 1px; }
.console-service-section > audio { width: calc(100% - 2.5rem); height: 2.6rem; margin: 1rem 1.25rem; }
.console-script-table { min-width: 58rem; }
.console-script-table th:nth-child(1) { width: 11rem; }
.console-script-table th:nth-child(2) { width: 25rem; }
.console-script-table th:nth-child(3) { width: 12rem; }
.console-script-table th:nth-child(4) { width: 7rem; }
.console-script-table th:nth-child(5) { width: 11rem; }
.console-script-table textarea { width: 100%; min-height: 3.5rem; resize: vertical; border: 1px solid var(--console-line-strong); border-radius: 4px; padding: .55rem .65rem; font: inherit; }

.console-ai-layout { display: grid; grid-template-columns: minmax(17rem, .7fr) minmax(0, 1.3fr); gap: 1.25rem; align-items: start; }
.console-resource-list { display: grid; }
.console-resource-item { min-width: 0; padding: 1rem 1.25rem; display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: .8rem; border-bottom: 1px solid var(--console-line); }
.console-resource-item:last-child { border-bottom: 0; }
.console-resource-item > div:first-child { min-width: 0; }
.console-resource-item > .console-button { justify-self: end; }
.console-resource-item strong, .console-resource-item small { display: block; overflow-wrap: anywhere; word-break: break-word; }
.console-resource-item small { margin-top: .3rem; color: var(--console-muted); line-height: 1.5; }
.console-gameplay-run-heading { display: flex; align-items: baseline; gap: .45rem; flex-wrap: wrap; }
.console-gameplay-run-heading strong { font-variant-numeric: tabular-nums; }
.console-gameplay-run-heading span { padding: .18rem .4rem; border-radius: 3px; background: var(--console-accent-soft); color: var(--console-accent); font-size: .68rem; font-weight: 700; white-space: nowrap; }
.console-gameplay-run-code { min-width: 0; margin-top: .75rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .4rem .75rem; }
.console-gameplay-run-code span { grid-column: 1 / -1; color: var(--console-muted); font-size: .7rem; font-weight: 650; }
.console-gameplay-run-code code { overflow-wrap: anywhere; }
.console-gameplay-run-code .console-button { white-space: nowrap; }
.console-resource-button { min-height: 5.1rem; padding: 1rem 1.25rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; border: 0; border-bottom: 1px solid var(--console-line); background: transparent; text-align: left; cursor: pointer; }
.console-resource-button:last-child { border-bottom: 0; }
.console-resource-button:hover { background: #f7faf8; }
.console-resource-button.is-selected { background: var(--console-accent-soft); box-shadow: inset 3px 0 var(--console-accent); }
.console-resource-button strong, .console-resource-button small { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.console-resource-button small { grid-column: 1 / -1; color: var(--console-muted); }
.console-resource-button em { color: var(--console-accent); font-size: .7rem; font-style: normal; font-weight: 700; }
.console-resource-button.is-paused em { color: var(--console-muted); }
.console-resource-button.is-error em { color: var(--console-coral); }
.console-ai-traffic { grid-column: 1 / -1; display: grid; grid-template-columns: auto minmax(4rem, 1fr); align-items: center; gap: .65rem; color: var(--console-ink); font-size: .72rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.console-ai-traffic > i { height: .42rem; overflow: hidden; border-radius: 3px; background: #dfe8e3; }
.console-ai-traffic > i > b { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--console-accent); transition: width .25s ease; }
.console-form-grid { padding: 1.25rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.console-form-grid .is-wide { grid-column: 1 / -1; }
.console-input-action { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.console-input-action input { border-radius: 4px 0 0 4px; }
.console-input-action button { padding: 0 .8rem; border: 1px solid var(--console-line-strong); border-left: 0; border-radius: 0 4px 4px 0; background: #f7f9f7; cursor: pointer; }
.console-check { display: flex !important; grid-template-columns: none; flex-direction: row; align-items: center; gap: .6rem !important; }
.console-check input { width: 1rem; min-height: 1rem; margin: 0; accent-color: var(--console-accent); }
.console-form-meta { margin: 0; padding: .8rem 1.25rem; border-top: 1px solid var(--console-line); color: var(--console-muted); font-size: .75rem; }
.console-form footer { min-height: 4.2rem; padding: .8rem 1.25rem; display: flex; justify-content: flex-end; align-items: center; gap: .6rem; border-top: 1px solid var(--console-line); }

.console-login-overlay { position: fixed; inset: 0; z-index: 25; display: grid; place-items: center; padding: 1rem; background: rgba(23, 32, 29, .78); backdrop-filter: blur(8px); }
.console-login-panel { width: min(100%, 25rem); padding: 2rem; display: grid; gap: 1rem; background: #fff; border-radius: 7px; box-shadow: var(--console-shadow); }
.console-login-panel h2 { margin: 0; font-size: 1.45rem; }
.console-login-panel > p { min-height: 1.2rem; margin: 0; color: var(--console-coral); font-size: .8rem; }
.console-toast-region { position: fixed; right: 1rem; bottom: 1rem; z-index: 30; display: grid; gap: .5rem; }
.console-toast { max-width: min(24rem, calc(100vw - 2rem)); padding: .8rem 1rem; background: var(--console-ink); color: #fff; border-radius: 5px; box-shadow: var(--console-shadow); font-size: .82rem; animation: console-view-in .2s ease both; }
.console-toast.is-error { background: #813627; }

@media (max-width: 960px) {
  .console-topbar-inner { grid-template-columns: auto 1fr; grid-template-rows: 4.2rem auto; gap: 0 1rem; padding-bottom: .45rem; }
  .console-brand { grid-column: 1; }
  .console-service-state { grid-column: 2; justify-self: end; }
  .console-nav { grid-column: 1 / -1; grid-row: 2; height: 2.9rem; justify-content: center; }
  .console-nav button { min-width: 5rem; }
  .console-workspace { padding-top: 2rem; }
  .console-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .console-metrics article:nth-child(2) { border-right: 0; }
  .console-metrics article:nth-child(-n+2) { border-bottom: 1px solid var(--console-line); }
  .console-overview-grid, .console-douyin-layout, .console-settings-layout, .console-ai-layout, .console-profile-layout { grid-template-columns: 1fr; }
  .console-gameplay-test-main { grid-template-columns: 1fr; }
  .console-gameplay-test-main > .console-form-meta { grid-column: 1; }
  .console-gameplay-progress { grid-column: 1; grid-row: auto; border-top: 1px solid var(--console-line); border-left: 0; }
  .console-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .console-detail { top: 7.8rem; }
}

@media (max-width: 720px) {
  .console-topbar-inner { width: 100%; padding-right: 1rem; padding-left: 1rem; }
  .console-brand strong { font-size: .9rem; }
  .console-brand small, .console-service-state strong { display: none; }
  .console-nav { justify-content: flex-start; width: calc(100% + 2rem); margin-left: -1rem; padding: 0 1rem; overflow-x: auto; scrollbar-width: none; }
  .console-nav::-webkit-scrollbar { display: none; }
  .console-nav button { flex: 0 0 auto; min-width: auto; padding: 0 .85rem; white-space: nowrap; }
  .console-workspace { width: min(100% - 1.25rem, 1240px); padding: 1.6rem 0 4rem; }
  .console-page-heading { min-height: 0; margin-bottom: 1.35rem; align-items: flex-start; }
  .console-page-heading h1 { font-size: 2rem; }
  .console-page-heading p { font-size: .9rem; }
  .console-metrics { grid-template-columns: 1fr; }
  .console-metrics article { border-right: 0; border-bottom: 1px solid var(--console-line); }
  .console-metrics article:nth-child(-n+3) { border-bottom: 1px solid var(--console-line); }
  .console-metrics article:last-child { border-bottom: 0; }
  .console-activity-item { grid-template-columns: 1fr auto; gap: .35rem .75rem; }
  .console-activity-item time { grid-column: 1 / -1; }
  .console-facts { grid-template-columns: 1fr; }
  .console-facts div { border-right: 0; }
  .console-facts div:nth-last-child(2) { border-bottom: 1px solid var(--console-line); }
  .console-filters, .console-form-grid { grid-template-columns: 1fr; }
  .console-filters .console-search, .console-form-grid .is-wide { grid-column: 1; }
  .console-event-table { min-width: 49rem; }
  .console-callbacks table { min-width: 56rem; }
  .console-detail { right: .625rem; bottom: .625rem; width: calc(100vw - 1.25rem); }
  .console-detail dl { grid-template-columns: 1fr; }
  .console-detail dl div { padding-right: 0; }
  .console-raw-request dl { grid-template-columns: 1fr; }
  .console-test-api-actions { align-items: stretch; flex-direction: column; }
  .console-history-footer, .console-subheading { align-items: stretch; flex-direction: column; }
  .console-inline-form { grid-template-columns: 1fr; }
  .console-load-balancing-form .console-form-grid { grid-template-columns: 1fr; }
  .console-test-sessions .console-inline-form { grid-template-columns: 1fr; }
  .console-test-code-row { grid-template-columns: 1fr; }
  .console-test-code-row .console-button { justify-self: start; }
  .console-compact-actions { justify-content: flex-start; }
  .console-compact-actions select { width: 100%; }
  .console-language-filter { width: 100%; }
  .console-language-filter .console-button { flex: 1 1 50%; }
  .console-form footer { flex-wrap: wrap; }
  .console-form footer .console-button { flex: 1 1 auto; }
  .console-gameplay-stages li { grid-template-columns: 1fr; gap: .25rem; padding-left: 1.5rem; }
  .console-gameplay-stages li strong, .console-gameplay-stages li span { grid-column: 1; }
  .console-gameplay-stages li strong { grid-row: 1; }
  .console-gameplay-stages li span { grid-row: 2; }
  .console-gameplay-stages li::before { grid-column: 1; grid-row: 1; transform: translateX(-.75rem); }
  .console-login-panel { padding: 1.4rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
