/* ==========================================================================
   MWALIB53 THEME STYLESHEET
   Engine  : Bootstrap 5.3.8
   Prefix  : .mwalib53-*
   Font    : system font stack
   ========================================================================== */


/* ==========================================================================
   01. TOKENS
   ========================================================================== */
:root {
  --mwalib53-blue: #0D5EF4;
  --mwalib53-blue-700: #0A47BD;
  --mwalib53-blue-50: #EAF1FF;
  --mwalib53-navy: #0A2A6B;
  --mwalib53-navy-900: #071B47;
  --mwalib53-red: #E5484D;
  --mwalib53-amber: #E8890C;
  --mwalib53-green: #0F9D58;
  --mwalib53-ink: #0F1B33;
  --mwalib53-muted: #5B6780;
  --mwalib53-line: #E3E9F4;
  --mwalib53-bg: #F5F8FF;
  --mwalib53-mono: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;

  --bs-primary: #0D5EF4;
  --bs-primary-rgb: 13, 94, 244;
  --bs-body-color: #0F1B33;
  --bs-body-bg: #F5F8FF;
  --bs-body-font-size: 0.95rem;
  --bs-body-line-height: 1.65;
  --bs-heading-color: #0F1B33;
  --bs-border-color: #E3E9F4;
  --bs-border-radius: 6px;
  --bs-border-radius-sm: 4px;
  --bs-border-radius-lg: 8px;
  --bs-link-color: #0D5EF4;
  --bs-link-color-rgb: 13, 94, 244;
  --bs-link-hover-color: #0A47BD;
  --bs-link-hover-color-rgb: 10, 71, 189;
  --bs-secondary-color: #5B6780;
}


/* ==========================================================================
   02. BASE
   ========================================================================== */
body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
h1, h2, h3, h4, h5, h6 { font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; }
a { text-decoration: none; }
a:not([class]):hover { text-decoration: underline; }
:focus-visible { outline: 3px solid rgba(13, 94, 244, 0.45); outline-offset: 2px; }
img { max-width: 100%; height: auto; }
[hidden] { display: none !important; }
.mwalib53-skip { position: absolute; left: -999px; top: 8px; z-index: 2000; padding: 8px 14px; color: #fff; background: var(--mwalib53-blue); border-radius: 6px; }
.mwalib53-skip:focus { left: 8px; color: #fff; }


/* ==========================================================================
   03. BOOTSTRAP OVERRIDES
   ========================================================================== */
.btn { font-weight: 600; font-size: 0.9rem; }
.btn:hover, .nav-link:hover, .dropdown-item:hover { text-decoration: none; }
.btn-primary { --bs-btn-bg: #0D5EF4; --bs-btn-border-color: #0D5EF4; --bs-btn-hover-bg: #0A47BD; --bs-btn-hover-border-color: #0A47BD; --bs-btn-active-bg: #083a9a; --bs-btn-active-border-color: #083a9a; --bs-btn-disabled-bg: #0D5EF4; --bs-btn-disabled-border-color: #0D5EF4; }
.btn-outline-primary { --bs-btn-color: #0D5EF4; --bs-btn-border-color: #0D5EF4; --bs-btn-hover-bg: #0D5EF4; --bs-btn-hover-border-color: #0D5EF4; --bs-btn-active-bg: #0A47BD; --bs-btn-active-border-color: #0A47BD; }
.btn-navy { --bs-btn-color: #fff; --bs-btn-bg: #0A2A6B; --bs-btn-border-color: #0A2A6B; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #071B47; --bs-btn-hover-border-color: #071B47; --bs-btn-active-color: #fff; --bs-btn-active-bg: #071B47; --bs-btn-active-border-color: #071B47; }
.btn, .card, .dropdown-menu, .form-control, .form-select, .navbar, .nav-link, .badge { box-shadow: none !important; }
.form-control:focus, .form-select:focus { border-color: var(--mwalib53-blue); outline: 3px solid rgba(13, 94, 244, 0.25); }
.card { --bs-card-border-color: #E3E9F4; --bs-card-border-radius: 8px; --bs-card-cap-bg: #fff; --bs-card-bg: #fff; }
.dropdown-menu { --bs-dropdown-border-color: #E3E9F4; --bs-dropdown-border-radius: 8px; --bs-dropdown-padding-y: 0.35rem; --bs-dropdown-font-size: 0.88rem; --bs-dropdown-link-color: #0F1B33; --bs-dropdown-link-hover-bg: #EAF1FF; --bs-dropdown-link-hover-color: #0D5EF4; --bs-dropdown-link-active-bg: #0D5EF4; min-width: 230px; }
.dropdown-item { display: flex; align-items: center; gap: 0.6rem; padding: 0.45rem 0.85rem; font-weight: 500; border-radius: 4px; }
.dropdown-item .bi { color: var(--mwalib53-blue); }
.dropdown-item.active .bi, .dropdown-item:active .bi { color: #fff; }
.dropdown-divider { border-top-color: var(--mwalib53-line); }
.dropdown-header { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mwalib53-muted); }


/* ==========================================================================
   04. UTILITIES
   ========================================================================== */
.mwalib53-mono { font-family: var(--mwalib53-mono); }
.mwalib53-date { font-family: var(--mwalib53-mono); font-size: 0.78rem; font-weight: 500; color: var(--mwalib53-muted); }
.mwalib53-tag { display: inline-block; padding: 3px 8px; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mwalib53-blue-700); background: var(--mwalib53-blue-50); border-radius: 4px; }
.mwalib53-tag-amber { color: #9A5A00; background: #FFF3DD; }
.mwalib53-tag-plain { color: var(--mwalib53-ink); background: #fff; border: 1px solid var(--mwalib53-line); }
.mwalib53-more { display: inline-flex; align-items: center; gap: 5px; font-size: 0.82rem; font-weight: 600; }
.mwalib53-ico { flex-shrink: 0; line-height: 1; }
.mwalib53-nav-link .mwalib53-ico { margin-right: 0.45rem; font-size: 1rem; color: var(--mwalib53-blue); }
.mwalib53-topbar .btn .mwalib53-ico { margin-right: 0.4rem; }
.mwalib53-footer li a .mwalib53-ico { opacity: 0.8; }
.mwalib53-more .mwalib53-ico { margin-right: 0; order: 2; }
.mwalib53-cover-ph { display: grid; place-items: center; width: 100%; aspect-ratio: 5 / 7; padding: 8px; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em; text-align: center; color: #fff; background: var(--mwalib53-navy); border-radius: 2px; }
.btn, .nav-link, .dropdown-item, .mwalib53-quick a, .mwalib53-contact a, .mwalib53-rss a, .mwalib53-tpl a, .mwalib53-index a, .mwalib53-lang a, .mwalib53-social a, .mwalib53-ann-item strong { transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease; }


/* ==========================================================================
   05. SHARED COMPONENTS
   ========================================================================== */
.mwalib53-num { --cols: 3; display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); gap: 0.75rem; margin: 0 0 0.6rem; padding: 0; list-style: none; }
.mwalib53-num--2 { --cols: 2; }
.mwalib53-num--4 { --cols: 4; }
.mwalib53-num li { padding: 0.8rem 0.5rem; text-align: center; background: var(--mwalib53-bg); border: 1px solid var(--mwalib53-line); border-radius: 8px; }
.mwalib53-num b { display: block; font-size: 1.5rem; line-height: 1.2; color: var(--mwalib53-blue); font-variant-numeric: tabular-nums; }
.mwalib53-num span { font-size: 0.8rem; color: var(--mwalib53-muted); }
.mwalib53-note { margin: 0.75rem 0 0; font-size: 0.78rem; font-style: italic; color: var(--mwalib53-muted); }

.mwalib53-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 1rem 0 0; padding: 0; border-top: 2px solid var(--mwalib53-blue); }
.mwalib53-meta--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mwalib53-meta > div { min-width: 0; margin: 0; padding: 0.6rem 0.9rem 0.6rem 0; }
.mwalib53-meta > div:not(.is-wide) + div:not(.is-wide) { padding-left: 0.9rem; border-left: 1px solid var(--mwalib53-line); }
.mwalib53-meta > div.is-wide { grid-column: 1 / -1; padding-right: 0; border-bottom: 1px solid var(--mwalib53-line); }
.mwalib53-meta > div.is-wide:last-child { border-bottom: 0; }
.mwalib53-meta dt { margin: 0 0 2px; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--mwalib53-muted); }
.mwalib53-meta dt::after { content: ":"; }
.mwalib53-meta dd { margin: 0; font-size: 0.85rem; font-weight: 550; overflow-wrap: anywhere; }

.mwalib53-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.mwalib53-chips a { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.3rem 0.8rem; font-size: 0.85rem; font-weight: 600; color: var(--mwalib53-ink); background: #fff; border: 1px solid var(--mwalib53-line); border-radius: 999px; }
.mwalib53-chips a:hover { color: var(--mwalib53-blue); border-color: var(--mwalib53-blue); background: var(--mwalib53-bg); }
.mwalib53-chips img { width: 18px; height: 18px; object-fit: contain; }
.mwalib53-kw { gap: 0.4rem; }
.mwalib53-kw a { padding: 0.2rem 0.65rem; font-size: 0.8rem; }

.mwalib53-gbtn { display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem; padding: 0.4rem 0.9rem; font-size: 0.85rem; font-weight: 600; line-height: 1.4; color: #fff; background: var(--mwalib53-blue); border: 1px solid var(--mwalib53-blue); border-radius: 6px; cursor: pointer; text-decoration: none; transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease; }
.mwalib53-gbtn:hover { color: #fff; background: var(--mwalib53-blue-700); border-color: var(--mwalib53-blue-700); text-decoration: none; }
.mwalib53-gbtn--alt { color: var(--mwalib53-blue); background: #fff; }
.mwalib53-gbtn--alt:hover { color: var(--mwalib53-blue-700); background: var(--mwalib53-blue-50); border-color: var(--mwalib53-blue); }
.mwalib53-gbtn.dropdown-toggle::after { margin-left: 0.2rem; }
.mwalib53-gbtn.is-done { color: #fff; background: var(--mwalib53-green); border-color: var(--mwalib53-green); }

.mwalib53-tgl { display: inline-flex; align-items: center; gap: 4px; margin: 0.5rem 0 0; padding: 0; font: inherit; font-size: 0.82rem; font-weight: 600; color: var(--mwalib53-blue); background: none; border: 0; cursor: pointer; }
.mwalib53-tgl:hover { text-decoration: underline; }
.mwalib53-tgl[hidden] { display: none; }

.mwalib53-prose { font-size: 0.92rem; line-height: 1.85; color: var(--mwalib53-ink); }
.mwalib53-prose p { margin: 0 0 0.9rem; text-align: justify; hyphens: auto; }
.mwalib53-prose p:last-child { margin-bottom: 0; }
.mwalib53-prose.is-clamped p { display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }

.mwalib53-citetext { margin: 0 0 0.8rem; padding: 0.8rem 1rem; font-size: 0.88rem; line-height: 1.65; color: var(--mwalib53-ink); background: var(--mwalib53-bg); border-left: 3px solid var(--mwalib53-blue); border-radius: 4px; overflow-wrap: anywhere; }
.mwalib53-citebar { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.mwalib53-menu { max-height: min(260px, 60vh); overflow-y: auto; font-size: 0.88rem; }

.mwalib53-share { display: flex; flex-wrap: wrap; gap: 6px; }
.mwalib53-sbtn { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; color: var(--mwalib53-blue); background: var(--mwalib53-blue-50); border: 1px solid var(--mwalib53-line); border-radius: 6px; cursor: pointer; transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease; }
.mwalib53-sbtn:hover { color: #fff; background: var(--mwalib53-blue); border-color: var(--mwalib53-blue); text-decoration: none; }
.mwalib53-sbtn.is-done { color: #fff; background: var(--mwalib53-green); border-color: var(--mwalib53-green); }

.mwalib53-toast { position: fixed; left: 50%; bottom: 24px; z-index: 1100; display: block; max-width: calc(100% - 30px); padding: 10px 16px; font-size: 0.82rem; text-align: center; color: #fff; background: var(--mwalib53-navy); border-radius: 6px; opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%, 8px); transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease; }
.mwalib53-toast[hidden] { display: block !important; }
.mwalib53-toast.is-show { opacity: 1; visibility: visible; transform: translate(-50%, 0); }

.mwalib53-explore { margin: 0; padding: 0; list-style: none; }
.mwalib53-explore li + li { border-top: 1px solid var(--mwalib53-line); }
.mwalib53-explore a { display: flex; align-items: center; gap: 0.7rem; padding: 0.7rem 1rem; font-size: 0.85rem; font-weight: 600; color: var(--mwalib53-ink); text-decoration: none; transition: color 0.15s ease, background-color 0.15s ease; }
.mwalib53-explore a:hover { color: var(--mwalib53-blue); background: var(--mwalib53-blue-50); text-decoration: none; }
.mwalib53-explore a img { flex: 0 0 auto; width: 18px; height: 18px; object-fit: contain; }
.mwalib53-explore a::after { content: "\F138"; margin-left: auto; font-family: "bootstrap-icons"; font-size: 0.7rem; color: var(--mwalib53-muted); }

.mwalib53-asub { margin: 1.1rem 0 0.7rem; font-size: 0.9rem; font-weight: 700; color: var(--mwalib53-ink); }
.mwalib53-prov + .mwalib53-prov { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--mwalib53-line); }
.mwalib53-mtitle { margin: 0 0 0.15rem; font-size: 0.9rem; font-weight: 700; color: var(--mwalib53-ink); }
.mwalib53-mdesc { margin: 0 0 0.6rem; font-size: 0.8rem; color: var(--mwalib53-muted); }
.mwalib53-plug { max-width: 100%; overflow: hidden; }
.mwalib53-plug:empty { display: none; }
.mwalib53-plug iframe, .mwalib53-plug img, .mwalib53-plug table { max-width: 100%; }
.mwalib53-chart canvas, .mwalib53-chart svg { max-width: 100% !important; height: auto !important; }
.mwalib53-plug-ph { display: block; padding: 0.8rem; font-size: 0.8rem; text-align: center; color: var(--mwalib53-muted); border: 1px dashed var(--mwalib53-line); border-radius: 8px; }
.mwalib53-chart .mwalib53-plug-ph { padding: 2.2rem 0.8rem; }


/* ==========================================================================
   06. SHARED LISTS
   ========================================================================== */
.mwalib53-art { padding: 1.25rem 0; border-bottom: 1px solid var(--mwalib53-line); }
.mwalib53-art:first-child { padding-top: 0; }
.mwalib53-art:last-child { padding-bottom: 0; border-bottom: 0; }
.mwalib53-art-top { display: flex; align-items: center; gap: 12px; margin-bottom: 0.5rem; }
.mwalib53-art-title { margin: 0 0 0.45rem; font-size: 1.1rem; line-height: 1.4; }
.mwalib53-art-title a { color: var(--mwalib53-ink); }
.mwalib53-art-title a:hover { color: var(--mwalib53-blue); }
.mwalib53-art-authors { margin: 0 0 2px; font-size: 0.9rem; font-weight: 600; }
.mwalib53-art-aff { margin: 0 0 0.6rem; font-size: 0.8rem; color: var(--mwalib53-muted); }
.mwalib53-art-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem 1.1rem; margin-bottom: 0.8rem; font-family: var(--mwalib53-mono); font-size: 0.76rem; color: var(--mwalib53-muted); }
.mwalib53-art-meta .bi { margin-right: 5px; }
.mwalib53-art-meta b { color: var(--mwalib53-ink); }
.mwalib53-art-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; }

.mwalib53-affs { margin: 0 0 0.75rem; font-size: 0.85rem; }
.mwalib53-affs summary { display: inline-block; cursor: pointer; font-weight: 600; color: var(--mwalib53-blue); list-style: none; }
.mwalib53-affs summary::-webkit-details-marker { display: none; }
.mwalib53-affs summary::before { content: "+ "; }
.mwalib53-affs[open] summary::before { content: "− "; }
.mwalib53-affs summary:hover { text-decoration: underline; }
.mwalib53-affs ol { margin: 0.5rem 0 0; padding-left: 1.25rem; color: var(--mwalib53-muted); }

.mwalib53-cites { display: flex; align-items: center; gap: 6px; }
.mwalib53-cite { display: grid; place-items: center; width: 32px; height: 32px; padding: 5px; background: #fff; border: 1px solid var(--mwalib53-line); border-radius: 6px; transition: border-color 0.15s ease; }
.mwalib53-cite:hover { border-color: var(--mwalib53-blue); }
.mwalib53-cite img { display: block; width: 100%; height: 100%; object-fit: contain; }

.mwalib53-ann-list { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.mwalib53-ann-item { display: grid; grid-template-columns: 52px 1fr; gap: 14px; padding: 0.85rem 0; color: var(--mwalib53-ink); border-bottom: 1px solid var(--mwalib53-line); }
.mwalib53-ann-item:first-child { padding-top: 0; }
.mwalib53-ann-item:last-child { padding-bottom: 0; border-bottom: 0; }
.mwalib53-ann-item:hover { color: var(--mwalib53-ink); text-decoration: none; }
.mwalib53-ann-item:hover strong { color: var(--mwalib53-blue); }
.mwalib53-ann-day { display: grid; place-items: center; width: 52px; height: 52px; text-align: center; font-size: 0.66rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.1; text-transform: uppercase; color: var(--mwalib53-blue); background: var(--mwalib53-blue-50); border-radius: 6px; }
.mwalib53-ann-day b { display: block; font-size: 1.15rem; letter-spacing: 0; }
.mwalib53-ann-item strong { display: block; font-size: 0.92rem; line-height: 1.35; }
.mwalib53-ann-item p { display: -webkit-box; margin: 2px 0 0; font-size: 0.82rem; color: var(--mwalib53-muted); -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.mwalib53-ann-body { margin-bottom: 0.8rem; font-size: 0.92rem; color: var(--mwalib53-muted); }
.mwalib53-ann-body > :last-child { margin-bottom: 0; }
.mwalib53-ann-body p { margin: 0 0 0.7rem; }
.mwalib53-ann-body img { display: block; max-width: 100%; height: auto; margin: 0.8rem 0; border-radius: 8px; }
.mwalib53-ann-figure { margin: 0.8rem 0; }
.mwalib53-ann-figure img { margin: 0; }
.mwalib53-ann-figure figcaption { margin-top: 0.4rem; font-size: 0.78rem; text-align: center; color: var(--mwalib53-muted); }

/* ==========================================================================
   07. TOPBAR
   ========================================================================== */
.mwalib53-topbar { position: relative; z-index: 1040; padding: 0.45rem 0; font-size: 0.8rem; color: #C9D6F2; background: var(--mwalib53-navy-900); }
.mwalib53-topbar a:not(.btn):not(.dropdown-item) { color: #C9D6F2; }
.mwalib53-topbar a:not(.btn):not(.dropdown-item):hover { color: #fff; text-decoration: none; }
.mwalib53-topbar-item { display: inline-flex; align-items: center; gap: 6px; }
.mwalib53-topbar-sep { display: inline-block; width: 1px; height: 12px; margin: 0 14px; background: rgba(255, 255, 255, 0.2); }
.mwalib53-social { display: flex; gap: 6px; margin: 0; padding: 0; list-style: none; }
.mwalib53-social a { display: grid; place-items: center; width: 26px; height: 26px; font-size: 0.78rem; background: rgba(255, 255, 255, 0.08); border-radius: 50%; }
.mwalib53-social a:hover { background: var(--mwalib53-blue); }
.mwalib53-topbar .btn-login { --bs-btn-color: #fff; --bs-btn-bg: rgba(255, 255, 255, 0.1); --bs-btn-border-color: transparent; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--mwalib53-blue); --bs-btn-hover-border-color: transparent; --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--mwalib53-blue); --bs-btn-active-border-color: transparent; --bs-btn-padding-y: 0.2rem; --bs-btn-padding-x: 0.65rem; --bs-btn-font-size: 0.8rem; }
.mwalib53-topbar .btn-register { --bs-btn-color: #fff; --bs-btn-bg: var(--mwalib53-blue); --bs-btn-border-color: var(--mwalib53-blue); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--mwalib53-blue-700); --bs-btn-hover-border-color: var(--mwalib53-blue-700); --bs-btn-active-color: #fff; --bs-btn-padding-y: 0.2rem; --bs-btn-padding-x: 0.65rem; --bs-btn-font-size: 0.8rem; }


/* ==========================================================================
   08. HEADER & NAVIGATION
   ========================================================================== */
.mwalib53-header { position: sticky; top: 0; z-index: 1030; background: #fff; border-bottom: 1px solid var(--mwalib53-line); }
.mwalib53-navbar { padding-top: 0; padding-bottom: 0; }
.mwalib53-brand img { display: block; max-height: 54px; width: auto; }
.mwalib53-nav-link { padding: 1.5rem 0.9rem !important; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; white-space: nowrap; color: var(--mwalib53-ink) !important; border-bottom: 2px solid transparent; }
.mwalib53-nav-link:hover, .mwalib53-nav-link:focus, .mwalib53-nav-link.show { color: var(--mwalib53-blue) !important; border-bottom-color: var(--mwalib53-blue); }
.mwalib53-navbar .dropdown-menu { margin-top: 0; border-top: 2px solid var(--mwalib53-blue); border-radius: 0 0 8px 8px; }
.mwalib53-navbar .navbar-toggler { padding: 0.35rem 0.55rem; border-color: var(--mwalib53-line); }
.mwalib53-navbar .navbar-toggler:focus { box-shadow: none; outline: 3px solid rgba(13, 94, 244, 0.25); }

@media (min-width: 992px) {
  .mwalib53-navbar .dropdown:hover > .dropdown-menu { display: block; }
}


/* ==========================================================================
   09. SEARCH PANEL
   ========================================================================== */
.mwalib53-search { padding: 0.9rem 0; background: #fff; border-bottom: 1px solid var(--mwalib53-line); }


/* ==========================================================================
   10. BREADCRUMB
   ========================================================================== */
.mwalib53-crumb,
.mwalib53-crumb-in { --bs-breadcrumb-divider: "\203A"; --bs-breadcrumb-divider-color: var(--mwalib53-muted); --bs-breadcrumb-item-padding-x: 0.5rem; --bs-breadcrumb-item-active-color: var(--mwalib53-muted); display: flex; flex-wrap: wrap; margin: 0 0 1rem; padding: 0; font-size: 0.8rem; background: none; border: 0; }
.mwalib53-crumb .breadcrumb-item a,
.mwalib53-crumb-in .breadcrumb-item a { font-weight: 600; color: var(--mwalib53-blue); }
.mwalib53-crumb .breadcrumb-item a:hover,
.mwalib53-crumb-in .breadcrumb-item a:hover { color: var(--mwalib53-blue-700); text-decoration: underline; }
.mwalib53-crumb .breadcrumb-item.active,
.mwalib53-crumb-in .breadcrumb-item.active { font-weight: 500; color: var(--mwalib53-muted); }


/* ==========================================================================
   11. FOOTER & OJS SLOTS
   ========================================================================== */
.mwalib53-ojs-slots { padding: 0 0 2rem; }
.mwalib53-ojs-slot:empty { display: none; }

.mwalib53-footer { padding: 3.5rem 0 0; font-size: 0.88rem; color: #B9C9EA; background: var(--mwalib53-navy-900); border-top: 3px solid var(--mwalib53-blue); }
.mwalib53-footer h5, .mwalib53-footer h6 { margin-bottom: 0.9rem; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #fff; }
.mwalib53-footer a { color: #B9C9EA; }
.mwalib53-footer a:hover { color: #fff; text-decoration: none; }
.mwalib53-footer ul { margin: 0; padding: 0; list-style: none; }
.mwalib53-footer li { margin-bottom: 0.45rem; }
.mwalib53-footer .bi { margin-right: 0.5rem; }
.mwalib53-footer-logo { display: inline-block; margin-bottom: 0.9rem; padding: 8px 12px; background: #fff; border-radius: 6px; }
.mwalib53-footer-logo img { display: block; height: 42px; width: auto; }
.mwalib53-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1.5rem; margin-top: 2.5rem; padding: 1.1rem 0; font-size: 0.8rem; border-top: 1px solid rgba(255, 255, 255, 0.12); }


/* ==========================================================================
   12. BACK TO TOP
   ========================================================================== */
.mwalib53-totop { position: fixed; right: 20px; bottom: 20px; z-index: 1000; display: grid; place-items: center; width: 42px; height: 42px; color: #fff; background: var(--mwalib53-blue); border: 0; border-radius: 6px; opacity: 0; visibility: hidden; transition: opacity 0.2s ease, visibility 0.2s ease, background-color 0.15s ease; }
.mwalib53-totop.is-show { opacity: 1; visibility: visible; }
.mwalib53-totop:hover { background: var(--mwalib53-blue-700); }


/* ==========================================================================
   13. LAYOUT, BLOCKS & SIDEBAR WIDGETS
   ========================================================================== */
.mwalib53-layout { padding: 2rem 0 4rem; }
.mwalib53-block { margin-bottom: 1.5rem; background: #fff; border: 1px solid var(--mwalib53-line); border-radius: 8px; }
.mwalib53-block-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0.9rem 1.25rem; border-bottom: 1px solid var(--mwalib53-line); }
.mwalib53-block-head .form-control { min-width: 180px; }
.mwalib53-block-title { display: flex; align-items: center; gap: 0.6rem; margin: 0; font-size: 1.1rem; }
.mwalib53-block-title .bi { color: var(--mwalib53-blue); }
.mwalib53-block-body { padding: 1.25rem; }

.mwalib53-aside { position: sticky; top: 90px; }
.mwalib53-widget { margin-bottom: 1.25rem; overflow: hidden; background: #fff; border: 1px solid var(--mwalib53-line); border-radius: 8px; }
.mwalib53-widget-head { display: flex; align-items: center; gap: 0.6rem; margin: 0; padding: 0.75rem 1.1rem; font-size: 0.92rem; font-weight: 700; color: var(--mwalib53-navy); border-bottom: 1px solid var(--mwalib53-line); }
.mwalib53-widget-head .bi { color: var(--mwalib53-blue); }
.mwalib53-widget-body { padding: 1rem 1.1rem; }
.mwalib53-widget .mwalib53-num { margin-bottom: 0; }
.mwalib53-widget .mwalib53-note { margin-top: 1rem; font-style: normal; }

.mwalib53-cover { margin-bottom: 1.25rem; }
.mwalib53-cover-link { display: block; padding: 7px; background: #fff; border: 1px solid var(--mwalib53-line); border-radius: 8px; box-shadow: 0 10px 24px -17px rgba(10, 42, 107, 0.5); }
.mwalib53-cover-link img { display: block; width: 100%; height: auto; border-radius: 3px; }
.mwalib53-cover-link .mwalib53-cover-ph { aspect-ratio: 5 / 7; }
.mwalib53-pdfbtn { display: flex; align-items: center; justify-content: center; gap: 0.45rem; margin-top: 0.75rem; padding: 0.75rem 0.6rem; font-size: 0.85rem; font-weight: 700; color: #fff; background: var(--mwalib53-amber); border-radius: 6px; transition: background-color 0.15s ease; }
.mwalib53-pdfbtn:hover { color: #fff; background: #C97408; text-decoration: none; }
.mwalib53-cover:not(:has(.mwalib53-cover-link)) .mwalib53-pdfbtn { margin-top: 0; }

.mwalib53-quick { margin: 0; padding: 0; list-style: none; }
.mwalib53-quick li + li { border-top: 1px solid var(--mwalib53-line); }
.mwalib53-quick a { display: flex; align-items: center; gap: 0.7rem; padding: 0.65rem 1.1rem; font-size: 0.88rem; font-weight: 500; color: var(--mwalib53-ink); }
.mwalib53-quick a .bi:first-child { color: var(--mwalib53-blue); }
.mwalib53-quick a .bi-chevron-right { margin-left: auto; font-size: 0.7rem; color: var(--mwalib53-muted); }
.mwalib53-quick a:hover { color: var(--mwalib53-blue); background: var(--mwalib53-blue-50); text-decoration: none; }

.mwalib53-index { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.mwalib53-index a { display: grid; place-items: center; height: 58px; padding: 8px; background: #fff; border: 1px solid var(--mwalib53-line); border-radius: 6px; }
.mwalib53-index a:hover { border-color: var(--mwalib53-blue); }
.mwalib53-index img { max-height: 32px; width: auto; object-fit: contain; }

.mwalib53-tpl { display: grid; gap: 8px; }
.mwalib53-tpl a { display: grid; grid-template-columns: 40px 1fr auto; gap: 12px; align-items: center; padding: 0.6rem 0.7rem; color: var(--mwalib53-ink); border: 1px solid var(--mwalib53-line); border-radius: 6px; }
.mwalib53-tpl a:hover { border-color: var(--mwalib53-blue); text-decoration: none; }
.mwalib53-tpl-icon { display: grid; place-items: center; width: 40px; height: 40px; font-size: 1.15rem; color: var(--mwalib53-blue); background: var(--mwalib53-blue-50); border-radius: 6px; }
.mwalib53-tpl-icon-red { color: var(--mwalib53-red); background: #FFE9EA; }
.mwalib53-tpl strong { display: block; font-size: 0.86rem; line-height: 1.3; }
.mwalib53-tpl small { font-size: 0.75rem; color: var(--mwalib53-muted); }
.mwalib53-tpl .bi-download { color: var(--mwalib53-muted); }
.mwalib53-tpl a:hover .bi-download { color: var(--mwalib53-blue); }

.mwalib53-contact { display: grid; gap: 8px; }
.mwalib53-contact a { display: flex; align-items: center; gap: 0.7rem; padding: 0.6rem 0.8rem; font-size: 0.86rem; font-weight: 600; color: var(--mwalib53-ink); border: 1px solid var(--mwalib53-line); border-radius: 6px; }
.mwalib53-contact a:hover { color: var(--mwalib53-blue); border-color: var(--mwalib53-blue); text-decoration: none; }
.mwalib53-contact .bi { color: var(--mwalib53-blue); }
.mwalib53-contact .bi-whatsapp { color: #1A7F4B; }

.mwalib53-cert img { display: block; width: 100%; border: 1px solid var(--mwalib53-line); border-radius: 6px; }
.mwalib53-cert .mwalib53-widget-head .bi { color: var(--mwalib53-amber); }

.mwalib53-rss { display: grid; gap: 8px; }
.mwalib53-rss a { display: flex; align-items: center; gap: 0.7rem; padding: 0.6rem 0.8rem; font-size: 0.84rem; font-weight: 600; color: var(--mwalib53-ink); border: 1px solid var(--mwalib53-line); border-radius: 6px; }
.mwalib53-rss a:hover { color: #B8650A; border-color: var(--mwalib53-amber); background: #FFF8EC; text-decoration: none; }
.mwalib53-rss .bi { color: var(--mwalib53-amber); }

.mwalib53-mini { width: 100%; margin: 0; font-size: 0.86rem; }
.mwalib53-mini td { padding: 0.5rem 0; border-bottom: 1px solid var(--mwalib53-line); }
.mwalib53-mini tr:last-child td { border-bottom: 0; }
.mwalib53-mini td:last-child { text-align: right; font-family: var(--mwalib53-mono); font-weight: 600; }

.mwalib53-lang { display: flex; flex-wrap: wrap; gap: 6px; }
.mwalib53-lang a { padding: 4px 10px; font-size: 0.8rem; font-weight: 600; color: var(--mwalib53-ink); border: 1px solid var(--mwalib53-line); border-radius: 4px; }
.mwalib53-lang a:hover, .mwalib53-lang a.active { color: #fff; background: var(--mwalib53-blue); border-color: var(--mwalib53-blue); text-decoration: none; }

.mwalib53-third { display: grid; place-items: center; min-height: 80px; text-align: center; }


/* ==========================================================================
   14. OJS: FORMS
   ========================================================================== */
.form-label { margin-bottom: 0.35rem; font-size: 0.86rem; font-weight: 600; color: var(--mwalib53-ink); }
.form-control, .form-select { font-size: 0.92rem; }
.form-text { font-size: 0.78rem; }
.form-check-label { font-size: 0.88rem; }
.invalid-feedback { font-size: 0.8rem; }

.mwalib53-formnote { margin: 0 0 1.25rem; font-size: 0.82rem; color: var(--mwalib53-muted); }
.mwalib53-fset { margin: 0 0 1.5rem; padding: 0; border: 0; }
.mwalib53-fset legend { float: none; width: 100%; margin: 0 0 1rem; padding: 0 0 0.6rem; font-size: 1rem; font-weight: 700; color: var(--mwalib53-navy); border-bottom: 1px solid var(--mwalib53-line); }
.mwalib53-req { margin-left: 2px; font-weight: 700; color: var(--mwalib53-red); }
.mwalib53-pw .btn { color: var(--mwalib53-muted); border-color: var(--bs-border-color); }
.mwalib53-pw .btn:hover { color: var(--mwalib53-blue); background: var(--mwalib53-blue-50); }
.mwalib53-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--mwalib53-line); }


/* ==========================================================================
   15. OJS: TABLES
   ========================================================================== */
.mwalib53-tablewrap { margin: 0 0 1rem; overflow-x: auto; background: #fff; border: 1px solid var(--mwalib53-line); border-radius: 8px; }
.mwalib53-tablewrap:last-child { margin-bottom: 0; }
.mwalib53-table, .mwalib53-prose table { width: 100%; margin: 0; font-size: 0.88rem; border-collapse: collapse; }
.mwalib53-prose table { display: block; max-width: 100%; margin: 0 0 1rem; overflow-x: auto; border: 1px solid var(--mwalib53-line); border-radius: 8px; }
.mwalib53-table caption { padding: 0.75rem 0.9rem; font-weight: 700; text-align: left; color: var(--mwalib53-navy); caption-side: top; }
.mwalib53-table th, .mwalib53-prose th { padding: 0.65rem 0.9rem; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-align: left; text-transform: uppercase; white-space: nowrap; color: var(--mwalib53-muted); background: var(--mwalib53-bg); border-bottom: 2px solid var(--mwalib53-line); }
.mwalib53-table td, .mwalib53-prose td { padding: 0.65rem 0.9rem; vertical-align: top; border-bottom: 1px solid var(--mwalib53-line); }
.mwalib53-table tr:last-child td, .mwalib53-prose tr:last-child td { border-bottom: 0; }
.mwalib53-table tbody tr:hover td { background: #FAFCFF; }
.mwalib53-table .is-num { text-align: right; font-family: var(--mwalib53-mono); font-variant-numeric: tabular-nums; white-space: nowrap; }


/* ==========================================================================
   16. OJS: ALERTS & EMPTY STATE
   ========================================================================== */
.alert { --bs-alert-border-radius: 8px; --bs-alert-padding-y: 0.75rem; font-size: 0.88rem; }
.alert .bi { margin-right: 0.4rem; }
.mwalib53-empty, .mwalib53-jempty { padding: 2rem 1rem; text-align: center; color: var(--mwalib53-muted); }
.mwalib53-empty .bi { display: block; margin-bottom: 0.5rem; font-size: 2rem; opacity: 0.5; }


/* ==========================================================================
   17. OJS: PAGINATION
   ========================================================================== */
.mwalib53-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; padding-top: 0.5rem; }
.pagination { --bs-pagination-font-size: 0.85rem; --bs-pagination-padding-x: 0.75rem; --bs-pagination-padding-y: 0.35rem; --bs-pagination-color: var(--mwalib53-blue); --bs-pagination-hover-color: var(--mwalib53-blue-700); --bs-pagination-hover-bg: var(--mwalib53-blue-50); --bs-pagination-hover-border-color: var(--mwalib53-line); --bs-pagination-border-color: var(--mwalib53-line); --bs-pagination-active-bg: var(--mwalib53-blue); --bs-pagination-active-border-color: var(--mwalib53-blue); --bs-pagination-focus-box-shadow: none; --bs-pagination-focus-bg: var(--mwalib53-blue-50); margin: 0; }
.pagination .page-link { font-weight: 600; }


/* ==========================================================================
   18. OJS: RICH CONTENT & ACCORDION
   ========================================================================== */
.mwalib53-prose h2 { margin: 1.6rem 0 0.75rem; font-size: 1.25rem; color: var(--mwalib53-navy); }
.mwalib53-prose h3 { margin: 1.4rem 0 0.65rem; font-size: 1.1rem; color: var(--mwalib53-navy); }
.mwalib53-prose h4 { margin: 1.2rem 0 0.6rem; font-size: 1rem; }
.mwalib53-prose > :first-child { margin-top: 0; }
.mwalib53-prose ul, .mwalib53-prose ol { margin: 0 0 0.9rem; padding-left: 1.5rem; }
.mwalib53-prose li { margin-bottom: 0.3rem; }
.mwalib53-prose blockquote { margin: 0 0 0.9rem; padding: 0.75rem 1rem; color: var(--mwalib53-muted); background: var(--mwalib53-bg); border-left: 3px solid var(--mwalib53-blue); border-radius: 4px; }
.mwalib53-prose img { display: block; max-width: 100%; height: auto; margin: 0.9rem 0; border-radius: 8px; }
.mwalib53-prose hr { margin: 1.25rem 0; border-color: var(--mwalib53-line); opacity: 1; }
.mwalib53-prose code { padding: 0.1rem 0.35rem; font-size: 0.85em; color: var(--mwalib53-navy); background: var(--mwalib53-blue-50); border-radius: 4px; }
.mwalib53-prose pre { margin: 0 0 0.9rem; padding: 0.9rem 1rem; overflow-x: auto; background: var(--mwalib53-bg); border: 1px solid var(--mwalib53-line); border-radius: 6px; }
.mwalib53-prose pre code { padding: 0; background: none; }

.accordion { --bs-accordion-border-color: var(--mwalib53-line); --bs-accordion-border-radius: 8px; --bs-accordion-inner-border-radius: 7px; --bs-accordion-btn-color: var(--mwalib53-ink); --bs-accordion-btn-padding-y: 0.85rem; --bs-accordion-active-color: var(--mwalib53-blue); --bs-accordion-active-bg: var(--mwalib53-blue-50); --bs-accordion-btn-focus-box-shadow: none; --bs-accordion-bg: #fff; }
.accordion-button { font-size: 0.92rem; font-weight: 600; }
.accordion-button:not(.collapsed) { box-shadow: none; }
.accordion-body { font-size: 0.9rem; }


/* ==========================================================================
   19. INDEX: HERO
   ========================================================================== */
.mwalib53-hero { padding: 2rem 0 1.75rem; background: linear-gradient(180deg, #EEF4FF 0, var(--mwalib53-bg) 100%); border-bottom: 1px solid var(--mwalib53-line); }
.mwalib53-eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 0.9rem; font-size: 0.74rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--mwalib53-navy); }
.mwalib53-eyebrow::before { content: ""; width: 8px; height: 8px; background: var(--mwalib53-red); transform: rotate(45deg); }
.mwalib53-eyebrow::after { content: ""; width: 44px; height: 1px; background: var(--mwalib53-red); }
.mwalib53-hero-title { margin-bottom: 0.9rem; font-size: clamp(2rem, 4.5vw, 3.2rem); font-weight: 700; color: var(--mwalib53-blue); }
.mwalib53-issn { display: flex; flex-wrap: wrap; gap: 0.4rem 1.25rem; margin: 0 0 0.9rem; padding: 0; list-style: none; font-family: var(--mwalib53-mono); font-size: 0.84rem; }
.mwalib53-issn a { display: inline-flex; align-items: center; gap: 6px; color: var(--mwalib53-muted); }
.mwalib53-issn a:hover { color: var(--mwalib53-blue); text-decoration: none; }
.mwalib53-issn b { color: var(--mwalib53-ink); }
.mwalib53-issn .bi-check-circle-fill { color: var(--mwalib53-blue); }
.mwalib53-lead { max-width: 56ch; margin-bottom: 1.1rem; font-size: 1.05rem; color: var(--mwalib53-muted); }
.mwalib53-facts { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1.25rem; padding: 0; list-style: none; }
.mwalib53-facts li { padding: 4px 10px; font-size: 0.76rem; font-weight: 600; color: var(--mwalib53-ink); background: #fff; border: 1px solid var(--mwalib53-line); border-radius: 4px; }
.mwalib53-facts li:first-child { color: var(--mwalib53-blue-700); background: var(--mwalib53-blue-50); border-color: transparent; }
.mwalib53-check { display: grid; gap: 0.5rem; margin: 0 0 1.5rem; padding: 0; list-style: none; }
.mwalib53-check li { display: flex; align-items: center; gap: 0.6rem; font-weight: 600; color: var(--mwalib53-ink); }
.mwalib53-check .bi { color: var(--mwalib53-blue); }


/* ==========================================================================
   20. INDEX: BOOK STAGE
   ========================================================================== */
.mwalib53-stage { position: relative; display: flex; align-items: center; justify-content: center; height: 400px; }
.mwalib53-stage::before { content: ""; position: absolute; width: 340px; height: 340px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, 0.95) 0, rgba(255, 255, 255, 0) 68%); }
.mwalib53-tilt { position: relative; z-index: 1; width: 240px; transform: perspective(1200px) rotateY(-12deg) rotateX(2deg); transition: transform 0.4s ease; }
.mwalib53-stage:hover .mwalib53-tilt { transform: perspective(1200px) rotateY(-6deg) rotateX(1deg); }
.mwalib53-book { position: relative; animation: mwalib53-float 6s ease-in-out infinite; }
.mwalib53-book-front { position: relative; overflow: hidden; background: #fff; border-radius: 4px 8px 8px 4px; box-shadow: 0 2px 4px rgba(8, 20, 45, 0.10), 0 14px 28px rgba(8, 20, 45, 0.22), 0 34px 60px rgba(8, 20, 45, 0.20); }
.mwalib53-book-front img { display: block; width: 100%; height: auto; }
.mwalib53-book-front::after { content: ""; position: absolute; inset: 0 auto 0 0; width: 14px; pointer-events: none; background: linear-gradient(90deg, rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0)); }
.mwalib53-book-back, .mwalib53-book-spine, .mwalib53-book-pages, .mwalib53-book-top, .mwalib53-floor { display: none; }

.mwalib53-chip { position: absolute; z-index: 2; display: flex; align-items: center; gap: 10px; padding: 8px 14px 8px 8px; white-space: nowrap; background: #fff; border: 1px solid var(--mwalib53-line); border-radius: 8px; animation: mwalib53-bob 5s ease-in-out infinite; }
.mwalib53-chip-icon { display: grid; place-items: center; width: 34px; height: 34px; font-size: 1rem; color: var(--mwalib53-blue); background: var(--mwalib53-blue-50); border-radius: 6px; }
.mwalib53-chip-icon-red { color: var(--mwalib53-red); background: #FFE9EA; }
.mwalib53-chip-icon-green { color: var(--mwalib53-green); background: #E6F6EE; }
.mwalib53-chip-icon-amber { color: #B7791F; background: #FDF3DC; }
.mwalib53-chip b { display: block; font-size: 1.05rem; line-height: 1.1; }
.mwalib53-chip small { display: block; font-size: 0.72rem; line-height: 1.2; color: var(--mwalib53-muted); }
.mwalib53-chip-a { top: 6%; right: 0; }
.mwalib53-chip-b { bottom: 20%; left: 0; animation-delay: -2.5s; }
.mwalib53-chip-c { bottom: 4%; right: 0; animation-delay: -1.2s; }
.mwalib53-chip-d { top: 6%; left: 0; animation-delay: -3.7s; }

@keyframes mwalib53-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

@keyframes mwalib53-bob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}


/* ==========================================================================
   21. INDEX: STAT CARDS
   ========================================================================== */
.mwalib53-stats { margin-top: 1.5rem; background: #fff; border: 1px solid var(--mwalib53-line); border-radius: 8px; overflow: hidden; }
.mwalib53-stat { height: 100%; padding: 1rem 0.9rem; text-align: center; border-right: 1px solid var(--mwalib53-line); }
.mwalib53-stats [class*="col"]:last-child .mwalib53-stat { border-right: 0; }
.mwalib53-stat-icon { margin-bottom: 0.3rem; font-size: 1.2rem; color: var(--mwalib53-blue); }
.mwalib53-stat-value { font-size: 1.8rem; font-weight: 700; line-height: 1.1; color: var(--mwalib53-navy); font-variant-numeric: tabular-nums; }
.mwalib53-stat-value small { margin-left: 2px; font-size: 0.5em; color: var(--mwalib53-blue); }
.mwalib53-stat-label { margin-top: 0.2rem; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--mwalib53-muted); }
.mwalib53-stat details { margin-top: 0.5rem; font-size: 0.8rem; }
.mwalib53-stat summary { cursor: pointer; list-style: none; font-weight: 600; color: var(--mwalib53-blue); }
.mwalib53-stat summary::-webkit-details-marker { display: none; }
.mwalib53-stat summary::after { content: " \F282"; font-family: "bootstrap-icons"; font-size: 0.7em; vertical-align: middle; }
.mwalib53-stat details[open] summary::after { content: " \F286"; }
.mwalib53-stat dl { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; margin: 0.6rem auto 0; max-width: 220px; text-align: left; color: var(--mwalib53-muted); }
.mwalib53-stat dt { font-weight: 400; }
.mwalib53-stat dd { margin: 0; text-align: right; font-family: var(--mwalib53-mono); font-size: 0.78rem; color: var(--mwalib53-ink); }


/* ==========================================================================
   22. INDEX: ANNOUNCEMENTS
   ========================================================================== */
.mwalib53-ann-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 1.5rem; align-items: start; }
.mwalib53-ann-feature { padding-right: 1.5rem; border-right: 1px solid var(--mwalib53-line); }
.mwalib53-ann-feature h3 { margin: 0.5rem 0; font-size: 1.15rem; line-height: 1.35; }
.mwalib53-ann-feature h3 a { color: var(--mwalib53-ink); }
.mwalib53-ann-feature h3 a:hover { color: var(--mwalib53-blue); }
.mwalib53-ann-feature .mwalib53-date { font-size: 0.8rem; }


/* ==========================================================================
   23. INDEX: ISSUE SPOTLIGHT
   ========================================================================== */
.mwalib53-issue { display: flex; gap: 1.5rem; padding: 1.25rem; }
.mwalib53-issue-cover { flex-shrink: 0; width: 150px; padding: 4px; background: #fff; border: 1px solid var(--mwalib53-line); border-radius: 4px; }
.mwalib53-issue-cover img { display: block; width: 100%; border-radius: 2px; }
.mwalib53-issue h3 { margin: 0.6rem 0; font-size: 1.4rem; }
.mwalib53-issue-meta { display: flex; flex-wrap: wrap; gap: 0.3rem 1.1rem; margin: 0 0 0.8rem; font-size: 0.84rem; color: var(--mwalib53-muted); }
.mwalib53-issue-meta .bi { margin-right: 5px; color: var(--mwalib53-blue); }


/* ==========================================================================
   24. INDEX: TABS
   ========================================================================== */
.mwalib53-tabs { flex-wrap: nowrap; gap: 0.25rem; padding: 0 0.75rem; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--mwalib53-line); }
.mwalib53-tabs::-webkit-scrollbar { display: none; }
.mwalib53-tabs .nav-link { margin-bottom: -1px; padding: 0.85rem 1rem; font-size: 0.85rem; font-weight: 600; white-space: nowrap; color: var(--mwalib53-muted); background: none; border: 0; border-bottom: 3px solid transparent; border-radius: 0; }
.mwalib53-tabs .nav-link:hover { color: var(--mwalib53-ink); border-bottom-color: var(--mwalib53-line); }
.mwalib53-tabs .nav-link.active { color: var(--mwalib53-blue); background: none; border-bottom-color: var(--mwalib53-blue); }


/* ==========================================================================
   25. INDEX: MOST POPULAR
   ========================================================================== */
.mwalib53-pop-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem 1rem; padding: 0.7rem 1.25rem; background: var(--mwalib53-bg); border-bottom: 1px solid var(--mwalib53-line); }
.mwalib53-pop-bar .nav-pills { --bs-nav-pills-link-active-bg: #0D5EF4; gap: 4px; }
.mwalib53-pop-bar .nav-link { padding: 0.35rem 0.8rem; font-size: 0.82rem; font-weight: 600; color: var(--mwalib53-muted); }
.mwalib53-pop-bar .nav-link:hover { color: var(--mwalib53-blue); }
.mwalib53-pop-bar .nav-link.active { color: #fff; }

.mwalib53-pop-list { margin: 0; padding: 0; list-style: none; counter-reset: pop; }
.mwalib53-pop-list li { display: grid; grid-template-columns: 32px 1fr; gap: 14px; align-items: center; padding: 0.8rem 0; counter-increment: pop; border-bottom: 1px solid var(--mwalib53-line); }
.mwalib53-pop-list li:first-child { padding-top: 0; }
.mwalib53-pop-list li:last-child { padding-bottom: 0; border-bottom: 0; }
.mwalib53-pop-list li::before { content: counter(pop); display: grid; place-items: center; width: 32px; height: 32px; font-size: 0.85rem; font-weight: 700; color: var(--mwalib53-blue); background: var(--mwalib53-blue-50); border-radius: 6px; }
.mwalib53-pop-list a { font-weight: 600; line-height: 1.35; color: var(--mwalib53-ink); }
.mwalib53-pop-list a:hover { color: var(--mwalib53-blue); }
.mwalib53-pop-author { display: flex; align-items: center; gap: 5px; margin-top: 2px; font-size: 0.8rem; color: var(--mwalib53-muted); }
.mwalib53-pop-author .bi { font-size: 0.75rem; color: var(--mwalib53-blue); }
.mwalib53-pop-list small { display: block; margin-top: 2px; font-size: 0.78rem; color: var(--mwalib53-muted); }
.mwalib53-pop-list small b { font-family: var(--mwalib53-mono); color: var(--mwalib53-ink); }


/* ==========================================================================
   26. PORTAL: JOURNAL LIST
   ========================================================================== */
.mwalib53-jgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
.mwalib53-jcard { display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--mwalib53-line); border-radius: 8px; }
.mwalib53-jcard[hidden] { display: none; }
.mwalib53-jcard:hover { border-color: var(--mwalib53-blue); }
.mwalib53-jcover { display: block; padding: 1rem 1rem 0; background: var(--mwalib53-bg); border-bottom: 1px solid var(--mwalib53-line); }
.mwalib53-jcover img { display: block; width: 100%; max-width: 150px; margin: 0 auto; aspect-ratio: 5 / 7; object-fit: cover; border: 1px solid var(--mwalib53-line); border-bottom: 0; border-radius: 4px 4px 0 0; background: #fff; }
.mwalib53-jbody { display: flex; flex-direction: column; flex: 1; padding: 1rem 1.1rem 1.1rem; }
.mwalib53-jtitle { margin: 0 0 0.5rem; font-size: 1rem; line-height: 1.4; }
.mwalib53-jtitle a { color: var(--mwalib53-ink); }
.mwalib53-jtitle a:hover { color: var(--mwalib53-blue); }
.mwalib53-jdesc { margin: 0 0 1rem; font-size: 0.85rem; color: var(--mwalib53-muted); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.mwalib53-jfoot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem; margin-top: auto; }
.mwalib53-jfoot .dropdown-toggle::after { margin-left: 0.3rem; }


/* ==========================================================================
   27. PORTAL: ARCHIVE
   ========================================================================== */
.mwalib53-yearnav { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1.25rem; }
.mwalib53-yearnav a { padding: 0.25rem 0.85rem; font-size: 0.85rem; font-weight: 600; color: var(--mwalib53-ink); background: #fff; border: 1px solid var(--mwalib53-line); border-radius: 999px; }
.mwalib53-yearnav a:hover { color: #fff; background: var(--mwalib53-blue); border-color: var(--mwalib53-blue); }

.mwalib53-year { margin: 0 0 1.75rem; scroll-margin-top: 90px; }
.mwalib53-year-title { display: flex; align-items: center; gap: 0.75rem; margin: 0 0 1rem; font-size: 1.25rem; font-weight: 700; color: var(--mwalib53-ink); }
.mwalib53-year-title::after { content: ""; flex: 1; height: 1px; background: var(--mwalib53-line); }

.mwalib53-icard { display: flex; gap: 1rem; margin: 0 0 1rem; padding: 1rem; background: #fff; border: 1px solid var(--mwalib53-line); border-radius: 8px; }
.mwalib53-icard:hover { border-color: var(--mwalib53-blue); }
.mwalib53-icover { flex: 0 0 120px; }
.mwalib53-icover img { display: block; width: 120px; aspect-ratio: 120 / 170; object-fit: cover; border: 1px solid var(--mwalib53-line); border-radius: 4px; background: var(--mwalib53-bg); }
.mwalib53-ibody { flex: 1; min-width: 0; }
.mwalib53-imeta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.75rem; margin: 0 0 0.4rem; font-size: 0.8rem; color: var(--mwalib53-muted); }
.mwalib53-ibadge { padding: 0.1rem 0.55rem; font-weight: 600; letter-spacing: 0.03em; text-transform: uppercase; color: #fff; background: var(--mwalib53-blue); border-radius: 4px; }
.mwalib53-ititle { margin: 0 0 0.4rem; font-size: 1.05rem; line-height: 1.4; }
.mwalib53-ititle a { color: var(--mwalib53-ink); }
.mwalib53-ititle a:hover { color: var(--mwalib53-blue); }
.mwalib53-idesc { margin: 0 0 0.85rem; font-size: 0.88rem; color: var(--mwalib53-muted); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }


/* ==========================================================================
   28. PORTAL: ISSUE VIEW
   ========================================================================== */
.mwalib53-ihead { display: flex; align-items: flex-start; gap: 1.25rem; margin: 0 0 1.25rem; }
.mwalib53-ihead-cover { flex: 0 0 180px; margin: 0; }
.mwalib53-ihead-cover img { display: block; width: 100%; aspect-ratio: 5 / 7; object-fit: cover; border: 1px solid var(--mwalib53-line); border-radius: 4px; background: var(--mwalib53-bg); }
.mwalib53-ihead-body { flex: 1; min-width: 0; }
.mwalib53-iconn { padding-top: 1rem; border-top: 1px solid var(--mwalib53-line); }
.mwalib53-iconn-title { display: flex; align-items: center; gap: 0.5rem; margin: 0 0 0.25rem; font-size: 1rem; font-weight: 700; color: var(--mwalib53-ink); }
.mwalib53-iconn-title .bi { color: var(--mwalib53-blue); }
.mwalib53-iconn-desc { margin: 0 0 0.85rem; font-size: 0.85rem; color: var(--mwalib53-muted); }


/* ==========================================================================
   29. PORTAL: ARTICLE VIEW
   ========================================================================== */
.mwalib53-article { min-width: 0; }
.mwalib53-article > header { margin: 0 0 1.25rem; padding: 1.5rem; background: #fff; border: 1px solid var(--mwalib53-line); border-radius: 8px; }
.mwalib53-atype { display: inline-flex; align-items: center; gap: 8px; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mwalib53-blue); }
.mwalib53-atype::before { content: ""; width: 25px; height: 3px; background: currentColor; }
.mwalib53-atitle { margin: 0.75rem 0 1.25rem; font-size: clamp(1.5rem, 2.6vw, 2.15rem); font-weight: 700; line-height: 1.25; letter-spacing: -0.03em; color: var(--mwalib53-navy); overflow-wrap: break-word; hyphens: auto; }

.mwalib53-ainfo { display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 1.5rem; align-items: start; }
.mwalib53-aleft { min-width: 0; }

.mwalib53-authors { display: block; margin: 0; padding: 0; list-style: none; line-height: 1.8; }
.mwalib53-authors li { display: inline; }
.mwalib53-authors li + li::before { content: ",\00a0"; }
.mwalib53-authors li[hidden] { display: none !important; }
.mwalib53-authors a[rel="author"] { font-size: 1rem; font-weight: 700; color: var(--mwalib53-ink); }
.mwalib53-authors a[rel="author"]:hover { color: var(--mwalib53-blue); }
.mwalib53-authors sup { margin: 0 0.1rem 0 0.05rem; font-size: 0.68rem; font-weight: 700; line-height: 0; color: var(--mwalib53-blue); }
.mwalib53-orcid { display: inline-block; vertical-align: baseline; }
.mwalib53-orcid .mwalib53-ico, .mwalib53-orcid img { width: 15px; height: 15px; margin-left: 3px; vertical-align: -2px; }
.mwalib53-authors-tgl { display: block; margin: 0.35rem 0 0; }
.mwalib53-refs + .mwalib53-tgl { margin-top: 0.5rem; }

.mwalib53-aaffs { margin: 0.8rem 0 0; padding: 0; list-style: none; font-size: 0.84rem; line-height: 1.7; color: var(--mwalib53-muted); }
.mwalib53-aaffs sup { margin-right: 0.25rem; font-size: 0.7rem; font-weight: 700; line-height: 0; color: var(--mwalib53-blue); }
.mwalib53-acorr { margin: 0.35rem 0 0; font-size: 0.82rem; color: var(--mwalib53-muted); }
.mwalib53-acorr b { color: var(--mwalib53-ink); }
.mwalib53-access { display: inline-flex; align-items: center; gap: 6px; margin-top: 0.75rem; font-size: 0.74rem; font-weight: 600; color: var(--mwalib53-blue); }

.mwalib53-ameta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem 1.25rem; margin: 1rem 0 0; padding: 1rem 0 0; border-top: 1px solid var(--mwalib53-line); }
.mwalib53-ameta > div { min-width: 0; }
.mwalib53-ameta > .is-wide { grid-column: 1 / -1; }
.mwalib53-ameta dt { margin: 0 0 0.15rem; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--mwalib53-muted); }
.mwalib53-ameta dd { margin: 0; font-size: 0.88rem; overflow-wrap: anywhere; }

.mwalib53-actx { min-width: 0; padding: 0.85rem; background: var(--mwalib53-bg); border: 1px solid var(--mwalib53-line); border-radius: 6px; }
.mwalib53-actx-h { display: flex; align-items: center; gap: 6px; margin: 0 0 0.5rem; font-size: 0.66rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--mwalib53-blue); }
.mwalib53-actx-issue { display: block; font-size: 0.85rem; font-weight: 700; line-height: 1.5; }
.mwalib53-actx-desc { margin: 4px 0 0; font-size: 0.74rem; line-height: 1.6; color: var(--mwalib53-muted); }
.mwalib53-toc { margin-top: 0.8rem; padding-top: 0.75rem; border-top: 1px solid var(--mwalib53-line); }
.mwalib53-toc-links { display: flex; flex-direction: column; gap: 2px; }
.mwalib53-toc-links a { display: block; padding: 3px 0 3px 8px; font-size: 0.76rem; line-height: 1.5; color: var(--mwalib53-muted); border-left: 2px solid var(--mwalib53-line); }
.mwalib53-toc-links a:hover, .mwalib53-toc-links a.is-active { color: var(--mwalib53-blue); background: #fff; border-left-color: var(--mwalib53-blue); text-decoration: none; }
.mwalib53-toc-more { margin-top: 6px; }
.mwalib53-toc-more summary { width: fit-content; font-size: 0.72rem; font-weight: 600; color: var(--mwalib53-blue); cursor: pointer; }
.mwalib53-toc-more[open] .mwalib53-toc-links { margin-top: 6px; }

.mwalib53-sec { margin: 0 0 1.25rem; padding: 1.25rem 1.5rem 1.5rem; background: #fff; border: 1px solid var(--mwalib53-line); border-radius: 8px; scroll-margin-top: 90px; }
.mwalib53-sec:last-child { margin-bottom: 0; }
.mwalib53-sec:focus { outline: none; }
.mwalib53-sec:target { border-color: var(--mwalib53-blue); }
.mwalib53-sec-title { margin: 0 0 1rem; padding: 0 0 0.8rem; font-size: 1.1rem; font-weight: 700; color: var(--mwalib53-navy); border-bottom: 1px solid var(--mwalib53-line); }
.mwalib53-aabs { margin: 0; line-height: 1.75; text-align: justify; hyphens: auto; }

.mwalib53-refs { margin: 0; padding-left: 1.5rem; font-size: 0.88rem; line-height: 1.65; }
.mwalib53-refs li { margin: 0 0 0.5rem; overflow-wrap: anywhere; }
.mwalib53-bios { margin: 0; padding: 0; list-style: none; font-size: 0.88rem; }
.mwalib53-bios li { margin: 0 0 0.75rem; }
.mwalib53-bios span { color: var(--mwalib53-muted); }
.mwalib53-lic { margin: 0; font-size: 0.85rem; color: var(--mwalib53-muted); overflow-wrap: anywhere; }
.mwalib53-rel { margin: 0; padding: 0; list-style: none; }
.mwalib53-rel li { padding: 0.65rem 0; border-bottom: 1px solid var(--mwalib53-line); }
.mwalib53-rel li:last-child { border-bottom: 0; }
.mwalib53-rel a { display: block; font-size: 0.92rem; font-weight: 600; line-height: 1.45; }
.mwalib53-rel span { display: block; margin-top: 0.15rem; font-size: 0.8rem; color: var(--mwalib53-muted); }
.mwalib53-relmore { margin: 0.75rem 0 0; font-size: 0.85rem; font-weight: 600; }

.mwalib53-istats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.mwalib53-istats--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mwalib53-istats li { padding: 0.65rem 0.25rem; text-align: center; background: var(--mwalib53-bg); border: 1px solid var(--mwalib53-line); border-radius: 6px; }
.mwalib53-istats b { display: block; font-size: 1.25rem; line-height: 1.2; color: var(--mwalib53-navy); }
.mwalib53-istats span { display: block; margin-top: 2px; font-size: 0.7rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--mwalib53-muted); }
.mwalib53-inote { margin: 0.5rem 0 0; font-size: 0.72rem; line-height: 1.5; color: var(--mwalib53-muted); }


/* ==========================================================================
   30. (BACKUP)
   ========================================================================== */


/* ==========================================================================
   31. PORTAL: SEARCH
   ========================================================================== */
.mwalib53-adv { margin: 0.75rem 0 0; }
.mwalib53-adv summary { width: fit-content; font-size: 0.85rem; font-weight: 600; color: var(--mwalib53-blue); cursor: pointer; }
.mwalib53-adv[open] summary { margin-bottom: 1rem; }
.mwalib53-adv-legend { margin: 0 0 0.5rem; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--mwalib53-muted); }
.mwalib53-results-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem; margin: 0 0 1rem; padding-bottom: 0.75rem; font-size: 0.85rem; color: var(--mwalib53-muted); border-bottom: 1px solid var(--mwalib53-line); }


/* ==========================================================================
   32. PORTAL: AUTH 
   ========================================================================== */
.mwalib53-auth-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1rem; margin: 1rem 0 0; font-size: 0.85rem; }
.mwalib53-auth-alt { margin: 1.25rem 0 0; padding-top: 1.25rem; text-align: center; font-size: 0.88rem; color: var(--mwalib53-muted); border-top: 1px solid var(--mwalib53-line); }


/* ==========================================================================
   33. PORTAL: CONTACT
   ========================================================================== */
.mwalib53-address { display: flex; align-items: flex-start; gap: 0.7rem; margin: 0 0 1.25rem; font-size: 0.92rem; }
.mwalib53-address .bi { margin-top: 0.15rem; color: var(--mwalib53-blue); }
.mwalib53-cperson { margin: 0 0 1rem; }
.mwalib53-cperson h3 { margin: 0 0 0.15rem; font-size: 1rem; color: var(--mwalib53-navy); }
.mwalib53-cperson p { margin: 0 0 0.15rem; font-size: 0.86rem; color: var(--mwalib53-muted); }
.mwalib53-map { overflow: hidden; border: 1px solid var(--mwalib53-line); border-radius: 8px; }
.mwalib53-map iframe { display: block; width: 100%; height: 100%; border: 0; }


/* ==========================================================================
   34. PORTAL: ANNOUNCEMENT DETAIL
   ========================================================================== */
.mwalib53-ann-title { margin: 0 0 0.5rem; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.3; color: var(--mwalib53-navy); }
.mwalib53-ann-detail .mwalib53-ann-body { font-size: 0.95rem; color: var(--mwalib53-ink); }
.mwalib53-ann-nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--mwalib53-line); }


/* ==========================================================================
   35. PORTAL: STATIC & EDITORIAL TEAM
   ========================================================================== */

/* Static: alur langkah (peer review) */
.mwalib53-prose .mwalib53-steps { display: grid; gap: 0.75rem; margin: 1.25rem 0; padding: 0; list-style: none; }
.mwalib53-prose .mwalib53-steps > li { display: flex; align-items: flex-start; gap: 0.9rem; margin: 0; padding: 0.9rem 1rem; background: #fff; border: 1px solid var(--mwalib53-line); border-radius: 8px; }
.mwalib53-prose .mwalib53-steps > li::marker { content: none; }
.mwalib53-step-no { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 2rem; width: 2rem; height: 2rem; font-size: 0.875rem; font-weight: 700; line-height: 1; color: #fff; background: var(--mwalib53-blue); border-radius: 50%; }
.mwalib53-step-body { min-width: 0; }
.mwalib53-step-body strong { display: block; margin-bottom: 0.15rem; color: var(--mwalib53-navy); }
.mwalib53-step-body p { margin: 0; font-size: 0.88rem; line-height: 1.65; text-align: left; color: var(--mwalib53-muted); }

/* Team: grup */
.mwalib53-tgroup { margin: 0 0 2rem; }
.mwalib53-tgroup:last-child { margin-bottom: 0; }
.mwalib53-tgroup-title { display: flex; align-items: center; gap: 0.6rem; margin: 0; padding: 0 0 0.6rem; font-size: 1.1rem; font-weight: 700; line-height: 1.3; color: var(--mwalib53-navy); border-bottom: 2px solid var(--mwalib53-blue); }

/* Team: daftar vertikal (reset total agar tidak tertimpa .mwalib53-prose) */
.mwalib53-roster,
.mwalib53-prose .mwalib53-roster { margin: 0; padding: 0; list-style: none; }
.mwalib53-roster > li,
.mwalib53-prose .mwalib53-roster > li { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; margin: 0; padding: 0.85rem 0.5rem; list-style: none; border-bottom: 1px solid var(--mwalib53-line); transition: background-color 0.15s ease; }
.mwalib53-roster > li::marker { content: none; }
.mwalib53-roster > li:last-child { border-bottom: 0; }
.mwalib53-roster > li:hover { background: var(--mwalib53-bg); }

/* Team: teks anggota */
.mwalib53-rbody { flex: 1 1 auto; min-width: 0; }
.mwalib53-rbody strong { display: block; margin: 0 0 0.15rem; font-size: 0.95rem; font-weight: 700; line-height: 1.4; color: var(--mwalib53-navy); }
.mwalib53-raff { display: block; font-size: 0.82rem; line-height: 1.5; color: var(--mwalib53-muted); }
.mwalib53-rfield { display: block; margin-top: 0.1rem; font-size: 0.78rem; font-weight: 600; line-height: 1.5; color: var(--mwalib53-blue-700); }

/* Team: ikon profil, hanya gambar tanpa kotak */
.mwalib53-ids { display: flex; align-items: center; flex: 0 0 auto; gap: 0.85rem; margin: 0; padding: 0; }
.mwalib53-ids a { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; padding: 0; background: none; border: 0; border-radius: 50%; opacity: 0.55; transition: opacity 0.15s ease, transform 0.15s ease; }
.mwalib53-ids a:hover { opacity: 1; transform: translateY(-1px); }
.mwalib53-ids a:focus-visible { outline: 2px solid var(--mwalib53-blue); outline-offset: 2px; }
.mwalib53-ids img { display: block; width: 24px; height: 24px; max-width: none; object-fit: contain; border-radius: 50%; }

/* Team: Editor-in-Chief */
.mwalib53-roster > li.is-lead { padding: 1rem 1.1rem; background: var(--mwalib53-bg); border: 1px solid var(--mwalib53-line); border-left: 3px solid var(--mwalib53-blue); border-radius: 8px; }
.mwalib53-roster > li.is-lead .mwalib53-rbody strong { font-size: 1.02rem; }

/* FAQ: accordion */
.mwalib53-faq { --bs-accordion-border-color: var(--mwalib53-line); --bs-accordion-btn-focus-box-shadow: none; --bs-accordion-active-bg: var(--mwalib53-bg); --bs-accordion-active-color: var(--mwalib53-navy); margin-top: 0.75rem; }
.mwalib53-faq .accordion-item { border-radius: 8px; overflow: hidden; margin-bottom: 0.5rem; border: 1px solid var(--mwalib53-line); }
.mwalib53-faq .accordion-header { margin: 0; font-size: 1rem; }
.mwalib53-faq .accordion-button { font-size: 0.95rem; font-weight: 600; color: var(--mwalib53-navy); }
.mwalib53-faq .accordion-button:not(.collapsed) { box-shadow: inset 3px 0 0 var(--mwalib53-blue); }
.mwalib53-faq .accordion-body { font-size: 0.9rem; line-height: 1.7; color: var(--mwalib53-muted); }

/* Indexing: grid logo seragam */
.mwalib53-prose .mwalib53-idxgrid,
.mwalib53-idxgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.85rem; margin: 1rem 0 0; padding: 0; }

.mwalib53-prose .mwalib53-idxgrid > a,
.mwalib53-idxgrid > a { display: flex; align-items: center; justify-content: center; height: 72px; padding: 0.6rem 0.9rem; background: #fff; border: 1px solid var(--mwalib53-line); border-radius: 8px; text-decoration: none; transition: border-color 0.15s ease, background-color 0.15s ease; }

.mwalib53-idxgrid > a:hover { border-color: var(--mwalib53-blue); background: var(--mwalib53-bg); }
.mwalib53-idxgrid > a:focus-visible { outline: 2px solid var(--mwalib53-blue); outline-offset: 2px; }

.mwalib53-prose .mwalib53-idxgrid > a img,
.mwalib53-idxgrid > a img { display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%; margin: 0; border-radius: 0; object-fit: contain; object-position: center; }


/* ==========================================================================
   90. RESPONSIVE
   ========================================================================== */
@media (max-width: 1199.98px) {
  .mwalib53-chip-a, .mwalib53-chip-c { right: -2%; }
  .mwalib53-chip-b, .mwalib53-chip-d { left: -2%; }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .mwalib53-ainfo { grid-template-columns: minmax(0, 1fr) 165px; gap: 1rem; }
}

@media (max-width: 991.98px) {
  .mwalib53-nav-link { padding: 0.7rem 0.25rem !important; border-bottom: 0; }
  .mwalib53-navbar .dropdown-menu { border-top-width: 1px; }
  .mwalib53-hero { padding: 1.5rem 0 1.25rem; }
  .mwalib53-stage { height: 380px; margin-top: 1rem; }
  .mwalib53-stat { border-right: 0; border-bottom: 1px solid var(--mwalib53-line); }
  .mwalib53-stats [class*="col"]:nth-child(odd) .mwalib53-stat { border-right: 1px solid var(--mwalib53-line); }
  .mwalib53-stats [class*="col"]:nth-last-child(-n+2) .mwalib53-stat { border-bottom: 0; }
  .mwalib53-aside { position: static; }
  .mwalib53-cover { width: min(100%, 340px); margin-inline: auto; }
}

@media (max-width: 767.98px) {
  .mwalib53-layout { padding: 1.5rem 0 3rem; }
  .mwalib53-issue { flex-direction: column; align-items: center; text-align: center; }
  .mwalib53-issue-meta { justify-content: center; }
  .mwalib53-ann-grid { grid-template-columns: 1fr; }
  .mwalib53-ann-feature { padding-right: 0; padding-bottom: 1.25rem; border-right: 0; border-bottom: 1px solid var(--mwalib53-line); }
  .mwalib53-ainfo { grid-template-columns: 1fr; gap: 1.1rem; }
  .mwalib53-team { grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
  .mwalib53-brand img { max-height: 44px; }
  .mwalib53-stage { height: 340px; }
  .mwalib53-tilt { width: 200px; }
  .mwalib53-chip-a, .mwalib53-chip-d { top: 0; }
  .mwalib53-chip-b { bottom: 14%; }
  .mwalib53-chip-c { bottom: 0; }
  .mwalib53-stat-value { font-size: 1.5rem; }

  .mwalib53-icard { flex-direction: column; }
  .mwalib53-icover { flex-basis: auto; }
  .mwalib53-icover img { width: 110px; }

  .mwalib53-ihead { flex-direction: column; align-items: center; }
  .mwalib53-ihead-cover { flex-basis: auto; width: 160px; }
  .mwalib53-ihead-body { width: 100%; }

  .mwalib53-num { --cols: 1; }
  .mwalib53-num--2, .mwalib53-num--4 { --cols: 2; }
  .mwalib53-meta--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .mwalib53-article > header, .mwalib53-sec { padding: 1rem; }
  .mwalib53-prose p { text-align: left; }
  .mwalib53-citebar .mwalib53-gbtn { flex: 1 1 45%; }
  .mwalib53-actions .btn { flex: 1 1 100%; }
  
  .mwalib53-roster > li { flex-direction: column; align-items: flex-start; gap: 0.5rem; }

}


/* ==========================================================================
   91. REDUCED MOTION & PRINT
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .mwalib53-book, .mwalib53-chip { animation: none; }
  .mwalib53-tilt, .mwalib53-totop, .mwalib53-cite, .mwalib53-sbtn, .mwalib53-gbtn, .mwalib53-pdfbtn, .mwalib53-toast { transition: none; }
  .btn, .nav-link, .dropdown-item, .mwalib53-quick a, .mwalib53-contact a, .mwalib53-rss a, .mwalib53-tpl a, .mwalib53-index a, .mwalib53-lang a, .mwalib53-social a { transition: none; }
}

@media print {
  .mwalib53-topbar, .mwalib53-header, .mwalib53-search, .mwalib53-footer, .mwalib53-totop,
  .mwalib53-aside, .mwalib53-actx, .mwalib53-citebar, .mwalib53-tgl,
  .mwalib53-toast, .mwalib53-skip, .mwalib53-ann-nav, .mwalib53-pager { display: none !important; }
  .mwalib53-ainfo { display: block; }
  .mwalib53-refs li[hidden], .mwalib53-authors li[hidden] { display: list-item !important; }
  .mwalib53-sec { break-inside: avoid; }
}


