/* Theme surfaces and controls are explicit: never invert the entire interface. */
html[data-appearance],html[data-appearance] body{background:var(--theme-bg)!important;color:var(--theme-text)!important}
html[data-appearance] :is(.panel,.side,.readbar,.toolbar,.card,.paper,.result,.result-card,.task-card,.history-card,.history-item,.modal-content,dialog,.selection-tools){background:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important}
html[data-appearance] :is(h1,h2,h3,h4,label,.item-title,.detail-meta,.section-label h2,.panel h2,.saved-head span,.qa-question,.qa-answer){color:var(--theme-text)!important}
html[data-appearance] :is(.muted,.meta,.hint,.intro,.empty,.eyebrow,.selection-meta,.status-line,.stat span,.ai-model-row label,.annotation-style label){color:var(--theme-muted)!important}
html[data-appearance] :is(input:not([type=color]):not([type=range]):not([type=checkbox]),textarea,select){background:var(--theme-surface)!important;color:var(--theme-control-text)!important;border-color:var(--theme-border)!important}
html[data-appearance] option{background:var(--theme-surface)!important;color:var(--theme-control-text)!important;border-color:var(--theme-border)!important}
html[data-appearance] :is(input,textarea)::placeholder{color:var(--theme-muted)!important;opacity:1}
html[data-appearance] :is(button,.button,.file-btn):not(.swatch):not(.appearance-button){background:var(--theme-surface)!important;color:var(--theme-control-text)!important;border-color:var(--theme-border)!important}
html[data-appearance] :is(button,.button,.file-btn):not(.swatch):hover{background:var(--theme-surface)!important;color:var(--theme-control-text)!important;border-color:var(--theme-accent)!important}
html[data-appearance] :is(.button.primary,button[type=submit],.button.active,.tab.active,.shape-tools button.active,#uploadButton,#ask,#translateButton,#searchButton){background:var(--theme-accent)!important;color:var(--theme-on-accent)!important;border-color:var(--theme-accent)!important}
html[data-appearance] :is(.button.primary,button[type=submit],.button.active,.tab.active,.shape-tools button.active,#uploadButton,#ask):hover{filter:brightness(.94)}
html[data-appearance] :is(.button.ai,.ai-context,.qa-turn,.preset-questions button){border-color:var(--theme-ai)!important}
html[data-appearance] .button.ai{background:var(--theme-ai)!important;color:var(--theme-on-ai)!important}
html[data-appearance] :is(.button.danger,.delete-item,.row-delete,.error,#deleteError){color:var(--theme-danger)!important}
html[data-appearance] .button.danger{background:color-mix(in srgb,var(--theme-danger) 10%,var(--theme-surface))!important;border-color:var(--theme-danger)!important}
html[data-appearance] :is(button,.button):disabled{opacity:1!important;filter:none!important;background:var(--theme-bg)!important;color:var(--theme-muted)!important;border-color:var(--theme-border)!important;cursor:not-allowed}
html[data-appearance] :is(.badge,.file-icon,.selected,.saved,.qa-turn,.ai-context,.dropzone,.stat,.status,.quick,.item,.paper-card,.summary,.config-display,.notice,.result-box){background:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important}
html[data-appearance] :is(.item.selected,.quick.active,.tab.active){border-color:var(--theme-accent)!important}
html[data-appearance] :is(.text-button,.edit-item,a:not(.button):not(.brand),.badge,.progressValue){color:var(--theme-link)!important}
html[data-appearance] header{background:var(--theme-header)!important;border-color:var(--theme-border)!important}
html[data-appearance] header :is(a,strong,button){color:var(--theme-header-text)!important}
html[data-appearance] header nav a[aria-current]{background:#ffffff18!important}
html[data-appearance] :is(.tabs,.toolbar-group,.saved,.qa-turn,.stats){border-color:var(--theme-border)!important}
html[data-appearance] .pdf-column>h2{color:var(--theme-muted)!important}
html[data-appearance] :is(progress,input[type=range],input[type=checkbox]){accent-color:var(--theme-accent)}
html[data-appearance] :is(.search,.ref,.file,.workflow,.server,.summary-card,.actionbar,.note,.selected-text,.answer,.task-config-detail){background:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important}
html[data-appearance] :is(.abstract,.sub,.quick strong,.workflow span,.server b,.file strong,.formatted,.ref-head,.qa-answer p,.qa-answer li,.saved p){color:var(--theme-text)!important}
html[data-appearance] :is(button,a,input,select,textarea):focus-visible{outline:3px solid var(--theme-accent)!important;outline-offset:3px}
/* Translation workbench: theme nested surfaces, not just their containers. */
html[data-appearance] .operate-page .workflow{background:transparent!important}
html[data-appearance] .operate-page .workflow>div{background:var(--theme-surface)!important;border-color:var(--theme-border)!important;color:var(--theme-text)!important}
html[data-appearance] .operate-page .workflow b{background:var(--theme-accent)!important;color:var(--theme-on-accent)!important}
html[data-appearance] .operate-page :is(.workflow small,.quick span){color:color-mix(in srgb,var(--theme-text) 25%,var(--theme-muted))!important}
html[data-appearance] .operate-page #files{background:var(--theme-bg)!important;color:var(--theme-text)!important;border:1px solid var(--theme-border);border-radius:8px;padding:12px}
html[data-appearance] .operate-page #files:empty{display:none}
html[data-appearance] .operate-page #files .file{background:transparent!important;border-color:var(--theme-border)!important;padding:10px 2px 2px}
html[data-appearance] .operate-page #files .file:first-child{border-top:0;padding-top:2px}
html[data-appearance] .operate-page #status{background:var(--theme-bg)!important;color:var(--theme-text)!important}
html[data-appearance] .operate-page #status.success{border-left-color:var(--theme-accent)!important}
html[data-appearance] .operate-page #status.running{border-left-color:#d6a446!important}
html[data-appearance] .operate-page #status.error{border-left-color:var(--theme-danger)!important;color:var(--theme-danger)!important}
html[data-appearance] .operate-page #progress{appearance:none;border:0;border-radius:8px;overflow:hidden;background:var(--theme-bg);color:var(--theme-accent)}
html[data-appearance] .operate-page #progress::-webkit-progress-bar{background:var(--theme-bg);border-radius:8px}
html[data-appearance] .operate-page #progress::-webkit-progress-value{background:var(--theme-accent);border-radius:8px}
html[data-appearance] .operate-page #progress::-moz-progress-bar{background:var(--theme-accent);border-radius:8px}
/* Raster and its glyph-tint copy share brightness; vectors retain annotation colors. */
.pdf-sheet>img{filter:var(--pdf-filter,none) brightness(var(--pdf-brightness,1))}
html[data-pdf-theme=original]{--pdf-filter:brightness(1)}
html[data-pdf-theme=warm]{--pdf-filter:sepia(.27) saturate(.8)}
html[data-pdf-theme=dark]{--pdf-filter:invert(.88) hue-rotate(180deg)}
html[data-pdf-theme=dark] .pdf-sheet{background:#202730!important}
html[data-pdf-theme=warm] .pdf-sheet{background:#f4ecd7!important}
.appearance-button{flex-shrink:0;border:1px solid #ffffff60!important;border-radius:7px;background:transparent!important;color:var(--theme-header-text,#fff)!important;padding:7px 11px!important;min-height:34px!important;font:inherit;font-size:12px!important;cursor:pointer;white-space:nowrap}
html[data-appearance] header .appearance-button:hover{background:var(--theme-header)!important;color:var(--theme-header-text)!important;border-color:var(--theme-header-text)!important}
.appearance-floating{position:fixed;right:18px;top:12px;z-index:90;background:var(--theme-surface)!important;color:var(--theme-text)!important}
#appearanceDialog{width:min(480px,calc(100% - 28px));max-height:90dvh;overflow:auto;border:1px solid var(--theme-border);padding:24px;border-radius:14px;box-shadow:0 25px 80px #0005}
#appearanceDialog::backdrop{background:#0007}
#appearanceDialog .appearance-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
#appearanceDialog h2{font-size:20px;margin:0}
#appearanceDialog p{font-size:12px;line-height:1.7;color:var(--theme-muted)}
#appearanceDialog label{display:flex;flex-direction:column;gap:7px;margin:14px 0;font-size:13px}
#appearanceDialog :is(select,button){border:1px solid var(--theme-border);border-radius:7px;padding:8px 12px;min-height:36px;font:inherit;font-size:13px}
#appearanceColors{border:1px solid var(--theme-border);border-radius:8px;display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;padding:8px 14px}#appearanceColors[hidden]{display:none}
#appearanceColors input{width:100%;height:34px;padding:2px;border:1px solid var(--theme-border);background:transparent}
#appearanceDialog legend{font-size:12px;color:var(--theme-muted)}
@media(max-width:680px){header .top{gap:8px;flex-wrap:wrap}.appearance-button{margin-left:auto}body:has(.readbar) header .top{flex-wrap:nowrap;padding:0 10px;gap:8px}body:has(.readbar) header .top>a[href='/operate']{display:none}}
@media print{.appearance-button,#appearanceDialog{display:none!important}.pdf-sheet>img{filter:none!important}}

/* Quiet surfaces, distinct primary actions and restrained complementary accents. */
html[data-appearance] :is(h1,h2,h3,h4,.brand) { letter-spacing: 0; }
html[data-appearance] main:not(.workspace) h1 { font-size: 28px; line-height: 1.3; }
html[data-appearance] :is(.panel,.side,.toolbar,.task-card,.history-card,dialog) { box-shadow: none; border-radius: 8px; }
html[data-appearance] :is(button,.button,.quick,.item) { transition: background-color .15s, border-color .15s, color .15s; }
html[data-appearance] .quick:hover { transform: none; box-shadow: none; }
html[data-appearance] :is(.button.secondary,.button:not(.primary):not(.active):not(.ai):not(.danger):not([type=submit])):hover {
  background: color-mix(in srgb,var(--theme-soft) 17%,var(--theme-surface))!important;
}
html[data-appearance] :is(.tab,.shape-tools button,.selection-tools button):not(.active):hover {
  background: color-mix(in srgb,var(--theme-soft) 17%,var(--theme-surface))!important;
}
html[data-appearance] :is(.page-heading,.section-label,.section-heading) { gap: 14px; }
html[data-appearance] :is(.section-label h2,.section-heading h2) { display: flex; align-items: center; gap: 9px; }
html[data-appearance] .section-glyph { flex: 0 0 18px; width: 18px; height: 18px; color: var(--theme-accent); }
html[data-appearance] :is(.eyebrow,.saved-label) { color: var(--theme-link)!important; }
html[data-appearance] :is(.config-line,.comparison-model,.connection-card) {
  background: color-mix(in srgb,var(--theme-soft) 10%,var(--theme-surface))!important;
  border-color: var(--theme-border)!important; color: var(--theme-text)!important;
}
html[data-appearance] :is(.compare-dropzone,.dropzone) {
  background: color-mix(in srgb,var(--theme-soft) 11%,var(--theme-surface))!important;
  border-color: color-mix(in srgb,var(--theme-accent) 45%,var(--theme-border))!important;
  border-radius: 8px; box-shadow: none;
}
html[data-appearance] :is(.compare-dropzone,.dropzone):hover {
  background: color-mix(in srgb,var(--theme-soft) 20%,var(--theme-surface))!important;
}
html[data-appearance] .operate-page .workflow { gap: 0; border-block: 1px solid var(--theme-border); padding: 13px 0; }
html[data-appearance] .operate-page .workflow>div { background: transparent!important; border: 0; border-radius: 0; padding: 6px 18px; }
html[data-appearance] .operate-page .workflow>div+div { border-left: 1px solid var(--theme-border); }
html[data-appearance] .operate-page .workflow b { border-radius: 6px; }
html[data-appearance] .operate-page .quick { border-radius: 8px; box-shadow: none; min-height: 72px; }
html[data-appearance] .operate-page .quick.active { border-bottom: 3px solid var(--theme-secondary)!important; }
html[data-appearance] .operate-page .section-label { border-color: var(--theme-border); }
html[data-appearance] .status.success { border-left-color: var(--theme-accent)!important; }
html[data-appearance] :is(.selected.ai-context,.qa-turn) { background: color-mix(in srgb,var(--theme-ai) 5%,var(--theme-surface))!important; }
html[data-appearance] .readbar { box-shadow: 0 1px 0 var(--theme-border); }
html[data-appearance] .readbar .button { font-weight: 500; }
html[data-appearance] .tabs { background: var(--theme-surface); }
html[data-appearance] .pdf-column .page-label { color: var(--theme-muted); }
html[data-appearance] .saved:hover { background: color-mix(in srgb,var(--theme-soft) 10%,var(--theme-surface))!important; }
#appearanceDialog { width: min(520px,calc(100% - 28px)); border-radius: 8px; padding: 22px; }
#appearanceDialog .appearance-heading { margin-bottom: 20px; }
#appearanceDialog .palette-picker { margin: 0 0 20px; padding: 0; border: 0; min-width: 0; }
#appearanceDialog .palette-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; max-height: 260px; overflow-y: auto; padding: 4px; scrollbar-gutter: stable; }
#appearancePaletteName { color: var(--theme-muted); font-weight: 400; margin-left: 8px; }
#appearanceDialog .palette-picker legend { margin-bottom: 10px; font-weight: 600; color: var(--theme-text); }
#appearanceDialog .palette-option { position: relative; margin: 0; padding: 10px 8px; border: 1px solid var(--theme-border); border-radius: 6px; cursor: pointer; align-items: center; gap: 9px; }
#appearanceDialog .palette-option:has(input:checked) { border-color: var(--theme-accent); box-shadow: 0 0 0 1px var(--theme-accent); background: color-mix(in srgb,var(--theme-soft) 12%,var(--theme-surface)); }
#appearanceDialog .palette-option input { position: absolute; width: 1px; height: 1px; opacity: 0; margin: 0; }
#appearanceDialog .palette-option:has(input:focus-visible) { outline: 3px solid var(--theme-accent); outline-offset: 3px; }
.palette-swatches { display: flex; height: 26px; width: 100%; border: 1px solid #00000012; border-radius: 4px; overflow: hidden; }
.palette-swatches i { flex: 1; }
.palette-name { font-size: 12px; line-height: 18px; white-space: nowrap; color: var(--theme-text); }
#appearanceDialog .appearance-paper { border-top: 1px solid var(--theme-border); margin-top: 18px; }
#appearanceBrightnessLabel { color: var(--theme-link); font-variant-numeric: tabular-nums; }
#appearanceContrast:empty { display: none; }
html[data-appearance] .state { background: var(--theme-bg); color: var(--theme-muted); border: 1px solid var(--theme-border); }
html[data-appearance] .state.success { background: color-mix(in srgb,var(--theme-soft) 15%,var(--theme-surface)); color: var(--theme-link); }
html[data-appearance] .state.failed { background: color-mix(in srgb,var(--theme-danger) 8%,var(--theme-surface)); color: var(--theme-danger); }
html[data-appearance] .state.running { border-color: var(--theme-secondary); color: var(--theme-text); }
@media(max-width:600px) {
  html[data-appearance] main:not(.workspace) h1 { font-size: 24px; }
  html[data-appearance] .operate-page .workflow>div { padding: 6px 8px; gap: 7px; }
  #appearanceDialog { padding: 18px; }
  #appearanceDialog .palette-grid { gap: 7px; }
}

/* Short feedback for controls and disclosure; PDF geometry never animates. */
html[data-appearance] :is(select,input:not([type=range]),textarea,summary,header nav a,.palette-option) {
  transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease, color .15s ease;
}
html[data-appearance] :is(select,input:not([type=checkbox]):not([type=radio]),textarea):focus {
  border-color:var(--theme-accent)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-accent) 12%,transparent);
}
html[data-appearance] summary:hover { color:var(--theme-link); }
html[data-appearance] details[open] > :not(summary),
html[data-appearance] .side .panel.active { animation:workspace-reveal .16s ease-out; }
@keyframes workspace-reveal { from { opacity:.35; } to { opacity:1; } }
html[data-appearance] dialog[open] { animation:dialog-reveal .16s ease-out; }
html[data-appearance] dialog[open]::backdrop { animation:backdrop-reveal .16s ease-out; }
@keyframes dialog-reveal { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
@keyframes backdrop-reveal { from { opacity:0; } to { opacity:1; } }

/* Enhance native dropdowns without replacing their controls or compact sizes. */
@supports (appearance:base-select) {
  html[data-appearance] select:not([multiple]):is(:not([size]),[size="1"]),
  html[data-appearance] select:not([multiple]):is(:not([size]),[size="1"])::picker(select) {
    appearance:base-select;
  }
  html[data-appearance] select:not([multiple]):is(:not([size]),[size="1"]) { cursor:pointer; gap:.65em; }
  html[data-appearance] select:not([multiple]):is(:not([size]),[size="1"]):disabled { cursor:not-allowed; }
  html[data-appearance] select:not([multiple]):is(:not([size]),[size="1"])::picker(select) {
    min-inline-size:anchor-size(width);
    max-inline-size:calc(100vw - 16px);
    max-block-size:min(320px,60dvh);
    margin-block:6px;
    padding:5px;
    border:1px solid var(--theme-border);
    border-radius:12px;
    background:var(--theme-surface);
    color:var(--theme-control-text);
    box-shadow:0 12px 30px #00000020,0 2px 7px #0000000d;
    overflow:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:var(--theme-border) transparent;
    opacity:0;
    translate:0 -4px;
    transition:opacity .16s ease,translate .16s ease,display .16s allow-discrete,overlay .16s allow-discrete;
  }
  html[data-appearance] select:not([multiple]):is(:not([size]),[size="1"]):open::picker(select) {
    opacity:1;
    translate:0 0;
  }
  @starting-style {
    html[data-appearance] select:not([multiple]):is(:not([size]),[size="1"]):open::picker(select) {
      opacity:0;
      translate:0 -4px;
    }
  }
  html[data-appearance] select:not([multiple]):is(:not([size]),[size="1"])::picker-icon {
    content:"";
    inline-size:.45em;
    block-size:.45em;
    margin-inline-start:auto;
    margin-block-end:.2em;
    border:solid currentColor;
    border-width:0 1.5px 1.5px 0;
    color:var(--theme-muted);
    flex-shrink:0;
    rotate:45deg;
    transition:rotate .16s ease,color .16s ease;
  }
  html[data-appearance] select:not([multiple]):is(:not([size]),[size="1"]):open::picker-icon {
    color:var(--theme-accent);
    rotate:225deg;
  }
  html[data-appearance] select:not([multiple]):is(:not([size]),[size="1"]) option {
    align-items:center;
    gap:12px;
    min-block-size:34px;
    padding:8px 10px;
    border:0;
    border-radius:7px;
    background:transparent!important;
    color:var(--theme-control-text)!important;
    line-height:1.5;
    white-space:normal;
    overflow-wrap:anywhere;
    cursor:pointer;
    transition:background-color .12s ease;
  }
  html[data-appearance] select:not([multiple]):is(:not([size]),[size="1"]) option:checked {
    background:color-mix(in srgb,var(--theme-accent) 11%,var(--theme-surface))!important;
    font-weight:600;
  }
  html[data-appearance] select:not([multiple]):is(:not([size]),[size="1"]) option:is(:hover,:focus-visible):not(:disabled) {
    background:color-mix(in srgb,var(--theme-accent) 17%,var(--theme-surface))!important;
    outline:0;
  }
  html[data-appearance] select:not([multiple]):is(:not([size]),[size="1"]) option::checkmark {
    order:1;
    margin-inline-start:auto;
    color:var(--theme-accent);
    font-weight:700;
    flex-shrink:0;
  }
  html[data-appearance] select:not([multiple]):is(:not([size]),[size="1"]) option:disabled {
    color:var(--theme-muted)!important;
    cursor:not-allowed;
  }
}
@media(prefers-reduced-motion:reduce) {
  html[data-appearance] *,html[data-appearance] *::before,html[data-appearance] *::after,html[data-appearance] dialog::backdrop {
    animation:none!important;transition:none!important;scroll-behavior:auto!important;
  }
  html[data-appearance] select::picker(select),html[data-appearance] select::picker-icon {
    transition:none!important;
    translate:none;
  }
}
