@import url("./css/ds0-01.css?v=20260913_ds0_download_filename_order_model_v1");
@import url("./css/ds0-02.css?v=20260913_ds0_download_filename_order_model_v1");
@import url("./css/ds0-03.css?v=20260913_ds0_download_filename_order_model_v1");
@import url("./css/ds0-a9-accessibility.css?v=20260913_ds0_download_filename_order_model_v1");

@import url("./css/ds0-theme-preset.css?v=20260913_ds0_download_button_centered_black_gold_v1");

/* Keep the export stack visually compact; these headings are internal layout labels. */
.controls-export-stack::before,
#stl-advanced-section::before {
    content: none !important;
    display: none !important;
}

/* Keep internal EXR precision diagnostics out of the user-facing workbench. */
#runtime-note {
    display: none !important;
}
/* CAD XYZ dimension controls */
.ds0-dimensions-section { border: 1px solid #111111; border-radius: 6px; background: #111111 !important; padding: 12px; margin-top: 10px; }
.ds0-dimensions-section h3 { color: #e7b86a; margin: 0 0 10px; font-size: 14px; }
.ds0-model-toggle-row { display: flex; align-items: center; gap: 6px; margin: 0 0 8px; }
.ds0-model-toggle { display: flex; align-items: center; gap: 6px; flex: 1 1 0; min-width: 0; padding: 6px 8px; border: 1px solid #505966; border-radius: 5px; background: #20252d; color: #d6dbe3; font-size: 12px; line-height: 1.2; cursor: pointer; box-sizing: border-box; }
.ds0-model-toggle input { flex: 0 0 auto; width: 16px; height: 16px; margin: 0; accent-color: #d79b3e; }
.ds0-dimension-input-surface { margin: 0; padding: 8px; border: 1px solid #3d8ca3 !important; border-radius: 6px; background: #205467 !important; color: #f6f8fb; box-sizing: border-box; transition: border-color .16s ease, background-color .16s ease; }
.ds0-dimensions-section[data-dimension-input-mode="number"] .ds0-dimension-input-surface { border-color: #a87939 !important; background: #5b4327 !important; }
.ds0-dimension-mode-buttons { display: flex; align-items: stretch; gap: 6px; margin: -8px -8px 0; padding: 8px 8px 0; background: #111111; box-sizing: border-box; }
.ds0-dimension-mode-button { flex: 1 1 0; min-width: 0; min-height: 30px; padding: 5px 8px; border: 1px solid #65758a; border-radius: 5px; color: #f6f8fb; font-size: 12px; font-weight: 600; line-height: 1.2; cursor: pointer; box-sizing: border-box; transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease; }
.ds0-dimension-mode-button--range { border-color: transparent; background: #111111; color: #e5e5e5; }
.ds0-dimension-mode-button--number { border-color: transparent; background: #111111; color: #e5e5e5; }
.ds0-dimension-mode-button:hover { border-color: #ffffff; }
.ds0-dimension-mode-button:focus-visible { outline: none; box-shadow: 0 0 0 2px rgba(105, 167, 255, .4); }
.ds0-dimension-mode-button--range.is-selected { border-color: #75d8ed; background: #205467; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18); }
.ds0-dimension-mode-button--number.is-selected { border-color: #ffd071; background: #5b4327; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18); }
.ds0-dimension-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; align-items: center; column-gap: 7px; row-gap: 7px; margin: 7px 0; color: #d6dbe3; font-size: 12px; }
.ds0-dimension-row > label { grid-column: 1 / -1; grid-row: 1; }
.ds0-dimension-row > input[type="number"], .ds0-dimension-row > input[type="range"] { grid-column: 1; grid-row: 2; width: 100%; min-width: 0; box-sizing: border-box; }
.ds0-dimension-row input[type="range"] { width: 92%; max-width: 100%; justify-self: center; }
.ds0-dimension-row input[type="number"] { border: 1px solid #59616e; background: #242a33; color: #f6f7f9; border-radius: 4px; padding: 5px 4px; }
.ds0-dimension-row input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  height: 14px;
  min-height: 14px;
  padding: 0;
  border: 1px solid #b8c5d4;
  border-radius: 999px;
  background: #687a91;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.65);
  accent-color: #d79b3e;
  cursor: ew-resize;
  touch-action: none;
}
.ds0-dimension-row input[type="range"]::-webkit-slider-runnable-track {
  height: 10px;
  border: 1px solid #b8c5d4;
  border-radius: 999px;
  background: #687a91;
}
.ds0-dimension-row input[type="range"]::-moz-range-track {
  height: 10px;
  border: 1px solid #b8c5d4;
  border-radius: 999px;
  background: #687a91;
}
.ds0-dimension-row input[type="range"]::-moz-range-progress {
  height: 10px;
  border-radius: 999px;
  background: #d79b3e;
}
.ds0-dimension-row input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  margin-top: -6px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: #f0a83b;
  box-shadow: 0 0 0 2px #182338, 0 2px 6px rgba(0, 0, 0, 0.65);
}
.ds0-dimension-row input[type="range"]::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: #f0a83b;
  box-shadow: 0 0 0 2px #182338, 0 2px 6px rgba(0, 0, 0, 0.65);
}
.ds0-dimension-row input[type="range"]::-ms-track {
  height: 10px;
  border: 1px solid transparent;
  color: transparent;
  background: transparent;
}
.ds0-dimension-row input[type="range"]::-ms-fill-lower {
  border: 1px solid #b8c5d4;
  border-radius: 999px;
  background: #d79b3e;
}
.ds0-dimension-row input[type="range"]::-ms-fill-upper {
  border: 1px solid #b8c5d4;
  border-radius: 999px;
  background: #687a91;
}
.ds0-dimension-row input[type="range"]::-ms-thumb {
  width: 16px;
  height: 16px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: #f0a83b;
}
.ds0-dimension-row input[type="range"]:hover::-webkit-slider-thumb,
.ds0-dimension-row input[type="range"]:active::-webkit-slider-thumb {
  background: #ffd071;
}
.ds0-dimension-row input[type="range"]:hover::-moz-range-thumb,
.ds0-dimension-row input[type="range"]:active::-moz-range-thumb {
  background: #ffd071;
}
.ds0-dimension-row input[type="range"]:focus,
.ds0-dimension-row input[type="range"]:focus-visible {
  border-color: #69a7ff;
  box-shadow: 0 0 0 2px rgba(74, 145, 255, 0.35), inset 0 1px 2px rgba(0, 0, 0, 0.65);
  outline: none;
}
.ds0-dimension-row input[type="range"]:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}
html[data-theme-preset] .ds0-dimension-row input[type="range"] {
  border-color: #b8c5d4 !important;
  background: #687a91 !important;
}
html[data-theme-preset] .ds0-dimension-row input[type="range"]::-webkit-slider-runnable-track {
  border-color: #b8c5d4 !important;
  background: #687a91 !important;
}
html[data-theme-preset] .ds0-dimension-row input[type="range"]::-moz-range-track {
  border-color: #b8c5d4 !important;
  background: #687a91 !important;
}
.ds0-dimensions-section[data-dimension-input-mode="range"] .ds0-dimension-row input[type="number"] { display: none; }
.ds0-dimensions-section[data-dimension-input-mode="number"] .ds0-dimension-row input[type="range"] { display: none; }
.ds0-dimension-row > span { grid-column: 2; grid-row: 2; align-self: center; color: #e7b86a; white-space: nowrap; text-align: right; }
/* Range mode keeps the value beside its label and gives the slider the full row. */
.ds0-dimensions-section[data-dimension-input-mode="range"] .ds0-dimension-row > label { grid-column: 1; grid-row: 1; }
.ds0-dimensions-section[data-dimension-input-mode="range"] .ds0-dimension-row > span { grid-column: 2; grid-row: 1; }
.ds0-dimensions-section[data-dimension-input-mode="range"] .ds0-dimension-row > input[type="range"] { grid-column: 1 / -1; grid-row: 2; width: 100%; max-width: none; justify-self: stretch; }
.ds0-dimensions-section[data-dimension-input-mode="number"] .ds0-dimension-row > span { font-size: 0; }
.ds0-dimensions-section[data-dimension-input-mode="number"] .ds0-dimension-row > span::after { content: "mm"; font-size: 12px; }
.ds0-aspect-lock { display: flex; align-items: center; gap: 7px; color: #c5ccd5; font-size: 12px; margin-top: 9px; }
.ds0-aspect-lock input { accent-color: #d79b3e; }
.ds0-total-thickness { color: #9fa8b5; font-size: 12px; margin-top: 9px; text-align: right; }
.ds0-total-thickness strong { color: #f0c878; font-weight: 600; }
.ds0-reset-dimensions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  min-height: 30px;
  margin-top: 10px;
  padding: 5px 8px;
  border: 1px solid #536f9b;
  border-radius: 5px;
  background: #1b3559;
  color: #dbeaff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  box-sizing: border-box;
}
.ds0-reset-dimensions span { color: #8ec5ff; font-size: 17px; line-height: 1; }
.ds0-reset-dimensions:hover,
.ds0-reset-dimensions:focus-visible { border-color: #8ec5ff; background: #285992; color: #ffffff; outline: none; }
html[data-theme-preset] .ds0-reset-dimensions { border-color: #536f9b !important; background: #1b3559 !important; color: #dbeaff !important; }
html[data-theme-preset] .ds0-reset-dimensions:hover,
html[data-theme-preset] .ds0-reset-dimensions:focus-visible { border-color: #8ec5ff !important; background: #285992 !important; color: #ffffff !important; }
@media (max-width: 720px) {
  .ds0-dimension-row { column-gap: 5px; row-gap: 5px; }
  .ds0-dimension-row > span { font-size: 11px; }
  .ds0-dimensions-section[data-dimension-input-mode="number"] .ds0-dimension-row > span::after { font-size: 11px; }
}
html[data-theme="light"] .ds0-dimensions-section { border-color: #d0bda4; background: #fffaf4; }
html[data-theme="light"] .ds0-model-toggle { border-color: #d0bda4; background: #f5eee4; color: #604b3a; }
html[data-theme="light"] .ds0-dimension-input-surface { border-color: #71aabd !important; background: #d7edf4 !important; color: #24566a; }
html[data-theme="light"] .ds0-dimensions-section[data-dimension-input-mode="number"] .ds0-dimension-input-surface { border-color: #c49a61 !important; background: #f3e3c9 !important; color: #674927; }
html[data-theme="light"] .ds0-dimension-mode-button--range { border-color: #3a3a3a; background: #111111; color: #e5e5e5; }
html[data-theme="light"] .ds0-dimension-mode-button--number { border-color: #3a3a3a; background: #111111; color: #e5e5e5; }
html[data-theme="light"] .ds0-dimension-mode-button--range.is-selected { border-color: #3f8da7; background: #d7edf4; color: #173e4e; }
html[data-theme="light"] .ds0-dimension-mode-button--number.is-selected { border-color: #a56f2d; background: #f3e3c9; color: #402811; }
html[data-theme="light"] .ds0-dimension-input-surface .ds0-dimension-row { color: #24566a; }
html[data-theme="light"] .ds0-dimension-input-surface .ds0-dimension-row span { color: #3f8da7; }
html[data-theme="light"] .ds0-dimension-input-surface .ds0-aspect-lock { color: #24566a; }
html[data-theme="light"] .ds0-dimension-input-surface .ds0-total-thickness { color: #24566a; }
html[data-theme="light"] .ds0-dimension-input-surface .ds0-total-thickness strong { color: #8f5b19; }
html[data-theme="light"] .ds0-dimensions-section[data-dimension-input-mode="number"] .ds0-dimension-input-surface .ds0-dimension-row { color: #674927; }
html[data-theme="light"] .ds0-dimensions-section[data-dimension-input-mode="number"] .ds0-dimension-input-surface .ds0-dimension-row span { color: #a56f2d; }
html[data-theme="light"] .ds0-dimensions-section[data-dimension-input-mode="number"] .ds0-dimension-input-surface .ds0-aspect-lock,
html[data-theme="light"] .ds0-dimensions-section[data-dimension-input-mode="number"] .ds0-dimension-input-surface .ds0-total-thickness { color: #674927; }

/* Keep the active mode joined to the surface and isolate the inactive mode in black. */
.ds0-dimensions-section[data-dimension-input-mode="range"] .ds0-dimension-mode-button--range { border-color: #75d8ed !important; background: #205467 !important; color: #f6f8fb !important; }
.ds0-dimensions-section[data-dimension-input-mode="number"] .ds0-dimension-mode-button--number { border-color: #ffd071 !important; background: #5b4327 !important; color: #fff8e8 !important; }
.ds0-dimensions-section[data-dimension-input-mode="range"] .ds0-dimension-mode-button--number,
.ds0-dimensions-section[data-dimension-input-mode="number"] .ds0-dimension-mode-button--range { border-color: transparent !important; background: #111111 !important; color: #e5e5e5 !important; }
.ds0-dimensions-section[data-dimension-input-mode="range"] .ds0-dimension-mode-button--number:hover,
.ds0-dimensions-section[data-dimension-input-mode="number"] .ds0-dimension-mode-button--range:hover { border-color: transparent !important; background: #111111 !important; }
html[data-theme-preset] .ds0-dimensions-section { border-color: #111111 !important; background: #111111 !important; }
html[data-theme="light"] .ds0-dimensions-section[data-dimension-input-mode="range"] .ds0-dimension-mode-button--range { border-color: #3f8da7 !important; background: #d7edf4 !important; color: #173e4e !important; }
html[data-theme="light"] .ds0-dimensions-section[data-dimension-input-mode="number"] .ds0-dimension-mode-button--number { border-color: #a56f2d !important; background: #f3e3c9 !important; color: #402811 !important; }
