/* Action hierarchy: labels remain the primary cue, color reinforces purpose. */
:root {
  --action-neutral:#f0f4f8; --action-neutral-text:#344b62; --action-neutral-line:#b9c9d8;
  --action-brand:#ad2549; --action-brand-text:#fff; --action-brand-line:#952040;
  --action-search:#245d88; --action-search-text:#fff; --action-search-line:#1d5077;
  --action-save:#176b57; --action-save-text:#fff; --action-save-line:#125a49;
  --action-detail:#f0eafa; --action-detail-text:#60418a; --action-detail-line:#c3addd;
  --action-caution:#fff2db; --action-caution-text:#81520f; --action-caution-line:#d7b373;
  --action-disabled:#e9edf2; --action-disabled-text:#596879; --action-disabled-line:#c9d2dc;
  --action-focus:#236eab;
}
html[data-theme="dark"] {
  --action-neutral:#263749; --action-neutral-text:#d9e5f1; --action-neutral-line:#566d83;
  --action-brand:#ac294c; --action-brand-line:#df7894;
  --action-search:#275f88; --action-search-line:#72a6cd;
  --action-save:#176b57; --action-save-line:#68b39b;
  --action-detail:#382e4b; --action-detail-text:#e3d2fa; --action-detail-line:#89719f;
  --action-caution:#403322; --action-caution-text:#f4d294; --action-caution-line:#a18550;
  --action-disabled:#283646; --action-disabled-text:#b1bdca; --action-disabled-line:#45566a;
  --action-focus:#93d7ff;
}
html:root body :is(.layout,dialog,.login-card) .btn:not(.chat-send-button) {
  --button-bg:var(--action-neutral); --button-text:var(--action-neutral-text); --button-line:var(--action-neutral-line);
  background:var(--button-bg); color:var(--button-text); border:1px solid var(--button-line);
  border-radius:10px; min-height:40px; font-weight:650; letter-spacing:.01em;
  box-shadow:0 2px 4px #10243a0a,inset 0 1px 0 #ffffff12;
  transition:filter .16s ease,box-shadow .16s ease,transform .16s ease;
}
html:root body :is(.layout,dialog,.login-card) .btn.primary {
  --button-bg:var(--action-brand); --button-text:var(--action-brand-text); --button-line:var(--action-brand-line);
}
html:root body :is(.layout,dialog,.login-card) .btn:is(.tone-search,[data-live="refresh"]) {
  --button-bg:var(--action-search); --button-text:var(--action-search-text); --button-line:var(--action-search-line);
}
html:root body :is(.layout,dialog,.login-card) .btn.tone-save {
  --button-bg:var(--action-save); --button-text:var(--action-save-text); --button-line:var(--action-save-line);
}
html:root body :is(.layout,dialog,.login-card) .btn.tone-detail {
  --button-bg:var(--action-detail); --button-text:var(--action-detail-text); --button-line:var(--action-detail-line);
}
html:root body :is(.layout,dialog,.login-card) .btn.tone-caution {
  --button-bg:var(--action-caution); --button-text:var(--action-caution-text); --button-line:var(--action-caution-line);
}
html:root body :is(.layout,dialog,.login-card) .btn:not(.chat-send-button):hover:not(:disabled) {
  background:var(--button-bg); color:var(--button-text); border-color:var(--button-line);
  filter:brightness(1.08); box-shadow:0 4px 10px #10243a20,inset 0 1px 0 #ffffff20; transform:translateY(-1px);
}
html:root body :is(.layout,dialog,.login-card) .btn:not(.chat-send-button):active:not(:disabled) {transform:translateY(0);box-shadow:inset 0 2px 4px #10243a20}
html:root body :is(.layout,dialog,.login-card) .btn:focus-visible {outline:3px solid var(--action-focus);outline-offset:3px}
html:root body :is(.layout,dialog,.login-card) .btn:not(.chat-send-button):disabled {
  background:var(--action-disabled);color:var(--action-disabled-text);border-color:var(--action-disabled-line);
  opacity:1;filter:none;box-shadow:none;transform:none;cursor:not-allowed;
}
html:root body .layout .btn[aria-pressed="true"] {outline:2px solid var(--action-focus);outline-offset:2px}
@media(prefers-reduced-motion:reduce) {
  html:root body :is(.layout,dialog,.login-card) .btn:not(.chat-send-button),
  html:root body :is(.layout,dialog,.login-card) .btn:not(.chat-send-button):hover:not(:disabled) {transition:none;transform:none}
}
