@font-face {
  font-family: 'Racing';
  src: url('./Font-Bold-fixedpitch.ttf') format('truetype');
  font-weight: 700 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --bg: #0a0d13;
  --bg2: #0f141d;
  --panel: rgba(17, 22, 31, 0.92);
  --panel-strong: rgba(11, 15, 22, 0.97);
  --panel-soft: rgba(22, 28, 39, 0.92);
  --line: rgba(233, 199, 86, 0.18);
  --line-strong: rgba(233, 199, 86, 0.45);
  --champagne: #e9c756;
  --champagne-2: #f3d983;
  --text: #f5f7fb;
  --muted: #9aa7ba;
  --danger: #d45151;
  --ok: #3dd08c;
  --shadow: 0 20px 55px rgba(0,0,0,0.35);
}

* { box-sizing: border-box; }
html, body {
  margin: 0;
  min-height: 100%;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  background:
    radial-gradient(circle at top right, rgba(233, 199, 86, 0.12), transparent 28%),
    radial-gradient(circle at top left, rgba(41, 96, 168, 0.18), transparent 22%),
    linear-gradient(180deg, #091018, #0b0f16 48%, #090d13 100%);
  color: var(--text);
}
button, input, select, textarea { font: inherit; }
button {
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 12px;
  background: linear-gradient(180deg, #202836, #131925);
  color: var(--text);
  padding: 10px 14px;
  cursor: pointer;
  transition: transform .15s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
button:hover {
  border-color: var(--line-strong);
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
}
button:active { transform: translateY(0); }
button.danger {
  background: linear-gradient(180deg, #823131, #4f1d1d);
  border-color: rgba(255, 110, 110, 0.4);
}
button.accentBtn {
  background: linear-gradient(180deg, #f3d983, #d3aa43);
  color: #0d1117;
  border-color: #f3d983;
  font-weight: 800;
}
button.subtleBtn {
  background: #171d28;
}
input, select {
  width: 100%;
  background: rgba(12, 16, 24, 0.96);
  color: var(--text);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 12px;
  padding: 10px 12px;
  outline: none;
}
input:focus, select:focus {
  border-color: var(--line-strong);
  box-shadow: 0 0 0 3px rgba(233, 199, 86, 0.12);
}
input[type="range"] {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
input[type="range"]::-webkit-slider-runnable-track {
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(233, 199, 86, 0.8), rgba(87, 104, 132, 0.35));
}
input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: white;
  border: 3px solid var(--champagne);
  margin-top: -5px;
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
}
input[type="color"] { min-height: 42px; padding: 4px; }

.panel {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 22px;
  box-shadow: var(--shadow);
}
.glass {
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.appShell { min-height: 100vh; display: flex; flex-direction: column; }
.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 18px 22px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  background: linear-gradient(180deg, rgba(9,12,18,0.98), rgba(9,12,18,0.82));
  position: sticky;
  top: 0;
  z-index: 20;
}
.brandWrap { display: flex; align-items: center; gap: 16px; }
.logo {
  width: 54px; height: 54px; border-radius: 16px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, #f6dea0, #d6a13c 65%, #805318);
  color: #11151b; font-size: 28px; font-weight: 900;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.45), 0 10px 22px rgba(0,0,0,.3);
}
.title { font-size: 22px; font-weight: 900; letter-spacing: 0.01em; }
.subtitle { color: var(--muted); font-size: 13px; margin-top: 4px; max-width: 720px; }
.headerActions { display: flex; flex-wrap: wrap; gap: 10px; }

.workspace {
  flex: 1;
  display: grid;
  grid-template-columns: 330px minmax(0, 1fr) 365px;
  gap: 16px;
  padding: 16px;
  height: calc(100vh - 92px);
  overflow: hidden;
}
.leftPanel, .rightPanel { overflow: auto; min-height: 0; }
.panelBlock { padding: 18px; border-bottom: 1px solid rgba(255,255,255,0.06); }
.panelBlock:last-child { border-bottom: 0; }
.heroBlock { background: linear-gradient(180deg, rgba(24, 30, 42, 0.55), rgba(12, 16, 24, 0.24)); }
.sectionTag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 900;
  color: var(--champagne);
  margin-bottom: 8px;
}
.leftPanel h2, .blockTitle, .previewTitle {
  margin: 0 0 10px 0;
  font-size: 20px;
  font-weight: 900;
}
.sectionLead, .hint, .status, .exportStatus {
  color: var(--muted);
  line-height: 1.45;
  font-size: 13px;
}
.fileCard {
  display: block;
  background: linear-gradient(180deg, rgba(27, 34, 48, 0.85), rgba(16, 20, 29, 0.95));
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 14px;
  margin: 12px 0;
}
.fileCard span { display: block; color: var(--champagne-2); font-weight: 700; margin-bottom: 10px; }
.statusCard {
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(233, 199, 86, 0.15);
  background: rgba(10, 14, 20, 0.7);
  border-radius: 14px;
  color: #e2e8f0;
  line-height: 1.45;
}
.statusCard.compact { font-size: 12px; }
.row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: center; margin: 10px 0; }
.row2.compact label { color: var(--muted); font-size: 13px; }
.btnGrid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.metricsRow {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px;
}
.metricPill, .timeCapsule, .timelineRangePill {
  border-radius: 14px;
  background: rgba(9, 13, 20, 0.95);
  border: 1px solid rgba(233, 199, 86, 0.16);
  padding: 10px 12px;
}
.metricPill span, .timelineLabel { display: block; color: var(--muted); font-size: 12px; }
.metricPill strong, .timeCapsule, .timelineRangePill { font-weight: 900; color: var(--text); }
.kv { display: flex; justify-content: space-between; gap: 10px; padding-top: 8px; font-size: 13px; color: var(--muted); }
.kv strong { color: var(--text); text-align: right; }

.centerStage { min-width: 0; min-height: 0; display: grid; grid-template-rows: auto 1fr; gap: 16px; overflow: hidden; }
.stageRibbon {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 16px 18px;
}
.ribbonGroup { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.controlsGroup select { width: auto; min-width: 180px; }
.inlineLabel { color: var(--muted); font-size: 13px; }
.timeCapsule { color: var(--champagne-2); }
.previewCard {
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  overflow: hidden;
}
.previewCardHeader {
  padding: 18px 18px 12px 18px;
  display: flex; justify-content: space-between; gap: 18px; align-items: flex-start;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.previewExportTools {
  display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: flex-end;
}
.previewExportTools select { min-width: 170px; }
.previewWrap {
  position: relative;
  min-height: 0;
  display: flex; align-items: center; justify-content: center;
  margin: 0 18px 18px 18px;
  border-radius: 20px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(7,9,13,0.92), rgba(10,13,18,0.88)),
    linear-gradient(45deg, rgba(255,255,255,0.03) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.03) 50%, rgba(255,255,255,0.03) 75%, transparent 75%, transparent);
  border: 1px solid rgba(255,255,255,0.06);
}
.previewWrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.03), transparent 18%, transparent 82%, rgba(255,255,255,0.03));
  pointer-events: none;
}
.previewWrap.dropTargetActive {
  border-color: rgba(233, 199, 86, 0.9);
  box-shadow: inset 0 0 0 2px rgba(233, 199, 86, 0.25), 0 0 0 6px rgba(233, 199, 86, 0.08);
}
.dropHint {
  position: absolute;
  top: 22px;
  right: 22px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(10,14,22,0.75);
  border: 1px dashed rgba(233, 199, 86, 0.35);
  color: var(--champagne-2);
  font-weight: 700;
  pointer-events: none;
}
#previewCanvas { display:block; width:auto; max-width:100%; height:auto; max-height:100%; background:#000; box-shadow: 0 18px 55px rgba(0,0,0,.5); touch-action:none; margin:auto; }
#sourceVideo {
  position: absolute;
  left: -10000px; top: -10000px;
  width: 2px; height: 2px; opacity: 0.01; pointer-events: none;
}
.timelinePanel {
  padding: 0 18px 18px 18px;
  display: grid; gap: 12px;
}
.timelinePanelTop { padding-top: 8px; border-bottom: 1px solid rgba(255,255,255,0.06); }
.timelineTop { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.timelineLabelWrap strong { font-size: 16px; }
.timelineSliderWrap {
  padding: 6px 0 0 0;
}
.timelineActions {
  display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: end;
}
.exportInputs {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
.exportInputs label { font-size: 12px; color: var(--muted); display: grid; gap: 6px; }
.exportFoot { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.downloadLink {
  color: var(--champagne-2);
  border: 1px solid rgba(233, 199, 86, 0.35);
  border-radius: 12px;
  padding: 10px 14px;
  text-decoration: none;
}
.exportLog {
  margin: 0;
  border-radius: 16px;
  background: rgba(7,10,16,0.95);
  border: 1px solid rgba(255,255,255,0.06);
  color: #b7c4d8;
  font-size: 12px;
  line-height: 1.45;
  padding: 14px;
  min-height: 72px;
  max-height: 112px;
  overflow: auto;
  white-space: pre-wrap;
}

.widgetPalette {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.widgetPaletteCard {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  text-align: left;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(23, 30, 42, 0.95), rgba(14, 18, 27, 0.95));
  border: 1px solid rgba(255,255,255,0.08);
  padding: 12px 14px;
}
.widgetPaletteCard:hover {
  border-color: rgba(233, 199, 86, 0.35);
}
.widgetPaletteIcon {
  flex: 0 0 42px;
  width: 42px; height: 42px;
  display: grid; place-items: center;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(233, 199, 86, 0.24), rgba(233, 199, 86, 0.08));
  font-size: 20px;
}
.widgetPaletteText strong { display: block; font-size: 14px; }
.widgetPaletteText small { color: var(--muted); font-size: 12px; }

.widgetList { display: flex; flex-direction: column; gap: 10px; }
.widgetItem {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border-radius: 16px;
  padding: 12px;
  background: rgba(12, 17, 24, 0.95);
  border: 1px solid rgba(255,255,255,0.07);
  cursor: pointer;
}
.widgetItem.active {
  border-color: rgba(233,199,86,.88);
  box-shadow: inset 0 0 0 1px rgba(233,199,86,.18), 0 0 0 4px rgba(233,199,86,.06);
}
.widgetItemMain { display: flex; align-items: center; gap: 12px; min-width: 0; }
.widgetItemIcon {
  width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center;
  background: rgba(233, 199, 86, 0.15);
  font-size: 18px; flex: 0 0 36px;
}
.widgetItem strong { display: block; font-size: 14px; }
.widgetItem small { display: block; color: var(--muted); margin-top: 4px; }
.widgetItemActions { display: flex; gap: 8px; }
.widgetItemActions button { padding: 8px 10px; border-radius: 10px; }

.propertyPanel.empty { color: var(--muted); }
.propGroup {
  margin-bottom: 14px;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(10,14,21,0.75);
  border: 1px solid rgba(255,255,255,0.07);
}
.propGroupTitle {
  background: rgba(255,255,255,0.04);
  color: var(--champagne);
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.propRow {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border-top: 1px solid rgba(255,255,255,0.05);
}
.propRow label { font-size: 12px; color: var(--muted); }
.propRow input[type="checkbox"] { width: auto; justify-self: start; transform: scale(1.2); }
.ghostHidden { display: none !important; }

@media (max-width: 1480px) {
  .workspace { grid-template-columns: 300px minmax(0,1fr) 330px; }
}
@media (max-width: 1200px) {
  .workspace { grid-template-columns: 1fr; height:auto; overflow:visible; }
  .leftPanel, .rightPanel { max-height: none; }
  .previewCard { min-height: 720px; }
  .timelineActions { grid-template-columns: 1fr; }
}

.previewCardHeader { padding-bottom: 10px; }
.previewTitle { margin-bottom: 0; }
.timelineTop { align-items: center; }
.timelineSliderWrap { padding-top: 2px; }
.exportMarks { max-width: 420px; }
.dropHint { z-index: 3; }

.workspace {
  height: calc(100vh - 92px);
  overflow: hidden;
  grid-template-columns: 330px minmax(0, 1fr) 365px;
}
.centerStage {
  grid-template-rows: auto auto minmax(0, 1fr);
  overflow: hidden;
  min-height: 0;
}
.mainPreviewToolbar {
  min-height: 74px;
  padding: 12px 16px;
}
.timelineToolbar {
  display: grid;
  grid-template-columns: auto minmax(220px, 1fr) auto auto;
  gap: 14px;
  align-items: center;
  padding: 12px 16px;
  min-height: 68px;
}
.timelineReadout {
  min-width: 102px;
}
.timelineReadout strong {
  display: block;
  font-size: 19px;
  font-weight: 900;
}
.timelineMarkButtons {
  display: flex;
  gap: 8px;
}
.timelineMarkButtons button {
  padding: 9px 12px;
}
.videoFirstCard {
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
}
.videoFirstCard .previewWrap {
  margin: 14px 18px 10px 18px;
  min-height: 0;
  height: auto;
}
.videoFirstCard #previewCanvas {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  margin: auto;
}
.exportDock {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 10px 14px;
  align-items: center;
  padding: 10px 18px 14px 18px;
  border-top: 1px solid rgba(255,255,255,0.06);
  background: rgba(8, 12, 18, 0.45);
}
.exportDockLeft,
.exportDockRight {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.exportDockLeft select {
  min-width: 170px;
}
.exportDockRight {
  justify-content: flex-end;
}
.compactExportInputs {
  display: flex;
  gap: 8px;
}
.compactExportInputs label {
  width: 100px;
  font-size: 11px;
  color: var(--muted);
  display: grid;
  gap: 4px;
}
.compactExportInputs input {
  padding: 7px 9px;
}
.exportDock .exportStatus {
  grid-column: 1 / 2;
}
.exportDock .exportLog {
  grid-column: 1 / -1;
  min-height: 42px;
  max-height: 74px;
  padding: 8px 10px;
  font-size: 11px;
}
.previewCardHeader,
.timelinePanelTop {
  display: none !important;
}
.dropHint {
  top: 18px;
  right: 18px;
}

@media (max-width: 1400px) {
  .workspace {
    grid-template-columns: 300px minmax(0, 1fr) 320px;
  }
  .exportDock {
    grid-template-columns: 1fr;
  }
  .exportDockRight {
    justify-content: flex-start;
  }
}

@media (max-width: 1200px) {
  .workspace {
    height: auto;
    overflow: visible;
    grid-template-columns: 1fr;
  }
  .timelineToolbar {
    grid-template-columns: 1fr;
  }
}

.topbar {
  padding: 8px 14px !important;
  min-height: 62px !important;
}
.logo {
  width: 44px !important;
  height: 44px !important;
  border-radius: 13px !important;
  font-size: 24px !important;
}
.title {
  font-size: 20px !important;
}
.subtitle {
  font-size: 12px !important;
  margin-top: 2px !important;
}
.headerActions button {
  padding: 8px 12px !important;
}

.workspace {
  height: calc(100vh - 62px) !important;
  padding: 10px !important;
  gap: 10px !important;
  grid-template-columns: 320px minmax(0, 1fr) 340px !important;
  overflow: hidden !important;
}

.centerStage {
  grid-template-rows: auto minmax(0, 1fr) !important;
  gap: 8px !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.compactVideoToolbar {
  display: grid !important;
  grid-template-columns: auto auto minmax(200px, 1fr) auto auto auto !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 52px !important;
  padding: 8px 12px !important;
}

.transportInline,
.timelineMarkButtons,
.canvasInline {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
}

.transportInline button,
.timelineMarkButtons button,
.canvasInline button {
  padding: 7px 10px !important;
  border-radius: 10px !important;
}

.canvasInline select {
  width: 150px !important;
  min-width: 150px !important;
  padding: 8px 10px !important;
}

.timelineReadout {
  min-width: 72px !important;
}
.timelineReadout strong {
  font-size: 16px !important;
}
.timelineRangePill {
  padding: 8px 10px !important;
  min-width: 145px !important;
  text-align: center !important;
}

.videoFirstCard {
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  overflow: hidden !important;
}

.videoFirstCard .previewWrap {
  margin: 8px 12px 6px 12px !important;
  min-height: 0 !important;
  height: auto !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
}

.videoFirstCard #previewCanvas {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  align-self: flex-start !important;
  margin: 0 auto !important;
}

.exportDock {
  padding: 6px 12px 8px 12px !important;
  gap: 6px 10px !important;
  grid-template-columns: minmax(220px, 1fr) auto !important;
  max-height: 132px !important;
  overflow: hidden !important;
}
.exportDockLeft select {
  min-width: 145px !important;
  padding: 7px 9px !important;
}
.exportDockRight button,
.exportDockRight .downloadLink {
  padding: 7px 10px !important;
}
.compactExportInputs label {
  width: 84px !important;
}
.compactExportInputs input {
  padding: 6px 8px !important;
}
.exportDock .exportLog {
  min-height: 0 !important;
  max-height: 38px !important;
  padding: 5px 8px !important;
  font-size: 10px !important;
  line-height: 1.25 !important;
}

.panelBlock {
  padding: 14px !important;
}
.fileCard {
  margin: 8px 0 !important;
  padding: 12px !important;
}
.statusCard {
  margin-top: 10px !important;
  padding: 10px 12px !important;
}

@media (max-width: 1500px) {
  .workspace {
    grid-template-columns: 300px minmax(0, 1fr) 315px !important;
  }
  .compactVideoToolbar {
    grid-template-columns: auto auto minmax(160px, 1fr) auto auto !important;
  }
  .canvasInline {
    grid-column: 1 / -1;
  }
}

.centerStage {
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  gap: 10px !important;
  overflow: hidden !important;
}
.videoFirstToolbar {
  display: grid !important;
  grid-template-columns: auto auto minmax(280px, 1fr) auto auto auto minmax(360px, auto) !important;
  gap: 10px !important;
  align-items: center !important;
  min-height: 56px !important;
  padding: 10px 12px !important;
}
.transportInline,
.timelineMarkButtons,
.canvasInline,
.exportInline {
  display: flex;
  align-items: center;
  gap: 8px;
}
.videoFirstToolbar button {
  padding: 8px 11px;
}
.videoFirstToolbar select {
  min-width: 104px;
  padding: 8px 10px;
}
.exportInline select {
  min-width: 105px;
}
.exportInline .danger {
  white-space: nowrap;
}
.mainTimeline {
  min-width: 260px;
}
.hiddenExportInputs {
  display: none !important;
}
.exportProgressPanel {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  min-height: 0;
}
.exportProgressPanel.hidden {
  display: none !important;
}
.exportProgressTop {
  display: grid;
  grid-template-columns: auto minmax(220px, 1fr) auto auto;
  gap: 12px;
  align-items: center;
}
.exportStatusTitle {
  display: block;
  color: var(--text);
  font-size: 14px;
  margin-top: 2px;
}
.exportProgressMetrics {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.exportProgressTrack {
  height: 12px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.07);
}
.exportProgressFill {
  height: 100%;
  width: 0%;
  border-radius: 999px;
  background: linear-gradient(90deg, #e9c756, #4cc9f0);
  box-shadow: 0 0 18px rgba(233, 199, 86, 0.22);
  transition: width 120ms linear;
}
.cancelExportBtn {
  display: none;
  white-space: nowrap;
}
.exportProgressPanel.exporting .cancelExportBtn {
  display: inline-flex;
}
.exportProgressPanel .exportLog {
  min-height: 52px !important;
  max-height: 92px !important;
  margin: 0 !important;
}
.videoFirstCard {
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) !important;
  overflow: hidden !important;
}
.videoFirstCard .previewWrap {
  margin: 0 18px 18px 18px !important;
  min-height: 0 !important;
  height: 100% !important;
  align-items: center !important;
  justify-content: center !important;
}
.videoFirstCard #previewCanvas {
  display: block !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  margin: auto !important;
}
@media (max-width: 1550px) {
  .videoFirstToolbar {
    grid-template-columns: auto auto minmax(220px, 1fr) auto auto;
  }
  .canvasInline,
  .exportInline {
    grid-column: 1 / -1;
  }
  .exportInline {
    justify-content: flex-end;
  }
}

.centerStage {
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  gap: 8px !important;
  overflow: hidden !important;
}
.videoFirstToolbar {
  grid-template-columns: auto auto minmax(220px, 1fr) auto auto auto auto !important;
  min-height: 54px !important;
  padding: 8px 12px !important;
}
.exportTopButton {
  white-space: nowrap !important;
  padding: 8px 18px !important;
}
.exportConfigPanel {
  padding: 10px 12px !important;
  gap: 8px !important;
  max-height: 210px !important;
  overflow: hidden !important;
}
.exportConfigPanel.hidden {
  display: none !important;
}
.exportConfigTop {
  display: grid;
  grid-template-columns: minmax(120px, auto) minmax(360px, 1fr) auto;
  gap: 12px;
  align-items: end;
}
.exportConfigFields {
  display: grid;
  grid-template-columns: minmax(125px, 1fr) minmax(90px, .7fr) minmax(110px, .8fr) 92px 92px;
  gap: 8px;
  align-items: end;
}
.exportConfigFields label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
}
.exportConfigFields input,
.exportConfigFields select {
  padding: 7px 9px !important;
  min-height: 36px !important;
}
.exportActionButtons {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  white-space: nowrap;
}
.exportActionButtons button,
.exportActionButtons .downloadLink {
  padding: 8px 11px !important;
  border-radius: 10px !important;
}
.cancelExportBtn {
  display: inline-flex !important;
}
.cancelExportBtn:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.exportConfigPanel .exportProgressTrack {
  height: 10px !important;
}
.exportConfigPanel .exportProgressMetrics {
  font-size: 12px !important;
}
.exportConfigPanel .exportLog {
  min-height: 42px !important;
  max-height: 58px !important;
  padding: 6px 9px !important;
  font-size: 10px !important;
  line-height: 1.25 !important;
}
.videoFirstCard {
  grid-template-rows: minmax(0, 1fr) !important;
  min-height: 0 !important;
}
.videoFirstCard .previewWrap {
  margin: 0 12px 12px 12px !important;
  height: 100% !important;
  align-items: center !important;
}
.rightPanel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden !important;
}
.rightTabs {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 6px;
  padding: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  background: rgba(8, 12, 18, 0.55);
  position: sticky;
  top: 0;
  z-index: 5;
}
.rightTabBtn {
  padding: 9px 8px !important;
  border-radius: 11px !important;
  font-weight: 800;
  color: var(--muted);
}
.rightTabBtn.active {
  background: linear-gradient(180deg, #f3d983, #d3aa43) !important;
  color: #10141b !important;
  border-color: #f3d983 !important;
}
.rightTabPane {
  display: none;
  overflow: auto;
  min-height: 0;
}
.rightTabPane.active {
  display: block;
}
.rightTabPane .panelBlock {
  border-bottom: 0 !important;
}
@media (max-width: 1550px) {
  .videoFirstToolbar {
    grid-template-columns: auto auto minmax(160px, 1fr) auto auto !important;
  }
  .canvasInline,
  .exportTopButton {
    grid-column: auto !important;
  }
  .exportConfigTop {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .exportConfigFields {
    grid-template-columns: 1fr 1fr 1fr 90px 90px;
  }
  .exportActionButtons {
    justify-content: flex-start;
  }
}

.centerStage {
  grid-template-rows: auto minmax(0, 1fr) !important;
}
.exportConfigPanel,
#exportProgressPanel {
  display: none !important;
}
.exportTopButton {
  justify-self: end;
}
.exportModal.hidden {
  display: none !important;
}
.exportModal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 22px;
}
.exportModalBackdrop {
  position: absolute;
  inset: 0;
  background: rgba(1, 5, 12, 0.74);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
}
.exportModalWindow {
  position: relative;
  width: min(920px, calc(100vw - 44px));
  max-height: calc(100vh - 44px);
  overflow: hidden;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(18, 24, 34, 0.98), rgba(8, 12, 18, 0.98));
  border-color: rgba(233, 199, 86, 0.22);
  box-shadow: 0 30px 90px rgba(0,0,0,0.58);
}
.exportModalHeader {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  padding: 20px 22px 14px 22px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015));
}
.exportModalHeader h2 {
  margin: 0;
  font-size: 24px;
  line-height: 1.1;
  font-weight: 950;
}
.exportSettingsWindow {
  width: min(820px, calc(100vw - 44px));
}
.exportSettingsGrid {
  display: grid;
  grid-template-columns: 1.2fr .9fr .9fr .8fr .8fr;
  gap: 12px;
  padding: 20px 22px 12px 22px;
}
.exportSettingsGrid label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.exportSettingsGrid input,
.exportSettingsGrid select {
  min-height: 42px;
}
.exportRangeModalHint {
  margin: 8px 22px 0 22px;
  padding: 12px 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  border-radius: 16px;
  background: rgba(233, 199, 86, 0.08);
  border: 1px solid rgba(233, 199, 86, 0.18);
  color: var(--muted);
}
.exportRangeModalHint strong {
  color: var(--champagne-2);
  font-size: 18px;
}
.exportModalActions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 18px 22px 22px 22px;
}
.exportModalActions button {
  min-width: 120px;
}
.exportProgressWindow {
  width: min(1180px, calc(100vw - 44px));
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr);
}
.progressHeader {
  align-items: center;
}
.exportProgressHeaderActions {
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}
.exportProgressHeaderActions .cancelExportBtn {
  display: inline-flex !important;
}
.exportProgressHeaderActions .cancelExportBtn:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.exportStatusTitle {
  display: block;
  margin-top: 7px;
  color: var(--champagne-2);
  font-size: 14px;
  font-weight: 850;
}
.modalProgressTrack {
  margin: 16px 22px 10px 22px;
  height: 16px !important;
}
.exportMetricsBig {
  margin: 0 22px 14px 22px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  color: var(--text) !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.exportMetricsBig .metricBox {
  border-radius: 16px;
  padding: 11px 12px;
  background: rgba(255,255,255,0.055);
  border: 1px solid rgba(255,255,255,0.075);
}
.exportMetricsBig .metricBox span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 850;
  margin-bottom: 5px;
}
.exportMetricsBig .metricBox strong {
  display: block;
  color: var(--champagne-2);
  font-size: 20px;
  font-weight: 950;
  line-height: 1.1;
}
.exportProgressBody {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
  gap: 16px;
  padding: 0 22px 22px 22px;
}
.exportPreviewBlock,
.exportLogBlock {
  min-height: 0;
  border-radius: 18px;
  background: rgba(4, 8, 14, 0.62);
  border: 1px solid rgba(255,255,255,0.07);
  overflow: hidden;
}
.exportPreviewTitle,
.exportLogTop {
  height: 44px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  color: var(--champagne-2);
  font-weight: 900;
}
#exportPreviewCanvas {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  background: #000;
}
.exportPreviewHint {
  padding: 10px 14px 13px 14px;
  color: var(--muted);
  font-size: 12px;
}
.exportLogBlock {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}
.exportLogTop button,
.exportLogTop .downloadLink {
  padding: 7px 10px !important;
  border-radius: 10px !important;
}
.exportLogTop > div {
  display: flex;
  align-items: center;
  gap: 8px;
}
.exportLogBlock .exportLog {
  min-height: 260px !important;
  max-height: none !important;
  height: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(2, 5, 10, 0.55) !important;
  font-size: 11px !important;
  line-height: 1.36 !important;
  padding: 12px 14px !important;
}
@media (max-width: 980px) {
  .exportSettingsGrid {
    grid-template-columns: 1fr 1fr;
  }
  .exportProgressBody {
    grid-template-columns: 1fr;
  }
  .exportMetricsBig {
    grid-template-columns: 1fr 1fr;
  }
}

.goproActionRoot {
  position: fixed;
  z-index: 1300;
  display: grid;
  place-items: center;
  padding: 22px;
}
.goproActionWindow {
  width: min(900px, calc(100vw - 44px));
}
.goproLead {
  margin: 8px 0 0 0;
  color: var(--muted);
  line-height: 1.45;
  max-width: 680px;
}
.goproActionBody {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  padding: 20px 22px 10px 22px;
}
.goproBox {
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.045);
  border-radius: 18px;
  padding: 16px;
  min-height: 170px;
}
.goproBox h3 {
  margin: 8px 0 10px 0;
  font-size: 17px;
}
.goproBox p,
.goproBox pre {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}
.goproBox pre {
  white-space: pre-wrap;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  max-height: 220px;
  overflow: auto;
}
.goproActions button:disabled {
  opacity: .42;
  cursor: not-allowed;
}
@media (max-width: 840px) {
  .goproActionBody { grid-template-columns: 1fr; }
}

.metadataModal.hidden {
  display: none !important;
}
.metadataModal {
  position: fixed;
  inset: 0;
  z-index: 1320;
  display: grid;
  place-items: center;
  padding: 22px;
}
.metadataModalBackdrop {
  position: absolute;
  inset: 0;
  background: rgba(1, 5, 12, 0.70);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.metadataModalWindow {
  position: relative;
  width: min(900px, calc(100vw - 44px));
  max-height: calc(100vh - 44px);
  overflow: hidden;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(18, 24, 34, 0.98), rgba(8, 12, 18, 0.98));
  border-color: rgba(233, 199, 86, 0.22);
  box-shadow: 0 30px 90px rgba(0,0,0,0.58);
}
.metadataProgressWindow {
  display: grid;
  grid-template-rows: auto auto auto auto;
}
.metadataModalHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 16px 18px 12px 18px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015));
}
.metadataModalHeader h2 {
  margin: 0;
  font-size: 22px;
  line-height: 1.1;
  font-weight: 950;
}
.metadataStatusTitle {
  display: block;
  margin-top: 6px;
  color: var(--champagne-2);
  font-size: 13px;
  font-weight: 850;
}
.metadataHeaderActions {
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}
.metadataHeaderActions .cancelMetadataBtn:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.metadataProgressTrack {
  margin: 12px 18px 9px 18px;
  height: 13px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.10);
}
.metadataProgressFill {
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--champagne), var(--accent));
  transition: width .12s linear;
}
.metadataProgressMetrics {
  margin: 0 18px 12px 18px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.metadataProgressMetrics .metricBox {
  border-radius: 14px;
  padding: 9px 11px;
  background: rgba(255,255,255,0.055);
  border: 1px solid rgba(255,255,255,0.075);
}
.metadataProgressMetrics .metricBox span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 850;
  margin-bottom: 4px;
}
.metadataProgressMetrics .metricBox strong {
  display: block;
  color: var(--champagne-2);
  font-size: 17px;
  font-weight: 950;
  line-height: 1.1;
}
.metadataProgressBody {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 14px;
  padding: 0 18px 18px 18px;
  align-items: start;
}
.metadataPreviewBlock,
.metadataLogBlock {
  border-radius: 16px;
  background: rgba(4, 8, 14, 0.62);
  border: 1px solid rgba(255,255,255,0.07);
  overflow: hidden;
}
.metadataPreviewTitle,
.metadataLogTop {
  height: 38px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  color: var(--champagne-2);
  font-weight: 900;
  font-size: 13px;
}
#metadataPreviewCanvas {
  display: block;
  width: 320px;
  height: 180px;
  background: #000;
}
.metadataPreviewHint {
  height: 40px;
  padding: 7px 12px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.2;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.metadataLogBlock {
  height: 260px;
  display: grid;
  grid-template-rows: 38px minmax(0, 1fr);
}
.metadataLogTop button {
  padding: 6px 9px !important;
  border-radius: 9px !important;
}
.metadataLog {
  height: 222px !important;
  max-height: 222px !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(2, 5, 10, 0.55) !important;
  font-size: 11px !important;
  line-height: 1.34 !important;
  padding: 10px 12px !important;
  overflow: auto !important;
  white-space: pre-wrap;
}
@media (max-width: 820px) {
  .metadataProgressBody {
    grid-template-columns: 1fr;
  }
  #metadataPreviewCanvas {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }
  .metadataLogBlock {
    height: 220px;
  }
  .metadataLog {
    height: 182px !important;
    max-height: 182px !important;
  }
}

.videoFocusShell {
  height: 100vh;
  overflow: hidden;
}
.videoFocusTopbar {
  min-height: 66px;
  padding: 10px 16px;
}
.videoFocusTopbar .logo {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  font-size: 23px;
}
.videoFocusTopbar .title { font-size: 19px; }
.videoFocusTopbar .subtitle { font-size: 12px; }
.videoFocusWorkspace {
  height: calc(100vh - 66px);
  display: block;
  padding: 10px;
  overflow: hidden;
}
.videoFocusStage {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 10px;
}
.megaToolbar {
  display: grid;
  grid-template-columns: auto 88px minmax(180px, 1fr) auto minmax(360px, auto) auto auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 18px;
}
.mainTransport {
  display: flex;
  gap: 8px;
  align-items: center;
}
.playPauseButton {
  min-width: 116px;
  height: 44px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 9px;
  border-radius: 999px;
  font-weight: 950;
  background: linear-gradient(180deg, #f5dd93, #d5a943);
  color: #0d1117;
  border-color: rgba(255, 236, 166, 0.95);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.38), 0 10px 25px rgba(0,0,0,.22);
}
.playPauseButton.isPlaying {
  background: linear-gradient(180deg, #2e3748, #111827);
  color: var(--champagne-2);
  border-color: rgba(233,199,86,.42);
}
.playIcon {
  display: inline-grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: rgba(255,255,255,.32);
  font-size: 13px;
}
.toolbarButtons {
  display: flex;
  gap: 6px;
  justify-content: center;
  flex-wrap: wrap;
}
.toolbarButtons .rightTabBtn {
  padding: 8px 10px;
  min-height: 36px;
  border-radius: 999px;
  background: rgba(12, 16, 24, 0.80);
}
.toolbarButtons .rightTabBtn.active {
  background: linear-gradient(180deg, #f3d983, #d3aa43);
  color: #0d1117;
  border-color: #f3d983;
}
.compactCanvasInline {
  display: flex;
  gap: 7px;
  align-items: center;
}
.compactCanvasInline select { width: 128px; }
.toolbarPanelDock {
  border-radius: 18px;
  overflow: hidden;
  max-height: 215px;
  display: block;
}
.toolbarPanelDock .rightTabPane {
  display: none;
}
.toolbarPanelDock .rightTabPane.active {
  display: block;
}
.toolbarPane {
  padding: 12px 14px;
}
.toolbarPaneHeader {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 10px;
}
.toolbarPaneHeader h3 {
  margin: 0;
  font-size: 17px;
}
.toolbarPaneGrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
  align-items: start;
}
.projectPaneGrid {
  grid-template-columns: minmax(220px, 310px) minmax(220px, 310px) minmax(280px, 1fr);
}
.projectPaneGrid .statusCard {
  margin-top: 0;
  min-height: 78px;
}
.syncPaneGrid {
  grid-template-columns: 220px 260px 320px 220px 220px;
  align-items: center;
}
.finishPaneGrid {
  grid-template-columns: repeat(5, minmax(145px, 1fr));
}
.lapsPaneGrid {
  grid-template-columns: 260px 150px 150px minmax(240px, 1fr) 160px 160px;
  align-items: center;
}
.horizontalPalette {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  max-height: 116px;
  overflow: auto;
}
.horizontalPalette .widgetPaletteCard {
  padding: 9px 11px;
}
.horizontalPalette .widgetPaletteIcon {
  width: 35px;
  height: 35px;
  flex-basis: 35px;
}
.horizontalLayers {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  max-height: 130px;
  overflow: auto;
}
.horizontalProps {
  max-height: 145px;
  overflow: auto;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.horizontalProps .propGroup {
  margin: 0;
}
.focusVideoCard {
  min-height: 0;
  grid-template-rows: minmax(0, 1fr);
  border-radius: 18px;
  overflow: hidden;
}
.focusVideoCard .previewWrap {
  margin: 0;
  width: 100%;
  height: 100%;
  border-radius: 18px;
}
.focusVideoCard #previewCanvas {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain;
}
.focusVideoCard .dropHint {
  top: 16px;
  right: 16px;
}
.hiddenCompatButton[hidden] { display: none !important; }
.fileCard { margin: 0; }
.fileCard input { padding: 7px 0 0 0; }
.metadataProgressModal .metadataProgressWindow {
  max-height: min(72vh, 720px);
}
.metadataProgressBody {
  grid-template-columns: 320px minmax(320px, 1fr);
}
.metadataLog {
  max-height: 225px;
}
@media (max-width: 1380px) {
  .megaToolbar {
    grid-template-columns: auto 80px minmax(160px, 1fr) auto;
  }
  .toolbarButtons, .compactCanvasInline, .exportTopButton {
    grid-column: span 1;
  }
  .toolbarPaneGrid,
  .syncPaneGrid,
  .finishPaneGrid,
  .lapsPaneGrid,
  .projectPaneGrid {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  }
}
@media (max-width: 920px) {
  body { overflow: auto; }
  .videoFocusShell { height: auto; overflow: visible; }
  .videoFocusWorkspace { height: auto; overflow: visible; }
  .videoFocusStage { min-height: 900px; }
  .megaToolbar { grid-template-columns: 1fr; }
  .toolbarPanelDock { max-height: none; }
}

.videoFocusWorkspace {
  height: calc(100vh - 66px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 365px !important;
  gap: 12px !important;
  padding: 10px !important;
  overflow: hidden !important;
}

.videoFocusStage {
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  gap: 10px !important;
  overflow: hidden !important;
}

.megaToolbar {
  grid-template-columns: auto 82px minmax(200px, 1fr) auto auto !important;
}

.toolbarCategoryTabs {
  display: flex !important;
  gap: 6px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  position: static !important;
}

.toolbarCategoryBtn {
  padding: 8px 11px !important;
  min-height: 36px !important;
  border-radius: 999px !important;
  background: rgba(12, 16, 24, 0.80) !important;
  color: var(--muted) !important;
}

.toolbarCategoryBtn.active {
  background: linear-gradient(180deg, #f3d983, #d3aa43) !important;
  color: #0d1117 !important;
  border-color: #f3d983 !important;
}

.exportTopButton {
  min-width: 108px;
  height: 40px;
  border-radius: 999px !important;
}

.toolbarPanelDock {
  display: none !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  max-height: 245px !important;
}

.toolbarPanelDock.panelOpen {
  display: block !important;
}

.toolbarCategoryPane {
  display: none !important;
}

.toolbarCategoryPane.active {
  display: block !important;
}

.canvasPaneGrid {
  grid-template-columns: minmax(260px, 360px) 180px;
  align-items: center;
}

.focusVideoCard {
  min-height: 0 !important;
  grid-template-rows: minmax(0, 1fr) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

.focusVideoCard .previewWrap {
  margin: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 18px !important;
}

.focusVideoCard #previewCanvas {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
}

.dropHint {
  display: none !important;
}

.videoSideTabs {
  min-height: 0 !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  border-radius: 18px !important;
}

.sideTabs {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 6px !important;
  padding: 10px !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  background: rgba(8, 12, 18, 0.55) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 5 !important;
}

.sideTabBtn {
  padding: 9px 8px !important;
  border-radius: 11px !important;
  font-weight: 900 !important;
  color: var(--muted) !important;
}

.sideTabBtn.active {
  background: linear-gradient(180deg, #f3d983, #d3aa43) !important;
  color: #10141b !important;
  border-color: #f3d983 !important;
}

.sideTabPane {
  display: none !important;
  min-height: 0 !important;
  overflow: auto !important;
}

.sideTabPane.active {
  display: block !important;
}

.sideTabPane .panelBlock {
  border-bottom: 0 !important;
}

.videoSideTabs .widgetPalette {
  grid-template-columns: 1fr !important;
}

.videoSideTabs .propertyPanel {
  max-height: none !important;
  overflow: visible !important;
}

.videoSideTabs .widgetList {
  max-height: none !important;
  overflow: visible !important;
}

@media (max-width: 1380px) {
  .videoFocusWorkspace {
    grid-template-columns: minmax(0, 1fr) 330px !important;
  }

  .megaToolbar {
    grid-template-columns: auto 72px minmax(160px, 1fr) auto !important;
  }

  .toolbarCategoryTabs,
  .exportTopButton {
    grid-column: auto !important;
  }
}

@media (max-width: 980px) {
  body { overflow: auto !important; }
  .videoFocusShell { height: auto !important; overflow: visible !important; }
  .videoFocusWorkspace {
    height: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
  }

  .videoFocusStage {
    min-height: 760px !important;
    overflow: visible !important;
  }

  .megaToolbar {
    grid-template-columns: 1fr !important;
  }

  .toolbarPanelDock {
    max-height: none !important;
  }

  .videoSideTabs {
    min-height: 420px !important;
  }
}

.megaToolbar {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  overflow-x: auto !important;
  scrollbar-width: thin;
}

.megaToolbar .mainTimeline {
  flex: 1 1 320px !important;
  min-width: 220px !important;
}

.megaToolbar .toolbarCategoryTabs {
  flex: 0 0 auto !important;
}

.megaToolbar .exportTopButton {
  flex: 0 0 auto !important;
  margin-left: 4px !important;
}

.toolbarPanelDock {
  border: 1px solid rgba(233, 199, 86, 0.26) !important;
  background:
    radial-gradient(circle at top left, rgba(233, 199, 86, 0.12), transparent 32%),
    linear-gradient(180deg, rgba(23, 30, 42, 0.96), rgba(8, 12, 18, 0.96)) !important;
  box-shadow:
    0 18px 50px rgba(0,0,0,0.35),
    inset 0 1px 0 rgba(255,255,255,0.06) !important;
}

.toolbarPane {
  padding: 16px 18px 18px !important;
  animation: toolbarPaneIn .16s ease-out;
}

@keyframes toolbarPaneIn {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}

.toolbarPaneHeader {
  padding-bottom: 12px !important;
  margin-bottom: 14px !important;
  border-bottom: 1px solid rgba(233, 199, 86, 0.18) !important;
}

.toolbarPaneHeader h3 {
  margin: 3px 0 0 !important;
  font-size: 18px !important;
  letter-spacing: .01em !important;
}

.toolbarPaneGrid {
  background: rgba(3, 7, 13, 0.28) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 16px !important;
  padding: 14px !important;
}

.toolbarCategoryBtn {
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05) !important;
}

.sideTabs {
  padding: 12px 12px 0 12px !important;
  display: flex !important;
  gap: 0 !important;
  border-bottom: 1px solid rgba(233, 199, 86, 0.22) !important;
  background: linear-gradient(180deg, rgba(7, 10, 16, 0.96), rgba(13, 17, 25, 0.88)) !important;
}

.sideTabBtn {
  border-radius: 14px 14px 0 0 !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-bottom: 0 !important;
  background: rgba(13, 18, 27, 0.72) !important;
  color: var(--muted) !important;
  padding: 11px 18px !important;
  margin-bottom: -1px !important;
  box-shadow: none !important;
  transform: none !important;
}

.sideTabBtn + .sideTabBtn {
  margin-left: 4px !important;
}

.sideTabBtn.active {
  background: linear-gradient(180deg, rgba(35, 42, 56, 0.98), rgba(17, 22, 31, 1)) !important;
  color: var(--champagne-2) !important;
  border-color: rgba(233, 199, 86, 0.38) !important;
  box-shadow: inset 0 2px 0 rgba(233, 199, 86, 0.70) !important;
}

.exportProgressBody {
  align-items: start !important;
  grid-template-columns: minmax(280px, 420px) minmax(0, 1fr) !important;
}

.exportPreviewBlock {
  height: fit-content !important;
}

.exportLogBlock {
  height: 324px !important;
  max-height: 324px !important;
  display: grid !important;
  grid-template-rows: 44px minmax(0, 1fr) !important;
  align-self: start !important;
}

.exportLogBlock .exportLog {
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  overflow: auto !important;
}

.exportSuccessWindow {
  width: min(520px, calc(100vw - 30px)) !important;
  padding: 30px !important;
  text-align: center !important;
  display: grid !important;
  gap: 14px !important;
  justify-items: center !important;
}

.successIcon {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 25%, #fff6c7, #d7aa43 62%, #8b5b13);
  color: #10141b;
  font-size: 42px;
  font-weight: 950;
  box-shadow: 0 18px 36px rgba(0,0,0,0.34), 0 0 0 8px rgba(233,199,86,0.09);
}

.exportSuccessWindow h2 {
  margin: 0;
  font-size: 24px;
}

.exportSuccessDetails {
  white-space: pre-wrap;
  color: #d7deea;
  line-height: 1.45;
  margin: 0;
}

.exportSuccessActions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}

.successDownloadLink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#btnPrevFrame,
#btnNextFrame {
  min-width: 48px !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
}

#previewCanvas {
  cursor: default;
}

@media (max-width: 980px) {
  .megaToolbar {
    flex-wrap: wrap !important;
  }

  .exportLogBlock {
    height: 260px !important;
    max-height: 260px !important;
  }
}

.propGroupTitle {
  color: var(--champagne-2);
}

.propRow select {
  min-height: 38px;
}

.finishAutoPaneGrid {
  grid-template-columns: minmax(230px, 320px) minmax(220px, 280px) minmax(220px, 280px) minmax(280px, 1fr) !important;
  align-items: stretch !important;
}

.finishMainButton {
  min-height: 72px !important;
  font-size: 16px !important;
}

.finishAutoStatus {
  margin: 0 !important;
}

.previewWrap {
  z-index: 1;
}

#previewCanvas {
  position: relative;
  z-index: 2;
  pointer-events: auto !important;
  touch-action: none !important;
}

.dropHint,
.previewWrap::before {
  pointer-events: none !important;
}

.toolbarPanelDock {
  z-index: 4;
}

.widgetPaletteCard,
.widgetItem {
  user-select: none;
}

@media (max-width: 980px) {
  .finishAutoPaneGrid {
    grid-template-columns: 1fr !important;
  }
}

#previewCanvas {
  user-select: none;
  -webkit-user-select: none;
}

.widgetItem.active {
  border-color: rgba(0, 140, 255, 0.85) !important;
  box-shadow: inset 0 0 0 1px rgba(0,140,255,.18), 0 0 0 4px rgba(0,140,255,.08) !important;
}

.focusVideoCard #previewCanvas,
#previewCanvas {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: fill !important;
}

.focusVideoCard .previewWrap {
  align-items: center !important;
  justify-content: center !important;
}

#previewCanvas {
  user-select: none;
  -webkit-user-select: none;
}

.propertyPanel select {
  min-height: 38px;
}

.propertyPanel .propGroup {
  margin-top: 10px;
}

.propGroup {
  margin: 14px 0 9px !important;
  padding: 0 !important;
  border: 0 !important;
  grid-column: 1 / -1;
}

.propGroupTitle {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--champagne-2);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .10em;
  text-transform: uppercase;
}

.propGroupTitle::before,
.propGroupTitle::after {
  content: "";
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(233,199,86,0.34));
}

.propGroupTitle::after {
  background: linear-gradient(90deg, rgba(233,199,86,0.34), transparent);
}

.propertyPanel .propRow {
  padding: 7px 8px;
  border-radius: 10px;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.035);
}

.trackSelectOverlay {
  position: fixed;
  inset: 0;
  z-index: 100120;
  background: rgba(0,0,0,0.72);
  display: grid;
  place-items: center;
  padding: 24px;
}

.trackSelectWindow {
  width: min(760px, calc(100vw - 36px));
  max-height: min(760px, calc(100vh - 36px));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border-radius: 26px;
  background:
    radial-gradient(circle at top right, rgba(233,199,86,.14), transparent 32%),
    linear-gradient(135deg, #090b10, #151925 48%, #08090d) !important;
}

.trackSelectHeader {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: start;
  padding: 24px 26px 18px;
  border-bottom: 1px solid rgba(233,199,86,.18);
}

.trackSelectHeader h2 {
  margin: 4px 0;
  font-size: 30px;
  letter-spacing: 3px;
}

.trackSelectHeader p {
  margin: 0;
  color: var(--champagne-2);
  font-size: 13px;
  font-weight: 800;
}

.trackSelectGrid {
  overflow: auto;
  padding: 18px 22px 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.trackSelectCard {
  display: grid;
  gap: 8px;
  text-align: left;
  border-radius: 22px;
  border: 1px solid #343c50;
  padding: 14px;
  background: linear-gradient(135deg, #202636, #151a26 52%, #10131b);
  color: white;
  cursor: pointer;
  box-shadow: 0 16px 28px rgba(0,0,0,.34);
}

.trackSelectCard:hover {
  border-color: #ffcc33;
  transform: translateY(-1px);
}

.trackPreview {
  height: 178px;
  border-radius: 18px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #0b0e15, #1d2330);
  border: 1px solid #2f3749;
}

.trackPreview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.trackPreview span {
  color: #6e7688;
  font-weight: 900;
}

.trackCardName {
  min-height: 42px;
  font-size: 17px;
  line-height: 1.22;
  font-weight: 1000;
  letter-spacing: .4px;
}

.trackCardLocation {
  font-size: 12px;
  font-weight: 800;
  color: #9ca6ba;
}

.trackBadges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.trackBadge {
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 900;
  color: #d7deea;
  background: linear-gradient(135deg, #3a4152, #252b38);
}

.trackBadge.blue {
  color: #07111e;
  background: linear-gradient(135deg, #72f6ff, #44aaff);
}

.trackBadge.gold {
  color: #111;
  background: linear-gradient(135deg, #ffcc33, #ff9f1a);
}

.trackSelectAction {
  margin-top: 4px;
  border-radius: 13px;
  min-height: 36px;
  display: grid;
  place-items: center;
  color: #111;
  font-weight: 950;
  background: linear-gradient(135deg, #ffe27a, #ffcc33 45%, #ff9f1a);
}

.finishAutoPaneGrid {
  grid-template-columns: minmax(190px, 1.1fr) minmax(170px, .9fr) minmax(170px, .9fr) minmax(170px, .9fr) minmax(230px, .8fr) minmax(330px, 1.4fr) !important;
}

@media (max-width: 980px) {
  .trackSelectGrid {
    grid-template-columns: 1fr;
  }

  .finishAutoPaneGrid {
    grid-template-columns: 1fr !important;
  }
}

.trackSelectCard {
  max-width: 348px;
  justify-self: start;
}

.trackPreview {
  width: 260px !important;
  height: 180px !important;
  max-width: 260px !important;
  min-width: 260px !important;
  justify-self: center;
}

.trackPreview img {
  width: 260px !important;
  height: 180px !important;
  object-fit: contain !important;
  display: block;
}

.trackBadges {
  min-height: 28px;
}

.headerActions {
  position: relative;
}

.layoutMenu {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.layoutMenuButton {
  min-width: 104px;
}

.layoutMenuButton.active {
  border-color: rgba(233,199,86,.55);
  color: #111;
  background: linear-gradient(135deg, #ffe27a, #ffcc33 48%, #ff9f1a);
}

.layoutDropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  z-index: 500;
  min-width: 188px;
  padding: 8px;
  border-radius: 16px;
  background:
    radial-gradient(circle at top right, rgba(233,199,86,.14), transparent 45%),
    linear-gradient(135deg, #111722, #080b10);
  border: 1px solid rgba(233,199,86,.25);
  box-shadow: 0 18px 44px rgba(0,0,0,.48);
  display: grid;
  gap: 7px;
}

.layoutDropdown[hidden] {
  display: none !important;
}

.layoutDropdown button {
  width: 100%;
  text-align: left;
  justify-content: flex-start;
}

.sourceHiddenPane {
  display: none !important;
}

.sourceIconBtn {
  width: 42px !important;
  min-width: 42px !important;
  height: 38px !important;
  padding: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  font-size: 19px !important;
  line-height: 1 !important;
  border-radius: 14px !important;
}

.sourceIconBtn:hover {
  border-color: rgba(233,199,86,.58) !important;
  box-shadow: 0 0 0 3px rgba(233,199,86,.10);
}

.sourceHiddenPane {
  display: none !important;
}

.sourceIconBtn {
  width: 42px !important;
  min-width: 42px !important;
  height: 38px !important;
  padding: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  font-size: 19px !important;
  line-height: 1 !important;
  border-radius: 14px !important;
}

.sourceIconBtn:hover {
  border-color: rgba(233,199,86,.58) !important;
  box-shadow: 0 0 0 3px rgba(233,199,86,.10);
}

.foxlapHeaderLogo {
  width: 118px;
  height: 54px;
  object-fit: contain;
  display: block;
  flex: 0 0 auto;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,.35));
}

.brandWrap {
  align-items: center;
}

.layersHeaderRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.layersHeaderRow .blockTitle { margin: 0; }
.widgetListToolbar {
  display: flex;
  gap: 8px;
  align-items: center;
}
.widgetListToolbar button {
  padding: 7px 10px;
  border-radius: 10px;
  font-size: 12px;
}
.widgetItemActions {
  flex-wrap: wrap;
  justify-content: flex-end;
}
.widgetItemActions button.layerOrderBtn {
  min-width: 34px;
  padding: 8px 9px;
  font-weight: 900;
}

.unitSettingsCard {
  grid-column: 1 / -1;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(10,14,21,0.42);
  padding: 10px;
}
.unitSettingsGrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 8px;
  margin-top: 8px;
}
.unitSettingsGrid label {
  display: grid;
  gap: 4px;
  font-size: 11px;
  color: var(--muted);
}
@media (max-width: 980px) {
  .unitSettingsGrid { grid-template-columns: 1fr 1fr; }
}

.settingsIconBtn {
  font-size: 18px;
}
.settingsPaneGrid {
  grid-template-columns: 1fr;
}
.settingsPaneGrid .unitSettingsCard {
  grid-column: auto;
}
.settingsPaneGrid .unitSettingsGrid {
  grid-template-columns: repeat(4, minmax(130px, 1fr));
}
@media (max-width: 1100px) {
  .settingsPaneGrid .unitSettingsGrid { grid-template-columns: 1fr 1fr; }
}

.widgetPaletteGroupTitle {
  grid-column: 1 / -1;
  margin: 10px 0 2px;
  padding: 7px 10px;
  border-radius: 10px;
  color: #f3d983;
  background: rgba(243,217,131,0.08);
  border: 1px solid rgba(243,217,131,0.16);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.topLeftMenu {
  flex: 0 0 auto;
  margin-right: 2px;
}

.layoutDropdownDivider {
  height: 1px;
  background: rgba(233,199,86,.20);
  margin: 3px 2px;
}

.layoutDropdownLabel {
  padding: 5px 8px 2px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--champagne);
  opacity: .9;
}

.megaToolbar {
  grid-template-columns: auto 82px minmax(190px, 1fr) auto minmax(220px, 280px) auto auto !important;
}

.lapComboRoot {
  position: relative;
  min-width: 220px;
}

.lapComboButton {
  width: 100%;
  max-width: 280px;
  min-height: 38px;
  padding: 8px 34px 8px 12px;
  border-radius: 999px !important;
  font-weight: 900;
  color: #111827 !important;
  background: linear-gradient(180deg, #f3d983, #d3aa43) !important;
  border-color: rgba(243,217,131,.75) !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  position: relative;
  text-align: left;
}

.lapComboButton::after {
  content: "▾";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}

.lapComboButton:disabled {
  opacity: .55;
  cursor: default;
}

.lapComboDropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: min(460px, 92vw);
  z-index: 650;
  display: grid;
  gap: 6px;
  padding: 8px;
  border-radius: 16px;
  background:
    radial-gradient(circle at top right, rgba(233,199,86,.14), transparent 45%),
    linear-gradient(135deg, #111722, #080b10);
  border: 1px solid rgba(233,199,86,.25);
  box-shadow: 0 18px 44px rgba(0,0,0,.48);
  max-height: min(54vh, 460px);
  overflow: auto;
}

.lapComboDropdown[hidden] {
  display: none !important;
}

.lapComboRow {
  display: grid;
  grid-template-columns: minmax(170px, 1fr) auto;
  gap: 7px;
  align-items: center;
}

.lapComboMain,
.lapComboRangeBtn {
  min-height: 36px;
  border-radius: 12px !important;
  padding: 8px 10px !important;
}

.lapComboMain {
  text-align: left !important;
  justify-content: flex-start !important;
  font-family: Racing, Inter, "Segoe UI", Arial, sans-serif;
  font-weight: 900 !important;
  color: var(--text) !important;
  background: rgba(255,255,255,.045) !important;
}

.lapComboRow.active .lapComboMain {
  color: #111827 !important;
  background: linear-gradient(180deg, #f3d983, #d3aa43) !important;
}

.lapComboRangeBtn {
  white-space: nowrap;
  font-size: 12px !important;
}

.lapComboEmpty {
  color: var(--muted);
  padding: 12px;
  text-align: center;
}

.compactSyncPaneGrid {
  grid-template-columns: minmax(260px, 1fr) auto minmax(260px, 1fr) !important;
  align-items: center;
}

.syncMiniControl {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  justify-content: center;
  flex-wrap: nowrap;
}

.syncTimestampPill {
  min-width: 150px;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(12,16,24,.80);
  border: 1px solid rgba(233,199,86,.22);
  color: var(--champagne);
  font-weight: 900;
  font-family: Racing, Inter, "Segoe UI", Arial, sans-serif;
  white-space: nowrap;
}

.syncMiniControl button {
  min-height: 38px;
  border-radius: 999px !important;
  padding: 8px 12px !important;
}

.syncMiniControl .accentBtn {
  min-width: 80px;
}

@media (max-width: 1500px) {
  .megaToolbar {
    grid-template-columns: auto 82px minmax(160px, 1fr) auto auto !important;
  }
  .lapComboRoot {
    grid-column: 1 / -1;
    justify-self: stretch;
  }
  .lapComboButton {
    max-width: none;
  }
}

@media (max-width: 980px) {
  .compactSyncPaneGrid {
    grid-template-columns: 1fr !important;
  }
  .syncMiniControl {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}

.videoFocusTopbar,
.brandWrap,
.compactVideoToolbar,
.megaToolbar,
.timelineToolbar,
.toolbarButtons,
.lapComboRoot {
  overflow: visible !important;
}

.topLeftMenu {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 900 !important;
}

.topLeftMenu .layoutMenuButton {
  min-width: 118px !important;
}

.lapComboRoot {
  position: relative;
  z-index: 700;
}

.lapComboDropdown {
  position: fixed !important;
  right: auto !important;
  width: min(460px, calc(100vw - 16px)) !important;
  z-index: 10000 !important;
  max-height: min(60vh, 520px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

.timelineToolbar.panel,
.compactVideoToolbar.panel,
.megaToolbar.panel {
  max-height: none !important;
  overflow-y: visible !important;
}

.layoutDropdownLabel.first {
  padding-top: 2px;
}

#btnMenuOpenVideo,
#btnMenuOpenGpx {
  font-weight: 900;
}

.topRightMenus {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  overflow: visible !important;
  z-index: 950 !important;
}

.topRightMenus .layoutMenu {
  position: relative !important;
  display: inline-flex !important;
}

.topRightMenus .layoutMenuButton {
  min-width: 96px !important;
  text-align: center !important;
}

.topRightMenus .layoutDropdown {
  right: 0 !important;
  left: auto !important;
  top: calc(100% + 10px) !important;
  z-index: 10050 !important;
}

.videoFocusTopbar {
  overflow: visible !important;
}

.topLeftMenu {
  display: none !important;
}

.lapComboButton {
  color: #e5e7eb !important;
  background: linear-gradient(180deg, #171b22, #07090d) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 8px 18px rgba(0,0,0,.28) !important;
}

.lapComboButton:hover,
.lapComboButton.active {
  color: #ffffff !important;
  background: linear-gradient(180deg, #232833, #0b0e14) !important;
  border-color: rgba(255,255,255,.28) !important;
}

.lapComboButton::after {
  color: #cbd5e1 !important;
}

.lapComboPortal,
.lapComboDropdown {
  position: fixed !important;
  right: auto !important;
  z-index: 2147483000 !important;
  width: min(460px, calc(100vw - 16px)) !important;
  max-height: min(60vh, 520px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 8px !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #10141b, #05070a) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 22px 56px rgba(0,0,0,.70) !important;
}

.lapComboPortal[hidden],
.lapComboDropdown[hidden] {
  display: none !important;
}

.lapComboRow {
  background: transparent !important;
}

.lapComboMain {
  color: #e5e7eb !important;
  background: #111827 !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: none !important;
}

.lapComboMain:hover {
  color: #ffffff !important;
  background: #1f2937 !important;
  border-color: rgba(255,255,255,.20) !important;
}

.lapComboRow.active .lapComboMain {
  color: #ffffff !important;
  background: #243041 !important;
  border-color: rgba(148,163,184,.45) !important;
}

.lapComboRangeBtn {
  color: #d1d5db !important;
  background: #0b0f16 !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}

.lapComboRangeBtn:hover {
  color: #ffffff !important;
  background: #1f2937 !important;
  border-color: rgba(255,255,255,.22) !important;
}

.lapComboEmpty {
  color: #9ca3af !important;
}

.mainTransport {
  gap: 6px !important;
}

.timelineMarkerBtn {
  min-width: 38px !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  border-radius: 12px !important;
  font-size: 18px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  display: inline-grid !important;
  place-items: center !important;
}

.markerStartBtn {
  color: #86efac !important;
  border-color: rgba(34,197,94,.45) !important;
  background: linear-gradient(180deg, #102016, #07100b) !important;
}

.markerEndBtn {
  color: #fca5a5 !important;
  border-color: rgba(239,68,68,.45) !important;
  background: linear-gradient(180deg, #241111, #100707) !important;
}

.markerStartBtn:hover {
  color: #ffffff !important;
  background: linear-gradient(180deg, #15803d, #052e16) !important;
}

.markerEndBtn:hover {
  color: #ffffff !important;
  background: linear-gradient(180deg, #b91c1c, #450a0a) !important;
}

.prettyTimelineWrap {
  position: relative !important;
  min-height: 44px !important;
  display: grid !important;
  align-items: center !important;
  padding: 0 4px !important;
  overflow: visible !important;
  --export-start: 0%;
  --export-end: 100%;
  --play-progress: 0%;
}

.timelineRangeDecor {
  position: absolute;
  left: 10px;
  right: 10px;
  top: 50%;
  height: 14px;
  transform: translateY(-50%);
  border-radius: 999px;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.02)),
    #080b10;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.08),
    inset 0 -1px 2px rgba(0,0,0,.75),
    0 8px 22px rgba(0,0,0,.22);
}

.timelinePlayedFill {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: var(--play-progress);
  max-width: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(148,163,184,.30), rgba(226,232,240,.42));
}

.exportRangeSelection {
  position: absolute;
  top: -4px;
  bottom: -4px;
  left: var(--export-start);
  width: calc(var(--export-end) - var(--export-start));
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(34,197,94,.28), rgba(250,204,21,.22), rgba(239,68,68,.28));
  border: 1px solid rgba(250,204,21,.46);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.12),
    0 0 16px rgba(250,204,21,.18);
}

.exportMarker {
  position: absolute;
  top: 50%;
  width: 3px;
  height: 32px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.65), 0 0 12px rgba(255,255,255,.14);
}

.exportMarker span {
  position: absolute;
  top: -18px;
  left: 50%;
  transform: translateX(-50%);
  padding: 2px 6px;
  border-radius: 999px;
  font-size: 9px;
  line-height: 1;
  font-weight: 1000;
  letter-spacing: .05em;
  color: #05070a;
  opacity: .95;
  white-space: nowrap;
}

.exportStartMarker {
  left: var(--export-start);
  background: #22c55e;
}

.exportStartMarker span {
  background: #86efac;
}

.exportEndMarker {
  left: var(--export-end);
  background: #ef4444;
}

.exportEndMarker span {
  background: #fca5a5;
}

.prettyTimelineSlider {
  position: relative !important;
  z-index: 4 !important;
  width: 100% !important;
  height: 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background: transparent !important;
  cursor: pointer;
}

.prettyTimelineSlider::-webkit-slider-runnable-track {
  height: 14px;
  border-radius: 999px;
  background: transparent;
}

.prettyTimelineSlider::-moz-range-track {
  height: 14px;
  border-radius: 999px;
  background: transparent;
}

.prettyTimelineSlider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 22px;
  height: 22px;
  margin-top: -4px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 28%, #ffffff 0 18%, #e5e7eb 19% 36%, #94a3b8 37% 100%);
  border: 2px solid #020617;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.20),
    0 8px 18px rgba(0,0,0,.55);
}

.prettyTimelineSlider::-moz-range-thumb {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 28%, #ffffff 0 18%, #e5e7eb 19% 36%, #94a3b8 37% 100%);
  border: 2px solid #020617;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.20),
    0 8px 18px rgba(0,0,0,.55);
}

.prettyTimelineSlider:focus-visible::-webkit-slider-thumb {
  box-shadow:
    0 0 0 3px rgba(250,204,21,.55),
    0 8px 18px rgba(0,0,0,.55);
}

.prettyTimelineSlider:focus-visible::-moz-range-thumb {
  box-shadow:
    0 0 0 3px rgba(250,204,21,.55),
    0 8px 18px rgba(0,0,0,.55);
}

.timelineRangePill.ghostHidden {
  display: none !important;
}

.frameStepBtn {
  width: 46px !important;
  min-width: 46px !important;
  height: 38px !important;
  padding: 0 8px !important;
  border-radius: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  background:
    linear-gradient(180deg, rgba(31,41,55,.96), rgba(8,11,17,.98)) !important;
  border: 1px solid rgba(148,163,184,.28) !important;
  color: #e5e7eb !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 8px 18px rgba(0,0,0,.25) !important;
}

.frameStepBtn:hover {
  background:
    linear-gradient(180deg, rgba(51,65,85,.98), rgba(15,23,42,.98)) !important;
  border-color: rgba(226,232,240,.34) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

.frameStepBtn:active {
  transform: translateY(0);
  box-shadow:
    inset 0 2px 4px rgba(0,0,0,.45),
    0 4px 12px rgba(0,0,0,.22) !important;
}

.frameStepBtn .frameArrow {
  font-size: 22px;
  line-height: 1;
  font-weight: 900;
  color: #cbd5e1;
  transform: translateY(-1px);
}

.frameStepBtn .frameLabel {
  font-family: Racing, Inter, "Segoe UI", Arial, sans-serif;
  font-size: 11px;
  line-height: 1;
  font-weight: 1000;
  letter-spacing: .02em;
  color: #f8fafc;
}

.prevFrameBtn .frameArrow {
  margin-right: 1px;
}

.nextFrameBtn .frameArrow {
  margin-left: 1px;
}

.mainTransport .frameStepBtn + .timelineMarkerBtn {
  margin-left: 4px;
}

.megaToolbar {
  grid-template-columns: auto 82px minmax(240px, 1fr) minmax(220px, 280px) auto auto !important;
}

.prettyTimelineWrap {
  min-height: 58px !important;
  padding-top: 12px !important;
  padding-bottom: 4px !important;
  align-self: stretch !important;
}

.timelineRangeDecor {
  top: calc(50% + 5px) !important;
}

.exportMarker {
  height: 34px !important;
}

.exportMarker span {
  top: -15px !important;
  font-size: 8px !important;
  line-height: 1 !important;
  padding: 2px 5px !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 6px rgba(0,0,0,.45) !important;
}

.compactVideoToolbar,
.megaToolbar,
.timelineToolbar,
.prettyTimelineWrap {
  overflow: visible !important;
}

.prettySourceBtn {
  width: 42px !important;
  min-width: 42px !important;
  height: 40px !important;
  padding: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 15px !important;
  background:
    radial-gradient(circle at 35% 20%, rgba(255,255,255,.16), transparent 34%),
    linear-gradient(180deg, #1d2431, #080b12) !important;
  border: 1px solid rgba(148,163,184,.28) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    0 9px 18px rgba(0,0,0,.28) !important;
}

.prettySourceBtn:hover {
  transform: translateY(-1px);
  border-color: rgba(226,232,240,.40) !important;
  background:
    radial-gradient(circle at 35% 20%, rgba(255,255,255,.22), transparent 34%),
    linear-gradient(180deg, #263247, #0b1020) !important;
}

.toolbarSvgIcon,
.toolbarSvgIcon svg {
  width: 21px;
  height: 21px;
  display: block;
}

.toolbarSvgIcon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.videoSourceBtn { color: #93c5fd !important; }
.gpxSourceBtn { color: #86efac !important; }
.themeSourceBtn { color: #f3d983 !important; }

.themeModal.hidden {
  display: none !important;
}

.themeModal {
  position: fixed;
  inset: 0;
  z-index: 2147483200;
  display: grid;
  place-items: center;
}

.themeModalBackdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.62);
  backdrop-filter: blur(7px);
}

.themeModalWindow {
  position: relative;
  width: min(980px, calc(100vw - 44px));
  max-height: min(760px, calc(100vh - 44px));
  padding: 22px;
  border-radius: 28px;
  overflow: hidden;
}

.themeModalHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}

.themeModalHeader h2 {
  margin: 4px 0 3px;
  font-size: 24px;
}

.themeStatus {
  margin: 0;
  color: rgba(255,255,255,.66);
  font-size: 13px;
}

.themeModalBody {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 18px;
  align-items: stretch;
}

.themeList {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 300px;
}

.themeCard {
  text-align: left;
  padding: 14px 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(31,41,55,.88), rgba(5,8,13,.92));
  color: #ffffff;
  cursor: pointer;
}

.themeCard:hover,
.themeCard:focus-visible {
  border-color: rgba(243,217,131,.55);
  box-shadow: 0 0 0 1px rgba(243,217,131,.22), 0 14px 28px rgba(0,0,0,.30);
  transform: translateY(-1px);
}

.themeCard strong {
  display: block;
  font-weight: 950;
  font-size: 16px;
  margin-bottom: 4px;
}

.themeCard small {
  color: rgba(255,255,255,.62);
  line-height: 1.35;
}

.themePreviewPanel {
  min-width: 0;
}

#themePreviewCanvas {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  display: block;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.16);
  background: #05070a;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}

.themePreviewHint,
.themeEmpty {
  margin-top: 10px;
  color: rgba(255,255,255,.62);
  font-size: 13px;
}

@media (max-width: 760px) {
  .themeModalBody {
    grid-template-columns: 1fr;
  }
  .themeList {
    min-height: auto;
  }
}

.themeSelectedLabel {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  color: #f8fafc;
  background: rgba(15,23,42,.75);
  border: 1px solid rgba(255,255,255,.12);
  font-size: 13px;
  font-weight: 800;
}

.themeModalActions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 14px;
}

.themeCard.selected {
  border-color: rgba(34,197,94,.72) !important;
  box-shadow:
    0 0 0 1px rgba(34,197,94,.30),
    0 12px 28px rgba(0,0,0,.34) !important;
}

.themeCard.selected::after {
  content: "Selected";
  display: inline-flex;
  margin-top: 8px;
  padding: 3px 8px;
  border-radius: 999px;
  color: #052e16;
  background: #86efac;
  font-size: 11px;
  font-weight: 950;
}

#btnApplyTheme:disabled {
  opacity: .45;
  cursor: not-allowed;
  filter: grayscale(.35);
}

.themeCard em {
  display: inline-flex;
  margin-top: 7px;
  color: rgba(255,255,255,.78);
  font-style: normal;
  font-weight: 900;
  font-size: 11px;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.exportCheckboxLine {
  display: flex !important;
  align-items: center;
  gap: 8px;
  min-width: 210px;
}

.exportCheckboxLine input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #e9c756;
}

.seoTitle {
  letter-spacing: -0.035em;
  font-weight: 950;
  line-height: 1;
}

.seoTitle span {
  color: #f32b24;
  text-shadow: 0 0 18px rgba(243, 43, 36, 0.22);
}

.seoSubtitle {
  max-width: 760px;
  letter-spacing: 0.01em;
  color: rgba(255,255,255,0.72);
}

.syncTopButton {
  min-width: 72px !important;
  height: 36px !important;
  padding: 7px 13px !important;
  border-radius: 999px !important;
  font-weight: 950 !important;
  letter-spacing: .02em;
}

.sectorsPaneGrid {
  grid-template-columns: minmax(180px, 240px) minmax(160px, 220px) minmax(220px, 320px) minmax(280px, 1fr) !important;
  align-items: center;
}

.lapComboButton {
  min-width: 190px;
  max-width: 230px;
}

.lapComboDropdown {
  width: min(520px, calc(100vw - 16px)) !important;
}

.lapComboRangeBtn {
  text-transform: lowercase;
  font-weight: 850 !important;
}

.lapComboRoot {
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  justify-self: start !important;
}

.lapComboButton {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  padding-right: 32px !important;
}

.megaToolbar {
  grid-template-columns: auto 82px minmax(190px, 1fr) auto max-content auto auto !important;
}

@media (max-width: 1500px) {
  .lapComboRoot {
    grid-column: auto !important;
    justify-self: start !important;
  }
  .lapComboButton {
    max-width: none !important;
  }
}

.timelineReadout strong,
#currentTelemetryLabelClone,
#currentTelemetryLabel,
#currentVideoLabel,
#syncCurrentLabel,
#syncVideoLabel,
#syncTelemetryLabel,
.timelineRangePill,
#exportRangeLabel {
  font-family: Racing, "Font-Bold-fixedpitch", "Roboto Mono", "Cascadia Mono", monospace !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: .015em !important;
}

.timelineReadout strong,
#currentTelemetryLabelClone {
  font-weight: 900 !important;
}

.videoFocusWorkspace {
  grid-template-columns: minmax(0, 1fr) clamp(300px, 24vw, 365px) !important;
}

.videoFocusStage,
.focusVideoCard,
.previewWrap,
.videoSideTabs {
  min-width: 0 !important;
}

.megaToolbar {
  min-width: 0 !important;
  width: 100% !important;
}

.mainTransport,
.toolbarButtons,
.toolbarCategoryTabs {
  min-width: 0 !important;
}

@media (min-width: 1281px) and (max-width: 1600px) {
  .videoFocusWorkspace {
    grid-template-columns: minmax(0, 1fr) clamp(300px, 23vw, 340px) !important;
  }

  .megaToolbar {
    grid-template-columns: auto auto minmax(150px, 1fr) auto !important;
    gap: 7px !important;
    padding: 8px 9px !important;
    align-items: center !important;
  }

  .mainTransport {
    flex-wrap: wrap !important;
    gap: 5px !important;
  }

  .playPauseButton {
    min-width: 86px !important;
    height: 38px !important;
    padding: 7px 10px !important;
  }

  .frameStepBtn,
  .timelineMarkerBtn,
  .syncTopButton {
    min-width: 34px !important;
    height: 34px !important;
    padding: 6px 9px !important;
  }

  .timelineReadout {
    min-width: 74px !important;
  }

  .timelineReadout strong {
    font-size: 13px !important;
  }

  .timelineSliderWrap {
    min-width: 140px !important;
  }

  .lapComboRoot {
    justify-self: start !important;
    min-width: 0 !important;
  }

  .toolbarButtons {
    grid-column: 1 / span 3 !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  .exportTopButton {
    grid-column: 4 !important;
    justify-self: end !important;
    min-width: 88px !important;
    height: 36px !important;
  }

  .toolbarPanelDock {
    max-height: 300px !important;
  }
}

@media (max-width: 1280px) {
  body {
    overflow: auto !important;
  }

  .videoFocusShell {
    height: auto !important;
    min-height: 100vh !important;
    overflow: visible !important;
  }

  .videoFocusWorkspace {
    height: auto !important;
    overflow: visible !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 10px !important;
  }

  .videoFocusStage {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .megaToolbar {
    display: grid !important;
    grid-template-columns: auto auto minmax(160px, 1fr) auto !important;
    gap: 7px !important;
    padding: 8px !important;
    overflow: visible !important;
  }

  .mainTransport {
    flex-wrap: wrap !important;
    gap: 5px !important;
  }

  .toolbarButtons {
    grid-column: 1 / -1 !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  .exportTopButton {
    justify-self: end !important;
  }

  .timelineReadout {
    min-width: 74px !important;
  }

  .timelineReadout strong {
    font-size: 13px !important;
  }

  .timelineSliderWrap {
    min-width: 160px !important;
  }

  .lapComboRoot {
    justify-self: start !important;
  }

  .toolbarPanelDock {
    max-height: none !important;
    overflow: visible !important;
  }

  .focusVideoCard {
    min-height: min(70vh, 720px) !important;
  }

  .videoSideTabs {
    min-height: 420px !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .sideTabPane {
    max-height: none !important;
  }
}

@media (max-width: 760px) {
  .videoFocusTopbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .topRightMenus {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  .megaToolbar {
    grid-template-columns: 1fr !important;
  }

  .mainTransport,
  .toolbarButtons {
    grid-column: 1 / -1 !important;
  }

  .timelineReadout,
  .timelineSliderWrap,
  .lapComboRoot,
  .exportTopButton {
    justify-self: stretch !important;
    width: 100% !important;
  }

  .lapComboButton {
    width: 100% !important;
  }
}

@media (min-width: 761px) and (max-width: 1280px) {
  .megaToolbar {
    grid-template-columns: auto auto minmax(130px, 1fr) auto !important;
    align-items: center !important;
  }

  .toolbarButtons {
    grid-column: 1 / 4 !important;
    grid-row: 2 !important;
    justify-content: flex-start !important;
    align-self: center !important;
  }

  .exportTopButton {
    grid-column: 4 !important;
    grid-row: 2 !important;
    justify-self: end !important;
    align-self: center !important;
    min-width: 86px !important;
    height: 36px !important;
    padding: 7px 14px !important;
  }
}

@media (min-width: 761px) and (max-width: 1080px) {
  .toolbarButtons {
    gap: 5px !important;
  }

  .toolbarCategoryBtn {
    padding: 7px 9px !important;
    min-height: 34px !important;
  }

  .toolbarIconBtn,
  .sourceIconBtn,
  .settingsIconBtn {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    padding: 6px !important;
  }

  .exportTopButton {
    min-width: 78px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

@media (max-width: 760px) {
  .exportTopButton {
    grid-row: auto !important;
    grid-column: 1 / -1 !important;
  }
}

.exportTopButton {
  width: auto !important;
  min-width: 0 !important;
  max-width: max-content !important;
  padding: 7px 13px !important;
  justify-self: end !important;
}

.timelineReadout {
  min-width: 62px !important;
}

.timelineReadout strong,
#currentTelemetryLabelClone {
  font-size: 10px !important;
  line-height: 1 !important;
}

#syncCurrentLabel,
#currentTelemetryLabel,
#currentVideoLabel,
#syncVideoLabel,
#syncTelemetryLabel,
.timelineRangePill,
#exportRangeLabel {
  font-size: 10px !important;
  line-height: 1.05 !important;
}

.syncMiniControl #btnApplySync {
  min-width: 112px !important;
}

@media (min-width: 761px) and (max-width: 1280px) {
  .exportTopButton {
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    padding: 7px 13px !important;
  }
}

.lapComboDropdown {
  max-height: min(72vh, 680px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 6px !important;
  gap: 4px !important;
  scrollbar-width: thin;
}

.lapComboRow {
  grid-template-columns: minmax(128px, 1fr) auto !important;
  gap: 5px !important;
}

.lapComboMain,
.lapComboRangeBtn {
  min-height: 28px !important;
  padding: 5px 8px !important;
  border-radius: 10px !important;
}

.lapComboMain {
  font-size: 11px !important;
  line-height: 1.05 !important;
  letter-spacing: .015em !important;
}

.lapComboRangeBtn {
  font-size: 10px !important;
  line-height: 1 !important;
  padding: 5px 9px !important;
  color: #e0f2fe !important;
  background:
    radial-gradient(circle at 30% 15%, rgba(125, 211, 252, .35), transparent 35%),
    linear-gradient(180deg, #2563eb, #0f3fa9) !important;
  border-color: rgba(147, 197, 253, .62) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 8px 18px rgba(37,99,235,.22) !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

.lapComboRangeBtn:hover {
  background:
    radial-gradient(circle at 30% 15%, rgba(191, 219, 254, .45), transparent 35%),
    linear-gradient(180deg, #3b82f6, #1d4ed8) !important;
  border-color: rgba(191, 219, 254, .78) !important;
}

.lapComboRow.active .lapComboRangeBtn {
  color: #082f49 !important;
  background: linear-gradient(180deg, #bae6fd, #38bdf8) !important;
  border-color: rgba(186, 230, 253, .9) !important;
}

[data-tooltip] {
  position: relative;
}

[data-tooltip]::after,
[data-tooltip]::before {
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, 7px) scale(.98);
  transition: opacity .14s ease, transform .14s ease;
}

[data-tooltip]::after {
  content: attr(data-tooltip);
  position: absolute;
  z-index: 2147483600;
  left: 50%;
  top: calc(100% + 10px);
  max-width: min(320px, 70vw);
  width: max-content;
  padding: 9px 11px;
  border-radius: 13px;
  color: #f8fafc;
  background:
    radial-gradient(circle at 20% 0%, rgba(125, 211, 252, .22), transparent 38%),
    linear-gradient(180deg, rgba(15, 23, 42, .98), rgba(2, 6, 23, .96));
  border: 1px solid rgba(147, 197, 253, .34);
  box-shadow: 0 14px 34px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.07);
  font: 800 11px/1.35 Inter, "Segoe UI", Arial, sans-serif;
  letter-spacing: .01em;
  white-space: normal;
  text-align: left;
}

[data-tooltip]::before {
  content: "";
  position: absolute;
  z-index: 2147483599;
  left: 50%;
  top: calc(100% + 4px);
  width: 10px;
  height: 10px;
  background: rgba(15, 23, 42, .98);
  border-left: 1px solid rgba(147, 197, 253, .34);
  border-top: 1px solid rgba(147, 197, 253, .34);
  transform: translate(-50%, 7px) rotate(45deg) scale(.98);
}

[data-tooltip]:hover::after,
[data-tooltip]:focus-visible::after,
[data-tooltip]:hover::before,
[data-tooltip]:focus-visible::before {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

[data-tooltip]:hover::before,
[data-tooltip]:focus-visible::before {
  transform: translate(-50%, 0) rotate(45deg) scale(1);
}

.finishLineIconBtn {
  color: #f8fafc !important;
}

.finishLineIconBtn:hover {
  color: #111827 !important;
  background: linear-gradient(180deg, #f8fafc, #cbd5e1) !important;
  border-color: rgba(248,250,252,.85) !important;
}

.checkeredFlagIcon svg {
  stroke-width: 1.75;
}

.lapComboMain {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  text-align: left !important;
}

.lapComboColorBox {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(255,255,255,.22), 0 0 10px rgba(255,255,255,.08);
}

.lapComboLabel {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-tooltip]::after,
[data-tooltip]::before {
  display: none !important;
}

.foxlapTooltipPortal {
  position: fixed;
  z-index: 2147483647;
  pointer-events: none;
  opacity: 0;
  transform: translateY(6px) scale(.985);
  transition: opacity .12s ease, transform .12s ease;
  max-width: min(420px, calc(100vw - 20px));
}

.foxlapTooltipPortal.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.foxlapTooltipBubble {
  position: relative;
  padding: 12px 14px;
  border-radius: 15px;
  color: #f8fafc;
  background:
    radial-gradient(circle at 18% 0%, rgba(125, 211, 252, .28), transparent 40%),
    linear-gradient(180deg, rgba(15, 23, 42, .98), rgba(2, 6, 23, .97));
  border: 1px solid rgba(147, 197, 253, .44);
  box-shadow:
    0 18px 42px rgba(0,0,0,.52),
    inset 0 1px 0 rgba(255,255,255,.09);
  font: 850 13px/1.42 Inter, "Segoe UI", Arial, sans-serif;
  letter-spacing: .01em;
  text-align: left;
  white-space: normal;
}

.foxlapTooltipArrow {
  position: absolute;
  top: -5px;
  width: 11px;
  height: 11px;
  transform: rotate(45deg);
  background: rgba(15, 23, 42, .98);
  border-left: 1px solid rgba(147, 197, 253, .44);
  border-top: 1px solid rgba(147, 197, 253, .44);
}

.foxlapTooltipPortal.above .foxlapTooltipArrow {
  top: auto;
  bottom: -5px;
  border-left: 0;
  border-top: 0;
  border-right: 1px solid rgba(147, 197, 253, .44);
  border-bottom: 1px solid rgba(147, 197, 253, .44);
}

.themeCard.missing,
.themeCard:disabled.missing {
  opacity: .48;
  cursor: not-allowed;
  filter: grayscale(.35);
}

.themeCard.missing em {
  color: #fca5a5;
}

.accountMenu {
  position: relative;
  z-index: 20;
}

.accountMenuButton {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 38px;
  padding: 0 12px 0 8px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(15, 23, 42, 0.72);
  color: #f8fafc;
  font-weight: 800;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
}

.accountAvatar {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f3d983, #22c55e);
  color: #0f172a;
  font-weight: 1000;
  font-size: 12px;
  border: 1px solid rgba(255,255,255,0.65);
}

.accountMenuLabel {
  max-width: 150px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.accountDropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  min-width: 245px;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(12, 18, 30, 0.97);
  box-shadow: 0 22px 60px rgba(0,0,0,0.42);
  backdrop-filter: blur(18px);
}

.accountDropdownHeader {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 10px;
  align-items: center;
  padding: 8px 8px 12px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
  margin-bottom: 6px;
}

.accountDropdownHeader strong {
  display: block;
  color: #f8fafc;
  font-size: 14px;
}

.accountDropdownHeader span {
  display: block;
  color: rgba(226,232,240,0.74);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.accountDropdown button,
.accountDropdown a,
.layoutDropdownSection button {
  width: 100%;
  display: block;
  text-align: left;
  color: #e5e7eb;
  background: transparent;
  border: 0;
  border-radius: 10px;
  padding: 10px 10px;
  text-decoration: none;
  font-weight: 750;
  cursor: pointer;
}

.accountDropdown button:hover,
.accountDropdown a:hover,
.layoutDropdownSection button:hover {
  background: rgba(255,255,255,0.08);
}

.accountDropdown .dangerItem {
  color: #fecaca;
}

.layoutDropdownSection {
  border-top: 1px solid rgba(255,255,255,0.10);
  margin-top: 6px;
  padding-top: 6px;
}

.layoutDropdownSectionTitle {
  padding: 8px 10px 4px;
  color: rgba(226,232,240,0.62);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 900;
}

.authModal,
.themeModal {
  z-index: 1000;
}

.authModal.hidden {
  display: none;
}

.authModalBackdrop {
  position: fixed;
  inset: 0;
  background: rgba(2, 6, 23, 0.72);
  backdrop-filter: blur(8px);
}

.authModalWindow {
  position: fixed;
  left: 50%;
  top: 50%;
  width: min(480px, calc(100vw - 32px));
  max-height: calc(100vh - 40px);
  overflow: auto;
  transform: translate(-50%, -50%);
  padding: 24px;
  border-radius: 24px;
}

.authModalHeader {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 18px;
}

.authModalHeader h2 {
  margin: 6px 0 4px;
}

.authStatus {
  color: rgba(226,232,240,0.75);
  margin: 0;
}

.authStatus.error {
  color: #fecaca;
}

.authStatus.ok {
  color: #bbf7d0;
}

.authTabs,
.themeTabs {
  display: flex;
  gap: 8px;
  margin-bottom: 14px;
}

.authTab,
.themeTab {
  flex: 1;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(15,23,42,0.74);
  color: #dbeafe;
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 900;
  cursor: pointer;
}

.authTab.active,
.themeTab.active {
  background: rgba(243,217,131,0.22);
  color: #fef3c7;
  border-color: rgba(243,217,131,0.55);
}

.authForm {
  display: grid;
  gap: 12px;
}

.authForm.hidden {
  display: none;
}

.authForm label {
  display: grid;
  gap: 6px;
  font-weight: 800;
  color: rgba(248,250,252,0.88);
}

.authForm input {
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(2,6,23,0.54);
  color: #f8fafc;
  border-radius: 12px;
  padding: 12px 12px;
  outline: none;
}

.authFormActions,
.guestExportActions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.themeListPanel {
  min-width: 260px;
  max-width: 300px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.themeCard {
  position: relative;
}

.themeDeleteBtn {
  position: absolute;
  right: 9px;
  top: 9px;
  width: auto !important;
  padding: 4px 8px !important;
  border-radius: 999px !important;
  background: rgba(239,68,68,0.16) !important;
  color: #fecaca !important;
  border: 1px solid rgba(239,68,68,0.25) !important;
  font-size: 11px !important;
}

.themeDeleteBtn:hover {
  background: rgba(239,68,68,0.30) !important;
}

.themeCard.userThemeCard strong {
  padding-right: 54px;
}

#guestExportModal {
  position: fixed;
  inset: 0;
  z-index: 50000;
}

#guestExportModal .authModalBackdrop {
  z-index: 50001;
}

#guestExportModal .authModalWindow {
  z-index: 50002;
  box-shadow: 0 32px 110px rgba(0,0,0,0.68), 0 0 0 1px rgba(243,217,131,0.18);
}

#authModal {
  position: fixed;
  inset: 0;
  z-index: 45000;
}

#authModal .authModalBackdrop {
  z-index: 45001;
}

#authModal .authModalWindow {
  z-index: 45002;
}

.gpxServerProgressOverlay {
  position: fixed;
  inset: 0;
  z-index: 99980;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px;
  background:
    radial-gradient(circle at 50% 35%, rgba(255, 205, 120, 0.14), transparent 34%),
    rgba(2, 4, 10, 0.58);
  backdrop-filter: blur(8px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease;
}

.gpxServerProgressOverlay.visible {
  opacity: 1;
  pointer-events: auto;
}

.gpxServerProgressCard {
  position: relative;
  width: min(560px, calc(100vw - 42px));
  overflow: hidden;
  border: 1px solid rgba(255, 220, 160, 0.34);
  border-radius: 26px;
  padding: 24px 24px 22px;
  color: #f8f5ee;
  background:
    linear-gradient(145deg, rgba(20, 23, 32, 0.96), rgba(7, 10, 18, 0.94)),
    radial-gradient(circle at top left, rgba(255, 190, 80, 0.24), transparent 38%);
  box-shadow:
    0 28px 90px rgba(0, 0, 0, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.gpxServerProgressGlow {
  position: absolute;
  width: 240px;
  height: 240px;
  right: -90px;
  top: -120px;
  background: radial-gradient(circle, rgba(255, 200, 95, 0.32), transparent 68%);
  filter: blur(4px);
  pointer-events: none;
}

.gpxServerProgressHeader {
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 18px;
}

.gpxServerProgressHeader h2 {
  margin: 7px 0 0;
  font-size: 24px;
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.gpxServerProgressPercent {
  min-width: 74px;
  text-align: right;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #ffd37a;
  text-shadow: 0 0 24px rgba(255, 190, 80, 0.42);
}

.gpxServerProgressStage {
  position: relative;
  margin-bottom: 11px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 234, 198, 0.94);
}

.gpxServerProgressBar {
  position: relative;
  height: 14px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.10);
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.55);
}

.gpxServerProgressFill {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0%;
  border-radius: inherit;
  background:
    linear-gradient(90deg, #ff8d2a, #ffd66f, #fff0b8);
  box-shadow:
    0 0 22px rgba(255, 190, 80, 0.65),
    inset 0 1px 0 rgba(255, 255, 255, 0.35);
  transition: width 160ms ease;
}

.gpxServerProgressFill::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,0.42) 45%, transparent 70%);
  transform: translateX(-100%);
  animation: gpxServerProgressShine 1.25s infinite;
}

@keyframes gpxServerProgressShine {
  to { transform: translateX(100%); }
}

.gpxServerProgressDetail {
  position: relative;
  margin-top: 14px;
  font-size: 14px;
  line-height: 1.45;
  color: rgba(246, 240, 226, 0.86);
}

.gpxServerProgressMeta {
  position: relative;
  min-height: 18px;
  margin-top: 9px;
  font-size: 12px;
  color: rgba(255, 215, 150, 0.78);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.themeModalWindow {
  display: flex;
  flex-direction: column;
  width: min(980px, calc(100vw - 44px));
  max-height: min(760px, calc(100vh - 44px));
  padding: 20px 22px;
}

.themeModalHeader {
  align-items: center;
  margin-bottom: 12px;
}

.themeModalHeader h2 {
  margin: 2px 0 2px;
  font-size: 23px;
}

.themeStatus {
  font-size: 12.5px;
}

.themeModalBody {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
}

.themeListPanel {
  min-height: 0;
  max-height: calc(min(760px, calc(100vh - 44px)) - 112px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 10px;
}

.themeTabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 5px;
  border: 1px solid rgba(255,255,255,0.13);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(15,23,42,0.82), rgba(2,6,23,0.52)),
    radial-gradient(circle at 20% 0%, rgba(243,217,131,0.16), transparent 48%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}

.themeTab {
  min-height: 44px;
  padding: 8px 10px !important;
  border-radius: 14px !important;
  font-size: 13px;
  line-height: 1.05;
  transform: none !important;
}

.themeTab.active {
  background:
    linear-gradient(135deg, rgba(243,217,131,0.34), rgba(243,217,131,0.16)) !important;
  border-color: rgba(243,217,131,0.66) !important;
  box-shadow:
    0 10px 26px rgba(0,0,0,0.28),
    inset 0 1px 0 rgba(255,255,255,0.14);
}

.themeList {
  min-height: 0;
  max-height: calc(min(760px, calc(100vh - 44px)) - 176px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 6px;
  scrollbar-width: thin;
  scrollbar-color: rgba(243,217,131,0.55) rgba(15,23,42,0.48);
}

.themeList::-webkit-scrollbar {
  width: 8px;
}

.themeList::-webkit-scrollbar-track {
  background: rgba(15,23,42,0.48);
  border-radius: 999px;
}

.themeList::-webkit-scrollbar-thumb {
  background: rgba(243,217,131,0.55);
  border-radius: 999px;
}

.themeCard {
  padding: 12px 13px;
  border-radius: 16px;
}

.themeCard strong {
  font-size: 15px;
}

.themeCard small {
  font-size: 12.5px;
}

.themePreviewPanel {
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.themeModalActions {
  margin-top: 12px;
}

.themePreviewHint {
  margin-top: 10px;
  line-height: 1.35;
}

@media (max-width: 760px) {
  .themeModalWindow {
    max-height: calc(100vh - 24px);
    padding: 16px;
  }

  .themeModalBody {
    grid-template-columns: 1fr;
  }

  .themeListPanel,
  .themeList {
    max-height: 260px;
  }
}

.themeModalWindow {
  width: min(960px, calc(100vw - 48px));
  max-height: min(720px, calc(100vh - 42px));
  padding: 20px 22px 18px;
}

.themeModalBody {
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 18px;
}

.themeListPanel {
  min-width: 250px;
  max-width: 260px;
  max-height: 476px;
  gap: 8px;
}

.themeTabs {
  gap: 5px;
  padding: 4px;
  border-radius: 17px;
  background:
    linear-gradient(180deg, rgba(13,19,31,0.92), rgba(4,8,16,0.78)),
    radial-gradient(circle at 12% 0%, rgba(243,217,131,0.18), transparent 45%);
}

.themeTab {
  min-height: 42px !important;
  height: 42px !important;
  padding: 7px 9px !important;
  border-radius: 13px !important;
  font-size: 13px !important;
  letter-spacing: -0.015em;
}

.themeList {
  gap: 7px !important;
  max-height: 398px !important;
  padding-right: 7px;
}

.themeCard {
  min-height: 53px;
  padding: 9px 12px !important;
  border-radius: 14px !important;
  border-color: rgba(148,163,184,0.18) !important;
  background:
    linear-gradient(180deg, rgba(17,24,39,0.74), rgba(5,8,13,0.76)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.035),
    0 8px 18px rgba(0,0,0,0.18);
  transform: none !important;
}

.themeCard:hover,
.themeCard:focus-visible {
  border-color: rgba(243,217,131,0.54) !important;
  background:
    linear-gradient(180deg, rgba(30,41,59,0.82), rgba(8,13,24,0.82)) !important;
  box-shadow:
    0 0 0 1px rgba(243,217,131,0.16),
    0 10px 22px rgba(0,0,0,0.25) !important;
}

.themeCard strong {
  font-size: 14.5px !important;
  line-height: 1.08;
  margin-bottom: 3px !important;
  letter-spacing: -0.025em;
}

.themeCard small {
  font-size: 12px !important;
  line-height: 1.12;
  color: rgba(226,232,240,0.64) !important;
}

.themeCard.selected {
  border-color: rgba(243,217,131,0.76) !important;
  background:
    linear-gradient(135deg, rgba(243,217,131,0.19), rgba(15,23,42,0.85) 48%, rgba(5,8,13,0.82)) !important;
  box-shadow:
    0 0 0 1px rgba(243,217,131,0.18),
    0 10px 22px rgba(0,0,0,0.28) !important;
}

.themeCard.selected::after {
  display: none !important;
}

.themeDeleteBtn {
  top: 8px;
  right: 8px;
  padding: 3px 7px !important;
  font-size: 10px !important;
}

.themeSelectedLabel {
  margin-top: 10px;
  padding: 9px 11px;
  border-radius: 13px;
}

.themePreviewHint {
  max-width: 650px;
  font-size: 12.5px;
}

.themeModalActions {
  align-items: center;
  min-height: 48px;
}

#themePreviewCanvas {
  border-radius: 20px;
}

@media (max-width: 760px) {
  .themeListPanel {
    max-width: none;
    max-height: 270px;
  }

  .themeList {
    max-height: 210px !important;
  }

  .themeCard {
    min-height: 50px;
  }
}

.foxlapMessageBox {
  position: fixed;
  inset: 0;
  z-index: 2147483600;
  display: grid;
  place-items: center;
  padding: 28px;
}

.foxlapMessageBox.hidden {
  display: none;
}

.foxlapMessageBackdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 36%, rgba(243,217,131,0.13), transparent 32%),
    rgba(2,6,23,0.68);
  backdrop-filter: blur(8px);
}

.foxlapMessageCard {
  position: relative;
  width: min(520px, calc(100vw - 42px));
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 16px;
  padding: 22px;
  border-radius: 24px;
  border: 1px solid rgba(243,217,131,0.26);
  background:
    linear-gradient(145deg, rgba(15,23,42,0.96), rgba(3,7,18,0.96)),
    radial-gradient(circle at 0% 0%, rgba(243,217,131,0.16), transparent 44%);
  box-shadow:
    0 34px 100px rgba(0,0,0,0.62),
    inset 0 1px 0 rgba(255,255,255,0.06);
}

.foxlapMessageIcon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  font-weight: 1000;
  font-size: 28px;
  color: #fff7ed;
  background: linear-gradient(135deg, rgba(239,68,68,0.95), rgba(127,29,29,0.95));
  box-shadow: 0 12px 26px rgba(239,68,68,0.24);
}

.foxlapMessageBox.info .foxlapMessageIcon {
  background: linear-gradient(135deg, rgba(59,130,246,0.96), rgba(30,64,175,0.96));
  box-shadow: 0 12px 26px rgba(59,130,246,0.22);
}

.foxlapMessageBox.warning .foxlapMessageIcon {
  background: linear-gradient(135deg, rgba(245,158,11,0.96), rgba(146,64,14,0.96));
  box-shadow: 0 12px 26px rgba(245,158,11,0.22);
}

.foxlapMessageTitle {
  color: #f8fafc;
  font-weight: 950;
  font-size: 18px;
  letter-spacing: -0.02em;
  margin: 2px 0 7px;
}

.foxlapMessageText {
  color: rgba(226,232,240,0.82);
  font-weight: 650;
  font-size: 14px;
  line-height: 1.45;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.foxlapMessageActions {
  display: flex;
  justify-content: flex-end;
  margin-top: 18px;
}

.exportSettingsWindow {
  width: min(960px, calc(100vw - 44px)) !important;
}

.exportSettingsBody {
  padding: 18px 22px 8px 22px;
  display: grid;
  gap: 14px;
}

.exportSettingsSection {
  border-radius: 18px;
  background: rgba(255,255,255,0.035);
  border: 1px solid rgba(255,255,255,0.075);
  padding: 14px;
}

.exportSettingsSectionTitle {
  margin: 0 0 10px 0;
  color: var(--champagne-2);
  font-size: 11px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.exportSettingsGridMain {
  display: grid !important;
  grid-template-columns: 1.25fr 1fr 1fr 1fr !important;
  gap: 12px !important;
  padding: 0 !important;
}

.exportBitrateRow {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(120px, 170px) minmax(250px, 1.7fr);
  gap: 12px;
  align-items: end;
}

.exportSummaryLine {
  display: grid;
  grid-template-columns: minmax(210px, max-content) minmax(130px, 180px) minmax(0, 1fr);
  gap: 14px;
  align-items: end;
}

.exportSummaryDurationField {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.exportChromaKeyRow {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 120px minmax(280px, 2fr);
  gap: 12px;
  align-items: end;
}

.exportRangeInputs {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr) minmax(0, 2fr);
  gap: 12px;
}

.exportBitrateRow label,
.exportChromaKeyRow label,
.exportRangeInputs label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.exportInlineInput {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 11px;
  border-radius: 13px;
  background: rgba(2, 6, 14, .58);
  border: 1px solid rgba(255,255,255,.12);
}

.exportInlineInput input {
  min-height: 0 !important;
  height: 34px;
  flex: 1 1 auto;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}

.exportInlineInput span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.exportFieldHint,
.exportChromaHelp {
  min-height: 42px;
  display: flex;
  align-items: center;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(233,199,86,.07);
  border: 1px solid rgba(233,199,86,.16);
  color: rgba(255,255,255,.72);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 750;
}

.exportSettingsGrid {
  padding: 0 !important;
}

.exportSettingsGrid input,
.exportSettingsGrid select,
.exportBitrateRow input,
.exportBitrateRow select,
.exportChromaKeyRow input,
.exportChromaKeyRow select,
.exportRangeInputs input {
  min-height: 42px;
}

@media (max-width: 980px) {
  .exportSettingsGridMain,
  .exportBitrateRow,
  .exportSummaryLine,
  .exportChromaKeyRow,
  .exportRangeInputs {
    grid-template-columns: 1fr !important;
  }

  .exportSettingsBody {
    padding: 14px;
  }
}

.exportSettingsWindow {
  width: min(940px, calc(100vw - 44px)) !important;
}

.exportModalHeader {
  padding: 16px 22px 12px 22px !important;
}

.exportSettingsBody {
  padding: 14px 22px 4px 22px !important;
  gap: 10px !important;
}

.exportSettingsSection {
  padding: 10px 14px !important;
  border-radius: 16px !important;
}

.exportSettingsSectionTitle {
  margin-bottom: 8px !important;
  font-size: 11px !important;
}

.exportSettingsGridMain {
  gap: 10px !important;
}

.exportBitrateRow {
  grid-template-columns: minmax(170px, 1fr) minmax(112px, 145px) minmax(250px, 1.6fr) !important;
  gap: 10px !important;
}

.exportSummaryLine {
  grid-template-columns: minmax(190px, max-content) minmax(120px, 170px) minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
}

.exportChromaKeyRow {
  grid-template-columns: minmax(170px, 1fr) 118px minmax(280px, 2fr) !important;
  gap: 10px !important;
}

.exportFieldHint,
.exportChromaHelp {
  min-height: 38px !important;
  padding: 8px 11px !important;
  font-size: 12px !important;
}

.exportSettingsGrid input,
.exportSettingsGrid select,
.exportBitrateRow input,
.exportBitrateRow select,
.exportChromaKeyRow input,
.exportChromaKeyRow select,
.exportInlineInput,
.exportSummaryDurationField select {
  min-height: 40px !important;
}

.exportRangeModalHint {
  margin: 8px 22px 0 22px !important;
  padding: 10px 14px !important;
}

.exportModalActions {
  padding: 14px 22px 18px 22px !important;
}

#exportStartMs[type="hidden"],
#exportEndMs[type="hidden"] {
  display: none !important;
}

.foxlapMessageDontRemindLine {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  color: rgba(255,255,255,.78);
  font-size: 13px;
  font-weight: 800;
  user-select: none;
}

.foxlapMessageDontRemindLine input {
  width: 16px;
  height: 16px;
  accent-color: #e9c756;
}

.lapComboLabel {
  white-space: nowrap;
  letter-spacing: .01em;
}

.lapComboMain {
  gap: 12px;
}

.manualGateEditorModal.hidden { display: none; }
.manualGateEditorModal {
  position: fixed;
  inset: 0;
  z-index: 10030;
  display: grid;
  place-items: center;
}
.manualGateEditorBackdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.62);
  backdrop-filter: blur(8px);
}
.manualGateEditorCard {
  position: relative;
  width: min(1060px, calc(100vw - 38px));
  max-height: calc(100vh - 38px);
  overflow: auto;
  padding: 18px;
  border-radius: 24px;
}
.manualGateEditorHeader {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 14px;
}
.manualGateEditorHeader h3 {
  margin: 2px 0 3px 0;
  font-size: 24px;
}
.manualGateEditorHeader p,
.manualGateEditorHint {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
}
#manualGateEditorCanvas {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: #050816;
}
.manualGateEditorTimeline {
  margin-top: 14px;
  display: grid;
  gap: 8px;
}
#manualGateEditorSlider { width: 100%; }
.manualGateEditorInfo {
  color: rgba(255,255,255,.78);
  font-size: 12px;
  font-weight: 850;
}
.manualGateEditorControls {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.manualGateEditorControls button { min-height: 38px; }
.manualGateEditorHint { margin-top: 10px; }

.toolbarCategoryPane[data-toolbar-panel="finish"],
.toolbarCategoryPane[data-toolbar-panel="sectors"] {
  display: none !important;
}

.trackEditorToolbarBtn {
  min-width: 126px;
  font-weight: 1000;
}

.manualGateEditorCard {
  width: min(1180px, calc(100vw - 34px)) !important;
}

.manualGateEditorHeader h3 {
  font-size: 26px !important;
}

.manualGateEditorTopControls {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 12px 0;
}

.manualGateEditorTopControls label {
  display: grid;
  gap: 5px;
  color: rgba(255,255,255,.72);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 900;
}

.manualGateEditorTopControls select {
  min-width: 220px;
  min-height: 38px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  color: #fff;
  padding: 0 12px;
  font-weight: 850;
}

.manualGateEditorTopControls button {
  min-height: 38px;
  border-radius: 12px;
}

#manualGateEditorCanvas {
  cursor: grab;
}

#manualGateEditorCanvas:active {
  cursor: grabbing;
}

.manualGateEditorCard {
  width: min(1120px, calc(100vw - 28px)) !important;
  max-height: calc(100vh - 28px) !important;
  overflow: hidden !important;
  padding: 14px !important;
}

.manualGateEditorHeader {
  margin-bottom: 9px !important;
}

.manualGateEditorHeader h3 {
  font-size: 23px !important;
}

.manualGateEditorHeader p {
  font-size: 12px !important;
}

.manualGateEditorTopControls {
  margin-bottom: 8px !important;
}

#manualGateEditorCanvas {
  max-height: 430px !important;
}

.manualGateEditorTimeline {
  margin-top: 9px !important;
  gap: 5px !important;
}

.manualGateEditorControls {
  margin-top: 8px !important;
  gap: 7px !important;
}

.manualGateEditorControls button,
.manualGateEditorTopControls button {
  min-height: 34px !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

.manualGateEditorHint {
  margin-top: 7px !important;
  font-size: 12px !important;
}

.gpxEditorToolbarBtn {
  min-width: 112px;
  font-weight: 1000;
}

.gpxEditorCard {
  width: min(1120px, calc(100vw - 28px)) !important;
  max-height: calc(100vh - 28px) !important;
  overflow: hidden !important;
  padding: 14px !important;
}

#gpxEditorCanvas {
  display: block;
  width: 100%;
  height: auto;
  max-height: 430px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: #050816;
  cursor: grab;
}

#gpxEditorCanvas:active {
  cursor: grabbing;
}

.gpxEditorMovePad {
  display: grid;
  place-items: center;
  gap: 4px;
  margin-top: 8px;
}

.gpxEditorMovePad > div {
  display: flex;
  gap: 6px;
}

.gpxEditorMovePad button {
  min-width: 46px;
  min-height: 34px;
  border-radius: 12px;
  font-weight: 1000;
}

.gpxEditorActions {
  justify-content: flex-end;
}

.manualGateEditorTopControls input[type="text"],
.manualGateEditorTopControls select {
  background: rgba(15,23,42,.96) !important;
  color: #fff !important;
}

.manualGateEditorTopControls select option,
.manualGateEditorTopControls select optgroup {
  background: #111827 !important;
  color: #fff !important;
}

.editorCheckLabel {
  display: inline-flex !important;
  align-items: center;
  gap: 8px !important;
  min-height: 38px;
  padding: 0 10px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.86) !important;
  font-size: 12px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.editorCheckLabel input {
  width: 16px;
  height: 16px;
  accent-color: #e9c756;
}

.manualGateEditorTopControls input[type="text"] {
  min-width: 210px;
  min-height: 38px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.14);
  padding: 0 12px;
  font-weight: 850;
}

.gpxEditorMovePad {
  margin-top: 6px !important;
}

.foxlapPromptInput {
  margin-top: 14px;
  width: min(420px, 100%);
  min-height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(15,23,42,.92);
  color: #fff;
  padding: 0 14px;
  font-size: 15px;
  font-weight: 850;
  outline: none;
}

.foxlapPromptInput:focus {
  border-color: rgba(233,199,86,.82);
  box-shadow: 0 0 0 3px rgba(233,199,86,.14);
}

.foxlapMessageCancel {
  min-height: 40px;
  border-radius: 999px;
  padding: 0 18px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.86);
  font-weight: 900;
}

.mobileUnsupported {
  display: none;
}

@media (max-width: 900px), (pointer: coarse) and (max-width: 1180px) {
  body {
    overflow: hidden;
  }

  .topRightMenus,
  .workspace,
  .timelineToolbar,
  .mobileHideOnUnsupported {
    display: none !important;
  }

  .videoFocusTopbar {
    min-height: 86px;
    justify-content: center;
    padding: 14px 16px !important;
  }

  .brandWrap {
    max-width: calc(100vw - 24px);
  }

  .seoSubtitle {
    display: none;
  }

  .mobileUnsupported {
    display: grid;
    place-items: center;
    text-align: center;
    margin: 34px auto 0 auto;
    width: min(520px, calc(100vw - 32px));
    padding: 28px 22px;
    border-radius: 26px;
  }

  .mobileUnsupportedIcon {
    width: 66px;
    height: 66px;
    border-radius: 22px;
    display: grid;
    place-items: center;
    font-size: 34px;
    background: rgba(233,199,86,.16);
    border: 1px solid rgba(233,199,86,.28);
    margin-bottom: 14px;
  }

  .mobileUnsupported h1 {
    margin: 0 0 10px 0;
    font-size: 30px;
    line-height: 1.05;
  }

  .mobileUnsupported p {
    margin: 6px 0 0 0;
    color: rgba(255,255,255,.74);
    font-weight: 760;
    line-height: 1.42;
  }
}

.trackEditorToolbarBtn,
.gpxEditorToolbarBtn {
  width: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  justify-content: center;
}

.trackEditorToolbarBtn .toolbarSvgIcon,
.gpxEditorToolbarBtn .toolbarSvgIcon {
  width: 20px;
  height: 20px;
}

.browserPerfWarning {
  margin: 0 0 14px 0;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(239,68,68,.48);
  background: linear-gradient(135deg, rgba(239,68,68,.24), rgba(127,29,29,.34));
  color: #fff;
  box-shadow: 0 16px 50px rgba(127,29,29,.22);
  display: grid;
  gap: 4px;
}

.browserPerfWarning strong {
  color: #fecaca;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 1000;
}

.browserPerfWarning span {
  color: rgba(255,255,255,.9);
  font-size: 13px;
  line-height: 1.35;
  font-weight: 760;
}

.browserPerfWarningGlobal {
  width: min(1180px, calc(100vw - 28px));
  margin: 12px auto 0 auto;
  position: relative;
  z-index: 20;
}

.browserPerfWarning.compact {
  margin-bottom: 10px;
  padding: 10px 12px;
}

.browserPerfWarning.compact strong {
  font-size: 12px;
}

.browserPerfWarning.compact span {
  font-size: 12px;
}

@media (max-width: 900px), (pointer: coarse) and (max-width: 1180px) {
  .browserPerfWarningGlobal {
    display: none !important;
  }
}

.topRightMenus,
.layoutMenu,
.accountMenu {
  position: relative;
  z-index: 30020;
}

.layoutDropdown,
.accountDropdown {
  z-index: 30040 !important;
}

.browserPerfWarningGlobal {
  z-index: 30 !important;
}

.browserPerfWarning {
  position: relative;
  padding-right: 46px !important;
}

.browserPerfClose {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.10);
  color: #fff;
  font-size: 20px;
  line-height: 1;
  font-weight: 1000;
  cursor: pointer;
}

.browserPerfClose:hover {
  background: rgba(255,255,255,.18);
}

.browserPerfDontRemind {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 5px;
  color: rgba(255,255,255,.88);
  font-size: 12px;
  font-weight: 850;
  user-select: none;
}

.browserPerfDontRemind input {
  width: 15px;
  height: 15px;
  accent-color: #fecaca;
}

.browserExportBlocked {
  opacity: .55 !important;
  filter: grayscale(.35);
  cursor: not-allowed !important;
}

.toolbarIconSvg {
  width: 18px;
  height: 18px;
  display: inline-block;
  vertical-align: middle;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.15;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.srOnly {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.authForm select {
  width: 100%;
  min-height: 38px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(8,12,22,.72);
  color: rgba(255,255,255,.92);
  padding: 9px 10px;
  outline: none;
}

.authForm select option {
  background: #111827;
  color: #fff;
}


.widgetPaletteSvgIcon {
  display: grid;
  place-items: center;
  overflow: hidden;
  font-size: 0;
}

.widgetPaletteSvgIcon svg {
  width: 22px;
  height: 22px;
  display: block;
}

.speedDeltaMapPaletteIcon .sdmTrackBase {
  fill: none;
  stroke: rgba(255,255,255,.30);
  stroke-width: 5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.speedDeltaMapPaletteIcon .sdmTrackFast {
  fill: none;
  stroke: #38f27b;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.speedDeltaMapPaletteIcon .sdmDot {
  fill: #f3d983;
  stroke: rgba(0,0,0,.72);
  stroke-width: 1.5;
}
