/* JAVSPY MONO UI V3 */

/* ===== HARD DARK ONLY ===== */
html,html[data-theme="light"],html[data-theme="dark"]{
  color-scheme:dark!important;
  background:#050505!important
}
body,html[data-theme="light"] body,html[data-theme="dark"] body{
  min-height:100vh!important;
  display:flex!important;
  flex-direction:column!important;
  background:#050505!important;
  color:#f2f2f2!important
}

/* Keep page content capable of pushing the footer down. */
body > .vp-shell.vp-layout,
body > main.vp-shell,
body > .vp-shell.vp-related{
  flex:0 0 auto!important
}
.vp-footer{margin-top:auto!important}

/* ===== HEADER / SCROLL TRANSPARENCY ===== */
.vp-header{
  background:#050505!important;
  border-bottom:1px solid #1b1b1b!important;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease!important
}
.vp-header.javspy-header-scrolled{
  background:rgba(5,5,5,.82)!important;
  border-bottom-color:rgba(255,255,255,.08)!important;
  backdrop-filter:blur(16px) saturate(.78)!important;
  -webkit-backdrop-filter:blur(16px) saturate(.78)!important;
  box-shadow:0 8px 28px rgba(0,0,0,.18)!important
}

/* ===== LOGO: JAV + WHITE SPY PILL ===== */
.vp-header-row .vp-logo,
.vp-footer-logo{
  display:inline-flex!important;
  align-items:center!important;
  gap:0!important;
  text-decoration:none!important
}
.vp-header-row .vp-logo:before,
.vp-footer-logo:before{
  content:"JAV"!important;
  color:#fff!important;
  background:none!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-shadow:none!important;
  font:900 23px/1 Inter,"Plus Jakarta Sans",Arial,sans-serif!important;
  letter-spacing:-1.25px!important
}
.vp-header-row .vp-logo:after,
.vp-footer-logo:after{
  content:"SPY"!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-left:4px!important;
  padding:3px 6px 4px!important;
  border:1px solid rgba(255,255,255,.88)!important;
  border-radius:5px!important;
  background:
    linear-gradient(180deg,#ffffff 0%,#f8f8f8 35%,#e9e9e9 70%,#cfcfcf 100%)!important;
  color:#080808!important;
  font:900 16px/1 Inter,"Plus Jakarta Sans",Arial,sans-serif!important;
  letter-spacing:-.65px!important;
  text-shadow:0 1px 0 rgba(255,255,255,.55)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,1),
    inset 0 -1px 0 rgba(0,0,0,.16),
    0 1px 0 rgba(255,255,255,.08),
    0 0 12px rgba(255,255,255,.08)!important
}
.vp-footer-logo:before{font-size:20px!important}
.vp-footer-logo:after{font-size:14px!important;padding:3px 5px!important}

/* ===== HEADER ICONS: ICON ONLY, NO DEFAULT PILLS ===== */
.vp-header-actions .vp-mobile-search,
.vp-header-actions .vp-audience-toggle,
.vp-header-actions .vp-header-favorite-icon,
.vp-header-actions .vp-settings-button{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid transparent!important;
  border-radius:4px!important;
  background:transparent!important;
  color:#777!important;
  box-shadow:none!important
}
.vp-header-actions .vp-mobile-search:hover,
.vp-header-actions .vp-audience-toggle:hover,
.vp-header-actions .vp-header-favorite-icon:hover,
.vp-header-actions .vp-settings-button:hover,
.vp-header-actions .vp-audience-toggle[aria-expanded="true"],
.vp-header-actions .vp-settings-button[aria-expanded="true"]{
  background:rgba(255,255,255,.075)!important;
  border-color:rgba(255,255,255,.05)!important;
  color:#fff!important
}
.vp-header-favorite-icon b[data-favorites-count]{
  top:-2px!important;
  right:-3px!important;
  min-width:15px!important;
  height:15px!important;
  padding:0 3px!important;
  border:1px solid #050505!important;
  border-radius:8px!important;
  background:#ddd!important;
  color:#050505!important;
  font-size:9px!important;
  line-height:13px!important
}

/* Audience menu stays monochrome; active choice gets a clean green check. */
.vp-audience-menu{
  border-color:#292929!important;
  border-radius:0!important;
  background:#080808!important;
  box-shadow:0 20px 50px rgba(0,0,0,.65)!important
}
.vp-audience-menu button{
  background:transparent!important;
  color:#777!important
}
.vp-audience-menu button:hover{
  background:#111!important;
  color:#eee!important
}
.vp-audience-menu button.is-active,
.vp-audience-menu button[aria-checked="true"]{
  background:#0d0d0d!important;
  color:#ddd!important
}
.vp-audience-menu button.is-active i,
.vp-audience-menu button[aria-checked="true"] i{
  color:#2ad47b!important
}

/* ===== BURGER OPEN: BLACK BARS ON WHITE ===== */
.vp-header-row .vp-menu-toggle.is-open{
  background:#f3f3f3!important;
  border-color:#f3f3f3!important;
  color:#050505!important
}
.vp-header-row .vp-menu-toggle.is-open span i,
.vp-header-row .vp-menu-toggle.is-open i{
  background:#050505!important;
  color:#050505!important;
  opacity:1!important
}

/* ===== SETTINGS: DARK ONLY, NO APPEARANCE TAB ===== */
.javspy-settings-accordion .vp-theme-switch,
[data-theme-value]{display:none!important}

/* Browsing toggles: ACTIVE = GREEN again. */
.javspy-settings-body .vp-setting-toggle>i{
  background:#171717!important;
  border-color:#2a2a2a!important
}
.javspy-settings-body .vp-setting-toggle input:checked+i{
  background:#27cf76!important;
  border-color:#27cf76!important;
  box-shadow:0 0 0 1px rgba(39,207,118,.08)!important
}
.javspy-settings-body .vp-setting-toggle input:checked+i:before,
.javspy-settings-body .vp-setting-toggle input:checked+i:after{
  border-color:#07120c!important
}

/* Language/access selections: white/green detail, never red. */
.javspy-settings-body .vp-language-list a.is-active i,
.javspy-settings-body .vp-language-list a[aria-current="true"] i{
  color:#159957!important
}
.javspy-settings-body .vp-tier-filter-settings button.is-active,
.javspy-settings-body .vp-tier-filter-settings button[aria-pressed="true"]{
  border-color:#2d6f4b!important;
  background:#102219!important;
  color:#57e69a!important
}

/* ===== FAVORITES / HISTORY: REMOVE ALL RED INHERITANCE ===== */
[data-favorites-page-count],
[data-history-page-count]{
  color:#6f6f6f!important;
  background:transparent!important;
  border:0!important
}
[data-favorites-clear],
[data-history-clear]{
  min-height:34px!important;
  padding:7px 11px!important;
  border:1px solid #2a2a2a!important;
  border-radius:0!important;
  background:#090909!important;
  color:#7d7d7d!important;
  box-shadow:none!important
}
[data-favorites-clear]:hover,
[data-history-clear]:hover{
  border-color:#e8e8e8!important;
  background:#e8e8e8!important;
  color:#050505!important
}
.vp-favorites-empty,
.vp-history-empty{
  border:1px solid #1f1f1f!important;
  border-radius:0!important;
  background:#080808!important;
  color:#777!important;
  box-shadow:none!important
}
.vp-favorites-empty>i,
.vp-history-empty>i{
  color:#666!important;
  background:transparent!important
}
.vp-favorites-empty h2,
.vp-history-empty h2{color:#ddd!important}
.vp-favorites-empty p,
.vp-history-empty p{color:#696969!important}
.vp-favorites-empty>a,
.vp-history-empty>a{
  border:1px solid #2b2b2b!important;
  border-radius:0!important;
  background:#0b0b0b!important;
  color:#aaa!important;
  box-shadow:none!important
}
.vp-favorites-empty>a:hover,
.vp-history-empty>a:hover{
  border-color:#eee!important;
  background:#eee!important;
  color:#050505!important
}
.vp-favorites-grid *,
.vp-history-grid *{
  --accent:#fff!important;
  --danger:#aaa!important
}
.vp-favorites-grid button,
.vp-history-grid button,
.vp-favorites-grid [data-favorite-key],
.vp-history-grid [data-history-remove],
.vp-favorites-grid [data-favorite-remove],
.vp-favorites-grid .vp-favorite-remove,
.vp-history-grid .vp-history-remove{
  border-color:#292929!important;
  background:#090909!important;
  color:#8a8a8a!important;
  box-shadow:none!important
}
.vp-favorites-grid button:hover,
.vp-history-grid button:hover,
.vp-favorites-grid [data-favorite-key]:hover,
.vp-history-grid [data-history-remove]:hover,
.vp-favorites-grid [data-favorite-remove]:hover,
.vp-favorites-grid .vp-favorite-remove:hover,
.vp-history-grid .vp-history-remove:hover{
  border-color:#eee!important;
  background:#eee!important;
  color:#050505!important
}
.vp-favorites-grid .is-active,
.vp-favorites-grid [aria-pressed="true"]{
  color:#fff!important;
  border-color:#555!important;
  background:#151515!important
}

/* ===== EMPTY PAGES: FOOTER STICKS TO VIEWPORT BOTTOM ===== */
body > .vp-shell.vp-layout,
body > main.vp-shell.vp-page{
  min-height:0!important
}
.vp-notfound,
.vp-layout:has(.vp-favorites-empty:not([hidden])),
.vp-layout:has(.vp-history-empty:not([hidden])){
  flex:1 0 auto!important
}

/* ===== LEGAL: ONE SINGLE DOCUMENT BLOCK ===== */
.javspy-legal-wrap{
  width:100%!important;
  flex:1 0 auto!important;
  padding-top:28px!important;
  padding-bottom:48px!important
}
.javspy-legal-page{
  max-width:980px!important;
  margin:0 auto!important
}
.javspy-legal-card{
  border:1px solid #202020!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#090909 0%,#070707 100%)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.22)!important;
  overflow:hidden!important
}
.javspy-legal-breadcrumb{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:42px!important;
  padding:0 24px!important;
  border-bottom:1px solid #191919!important;
  color:#565656!important;
  font:650 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important
}
.javspy-legal-breadcrumb a{color:#777!important;text-decoration:none!important}
.javspy-legal-breadcrumb a:hover{color:#fff!important}
.javspy-legal-breadcrumb i{font-size:9px!important;color:#444!important}
.javspy-legal-header{
  padding:34px 36px 30px!important;
  background:transparent!important;
  border:0!important
}
.javspy-legal-kicker{
  display:block!important;
  margin-bottom:10px!important;
  color:#555!important;
  font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important
}
.javspy-legal-header h1{
  margin:0!important;
  color:#f0f0f0!important;
  font-size:36px!important;
  line-height:1.02!important;
  font-weight:850!important;
  letter-spacing:-.035em!important
}
.javspy-legal-header p{
  max-width:760px!important;
  margin:13px 0 0!important;
  color:#868686!important;
  font-size:15px!important;
  line-height:1.6!important
}
.javspy-legal-header small{
  display:block!important;
  margin-top:14px!important;
  color:#4e4e4e!important;
  font:600 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace!important
}
.javspy-legal-rule{height:1px!important;margin:0 36px!important;background:#1c1c1c!important}
.javspy-legal-document{
  padding:28px 36px 36px!important
}
.javspy-legal-section{
  margin:0!important;
  padding:24px 0!important;
  border:0!important;
  border-bottom:1px solid #171717!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important
}
.javspy-legal-section:first-child{padding-top:4px!important}
.javspy-legal-section:last-of-type{border-bottom:0!important}
.javspy-legal-section h2{
  margin:0 0 10px!important;
  color:#d8d8d8!important;
  font-size:17px!important;
  line-height:1.25!important;
  font-weight:750!important;
  letter-spacing:-.015em!important
}
.javspy-legal-section p{
  margin:0!important;
  color:#858585!important;
  font-size:14.5px!important;
  line-height:1.72!important
}
.javspy-legal-note,
.javspy-legal-contact{
  margin:20px 0 0!important;
  padding:16px 18px!important;
  display:flex!important;
  gap:12px!important;
  align-items:flex-start!important;
  border:1px solid #242424!important;
  border-radius:0!important;
  background:#0b0b0b!important;
  color:#777!important
}
.javspy-legal-note i,
.javspy-legal-contact>i{
  margin-top:3px!important;
  color:#686868!important
}
.javspy-legal-note p,
.javspy-legal-contact p{
  margin:0!important;
  color:#777!important;
  line-height:1.55!important
}
.javspy-legal-contact strong{display:block!important;margin-bottom:4px!important;color:#bbb!important}
.javspy-legal-contact a{display:inline-block!important;margin-top:7px!important;color:#ddd!important;text-decoration:none!important}
.javspy-legal-contact a:hover{color:#fff!important;text-decoration:underline!important}

/* Kill inherited legal cards if any stale markup survives cache. */
.vp-legal-page .vp-legal-hero,
.vp-legal-page .vp-legal-section,
.vp-legal-page .vp-legal-note,
.vp-legal-page .vp-legal-contact{
  border-radius:0!important;
  box-shadow:none!important
}

/* ===== PAGINATION: HARD MONO INDEX CONTROLS ===== */
.vp-pagination.vp-pagination-flat{
  display:grid!important;
  grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr)!important;
  align-items:stretch!important;
  gap:10px!important;
  margin-top:40px!important;
  padding:20px 0 2px!important;
  border-top:1px solid #1c1c1c!important
}
.vp-pagination-link{
  position:relative!important;
  min-height:58px!important;
  min-width:0!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:0 20px!important;
  overflow:hidden!important;
  border:1px solid #2c2c2c!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#0d0d0d 0%,#080808 100%)!important;
  color:#aaa!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.03em!important;
  text-decoration:none!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 8px 20px rgba(0,0,0,.08)!important
}
.vp-pagination-link:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:2px;
  background:#3a3a3a;
  transition:background .12s ease
}
.vp-pagination-next:before{left:auto!important;right:0!important}
.vp-pagination-prev{justify-content:flex-start!important}
.vp-pagination-next{justify-content:flex-end!important}
.vp-pagination-link i{font-size:12px!important;color:#646464!important}
.vp-pagination-link:hover{
  border-color:#8a8a8a!important;
  background:linear-gradient(180deg,#151515 0%,#0d0d0d 100%)!important;
  color:#fff!important
}
.vp-pagination-link:hover:before{background:#fff!important}
.vp-pagination-link:hover i{color:#fff!important}
.vp-pagination-current{
  min-width:128px!important;
  min-height:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 18px!important;
  border:1px solid #222!important;
  border-radius:0!important;
  background:#050505!important;
  color:#646464!important;
  font:700 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important
}
.vp-pagination-spacer{min-width:0!important}

/* ===== MOBILE ===== */
@media(max-width:720px){
  .vp-header-actions .vp-mobile-search,
  .vp-header-actions .vp-audience-toggle,
  .vp-header-actions .vp-header-favorite-icon,
  .vp-header-actions .vp-settings-button{
    width:34px!important;height:34px!important;min-width:34px!important
  }
  .vp-header-row .vp-logo:before{font-size:20px!important}
  .vp-header-row .vp-logo:after{font-size:14px!important;padding:3px 5px!important}
  .vp-pagination.vp-pagination-flat{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important
  }
  .vp-pagination-current{
    grid-column:1/-1!important;
    grid-row:1!important;
    min-height:44px!important
  }
  .vp-pagination-prev{grid-column:1!important;grid-row:2!important}
  .vp-pagination-next{grid-column:2!important;grid-row:2!important}
  .vp-pagination-link{min-height:52px!important;padding:0 13px!important}
  .javspy-legal-wrap{padding-top:16px!important;padding-bottom:28px!important}
  .javspy-legal-header{padding:25px 20px 22px!important}
  .javspy-legal-header h1{font-size:28px!important}
  .javspy-legal-rule{margin:0 20px!important}
  .javspy-legal-document{padding:20px!important}
  .javspy-legal-breadcrumb{padding:0 18px!important}
}
