/* One feedback system for existing and dynamically created controls. */
:root { --feedback-duration:180ms; --feedback-ease:cubic-bezier(.2,.7,.3,1); --feedback-wash:#ffffff12; --feedback-press:#ffffff1c; }
:root[data-theme="light"] { --feedback-wash:#0000000c; --feedback-press:#00000016; }
body.reworkUi :is(button,a[href],summary,[role="button"],.card.collapsible .cardTitle,.filePicker,.themePicker,input,select,textarea) {
  transition-property:background-color,background-image,border-color,color,box-shadow,filter,translate;
  transition-duration:var(--feedback-duration);
  transition-timing-function:var(--feedback-ease);
}
/* Keep existing selection stripes, colour swatches and button semantics. */
@media (hover:hover) and (pointer:fine) {
  body.reworkUi :is(button,a[href],summary,[role="button"],.card.collapsible .cardTitle,.filePicker,.themePicker):hover:not(:disabled):not([aria-disabled="true"]) {
    translate:0 -1px;
    background-image:linear-gradient(var(--feedback-wash),var(--feedback-wash));
  }
  body.reworkUi :is(.taskButton,#taskCommon .colorBtn,.taskScrollButton):hover:not(:disabled) {
    background-color:var(--bg-elevated); color:var(--text-main);
  }
  body.reworkUi :is(summary,.card.collapsible .cardTitle):hover {
    background-color:var(--bg-elevated); color:var(--text-main); border-radius:6px;
  }
  body.reworkUi :is(.markColorSwatch,.typeColorSwatch):hover:not(:disabled) {
    translate:0 -2px; background-image:none; box-shadow:0 3px 7px #0004;
  }
  body.reworkUi :is(input,select,textarea):hover:not(:disabled):not([type="color"]):not([type="checkbox"]):not([type="range"]) {
    background-color:var(--bg-elevated);
  }
  body.reworkUi input:is([type="color"],[type="checkbox"],[type="range"]):hover:not(:disabled) { filter:brightness(1.15); }
  /* Legacy rail lift must not add a second movement. */
  body.reworkUi .railButton:hover { transform:none; }
}
body.reworkUi :is(button,a[href],summary,[role="button"],.card.collapsible .cardTitle,.filePicker):active:not(:disabled):not([aria-disabled="true"]) {
  translate:0 0; background-image:linear-gradient(var(--feedback-press),var(--feedback-press)); transition-duration:80ms;
}
body.reworkUi :is(.markColorSwatch,.typeColorSwatch):active:not(:disabled) { background-image:none; }
body.reworkUi :is(button,input,select,textarea):disabled,
body.reworkUi [aria-disabled="true"] { translate:none!important; transition:none!important; }
@media (prefers-reduced-motion:reduce) {
  body.reworkUi :is(button,a[href],summary,[role="button"],.card.collapsible .cardTitle,.filePicker,.themePicker,input,select,textarea) {
    translate:none!important; transition:none!important;
  }
  body.reworkUi .railButton:hover { transform:none; }
}

/* Project file actions are grouped in the existing toolbar. */
/* Old borderless hover rules removed a pixel on each side of controls. */
body.reworkUi :is(.btn,.input,.select,.filePicker,.themePicker):is(:hover,:active,:focus-visible,:focus-within) {
  border-width:1px; border-style:solid;
}

/* One focus contour replaces the control edge; no separated outer ring or glow. */
body.reworkUi :is(button,a[href],summary,[role="button"],.card.collapsible .cardTitle,input,select,textarea,.filePicker):focus-visible {
  outline:2px solid var(--accent-border); outline-offset:-2px; box-shadow:none;
}
body.reworkUi .themePicker:focus-within {
  outline:2px solid var(--accent-border); outline-offset:-2px; box-shadow:none;
}
body.reworkUi .themePicker:focus-within select.themePickerSelect:focus-visible { outline:none; box-shadow:none; }
body.reworkUi .cloudProjectRow:focus-within { outline:none; box-shadow:none; }
body.reworkUi .emptyState:focus-visible .emptyBox { outline:none; box-shadow:none; }
body.reworkUi input[type="range"]:focus-visible::-webkit-slider-thumb { box-shadow:none; }
body.reworkUi input[type="range"]:focus-visible::-moz-range-thumb { box-shadow:none; }
body.reworkUi :is(.markColorSwatch,.typeColorSwatch)[aria-pressed="true"] { outline-offset:-2px; }
