:root{
  --smglohdr-navy:#072d59;
  --smglohdr-blue:#0b5da8;
  --smglohdr-text:#0a2748;
  --smglohdr-muted:#6f8092;
  --smglohdr-line:#e7edf3;
  --smglohdr-bg:#ffffff;
  --smglohdr-soft:#f6f9fc;
  --smglohdr-shadow:0 18px 55px rgba(9,39,74,.13);
}

/* SWELL stays installed, but its visual header is fully suppressed while this plugin is active.
   Do not depend on a body class: some SWELL/custom templates can render header fragments outside
   the expected wrapper. These selectors are intentionally limited to SWELL header structures. */
#header,
header#header,
.l-header,
#fix_header,
.l-fixHeader,
.l-header__bar,
.l-header__inner,
.l-header__logo,
.l-header__gnav,
.l-header__customBtn,
.l-header__menuBtn,
.l-header__spNav,
.l-fixHeader__inner,
.l-fixHeader__logo,
.l-fixHeader__gnav,
.c-headLogo,
.c-gnavWrap,
#gnav,
.p-spHeadMenu{display:none!important}

.smglohdr-header{position:sticky;top:0;z-index:9990;background:rgba(255,255,255,.96);border-bottom:1px solid var(--smglohdr-line);backdrop-filter:saturate(150%) blur(14px);-webkit-backdrop-filter:saturate(150%) blur(14px);transition:box-shadow .2s ease,background .2s ease}
.smglohdr-header.is-scrolled{box-shadow:0 8px 28px rgba(8,37,68,.08);background:rgba(255,255,255,.985)}
.admin-bar .smglohdr-header{top:32px}
.smglohdr-inner{width:min(1180px,calc(100% - 40px));height:72px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:32px}

.smglohdr-brand{display:flex;align-items:center;gap:11px;min-width:max-content;text-decoration:none!important;color:var(--smglohdr-text)!important}
.smglohdr-brand__mark{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;background:transparent;box-shadow:none}
.smglohdr-brand__mark img{display:block;width:100%;height:100%;object-fit:cover;border-radius:10px}
.smglohdr-brand__copy{display:flex;flex-direction:column;gap:1px;line-height:1}
.smglohdr-brand__copy strong{font-size:19px;line-height:1.28;letter-spacing:.02em;font-weight:800;color:var(--smglohdr-text)}
.smglohdr-brand__copy small{font-size:10px;line-height:1.45;letter-spacing:.03em;color:#8090a1}

.smglohdr-desktop-nav{height:100%;display:flex;align-items:stretch;gap:2px}
.smglohdr-navlink,.smglohdr-search-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:4px;height:100%;padding:0 14px;border:0;background:transparent;text-decoration:none!important;color:#304b68!important;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer;font-family:inherit}
.smglohdr-navlink:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;background:var(--smglohdr-blue);transform:scaleX(0);transform-origin:center;transition:transform .18s ease}
.smglohdr-navlink:hover,.smglohdr-navlink:focus-visible,.smglohdr-navlink.is-active,.smglohdr-navdrop.is-active>.smglohdr-navdrop__button{color:var(--smglohdr-blue)!important}
.smglohdr-navlink:hover:after,.smglohdr-navlink:focus-visible:after,.smglohdr-navlink.is-active:after,.smglohdr-navdrop.is-active>.smglohdr-navdrop__button:after{transform:scaleX(1)}
.smglohdr-navlink svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .18s ease}
.smglohdr-navdrop{position:relative;height:100%}
.smglohdr-navdrop__button[aria-expanded="true"] svg{transform:rotate(180deg)}
.smglohdr-navdrop__panel{position:absolute;top:calc(100% - 1px);right:-80px;width:540px;padding:22px;border:1px solid var(--smglohdr-line);border-radius:0 0 16px 16px;background:#fff;box-shadow:var(--smglohdr-shadow);opacity:0;visibility:hidden;transform:translateY(-5px);transition:opacity .17s ease,transform .17s ease,visibility .17s;pointer-events:none}
.smglohdr-navdrop:hover .smglohdr-navdrop__panel,.smglohdr-navdrop:focus-within .smglohdr-navdrop__panel,.smglohdr-navdrop.is-open .smglohdr-navdrop__panel{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.smglohdr-navdrop__head{display:flex;flex-direction:column;gap:4px;padding-bottom:14px;border-bottom:1px solid var(--smglohdr-line)}
.smglohdr-navdrop__head>span,.smglohdr-search-dialog__top>div>span{font-size:10px;font-weight:800;letter-spacing:.22em;color:var(--smglohdr-blue)}
.smglohdr-navdrop__head strong{font-size:17px;line-height:1.5;color:var(--smglohdr-text)}
.smglohdr-scene-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 10px;padding:13px 0 12px}
.smglohdr-scene-link,.smglohdr-special-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:8px;text-decoration:none!important;color:#294762!important;font-size:13px;font-weight:700;transition:background .15s ease,color .15s ease}
.smglohdr-scene-link:hover{background:var(--smglohdr-soft);color:var(--smglohdr-blue)!important}
.smglohdr-scene-link svg,.smglohdr-special-link svg,.smglohdr-mobile-primary a svg,.smglohdr-mobile-scene svg,.smglohdr-mobile-special svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;flex:0 0 auto}
.smglohdr-special-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:12px;border-top:1px solid var(--smglohdr-line)}
.smglohdr-special-link{padding:11px 12px;background:#f2f7fc;color:var(--smglohdr-navy)!important}
.smglohdr-special-link:hover{background:#e8f1fa;color:var(--smglohdr-blue)!important}

.smglohdr-search-btn{gap:7px;margin-left:4px;padding:0 11px;color:var(--smglohdr-navy)!important}
.smglohdr-search-btn svg,.smglohdr-icon-btn svg,.smglohdr-search-form__icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.smglohdr-search-btn:hover{color:var(--smglohdr-blue)!important}
.smglohdr-mobile-actions{display:none}
.smglohdr-icon-btn{width:40px;height:40px;border:0;border-radius:10px;background:transparent;display:grid;place-items:center;color:var(--smglohdr-navy);cursor:pointer;padding:0;font-family:inherit}
.smglohdr-icon-btn:hover{background:var(--smglohdr-soft)}

.smglohdr-mobile-panel,.smglohdr-panel-backdrop{display:none}

.smglohdr-search-overlay{position:fixed;inset:0;z-index:10030;display:flex;align-items:flex-start;justify-content:center;padding:120px 20px 30px;background:rgba(4,24,47,.58);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s}
.smglohdr-search-overlay.is-open{opacity:1;visibility:visible}
.smglohdr-search-dialog{width:min(720px,100%);padding:26px 28px 24px;border-radius:18px;background:#fff;box-shadow:0 28px 90px rgba(0,20,45,.28);transform:translateY(-10px);transition:transform .18s ease}
.smglohdr-search-overlay.is-open .smglohdr-search-dialog{transform:translateY(0)}
.smglohdr-search-dialog__top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.smglohdr-search-dialog__top>div{display:flex;flex-direction:column;gap:5px}
.smglohdr-search-dialog__top strong{font-size:25px;line-height:1.35;color:var(--smglohdr-text)}
.smglohdr-search-form{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:7px 7px 7px 16px;border:1px solid #d9e3ec;border-radius:12px;background:#fff;box-shadow:0 4px 16px rgba(7,45,89,.04)}
.smglohdr-search-form:focus-within{border-color:#9ebbd7;box-shadow:0 0 0 3px rgba(11,93,168,.08)}
.smglohdr-search-form__icon{display:grid;place-items:center;color:#7890a7}
.smglohdr-search-form input{min-width:0;height:44px;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;font:inherit;font-size:15px;color:var(--smglohdr-text);padding:0!important}
.smglohdr-search-form input::placeholder{color:#9aa8b5}
.smglohdr-search-form button{height:42px;padding:0 20px;border:0;border-radius:9px;background:var(--smglohdr-navy);color:#fff;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.smglohdr-search-form button:hover{background:#0a417b}
.smglohdr-search-note{margin:11px 2px 0;font-size:12px;color:#8493a2}
body.smglohdr-lock{overflow:hidden}

@media (max-width:900px){
  .admin-bar .smglohdr-header{top:46px}
  .smglohdr-inner{width:calc(100% - 24px);height:60px;gap:14px}
  .smglohdr-brand{gap:9px}
  .smglohdr-brand__mark{width:32px;height:32px;border-radius:9px}
  .smglohdr-brand__copy strong{font-size:16px}
  .smglohdr-brand__copy small{display:none}
  .smglohdr-desktop-nav{display:none}
  .smglohdr-mobile-actions{display:flex;align-items:center;gap:2px;margin-left:auto}
  .smglohdr-icon-btn{width:38px;height:38px}

  .smglohdr-mobile-panel{display:block;position:fixed;z-index:10020;top:0;right:0;width:min(390px,90vw);height:100dvh;padding:18px 20px 28px;background:#fff;box-shadow:-20px 0 60px rgba(5,29,56,.18);transform:translateX(105%);transition:transform .22s ease;overflow-y:auto}
  .admin-bar .smglohdr-mobile-panel{top:46px;height:calc(100dvh - 46px)}
  .smglohdr-mobile-panel.is-open{transform:translateX(0)}
  .smglohdr-panel-backdrop{display:block;position:fixed;z-index:10010;inset:0;background:rgba(4,24,47,.42);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s}
  .smglohdr-panel-backdrop.is-open{opacity:1;visibility:visible}
  .smglohdr-mobile-panel__top{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--smglohdr-line)}
  .smglohdr-mobile-panel__top>span{font-size:10px;font-weight:800;letter-spacing:.22em;color:var(--smglohdr-blue)}
  .smglohdr-mobile-nav{padding-top:8px}
  .smglohdr-mobile-primary{display:flex;flex-direction:column}
  .smglohdr-mobile-primary a{display:flex;align-items:center;justify-content:space-between;padding:15px 2px;border-bottom:1px solid var(--smglohdr-line);text-decoration:none!important;color:var(--smglohdr-text)!important;font-size:15px;font-weight:800}
  .smglohdr-mobile-section{padding-top:22px}
  .smglohdr-mobile-label{display:block;margin-bottom:9px;font-size:11px;font-weight:800;letter-spacing:.06em;color:#72869a}
  .smglohdr-mobile-scenes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .smglohdr-mobile-scene{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:45px;padding:9px 10px;border-radius:9px;background:var(--smglohdr-soft);text-decoration:none!important;color:#294762!important;font-size:12px;font-weight:750}
  .smglohdr-mobile-specials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:15px;padding-top:15px;border-top:1px solid var(--smglohdr-line)}
  .smglohdr-mobile-special{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:48px;padding:10px 11px;border-radius:9px;background:#edf5fc;text-decoration:none!important;color:var(--smglohdr-navy)!important;font-size:12px;font-weight:800}

  .smglohdr-search-overlay{padding:84px 12px 24px;align-items:flex-start}
  .admin-bar .smglohdr-search-overlay{padding-top:108px}
  .smglohdr-search-dialog{padding:20px 16px 18px;border-radius:15px}
  .smglohdr-search-dialog__top{margin-bottom:15px}
  .smglohdr-search-dialog__top strong{font-size:21px}
  .smglohdr-search-form{grid-template-columns:auto 1fr;padding:6px 10px}
  .smglohdr-search-form button{grid-column:1 / -1;width:100%;height:42px}
  .smglohdr-search-form input{font-size:14px}
}

@media (max-width:782px){.admin-bar .smglohdr-header{top:46px}}
@media (max-width:380px){
  .smglohdr-inner{width:calc(100% - 18px)}
  .smglohdr-brand__copy strong{font-size:15px}
  .smglohdr-mobile-scenes{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  .smglohdr-header,.smglohdr-navdrop__panel,.smglohdr-search-overlay,.smglohdr-search-dialog,.smglohdr-mobile-panel,.smglohdr-panel-backdrop{transition:none!important}
}

/* =========================================================
 * Reader context / recent location
 * ======================================================= */
.smglohdr-recent-block{margin-top:12px;padding-top:12px;border-top:1px solid var(--smglohdr-line)}
.smglohdr-recent-block[hidden],.smglohdr-mobile-recent[hidden]{display:none!important}
.smrc-menu__label{display:block;margin:0 10px 7px;font-size:9px;font-weight:900;letter-spacing:.14em;color:#7f90a2}
.smrc-menu__article{display:block;padding:10px 11px;border-radius:9px;background:#f7f9fc;text-decoration:none!important;color:var(--smglohdr-text)!important}
.smrc-menu__article small{display:block;margin-bottom:3px;color:#6f8295;font-size:10px;line-height:1.4}
.smrc-menu__article strong{display:block;font-size:12px;line-height:1.55;font-weight:800}
.smrc-menu__article:hover{background:#eef4fa}
.smrc-menu__map{display:inline-flex;margin:7px 10px 0;color:var(--smglohdr-blue)!important;text-decoration:none!important;font-size:10px;font-weight:800}
.smglohdr-mobile-recent{margin-top:20px;padding-top:17px;border-top:1px solid var(--smglohdr-line)}
.smglohdr-mobile-recent .smrc-menu__label{margin:0 2px 9px}
.smrc-mobile-history-card{padding:14px 14px 13px;border:1px solid #dce7f1;border-radius:13px;background:linear-gradient(145deg,#f3f7fb,#fff);box-shadow:0 7px 20px rgba(7,45,89,.045)}
.smrc-mobile-history-card>small{display:block;margin-bottom:6px;color:#6f8295;font-size:10px;font-weight:750}
.smrc-mobile-history-card>strong{display:block;color:#12395f;font-size:14px;line-height:1.55}
.smrc-mobile-history-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}
.smrc-mobile-history-actions a{display:flex;align-items:center;justify-content:center;min-height:39px;padding:7px 9px;border-radius:9px;text-decoration:none!important;font-size:11px;font-weight:850;text-align:center}
.smrc-mobile-history-primary{background:#072d59;color:#fff!important}
.smrc-menu__mapbtn{border:1px solid #cbd9e6;background:#fff;color:#245d91!important}
.smrc-mobile-history-older{margin-top:12px}
.smrc-mobile-history-older>span{display:block;margin:0 2px 6px;color:#8797a7;font-size:9px;font-weight:850;letter-spacing:.04em}
.smrc-mobile-history-older>a{position:relative;display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:9px 2px;border-top:1px solid #e8eef4;text-decoration:none!important;color:#244d73!important}
.smrc-mobile-history-older>a small{grid-column:1;color:#8797a7;font-size:9px;line-height:1.35}
.smrc-mobile-history-older>a b{grid-column:1;font-size:11px;line-height:1.45}
.smrc-mobile-history-older>a i{grid-column:2;grid-row:1 / span 2;align-self:center;font-style:normal;font-size:14px}

.smrc-kicker{display:block;margin-bottom:5px;color:#4777a5;font-size:9px;font-weight:900;letter-spacing:.18em}

@media(max-width:900px){
}
@media(max-width:599px){
}

.smrc-sidebar{color:#173b5d}
.smrc-sidebar--inside-toc{margin:13px -2px -2px;padding-top:12px;border-top:1px solid #dde7f0}
.smrc-sidebar__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.smrc-sidebar__head>span{color:#7b90a5;font-size:8px;font-weight:950;letter-spacing:.15em}
.smrc-sidebar__phase{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7b90a5;font-size:9px;font-weight:750}
.smrc-sidebar__main{display:block;padding:11px 12px;border-radius:10px;background:#072d59;text-decoration:none!important;color:#fff!important;box-shadow:0 7px 18px rgba(7,45,89,.16)}
.smrc-sidebar__main small{display:block;margin-bottom:2px;color:rgba(255,255,255,.67);font-size:8px;font-weight:850;letter-spacing:.06em}
.smrc-sidebar__main strong{display:block;margin-bottom:4px;font-size:12px;line-height:1.4;color:#fff}
.smrc-sidebar__main b{display:block;color:#fff;font-size:9px;font-weight:850}
.smrc-sidebar__genre{display:block;margin-top:6px;padding:3px 2px;text-align:right;text-decoration:none!important;color:#557a9e!important;font-size:9px;font-weight:800}
.smrc-sidebar--fallback{position:sticky;top:92px;margin:0 0 18px;padding:12px;border:1px solid #dce6ef;border-radius:12px;background:#f8fbfe}
.admin-bar .smrc-sidebar--fallback{top:124px}

.smrc-404-card{max-width:680px;margin-top:22px;padding:16px 18px;border:1px solid #d7e3ee;border-radius:13px;background:#f7fafe}
.smrc-404-card>strong{display:block;margin-bottom:7px;color:#12395f;font-size:.9rem}
.smrc-404-card>a{display:block;color:#245d91!important;text-decoration:none!important;font-size:.82rem;font-weight:800;line-height:1.55}
.smrc-404-card>a b{font-size:.9rem}
.smrc-404-card__map{margin-top:6px!important;color:#6a8299!important;font-size:.7rem!important;font-weight:750!important}

@media(max-width:900px){
}
@media(max-width:599px){
}

/* Current location inside the mobile menu: coordinates, not article repetition. */
.smrc-mobile-current{padding:2px 0 0}
.smrc-current-theme{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:11px;background:#072d59;text-decoration:none!important;color:#fff!important;box-shadow:0 7px 18px rgba(7,45,89,.12)}
.smrc-current-theme strong{font-size:15px;line-height:1.4;color:#fff}
.smrc-current-theme span{font-size:16px;font-weight:900}
.smrc-current-phase{display:block;padding:7px 3px 0;color:#70859a;font-size:10px;font-weight:750;line-height:1.45}
.smrc-current-nearby{margin-top:14px;padding-top:12px;border-top:1px solid #e4ebf2}
.smrc-current-nearby>span{display:block;margin:0 2px 8px;color:#74899d;font-size:10px;font-weight:900;letter-spacing:.07em}
.smrc-current-nearby__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.smrc-current-nearby__grid a{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:42px;padding:9px 10px;border-radius:9px;background:#f3f7fb;text-decoration:none!important;color:#294d70!important;font-size:11px;font-weight:800;line-height:1.35}
.smrc-current-nearby__grid a b{font-size:12px}
@media(max-width:380px){.smrc-current-nearby__grid{grid-template-columns:1fr}}
