/* v59 stability layer: shared dark-theme behavior and overflow guards. */
html,body{ background:var(--pmu-bg) !important; color:var(--pmu-text) !important; }
body{ overflow-x:hidden; }
.pmu-page-content{ min-width:0; }

/* Keep Bootstrap defaults from leaking light text/backgrounds into dark pages. */
.card,.modal-content,.dropdown-menu,.list-group-item,.offcanvas,.toast,.popover,
.pmu-panel,.anime-info-panel,.anime-side-card,.admin-card,.settings-card,.auth-card,
.collection-card,.collections-panel,.library-panel,.filters-panel,.pmu-modal-card{
  background-color:var(--pmu-surface) !important;
  color:var(--pmu-text) !important;
  border-color:var(--pmu-border) !important;
}
.card *, .modal-content *, .dropdown-menu *, .list-group-item *, .offcanvas *, .toast *, .popover *,
.pmu-panel *, .anime-info-panel *, .anime-side-card *, .admin-card *, .settings-card *, .auth-card *,
.collection-card *, .collections-panel *, .library-panel *, .filters-panel *, .pmu-modal-card *{
  color:inherit;
}
.muted,.text-muted,.form-text,.small-muted{ color:var(--pmu-muted) !important; }

input,select,textarea,.form-control,.form-select{
  background-color:var(--pmu-surface-raised) !important;
  color:var(--pmu-text) !important;
  border-color:var(--pmu-border-strong) !important;
}
input::placeholder,textarea::placeholder{ color:rgba(244,240,255,.45) !important; }
.form-control:focus,.form-select:focus,input:focus,select:focus,textarea:focus{
  border-color:rgba(181,124,255,.55) !important;
  box-shadow:0 0 0 3px rgba(181,124,255,.18) !important;
}

.pmu-btn,.btn-primary,.btn-secondary,.btn-outline-light,.btn-outline-secondary{
  border-radius:var(--pmu-radius-md);
}
.pmu-btn,.btn-primary{
  background:linear-gradient(135deg,var(--pmu-purple),var(--pmu-purple-strong)) !important;
  color:#fff !important;
  border-color:rgba(181,124,255,.42) !important;
}
.btn-secondary,.btn-outline-light,.btn-outline-secondary{
  background:var(--pmu-surface-raised) !important;
  color:var(--pmu-text) !important;
  border-color:var(--pmu-border-strong) !important;
}

.modal-dialog{ max-width:min(760px, calc(100vw - 24px)); }
.modal-content{ border-radius:var(--pmu-radius-xl) !important; box-shadow:var(--pmu-shadow-popover); overflow:hidden; }
.modal-header,.modal-footer{ border-color:var(--pmu-border) !important; }
.modal-header{ background:linear-gradient(180deg, rgba(181,124,255,.12), rgba(255,255,255,.02)); }
.modal .btn-close,.collections-modal .btn-close,.modal-close,.popup-close{
  background-color:var(--pmu-surface-raised) !important;
  border:1px solid rgba(181,124,255,.22) !important;
  border-radius:12px !important;
  opacity:1 !important;
  filter:invert(1) grayscale(1) brightness(1.35);
}

*{ scrollbar-color:rgba(181,124,255,.7) rgba(21,21,21,.75); }
*::-webkit-scrollbar{ width:10px; height:10px; }
*::-webkit-scrollbar-track{ background:rgba(21,21,21,.75); border-radius:999px; }
*::-webkit-scrollbar-thumb{ background:linear-gradient(180deg,rgba(181,124,255,.85),rgba(154,76,209,.65)); border-radius:999px; border:2px solid rgba(21,21,21,.9); }
*::-webkit-scrollbar-thumb:hover{ background:var(--pmu-purple); }

img{ max-width:100%; }
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
}
@supports(content-visibility:auto){
  .thumb-item,.pmu-card,.anime-info-panel,.review-card,.collection-card,.admin-card{ content-visibility:auto; contain-intrinsic-size:1px 420px; }
}

/* v62: flash alert close control must not inherit modal/global btn-close sizing. */
.flash-wrap .flash-alert .flash-alert-close{
  all:unset!important;
  position:absolute!important;
  top:50%!important;
  right:10px!important;
  transform:translateY(-50%)!important;
  width:26px!important;
  height:26px!important;
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  border-radius:9px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:rgba(17,17,21,.86)!important;
  color:#f4efff!important;
  font-size:18px!important;
  line-height:1!important;
  cursor:pointer!important;
  opacity:.95!important;
}
.flash-wrap .flash-alert .flash-alert-close:hover,
.flash-wrap .flash-alert .flash-alert-close:focus-visible{
  background:rgba(32,27,42,.96)!important;
  border-color:rgba(181,124,255,.52)!important;
  box-shadow:0 0 0 3px rgba(181,124,255,.15)!important;
}
.flash-alert.alert-dismissible{padding-right:46px!important;}

/* v62.24 canonical surface + dropdown corrective layer
   This replaces scattered pseudo lightbars with a background-layer bar clipped by the actual panel radius. */
:root{
  --pmu-panel-radius:26px;
  --pmu-panel-radius-mobile:22px;
  --pmu-lightbar-h:5px;
  --pmu-lightbar:linear-gradient(90deg,#b57cff 0%,#7d4dff 48%,#2ae087 100%);
  --pmu-page-surface:radial-gradient(circle at 16% 0%,rgba(181,124,255,.075),transparent 34%),linear-gradient(180deg,rgba(24,22,30,.97),rgba(12,12,18,.985));
  --pmu-card-surface:linear-gradient(180deg,rgba(24,22,30,.96),rgba(14,14,20,.97));
}
/* Kill every old page lightbar pseudo-element that has caused duplicate/outer bars. */
.pmu-page-panel::before,.pmu-page-panel::after,
.pmu-theme-panel::before,.pmu-theme-panel::after,
.pmu-accent-surface::before,.pmu-accent-surface::after,
.libraries-container::before,.libraries-container::after,
.libraries-split::before,.libraries-split::after,
.collections-page-shell::before,.collections-page-shell::after,
.collections-split::before,.collections-split::after,
.req-shell::before,.req-shell::after,
.stats-shell::before,.stats-shell::after,
.upcoming-shell::before,.upcoming-shell::after,
.chat-main::before,.chat-main::after,
.chat-main-head::before,.chat-main-head::after,
.collections-page-header::before,.collections-page-header::after,
.collections-page-left::before,.collections-page-left::after,
.collections-page-main::before,.collections-page-main::after,
.collections-mobile-picker::before,.collections-mobile-picker::after,
.collections-picker::before,.collections-picker::after,
.library-picker::before,.library-picker::after,
.libraries-left::before,.libraries-left::after,
.libraries-right::before,.libraries-right::after,
.libraries-picker-surface::before,.libraries-picker-surface::after{
  content:none!important;
  display:none!important;
}
body.messages-page .chat-main,
.libraries-container.libraries-container-lean,
.collections-page-shell,
.req-shell,
.stats-shell,
.upcoming-shell{
  position:relative!important;
  border-radius:var(--pmu-panel-radius)!important;
  border:1px solid rgba(255,255,255,.085)!important;
  background:
    var(--pmu-lightbar) top left / 100% var(--pmu-lightbar-h) no-repeat,
    var(--pmu-page-surface)!important;
  box-shadow:0 18px 60px rgba(0,0,0,.28)!important;
  overflow:visible!important;
  isolation:isolate!important;
}
body.messages-page .chat-main > *,
.libraries-container.libraries-container-lean > *,
.collections-page-shell > *,
.req-shell > *,
.stats-shell > *,
.upcoming-shell > *{
  position:relative!important;
  z-index:2!important;
}
@media(max-width:900px){
  body.messages-page .chat-main,
  .libraries-container.libraries-container-lean,
  .collections-page-shell,
  .req-shell,
  .stats-shell,
  .upcoming-shell{
    border-radius:var(--pmu-panel-radius-mobile)!important;
    background:
      var(--pmu-lightbar) top left / 100% 4px no-repeat,
      var(--pmu-page-surface)!important;
  }
}

/* Libraries / Collections desktop layout: top-aligned, more breathing room, full-height left surface. */
.libraries-container.libraries-container-lean,
.collections-page-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:calc(var(--pmu-lightbar-h) + 16px) 18px 18px!important;
}
.libraries-split.libraries-split-lean,
.collections-split{
  display:grid!important;
  grid-template-columns:minmax(310px,360px) minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:18px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.libraries-left.libraries-left-lean,
.libraries-left.collections-page-left,
.libraries-picker-surface,
.collections-page-left{
  align-self:stretch!important;
  justify-self:stretch!important;
  height:auto!important;
  min-height:100%!important;
  margin:0!important;
  padding:16px!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(24,22,30,.94),rgba(16,16,22,.96))!important;
  border:1px solid rgba(255,255,255,.075)!important;
  overflow:visible!important;
  position:relative!important;
  z-index:90000!important;
}
.libraries-right.libraries-right-lean,
.libraries-right.collections-page-main,
.collections-page-main{
  min-width:0!important;
  margin:0!important;
  padding:18px!important;
  border-radius:22px!important;
  overflow:visible!important;
  position:relative!important;
  z-index:1!important;
}
.collections-page-header{
  margin:0 0 16px!important;
  padding:16px!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02))!important;
  border:1px solid rgba(255,255,255,.075)!important;
}
@media(max-width:900px){
  .libraries-container.libraries-container-lean,
  .collections-page-shell{padding:16px 10px 10px!important;}
  .libraries-split.libraries-split-lean,
  .collections-split{display:block!important;}
  .libraries-left.libraries-left-lean,
  .libraries-left.collections-page-left,
  .libraries-picker-surface,
  .collections-page-left{min-height:0!important;padding:12px!important;margin:0 0 12px!important;}
  .libraries-right.libraries-right-lean,
  .libraries-right.collections-page-main,
  .collections-page-main{padding:12px!important;}
}

/* App-owned dropdowns: anchored, clickable, high layer, internally scrollable with purple thumb. */
.pmu-app-dropdown,.library-picker,.collections-picker,.chat-direct-picker{
  position:relative!important;
  overflow:visible!important;
  z-index:100000!important;
  isolation:isolate!important;
}
.pmu-app-dropdown.is-open,.library-picker.is-open,.collections-picker.is-open,.chat-direct-picker.is-open{z-index:300000!important;}
.pmu-app-dropdown-menu,.library-picker-menu,.collections-picker-menu,.chat-direct-picker-menu{
  position:absolute!important;
  top:calc(100% + 8px)!important;
  left:0!important;
  right:0!important;
  bottom:auto!important;
  width:100%!important;
  min-width:100%!important;
  max-height:min(48dvh,360px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  padding:8px!important;
  margin:0!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(24,23,32,.998),rgba(12,12,18,.998))!important;
  border:1px solid rgba(181,124,255,.40)!important;
  box-shadow:0 24px 72px rgba(0,0,0,.78),0 0 0 1px rgba(255,255,255,.05)!important;
  z-index:310000!important;
  pointer-events:auto!important;
  scrollbar-width:thin!important;
  scrollbar-color:#b57cff rgba(255,255,255,.08)!important;
}
.pmu-app-dropdown-menu[hidden],.library-picker-menu[hidden],.collections-picker-menu[hidden],.chat-direct-picker-menu[hidden]{display:none!important;}
.pmu-app-dropdown-menu::-webkit-scrollbar,.library-picker-menu::-webkit-scrollbar,.collections-picker-menu::-webkit-scrollbar,.chat-direct-picker-menu::-webkit-scrollbar{width:10px!important;height:10px!important;display:block!important;}
.pmu-app-dropdown-menu::-webkit-scrollbar-track,.library-picker-menu::-webkit-scrollbar-track,.collections-picker-menu::-webkit-scrollbar-track,.chat-direct-picker-menu::-webkit-scrollbar-track{background:rgba(255,255,255,.08)!important;border-radius:999px!important;}
.pmu-app-dropdown-menu::-webkit-scrollbar-thumb,.library-picker-menu::-webkit-scrollbar-thumb,.collections-picker-menu::-webkit-scrollbar-thumb,.chat-direct-picker-menu::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#b57cff,#7d4dff)!important;border-radius:999px!important;border:2px solid rgba(12,12,18,.96)!important;min-height:34px!important;}
.library-picker-btn,.collections-picker-btn,.chat-direct-picker-btn,.pmu-app-dropdown-btn{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  border-radius:18px!important;
  padding:11px 12px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.028))!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:#f4f0ff!important;
  text-align:left!important;
}
.pmu-app-dropdown-option,.library-picker-option,.collections-picker-option,.chat-direct-picker-option{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex:0 0 auto!important;
  min-width:0!important;
  pointer-events:auto!important;
  padding:10px 11px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.04)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  color:#f4f0ff!important;
  text-decoration:none!important;
}
.pmu-app-dropdown-option:hover,.library-picker-option:hover,.collections-picker-option:hover,.chat-direct-picker-option:hover,
.pmu-app-dropdown-option.active,.library-picker-option.active,.collections-picker-option.active,.chat-direct-picker-option.active{
  background:rgba(181,124,255,.15)!important;
  border-color:rgba(181,124,255,.45)!important;
  color:#fff!important;
}
@media(max-width:900px){.pmu-app-dropdown-menu,.library-picker-menu,.collections-picker-menu,.chat-direct-picker-menu{max-height:min(56dvh,380px)!important;}}

/* Upcoming rows: force dark purple/thumb-item style after older inline/page CSS. */
.page-upcoming-anime .upcoming-row,
.upcoming-row{
  background:linear-gradient(180deg,rgba(29,27,38,.96),rgba(16,16,22,.98))!important;
  border:1px solid rgba(255,255,255,.085)!important;
  border-radius:18px!important;
  box-shadow:0 10px 26px rgba(0,0,0,.18)!important;
  color:#f4f0ff!important;
}
.page-upcoming-anime .upcoming-row:hover,
.upcoming-row:hover{
  background:linear-gradient(180deg,rgba(43,35,61,.96),rgba(20,20,28,.98))!important;
  border-color:rgba(181,124,255,.34)!important;
}

/* v62.25 narrow corrective layer: keep working surfaces, fix Libraries surface + Direct picker + home hero lightbar. */
:root{
  --pmu-lightbar-h:5px;
  --pmu-lightbar:linear-gradient(90deg,#b57cff 0%,#7d4dff 48%,#2ae087 100%);
  --pmu-surface-page:radial-gradient(circle at 16% 0%,rgba(181,124,255,.075),transparent 34%),linear-gradient(180deg,rgba(24,22,30,.97),rgba(12,12,18,.985));
  --pmu-surface-card:linear-gradient(180deg,rgba(24,22,30,.96),rgba(14,14,20,.98));
}
/* Libraries: the visible panel is the split, not the outer wrapper, so draw the working background-layer bar there. */
.libraries-container.libraries-container-lean{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  overflow:visible!important;
}
.libraries-container.libraries-container-lean::before,
.libraries-container.libraries-container-lean::after{content:none!important;display:none!important;}
.libraries-container.libraries-container-lean > .libraries-split.libraries-split-lean{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(340px,390px) minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:20px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:calc(var(--pmu-lightbar-h) + 18px) 20px 20px!important;
  border-radius:26px!important;
  border:1px solid rgba(255,255,255,.085)!important;
  background:var(--pmu-lightbar) top left / 100% var(--pmu-lightbar-h) no-repeat,var(--pmu-surface-page)!important;
  box-shadow:0 18px 60px rgba(0,0,0,.28)!important;
  overflow:visible!important;
  isolation:isolate!important;
  z-index:1!important;
}
.libraries-container.libraries-container-lean > .libraries-split.libraries-split-lean::before,
.libraries-container.libraries-container-lean > .libraries-split.libraries-split-lean::after{content:none!important;display:none!important;}
.libraries-split.libraries-split-lean > .libraries-left.libraries-left-lean.libraries-picker-surface{
  align-self:stretch!important;
  justify-self:stretch!important;
  margin:0!important;
  padding:18px!important;
  min-height:100%!important;
  height:auto!important;
  border-radius:22px!important;
  background:var(--pmu-surface-card)!important;
  border:1px solid rgba(255,255,255,.075)!important;
  overflow:visible!important;
  position:relative!important;
  z-index:20!important;
}
.libraries-split.libraries-split-lean > .libraries-right.libraries-right-lean{
  align-self:stretch!important;
  margin:0!important;
  padding:20px!important;
  min-width:0!important;
  border-radius:22px!important;
  position:relative!important;
  z-index:1!important;
  overflow:visible!important;
}
/* Direct picker: opaque, anchored, clickable, and above the chat header/panel. */
body.messages-page .chat-direct-picker{
  position:relative!important;
  overflow:visible!important;
  z-index:500000!important;
  isolation:isolate!important;
  opacity:1!important;
  pointer-events:auto!important;
}
body.messages-page .chat-direct-picker-menu{
  position:absolute!important;
  top:calc(100% + 8px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  min-width:100%!important;
  max-height:min(52dvh,420px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  padding:8px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(24,23,32,1),rgba(12,12,18,1))!important;
  border:1px solid rgba(181,124,255,.42)!important;
  box-shadow:0 24px 72px rgba(0,0,0,.82),0 0 0 1px rgba(255,255,255,.06)!important;
  z-index:510000!important;
  scrollbar-width:thin!important;
  scrollbar-color:#b57cff rgba(255,255,255,.08)!important;
}
body.messages-page .chat-direct-picker-menu[hidden]{display:none!important;}
body.messages-page .chat-direct-picker-option{
  pointer-events:auto!important;
  opacity:1!important;
  cursor:pointer!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.08)!important;
}
body.messages-page .chat-direct-picker-option:hover,
body.messages-page .chat-direct-picker-option.active{background:rgba(181,124,255,.16)!important;border-color:rgba(181,124,255,.46)!important;}
body.messages-page .chat-main-head{overflow:visible!important;z-index:100!important;}
body.messages-page .chat-main{overflow:visible!important;}

@media(max-width:900px){
  .libraries-container.libraries-container-lean > .libraries-split.libraries-split-lean{
    display:block!important;
    padding:calc(4px + 12px) 12px 12px!important;
    border-radius:22px!important;
    background:var(--pmu-lightbar) top left / 100% 4px no-repeat,var(--pmu-surface-page)!important;
  }
  .libraries-split.libraries-split-lean > .libraries-left.libraries-left-lean.libraries-picker-surface,
  .libraries-split.libraries-split-lean > .libraries-right.libraries-right-lean{
    min-height:0!important;
    padding:12px!important;
    margin:0 0 12px!important;
    border-radius:18px!important;
  }
}
