/* Presentation only: existing tool surfaces and controllers are reused. */
:root {
  --tool-muted-ink: var(--text-muted);
  --tool-accent-ink: #70b9ff;
  --tool-success-ink: var(--success);
  --tool-warning-ink: var(--warning);
  --tool-danger-ink: var(--danger);
}
:root[data-theme="light"] {
  --tool-muted-ink: #4f647e;
  --tool-accent-ink: #005aa8;
  --tool-success-ink: #146c48;
  --tool-warning-ink: #805713;
  --tool-danger-ink: #b03232;
}
.tool-fullscreen-dialog {
  box-sizing: border-box;
  width: calc(100vw - 24px);
  height: calc(100dvh - 24px);
  max-width: none;
  max-height: none;
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 16px;
  color: var(--text);
  background: var(--bg-elev);
  box-shadow: var(--shadow);
}
.tool-fullscreen-dialog::backdrop {
  background: rgb(3 10 19 / 72%);
  backdrop-filter: blur(5px);
}
.tool-alert-dialog {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text);
}
.tool-alert-dialog::backdrop { background: transparent; }
body:has(.tool-fullscreen-dialog[open], .reel-dialog[open]) { overflow: hidden; }
.tool-fullscreen-dialog > .tool-fullscreen-overlay {
  position: static;
  inset: auto;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  background: transparent;
  backdrop-filter: none;
}
.tool-fullscreen-overlay > .tool-fullscreen-content {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.tool-fullscreen-dialog > .viewer-area {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  padding: 0;
  margin: 0;
  overflow: hidden;
}
.tool-fullscreen-dialog .viewer-stage { border: 0; border-radius: 0; }
.tool-fullscreen-dialog > .viewer-area:is([data-workspace-mode="2d"], [data-workspace-mode="drill"]) {
  grid-template-rows: minmax(0, 1fr) auto;
}
.tool-fullscreen-dialog :is(.viewer-surface-2d, .viewer-surface-drill, .viewer-primary-host .viewport, .viewer-surface .preview-svg-frame) {
  min-height: 0;
}
.tool-fullscreen-dialog .viewer-bottom-grid .viewer-dock-card { grid-template-rows: auto minmax(0, 1fr); }
.tool-fullscreen-dialog .viewer-bottom-panel { padding: 0 10px 10px; }
/* Launchers stay outside the work surface; close the current tool first. */
.tool-fullscreen-dialog .viewer-fab-row { display: none; }
.tool-fullscreen-dialog :is(#quoteCommercialProfileBtn, #share3dCommercialProfile) { display: none; }
.tool-fullscreen-dialog #guillotineFullWorkspace { display: none; }
.tool-fullscreen-dialog .nesting-modal-dialog { display: grid; grid-template-rows: auto minmax(0, 1fr); }
.tool-fullscreen-dialog .nesting-modal-body { max-height: none; }
.tool-fullscreen-dialog .viewer-console-card.is-floating {
  max-width: calc(100vw - 48px);
  max-height: calc(100dvh - 100px);
}
.tool-fullscreen-dialog .commercial-profile-dialog form,
.tool-fullscreen-dialog .project-documentation-options,
.tool-fullscreen-dialog .project-documentation-name,
.tool-fullscreen-dialog .project-documentation-status { max-width: 1100px; margin-inline: auto; }
.tool-fullscreen-dialog .project-documentation-name,
.tool-fullscreen-dialog .project-documentation-status { margin-inline: 24px; }
.tool-fullscreen-dialog .project-documentation-header,
.reel-dialog .reel-heading { position: sticky; top: 0; z-index: 2; background: var(--bg-elev-2); }

/* An action has its own persistent state, independent of the open workspace. */
#curveOptimizerBtn .curve-optimizer-state {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  color: var(--text-muted);
  font-size: .62rem;
  line-height: 1.15;
  letter-spacing: .05em;
}
#curveOptimizerBtn .curve-optimizer-state::before {
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: none;
}
#curveOptimizerBtn[aria-pressed="true"] {
  border-color: var(--success);
  background: color-mix(in srgb, var(--success) 9%, var(--bg-elev-2)) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--success) 55%, transparent), 0 0 10px color-mix(in srgb, var(--success) 12%, transparent);
}
#curveOptimizerBtn[aria-pressed="true"] .curve-optimizer-state { color: var(--success); }
:root[data-theme="light"] #curveOptimizerBtn[aria-pressed="true"] .curve-optimizer-state { color: #146c48; }

/* Text on the light work surfaces; the account bar retains its dark surface. */
:root[data-theme="light"] #accountOptionsLabel { color: #bdcfe1; }
#openAdminBtn { color: #73bdff !important; }
:root[data-theme="light"] .drill-workspace-tab:not(.is-active) { color: #516680; }
.tool-fullscreen-dialog :is(.quote-estimated-profit, #nestingProgressLabel, .nesting-viewer-message, .lighting-material-metrics span) { color: var(--tool-muted-ink); }
.tool-fullscreen-dialog :is(.nesting-status, #lightingStatus) { color: var(--tool-muted-ink); }
.tool-fullscreen-dialog :is(.nesting-status[data-tone="warning"], #lightingStatus[data-tone="warning"]) { color: var(--tool-warning-ink); }
.tool-fullscreen-dialog .nesting-status[data-tone="success"] { color: var(--tool-success-ink); }
.tool-fullscreen-dialog :is(.nesting-status, #lightingStatus)[data-tone="error"] { color: var(--tool-danger-ink); }
.tool-fullscreen-dialog .facade-steps button.is-active { color: var(--tool-accent-ink); }
.tool-fullscreen-dialog .share-3d-commercial-options p { color: var(--tool-muted-ink); }
.tool-fullscreen-dialog #share3dGenerate { background: var(--primary-bg); color: #fff; }
.tool-fullscreen-dialog #commercialProfileLogoFallback { background: var(--primary-bg); color: #fff; }
.tool-fullscreen-dialog .project-documentation-option-icon { color: var(--tool-accent-ink); }
.tool-fullscreen-dialog .project-documentation-option-copy small { color: var(--tool-warning-ink); }
.tool-fullscreen-dialog .project-documentation-option--client small { color: var(--tool-success-ink); }

@media (max-width: 720px), (max-height: 500px) {
  .tool-fullscreen-dialog { width: 100vw; height: 100dvh; border-radius: 0; border: 0; }
  .tool-fullscreen-dialog .viewer-primary-toolbar { flex-wrap: wrap; }
}
@media (max-height: 500px) {
  .tool-fullscreen-dialog .viewer-bottom-panel { --viewer-bottom-card-height: clamp(88px, 26dvh, 132px); }
}
@media (prefers-reduced-motion: reduce) {
  :is(.tool-dialog-close, .support-assistant-close, .membership-popup-close, .campaign-visual-close, .creators-header [data-close], .creators-promo-close), #curveOptimizerBtn { transition: none; }
}
