/* Open Library Publications — Red Modern System — 2026-08-28 v1
 * Unified public-frontend relayout: portal, search, auth, journals, article/archive/about pages.
 * Tel-U red is dominant but balanced with warm neutral surfaces.
 * Versioned filename is intentional for Cloudflare cache busting.
 */

:root{
  --olx-red-950:#6f1118;
  --olx-red-900:#85141c;
  --olx-red-800:#a81822;
  --olx-red-700:#c51f29;
  --olx-red-600:#df2630;
  --olx-red-500:#ef4650;
  --olx-red-200:#fecdd1;
  --olx-red-100:#ffe4e6;
  --olx-red-50:#fff4f5;
  --olx-ink:#121826;
  --olx-text:#334155;
  --olx-muted:#64748b;
  --olx-line:#e3e8ef;
  --olx-surface:#ffffff;
  --olx-surface-soft:#fbfafb;
  --olx-shell:1240px;
  --olx-radius:18px;
  --olx-shadow:0 16px 42px rgba(70,18,24,.075);
  --olx-shadow-soft:0 8px 24px rgba(44,20,24,.055);
  --olx-red-gradient:linear-gradient(112deg,var(--olx-red-950) 0%,var(--olx-red-800) 45%,var(--olx-red-600) 100%);
  --olx-red-gradient-soft:linear-gradient(120deg,#fff5f6 0%,#fff 48%,#fff0f2 100%);
}

/* --------------------------------------------------------------------------
   Foundation / page shell
   -------------------------------------------------------------------------- */
html body{
  color:var(--olx-text)!important;
  background:
    radial-gradient(circle at 0% 0%,rgba(239,70,80,.085),transparent 31rem),
    radial-gradient(circle at 100% 18%,rgba(168,24,34,.045),transparent 35rem),
    linear-gradient(180deg,#f9fafc 0%,#f5f7fa 100%)!important;
  font-size:15px!important;
  line-height:1.65!important;
}
html body .pkp_structure_page{
  min-height:100vh!important;
  display:flex!important;
  flex-direction:column!important;
  background:transparent!important;
}
html body .pkp_structure_content{
  flex:1 0 auto!important;
  width:min(var(--olx-shell),calc(100% - 64px))!important;
  max-width:var(--olx-shell)!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
}
html body .pkp_structure_main{
  min-width:0!important;
  color:var(--olx-text)!important;
}
html body h1,html body h2,html body h3,html body h4,
html body .openlib_site_brand strong,
html body .openlib_journal_brand__title{
  color:var(--olx-ink)!important;
  letter-spacing:-.025em!important;
}
html body a{color:var(--olx-red-700);}
html body a:hover{color:var(--olx-red-900);}
html body ::placeholder{color:#758197!important;opacity:1!important;}
html body input,html body select,html body textarea,html body button{font-family:inherit!important;}
html body input,html body select,html body textarea{box-sizing:border-box!important;}

/* Generic public page cards so archive/about/contact/article pages belong to one system. */
html body.openlib-site-page .pkp_structure_main > .page:not(.page_index_site):not(.page_search):not(.page_login):not(.page_register),
html body.openlib-journal-page .pkp_structure_main > .page:not(.page_index_journal){
  box-sizing:border-box!important;
  margin:32px auto 48px!important;
  padding:30px 32px!important;
  border:1px solid var(--olx-line)!important;
  border-radius:var(--olx-radius)!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(239,70,80,.045),transparent 22rem),
    rgba(255,255,255,.96)!important;
  box-shadow:var(--olx-shadow-soft)!important;
}

/* --------------------------------------------------------------------------
   Publisher header: red utility + quiet warm identity row
   -------------------------------------------------------------------------- */
html body .openlib_site_header,
html body .openlib_journal_header{
  border:0!important;
  background:transparent!important;
  box-shadow:0 7px 24px rgba(49,14,19,.045)!important;
}
html body .openlib_site_header__utility,
html body .openlib_journal_header__utility,
html[data-openlib-color-mode="dark"] body .openlib_site_header__utility,
html[data-openlib-color-mode="dark"] body .openlib_journal_header__utility{
  padding:7px 0 9px!important;
  border:0!important;
  border-bottom:1px solid rgba(104,11,18,.26)!important;
  background:
    radial-gradient(circle at 77% -160%,rgba(255,255,255,.18),transparent 22rem),
    var(--olx-red-gradient)!important;
  color:#fff!important;
}
html body .openlib_site_header__utility_inner,
html body .openlib_journal_header__utility_inner,
html body .openlib_site_header__main_inner,
html body .openlib_site_shell,
html body .openlib_journal_shell{
  width:min(var(--olx-shell),calc(100% - 64px))!important;
  max-width:var(--olx-shell)!important;
}
html body .openlib_site_header__utility_inner,
html body .openlib_journal_header__utility_inner{
  min-height:34px!important;
  align-items:center!important;
}
html body .openlib_site_header__right,
html body .openlib_journal_header__account{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:9px!important;
}
html body .openlib_color_mode_toggle{
  display:inline-grid!important;
  place-items:center!important;
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.42)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.09)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
}
html body .openlib_color_mode_toggle:hover,
html body .openlib_color_mode_toggle:focus{
  border-color:rgba(255,255,255,.70)!important;
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
}

/* Unified segmented Login/Register. It sits fully inside the red bar. */
html body .openlib_auth_switch{
  display:inline-flex!important;
  align-items:center!important;
  gap:2px!important;
  height:36px!important;
  padding:3px!important;
  border:1px solid rgba(255,255,255,.78)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 5px 15px rgba(75,8,14,.13)!important;
  overflow:hidden!important;
  vertical-align:middle!important;
}
html body .openlib_auth_switch__item{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:30px!important;
  min-height:30px!important;
  padding:0 15px!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:#8d1720!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
html body .openlib_auth_switch__item--register,
html body.pkp_page_user.pkp_op_register .openlib_auth_switch__item--register,
html body .openlib_auth_switch__item--register.is-active{
  background:linear-gradient(135deg,#b51a24,#dc2932)!important;
  color:#fff!important;
  box-shadow:0 3px 9px rgba(154,20,29,.20)!important;
}
html body.pkp_page_login .openlib_auth_switch__item--login,
html body .openlib_auth_switch__item--login.is-active{
  background:linear-gradient(135deg,#b51a24,#dc2932)!important;
  color:#fff!important;
  box-shadow:0 3px 9px rgba(154,20,29,.20)!important;
}
html body.pkp_page_login .openlib_auth_switch__item--register{
  background:transparent!important;
  color:#8d1720!important;
  box-shadow:none!important;
}
html body .openlib_auth_switch__item:hover,
html body .openlib_auth_switch__item:focus-visible{
  text-decoration:none!important;
  filter:brightness(.98)!important;
}
html body .openlib_header_register_cta{display:none!important;}

html body .openlib_site_header__main{
  border:0!important;
  border-bottom:1px solid #ecd9dc!important;
  background:linear-gradient(100deg,#fff 0%,#fff 62%,#fff5f6 100%)!important;
}
html body .openlib_site_header__main_inner{
  min-height:72px!important;
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
}
html body .openlib_site_brand__text{
  display:inline-flex!important;
  align-items:center!important;
  gap:12px!important;
  color:var(--olx-ink)!important;
  text-decoration:none!important;
}
html body .openlib_site_brand__mark{
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  border-radius:11px!important;
  background:linear-gradient(145deg,var(--olx-red-800),var(--olx-red-500))!important;
  color:#fff!important;
  font-size:16px!important;
  box-shadow:0 8px 20px rgba(176,24,35,.19)!important;
}
html body .openlib_site_brand__text strong{
  display:block!important;
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:850!important;
}
html body .openlib_site_brand__text small{display:none!important;}

/* --------------------------------------------------------------------------
   Portal home / primary search
   -------------------------------------------------------------------------- */
html body.openlib-site-index .pkp_structure_content{
  padding-top:28px!important;
  padding-bottom:54px!important;
}
html body.openlib-site-index .page_index_site{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
html body.openlib-site-index .openlib_search_panel--primary,
html body.openlib-site-index.openlib-search-is-fixed .openlib_search_panel--primary,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_search_panel--primary,
html[data-openlib-color-mode="dark"] body.openlib-site-index.openlib-search-is-fixed .openlib_search_panel--primary{
  position:relative!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  padding:14px!important;
  border:1px solid rgba(255,255,255,.20)!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 94% -80%,rgba(255,255,255,.22),transparent 20rem),
    var(--olx-red-gradient)!important;
  box-shadow:0 18px 44px rgba(103,13,20,.20)!important;
}
html body.openlib-site-index .openlib_search_panel--primary:before,
html body.openlib-site-index.openlib-search-is-fixed .openlib_search_panel--primary:before{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  content:""!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,rgba(255,255,255,.06),transparent 22%,transparent 78%,rgba(255,255,255,.08))!important;
}
html body.openlib-site-index .openlib_discovery__form{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 220px 162px!important;
  gap:10px!important;
  align-items:center!important;
  width:100%!important;
  margin:0!important;
}
html body.openlib-site-index .openlib_discovery__query,
html body.openlib-site-index .openlib_discovery__form > select,
html body.openlib-site-index .openlib_discovery__form > button{
  box-sizing:border-box!important;
  height:52px!important;
  min-height:52px!important;
  min-width:0!important;
  margin:0!important;
  border-radius:13px!important;
}
html body.openlib-site-index .openlib_discovery__query{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  align-items:center!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.52)!important;
  background:#fff!important;
  box-shadow:0 7px 18px rgba(72,9,14,.12)!important;
}
html body.openlib-site-index .openlib_discovery__query > .fa{
  position:static!important;
  display:grid!important;
  width:42px!important;
  height:50px!important;
  place-items:center!important;
  color:var(--olx-red-700)!important;
}
html body.openlib-site-index .openlib_discovery__query input[type="search"]{
  width:100%!important;
  height:50px!important;
  min-width:0!important;
  padding:0 16px 0 0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#273044!important;
  font-size:14px!important;
  box-shadow:none!important;
  outline:0!important;
}
html body.openlib-site-index .openlib_discovery__form > select{
  width:100%!important;
  padding:0 42px 0 15px!important;
  border:1px solid rgba(255,255,255,.52)!important;
  background:#fff!important;
  color:#2f3748!important;
  font-size:13.5px!important;
  box-shadow:0 7px 18px rgba(72,9,14,.10)!important;
}
html body.openlib-site-index .openlib_discovery__form > button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:0 16px!important;
  border:1px solid rgba(255,255,255,.60)!important;
  background:#fff!important;
  color:var(--olx-red-800)!important;
  font-size:13px!important;
  font-weight:900!important;
  box-shadow:0 7px 18px rgba(72,9,14,.12)!important;
}
html body.openlib-site-index .openlib_discovery__form > button:hover,
html body.openlib-site-index .openlib_discovery__form > button:focus{
  background:var(--olx-red-50)!important;
  color:var(--olx-red-950)!important;
}
html body.openlib-site-index .openlib_discovery__meta{display:none!important;}

/* Sticky search keeps exactly the same visual dimensions as its normal state. */
html body.openlib-site-index.openlib-search-is-fixed .openlib_search_panel--primary{
  top:calc(var(--ols-header-h,72px) + 10px)!important;
  left:var(--ols-search-left)!important;
  width:var(--ols-search-width)!important;
  max-width:var(--ols-search-width)!important;
  margin:0!important;
  z-index:999!important;
}
html body.openlib-site-index.openlib-search-is-fixed .openlib_discovery__form{
  grid-template-columns:minmax(0,1fr) 220px 162px!important;
  gap:10px!important;
}
html body.openlib-site-index.openlib-search-is-fixed .openlib_discovery__query,
html body.openlib-site-index.openlib-search-is-fixed .openlib_discovery__form > select,
html body.openlib-site-index.openlib-search-is-fixed .openlib_discovery__form > button{
  height:52px!important;
  min-height:52px!important;
}

/* Browse publications */
html body.openlib-site-index .openlib_journal_section{margin-top:38px!important;}
html body.openlib-site-index .openlib_journal_tools{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:24px!important;
  padding:0 0 17px!important;
  border-bottom:1px solid #ead4d8!important;
}
html body.openlib-site-index .openlib_journal_tools__eyebrow,
html body .openlib_search_page__eyebrow,
html body .openlib_section_heading__eyebrow{
  color:var(--olx-red-700)!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}
html body.openlib-site-index .openlib_journal_tools h2{
  margin:3px 0 2px!important;
  font-size:29px!important;
  line-height:1.15!important;
}
html body.openlib-site-index .openlib_journal_count{
  margin:0!important;
  color:var(--olx-muted)!important;
  font-size:13px!important;
}
html body.openlib-site-index .openlib_journal_filter{
  position:relative!important;
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  align-items:center!important;
  width:290px!important;
  min-width:290px!important;
  height:48px!important;
  overflow:hidden!important;
  border:1px solid #e7afb5!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 6px 18px rgba(73,20,25,.045)!important;
}
html body.openlib-site-index .openlib_journal_filter > .fa{
  position:static!important;
  display:grid!important;
  width:46px!important;
  height:46px!important;
  place-items:center!important;
  color:var(--olx-red-700)!important;
  background:linear-gradient(180deg,#fff7f8,#fff)!important;
  border-right:1px solid #f3d4d7!important;
}
html body.openlib-site-index .openlib_journal_filter input{
  box-sizing:border-box!important;
  width:100%!important;
  height:46px!important;
  min-width:0!important;
  margin:0!important;
  padding:0 16px!important;
  border:0!important;
  background:#fff!important;
  color:#263145!important;
  font-size:13.5px!important;
  box-shadow:none!important;
  outline:0!important;
}
html body.openlib-site-index .openlib_journal_filter:focus-within{
  border-color:var(--olx-red-500)!important;
  box-shadow:0 0 0 3px rgba(223,38,48,.10)!important;
}

html body.openlib-site-index .openlib_journal_grid{
  gap:20px!important;
  margin-top:18px!important;
}
html body.openlib-site-index .openlib_journal_card{
  position:relative!important;
  overflow:hidden!important;
  border:1px solid #e9dde0!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(239,70,80,.045),transparent 17rem),
    #fff!important;
  box-shadow:var(--olx-shadow-soft)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
html body.openlib-site-index .openlib_journal_card:before{
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  height:4px!important;
  content:""!important;
  background:linear-gradient(90deg,var(--olx-red-950),var(--olx-red-700) 56%,#fb7185)!important;
}
html body.openlib-site-index .openlib_journal_card:hover{
  transform:translateY(-3px)!important;
  border-color:#e7b4b9!important;
  box-shadow:0 18px 42px rgba(83,16,22,.10)!important;
}
html body.openlib-site-index .openlib_journal_main{padding:18px!important;}
html body.openlib-site-index .openlib_journal_content h3 a{
  color:#151b28!important;
  font-size:15px!important;
  font-weight:850!important;
  line-height:1.35!important;
}
html body.openlib-site-index .openlib_journal_slug{
  display:inline-flex!important;
  margin:6px 0 7px!important;
  padding:3px 8px!important;
  border:1px solid #f2c6ca!important;
  border-radius:999px!important;
  background:#fff5f6!important;
  color:var(--olx-red-700)!important;
  font-size:11px!important;
  font-weight:700!important;
}
html body.openlib-site-index .openlib_journal_content .description{
  color:#4b596e!important;
  font-size:13px!important;
  line-height:1.65!important;
}
html body.openlib-site-index .openlib_journal_footer{
  padding:11px 18px 13px!important;
  border-top:1px solid #f0e1e4!important;
  background:linear-gradient(90deg,#fff8f9,#fff 50%,#fff5f6)!important;
}
html body.openlib-site-index .openlib_journal_actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:9px!important;
}
html body.openlib-site-index .openlib_journal_actions a{
  min-height:38px!important;
  border-radius:10px!important;
  font-size:12px!important;
  font-weight:800!important;
}
html body.openlib-site-index .openlib_journal_actions .home a{
  border:1px solid var(--olx-red-700)!important;
  background:linear-gradient(135deg,#bd1d27,#e02a34)!important;
  color:#fff!important;
}
html body.openlib-site-index .openlib_journal_actions .current a{
  border:1px solid #e0c1c5!important;
  background:#fff!important;
  color:#7e1b23!important;
}

/* --------------------------------------------------------------------------
   Search results page
   -------------------------------------------------------------------------- */
html body.openlib-site-page .openlib_search_page{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:32px 0 52px!important;
}
html body .openlib_search_page__heading{margin:0 0 18px!important;}
html body .openlib_search_page__heading h1{
  margin:3px 0 4px!important;
  font-size:30px!important;
}
html body .openlib_search_page__heading p{
  margin:0!important;
  color:var(--olx-muted)!important;
  font-size:13.5px!important;
}
html body .openlib_search_form{
  overflow:hidden!important;
  margin:0 0 30px!important;
  padding:14px!important;
  border:1px solid #d9858d!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 96% -90%,rgba(255,255,255,.18),transparent 18rem),
    var(--olx-red-gradient)!important;
  box-shadow:0 16px 40px rgba(105,15,22,.15)!important;
}
html body .openlib_search_form__primary,
html body .openlib_search_form__primary.has_journal_filter{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 220px 150px!important;
  gap:10px!important;
  align-items:center!important;
}
html body .openlib_search_form__query,
html body .openlib_search_form__journal{
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.58)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 6px 16px rgba(74,9,14,.10)!important;
}
html body .openlib_search_form__query{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  align-items:center!important;
}
html body .openlib_search_form__query > .fa{
  position:static!important;
  display:grid!important;
  width:42px!important;
  height:48px!important;
  place-items:center!important;
  color:var(--olx-red-700)!important;
}
html body .openlib_search_form__query input,
html body .openlib_search_form__journal select{
  box-sizing:border-box!important;
  width:100%!important;
  height:48px!important;
  min-width:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#273044!important;
  font-size:13.5px!important;
  box-shadow:none!important;
  outline:0!important;
}
html body .openlib_search_form__query input{padding:0 16px 0 0!important;}
html body .openlib_search_form__journal select{padding:0 42px 0 14px!important;}
html body .openlib_search_form__submit{
  height:50px!important;
  border:1px solid rgba(255,255,255,.65)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--olx-red-800)!important;
  font-size:13px!important;
  font-weight:900!important;
  box-shadow:0 6px 16px rgba(74,9,14,.10)!important;
}
html body .openlib_search_advanced{
  margin-top:10px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
}
html body .openlib_search_advanced summary{
  padding:10px 12px!important;
  color:#fff!important;
  font-size:12.5px!important;
  font-weight:800!important;
}
html body .openlib_search_advanced[open]{background:rgba(255,255,255,.96)!important;color:var(--olx-text)!important;}
html body .openlib_search_advanced[open] summary{color:var(--olx-red-800)!important;border-bottom:1px solid #f0d8db!important;}
html body .openlib_search_results_header{
  padding-bottom:12px!important;
  border-bottom:1px solid #e9d4d7!important;
}
html body .openlib_search_results_header h2{font-size:24px!important;}
html body .openlib_search_results_count{
  border:1px solid #efb5ba!important;
  border-radius:10px!important;
  background:#fff5f6!important;
  color:var(--olx-red-800)!important;
  font-weight:800!important;
}
html body .openlib_search_results > li{
  margin-bottom:12px!important;
  overflow:hidden!important;
  border:1px solid #eadde0!important;
  border-left:4px solid var(--olx-red-700)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 7px 20px rgba(55,18,22,.04)!important;
}
html body .openlib_search_results .obj_article_summary{background:transparent!important;border:0!important;box-shadow:none!important;}

/* --------------------------------------------------------------------------
   Authentication pages: same visual language for Login and Register
   -------------------------------------------------------------------------- */
html body.openlib-site-page.pkp_page_login .pkp_structure_content,
html body.openlib-site-page.pkp_page_user.pkp_op_register .pkp_structure_content{
  width:min(1120px,calc(100% - 64px))!important;
  max-width:1120px!important;
  padding-top:44px!important;
  padding-bottom:58px!important;
}
html body.openlib-site-page.pkp_page_login .pkp_structure_main,
html body.openlib-site-page.pkp_page_user.pkp_op_register .pkp_structure_main{width:100%!important;}
html body.openlib-site-page .page_login,
html body.openlib-site-page .page_register{
  position:relative!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  border:1px solid #e4c8cc!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(239,70,80,.10),transparent 25rem),
    linear-gradient(145deg,#fff 0%,#fff 63%,#fff6f7 100%)!important;
  box-shadow:0 22px 54px rgba(72,17,23,.09)!important;
}
html body.openlib-site-page .page_login:before,
html body.openlib-site-page .page_register:before{
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  height:7px!important;
  content:""!important;
  background:linear-gradient(90deg,var(--olx-red-950),var(--olx-red-700) 58%,#fb7185)!important;
}
html body.openlib-site-page .page_login{
  width:min(660px,100%)!important;
  max-width:660px!important;
  margin:0 auto!important;
  padding:42px 46px 44px!important;
}
html body.openlib-site-page .page_register{
  width:min(1040px,100%)!important;
  max-width:1040px!important;
  margin:0 auto!important;
  padding:38px 40px 42px!important;
}
html body.openlib-site-page .page_login > h1,
html body.openlib-site-page .page_register > h1{
  margin-top:0!important;
  color:var(--olx-ink)!important;
  font-size:30px!important;
  line-height:1.15!important;
}
html body.openlib-site-page .page_login > p,
html body.openlib-site-page .page_register > p,
html body.openlib-site-page .page_login .required_label,
html body.openlib-site-page .page_register .required_label{
  color:var(--olx-muted)!important;
  font-size:12.5px!important;
}
html body.openlib-site-page .page_login form,
html body.openlib-site-page .page_register form{width:100%!important;}
html body.openlib-site-page .page_login .login{max-width:none!important;width:100%!important;}
html body.openlib-site-page .page_login input[type="text"],
html body.openlib-site-page .page_login input[type="email"],
html body.openlib-site-page .page_login input[type="password"],
html body.openlib-site-page .page_register input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
html body.openlib-site-page .page_register select,
html body.openlib-site-page .page_register textarea{
  box-sizing:border-box!important;
  width:100%!important;
  min-height:48px!important;
  padding:11px 17px!important;
  border:1px solid #cfd8e3!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#202a3b!important;
  font-size:13.5px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86)!important;
}
html body.openlib-site-page .page_login .openlib_password_control input,
html body.openlib-site-page .page_register .openlib_password_control input{padding-right:88px!important;}
html body.openlib-site-page .page_register select{padding-right:42px!important;}
html body.openlib-site-page .page_login input:focus,
html body.openlib-site-page .page_register input:focus,
html body.openlib-site-page .page_register select:focus,
html body.openlib-site-page .page_register textarea:focus{
  border-color:var(--olx-red-500)!important;
  outline:0!important;
  box-shadow:0 0 0 3px rgba(223,38,48,.10)!important;
}
html body.openlib-site-page .page_register fieldset{
  margin:0 0 18px!important;
  padding:20px!important;
  border:1px solid #ead4d7!important;
  border-radius:15px!important;
  background:linear-gradient(145deg,#fffafb,#fff 68%)!important;
}
html body.openlib-site-page .page_register fieldset > legend{
  padding:3px 10px!important;
  border:1px solid #f1d9dc!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#7f1921!important;
  font-size:13px!important;
  font-weight:850!important;
}
html body.openlib-site-page .page_register .context_optin .contexts{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
html body.openlib-site-page .page_register .context_optin .contexts > li{
  border:1px solid #eadfe1!important;
  border-radius:12px!important;
  background:#fff!important;
}
html body.openlib-site-page .page_register input[type="checkbox"],
html body.openlib-site-page .page_register input[type="radio"],
html body.openlib-site-page .page_login input[type="checkbox"]{accent-color:var(--olx-red-700)!important;}
html body.openlib-site-page .page_login .buttons{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:18px!important;
}
html body.openlib-site-page .page_login .buttons button,
html body.openlib-site-page .page_login .buttons a,
html body.openlib-site-page .page_register .buttons button,
html body.openlib-site-page .page_register input[type="submit"]{
  box-sizing:border-box!important;
  min-height:45px!important;
  border-radius:11px!important;
  font-size:13px!important;
  font-weight:850!important;
}
html body.openlib-site-page .page_login .buttons button,
html body.openlib-site-page .page_register .buttons button,
html body.openlib-site-page .page_register input[type="submit"]{
  border:1px solid var(--olx-red-700)!important;
  background:linear-gradient(135deg,#bc1c26,#e02b34)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(168,24,34,.15)!important;
}
html body.openlib-site-page .page_login .buttons a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  border:1px solid #dfc3c7!important;
  background:#fff!important;
  color:#7f1921!important;
  text-decoration:none!important;
}
html body .openlib_validation_error,
html body label.error{
  margin-top:6px!important;
  color:#b91c1c!important;
  font-size:11.5px!important;
  font-weight:700!important;
}

/* --------------------------------------------------------------------------
   Journal header and journal pages
   -------------------------------------------------------------------------- */
html body.openlib-journal-page .openlib_journal_header__identity{
  border-bottom:1px solid #ead5d8!important;
  background:
    radial-gradient(circle at 86% 30%,rgba(239,70,80,.085),transparent 24rem),
    linear-gradient(100deg,#fff 0%,#fff 55%,#fff5f6 100%)!important;
}
html body.openlib-journal-page .openlib_journal_header__identity_inner{padding-top:20px!important;padding-bottom:20px!important;}
html body.openlib-journal-page .openlib_back_publications{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:7px 10px!important;
  border:1px solid #efb6bb!important;
  border-radius:9px!important;
  background:#fff7f8!important;
  color:var(--olx-red-700)!important;
  font-size:12px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
html body.openlib-journal-page .openlib_journal_brand__title{
  margin-top:8px!important;
  font-size:30px!important;
  font-weight:900!important;
  line-height:1.18!important;
}
html body.openlib-journal-page .openlib_journal_header__navrow{
  border-bottom:1px solid #ead6d9!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 5px 16px rgba(60,18,22,.035)!important;
}
html body.openlib-journal-page .openlib_journal_header__navrow_inner{min-height:54px!important;}
html body.openlib-journal-page .openlib_journal_nav a{
  color:#2e394b!important;
  font-size:13px!important;
  font-weight:750!important;
}
html body.openlib-journal-page .openlib_journal_nav a[aria-current="page"],
html body.openlib-journal-page .openlib_journal_nav .current > a,
html body.openlib-journal-page .openlib_journal_nav a:hover{
  color:var(--olx-red-700)!important;
}
html body.openlib-journal-page .openlib_journal_nav a[aria-current="page"]:after,
html body.openlib-journal-page .openlib_journal_nav .current > a:after{
  background:linear-gradient(90deg,var(--olx-red-900),var(--olx-red-500))!important;
}
html body.openlib-journal-page .openlib_journal_search{
  border:1px solid #ecc5c9!important;
  border-radius:10px!important;
  background:#fff7f8!important;
  color:var(--olx-red-700)!important;
}
html body.openlib-journal-page .pkp_structure_content{padding-top:28px!important;padding-bottom:48px!important;}
html body.openlib-journal-page .openlib_journal_home{margin:0!important;}

/* Strong red journal identity banner: dominant, but content remains clean. */
html body.openlib-journal-page .openlib_journal_profile.openlib_journal_profile--banner{
  position:relative!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr)!important;
  gap:26px!important;
  align-items:center!important;
  margin:0 0 28px!important;
  padding:24px!important;
  border:0!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(255,255,255,.18),transparent 24rem),
    var(--olx-red-gradient)!important;
  box-shadow:0 18px 42px rgba(99,13,20,.18)!important;
}
html body.openlib-journal-page .openlib_journal_profile__cover{
  height:170px!important;
  overflow:hidden!important;
  border:5px solid rgba(255,255,255,.92)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 10px 26px rgba(67,6,11,.18)!important;
}
html body.openlib-journal-page .openlib_journal_profile__cover img{width:100%!important;height:100%!important;object-fit:contain!important;background:#fff!important;}
html body.openlib-journal-page .openlib_journal_profile__cover--fallback{display:grid!important;place-items:center!important;color:var(--olx-red-800)!important;}
html body.openlib-journal-page .openlib_journal_profile__body h1,
html body.openlib-journal-page .openlib_journal_profile__body h2,
html body.openlib-journal-page .openlib_journal_profile__description,
html body.openlib-journal-page .openlib_journal_profile__description p,
html body.openlib-journal-page .openlib_journal_profile__description a{
  color:#fff!important;
}
html body.openlib-journal-page .openlib_journal_profile__body h1{font-size:30px!important;line-height:1.2!important;}
html body.openlib-journal-page .openlib_journal_profile__description{opacity:.92!important;font-size:13.5px!important;line-height:1.7!important;}

html body.openlib-journal-page .openlib_current_issue_panel,
html body.openlib-journal-page .openlib_additional_content_panel{
  position:relative!important;
  overflow:hidden!important;
  margin-top:22px!important;
  padding:26px!important;
  border:1px solid #eadde0!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--olx-shadow-soft)!important;
}
html body.openlib-journal-page .openlib_current_issue_panel:before,
html body.openlib-journal-page .openlib_additional_content_panel:before{
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  height:4px!important;
  content:""!important;
  background:linear-gradient(90deg,var(--olx-red-950),var(--olx-red-700),#fb7185)!important;
}
html body.openlib-journal-page .openlib_view_all_issues{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:9px 12px!important;
  border:1px solid #ecc3c7!important;
  border-radius:10px!important;
  background:#fff6f7!important;
  color:var(--olx-red-700)!important;
  font-weight:800!important;
  text-decoration:none!important;
}

/* Article / issue / archive summaries */
html body.openlib-journal-page .obj_article_summary,
html body.openlib-journal-page .obj_issue_summary,
html body.openlib-journal-page .obj_announcement_summary{
  border-color:#eadde0!important;
}
html body.openlib-journal-page .cmp_button,
html body.openlib-journal-page .obj_galley_link{
  border-radius:9px!important;
}
html body.openlib-journal-page .obj_galley_link{
  border-color:var(--olx-red-700)!important;
  background:#fff6f7!important;
  color:var(--olx-red-800)!important;
}

/* --------------------------------------------------------------------------
   Footer: red, compact, consistent on site + journal pages
   -------------------------------------------------------------------------- */
html body .pkp_structure_footer_wrapper.openlib_site_footer,
html body .pkp_structure_footer_wrapper.openlib_journal_footer_global{
  position:relative!important;
  flex:0 0 auto!important;
  margin-top:0!important;
  border:0!important;
  border-top:1px solid rgba(111,17,24,.30)!important;
  background:
    radial-gradient(circle at 82% -120%,rgba(255,255,255,.15),transparent 22rem),
    linear-gradient(108deg,#6f1118 0%,#941720 46%,#c9222c 100%)!important;
  color:rgba(255,255,255,.84)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07)!important;
}
html body .openlib_site_footer__inner,
html body .openlib_site_footer__bottom,
html body .openlib_site_footer__custom,
html body .openlib_journal_footer_global .pkp_structure_footer{
  width:min(var(--olx-shell),calc(100% - 64px))!important;
  max-width:var(--olx-shell)!important;
  margin:0 auto!important;
}
html body .openlib_site_footer__inner{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:28px!important;
  padding:25px 0 19px!important;
}
html body .openlib_site_footer__brand_text strong{
  display:block!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:850!important;
}
html body .openlib_site_footer__brand_text span{
  display:block!important;
  margin-top:3px!important;
  color:rgba(255,255,255,.67)!important;
  font-size:11.5px!important;
}
html body .openlib_site_footer__links{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  gap:8px 18px!important;
}
html body .openlib_site_footer__links a,
html body .openlib_journal_footer_global__meta a{
  color:rgba(255,255,255,.88)!important;
  font-size:11.5px!important;
  font-weight:700!important;
  text-decoration:none!important;
}
html body .openlib_site_footer__links a:hover,
html body .openlib_journal_footer_global__meta a:hover{color:#fff!important;text-decoration:underline!important;}
html body .openlib_site_footer__bottom{
  display:flex!important;
  justify-content:space-between!important;
  gap:20px!important;
  padding:13px 0 17px!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
  color:rgba(255,255,255,.56)!important;
  font-size:10.5px!important;
}
html body .openlib_journal_footer_global .pkp_structure_footer{padding:18px 0!important;}
html body .openlib_journal_footer_global__meta{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  color:rgba(255,255,255,.52)!important;
  font-size:11px!important;
}

/* --------------------------------------------------------------------------
   Dark mode: keep the red identity, darken neutral surfaces only
   -------------------------------------------------------------------------- */
html[data-openlib-color-mode="dark"] body{
  background:
    radial-gradient(circle at 0% 0%,rgba(239,70,80,.13),transparent 30rem),
    linear-gradient(180deg,#10141d,#141923)!important;
  color:#cbd5e1!important;
}
html[data-openlib-color-mode="dark"] body h1,
html[data-openlib-color-mode="dark"] body h2,
html[data-openlib-color-mode="dark"] body h3,
html[data-openlib-color-mode="dark"] body h4{color:#f8fafc!important;}
html[data-openlib-color-mode="dark"] body .openlib_site_header__main,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_header__identity,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_header__navrow{
  border-color:#3a2730!important;
  background:linear-gradient(110deg,#171b25,#1a1f2b 70%,#25171d)!important;
}
html[data-openlib-color-mode="dark"] body .openlib_site_brand__text strong,
html[data-openlib-color-mode="dark"] body .openlib_journal_brand__title{color:#f8fafc!important;}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_card,
html[data-openlib-color-mode="dark"] body .openlib_search_results > li,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_current_issue_panel,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_additional_content_panel,
html[data-openlib-color-mode="dark"] body.openlib-site-page .page_login,
html[data-openlib-color-mode="dark"] body.openlib-site-page .page_register,
html[data-openlib-color-mode="dark"] body.openlib-site-page .pkp_structure_main > .page:not(.page_index_site):not(.page_search):not(.page_login):not(.page_register),
html[data-openlib-color-mode="dark"] body.openlib-journal-page .pkp_structure_main > .page:not(.page_index_journal){
  border-color:#3b3138!important;
  background:#191e28!important;
  color:#cbd5e1!important;
}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_content h3 a{color:#f8fafc!important;}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_content .description{color:#b9c2d0!important;}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_footer{border-color:#3b3138!important;background:#1c202b!important;}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_filter,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_filter input,
html[data-openlib-color-mode="dark"] body.openlib-site-page .page_login input,
html[data-openlib-color-mode="dark"] body.openlib-site-page .page_register input,
html[data-openlib-color-mode="dark"] body.openlib-site-page .page_register select,
html[data-openlib-color-mode="dark"] body.openlib-site-page .page_register textarea{
  border-color:#4b3b43!important;
  background:#151a23!important;
  color:#eef2f7!important;
}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_filter > .fa{border-color:#4b3b43!important;background:#1b202a!important;}
html[data-openlib-color-mode="dark"] body.openlib-site-page .page_register fieldset{border-color:#41343b!important;background:#171c25!important;}
html[data-openlib-color-mode="dark"] body.openlib-site-page .page_register fieldset > legend{border-color:#51323a!important;background:#1c202a!important;color:#fecdd3!important;}
html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_nav a{color:#d5dbe5!important;}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width:1024px){
  html body .pkp_structure_content,
  html body .openlib_site_header__utility_inner,
  html body .openlib_journal_header__utility_inner,
  html body .openlib_site_header__main_inner,
  html body .openlib_site_shell,
  html body .openlib_journal_shell,
  html body .openlib_site_footer__inner,
  html body .openlib_site_footer__bottom,
  html body .openlib_journal_footer_global .pkp_structure_footer{
    width:min(100% - 40px,var(--olx-shell))!important;
  }
  html body.openlib-site-index .openlib_discovery__form,
  html body.openlib-site-index.openlib-search-is-fixed .openlib_discovery__form{
    grid-template-columns:minmax(0,1fr) 200px 150px!important;
  }
  html body .openlib_search_form__primary,
  html body .openlib_search_form__primary.has_journal_filter{
    grid-template-columns:minmax(0,1fr) 200px 140px!important;
  }
}

@media (max-width:767px){
  html body{font-size:14px!important;}
  html body .pkp_structure_content,
  html body .openlib_site_header__utility_inner,
  html body .openlib_journal_header__utility_inner,
  html body .openlib_site_header__main_inner,
  html body .openlib_site_shell,
  html body .openlib_journal_shell,
  html body .openlib_site_footer__inner,
  html body .openlib_site_footer__bottom,
  html body .openlib_journal_footer_global .pkp_structure_footer{
    width:calc(100% - 28px)!important;
  }
  html body .openlib_site_header__utility,
  html body .openlib_journal_header__utility{padding:6px 0 8px!important;}
  html body .openlib_auth_switch{height:34px!important;border-radius:12px!important;}
  html body .openlib_auth_switch__item{height:28px!important;min-height:28px!important;padding:0 11px!important;font-size:11.5px!important;}
  html body .openlib_site_header__main_inner{min-height:64px!important;padding-right:48px!important;}
  html body .openlib_site_brand__text strong{font-size:15px!important;}
  html body .openlib_site_brand__mark{width:34px!important;height:34px!important;flex-basis:34px!important;}

  html body.openlib-site-index .pkp_structure_content{padding-top:18px!important;}
  html body.openlib-site-index .openlib_search_panel--primary,
  html body.openlib-site-index.openlib-search-is-fixed .openlib_search_panel--primary{padding:9px!important;border-radius:15px!important;}
  html body.openlib-site-index .openlib_discovery__form,
  html body.openlib-site-index.openlib-search-is-fixed .openlib_discovery__form{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
  }
  html body.openlib-site-index .openlib_discovery__query,
  html body.openlib-site-index .openlib_discovery__form > select,
  html body.openlib-site-index .openlib_discovery__form > button,
  html body.openlib-site-index.openlib-search-is-fixed .openlib_discovery__query,
  html body.openlib-site-index.openlib-search-is-fixed .openlib_discovery__form > select,
  html body.openlib-site-index.openlib-search-is-fixed .openlib_discovery__form > button{
    width:100%!important;
    height:46px!important;
    min-height:46px!important;
  }
  html body.openlib-site-index .openlib_discovery__query input[type="search"]{height:44px!important;}
  html body.openlib-site-index.openlib-search-is-fixed .openlib_search_panel--primary{
    left:14px!important;
    width:calc(100% - 28px)!important;
    max-width:calc(100% - 28px)!important;
  }
  html body.openlib-site-index .openlib_journal_tools{align-items:stretch!important;flex-direction:column!important;gap:13px!important;}
  html body.openlib-site-index .openlib_journal_filter{width:100%!important;min-width:0!important;}
  html body.openlib-site-index .openlib_journal_grid{grid-template-columns:1fr!important;}

  html body .openlib_search_form__primary,
  html body .openlib_search_form__primary.has_journal_filter{display:flex!important;flex-direction:column!important;gap:8px!important;}
  html body .openlib_search_form__query,
  html body .openlib_search_form__journal,
  html body .openlib_search_form__submit{width:100%!important;}

  html body.openlib-site-page.pkp_page_login .pkp_structure_content,
  html body.openlib-site-page.pkp_page_user.pkp_op_register .pkp_structure_content{width:calc(100% - 28px)!important;padding-top:24px!important;padding-bottom:34px!important;}
  html body.openlib-site-page .page_login,
  html body.openlib-site-page .page_register{padding:30px 20px 30px!important;border-radius:17px!important;}
  html body.openlib-site-page .page_register .context_optin .contexts{grid-template-columns:1fr!important;}
  html body.openlib-site-page .page_login .buttons{grid-template-columns:1fr!important;}

  html body.openlib-journal-page .openlib_journal_profile.openlib_journal_profile--banner{grid-template-columns:1fr!important;gap:18px!important;padding:18px!important;}
  html body.openlib-journal-page .openlib_journal_profile__media{max-width:160px!important;}
  html body.openlib-journal-page .openlib_journal_profile__cover{height:150px!important;}
  html body.openlib-journal-page .openlib_journal_brand__title{font-size:24px!important;}

  html body .openlib_site_footer__inner,
  html body .openlib_site_footer__bottom{align-items:flex-start!important;flex-direction:column!important;gap:12px!important;}
  html body .openlib_site_footer__links{justify-content:flex-start!important;}
}

@media (max-width:420px){
  html body .openlib_auth_switch__item{padding:0 9px!important;font-size:11px!important;}
  html body.openlib-site-index .openlib_journal_tools h2{font-size:25px!important;}
  html body.openlib-site-page .page_login > h1,
  html body.openlib-site-page .page_register > h1{font-size:27px!important;}
}

/* ========================================================================== 
   0828 v19 — Red Futuristic Minimal Polish
   Geometry safety, unified account control, technical line motifs, dashed
   separators, icon alignment, and balanced Home/Current actions.
   ========================================================================== */

/* Never allow fixed/sticky UI to create a horizontal page scroll. */
html,
html body,
html body .pkp_structure_page{
  max-width:100%!important;
  overflow-x:clip!important;
}
@supports not (overflow:clip){
  html,
  html body,
  html body .pkp_structure_page{overflow-x:hidden!important;}
}

/* --------------------------------------------------------------------------
   Futuristic red surfaces: clean technical-line texture, not extra gradients.
   -------------------------------------------------------------------------- */
html body .openlib_site_header__utility,
html body .openlib_journal_header__utility,
html[data-openlib-color-mode="dark"] body .openlib_site_header__utility,
html[data-openlib-color-mode="dark"] body .openlib_journal_header__utility,
html body .pkp_structure_footer_wrapper.openlib_site_footer,
html body .pkp_structure_footer_wrapper.openlib_journal_footer_global{
  background-image:
    repeating-linear-gradient(132deg,rgba(255,255,255,.055) 0 1px,transparent 1px 19px),
    linear-gradient(90deg,transparent 0 76%,rgba(255,255,255,.055) 76% 76.12%,transparent 76.12% 100%),
    radial-gradient(circle at 88% -180%,rgba(255,255,255,.15),transparent 25rem),
    var(--olx-red-gradient)!important;
}

/* Technical rail motif on normal + floating global search. */
html body.openlib-site-index .openlib_search_panel--primary:before,
html body.openlib-site-index.openlib-search-is-fixed .openlib_search_panel--primary:before,
html body .openlib_search_form:before{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  content:""!important;
  pointer-events:none!important;
  background:
    repeating-linear-gradient(128deg,transparent 0 17px,rgba(255,255,255,.075) 17px 18px,transparent 18px 36px),
    linear-gradient(90deg,transparent 0 18%,rgba(255,255,255,.10) 18% 18.12%,transparent 18.12% 82%,rgba(255,255,255,.08) 82% 82.12%,transparent 82.12% 100%)!important;
  opacity:.9!important;
}
html body .openlib_search_form{position:relative!important;}
html body .openlib_search_form__primary,
html body .openlib_search_advanced{position:relative!important;z-index:1!important;}

/* Tiny corner rails make the large red search surface feel intentional. */
html body.openlib-site-index .openlib_search_panel--primary:after,
html body .openlib_search_form:after{
  position:absolute!important;
  top:8px!important;
  right:11px!important;
  width:44px!important;
  height:12px!important;
  content:""!important;
  pointer-events:none!important;
  border-top:1px solid rgba(255,255,255,.34)!important;
  border-right:1px solid rgba(255,255,255,.34)!important;
  border-radius:0 7px 0 0!important;
}

/* --------------------------------------------------------------------------
   Sticky search: centered against viewport to remove lateral drift/overflow.
   -------------------------------------------------------------------------- */
html body.openlib-site-index.openlib-search-is-fixed .openlib_search_panel--primary{
  position:fixed!important;
  top:calc(var(--ols-header-h,72px) + 10px)!important;
  left:50%!important;
  right:auto!important;
  width:min(var(--olx-shell),calc(100vw - 64px))!important;
  max-width:min(var(--olx-shell),calc(100vw - 64px))!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  box-sizing:border-box!important;
  z-index:999!important;
}
html body.openlib-site-index.openlib-search-is-fixed .openlib_search_panel--primary,
html body.openlib-site-index .openlib_search_panel--primary{
  isolation:isolate!important;
}
html body.openlib-site-index.openlib-search-is-fixed .openlib_search_panel--primary > *,
html body.openlib-site-index .openlib_search_panel--primary > *{position:relative!important;z-index:1!important;}

/* --------------------------------------------------------------------------
   Account cluster: Dark/Light + Login/Register become one visual component.
   -------------------------------------------------------------------------- */
html body .openlib_account_cluster{
  display:inline-flex!important;
  align-items:center!important;
  gap:2px!important;
  min-height:38px!important;
  padding:3px!important;
  border:1px solid rgba(255,255,255,.75)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 6px 17px rgba(78,8,14,.15)!important;
}
html body .openlib_account_cluster .openlib_color_mode_toggle{
  width:31px!important;
  min-width:31px!important;
  height:31px!important;
  margin:0!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:var(--olx-red-800)!important;
  box-shadow:none!important;
}
html body .openlib_account_cluster .openlib_color_mode_toggle:hover,
html body .openlib_account_cluster .openlib_color_mode_toggle:focus{
  background:#fff0f2!important;
  color:var(--olx-red-950)!important;
}
html body .openlib_account_cluster .openlib_color_mode_toggle:after{
  position:absolute!important;
  right:-2px!important;
  width:1px!important;
  height:18px!important;
  content:""!important;
  background:#efc1c5!important;
}
html body .openlib_account_cluster .openlib_auth_switch{
  height:31px!important;
  padding:0!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
html body .openlib_account_cluster .openlib_auth_switch__item{
  height:31px!important;
  min-height:31px!important;
  padding:0 14px!important;
  border-radius:9px!important;
}
html[data-openlib-color-mode="dark"] body .openlib_account_cluster{
  border-color:rgba(255,255,255,.62)!important;
  background:rgba(255,255,255,.96)!important;
}

/* Header/footer horizontal separators use a technical dashed rail. */
html body .openlib_site_header__utility,
html body .openlib_journal_header__utility{
  border-bottom:1px dashed rgba(255,255,255,.46)!important;
}
html body .openlib_site_header__main,
html body.openlib-journal-page .openlib_journal_header__navrow{
  border-bottom:1px dashed #e5a4aa!important;
}
html body .pkp_structure_footer_wrapper.openlib_site_footer,
html body .pkp_structure_footer_wrapper.openlib_journal_footer_global{
  border-top:1px dashed rgba(255,255,255,.58)!important;
}

/* Browse heading and card split rails: dashed and lighter, rather than hard lines. */
html body.openlib-site-index .openlib_journal_tools{
  border-bottom:1px dashed #dfa5ab!important;
}
html body.openlib-site-index .openlib_journal_footer{
  border-top:1px dashed #e4b6bb!important;
}

/* Futuristic segmented top accent on publication cards. */
html body.openlib-site-index .openlib_journal_card:before{
  height:3px!important;
  background:repeating-linear-gradient(90deg,
    var(--olx-red-950) 0 20px,
    transparent 20px 26px,
    var(--olx-red-600) 26px 48px,
    transparent 48px 54px,
    #fb7185 54px 72px,
    transparent 72px 79px)!important;
}

/* Publication filter: one clean input, icon aligned, no nested-box look. */
html body.openlib-site-index .openlib_journal_filter{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:290px!important;
  min-width:290px!important;
  height:48px!important;
  padding:4px 7px 4px 12px!important;
  overflow:hidden!important;
  border:1px solid #df9da4!important;
  border-radius:14px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
html body.openlib-site-index .openlib_journal_filter > .fa{
  display:grid!important;
  place-items:center!important;
  width:22px!important;
  min-width:22px!important;
  height:22px!important;
  border:0!important;
  background:transparent!important;
  color:var(--olx-red-700)!important;
  line-height:1!important;
}
html body.openlib-site-index .openlib_journal_filter input{
  flex:1 1 auto!important;
  width:auto!important;
  height:38px!important;
  padding:0 11px!important;
  border:0!important;
  border-radius:9px!important;
  background:#fff!important;
}

/* Normalize small icons so they do not sit too high/low against labels. */
html body .openlib_journal_actions a,
html body .openlib_journal_search,
html body .openlib_back_publications,
html body .openlib_search_form__submit,
html body.openlib-site-index .openlib_discovery__form > button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
html body .openlib_journal_actions a .fa,
html body .openlib_journal_search .fa,
html body .openlib_back_publications .fa,
html body .openlib_search_form__submit .fa,
html body.openlib-site-index .openlib_discovery__form > button .fa{
  display:inline-grid!important;
  place-items:center!important;
  width:16px!important;
  min-width:16px!important;
  height:16px!important;
  margin:0!important;
  line-height:1!important;
  vertical-align:middle!important;
}

/* Home and Current are intentionally equal-weight actions. */
html body.openlib-site-index .openlib_journal_actions .home a,
html body.openlib-site-index .openlib_journal_actions .current a{
  gap:8px!important;
  border:1px solid #dfa1a7!important;
  background:linear-gradient(180deg,#fff,#fff5f6)!important;
  color:var(--olx-red-800)!important;
  box-shadow:0 4px 12px rgba(93,20,27,.045)!important;
}
html body.openlib-site-index .openlib_journal_actions .home a:hover,
html body.openlib-site-index .openlib_journal_actions .home a:focus,
html body.openlib-site-index .openlib_journal_actions .current a:hover,
html body.openlib-site-index .openlib_journal_actions .current a:focus{
  border-color:var(--olx-red-700)!important;
  background:linear-gradient(135deg,#b51923,#dc2932)!important;
  color:#fff!important;
  text-decoration:none!important;
}

/* Journal navigation gets the same technical dashed lower rail. */
html body.openlib-journal-page .openlib_journal_header__navrow{
  border-bottom:1px dashed #dda3a9!important;
}

/* Content-panel separators use dashed rails, while keeping cards soft. */
html body.openlib-journal-page .openlib_current_issue_panel,
html body.openlib-journal-page .openlib_additional_content_panel,
html body .openlib_search_results_header{
  border-color:#ead8db!important;
}
html body .openlib_search_results_header{
  border-bottom:1px dashed #dfa9af!important;
}

/* On dark mode retain the red identity while cards remain readable. */
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_filter{
  border-color:#8f4b52!important;
  background:#171b24!important;
}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_filter input{
  background:#171b24!important;
  color:#f5f7fb!important;
}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_actions .home a,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_actions .current a{
  border-color:#7d4047!important;
  background:linear-gradient(180deg,#202530,#181d27)!important;
  color:#ffd9dd!important;
}

@media (max-width:1024px){
  html body.openlib-site-index.openlib-search-is-fixed .openlib_search_panel--primary{
    width:calc(100vw - 40px)!important;
    max-width:calc(100vw - 40px)!important;
  }
}

@media (max-width:767px){
  html body .openlib_account_cluster{min-height:36px!important;border-radius:13px!important;}
  html body .openlib_account_cluster .openlib_auth_switch__item{padding:0 10px!important;font-size:11px!important;}
  html body.openlib-site-index.openlib-search-is-fixed .openlib_search_panel--primary{
    left:50%!important;
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
    transform:translateX(-50%)!important;
  }
  html body.openlib-site-index .openlib_journal_filter{width:100%!important;min-width:0!important;}
}
html body .openlib_account_cluster .openlib_color_mode_toggle{position:relative!important;}

/* ========================================================================== 
   0828 v20 definitive polish
   Structural fixes for sticky search, unified account capsule, icon alignment,
   filter spacing, equal journal actions, and a stronger technical-red identity.
   ========================================================================== */

/* --- One unified control: mode + Login + Register ------------------------- */
html body .openlib_site_header__utility .openlib_account_cluster,
html body .openlib_journal_header__utility .openlib_account_cluster,
html[data-openlib-color-mode="dark"] body .openlib_site_header__utility .openlib_account_cluster,
html[data-openlib-color-mode="dark"] body .openlib_journal_header__utility .openlib_account_cluster{
  display:inline-flex!important;
  align-items:stretch!important;
  gap:0!important;
  min-height:38px!important;
  padding:3px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(67,7,13,.16)!important;
}
html body .openlib_site_header__utility .openlib_account_cluster--guest .openlib_color_mode_toggle,
html body .openlib_journal_header__utility .openlib_account_cluster--guest .openlib_color_mode_toggle{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  min-width:34px!important;
  height:32px!important;
  min-height:32px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:9px 0 0 9px!important;
  background:#fff4f5!important;
  color:#a61520!important;
  box-shadow:none!important;
}
html body .openlib_site_header__utility .openlib_account_cluster--guest .openlib_color_mode_toggle:after,
html body .openlib_journal_header__utility .openlib_account_cluster--guest .openlib_color_mode_toggle:after{
  right:0!important;
  top:7px!important;
  width:1px!important;
  height:18px!important;
  background:#efc2c6!important;
}
html body .openlib_site_header__utility .openlib_account_cluster--guest > .openlib_auth_switch__item,
html body .openlib_journal_header__utility .openlib_account_cluster--guest > .openlib_auth_switch__item{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:32px!important;
  min-height:32px!important;
  margin:0!important;
  padding:0 15px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#8f1720!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:800!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
html body .openlib_site_header__utility .openlib_account_cluster--guest > .openlib_auth_switch__item--register,
html body .openlib_journal_header__utility .openlib_account_cluster--guest > .openlib_auth_switch__item--register{
  margin-left:2px!important;
  border-radius:9px!important;
  background:linear-gradient(135deg,#c91f2a,#e42c36)!important;
  color:#fff!important;
  box-shadow:0 4px 10px rgba(185,25,36,.19)!important;
}
html body .openlib_site_header__utility .openlib_account_cluster--guest > .openlib_auth_switch__item--login:hover,
html body .openlib_journal_header__utility .openlib_account_cluster--guest > .openlib_auth_switch__item--login:hover{
  background:#fff5f6!important;
  color:#761119!important;
}
html body .openlib_site_header__utility .openlib_account_cluster--guest > .openlib_auth_switch__item--register:hover,
html body .openlib_journal_header__utility .openlib_account_cluster--guest > .openlib_auth_switch__item--register:hover{
  background:linear-gradient(135deg,#aa151f,#cf202b)!important;
  color:#fff!important;
}
html body .openlib_account_cluster--guest > .openlib_auth_switch__item.is-active{
  font-weight:900!important;
}

/* --- Futuristic brand mark: data rails instead of book/document icon ------- */
html body .openlib_site_brand__mark--signal{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:4px!important;
  width:38px!important;
  height:38px!important;
  padding:0 9px!important;
  overflow:hidden!important;
  border-radius:11px!important;
  background:linear-gradient(145deg,#b61520,#e82f39)!important;
  box-shadow:0 8px 18px rgba(185,24,34,.20)!important;
}
html body .openlib_site_brand__mark--signal:before{
  position:absolute!important;
  right:7px!important;
  top:7px!important;
  width:4px!important;
  height:4px!important;
  content:""!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:-8px 8px 0 rgba(255,255,255,.70),-15px 16px 0 rgba(255,255,255,.45)!important;
}
html body .openlib_site_brand__mark--signal > span{
  display:block!important;
  height:2px!important;
  border-radius:3px!important;
  background:#fff!important;
}
html body .openlib_site_brand__mark--signal > span:nth-child(1){width:15px!important;}
html body .openlib_site_brand__mark--signal > span:nth-child(2){width:12px!important;opacity:.86!important;}
html body .openlib_site_brand__mark--signal > span:nth-child(3){width:8px!important;opacity:.68!important;}

/* --- Search: normal and floating are visually identical ------------------- */
html body.openlib-site-index .openlib_search_panel--primary,
html body.openlib-site-index.openlib-search-is-fixed .openlib_search_panel--primary{
  padding:12px!important;
  border:1px solid #bf2832!important;
  border-radius:18px!important;
  background:
    repeating-linear-gradient(132deg,rgba(255,255,255,.055) 0 1px,transparent 1px 22px),
    linear-gradient(105deg,#8f1019 0%,#c51e29 52%,#e53c46 100%)!important;
  box-shadow:0 16px 34px rgba(101,12,19,.18)!important;
}
html body.openlib-site-index.openlib-search-is-fixed .openlib_search_panel--primary{
  z-index:1200!important;
}
html body.openlib-site-index .openlib_discovery__form,
html body.openlib-site-index.openlib-search-is-fixed .openlib_discovery__form{
  grid-template-columns:minmax(0,1fr) 220px 166px!important;
  gap:10px!important;
}
html body.openlib-site-index .openlib_discovery__query{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  align-items:center!important;
  height:52px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.70)!important;
  border-radius:13px!important;
  background:#fff!important;
}
html body.openlib-site-index .openlib_discovery__query > span.fa{
  position:static!important;
  display:grid!important;
  place-items:center!important;
  width:30px!important;
  min-width:30px!important;
  height:30px!important;
  margin:0 0 0 9px!important;
  border-radius:9px!important;
  background:#fff0f2!important;
  color:#c8202b!important;
  font-size:13px!important;
  line-height:1!important;
}
html body.openlib-site-index .openlib_discovery__query input[type="search"]{
  height:50px!important;
  padding:0 16px 0 4px!important;
  font-size:14px!important;
  line-height:50px!important;
}
html body.openlib-site-index .openlib_discovery__form > select{
  height:52px!important;
  padding:0 42px 0 16px!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:13px!important;
  background-color:#fff!important;
}
html body.openlib-site-index .openlib_discovery__form > button{
  height:52px!important;
  gap:9px!important;
  border:1px solid rgba(255,255,255,.76)!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#a91721!important;
}
html body.openlib-site-index .openlib_discovery__form > button > .fa{
  display:grid!important;
  place-items:center!important;
  width:26px!important;
  height:26px!important;
  margin:0!important;
  border-radius:8px!important;
  background:#fff1f2!important;
  color:#c51d28!important;
  line-height:1!important;
}

/* --- Publication filter: no clipped icon, no inner collision -------------- */
html body.openlib-site-index .openlib_journal_filter{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:8px!important;
  width:292px!important;
  min-width:292px!important;
  height:48px!important;
  padding:5px 8px!important;
  overflow:hidden!important;
  border:1px solid #e0a0a6!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 7px 18px rgba(104,18,25,.05)!important;
}
html body.openlib-site-index .openlib_journal_filter > span.fa{
  position:static!important;
  display:grid!important;
  place-items:center!important;
  width:30px!important;
  min-width:30px!important;
  height:30px!important;
  margin:0!important;
  border:0!important;
  border-radius:9px!important;
  background:#fff0f2!important;
  color:#c6202a!important;
  font-size:12px!important;
  line-height:1!important;
}
html body.openlib-site-index .openlib_journal_filter input{
  width:100%!important;
  min-width:0!important;
  height:36px!important;
  margin:0!important;
  padding:0 10px 0 2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
  color:#334155!important;
  font-size:13px!important;
}

/* --- Equal visual weight for Home and Current ------------------------------ */
html body.openlib-site-index .openlib_journal_actions .home a,
html body.openlib-site-index .openlib_journal_actions .current a{
  gap:8px!important;
  border:1px solid #cf2631!important;
  background:linear-gradient(135deg,#c51f2a,#df3039)!important;
  color:#fff!important;
  box-shadow:0 7px 14px rgba(137,19,28,.10)!important;
}
html body.openlib-site-index .openlib_journal_actions .home a:hover,
html body.openlib-site-index .openlib_journal_actions .current a:hover{
  border-color:#9f121b!important;
  background:linear-gradient(135deg,#a9141e,#c8202b)!important;
  color:#fff!important;
}

/* --- Technical separators: clearly dashed, still minimal ------------------ */
html body.openlib-site-index .openlib_journal_tools,
html body.openlib-site-index .openlib_journal_footer,
html body.openlib-journal-page .openlib_journal_header__navrow,
html body .openlib_search_results_header{
  border-style:dashed!important;
}

/* Dark mode keeps the same red system; content fields remain legible. */
html[data-openlib-color-mode="dark"] body .openlib_site_header__utility .openlib_account_cluster--guest,
html[data-openlib-color-mode="dark"] body .openlib_journal_header__utility .openlib_account_cluster--guest{
  background:#fff!important;
}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_discovery__query,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_discovery__form > select,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_discovery__form > button{
  border-color:#7e343b!important;
  background:#191d26!important;
  color:#f7f8fb!important;
}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_discovery__query > span.fa,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_discovery__form > button > .fa{
  background:#351a20!important;
  color:#ffb4bb!important;
}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_discovery__query input[type="search"]{
  background:#191d26!important;
  color:#f7f8fb!important;
}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_filter{
  border-color:#774049!important;
  background:#191d26!important;
}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_filter > span.fa{
  background:#351a20!important;
  color:#ffb4bb!important;
}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_filter input{
  color:#f4f6fa!important;
}

@media (max-width:1024px){
  html body.openlib-site-index .openlib_discovery__form,
  html body.openlib-site-index.openlib-search-is-fixed .openlib_discovery__form{
    grid-template-columns:minmax(0,1fr) 190px 150px!important;
  }
}
@media (max-width:767px){
  html body.openlib-site-index .openlib_discovery__form,
  html body.openlib-site-index.openlib-search-is-fixed .openlib_discovery__form{
    grid-template-columns:1fr!important;
  }
  html body.openlib-site-index .openlib_journal_filter{
    width:100%!important;
    min-width:0!important;
  }
  html body .openlib_site_header__utility .openlib_account_cluster--guest > .openlib_auth_switch__item,
  html body .openlib_journal_header__utility .openlib_account_cluster--guest > .openlib_auth_switch__item{
    padding:0 11px!important;
  }
}
