:root {
  color-scheme: light dark;
  background-color: var(
    --background,
    var(--color-background-primary, light-dark(rgb(255 255 255), rgb(24 24 24)))
  ) !important;

  /* Agent-facing contract; keep in sync with SKILL.md. */
  --background: var(
    --color-background-primary,
    light-dark(rgb(255 255 255), rgb(24 24 24))
  );
  --foreground: var(
    --color-text-primary,
    light-dark(rgb(26 28 31), rgb(255 255 255))
  );
  --card: color-mix(in oklab, var(--foreground) 5%, var(--background));
  --card-foreground: var(
    --color-text-primary,
    light-dark(rgb(26 28 31), rgb(255 255 255))
  );
  --popover: var(
    --color-background-secondary,
    light-dark(rgb(255 255 255), rgb(45 45 45))
  );
  --popover-foreground: var(
    --color-text-primary,
    light-dark(rgb(26 28 31), rgb(255 255 255))
  );
  --primary: var(
    --color-text-info,
    light-dark(rgb(51 156 255), rgb(131 195 255))
  );
  --primary-foreground: var(
    --color-text-inverse,
    light-dark(rgb(255 255 255), rgb(13 13 13))
  );
  --secondary: var(
    --color-background-secondary,
    light-dark(rgb(255 255 255 / 96%), rgb(54 54 54 / 96%))
  );
  --secondary-foreground: var(
    --color-text-primary,
    light-dark(rgb(26 28 31), rgb(255 255 255))
  );
  --muted: color-mix(in srgb, var(--foreground) 10%, transparent);
  --muted-foreground: var(
    --color-text-secondary,
    light-dark(rgb(26 28 31 / 49.4%), rgb(255 255 255 / 49.8%))
  );
  --accent: var(
    --color-background-info,
    light-dark(rgb(229 242 255), rgb(13 39 63))
  );
  --accent-foreground: var(
    --color-text-info,
    light-dark(rgb(51 156 255), rgb(131 195 255))
  );
  --destructive: var(
    --color-text-warning,
    light-dark(rgb(226 85 7), rgb(255 133 73))
  );
  --border: var(
    --color-border-secondary,
    light-dark(rgb(26 28 31 / 8%), rgb(255 255 255 / 8.2%))
  );
  --input: var(
    --color-border-primary,
    light-dark(
      rgb(26 28 31 / 11.8%),
      color-mix(in oklab, rgb(0 0 0) 10%, transparent)
    )
  );
  --ring: var(
    --color-ring-primary,
    light-dark(rgb(51 156 255), rgb(131 195 255 / 76%))
  );
  --font-size-base: var(--font-text-md-size, 14px);
  --blue: light-dark(rgb(51 156 255), rgb(51 156 255));
  --orange: light-dark(rgb(226 85 7), rgb(251 106 34));
  --green: light-dark(rgb(0 162 64), rgb(64 201 119));
  --red: light-dark(rgb(224 46 42), rgb(255 103 100));
  --purple: light-dark(rgb(146 79 247), rgb(173 123 249));
  --yellow: light-dark(rgb(255 195 0), rgb(255 210 64));
  --viz-series-1: var(--primary);
  --viz-series-2: light-dark(rgb(243 136 59), rgb(245 154 86));
  --viz-series-3: light-dark(rgb(93 201 119), rgb(116 213 139));
  --viz-series-4: light-dark(rgb(235 119 177), rgb(240 143 192));
  --viz-series-5: light-dark(rgb(155 121 236), rgb(170 145 239));
  --viz-series-6: light-dark(rgb(58 185 177), rgb(90 203 194));

  /* Internal implementation variables; not part of the agent contract. */
  --font-sans: -apple-system, system-ui, "Segoe UI", sans-serif;
  --font-mono:
    ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono",
    monospace;
  --font-size-normal: max(11px, var(--font-size-base));
  --font-size-tooltip: calc(var(--font-size-base) - 1px);
  --font-size-small: max(11px, calc(var(--font-size-base) - 2px));
  --font-size-h1: calc(var(--font-size-normal) * 1.7142857143);
  --font-size-h2: calc(var(--font-size-normal) * 1.4285714286);
  --font-size-h3: calc(var(--font-size-normal) * 1.2857142857);
  --font-weight-normal: 430;
  --font-weight-medium: 500;
  --icon-size: 16px;
  --line-height-normal: calc(var(--font-size-normal) * 1.5);
  --line-height-tooltip: calc(var(--font-size-tooltip) * 1.4285714286);
  --line-height-small: calc(var(--font-size-small) + 4px);
  --corner-shape: round;
  --radius: var(--border-radius-lg, 10px);
  --radius-sm: calc(var(--radius) * 0.6);
  --radius-md: calc(var(--radius) * 0.8);
  --radius-lg: var(--radius);
  --radius-2xl: calc(var(--radius) * 1.6);
  --radius-full: 9999px;
  --shadow-sm: 0 1px 2px -1px rgb(0 0 0 / 8%);
  --checkmark-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 17'%3E%3Cpath d='M12.8961 3.64101C13.1297 3.41418 13.4984 3.37523 13.7779 3.56581C14.0571 3.75635 14.1554 4.11331 14.0299 4.41347L13.9615 4.53847L7.71151 13.7045C7.59411 13.8767 7.4063 13.9877 7.19881 14.0072C6.99136 14.0267 6.78564 13.9533 6.63826 13.806L2.88826 10.056L2.79842 9.9457C2.6192 9.67407 2.64927 9.30496 2.88826 9.06581C3.12738 8.82669 3.49647 8.79676 3.76815 8.97597L3.8785 9.06581L7.03084 12.2182L12.8053 3.74941L12.8961 3.64101Z'/%3E%3C/svg%3E");

  /* Legacy aliases; not part of the current agent contract. */
  --viz-bg: transparent;
  --viz-panel: var(--card);
  --viz-border: var(--border);
  --viz-text: var(--foreground);
  --viz-muted: var(--muted-foreground);
  --viz-accent: var(--primary);
  --viz-accent-text: var(--primary-foreground);
  --viz-accent-bg: var(--accent);
  --viz-font-size: var(--font-size-base);
  --viz-warning: var(--destructive);
}

:root[data-theme="light"] {
  color-scheme: light;
}

:root[data-theme="dark"] {
  color-scheme: dark;
}

* {
  box-sizing: border-box;
}

html > body {
  /* Preserve MCP aliases for older inline renderers without creating :root cycles. */
  --color-background-primary: var(
    --background,
    light-dark(rgb(255 255 255), rgb(24 24 24))
  );
  --color-text-primary: var(
    --foreground,
    light-dark(rgb(26 28 31), rgb(255 255 255))
  );
  --color-border-secondary: var(
    --border,
    light-dark(rgb(26 28 31 / 8%), rgb(255 255 255 / 8.2%))
  );

  margin: 0;
  padding: var(--visualize-paint-gutter, 0px);
  color: var(--foreground);
  background: transparent !important;
  font-family: var(--font-sans) !important;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-normal);
}

:root:not([data-app-block-surface], [data-visualize-standalone]) > body {
  padding: 12px;
}

a {
  color: color-mix(in srgb, var(--viz-accent) 80%, var(--viz-text) 20%);
  cursor: pointer;
  font-weight: var(--font-weight-medium, 500);
  text-decoration: none;
  text-underline-offset: 2px;
}

a:is(:hover, :focus-visible) {
  text-decoration-line: underline;
  text-decoration-style: dashed;
  text-decoration-thickness: 0.5px;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin-block: 0;
}

h1 {
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-medium);
  line-height: 1.25;
}

h2 {
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-medium);
  line-height: 1.25;
}

h3,
h4,
h5,
h6 {
  font-size: var(--font-size-h3);
  font-weight: var(--font-weight-medium);
  line-height: 1.3;
}

b,
strong,
th {
  font-weight: var(--font-weight-medium);
}

code:not(pre code) {
  display: inline;
  padding: 1px 6px;
  border-radius: var(--radius-sm);
  corner-shape: var(--corner-shape);
  background: var(--muted);
  font-family: var(--font-mono);
  font-size: 0.92em;
  overflow-wrap: anywhere;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  word-break: break-word;
}

.table-responsive {
  width: 100%;
  overflow-x: auto;
  scrollbar-width: thin;
}

.table {
  width: 100%;
  border-collapse: collapse;
  color: var(--foreground);
  font: inherit;
  text-align: start;
}

.table :is(th, td) {
  padding-block: 10px;
  padding-inline: 0 24px;
  overflow-wrap: anywhere;
  border-bottom: 1px solid var(--border);
  text-align: start;
  vertical-align: top;
}

.table-responsive > .table :is(th, td) {
  overflow-wrap: break-word;
}

.table :is(th, td):last-child {
  padding-inline-end: 0;
}

.table :is(caption, thead th) {
  font-weight: 600;
}

.table thead th {
  padding-block: 8px;
  border-bottom-color: color-mix(in srgb, var(--foreground) 16%, transparent);
}

.table tbody tr:last-child :is(th, td) {
  border-bottom: 0;
}

.table.table-sm :is(th, td) {
  padding-block: 6px;
}

.table.table-sm :is(th, td):not(:last-child) {
  padding-inline-end: 16px;
}

.table :is(.text-end, [align="right"]) {
  text-align: end;
  font-variant-numeric: tabular-nums;
}

.table :is(.text-center, [align="center"]) {
  text-align: center;
}

.table .text-nowrap {
  white-space: nowrap;
}

#widget {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  padding: 0;
  background: transparent !important;
}

.card {
  min-width: 0;
  padding: 12px;
  overflow: hidden;
  overflow-wrap: break-word;
  border-radius: var(--radius-2xl);
  corner-shape: var(--corner-shape);
  color: var(--card-foreground);
  background: var(--card);
}

#widget > :not(.card, .progress) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.tooltip {
  position: fixed;
  z-index: 50;
  top: 0;
  left: 0;
  width: max-content;
  max-width: min(
    20rem,
    var(--tooltip-available-width, calc(100vw - 10px)),
    calc(100vw - 10px)
  );
  max-height: min(
    var(--tooltip-available-height, calc(100vh - 10px)),
    calc(100vh - 10px)
  );
  padding: 4px 8px;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  corner-shape: var(--corner-shape);
  color: var(--popover-foreground);
  background: var(--popover);
  box-shadow: none;
  font-size: var(--font-size-tooltip);
  line-height: var(--line-height-tooltip);
  overflow-wrap: break-word;
  white-space: normal;
  pointer-events: none;
  user-select: none;
}

/* The shared runtime owns data-tooltip; suppress AppBlock's pseudo-tooltip. */
main [data-tooltip]::after {
  content: none;
}

.viz-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(max(180px, 24%), 1fr));
  gap: 10px;
}

.viz-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.viz-stat-value {
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-medium);
  line-height: 1.25;
}

.viz-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

hr {
  width: 100%;
  height: 1px;
  margin-block: 6px;
  border: 0;
  background: var(--border);
}

.nav {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 4px;
}

.progress {
  display: flex;
  height: 8px;
  margin-block: calc((var(--line-height-normal, 1.5em) - 8px) / 2);
  overflow: hidden;
  border: 0;
  border-radius: var(--radius-full);
  background: var(--muted);
}

.progress-bar:only-child {
  border-radius: var(--radius-full);
}

.progress-bar {
  height: 100%;
  flex-shrink: 0;
  border: 0;
  background: var(--viz-series-1);
}

.viz-badge {
  padding: 3px 8px;
  border-radius: var(--radius-full);
  color: var(--accent-foreground);
  background: var(--accent);
  font-weight: var(--font-weight-medium);
}

small,
.text-small,
.viz-badge {
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}

.text-muted {
  color: var(--muted-foreground);
}

.tabular-nums {
  font-variant-numeric: tabular-nums;
}

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

.viz-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.viz-controls > .form-label {
  display: grid;
  min-width: min(100%, 260px);
  flex: 1 1 280px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 2px 12px;
  margin-bottom: 0;
}

.viz-controls > .form-label > :is(.form-control, .form-range, .form-select) {
  grid-column: 1 / -1;
}

.btn,
.nav-link,
.form-check-input,
.form-control,
.form-range,
.form-select {
  font: inherit;
}

.btn,
.nav-link {
  appearance: button;
  display: inline-flex;
  inline-size: fit-content;
  max-inline-size: 100%;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin: 0;
  padding: 0 8px;
  -webkit-app-region: no-drag;
  border: 1px solid var(--input);
  border-radius: var(--radius-lg);
  corner-shape: var(--corner-shape);
  color: var(--secondary-foreground);
  background: var(--secondary);
  cursor: var(--cursor-interaction, pointer);
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  user-select: none;
  -webkit-font-smoothing: antialiased;
}

.btn:is(.btn-block, .viz-tile) {
  inline-size: 100%;
}

.btn.viz-tile {
  min-width: 0;
  overflow-wrap: anywhere;
  white-space: normal;
}

a.btn {
  cursor: pointer;
  text-decoration: none;
}

.btn:not(:disabled):hover,
.nav-link:not(:disabled):not([aria-disabled="true"]):hover {
  background: color-mix(in srgb, var(--foreground) 6%, var(--secondary));
}

.btn-primary {
  border-color: transparent;
  color: var(--primary-foreground);
  background: var(--foreground);
  background-clip: padding-box;
}

.btn-primary .text-muted {
  color: color-mix(in srgb, var(--primary-foreground) 50%, transparent);
}

.btn-primary:not(:disabled):hover {
  background: color-mix(in srgb, var(--foreground) 80%, transparent);
  background-clip: padding-box;
}

.btn-ghost {
  border-color: transparent;
  color: var(--muted-foreground);
  background: transparent;
}

.btn-ghost:not(:disabled):hover {
  color: var(--foreground);
  background: color-mix(in srgb, var(--foreground) 6%, var(--secondary));
}

.nav-pills .nav-link {
  min-width: 0;
  border-color: transparent;
  color: var(--muted-foreground);
  background: transparent;
}

.nav-justified .nav-link {
  flex: 1 1 0;
  overflow-wrap: anywhere;
  white-space: normal;
}

.nav-pills .nav-link.active {
  color: var(--foreground);
  background: var(--muted);
}

.btn:disabled,
.nav-link:disabled,
.nav-link[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.4;
}

[data-lucide] {
  stroke-width: 1.6;
}

.form-label {
  display: block;
  margin-bottom: 6px;
  color: var(--foreground);
}

.form-control {
  display: block;
  width: 100%;
  min-height: 28px;
  padding: 0 8px;
  outline: none;
  border: 1px solid var(--input);
  border-radius: var(--radius-lg);
  corner-shape: var(--corner-shape);
  color: var(--foreground);
  background: var(--secondary);
}

.form-control::placeholder {
  color: var(--muted-foreground);
}

.form-control[type="file"] {
  padding: 0;
  overflow: hidden;
  cursor: var(--cursor-interaction, pointer);
}

.form-control[type="file"]::file-selector-button {
  min-height: 26px;
  margin-right: 8px;
  padding: 0 8px;
  border: 0;
  border-right: 1px solid var(--input);
  color: var(--secondary-foreground);
  background: var(--secondary);
  cursor: inherit;
  font: inherit;
}

.form-control[type="file"]:not(:disabled):hover::file-selector-button {
  background: color-mix(in srgb, var(--foreground) 6%, var(--secondary));
}

.form-control-color[type="color"] {
  width: 40px;
  height: 28px;
  padding: 3px;
  cursor: var(--cursor-interaction, pointer);
}

.form-control-color[type="color"]::-webkit-color-swatch-wrapper {
  padding: 0;
}

.form-control-color[type="color"]::-webkit-color-swatch {
  border: 0;
  border-radius: calc(var(--radius-lg) - 4px);
  corner-shape: var(--corner-shape);
}

textarea.form-control {
  height: auto;
  min-height: 72px;
  padding: 8px 10px;
  resize: vertical;
}

.form-control:focus-visible {
  border-color: var(--ring);
  box-shadow: inset 0 0 0 1px var(--ring);
}

.form-control:disabled,
.form-select:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}

.form-select {
  appearance: none;
  display: block;
  width: 100%;
  min-height: 28px;
  margin: 0;
  padding: 0 32px 0 8px;
  outline: none;
  border: 1px solid var(--input);
  border-radius: var(--radius-lg);
  corner-shape: var(--corner-shape);
  color: var(--foreground);
  background-color: var(--secondary);
  background-image:
    linear-gradient(45deg, transparent 50%, var(--muted-foreground) 50%),
    linear-gradient(135deg, var(--muted-foreground) 50%, transparent 50%);
  background-position:
    calc(100% - 14px) 50%,
    calc(100% - 10px) 50%;
  background-repeat: no-repeat;
  background-size: 4px 4px;
  cursor: var(--cursor-interaction, default);
}

.form-select:not(:disabled):hover {
  background-color: color-mix(in srgb, var(--foreground) 6%, var(--secondary));
}

.form-select:focus-visible {
  border-color: var(--ring);
  box-shadow: inset 0 0 0 1px var(--ring);
}

.form-check {
  display: flex;
  min-height: 20px;
  align-items: center;
  gap: 6px;
}

.form-check-input {
  appearance: none;
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  margin: 0;
  border: 1px solid var(--input);
  color: var(--primary-foreground);
  background-color: transparent;
  cursor: var(--cursor-interaction, default);
  transition:
    background-color 150ms,
    border-color 150ms,
    box-shadow 150ms;
}

.form-check:not(.form-switch) .form-check-input[type="checkbox"] {
  border-color: var(--input);
  border-radius: var(--radius-sm);
  corner-shape: var(--corner-shape);
  background-color: var(--secondary);
  box-shadow: var(--shadow-sm);
}

.form-check:not(.form-switch)
  .form-check-input:not(:disabled):not(:checked):hover {
  background-color: var(--card);
}

.form-check:not(.form-switch) .form-check-input[type="checkbox"]:checked {
  border-color: var(--primary);
  background-color: var(--primary);
}

.form-check:not(.form-switch)
  .form-check-input[type="checkbox"]:checked::before {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--primary-foreground);
  content: "";
  mask: var(--checkmark-image) center / 12px 12px no-repeat;
}

.form-check-input[type="radio"] {
  width: 14px;
  height: 14px;
  border-radius: var(--radius-full);
}

.form-check-input[type="radio"]:checked {
  border: 2px solid var(--primary);
  background:
    radial-gradient(circle, var(--primary-foreground) 0 2.5px, transparent 3px),
    var(--primary);
}

.form-check:not(.form-switch) .form-check-input:focus-visible {
  outline: 2px solid var(--ring);
  outline-offset: 2px;
}

.form-check:not(.form-switch) .form-check-input:disabled {
  cursor: not-allowed;
  pointer-events: none;
}

.form-check:not(.form-switch) .form-check-input:disabled + .form-check-label {
  cursor: not-allowed;
}

.form-switch .form-check-input:disabled,
.form-switch .form-check-input:disabled + .form-check-label {
  cursor: not-allowed;
  opacity: 0.6;
}

.form-check-label {
  color: var(--foreground);
  cursor: var(--cursor-interaction, default);
}

.form-switch .form-check-input {
  position: relative;
  width: 32px;
  height: 20px;
  border: 0;
  border-radius: var(--radius-full);
  background: var(--muted);
  box-shadow: none;
  transition: background-color 200ms cubic-bezier(0, 0, 0.2, 1);
}

.form-switch .form-check-input::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  border: 1px solid light-dark(var(--primary-foreground), var(--foreground));
  border-radius: var(--radius-full);
  background: light-dark(var(--primary-foreground), var(--foreground));
  box-shadow: var(--shadow-sm);
  content: "";
  transform: translate(2px, -50%);
  transition: transform 200ms cubic-bezier(0, 0, 0.2, 1);
}

.form-switch .form-check-input:checked {
  background: var(--primary);
}

.form-switch .form-check-input:checked::before {
  transform: translate(14px, -50%);
}

.form-switch .form-check-input:focus-visible {
  box-shadow: 0 0 0 2px var(--ring);
}

.form-range {
  appearance: none;
  display: block;
  width: 100%;
  height: 28px;
  flex: 1;
  margin: 0;
  padding: 0;
  outline: none;
  border: 0;
  accent-color: var(--primary);
  background: linear-gradient(
      color-mix(in srgb, var(--foreground) 7%, transparent),
      color-mix(in srgb, var(--foreground) 7%, transparent)
    )
    center / 100% 2px no-repeat;
}

.form-range::-webkit-slider-runnable-track {
  height: 28px;
  background: transparent;
}

.form-range::-webkit-slider-thumb {
  appearance: none;
  width: 20px;
  height: 20px;
  margin-top: 4px;
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  background: light-dark(var(--primary-foreground), var(--foreground));
}

.form-range:focus-visible::-webkit-slider-thumb {
  border-color: var(--ring);
  box-shadow: inset 0 0 0 1px var(--ring);
}

.form-range::-moz-range-track {
  height: 28px;
  background: transparent;
}

.form-range::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  background: light-dark(var(--primary-foreground), var(--foreground));
}

.form-range:focus-visible::-moz-range-thumb {
  border-color: var(--ring);
  box-shadow: inset 0 0 0 1px var(--ring);
}

.form-range:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}

.btn:not(.btn-primary, .viz-tile):is(
  [aria-pressed="true"],
  [aria-selected="true"],
  .is-selected
) {
  border-color: var(--primary);
  color: var(--primary-foreground);
  background: var(--primary);
}

.btn.viz-tile:is([aria-pressed="true"], [aria-selected="true"], .is-selected) {
  border-color: var(--primary);
  box-shadow: inset 0 0 0 1px var(--primary);
}

.btn:focus-visible,
.nav-link:focus-visible {
  outline: 2px solid var(--ring);
  outline-offset: 2px;
}

@media (pointer: coarse) {
  .btn,
  .nav-link,
  .form-control,
  .form-select {
    min-width: 44px;
    min-height: 44px;
  }

  /* Keep small-screen WebKit from zooming when a text field receives focus. */
  .form-control,
  .form-select {
    font-size: max(16px, var(--font-size-normal));
  }

  .form-control[type="file"]::file-selector-button {
    min-width: 44px;
    min-height: 44px;
  }

  .form-control-color[type="color"] {
    width: 44px;
    height: 44px;
  }

  .form-control:is(
    [type="date"],
    [type="datetime-local"],
    [type="month"],
    [type="time"],
    [type="week"]
  ) {
    min-width: 0;
    max-width: 100%;
    padding-block: 8px;
  }

  .form-check {
    min-height: 44px;
    padding-inline: 15px;
  }

  .form-check-input {
    position: relative;
  }

  .form-check-input::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 44px;
    height: 44px;
    content: "";
    transform: translate(-50%, -50%);
  }

  .form-check-label {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
  }

  .form-range {
    height: 44px;
    touch-action: pan-y;
  }

  .form-range::-webkit-slider-runnable-track {
    height: 44px;
  }

  .form-range::-moz-range-track {
    height: 44px;
  }

  .form-range::-webkit-slider-thumb {
    margin-top: 12px;
  }
}

svg {
  display: block;
  max-width: 100%;
  height: auto;
}

#widget > svg {
  width: 100%;
}

/* Model-authored chart rules can otherwise stretch icons after these styles load. */
svg.lucide {
  display: block;
  width: var(--icon-size) !important;
  height: var(--icon-size) !important;
  flex: none;
  margin: 0 !important;
  stroke-width: 1.6;
}

.text-warning,
.text-destructive {
  color: var(--destructive);
}

html>body{padding:0}

#yx-preview{--yx-blue:#2563eb;--yx-ink:#172334;--yx-muted:#667386;--yx-border:#e4e9f0;--yx-bg:#f5f7fa;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--yx-ink);font-size:14px;line-height:1.6;background:transparent;color-scheme:light}
#yx-preview *{box-sizing:border-box}#yx-preview button,#yx-preview input,#yx-preview select{font:inherit}#yx-preview button{cursor:pointer}#yx-preview button:disabled{cursor:default;opacity:.5}#yx-preview button:focus-visible,#yx-preview input:focus-visible,#yx-preview select:focus-visible{outline:3px solid #93b5fb;outline-offset:3px}#yx-preview svg.lucide{width:18px;height:18px;flex:none}#yx-preview p,#yx-preview h1,#yx-preview h2,#yx-preview h3{margin:0}#yx-preview h1{font-size:26px;line-height:1.3;font-weight:500;letter-spacing:-.7px}#yx-preview h2{font-size:17px;line-height:1.4;font-weight:500}#yx-preview h3{font-size:15px;line-height:1.5;font-weight:500}#yx-preview .yx-muted{color:var(--yx-muted)}#yx-preview small{font-size:12px;color:var(--yx-muted)}#yx-preview .yx-preview-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0 15px;flex-wrap:wrap;font-size:13px}#yx-preview .yx-device-control{display:flex;gap:4px;padding:3px;border:1px solid var(--yx-border);border-radius:9px;background:#fff}#yx-preview .yx-device-control button{display:flex;align-items:center;gap:6px;border:0;border-radius:6px;padding:7px 12px;background:#fff;color:var(--yx-muted)}#yx-preview .yx-device-control button[aria-pressed="true"]{color:var(--yx-blue);background:#eff5ff}
#yx-preview .yx-app{container-type:inline-size;background:var(--yx-bg);border:1px solid var(--yx-border);border-radius:14px;overflow:clip;width:100%;margin:auto}#yx-preview .yx-app.yx-phone{max-width:390px;border-radius:22px}#yx-preview .yx-layout{display:grid;grid-template-columns:184px minmax(0,1fr)}#yx-preview .yx-sidebar{padding:26px 14px 16px;background:#fff;border-right:1px solid var(--yx-border);display:flex;flex-direction:column;gap:22px;min-width:0}#yx-preview .yx-brand{display:flex;align-items:center;gap:11px;padding:0 9px;font-size:23px;font-weight:500;line-height:1.3}#yx-preview .yx-logo{background:var(--yx-blue);color:#fff;width:35px;height:35px;border-radius:11px;display:grid;place-items:center}#yx-preview .yx-brand small{display:block;font-weight:400;font-size:11px;margin-top:5px;letter-spacing:1px}#yx-preview .yx-nav-label{font-size:11px;letter-spacing:2px;color:#758195;padding:8px 12px 0}#yx-preview .yx-side-nav{display:grid;gap:8px;margin-top:-15px}#yx-preview .yx-side-nav button{display:flex;align-items:center;gap:11px;background:#fff;border:0;border-radius:8px;color:#5c6a7d;text-align:left;padding:11px 12px;font-size:13px}#yx-preview .yx-side-nav button.yx-active{background:#edf3ff;color:var(--yx-blue)}#yx-preview .yx-sidebar-note{margin-top:auto;padding:68px 12px 22px;color:#8995a6;font-size:12px}#yx-preview .yx-sidebar-note p{margin-top:12px;color:#4d5d74}#yx-preview .yx-sidebar-note span{font-size:11px;color:#788496}#yx-preview .yx-account{border:0;border-top:1px solid var(--yx-border);padding:18px 4px 0;background:#fff;display:flex;align-items:center;gap:9px;text-align:left;font-size:12px;color:var(--yx-ink)}#yx-preview .yx-account small{display:block;font-size:11px}#yx-preview .yx-account>svg{margin-left:auto;width:14px}#yx-preview .yx-avatar{background:#eef1f5;color:#4a5c75;width:30px;height:30px;display:grid;place-items:center;border-radius:50%}#yx-preview .yx-workspace{min-width:0}#yx-preview .yx-topbar{height:64px;background:#fff;border-bottom:1px solid var(--yx-border);display:flex;align-items:center;justify-content:space-between;padding:0 30px;color:#738096;font-size:12px;gap:10px}#yx-preview .yx-top-status{padding:3px 8px;background:#f3f5f8;border-radius:4px;font-size:11px;white-space:nowrap}#yx-preview .yx-mobile-brand{display:none;color:var(--yx-ink);font-size:19px;font-weight:500}#yx-preview .yx-main{padding:30px;min-height:630px}#yx-preview .yx-bottom-nav{display:none}#yx-preview .yx-page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px}#yx-preview .yx-page-heading p{font-size:13px;color:var(--yx-muted);margin-top:8px}#yx-preview .yx-eyebrow{font-size:11px;color:var(--yx-blue);letter-spacing:1.7px;margin-bottom:9px}#yx-preview .yx-primary,#yx-preview .yx-secondary{display:inline-flex;justify-content:center;align-items:center;gap:7px;border-radius:8px;padding:10px 15px;min-height:42px;border:1px solid var(--yx-blue);background:var(--yx-blue);color:#fff;font-size:13px;white-space:nowrap;font-weight:500}#yx-preview .yx-primary:hover{background:#1d4ed8}#yx-preview .yx-secondary{background:#fff;border-color:var(--yx-border);color:var(--yx-ink);font-weight:400}#yx-preview .yx-secondary:hover{background:#f8fafc}#yx-preview .yx-text-action{background:none;border:0;color:var(--yx-blue);padding:7px 0;font-size:12px;display:inline-flex;gap:6px;align-items:center}#yx-preview .yx-text-action svg{width:14px}#yx-preview .yx-section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:24px 0 13px}#yx-preview .yx-section-head small{margin-left:8px}#yx-preview .yx-panel{background:#fff;border:1px solid var(--yx-border);border-radius:11px;overflow:clip}#yx-preview .yx-inset{padding:20px}#yx-preview .yx-task-head,#yx-preview .yx-task-row{display:grid;grid-template-columns:minmax(0,1fr) 85px 64px;align-items:center;gap:14px;padding:14px 19px}#yx-preview .yx-task-head{background:#fafbfc;font-size:11px;color:#788599;padding-top:10px;padding-bottom:10px}#yx-preview .yx-task-row+.yx-task-row{border-top:1px solid #edf0f5}#yx-preview .yx-task-title{display:flex;align-items:center;gap:13px;min-width:0}#yx-preview .yx-task-title h3{font-size:13px}#yx-preview .yx-task-title p{font-size:11px;color:#738096;margin-top:3px}#yx-preview .yx-thumb{width:66px;height:43px;flex:none;border-radius:5px;background:#eef2f6;position:relative;display:grid;place-items:center;color:#72859f;overflow:hidden}#yx-preview .yx-thumb:before{content:"";position:absolute;inset:8px 11px;border:1px solid #b4c4d8;transform:skewX(-15deg)}#yx-preview .yx-thumb svg{z-index:1;background:#eef2f6;border-radius:50%;width:16px;height:16px}#yx-preview .yx-badge{font-size:11px;padding:3px 8px;border-radius:5px;display:inline-flex;align-items:center;gap:5px;width:max-content;color:#1f7661;background:#edf7f3;white-space:nowrap}#yx-preview .yx-badge:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}#yx-preview .yx-badge.yx-running{color:#365fb7;background:#eff4ff}#yx-preview .yx-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#yx-preview .yx-report-link{display:flex;gap:14px;align-items:flex-start;text-align:left;padding:19px;border:1px solid var(--yx-border);border-radius:10px;background:#fff;color:var(--yx-ink)}#yx-preview .yx-paper-icon{width:36px;height:43px;border-radius:5px;border:1px solid #dbe5f6;color:#688ac5;background:#f6f9ff;display:grid;place-items:center;flex:none}#yx-preview .yx-report-link h3{font-size:13px}#yx-preview .yx-report-link p{font-size:11px;color:var(--yx-muted);margin-top:6px}#yx-preview .yx-report-link .yx-arrow{margin-left:auto;color:#8c9aad;width:14px}#yx-preview .yx-footnote{margin-top:20px;color:#7a8798;font-size:11px;display:flex;align-items:center;gap:7px}#yx-preview .yx-footnote svg{width:14px;height:14px}#yx-preview .yx-steps{display:flex;gap:12px;flex-wrap:wrap;padding-bottom:21px;color:#8490a1;font-size:12px}#yx-preview .yx-steps span{display:flex;gap:6px;align-items:center}#yx-preview .yx-steps .yx-current{color:var(--yx-blue)}#yx-preview .yx-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 23px}#yx-preview .yx-type-option{padding:17px;border:1px solid var(--yx-border);background:#fff;border-radius:9px;text-align:left;color:var(--yx-ink)}#yx-preview .yx-type-option[aria-pressed="true"]{border-color:#6795f5;background:#f6f9ff;box-shadow:0 0 0 1px #6795f5 inset}#yx-preview .yx-type-option p{font-size:12px;color:var(--yx-muted);margin-top:7px}#yx-preview .yx-type-option h3{display:flex;align-items:center;gap:8px}#yx-preview .yx-type-option h3 svg{color:var(--yx-blue)}#yx-preview .yx-upload{border:1px dashed #b5c6df;border-radius:10px;background:#fbfcfe;min-height:174px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;text-align:center;padding:24px;cursor:pointer}#yx-preview .yx-upload>svg{width:30px;height:30px;color:#6986b5}#yx-preview .yx-upload strong{font-weight:500;color:var(--yx-blue)}#yx-preview .yx-upload p{font-size:12px;color:var(--yx-muted)}#yx-preview .yx-file-input{width:100%;font-size:12px;padding:10px 0}#yx-preview .yx-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}#yx-preview .yx-field{display:grid;gap:7px;font-size:12px;color:#53647a}#yx-preview .yx-field input,#yx-preview .yx-field select{min-width:0;width:100%;border:1px solid #d9e1ec;border-radius:7px;padding:10px 11px;background:#fff;color:var(--yx-ink);font-size:14px}#yx-preview .yx-form-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--yx-border);padding-top:18px;margin-top:20px}#yx-preview .yx-form-footer small{max-width:340px}#yx-preview .yx-segments{display:flex;gap:3px;padding:3px;background:#eaf0f6;border-radius:7px;width:max-content;max-width:100%;flex-wrap:wrap}#yx-preview .yx-segments button{border:0;border-radius:5px;padding:6px 13px;background:transparent;color:#64748b;font-size:12px;min-height:32px}#yx-preview .yx-segments button[aria-pressed="true"]{background:#fff;color:var(--yx-blue);box-shadow:0 1px 3px #152d4d0d}#yx-preview .yx-result-heading{margin-bottom:17px}#yx-preview .yx-result-heading h1{font-size:23px}#yx-preview .yx-view-topline{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:18px 0 12px;flex-wrap:wrap}#yx-preview .yx-switch{display:flex;gap:7px;align-items:center;font-size:12px;color:#58697e}#yx-preview .yx-switch input{accent-color:var(--yx-blue);width:16px;height:16px}#yx-preview .yx-result-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,1fr);gap:17px;align-items:start}#yx-preview .yx-court{display:block;width:100%;height:auto;background:#e8eef5}#yx-preview .yx-video-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 13px;background:#fff;font-size:12px}#yx-preview .yx-video-caption small{font-size:10px}#yx-preview .yx-compare{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--yx-border)}#yx-preview .yx-compare .yx-court{aspect-ratio:4/5;object-fit:cover}#yx-preview .yx-video-controls{padding:12px 14px;background:#fff;display:flex;align-items:center;gap:10px;border-top:1px solid var(--yx-border)}#yx-preview .yx-video-controls span{font-size:11px;color:#65748a;white-space:nowrap}#yx-preview .yx-video-controls input{width:100%;min-width:0;accent-color:var(--yx-blue)}#yx-preview .yx-stage-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}#yx-preview .yx-stage-tabs button{border:1px solid var(--yx-border);border-radius:7px;padding:9px 3px;font-size:12px;color:#718096;background:#fff}#yx-preview .yx-stage-tabs button[aria-pressed="true"]{color:var(--yx-blue);border-color:#92b3f7;background:#eef4ff}#yx-preview .yx-issue-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}#yx-preview .yx-issue-heading small{font-size:11px}#yx-preview .yx-issue{border-top:1px solid var(--yx-border);padding:15px 0}#yx-preview .yx-issue h3{font-size:13px;display:flex;align-items:center;gap:6px}#yx-preview .yx-issue p{font-size:12px;color:#65758a;margin-top:8px;line-height:1.75}#yx-preview .yx-issue .yx-number{color:var(--yx-blue);font-size:11px;margin-right:2px}#yx-preview .yx-summary{padding:14px;border-radius:7px;background:#f3f7fd;margin-top:15px}#yx-preview .yx-summary p{font-size:12px;color:#5c6f88;margin-top:5px}#yx-preview .yx-report-cta{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px;padding:20px;background:#fff;border:1px solid var(--yx-border);border-radius:10px}#yx-preview .yx-report-cta p{font-size:12px;color:var(--yx-muted);margin-top:4px}#yx-preview .yx-event{width:100%;text-align:left;display:flex;align-items:center;gap:10px;background:#fff;border:0;border-top:1px solid var(--yx-border);padding:14px 0;font-size:12px;color:var(--yx-ink)}#yx-preview .yx-event[aria-pressed="true"]{color:var(--yx-blue)}#yx-preview .yx-event small{margin-left:auto;font-size:11px}#yx-preview .yx-report-toolbar{display:flex;gap:8px;flex-wrap:wrap}#yx-preview .yx-paper{background:#fff;border:1px solid #e1e7ef;border-radius:5px;padding:34px 39px;box-shadow:0 5px 18px #21334d05}#yx-preview .yx-paper-top{display:flex;justify-content:space-between;align-items:center;color:#718098;font-size:11px;padding-bottom:20px;border-bottom:1px solid #dce5f2}#yx-preview .yx-paper-top strong{color:var(--yx-blue);font-size:16px;font-weight:500}#yx-preview .yx-paper h1{font-size:25px;margin-top:26px;line-height:1.45}#yx-preview .yx-paper-meta{font-size:11px;color:#79879b;margin-top:10px;padding-bottom:24px}#yx-preview .yx-paper-section{margin-top:24px}#yx-preview .yx-paper-section h2{font-size:15px;margin-bottom:12px}#yx-preview .yx-paper-section h2 span{color:#7c97c0;font-size:12px;margin-right:9px}#yx-preview .yx-paper-section p{font-size:13px;line-height:1.85;color:#53647c}#yx-preview .yx-evidence{display:grid;grid-template-columns:140px 1fr;gap:19px;align-items:center;margin-top:15px;background:#f8fafc;padding:15px;border-radius:5px}#yx-preview .yx-evidence .yx-court{border-radius:4px}#yx-preview .yx-paper-footer{display:flex;justify-content:space-between;color:#78869a;border-top:1px solid var(--yx-border);padding-top:17px;margin-top:30px;font-size:10px}#yx-preview .yx-export{background:#fff;border:1px solid #b5cdfb;border-radius:8px;padding:18px;margin-bottom:18px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}#yx-preview .yx-export h3{margin-right:auto}#yx-preview .yx-login{display:grid;grid-template-columns:1fr 1fr;border-radius:12px;overflow:clip;border:1px solid var(--yx-border);background:#fff;min-height:470px}#yx-preview .yx-login-story{background:#edf3fb;padding:35px 26px;display:flex;flex-direction:column;justify-content:space-between;gap:30px}#yx-preview .yx-login-story h2{font-size:25px;line-height:1.65;letter-spacing:-.5px}#yx-preview .yx-login-story p{font-size:12px;color:#6e819b;margin-top:10px}#yx-preview .yx-login-form{padding:38px 27px;display:flex;flex-direction:column;justify-content:center;gap:17px}#yx-preview .yx-login-form h1{font-size:24px}#yx-preview .yx-login-form>p{font-size:12px;color:#78869a;margin-top:-8px}#yx-preview .yx-login-form .yx-primary{width:100%;margin-top:3px}#yx-preview .yx-progress-intro{text-align:center;padding:20px 0 25px}#yx-preview .yx-progress-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 17px;border-radius:15px;background:#eef4ff;color:var(--yx-blue)}#yx-preview .yx-progress-intro p{color:var(--yx-muted);font-size:13px;margin-top:10px}#yx-preview .yx-progress-step{display:flex;align-items:center;gap:13px;border-top:1px solid var(--yx-border);padding:17px 0;font-size:13px}#yx-preview .yx-progress-step svg{color:#95a3b7}#yx-preview .yx-progress-step small{margin-left:auto;font-size:11px}#yx-preview .yx-progress-step.yx-current{color:var(--yx-blue)}#yx-preview .yx-progress-step.yx-current svg{color:var(--yx-blue)}#yx-preview .yx-notice{max-width:780px;margin:12px auto 0;padding:12px 16px;border-radius:8px;background:#edf3ff;border:1px solid #cbdcfb;color:#375782;font-size:13px}#yx-preview [hidden]{display:none!important}
@container (max-width:850px){#yx-preview .yx-result-grid{grid-template-columns:minmax(0,1fr)}#yx-preview .yx-compare .yx-court{aspect-ratio:4/3}#yx-preview .yx-main{padding:24px}#yx-preview .yx-result-heading h1{font-size:21px}}
@container (max-width:660px){#yx-preview .yx-layout{grid-template-columns:minmax(0,1fr)}#yx-preview .yx-sidebar{display:none}#yx-preview .yx-topbar{padding:0 20px;height:58px}#yx-preview .yx-mobile-brand{display:block}#yx-preview #yx-breadcrumb{display:none}#yx-preview .yx-main{padding:24px 20px;min-height:550px}#yx-preview h1{font-size:23px}#yx-preview .yx-bottom-nav{display:flex;justify-content:space-around;background:#fff;border-top:1px solid var(--yx-border);padding:7px 6px 10px}#yx-preview .yx-bottom-nav button{display:flex;align-items:center;flex-direction:column;gap:4px;min-height:47px;min-width:55px;padding:6px 3px;border:0;background:#fff;color:#7a879b;font-size:10px}#yx-preview .yx-bottom-nav button.yx-active{color:var(--yx-blue)}#yx-preview .yx-page-heading{align-items:flex-start;flex-wrap:wrap;gap:17px;margin-bottom:23px}#yx-preview .yx-page-heading>.yx-primary{width:100%}#yx-preview .yx-page-heading p{font-size:12px}#yx-preview .yx-task-head{display:none}#yx-preview .yx-task-row{grid-template-columns:1fr auto;gap:11px;padding:17px 15px}#yx-preview .yx-task-title{grid-column:1/-1;gap:11px}#yx-preview .yx-task-title h3{font-size:14px}#yx-preview .yx-task-title p{font-size:11px}#yx-preview .yx-task-row>.yx-text-action{justify-self:end;min-height:36px}#yx-preview .yx-task-row>.yx-badge{margin-left:77px}#yx-preview .yx-report-grid{grid-template-columns:1fr}#yx-preview .yx-report-link{padding:17px 16px}#yx-preview .yx-section-head small{display:none}#yx-preview .yx-type-grid{grid-template-columns:1fr;gap:10px}#yx-preview .yx-type-option{padding:16px}#yx-preview .yx-fields{grid-template-columns:1fr}#yx-preview .yx-field input,#yx-preview .yx-field select{font-size:16px;min-height:44px}#yx-preview .yx-inset{padding:18px}#yx-preview .yx-form-footer{flex-direction:column;align-items:stretch}#yx-preview .yx-form-footer .yx-primary{width:100%}#yx-preview .yx-upload{padding:21px 13px;min-height:180px}#yx-preview .yx-result-grid{grid-template-columns:1fr;gap:17px}#yx-preview .yx-result-heading h1{font-size:22px}#yx-preview .yx-result-heading>.yx-secondary{width:100%}#yx-preview .yx-compare .yx-court{aspect-ratio:3/4}#yx-preview .yx-video-caption{padding:9px;font-size:11px}#yx-preview .yx-video-caption small{display:none}#yx-preview .yx-stage-tabs button{min-height:43px}#yx-preview .yx-segments button{min-height:40px;padding:7px 11px}#yx-preview .yx-report-cta{flex-direction:column;align-items:stretch;padding:18px}#yx-preview .yx-report-cta .yx-primary{width:100%}#yx-preview .yx-paper{padding:22px 19px}#yx-preview .yx-paper h1{font-size:21px}#yx-preview .yx-paper-top{gap:10px;font-size:10px}#yx-preview .yx-paper-meta{line-height:1.9}#yx-preview .yx-evidence{grid-template-columns:1fr;padding:13px;gap:13px}#yx-preview .yx-evidence .yx-court{max-height:180px;object-fit:cover}#yx-preview .yx-report-toolbar{width:100%}#yx-preview .yx-report-toolbar button{flex:1}#yx-preview .yx-login{grid-template-columns:1fr;min-height:0}#yx-preview .yx-login-story{padding:26px 24px;gap:0}#yx-preview .yx-login-story h2{font-size:20px}#yx-preview .yx-login-story .yx-court{display:none}#yx-preview .yx-login-form{padding:29px 24px}#yx-preview .yx-progress-intro h1{font-size:23px}}
@media(max-width:400px){#yx-preview .yx-preview-bar{font-size:12px}#yx-preview .yx-device-control button{min-height:40px;padding:6px 10px}}
