/* Shared button states. Page CSS supplies placement; these rules supply identity. */
.hime-ui { --coral:var(--hime-pink); accent-color:var(--hime-pink); }
.hime-ui :is(button,a,input,select,textarea,summary):focus-visible { outline:3px solid var(--hime-berry); outline-offset:4px; }
.hime-ui :is(.button,.library-empty>a,.filter-summary>a,.error-actions>a) {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  max-width:100%; min-height:var(--hime-control-height); padding:10px 18px;
  border:1px solid var(--hime-line); border-radius:24px;
  background:#fff; color:var(--hime-berry); box-shadow:var(--hime-shadow);
  font-family:var(--hime-font); font-size:13px; font-weight:700; line-height:var(--hime-control-line);
  text-align:center; text-decoration:none; overflow-wrap:anywhere;
  transition:box-shadow .16s ease,translate .16s ease;
}
.hime-ui :is(.button-primary,.error-actions>.error-primary) {
  background:var(--hime-selected); color:#fff; border-color:transparent; box-shadow:var(--hime-inset-shadow);
}
.hime-ui :is(.button,.library-empty>a,.filter-summary>a,.error-actions>a):not(:disabled):not([aria-disabled="true"]):active { translate:0 1px; box-shadow:inset 0 1px 3px #7e284024; }
.hime-ui :is(button,input,select):disabled,.hime-ui [aria-disabled="true"] { opacity:.5; cursor:not-allowed; box-shadow:none; }
.hime-ui .is-busy { cursor:wait; }
.hime-ui :is(.desktop-nav,.mobile-nav,.library-pagination,.directory-filter-heading,.dialog-heading,.quality-options,.player-controls-row,.watch-back,.watch-category) { font-family:var(--hime-font); }
.hime-ui :is(input[type="checkbox"],input[type="radio"]) { accent-color:var(--hime-berry); }
.hime-ui .filter-summary>a { flex-shrink:0; min-height:38px; padding:7px 12px; font-size:11px; }
.hime-ui .filter-summary p { min-width:0; overflow-wrap:anywhere; }
.hime-ui .saved-heading { margin-bottom:22px; }
.hime-ui .library-pagination { flex-wrap:wrap; }
.hime-ui .library-pagination a { border-radius:24px; box-shadow:var(--hime-shadow); }
.hime-ui .save-button { display:grid; place-items:center; width:38px; height:38px; padding:0; border:1px solid var(--hime-line); border-radius:50%; background:#fff; color:var(--hime-berry); box-shadow:0 2px 5px #ab4b7012; }
.hime-ui .save-button .bubble-icon { width:19px; height:19px; }
.hime-ui .save-button[aria-pressed="true"] { color:#fff; background:var(--hime-selected); border-color:transparent; }
.hime-ui .save-button[aria-pressed="true"] svg { fill:currentColor; }
.hime-ui :is(.profile-share,.profile-privacy,.pop-privacy,.ranking-help,.embed-share)>summary {
  width:fit-content; max-width:100%; min-height:var(--hime-control-height); padding:11px 15px;
  border:1px solid var(--hime-line); border-radius:22px; background:#fff;
  color:var(--hime-berry); font-family:var(--hime-font); font-weight:700; line-height:var(--hime-control-line);
  cursor:pointer; overflow-wrap:anywhere;
}
.hime-ui :is(.profile-share,.profile-privacy,.pop-privacy,.ranking-help,.embed-share)[open]>summary { background:#fff0f6; border-color:#e99dbd; }
.hime-ui .browse-filter-panel>summary { border-radius:24px; font-family:var(--hime-font); color:var(--hime-berry); }
.hime-ui .browse-filter-panel[data-active-filters="1"]>summary { background:#fff0f6; border-color:#df91b0; }
.hime-ui .browse-filter-panel .browse-filter-popover { border-color:var(--hime-line); border-radius:20px; box-shadow:0 8px 24px #8d3d5f22; }
.hime-ui .bubble-dialog { background:var(--hime-paper); color:var(--hime-ink); border:1px solid var(--hime-line); border-radius:24px; box-shadow:0 16px 60px #37162945; }
.hime-ui .bubble-dialog::backdrop { background:#20121dd1; }
.hime-ui .dialog-heading button { display:grid; place-items:center; padding:0; width:44px; height:44px; flex:0 0 44px; border:1px solid var(--hime-line); border-radius:50%; background:#fff; color:var(--hime-berry); box-shadow:var(--hime-shadow); }
.hime-ui :is(.share-dialog input,.embed-share textarea,.profile-share input) { border:1px solid var(--hime-line); border-radius:14px; background:#fff; color:var(--hime-ink); }
.hime-ui :is(.share-url-label,.share-dialog [data-share-status],.dialog-meta) { color:var(--hime-muted); }
.hime-ui .share-dialog-actions { align-items:stretch; }
.hime-ui .quality-options button { border-radius:24px; }
.hime-ui .quality-dialog>.button[aria-pressed="true"] { background:var(--hime-selected); border-color:transparent; color:#fff; }
.hime-ui .video-tags a { border:1px solid var(--hime-line); border-radius:22px; background:#fff; color:var(--hime-berry); font-family:var(--hime-font); }
.hime-ui .library-toast { background:#543044; color:white; border:1px solid #ffffff40; border-radius:20px; }
.hime-ui .player-controls-row button { border-radius:20px; }
.hime-ui .player-controls-row button[aria-pressed="true"] { background:var(--hime-selected); color:#fff; }
.hime-ui .player-controls-row button:focus-visible { outline-color:#fff; }
.hime-ui .pop-feature .player-controls-row button { border:1px solid #ffffff2b; background:#ffffff12; }
.hime-ui .pop-feature .player-controls-row button[aria-pressed="true"] { background:var(--hime-selected); }
.hime-ui .pop-feature .bubble-player-controls { border-radius:14px; }
@media(hover:hover) {
  .hime-ui :is(.button,.library-empty>a,.filter-summary>a,.error-actions>a,.save-button):not(:disabled):not([aria-disabled="true"]):hover { box-shadow:0 4px 12px #ab4b7030; }
  .hime-ui .player-controls-row button:hover { background:#ffffff24; }
}
@media(max-width:700px) {
  .hime-ui .bubble-dialog { padding:20px; width:calc(100% - 24px); margin:auto auto max(12px,env(safe-area-inset-bottom)); }
  .hime-ui .dialog-heading { gap:10px; }
  .hime-ui .dialog-heading h2 { font-size:17px; }
  .hime-ui .share-dialog-actions>.button { flex:1 1 auto; }
  .hime-ui .share-dialog input,.hime-ui .profile-share input { font-size:16px; }
  .hime-ui .bubble-dialog .dialog-scroll { max-height:55dvh; }
}
@media(prefers-reduced-motion:reduce) {
  .hime-ui :is(.button,.library-empty>a,.filter-summary>a,.error-actions>a) { transition:none; }
}
