﻿.uh-ranking{font-size:var(--uh-font,1rem);}
.uh-ranking ol{margin-left:1.25rem}
.uh-favorites-list ul{margin-left:1.25rem}

.uh-ranking-wrap{font-size:var(--uh-font,1rem);}

.uh-rating{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.uh-rating button.uh-rate{cursor:pointer;margin-right:.25rem;background:transparent;border:none;padding:.25rem;line-height:1;box-shadow:none;color:inherit;transition:transform .1s ease}
.uh-rating button.uh-rate:hover{transform:scale(1.1)}
.uh-rating .uh-rate.is-active i{color:#facc15}
.uh-rating .uh-rate.is-active .uh-emoji{color:#facc15}
.uh-rating .uh-rate[data-requires-auth]{cursor:not-allowed;opacity:.6}

.uh-requires-auth{background:rgba(30,64,175,.05);border:1px solid rgba(30,64,175,.2);border-radius:.5rem;padding:.75rem 1rem;margin-bottom:.75rem;font-size:.925rem}
.uh-requires-auth a{color:#1d4ed8;font-weight:600}

.uh-favorite{display:inline-flex}
.uh-fav-toggle{background:transparent;border:none;padding:.35rem .45rem;cursor:pointer;line-height:1;border-radius:.5rem;transition:transform .1s ease,color .2s ease}
.uh-fav-toggle:hover{transform:scale(1.08)}
.uh-fav-toggle .uh-icon{margin-right:0}
.uh-fav-toggle.is-on .uh-icon{color:#dc2626}
.uh-fav-toggle.is-on .uh-emoji{color:#dc2626}
.uh-fav-toggle[data-requires-auth]{cursor:not-allowed;opacity:.6}

/* Buttons */
.uh-btn{display:inline-block;padding:.5rem .75rem;border-radius:.5rem;border:1px solid transparent;text-decoration:none}
.uh-btn-primary{background:#1a73e8;color:#fff;border-color:#1765c2}
.uh-btn:hover{opacity:.9}

/* Modal */
.uh-no-scroll{overflow:hidden}
.uh-modal.hidden{display:none}
.uh-modal{position:fixed;inset:0;z-index:99998}
.uh-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.uh-modal-dialog{position:relative;z-index:1;max-width:420px;margin:10vh auto;background:var(--uh-bg,#fff);color:var(--uh-fg,#111);border-radius:12px;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.uh-modal-close{position:absolute;top:8px;right:10px;border:none;background:transparent;font-size:22px;cursor:pointer}
.uh-modal-actions{display:flex;gap:10px;margin-top:14px}

/* Toasts */
.uh-toast{background:rgba(30,30,30,.92);color:#fff;padding:.5rem .75rem;border-radius:.5rem;box-shadow:0 6px 20px rgba(0,0,0,.25);transform:translateY(0);opacity:1;transition:opacity .3s ease, transform .3s ease}
.uh-toast.out{opacity:0;transform:translateY(-10px)}
.uh-toast-success{background:#0d7d35}
.uh-toast-error{background:#b00020}

/* Theme support */
:root{--uh-bg:#ffffff;--uh-fg:#111111}
@media (prefers-color-scheme: dark){
  :root{--uh-bg:#111827;--uh-fg:#e5e7eb}
}
.uh-theme-dark{--uh-bg:#111827;--uh-fg:#e5e7eb}

/* Font Awesome fallback handling */
.uh-fa-on .uh-emoji{display:none}
.uh-icon{margin-right:.25rem}

/* Accessibility */
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Profile template */
.uh-profile{max-width:760px;margin:0 auto;padding:2rem 1rem}
.uh-profile__header{margin-bottom:1.5rem}
.uh-profile__meta{color:#6b7280;font-size:.9rem}
.uh-profile__privacy{margin-bottom:1.5rem;display:flex;gap:1rem;align-items:center}
.uh-profile__favorites ul{list-style:disc;margin-left:1.5rem;display:flex;flex-direction:column;gap:.5rem}
.uh-profile__favorite-date{margin-left:.5rem;color:#6b7280;font-size:.85rem}
.uh-profile__pagination{margin-top:1.5rem}
.uh-profile__pagination .page-numbers{margin-right:.5rem}
.uh-profile__private{padding:1rem;border:1px solid rgba(156,163,175,.4);border-radius:.75rem;background:rgba(156,163,175,.1)}

/* Recommendations */
.uh-recommendations{margin:1.5rem 0;padding:1.25rem;border:1px solid rgba(209,213,219,.6);border-radius:.75rem;background:rgba(249,250,251,.6)}
.uh-recommendations__header{margin-bottom:1rem}
.uh-recommendations__list{list-style:disc;margin-left:1.5rem;display:flex;flex-direction:column;gap:.5rem}
.uh-recommendations__list a{text-decoration:none;color:#1f2937}
.uh-recommendations__list a:hover{text-decoration:underline}
.uh-rec-more{margin-top:1rem;padding:.5rem .9rem;border-radius:.5rem;border:1px solid #1f2937;background:#1f2937;color:#fff;cursor:pointer}
.uh-rec-more[disabled]{opacity:.6;cursor:not-allowed}
.uh-recommendations__empty{margin:0;color:#6b7280}

