/* Theme only the application's chrome. The .canvas background and #diagram SVG
 * deliberately retain the diagram's own palette in both modes and all exports.
 * Keep these overrides last, after the editor, appearance and numbering styles.
 */
:root[data-theme="light"]{color-scheme:light}
.connection-style-row{display:flex;align-items:center;gap:8px}
.connection-style-row input{min-width:0;flex:1}
.connection-style-row .button{flex:none}
@media screen {
  :root[data-theme="dark"]{
    color-scheme:dark;
    color:#dce5ed;
    background:#14202c;
    --ink:#e6edf3;
    --muted:#adbfcc;
    --line:#374b5a;
    --teal:#79d4c7;
    --purple:#c1aadf;
    --focus:#82ddd0;
    --ui-surface:#172633;
    --ui-raised:#203341;
    --ui-field:#111f2b;
    --ui-hover:#2a4151;
    --ui-border:#415868;
    --ui-text:#e6edf3;
    --ui-secondary:#b8cbd8;
    --ui-muted:#a4b9c8;
    --ui-accent:#82ddd0;
    --ui-selected:#203f42;
    --ui-danger:#ffb4aa;
  }
  :root[data-theme="dark"] body{background:var(--ui-surface)}
  :root[data-theme="dark"] :is(.topbar,.document-bar,.toolbar,.legend,.inspector,dialog){background:var(--ui-surface);color:var(--ui-text)}
  :root[data-theme="dark"] .brand-mark i{border-color:var(--ui-secondary)}
  :root[data-theme="dark"] .brand-mark b{background:var(--ui-surface)}
  :root[data-theme="dark"] :is(.prototype,.inspector-top,.panel-section,.panel-actions,.connection-controls,.appearance-entity,.library-row){border-color:var(--line)}
  :root[data-theme="dark"] :is(.prototype,.document-icon,.document-label,.save-status,.selection-tag,.selection-intro p,.optional,.legend span,.panel-empty,.panel-section h4,.appearance-entity h4,.appearance-upload-help,.library-row small,.payment-number-status,.numbering-group-label,.numbering-description small,.numbering-main-heading small,.numbering-empty,.relationship-row small,.provider-display small,.region-members small,.region-members>p,.field small,.connection-controls>small){color:var(--ui-muted)}
  :root[data-theme="dark"] :is(.field>span,.field-label,.provider-display legend,.region-members legend,.appearance-color>label,.appearance-symbol-preview,.relationship-row strong,.dialog-body>p,.numbering-editor>p,.shortcuts){color:var(--ui-secondary)}
  :root[data-theme="dark"] #diagram-title{color:var(--ui-text)}
  :root[data-theme="dark"] #diagram-title:hover{border-color:var(--ui-border)}
  :root[data-theme="dark"] :is(.panel-empty h3,.numbering-description strong){color:var(--ui-text)}
  :root[data-theme="dark"] .button{background:var(--ui-raised);border-color:var(--ui-border);color:var(--ui-text)}
  :root[data-theme="dark"] .button:hover{background:var(--ui-hover);border-color:#65818f}
  :root[data-theme="dark"] .button.primary{background:#86d8cc;border-color:#86d8cc;color:#102d2c}
  :root[data-theme="dark"] .button.primary:hover{background:#a0eadd;border-color:#a0eadd}
  :root[data-theme="dark"] :is(.button.quiet,.icon-button){background:transparent;border-color:transparent;color:var(--ui-text)}
  :root[data-theme="dark"] :is(.button.quiet,.icon-button):hover{background:var(--ui-hover)}
  :root[data-theme="dark"] .button.danger{color:var(--ui-danger);border-color:#865a58;background:#392b31}
  :root[data-theme="dark"] .button.danger:hover{background:#513339;border-color:#b67570}
  :root[data-theme="dark"] .toolbar .button{background:var(--ui-raised)}
  :root[data-theme="dark"] .toolbar .button:hover{background:var(--ui-hover)}
  :root[data-theme="dark"] .toolbar .button.quiet{background:transparent}
  :root[data-theme="dark"] .toolbar .button.quiet:hover{background:var(--ui-hover)}
  :root[data-theme="dark"] button:disabled{opacity:.45}
  :root[data-theme="dark"] :is(button,input,select,textarea):focus-visible{outline-color:var(--ui-accent)}
  :root[data-theme="dark"] :is(.text-button,.provider-edit,.numbering-tools .text-button,.numbering-editor .numbering-status){color:var(--ui-accent)}
  :root[data-theme="dark"] .text-button:hover{color:#b6f7ea}
  :root[data-theme="dark"] :is(.view-switch,.zoom-tools,.numbering-tools){background:var(--ui-surface);border-color:var(--ui-border);color:var(--ui-text);box-shadow:0 2px 8px #0002}
  :root[data-theme="dark"] .view-switch button{color:var(--ui-secondary)}
  :root[data-theme="dark"] .view-switch button:hover{background:var(--ui-hover)}
  :root[data-theme="dark"] .view-switch button[aria-pressed="true"]{background:var(--ui-selected);color:#a0eadd}
  :root[data-theme="dark"] :is(.canvas-hint,.local-notice){background:#172633ed;color:var(--ui-secondary)}
  :root[data-theme="dark"] .object-count{background:#172633ed;color:var(--ui-secondary);padding:4px 8px;border-radius:4px}
  :root[data-theme="dark"] :is(.selection-symbol,.relationship-row .flow-dot){background:var(--ui-selected);border-color:#3c645f;color:#8bdfcd}
  :root[data-theme="dark"] :is(.entity-key,.holder-key){border-color:#b8cbd8}
  :root[data-theme="dark"] .account-key{border-color:#79d4c7}
  :root[data-theme="dark"] .misc-key{border-color:#b0c0f1}
  :root[data-theme="dark"] :is(.field input,.field select,.field textarea,dialog input,dialog select,dialog textarea){background:var(--ui-field);border-color:var(--ui-border);color:var(--ui-text)}
  :root[data-theme="dark"] :is(.field input,.field select,.field textarea):hover{border-color:#72919f}
  :root[data-theme="dark"] :is(.field input,.field textarea,dialog input,dialog textarea)::placeholder{color:#9aafbc;opacity:1}
  :root[data-theme="dark"] :is(input[type="checkbox"],input[type="radio"],input[type="range"]){accent-color:#86d8cc}
  :root[data-theme="dark"] :is(.panel-callout,.appearance-color-panel){background:var(--ui-raised);border-color:var(--ui-border);color:var(--ui-secondary)}
  :root[data-theme="dark"] .panel-callout.routing-crowded{background:#3b3424;border-color:#7a6a42;color:#f1d49a}
  :root[data-theme="dark"] .toast{background:#d2ebe6;color:#153632;box-shadow:0 5px 25px #0004}
  :root[data-theme="dark"] dialog{border-color:var(--ui-border);box-shadow:0 25px 100px #0008}
  :root[data-theme="dark"] dialog::backdrop{background:#06111dcc}
  :root[data-theme="dark"] .dialog-actions{background:#14232f;border-color:var(--line)}
  :root[data-theme="dark"] :is(.kind-picker label,.provider-display label,.region-members>label){background:var(--ui-field);border-color:var(--ui-border);color:var(--ui-secondary)}
  :root[data-theme="dark"] :is(.kind-picker label,.provider-display label,.region-members>label):has(input:checked){background:var(--ui-selected);border-color:#70b9ab;color:#c3f1e8}
  :root[data-theme="dark"] :is(.error,.save-status.save-error,.appearance-color-panel [data-color-error]){color:var(--ui-danger)}
  :root[data-theme="dark"] .shortcuts kbd{background:var(--ui-field);border-color:var(--ui-border);color:var(--ui-text)}
  :root[data-theme="dark"] .switch-track{background:#607584}
  :root[data-theme="dark"] .numbering-switch[aria-checked="true"] .switch-track{background:#86d8cc}
  :root[data-theme="dark"] .numbering-switch[aria-checked="true"] .switch-track:before{background:#143c36}
  :root[data-theme="dark"] .numbering-row{background:var(--ui-field);border-color:var(--ui-border)}
  :root[data-theme="dark"] .numbering-row.included{background:#1a3036}
  :root[data-theme="dark"] .numbering-main-heading{background:#26424a;border-color:#486772;color:#dbefee}
  :root[data-theme="dark"] .numbering-editor .numbering-substep{border-left-color:#6a9b92}
  :root[data-theme="dark"] .numbering-grip{color:var(--ui-secondary)}
  :root[data-theme="dark"] .numbering-badge{background:var(--ui-field);border-color:#82d6c7;color:#a2e9db}
  :root[data-theme="dark"] .excluded .numbering-badge{border-color:#57707f;color:#adc0cb}
  :root[data-theme="dark"] .numbering-moves button{background:var(--ui-raised);border-color:var(--ui-border);color:var(--ui-text)}
  :root[data-theme="dark"] .numbering-moves button:hover:not(:disabled){background:var(--ui-hover)}
  :root[data-theme="dark"] .numbering-actions select{background:var(--ui-field);border-color:var(--ui-border);color:var(--ui-secondary)}
  :root[data-theme="dark"] .numbering-actions select:disabled{background:#1a2934;color:#8d9fa9}
  :root[data-theme="dark"] :is(.numbering-main-group,.numbering-row).drop-before{box-shadow:0 -3px #86d8cc}
  :root[data-theme="dark"] :is(.numbering-main-group,.numbering-row).drop-after{box-shadow:0 3px #86d8cc}
  :root[data-theme="dark"] .appearance-color-button{background:var(--ui-raised);border-color:var(--ui-border)}
  :root[data-theme="dark"] .appearance-color-controls input:invalid{border-color:#ffb4aa}
  :root[data-theme="dark"] :is(.appearance-color-presets button,.appearance-color-draft>span){border-color:#91a4af}
  :root[data-theme="dark"] .appearance-color-panel .appearance-color-slider{color:var(--ui-secondary)}
  :root[data-theme="dark"] .appearance-color-slider input[type="range"]{accent-color:#86d8cc}
  :root[data-theme="dark"] .appearance-color-panel button:focus-visible{outline-color:var(--ui-accent)}
  :root[data-theme="dark"] button.appearance-icon-choice{background:var(--ui-field);border-color:var(--ui-border);color:var(--ui-secondary)}
  :root[data-theme="dark"] button.appearance-icon-choice:hover{background:var(--ui-hover);border-color:#72919f}
  :root[data-theme="dark"] button.appearance-icon-choice[aria-pressed="true"]{background:var(--ui-selected);border-color:#86d8cc;color:#baf1e6}
  :root[data-theme="dark"] .appearance-symbol-preview>svg{stroke:currentColor}
  :root[data-theme="dark"] .appearance-upload:focus-within{outline-color:var(--ui-accent)}
  :root[data-theme="dark"] .appearance-status{color:#f3c7b4}
  :root[data-theme="dark"] #app-loading{background:#14202c;color:var(--ui-text)}
}
@media print {
  :root[data-theme]{color-scheme:light}
}
