/* escentmachine workbench; all assets are local. */
.em-app {
  position:relative;
  display:grid;
  grid-template-columns:208px minmax(0,1fr);
  border:1px solid #cbd3c7;
  background:#fbfcf8;
  border-radius:6px;
  box-shadow:0 4px 12px #172d2110;
  min-width:0;
  scroll-margin-top:20px;
}
.em-app * {
  box-sizing:border-box;
}
.em-app button {
  cursor:pointer;
}
.em-tool-nav {
  padding:24px 12px;
  background:#e9ede5;
  border-right:1px solid #cbd3c7;
  min-width:0;
  border-radius:5px 0 0 5px;
}
.em-rail-label {
  font:9px/1.4 var(--em-mono,monospace);
  letter-spacing:.06em;
  color:#536455;
  display:flex;
  justify-content:space-between;
  gap:4px;
  padding-inline:8px;
  margin:0 0 22px;
}
.em-rail-label span {
  font-size:8px;
  color:#5b6b5b;
}
.em-tool-nav>a {
  display:flex;
  gap:10px;
  align-items:center;
  text-decoration:none;
  color:#415348;
  min-height:72px;
  padding:12px 8px;
  border:1px solid transparent;
  border-radius:4px;
  font-size:12px;
  font-weight:600;
  line-height:1.4;
  margin-bottom:4px;
  position:relative;
}
.em-tool-nav>a small {
  display:block;
  font-size:10px;
  font-weight:400;
  color:#5d6b5f;
  margin-top:4px;
  white-space:nowrap;
}
.em-tool-nav>a:hover {
  background:#dce5d9;
  border-color:#ccd6c7;
}
.em-tool-nav>a:active {
  background:#d0dfcf;
}
.em-tool-nav>a[aria-current="true"] {
  background:#fcfdf9;
  border-color:#c8d3c3;
  box-shadow:0 2px 4px #21362008;
  color:#064f4a;
}
.em-tool-nav>a[aria-current="true"]::before {
  content:"";
  position:absolute;
  left:-1px;
  top:14px;
  bottom:14px;
  width:3px;
  background:#08756b;
  border-radius:0 2px 2px 0;
}
.em-tool-icon {
  font:18px/1 var(--em-mono,monospace);
  color:#4a6b5b;
  min-width:26px;
  text-align:center;
}
.em-tool-nav>a[aria-current="true"] .em-tool-icon {
  color:#086b65;
}
.em-icon-small {
  font-size:14px;
}
.em-tool-number {
  margin-left:auto;
  align-self:start;
  padding-top:2px;
  font:8px/1 var(--em-mono,monospace);
  color:#5b6856;
}
.em-rail-bottom {
  border-top:1px solid #cbd3c7;
  margin:32px 8px 0;
  padding-top:18px;
  color:#5b6b5f;
}
.em-rail-cross {
  font:20px var(--em-mono,monospace);
  color:#0b6d62;
}
.em-rail-bottom p {
  font-size:11px;
  line-height:1.8;
  margin-top:8px;
}
.em-rail-bottom a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:44px;
  font-size:10px;
  color:#246b55;
}
.em-tools {
  min-width:0;
}
.em-tool-heading {
  padding:24px 24px 20px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:start;
}
.em-tool-kicker {
  font:9px/1.5 var(--em-mono,monospace);
  letter-spacing:.09em;
  color:#5d6d60;
  margin:0 0 8px;
}
.em-tool-heading h2 {
  font-size:24px;
  letter-spacing:-.035em;
  margin:0 0 6px;
  color:#1e302a;
  font-weight:650;
}
.em-tool-heading p:not(.em-tool-kicker) {
  font-size:12px;
  color:#5c6a60;
  margin:0;
}
.em-private-stamp {
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  font:9px/1.8 var(--em-mono,monospace);
  color:#426454;
  border:1px solid #ceddce;
  padding:3px 7px;
  border-radius:3px;
  margin-top:4px;
}
.em-private-stamp>span {
  font-size:15px;
}
.em-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  padding:0 24px 18px;
}
.em-action-group {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.em-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:44px;
  padding:8px 14px;
  background:#fcfdf9;
  color:#304f40;
  border:1px solid #c7d1c3;
  border-radius:4px;
  font-size:11px;
  line-height:1.4;
  font-weight:600;
  transition:background .12s,color .12s,border-color .12s;
}
.em-button:hover {
  background:#e4ece0;
  border-color:#8ca387;
  color:#153d2d;
}
.em-button:active {
  background:#d3e1ce;
  border-color:#62835b;
  transform:translateY(1px);
}
.em-button.em-primary {
  background:#086b65;
  color:#fff;
  border-color:#086b65;
}
.em-button.em-primary:hover {
  background:#05574f;
  border-color:#05574f;
}
.em-button.em-primary:active {
  background:#03423c;
  border-color:#03423c;
}
.em-button.em-primary span {
  font:14px var(--em-mono,monospace);
  color:#b2e3d7;
}
.em-button.em-quiet {
  background:transparent;
  border-color:transparent;
  color:#5c6a60;
  padding-inline:10px;
}
.em-button.em-quiet:hover {
  background:#e9eee5;
  border-color:#c7d1c3;
  color:#264333;
}
.em-button:disabled,.em-pane-actions button:disabled {
  cursor:not-allowed;
  opacity:.45;
  transform:none;
}
.em-button:disabled:hover {
  background:#fcfdf9;
  color:#304f40;
  border-color:#c7d1c3;
}
.em-example-control {
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  max-width:100%;
}
.em-example-control label {
  font:10px var(--em-mono,monospace);
  color:#5c6a60;
}
.em-app select {
  min-height:44px;
  border:1px solid #c7d1c3;
  border-radius:4px;
  background-color:#fcfdf9;
  color:#304d3e;
  font-size:11px;
  padding:8px 26px 8px 10px;
  max-width:100%;
  cursor:pointer;
  min-width:0;
}
.em-app select:hover {
  border-color:#749375;
  background-color:#f1f5ec;
}
.em-app select:active {
  background-color:#e7eee0;
}
.em-app select:disabled {
  opacity:.55;
  cursor:not-allowed;
  background-color:#e9eee5;
}
.em-panes {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  background:#152423;
  border-top:1px solid #2e4440;
  border-bottom:1px solid #2e4440;
}
.em-pane {
  min-width:0;
  position:relative;
  background:#152423;
  display:flex;
  flex-direction:column;
}
.em-pane+.em-pane {
  border-left:1px solid #314842;
}
.em-pane-bar {
  min-height:50px;
  padding:0 16px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  border-bottom:1px solid #2d423d;
  color:#b3cbc1;
  background:#1b2d29;
  font:9px/1.4 var(--em-mono,monospace);
  letter-spacing:.06em;
}
.em-pane-bar label {
  font:inherit;
  min-width:0;
}
.em-pane-faint {
  color:#8ca99b;
  font-size:9px;
  letter-spacing:0;
}
.em-pane-actions {
  display:flex;
  align-items:center;
  gap:2px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.em-pane-actions button {
  min-height:44px;
  min-width:44px;
  border:0;
  border-bottom:2px solid transparent;
  background:transparent;
  color:#9db7ac;
  padding:4px 8px;
  font:10px/1.4 var(--em-mono,monospace);
  letter-spacing:0;
  border-radius:0;
}
.em-pane-actions button[aria-pressed="true"] {
  color:#9ce7d6;
  border-bottom-color:#70ccbc;
  background:#243b32;
}
.em-pane-actions button:hover {
  background:#2b453b;
  color:#c2f2e8;
}
.em-pane-actions button:active {
  background:#365a4c;
}
.em-pane-actions button:focus-visible {
  outline:2px solid #9ce7d6;
  outline-offset:-4px;
}
.em-pane-actions button:disabled:hover {
  background:transparent;
  color:#9db7ac;
}
.em-editor {
  position:relative;
  display:flex;
  min-width:0;
  height:340px;
  background:#152423;
  flex:1;
}
.em-code-input {
  resize:vertical;
  border:0;
  outline-offset:-3px;
  border-radius:0;
  padding:18px 18px 18px 48px;
  background:#152423;
  color:#e0e9dd;
  font:12px/1.9 var(--em-mono,monospace);
  tab-size:2;
  white-space:pre;
  overflow:auto;
  width:100%;
  min-width:0;
  min-height:280px;
  height:340px;
  max-height:800px;
  caret-color:#8be6df;
  overflow-wrap:normal;
}
.em-code-input:focus-visible,.em-code-output:focus-visible,.em-output-surface:focus-visible,.em-tree:focus-visible {
  outline:2px solid #8be6df;
  outline-offset:-3px;
}
.em-code-input::placeholder,.em-code-output::placeholder {
  color:#91a99f;
  opacity:1;
}
.em-code-input[aria-invalid="true"] {
  box-shadow:inset 3px 0 #e1a293;
}
.em-line-numbers {
  position:absolute;
  inset:18px auto 0 0;
  width:36px;
  text-align:right;
  overflow:hidden;
  padding-right:5px;
  white-space:pre;
  color:#7e9c8e;
  pointer-events:none;
  font:10px/2.28 var(--em-mono,monospace);
  z-index:1;
  background:#152423;
}
.em-code-input.em-no-gutter {
  padding:18px;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.em-output-surface {
  height:340px;
  min-height:280px;
  overflow:auto;
  background:#152423;
  flex:1;
  position:relative;
  scrollbar-color:#55776a #152423;
}
.em-code-output {
  margin:0;
  border:0;
  color:#dce9dd;
  background:#152423;
  font:12px/1.9 var(--em-mono,monospace);
  padding:18px;
  width:100%;
  min-width:0;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  tab-size:2;
  border-radius:0;
}
.em-code-output code {
  font:inherit;
  color:inherit;
  background:transparent;
}
.em-token-key {
  color:#8bd9d0;
}
.em-token-string {
  color:#b5d6a5;
}
.em-token-number {
  color:#e8c38d;
}
.em-token-literal {
  color:#c9bbe7;
}
.em-diagnostic {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px;
  min-height:48px;
  background:#e9f1e8;
  color:#285c44;
  padding:12px 24px;
  border-bottom:1px solid #cfddcc;
  font:10px/1.7 var(--em-mono,monospace);
  overflow-wrap:anywhere;
}
.em-diagnostic [data-status]::before {
  content:"✓";
  margin-right:9px;
  font-weight:700;
}
.em-diagnostic[data-level="error"] {
  background:#fff0e9;
  color:#8c312c;
  border-color:#e4c6b8;
}
.em-diagnostic[data-level="error"] [data-status]::before {
  content:"!";
}
.em-diagnostic[data-level="empty"] {
  background:#edf0e9;
  color:#51664e;
  border-color:#d3ddcc;
}
.em-diagnostic[data-level="empty"] [data-status]::before {
  content:"—";
}
.em-diagnostic[data-level="warning"] {
  background:#faf0d9;
  color:#715018;
  border-color:#e2d2a4;
}
.em-diagnostic[data-level="warning"] [data-status]::before {
  content:"△";
}
.em-text-button {
  border:0;
  min-height:44px;
  background:transparent;
  text-decoration:underline;
  text-underline-offset:4px;
  font:10px var(--em-mono,monospace);
  color:inherit;
  padding:4px 0;
}
.em-text-button:hover {
  opacity:.75;
}
.em-text-button:active {
  opacity:.6;
}
.em-tool-policy {
  font-size:10px;
  line-height:1.8;
  color:#60715f;
  margin:0;
  padding:16px 24px 20px;
}
.em-tool-policy strong {
  color:#384f3b;
  font-weight:650;
  margin-right:6px;
}
.em-warning-list {
  background:#fff6e2;
  color:#725219;
  border-bottom:1px solid #e2d2a4;
  padding:12px 24px;
  font:10px/1.8 var(--em-mono,monospace);
  max-height:180px;
  overflow:auto;
}
.em-warning-list p {
  margin:4px 0;
  overflow-wrap:anywhere;
}
.em-tree {
  padding:16px;
  color:#cce2d2;
  font:11px/1.9 var(--em-mono,monospace);
}
.em-tree details {
  padding-left:14px;
  border-left:1px solid #355246;
  margin-bottom:4px;
}
.em-tree>details {
  padding-left:0;
  border-left:0;
}
.em-tree summary {
  cursor:pointer;
  min-height:30px;
  padding:4px 0;
  overflow-wrap:anywhere;
}
.em-tree summary:hover {
  color:#8be6df;
  background:#213d32;
}
.em-tree .em-tree-leaf {
  padding:4px 0 4px 14px;
  overflow-wrap:anywhere;
}
.em-tree small {
  color:#90afa0;
}
.em-options {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);
  gap:16px;
  padding:0 24px 18px;
}
.em-options-three {
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.em-field {
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.em-field label {
  font-size:10px;
  font-weight:650;
  color:#4d624c;
}
.em-field select {
  width:100%;
}
.em-compare-panes .em-editor,.em-compare-panes .em-code-input {
  height:250px;
  min-height:250px;
}
.em-diff-results {
  padding:0 24px;
  max-height:440px;
  overflow:auto;
}
.em-diff-results:empty {
  padding:0;
}
.em-diff-list {
  list-style:none;
  padding:0;
  margin:0;
}
.em-diff-item {
  padding:16px 0;
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  gap:12px;
  border-bottom:1px solid #dce2d5;
  align-items:start;
}
.em-diff-kind {
  font:10px/1.7 var(--em-mono,monospace);
  font-weight:600;
  color:#285b48;
}
.em-diff-kind[data-kind="Removed"] {
  color:#943d30;
}
.em-diff-kind[data-kind="Changed"] {
  color:#755116;
}
.em-diff-path {
  display:block;
  color:#1a4d3c;
  font:11px/1.7 var(--em-mono,monospace);
  overflow-wrap:anywhere;
  white-space:pre-wrap;
  margin-bottom:8px;
}
.em-diff-values {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:16px;
}
.em-diff-values span {
  font:9px var(--em-mono,monospace);
  color:#5e705b;
}
.em-diff-values pre {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  color:#384f37;
  font:11px/1.7 var(--em-mono,monospace);
  margin:4px 0 0;
}
.em-diff-empty {
  padding-block:20px;
  color:#4d6448;
  font-size:13px;
}
.em-url-output {
  padding:18px;
}
.em-url-fields {
  display:grid;
  grid-template-columns:80px minmax(0,1fr);
  font:10px/1.7 var(--em-mono,monospace);
  margin:0;
  color:#cde0d1;
  gap:8px 12px;
}
.em-url-fields dt {
  color:#91b4a4;
}
.em-url-fields dd {
  margin:0;
  overflow-wrap:anywhere;
  white-space:pre-wrap;
}
.em-query-heading {
  font:10px/1.6 var(--em-mono,monospace);
  color:#8be6df;
  border-top:1px solid #355246;
  padding-top:18px;
  margin-top:18px;
}
.em-query-table {
  border-collapse:collapse;
  width:100%;
  table-layout:fixed;
  font:10px/1.7 var(--em-mono,monospace);
  color:#cde0d1;
  text-align:left;
}
.em-query-table th {
  color:#91b4a4;
  font-weight:400;
}
.em-query-table th:first-child {
  width:28px;
}
.em-query-table td,.em-query-table th {
  padding:7px 8px 7px 0;
  vertical-align:top;
  border-bottom:1px solid #304b3f;
  overflow-wrap:anywhere;
  white-space:pre-wrap;
}
.em-output-empty {
  font:11px/1.9 var(--em-mono,monospace);
  color:#99b7a7;
  margin:0;
}
.em-url-output>.em-code-output {
  padding:0;
}
.em-text-output {
  display:block;
  height:340px;
  min-height:280px;
  resize:vertical;
  max-height:800px;
  flex:1;
}
.em-file-input {
  min-height:340px;
  background:#152423;
  padding:32px 24px;
  color:#b6cdbd;
  display:flex;
  align-items:start;
  justify-content:center;
  flex-direction:column;
  gap:12px;
}
.em-file-symbol {
  font:32px/1 var(--em-mono,monospace);
  color:#8be6df;
}
.em-file-input label {
  font-size:14px;
  color:#d3e6d6;
}
.em-file-input input {
  font-size:10px;
  color:#b6cdbd;
  min-height:44px;
  max-width:100%;
  width:100%;
  padding:4px 0;
}
.em-file-input input::file-selector-button {
  min-height:44px;
  background:#2b4d3e;
  color:#cbebd4;
  border:1px solid #5c8067;
  border-radius:4px;
  margin-right:8px;
  font-size:10px;
  cursor:pointer;
}
.em-file-input input::file-selector-button:hover {
  background:#39654f;
}
.em-file-input input::file-selector-button:active {
  background:#284c36;
}
.em-file-input p {
  font:10px/1.7 var(--em-mono,monospace);
  margin:0;
  overflow-wrap:anywhere;
}
.em-download-row {
  padding:10px 16px;
  background:#1b2d29;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.em-download-row .em-button {
  background:#244536;
  color:#c6e5cd;
  border-color:#57785d;
}
.em-download-row .em-button:hover {
  background:#355e47;
  border-color:#8daf92;
}
.em-download-row span {
  font:9px var(--em-mono,monospace);
  color:#a0bda8;
}
.em-time-panes {
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  background:#152423;
}
.em-time-input {
  padding:28px 24px;
  min-width:0;
  color:#a8c2ad;
}
.em-time-input>label {
  display:block;
  font:10px/1.5 var(--em-mono,monospace);
  color:#8be6df;
  margin-bottom:14px;
}
.em-time-input input {
  width:100%;
  min-height:56px;
  background:#1e342b;
  color:#d6ebd7;
  border:1px solid #537258;
  border-radius:4px;
  padding:12px;
  font:clamp(13px,1.5vw,18px)/1.6 var(--em-mono,monospace);
  min-width:0;
}
.em-time-input input:hover {
  border-color:#8ab493;
}
.em-time-input input:focus-visible {
  outline-color:#8be6df;
  outline-offset:3px;
}
.em-time-input input[aria-invalid="true"] {
  border-color:#e1a293;
}
.em-time-input>p {
  font:10px/1.8 var(--em-mono,monospace);
  color:#9bb8a0;
  margin-top:12px;
}
.em-time-grid {
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:12px;
  margin-block:32px 20px;
  font:9px var(--em-mono,monospace);
  color:#7fae8e;
}
.em-time-grid div {
  grid-column:1/-1;
  height:16px;
  border-block:1px solid #3f5d46;
  background:repeating-linear-gradient(to right,transparent,transparent 15px,#426c4f 15px,#426c4f 16px);
  position:relative;
}
.em-time-grid div::after {
  content:"";
  position:absolute;
  right:16%;
  top:-4px;
  width:2px;
  height:22px;
  background:#8be6df;
}
.em-time-input>p.em-time-aside {
  color:#9fbaa4;
  font-size:11px;
  max-width:28ch;
}
.em-time-output {
  padding:24px;
  border-left:1px solid #3c5941;
  color:#d6ebd7;
  min-height:340px;
  min-width:0;
  background:#1b2d29;
}
.em-output-label {
  font:9px var(--em-mono,monospace);
  color:#8fb99a;
  letter-spacing:.1em;
  margin:0 0 18px;
}
.em-time-display {
  font:clamp(18px,2vw,23px)/1.5 var(--em-mono,monospace);
  letter-spacing:-.04em;
  color:#b5e6c5;
  overflow-wrap:anywhere;
  margin:0 0 6px;
}
.em-time-zone {
  color:#9ebda6;
  font:10px/1.6 var(--em-mono,monospace);
  margin-bottom:20px;
  overflow-wrap:anywhere;
}
.em-time-result-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  gap:8px;
  align-items:center;
  border-top:1px solid #38563d;
  padding-block:10px;
}
.em-time-result-row dt {
  font:9px var(--em-mono,monospace);
  color:#9fbda4;
  margin-bottom:4px;
}
.em-time-result-row dd {
  margin:0;
  font:11px/1.7 var(--em-mono,monospace);
  color:#d0e7d3;
  overflow-wrap:anywhere;
}
.em-time-result-row button {
  width:44px;
  min-height:44px;
  color:#a9dbc1;
  border:1px solid #486c53;
  border-radius:4px;
  background:transparent;
  font:14px var(--em-mono,monospace);
}
.em-time-result-row button:hover {
  background:#2c5138;
  border-color:#8dbb98;
}
.em-time-result-row button:active {
  background:#234a30;
}
.em-time-result-row button:focus-visible {
  outline-color:#8be6df;
}
.em-time-placeholder {
  font:12px/1.8 var(--em-mono,monospace);
  color:#a2bca7;
}
.em-copy-notice {
  grid-column:1/-1;
  min-height:0;
  font-size:12px;
  color:#205a43;
  background:#dcebdd;
  overflow-wrap:anywhere;
}
.em-copy-notice:not(:empty) {
  padding:12px 24px;
  border-top:1px solid #adc5ac;
}
.em-copy-notice[data-level="error"] {
  background:#fff0e9;
  color:#8c312c;
}
.em-app [data-tool]+[data-tool] {
  border-top:1px solid #cbd3c7;
}
.em-app.em-enhanced [data-tool] {
  border-top:0;
}
.em-tree-notice {
  color:#c9d39f;
  font:10px/1.8 var(--em-mono,monospace);
}
@media(max-width:1200px) {
  .em-app {
    grid-template-columns:190px minmax(0,1fr);
  }
  .em-tool-nav {
    padding-inline:8px;
  }
  .em-tool-nav>a {
    gap:8px;
    font-size:11px;
  }
  .em-tool-icon {
    min-width:22px;
  }
  .em-tool-heading {
    padding-inline:20px;
  }
  .em-toolbar {
    padding-inline:20px;
  }
  .em-options {
    padding-inline:20px;
  }
  .em-tool-number {
    display:none;
  }
  .em-private-stamp {
    font-size:8px;
  }
  .em-pane-bar {
    padding-inline:12px;
  }
  .em-pane-bar .em-pane-faint {
    display:none;
  }
  .em-code-input,.em-code-output {
    font-size:11px;
  }
  .em-line-numbers {
    line-height:2.09;
  }
}
@media(max-width:1023px) {
  .em-app {
    grid-template-columns:minmax(0,1fr);
  }
  .em-tool-nav {
    display:flex;
    overflow-x:auto;
    gap:6px;
    padding:10px;
    background:#e9ede5;
    border-right:0;
    border-bottom:1px solid #cbd3c7;
    border-radius:5px 5px 0 0;
    scrollbar-width:thin;
    scrollbar-color:#8caa91 #e9ede5;
    scroll-padding:12px;
  }
  .em-rail-label,.em-rail-bottom {
    display:none;
  }
  .em-tool-nav>a {
    flex-shrink:0;
    min-height:50px;
    padding:8px 12px;
    gap:8px;
    margin:0;
    font-size:11px;
  }
  .em-tool-nav>a small {
    font-size:9px;
    margin-top:3px;
  }
  .em-tool-nav>a[aria-current="true"]::before {
    top:auto;
    bottom:-1px;
    left:12px;
    right:12px;
    width:auto;
    height:2px;
  }
  .em-tool-icon {
    font-size:17px;
  }
  .em-tool-heading {
    padding-top:22px;
  }
  .em-private-stamp {
    font-size:9px;
  }
  .em-code-input,.em-code-output {
    font-size:12px;
  }
  .em-line-numbers {
    line-height:2.28;
  }
  .em-options-three {
    gap:12px;
  }
  .em-time-input {
    padding:24px 20px;
  }
  .em-time-output {
    padding:24px 20px;
  }
}
@media(max-width:767px) {
  .em-panes {
    grid-template-columns:minmax(0,1fr);
  }
  .em-pane+.em-pane {
    border-left:0;
    border-top:1px solid #314842;
  }
  .em-tool-heading {
    padding:20px 16px 18px;
  }
  .em-tool-heading h2 {
    font-size:22px;
  }
  .em-tool-heading p:not(.em-tool-kicker) {
    font-size:11px;
  }
  .em-private-stamp {
    display:none;
  }
  .em-toolbar {
    padding-inline:16px;
    gap:12px;
  }
  .em-button {
    padding-inline:12px;
    font-size:11px;
  }
  .em-example-control {
    width:100%;
    justify-content:space-between;
  }
  .em-example-control select {
    flex:1;
    max-width:240px;
  }
  .em-example-control label {
    font-size:10px;
  }
  .em-editor,.em-code-input {
    height:280px;
    min-height:220px;
  }
  .em-output-surface,.em-text-output {
    height:280px;
    min-height:220px;
  }
  .em-code-input,.em-code-output {
    font-size:11px;
  }
  .em-line-numbers {
    line-height:2.09;
  }
  .em-pane-bar {
    min-height:50px;
    padding-inline:16px;
  }
  .em-pane-bar .em-pane-faint {
    display:inline;
  }
  .em-diagnostic {
    padding:12px 16px;
    font-size:10px;
  }
  .em-tool-policy {
    padding:14px 16px 18px;
  }
  .em-options {
    padding:0 16px 16px;
    gap:12px;
    grid-template-columns:1fr;
  }
  .em-options-three {
    grid-template-columns:1fr 1fr;
  }
  .em-options-three .em-field:first-child {
    grid-column:1/-1;
  }
  .em-field label {
    font-size:10px;
  }
  .em-app select {
    font-size:11px;
  }
  .em-compare-panes .em-editor,.em-compare-panes .em-code-input {
    height:230px;
    min-height:200px;
  }
  .em-diff-results {
    padding-inline:16px;
  }
  .em-diff-item {
    grid-template-columns:64px minmax(0,1fr);
    gap:8px;
  }
  .em-diff-values {
    grid-template-columns:1fr;
    gap:12px;
  }
  .em-warning-list {
    padding:12px 16px;
  }
  .em-time-input {
    padding:24px 16px;
  }
  .em-time-output {
    border-left:0;
    border-top:1px solid #3c5941;
    padding:24px 16px;
  }
  .em-time-grid {
    margin-block:24px 14px;
  }
  .em-time-input>p.em-time-aside {
    max-width:none;
  }
  .em-time-input input {
    font-size:18px;
  }
  .em-time-display {
    font-size:23px;
  }
  .em-file-input {
    min-height:260px;
    padding:24px 16px;
  }
  .em-copy-notice:not(:empty) {
    padding:12px 16px;
  }
  .em-principles p {
    margin-bottom:0;
  }
}
@media(max-width:390px) {
  .em-tool-heading h2 {
    font-size:21px;
  }
  .em-tool-heading {
    padding-inline:12px;
  }
  .em-toolbar {
    padding-inline:12px;
  }
  .em-action-group {
    gap:4px;
  }
  .em-button {
    padding-inline:10px;
    gap:6px;
  }
  .em-pane-bar {
    padding-inline:10px;
    gap:4px;
  }
  .em-pane-actions button {
    font-size:9px;
    padding-inline:6px;
  }
  .em-pane-bar .em-pane-faint {
    display:none;
  }
  .em-pane-bar {
    font-size:8px;
  }
  .em-code-input {
    padding-left:40px;
  }
  .em-line-numbers {
    width:30px;
  }
  .em-options {
    padding-inline:12px;
  }
  .em-options-three {
    grid-template-columns:1fr;
  }
  .em-options-three .em-field:first-child {
    grid-column:auto;
  }
  .em-diagnostic {
    padding-inline:12px;
  }
  .em-tool-policy {
    padding-inline:12px;
  }
  .em-time-display {
    font-size:20px;
  }
  .em-time-input input {
    font-size:15px;
  }
  .em-diff-item {
    grid-template-columns:1fr;
  }
  .em-diff-results {
    padding-inline:12px;
  }
  .em-app select {
    font-size:10px;
  }
  .em-text-output {
    padding:14px;
  }
  .em-url-fields {
    grid-template-columns:62px minmax(0,1fr);
    gap:8px;
  }
  .em-app select {
    padding-left:8px;
    padding-right:20px;
  }
}
.em-tree summary {
  min-height:44px;
}
.em-text-button:hover {
  opacity:1;
  text-decoration-thickness:2px;
}
.em-text-button:active {
  opacity:1;
  text-decoration-thickness:3px;
}
.em-time-result-row button:disabled {
  cursor:not-allowed;
  opacity:.45;
  background:transparent;
  border-color:#486c53;
}
.em-copy-notice {
  min-height:44px;
  padding:12px 24px;
  border-top:1px solid #cbd3c7;
  background:transparent;
}
.em-copy-notice:empty::before {
  content:"LOCAL SESSION / INPUT IS NOT STORED";
  font:9px/1.8 var(--em-mono,monospace);
  color:#536455;
}
@media(max-width:767px) {
  .em-copy-notice {
    padding-inline:16px;
  }
}
.em-tool-kicker,.em-rail-label {
  font-size:10px;
}
.em-tool-number {
  font-size:9px;
}
.em-tool-nav>a {
  font-size:13px;
}
.em-tool-nav>a small {
  font-size:11px;
}
.em-pane-bar {
  font-size:10px;
}
.em-pane-actions button {
  font-size:11px;
}
.em-button,.em-app select {
  font-size:12px;
}
.em-field label,.em-example-control label,.em-diagnostic,.em-tool-policy {
  font-size:11px;
}
.em-editor {
  --em-editor-line:24px;
}
.em-code-input,.em-line-numbers {
  line-height:var(--em-editor-line);
}
@media(min-width:1024px) {
  .em-code-input,.em-code-output {
    font-size:13px;
  }
}
@media(min-width:1024px) and (max-width:1200px) {
  .em-tool-nav>a {
    font-size:12px;
  }
  .em-tool-nav>a small {
    font-size:10px;
  }
}
@media(max-width:767px) {
  .em-code-input,.em-code-output {
    font-size:12px;
  }
}
@media(max-width:390px) {
  .em-tool-heading {
    padding-block:16px 12px;
  }
  .em-tool-kicker,.em-tool-heading p:not(.em-tool-kicker) {
    display:none;
  }
  .em-tool-heading h2 {
    margin-bottom:0;
  }
  .em-pane-bar {
    font-size:9px;
  }
  .em-pane-actions button {
    font-size:10px;
  }
}
@media(prefers-reduced-motion:reduce) {
  .em-app * {
    transition:none!important;
    scroll-behavior:auto!important;
  }
}
