[hidden] { display: none !important; }
.simulation-sidebar { height: 816px; padding: 16px; display: flex; flex-direction: column; gap: 12px; overflow: auto; }
.simulation-sidebar h2 { font-family: Cinzel, Georgia, serif; font-size: 23px; font-weight: 800; text-transform: uppercase; }
.simulation-sidebar h3 { font-size: 11px; text-align: center; font-weight: 800; text-transform: uppercase; margin-bottom: 8px; }
.simulation-projects { min-height: 85px; max-height: 160px; overflow: auto; }
.simulation-projects button { display: block; width: 100%; text-align: left; margin-bottom: 5px; }
.simulation-sidebar button, .simulation-actions button, .simulation-saved button, .simulation-saved select { border: 1px solid var(--line); border-radius: 6px; padding: 6px 9px; background: var(--surface-solid); color: var(--ink); font-size: 12px; }
.simulation-sidebar button[aria-pressed=true], #simulationErase[aria-pressed=true], #simulationSave { background: var(--teal); color: var(--surface-solid); }
.simulation-catalog { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; min-height: 170px; max-height: 280px; overflow: auto; }
.simulation-catalog button { padding: 3px; width: 100%; margin-bottom: 7px; }
.simulation-catalog img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.simulation-sample-heading { display: flex; align-items: center; justify-content: space-between; }
#simulationSample { width: 100%; max-width: 256px; aspect-ratio: 1; border: 1px solid var(--line); border-radius: 8px; background: white; }
#simulationSelected, .simulation-help, .simulation-info, #simulationMessage { font-size: 12px; }
.simulation-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.simulation-saved { display: flex; gap: 6px; align-items: center; margin: 0; font-size: 12px; white-space: nowrap; }
#simulationMessage { min-height: 20px; color: var(--teal); }
.simulation-saved select { width: 160px; max-width: 160px; }
.simulation-canvas-frame { background: var(--surface-soft); border: 1px solid var(--line); border-radius: 10px; height: 625px; overflow: auto; display: grid; place-items: center; padding: 20px; }
#simulationCanvas { display: block; background: white; cursor: crosshair; max-width: none; touch-action: manipulation; box-shadow: var(--shadow); }
#simulationCanvas:focus-visible { outline: 3px solid var(--teal); outline-offset: 4px; }
.simulation-help { margin-top: 10px; color: var(--muted); }

#simulatorMode[aria-pressed=true] { background: var(--teal); color: var(--surface-solid); }
#designerMode[aria-pressed=false] { background: var(--surface-solid); color: var(--muted); }

#simulationMessage:empty { display: none; }
#simulationWorkspace { margin-top: 8px; }

.simulations-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 12px; font-size: 13px; }
.simulations-toolbar label { display: flex; align-items: center; gap: 6px; }
.simulations-toolbar button, .simulations-toolbar select { padding: 7px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-solid); color: var(--ink); }
#simulationsCount { flex: 1; color: var(--muted); }
.simulations-table td:first-child { overflow-wrap: anywhere; }
.simulations-table td:last-child { white-space: normal; min-width: 250px; }
.simulations-table td:last-child button { margin: 3px; color: var(--ink); }
.simulations-table td:last-child button.action-delete { color: var(--red); }
.simulation-actions button:disabled { opacity: .55; cursor: wait; }
