:root{
  --jm-navy:#061829;
  --jm-navy-2:#0a2842;
  --jm-navy-3:#103a5e;
  --jm-cream:#fff0c8;
  --jm-paper:#fff9e8;
  --jm-ink:#102238;
  --jm-gold:#ffd35e;
  --jm-orange:#ff9b42;
  --jm-red:#f04f48;
  --jm-blue:#4ec4f6;
  --jm-white:#fffef7;
  --jm-border:#0d2034;
  --jm-shadow:rgba(0,0,0,.28);
}

html{scroll-behavior:smooth}
body.jm-front-page{background:var(--jm-navy);}
body.jm-front-page .l-content{margin-top:0!important}
body.jm-front-page #content{padding-top:0!important}
body.jm-front-page .l-mainContent{padding-top:0!important}
body.jm-front-page .c-pageTitle{display:none!important}
body.jm-front-page .post_content{margin-top:0!important}
body.jm-front-page .post_content > *:first-child{margin-top:0!important}
html body.jm-hide-swell-header #header,
html body.jm-hide-swell-header header#header,
html body.jm-hide-swell-header #fix_header,
html body.jm-hide-swell-header .l-header,
html body.jm-hide-swell-header .l-fixHeader,
html body.jm-hide-swell-header .l-header__spNav{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}

/* v0.13.3: robust fallback for SWELL single-post headers. */
body.single-post #header,
body.single-post header#header,
body.single-post #fix_header,
body.single-post header.l-header,
body.single-post .l-header,
body.single-post .l-fixHeader,
body.single-post .l-header__spNav,
body.single #header,
body.single #fix_header,
body.single .l-header,
body.single .l-fixHeader{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}

/* v0.6: the managed front page is rendered by the plugin template, so no breakout hack is needed. */
body.jm-front-page{overflow-x:hidden!important;margin:0!important}
body.jm-front-page .jm-front-root{width:100%;max-width:none;margin:0;padding:0}
body.jm-front-page .jm-hero,
body.jm-front-page .jm-home-section{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Keep SWELL's useful menu/search behavior, but skin the header as game UI. */
body.jm-front-page.jm-style-swell-header .l-header{
  background:rgba(5,20,35,.98)!important;
  border-bottom:2px solid var(--jm-gold)!important;
  box-shadow:0 3px 0 var(--jm-border),0 8px 22px rgba(0,0,0,.18)!important;
  color:var(--jm-white)!important;
}
body.jm-front-page.jm-style-swell-header .l-header__inner,
body.jm-front-page.jm-style-swell-header .l-header__body{background:transparent!important}
body.jm-front-page.jm-style-swell-header .l-header a,
body.jm-front-page.jm-style-swell-header .l-header button,
body.jm-front-page.jm-style-swell-header .l-header .c-iconBtn{color:var(--jm-white)!important}
body.jm-front-page.jm-style-swell-header .c-headLogo__link,
body.jm-front-page.jm-style-swell-header .c-headLogo__link span{
  color:var(--jm-gold)!important;
  font-family:ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  text-shadow:0 2px 0 #bd4b31!important;
}
body.jm-front-page.jm-style-swell-header .c-gnav > li > a,
body.jm-front-page.jm-style-swell-header .c-gnav .ttl{color:var(--jm-white)!important;font-weight:800!important}

.jm-rpg-window,
.jm-quest-card,
.jm-area-card,
.jm-start-button,
.jm-button{
  box-sizing:border-box;
}

.jm-home-section{
  position:relative;
  margin:0!important;
  padding:34px 18px;
  background:var(--jm-navy);
  color:var(--jm-white);
}
.jm-home-section:nth-of-type(even){background:#082039}
.jm-section-heading{
  margin:0!important;
  color:var(--jm-white)!important;
  font-weight:900!important;
  letter-spacing:.04em;
  font-size:clamp(22px,4vw,34px)!important;
  line-height:1.25;
}
.jm-section-lead{margin:7px 0 18px!important;color:#d7e5f0;font-size:13px}

.jm-rpg-window{
  position:relative;
  background:rgba(5,19,33,.95);
  color:var(--jm-white);
  border:3px solid var(--jm-white);
  outline:3px solid var(--jm-border);
  box-shadow:7px 7px 0 var(--jm-shadow);
  padding:20px;
  border-radius:1px;
}
.jm-rpg-window:before,
.jm-rpg-window:after{
  content:"";
  position:absolute;
  width:5px;height:5px;
  background:var(--jm-gold);
}
.jm-rpg-window:before{left:7px;top:7px}
.jm-rpg-window:after{right:7px;bottom:7px}
.jm-rpg-window h2{color:var(--jm-gold)!important;margin:0 0 10px!important;letter-spacing:.04em}
.jm-rpg-window p{margin:0;line-height:1.9;color:var(--jm-white)}

.jm-hero{
  position:relative;
  min-height:640px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 72% 20%, rgba(255,210,90,.18), transparent 24%),
    linear-gradient(180deg,#12375b 0%,#071a2b 68%,#061829 100%);
  color:var(--jm-white);
  isolation:isolate;
}
.jm-hero__media{position:absolute;inset:0;z-index:-3}
.jm-hero__media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.jm-hero__shade{
  position:absolute;inset:0;z-index:-2;
  background:linear-gradient(180deg,rgba(2,12,22,.18) 0%,rgba(2,12,22,.28) 42%,rgba(2,12,22,.88) 100%);
}
.jm-hero:after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:4px 4px;mix-blend-mode:overlay;
}
.jm-hero__content{width:min(1160px,100%);margin:0 auto;padding:78px 34px 64px}
.jm-hero__kicker{margin:0 0 10px;font-size:18px;font-weight:900;text-shadow:2px 2px 0 #000}
.jm-hero__title{
  margin:0!important;
  color:var(--jm-gold)!important;
  font-family:ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  font-size:clamp(54px,9vw,118px)!important;
  line-height:.9!important;
  letter-spacing:-.055em;
  text-shadow:0 5px 0 #bd4b31,5px 0 0 #552919,0 9px 18px rgba(0,0,0,.45);
}
.jm-hero__subtitle{margin:12px 0 24px;font-weight:900;font-size:20px;letter-spacing:.16em;text-shadow:2px 2px 0 #000}
.jm-hero__window{width:min(430px,100%);margin-bottom:16px}
.jm-start-button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:12px 20px;
  color:var(--jm-white)!important;text-decoration:none!important;
  background:var(--jm-navy);border:3px solid var(--jm-white);outline:3px solid var(--jm-border);
  box-shadow:5px 5px 0 var(--jm-shadow);font-weight:900;letter-spacing:.04em;
  transition:transform .12s ease,box-shadow .12s ease;
}
.jm-start-button:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--jm-shadow)}
.jm-start-button--small{font-size:14px;min-height:46px}
.jm-hero__scroll{position:absolute;right:20px;bottom:18px;font-size:22px;animation:jm-bounce 1.4s infinite}
@keyframes jm-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

.jm-world-map{
  background:var(--jm-cream);
  color:var(--jm-ink);
  padding:10px;
  border:4px solid var(--jm-border);
  box-shadow:7px 7px 0 var(--jm-shadow);
}
.jm-world-map__stage{
  position:relative;
  overflow:hidden;
  min-height:560px;
  aspect-ratio:800/920;
  margin-bottom:8px;
  border:3px solid var(--jm-border);
  background:#84a98c;
  isolation:isolate;
}
.jm-map-art,.jm-world-map__custom-art{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.jm-map-art{image-rendering:pixelated}
.jm-world-map__custom-art{z-index:0}
.jm-map-hotspot{
  --x:50%;--y:50%;
  position:absolute;left:var(--x);top:var(--y);z-index:5;
  transform:translate(-50%,-50%);
  display:flex;align-items:center;gap:5px;
  max-width:160px;padding:4px 6px;
  color:#fff!important;text-decoration:none!important;
  background:rgba(6,24,39,.92);border:2px solid #f5e7b5;
  box-shadow:3px 3px 0 rgba(0,0,0,.42);
  font-size:11px;font-weight:900;line-height:1.2;white-space:nowrap;
}
.jm-map-hotspot:hover{z-index:20;transform:translate(calc(-50% + 1px),calc(-50% + 1px));box-shadow:1px 1px 0 rgba(0,0,0,.42)}
.jm-map-hotspot__dot{flex:0 0 9px;width:9px;height:9px;background:var(--jm-gold);border:2px solid #182c3a;box-shadow:1px 1px 0 #000}
.jm-map-hotspot__start{position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%);padding:2px 5px;background:var(--jm-red);border:2px solid #f7f0ce;color:#fff;font:900 8px/1 ui-monospace,monospace;letter-spacing:.08em}
.jm-map-hotspot--start{background:#7d2d2a;border-color:#fff0b0;box-shadow:0 0 0 2px #172c3a,4px 4px 0 rgba(0,0,0,.42)}
.jm-map-hotspot--start .jm-map-hotspot__dot{background:#fff2a3}
.jm-map-hotspot__count{margin-left:auto;padding-left:4px;font:800 8px/1 ui-monospace,monospace;letter-spacing:.04em;opacity:.78}
.jm-map-route{position:absolute;left:20px;top:20px;z-index:4;display:flex;align-items:center;gap:7px;color:#173047;font-weight:900;font-size:11px}
.jm-map-route span{padding:3px 6px;background:var(--jm-red);color:#fff;border:2px solid #173047;font:900 9px/1 ui-monospace,monospace}
.jm-map-route b{padding:4px 7px;background:rgba(247,241,208,.88);border:2px solid #173047}
.jm-map-note{margin:0 0 12px!important;font-size:10px!important;line-height:1.6;color:#53606b}

.jm-quest-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.jm-quest-card{
  overflow:hidden;background:var(--jm-paper);border:3px solid var(--jm-border);
  box-shadow:5px 5px 0 rgba(0,0,0,.2);border-radius:2px;color:var(--jm-ink);
}
.jm-quest-card__thumb{display:block;aspect-ratio:16/9;background:#9eb0b6;overflow:hidden;text-decoration:none!important}
.jm-quest-card__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.jm-quest-card:hover .jm-quest-card__thumb img{transform:scale(1.025)}
.jm-quest-card__placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:42px;font-weight:900;color:#314556}
.jm-quest-card__body{padding:12px}
.jm-quest-card__meta{display:flex;gap:8px;align-items:center;justify-content:space-between;font-size:10px;margin-bottom:8px;color:#5a6671}
.jm-tag{display:inline-block;background:var(--jm-gold);color:var(--jm-ink);border:2px solid var(--jm-border);padding:2px 6px;font-weight:800;line-height:1.2}
.jm-quest-card h3{font-size:16px;line-height:1.45;margin:0 0 8px!important;color:var(--jm-ink)!important}
.jm-quest-card h3 a{color:var(--jm-ink)!important;text-decoration:none!important}
.jm-quest-card p{font-size:12px;line-height:1.7;margin:0 0 12px;color:#455565}
.jm-button{display:inline-flex;background:var(--jm-navy);color:#fff!important;text-decoration:none!important;border:2px solid var(--jm-border);box-shadow:2px 2px 0 rgba(0,0,0,.25);font-weight:800}
.jm-button--small{padding:7px 9px;font-size:11px}

.jm-area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.jm-area-card{
  min-height:102px;background:var(--jm-paper);border:3px solid var(--jm-border);
  padding:14px 8px;text-align:center;text-decoration:none!important;color:var(--jm-ink)!important;
  display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:3px 3px 0 rgba(0,0,0,.16)
}
.jm-area-card:hover{transform:translateY(-1px)}
.jm-area-card__pixel{font-size:20px;color:var(--jm-red);line-height:1;margin-bottom:7px}
.jm-area-card__name{font-weight:900;font-size:13px}
.jm-area-card__count{font-size:9px;opacity:.6;margin-top:5px;letter-spacing:.08em}
.jm-area-card--start{position:relative;background:#fff3bf;box-shadow:0 0 0 2px var(--jm-red),4px 4px 0 rgba(0,0,0,.18)}
.jm-area-card__start{position:absolute;top:5px;right:5px;padding:2px 5px;background:var(--jm-red);color:#fff;border:1px solid var(--jm-border);font:900 8px/1 ui-monospace,monospace;letter-spacing:.08em}

.jm-site-intro{max-width:760px;margin-inline:auto}
.jm-site-intro__label{font-family:ui-monospace,monospace;font-size:10px!important;color:var(--jm-blue)!important;letter-spacing:.14em;margin-bottom:6px!important}
.jm-random{text-align:center;background:var(--jm-cream);border:4px solid var(--jm-border);padding:24px;color:var(--jm-ink);box-shadow:6px 6px 0 var(--jm-shadow)}
.jm-random p{margin:0 0 14px;font-weight:800}
.jm-empty-message{background:rgba(255,255,255,.08);border:1px dashed rgba(255,255,255,.35);padding:14px;color:#d9e7f2}

.jm-mobile-nav{display:none}

@media (max-width: 959px){
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  body.jm-front-page{overflow-x:hidden}
  body.jm-front-page .l-container{max-width:none!important;padding-left:0!important;padding-right:0!important}
  body.jm-front-page .l-mainContent{width:100%!important;max-width:none!important}
  body.jm-front-page .l-mainContent__inner{padding:0!important}
  body.jm-front-page .post_content{padding:0!important}

  .jm-hero{min-height:calc(100svh - 60px);align-items:flex-end}
  .jm-hero__media img{object-position:center center}
  .jm-hero__shade{background:linear-gradient(180deg,rgba(2,12,22,.12) 0%,rgba(2,12,22,.18) 44%,rgba(2,12,22,.93) 100%)}
  .jm-hero__content{padding:118px 18px 34px}
  .jm-hero__kicker{font-size:16px;margin-bottom:8px}
  .jm-hero__title{font-size:clamp(50px,17vw,82px)!important;max-width:340px;line-height:.84!important}
  .jm-hero__subtitle{font-size:14px;margin:10px 0 16px}
  .jm-hero__window{padding:14px;margin-bottom:14px;font-size:13px;line-height:1.7}
  .jm-start-button{width:100%;min-height:54px}
  .jm-hero__scroll{right:14px;bottom:16px}

  .jm-home-section{padding:28px 12px}
  .jm-section-heading{font-size:22px!important}
  .jm-section-lead{font-size:12px;margin-bottom:14px!important}

  .jm-world-map{padding:7px;border-width:3px;box-shadow:4px 4px 0 var(--jm-shadow)}
  .jm-world-map__stage{min-height:0;aspect-ratio:4/5;border-width:2px;margin-bottom:7px}
  .jm-map-hotspot{gap:3px;max-width:105px;padding:3px 4px;border-width:1px;box-shadow:2px 2px 0 rgba(0,0,0,.42);font-size:8.5px}
  .jm-map-hotspot__dot{flex-basis:7px;width:7px;height:7px;border-width:1px}
  .jm-map-hotspot__start{bottom:calc(100% + 2px);padding:2px 3px;border-width:1px;font-size:6.5px}
  .jm-map-route{left:8px;top:8px;gap:4px;font-size:8px}
  .jm-map-route span{padding:2px 4px;border-width:1px;font-size:7px}
  .jm-map-route b{padding:3px 5px;border-width:1px}
  .jm-map-note{font-size:9px!important;margin-bottom:9px!important}

  .jm-quest-list{grid-template-columns:1fr;gap:9px}
  .jm-quest-card{display:grid;grid-template-columns:116px minmax(0,1fr);box-shadow:3px 3px 0 rgba(0,0,0,.2)}
  .jm-quest-card__thumb{aspect-ratio:auto;height:100%;min-height:116px}
  .jm-quest-card__body{padding:9px 10px}
  .jm-quest-card__meta{font-size:9px;margin-bottom:6px}
  .jm-tag{padding:2px 5px;border-width:1px;max-width:96px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .jm-quest-card h3{font-size:14px;line-height:1.42;margin-bottom:5px!important}
  .jm-quest-card p{display:none}
  .jm-button--small{padding:4px 7px;font-size:10px;border-width:1px;box-shadow:none}

  .jm-area-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .jm-area-card{min-height:82px;padding:9px 5px;border-width:2px;box-shadow:2px 2px 0 rgba(0,0,0,.16)}
  .jm-area-card__pixel{font-size:17px;margin-bottom:4px}
  .jm-area-card__name{font-size:12px}
  .jm-area-card__count{font-size:8px}

  .jm-rpg-window{padding:15px;border-width:2px;outline-width:2px;box-shadow:4px 4px 0 var(--jm-shadow)}
  .jm-random{padding:18px 12px;border-width:3px;box-shadow:4px 4px 0 var(--jm-shadow)}
  .jm-random .jm-start-button{font-size:12px}

  .jm-mobile-nav{
    position:fixed;left:0;right:0;bottom:0;z-index:999999;
    min-height:64px;background:rgba(5,20,35,.98);border-top:2px solid var(--jm-gold);
    display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom);
    box-shadow:0 -5px 18px rgba(0,0,0,.24);backdrop-filter:blur(8px)
  }
  .jm-mobile-nav a{
    min-width:0;color:#fff!important;text-decoration:none!important;display:flex;flex-direction:column;
    justify-content:center;align-items:center;gap:3px;font-size:9px;font-weight:800;line-height:1;padding:7px 1px 6px
  }
  .jm-mobile-nav__icon{font-size:19px;color:var(--jm-gold);line-height:1}

  body.jm-front-page.jm-style-swell-header .l-header{min-height:60px!important}
  body.jm-front-page.jm-style-swell-header .l-header__inner{min-height:60px!important}
  body.jm-front-page.jm-style-swell-header .c-headLogo__link{font-size:20px!important}
}

@media (min-width: 960px){
  .jm-front-page .jm-home-section > *{max-width:1180px;margin-left:auto;margin-right:auto}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .jm-hero__scroll{animation:none}
  .jm-quest-card__thumb img,.jm-start-button{transition:none}
}

/* =========================================================
   v0.5 dedicated JUJO MANIAC header
   The SWELL header is hidden on the front page by critical CSS.
   ========================================================= */
.jm-site-header{
  position:sticky;
  top:0;
  z-index:999990;
  width:100%;
  background:#061829;
  color:var(--jm-white);
  border-bottom:2px solid var(--jm-gold);
  box-shadow:0 3px 0 var(--jm-border),0 8px 22px rgba(0,0,0,.22);
}
.admin-bar .jm-site-header{top:32px}
.jm-site-header__inner{
  width:min(1440px,100%);
  min-height:70px;
  margin:0 auto;
  padding:0 22px;
  display:flex;
  align-items:center;
  gap:20px;
}
.jm-site-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:max-content;
  color:var(--jm-gold)!important;
  text-decoration:none!important;
  font-family:ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  line-height:1;
}
.jm-site-brand__main{
  font-size:28px;
  font-weight:1000;
  letter-spacing:-.055em;
  text-shadow:0 3px 0 #bd4b31,3px 0 0 #552919;
}
.jm-site-brand__sub{
  margin-top:5px;
  color:var(--jm-white);
  font-size:9px;
  font-weight:800;
  letter-spacing:.28em;
  text-shadow:none;
}
.jm-desktop-nav{
  margin-left:auto;
  display:flex;
  align-items:stretch;
  min-height:70px;
}
.jm-desktop-nav a{
  position:relative;
  min-width:88px;
  padding:10px 14px 8px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  color:var(--jm-white)!important;
  text-decoration:none!important;
  border-left:1px solid rgba(255,255,255,.08);
  font-size:10px;
  font-weight:800;
  letter-spacing:.03em;
}
.jm-desktop-nav a:hover{background:#0a2842;color:var(--jm-gold)!important}
.jm-desktop-nav__icon{color:var(--jm-gold);font-size:18px;line-height:1}
.jm-head-drawer{position:relative;margin:0}
.jm-head-drawer summary{list-style:none}
.jm-head-drawer summary::-webkit-details-marker{display:none}
.jm-head-icon{
  width:44px;
  height:44px;
  padding:0;
  border:0;
  display:grid;
  place-items:center;
  color:var(--jm-white);
  background:transparent;
  cursor:pointer;
  font-size:27px;
  line-height:1;
}
.jm-head-drawer--menu{display:none}
.jm-head-drawer--search{margin-left:0}
.jm-head-panel{
  position:absolute;
  top:calc(100% + 14px);
  right:0;
  min-width:250px;
  padding:8px;
  background:#061829;
  border:2px solid var(--jm-white);
  outline:2px solid var(--jm-border);
  box-shadow:7px 7px 0 rgba(0,0,0,.32);
}
.jm-head-panel a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 13px;
  color:var(--jm-white)!important;
  text-decoration:none!important;
  font-weight:800;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.jm-head-panel a:last-child{border-bottom:0}
.jm-head-panel a span{color:var(--jm-gold);width:22px;text-align:center}
.jm-head-panel--search{width:min(360px,calc(100vw - 24px));padding:10px}
.jm-head-panel--search form{display:grid;grid-template-columns:1fr auto;gap:7px}
.jm-head-panel--search input{
  min-width:0;
  height:42px;
  padding:0 12px;
  border:2px solid var(--jm-white);
  border-radius:0;
  background:#fffef7;
  color:#102238;
}
.jm-head-panel--search button{
  height:42px;
  padding:0 15px;
  border:2px solid var(--jm-white);
  border-radius:0;
  background:var(--jm-gold);
  color:var(--jm-ink);
  font-weight:900;
}

@media (max-width:959px){
  .admin-bar .jm-site-header{top:46px}
  .jm-site-header__inner{
    min-height:58px;
    height:58px;
    padding:0 8px;
    gap:2px;
    justify-content:space-between;
  }
  .jm-site-brand{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    align-items:center;
    max-width:calc(100% - 104px);
  }
  .jm-site-brand__main{
    font-size:20px;
    white-space:nowrap;
    text-shadow:0 2px 0 #bd4b31,2px 0 0 #552919;
  }
  .jm-site-brand__sub{display:none}
  .jm-desktop-nav{display:none}
  /* v0.17.1: bottom navigation already places MENU on the right, so mirror that
     muscle memory in the top bar. Search moves to the left and the hamburger to the right. */
  .jm-head-drawer--search{display:block;order:1;margin-left:0;margin-right:auto}
  .jm-head-drawer--menu{display:block;order:3;margin-left:auto;margin-right:0}
  .jm-head-panel{
    position:fixed;
    top:60px;
    left:10px;
    right:10px;
    width:auto;
    min-width:0;
    max-height:calc(100svh - 140px);
    overflow:auto;
  }
  .admin-bar .jm-head-panel{top:106px}
  .jm-head-panel--search{width:auto}

  /* Mobile first view: use the screen as a game title screen, not a centered article box. */
  .jm-hero{
    min-height:calc(100svh - 58px - 64px);
    align-items:flex-end;
  }
  .jm-hero__content{
    width:100%;
    margin:0;
    padding:48px 18px 28px;
  }
  .jm-hero__title{
    font-size:clamp(52px,18vw,82px)!important;
    max-width:360px;
  }
}

@media (max-width:782px){
  .admin-bar .jm-site-header{top:46px}
}

/* =========================================================
   v0.7 Kita-wide discovery + HERO FILE sections
   ========================================================= */
.jm-genre-section{
  background:
    radial-gradient(circle at 90% 0%,rgba(255,211,94,.08),transparent 26%),
    #071c31!important;
}
.jm-genre-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.jm-discovery-card{
  position:relative;
  min-height:112px;
  padding:14px 10px 12px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  overflow:hidden;
  background:var(--jm-paper);
  color:var(--jm-ink)!important;
  text-decoration:none!important;
  border:3px solid var(--jm-border);
  box-shadow:4px 4px 0 rgba(0,0,0,.22);
  transition:transform .12s ease,box-shadow .12s ease;
}
.jm-discovery-card:after{
  content:"";
  position:absolute;
  top:0;right:0;
  width:24px;height:24px;
  background:linear-gradient(135deg,transparent 48%,var(--jm-gold) 49%);
  opacity:.85;
}
.jm-discovery-card:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 rgba(0,0,0,.22)}
.jm-discovery-card__icon{
  position:absolute;
  left:11px;top:10px;
  color:var(--jm-red);
  font-family:ui-monospace,monospace;
  font-size:26px;
  line-height:1;
  font-weight:900;
}
.jm-discovery-card__name{font-size:14px;font-weight:900;line-height:1.35}
.jm-discovery-card__count{margin-top:4px;font:800 9px/1.2 ui-monospace,monospace;letter-spacing:.07em;opacity:.55}

.jm-heroes-section{
  background:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
    #051726!important;
  background-size:5px 5px,5px 5px,auto;
}
.jm-hero-roster{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.jm-hero-card{
  min-width:0;
  overflow:hidden;
  background:var(--jm-paper);
  color:var(--jm-ink);
  border:3px solid var(--jm-border);
  box-shadow:6px 6px 0 rgba(0,0,0,.28);
}
.jm-hero-card__portrait{
  position:relative;
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#17334b;
  text-decoration:none!important;
  border-bottom:3px solid var(--jm-border);
}
.jm-hero-card__portrait:after{
  content:"勇者";
  position:absolute;
  right:7px;bottom:7px;
  padding:4px 7px;
  background:var(--jm-gold);
  color:var(--jm-ink);
  border:2px solid var(--jm-border);
  font-size:10px;
  font-weight:1000;
  letter-spacing:.08em;
}
.jm-hero-card__portrait img{width:100%;height:100%;object-fit:cover;display:block}
.jm-hero-card__placeholder{display:grid;place-items:center;height:100%;font-size:64px;color:var(--jm-gold)}
.jm-hero-card__body{padding:13px 13px 15px}
.jm-hero-card__file{
  display:block;
  margin-bottom:5px;
  color:var(--jm-red);
  font:1000 10px/1 ui-monospace,monospace;
  letter-spacing:.17em;
}
.jm-hero-card__job{
  display:inline-block;
  margin-bottom:8px;
  padding:3px 6px;
  background:var(--jm-navy);
  color:var(--jm-white);
  font:800 9px/1.2 ui-monospace,monospace;
  letter-spacing:.04em;
}
.jm-hero-card h3{margin:0 0 7px!important;font-size:17px;line-height:1.45;color:var(--jm-ink)!important}
.jm-hero-card h3 a{color:var(--jm-ink)!important;text-decoration:none!important}
.jm-hero-card p{margin:0 0 12px;font-size:12px;line-height:1.75;color:#455565}
.jm-hero-empty{
  padding:24px 18px;
  display:grid;
  place-items:center;
  text-align:center;
  background:rgba(255,255,255,.055);
  border:2px dashed rgba(255,255,255,.28);
  color:#e4edf4;
}
.jm-hero-empty>span{font-size:35px;color:var(--jm-gold);line-height:1;margin-bottom:8px}
.jm-hero-empty strong{font-size:15px}
.jm-hero-empty p{margin:7px 0 0;font-size:12px;line-height:1.7;color:#bfd0dc}

@media (max-width:959px){
  .jm-genre-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .jm-discovery-card{min-height:90px;padding:10px 8px 9px;border-width:2px;box-shadow:2px 2px 0 rgba(0,0,0,.2)}
  .jm-discovery-card__icon{left:8px;top:8px;font-size:21px}
  .jm-discovery-card__name{font-size:12px}
  .jm-discovery-card__count{font-size:8px}

  /* HERO FILE is intentionally swipeable on mobile: one-and-a-bit cards invites exploration. */
  .jm-hero-roster{
    display:flex;
    gap:10px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
    padding:2px 14vw 10px 1px;
    margin-right:-12px;
    scrollbar-width:none;
  }
  .jm-hero-roster::-webkit-scrollbar{display:none}
  .jm-hero-card{flex:0 0 82%;scroll-snap-align:start;border-width:2px;box-shadow:4px 4px 0 rgba(0,0,0,.26)}
  .jm-hero-card__portrait{aspect-ratio:16/10;border-bottom-width:2px}
  .jm-hero-card__portrait:after{font-size:9px;border-width:1px}
  .jm-hero-card__body{padding:11px 11px 12px}
  .jm-hero-card h3{font-size:15px}
  .jm-hero-card p{font-size:11px;line-height:1.65}
}

/* =========================================================
   v0.9 editorial-first home: new quests before map
   + RPG world map artwork
   ========================================================= */
.jm-new-section{
  background:
    radial-gradient(circle at 12% 0%,rgba(255,211,94,.09),transparent 28%),
    #071c31!important;
}
.jm-new-quest-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.jm-new-quest-card{
  overflow:hidden;
  min-width:0;
  background:var(--jm-paper);
  border:3px solid var(--jm-border);
  box-shadow:5px 5px 0 rgba(0,0,0,.22);
  color:var(--jm-ink);
}
.jm-new-quest-card__thumb{
  position:relative;
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#9eb0b6;
  text-decoration:none!important;
}
.jm-new-quest-card__thumb img{
  width:100%;height:100%;display:block;object-fit:cover;
  transition:transform .22s ease;
}
.jm-new-quest-card:hover .jm-new-quest-card__thumb img{transform:scale(1.025)}
.jm-new-quest-card__new{
  position:absolute;right:7px;bottom:7px;
  padding:3px 6px;
  background:var(--jm-red);color:#fff;
  border:2px solid #fff3c9;
  box-shadow:2px 2px 0 rgba(0,0,0,.35);
  font:900 9px/1 ui-monospace,monospace;
  letter-spacing:.08em;
}
.jm-new-quest-card__body{padding:11px 12px 13px}
.jm-new-quest-card__meta{
  display:flex;align-items:center;justify-content:space-between;gap:7px;
  margin-bottom:8px;color:#586673;font-size:10px;
}
.jm-new-quest-card h3{
  margin:0!important;
  color:var(--jm-ink)!important;
  font-size:16px!important;line-height:1.45!important;
}
.jm-new-quest-card h3 a{color:var(--jm-ink)!important;text-decoration:none!important}
.jm-new-quest-card p{margin:8px 0 0!important;color:#4c5b68;font-size:12px;line-height:1.7}
.jm-new-quest-more{display:flex;justify-content:center;margin-top:20px}

.jm-map-section{background:#061829!important}
.jm-map-section .jm-world-map{
  width:min(820px,100%)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.jm-world-map--rpg-art{background:#071a2b;padding:8px;border-color:#f0c24e}
.jm-world-map--rpg-art .jm-world-map__stage{
  aspect-ratio:1122/1402;
  min-height:0;
  background:#071a2b;
  border-color:#f0c24e;
}
.jm-world-map--rpg-art .jm-world-map__custom-art{object-fit:contain;background:#071a2b}
.jm-world-map--rpg-art .jm-map-hotspot--image-zone{
  width:var(--w,18%);height:var(--h,7%);max-width:none;padding:0;
  border:2px solid transparent;background:transparent;box-shadow:none;
  color:transparent!important;font-size:0;cursor:pointer;
  touch-action:manipulation;-webkit-tap-highlight-color:rgba(255,211,94,.18);
}
.jm-world-map--rpg-art .jm-map-hotspot--image-zone .jm-map-hotspot__dot,
.jm-world-map--rpg-art .jm-map-hotspot--image-zone .jm-map-hotspot__label,
.jm-world-map--rpg-art .jm-map-hotspot--image-zone .jm-map-hotspot__start{display:none}
.jm-world-map--rpg-art .jm-map-hotspot--image-zone .jm-map-hotspot__count{
  display:block;position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);
  min-width:44px;padding:2px 4px;margin:0;text-align:center;white-space:nowrap;
  color:#fff8d7;background:rgba(4,20,35,.94);border:1px solid #f0c24e;
  box-shadow:2px 2px 0 rgba(0,0,0,.42);font:900 7px/1 ui-monospace,monospace;
  letter-spacing:.03em;pointer-events:none;
}
.jm-world-map--rpg-art .jm-map-hotspot--start .jm-map-hotspot__count{background:#8a2f2b;border-color:#fff0b0}
.jm-world-map--rpg-art .jm-map-hotspot--image-zone:hover,
.jm-world-map--rpg-art .jm-map-hotspot--image-zone:focus-visible{
  border-color:rgba(255,211,94,.95);
  background:rgba(255,211,94,.09);
  box-shadow:0 0 0 2px rgba(6,24,41,.8),0 0 18px rgba(255,211,94,.45);
  outline:none;
  transform:translate(-50%,-50%);
}
.jm-world-map--rpg-art .jm-map-hotspot--image-zone:active{
  border-color:#fff2a3;background:rgba(255,211,94,.16);
  box-shadow:0 0 0 2px rgba(6,24,41,.9),0 0 22px rgba(255,211,94,.55);
}

.jm-map-area-list{margin-top:12px;border:2px solid rgba(240,194,78,.75);background:#061829;color:#fff8d7}
.jm-map-area-list summary{cursor:pointer;list-style:none;padding:11px 14px;font-weight:900;font-size:12px;letter-spacing:.04em;text-align:center}
.jm-map-area-list summary::-webkit-details-marker{display:none}
.jm-map-area-list summary::after{content:" ▾";color:#f0c24e}
.jm-map-area-list[open] summary::after{content:" ▴"}
.jm-map-area-list__chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 10px 12px}
.jm-map-area-list__chips a{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid rgba(255,248,215,.6);background:#0a2238;color:#fff!important;text-decoration:none!important;font-size:10px;font-weight:800}
.jm-map-area-list__chips small{color:#f0c24e;font:800 8px/1 ui-monospace,monospace;white-space:nowrap}

@media (max-width:959px){
  .jm-new-section{padding-top:24px}
  .jm-new-quest-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .jm-new-quest-card{border-width:2px;box-shadow:3px 3px 0 rgba(0,0,0,.2)}
  .jm-new-quest-card__thumb{aspect-ratio:4/3}
  .jm-new-quest-card__body{padding:7px 7px 8px}
  .jm-new-quest-card__meta{margin-bottom:5px;font-size:8px;gap:4px}
  .jm-new-quest-card__meta .jm-tag{max-width:82px;padding:2px 4px;font-size:8px}
  .jm-new-quest-card h3{font-size:11px!important;line-height:1.4!important}
  .jm-new-quest-card p{display:none}

  .jm-new-quest-card--lead{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:44% minmax(0,1fr);
    min-height:138px;
  }
  .jm-new-quest-card--lead .jm-new-quest-card__thumb{height:100%;aspect-ratio:auto}
  .jm-new-quest-card--lead .jm-new-quest-card__body{padding:10px}
  .jm-new-quest-card--lead h3{font-size:15px!important;line-height:1.45!important}
  .jm-new-quest-card--lead p{display:block;font-size:10px;line-height:1.55;margin-top:6px!important}
  .jm-new-quest-card--last{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:38% minmax(0,1fr);
  }
  .jm-new-quest-card--last .jm-new-quest-card__thumb{height:100%;aspect-ratio:auto;min-height:96px}
  .jm-new-quest-card--last .jm-new-quest-card__body{display:flex;flex-direction:column;justify-content:center;padding:9px 10px}
  .jm-new-quest-card--last h3{font-size:13px!important}
  .jm-new-quest-more{margin-top:14px}
  .jm-new-quest-more .jm-start-button{width:auto;min-height:44px;padding:10px 16px;font-size:11px}

  .jm-map-section .jm-world-map{width:100%!important}
  .jm-world-map--rpg-art{padding:5px;border-width:3px}
  .jm-world-map--rpg-art .jm-world-map__stage{aspect-ratio:1122/1402;margin-bottom:7px;border-width:2px}
  .jm-world-map--rpg-art .jm-map-hotspot--image-zone{width:var(--w,22%);height:var(--h,7.5%)}
  .jm-world-map--rpg-art .jm-map-hotspot--image-zone .jm-map-hotspot__count{bottom:-5px;min-width:38px;padding:2px 3px;font-size:6px}
  .jm-map-area-list{margin-top:8px}
  .jm-map-area-list summary{padding:9px 10px;font-size:10px}
  .jm-map-area-list__chips{gap:5px;padding:0 8px 9px}
  .jm-map-area-list__chips a{padding:5px 7px;font-size:9px}
  .jm-map-area-list__chips small{font-size:7px}
}

/* =========================================================
   v0.10 compact RPG genre menu + recursive area quest counts
   ========================================================= */
.jm-genre-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.jm-discovery-card{
  min-height:78px;
  padding:10px 34px 10px 48px;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  overflow:hidden;
  background:linear-gradient(180deg,#fff8df 0%,#f5edcf 100%);
  border:2px solid var(--jm-border);
  box-shadow:3px 3px 0 rgba(0,0,0,.24);
}
.jm-discovery-card:after{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:5px;height:auto;
  background:var(--jm-gold);
  opacity:1;
}
.jm-discovery-card__icon{
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:24px;
  text-align:center;
  font-size:23px;
}
.jm-discovery-card__text{display:flex;min-width:0;flex-direction:column;justify-content:center}
.jm-discovery-card__name{font-size:13px;font-weight:900;line-height:1.3}
.jm-discovery-card__count{margin-top:5px;font-size:8px;opacity:.58}
.jm-discovery-card__arrow{
  position:absolute;
  right:10px;top:50%;transform:translateY(-50%);
  color:var(--jm-red);
  font:900 11px/1 ui-monospace,monospace;
}
.jm-discovery-card:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 rgba(0,0,0,.22)}

@media (max-width:959px){
  .jm-genre-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .jm-discovery-card{
    min-height:66px;
    padding:8px 25px 8px 38px;
    border-width:2px;
    box-shadow:2px 2px 0 rgba(0,0,0,.22);
  }
  .jm-discovery-card:after{width:4px}
  .jm-discovery-card__icon{left:9px;width:22px;font-size:19px}
  .jm-discovery-card__name{font-size:11px;line-height:1.25}
  .jm-discovery-card__count{margin-top:4px;font-size:7px}
  .jm-discovery-card__arrow{right:7px;font-size:9px}
}

/* =========================================================
   v0.11 HERO DATABASE / RPG character file
   ========================================================= */
.jm-hero-database{
  position:relative;
}
.jm-hero-database__hud{
  margin:0 0 10px;
  padding:9px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:#041321;
  border:2px solid rgba(255,211,94,.78);
  box-shadow:3px 3px 0 rgba(0,0,0,.25);
  color:#f8e7ac;
  font:900 10px/1.2 ui-monospace,"SFMono-Regular",Consolas,monospace;
  letter-spacing:.12em;
}
.jm-hero-database__hud strong{
  color:var(--jm-gold);
  font-size:9px;
  letter-spacing:.08em;
}
.jm-hero-role-nav{
  display:flex;
  gap:6px;
  margin:0 0 13px;
  padding:1px 1px 4px;
  overflow-x:auto;
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
}
.jm-hero-role-nav::-webkit-scrollbar{display:none}
.jm-hero-role-nav a{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:6px;
  min-height:32px;
  padding:6px 9px;
  color:#fff9e8!important;
  background:#0a2842;
  border:1px solid rgba(255,211,94,.62);
  text-decoration:none!important;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}
.jm-hero-role-nav a span{color:var(--jm-gold)}
.jm-hero-role-nav a small{
  display:grid;
  place-items:center;
  min-width:18px;
  height:18px;
  padding:0 4px;
  background:var(--jm-gold);
  color:var(--jm-ink);
  font:900 8px/1 ui-monospace,monospace;
}

.jm-hero-roster{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.jm-hero-card{
  min-width:0;
  overflow:hidden;
  background:#061829;
  color:var(--jm-white);
  border:3px solid #f7e7b8;
  outline:2px solid #0a2842;
  box-shadow:6px 6px 0 rgba(0,0,0,.31);
}
.jm-hero-card__portrait{
  position:relative;
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#17334b;
  text-decoration:none!important;
  border-bottom:3px solid var(--jm-gold);
}
.jm-hero-card__portrait:after{display:none!important}
.jm-hero-card__portrait img{
  width:100%;height:100%;display:block;object-fit:cover;
  filter:saturate(.94) contrast(1.03);
  transition:transform .22s ease;
}
.jm-hero-card:hover .jm-hero-card__portrait img{transform:scale(1.025)}
.jm-hero-card__role{
  position:absolute;
  left:8px;bottom:8px;
  max-width:calc(100% - 16px);
  padding:4px 7px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  background:#0a2842;
  color:#ffd35e;
  border:2px solid #ffd35e;
  box-shadow:2px 2px 0 rgba(0,0,0,.38);
  font:900 9px/1.1 ui-monospace,monospace;
  letter-spacing:.04em;
}
.jm-hero-card__placeholder{
  display:grid;
  place-items:center;
  height:100%;
  font-size:64px;
  color:var(--jm-gold);
  background:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    #0b2944;
  background-size:6px 6px;
}
.jm-hero-card__body{padding:12px 12px 14px;background:#061829}
.jm-hero-card__file{
  margin:0 0 8px;
  padding-bottom:7px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px dashed rgba(255,211,94,.42);
  color:var(--jm-gold);
  font:900 9px/1 ui-monospace,monospace;
  letter-spacing:.16em;
}
.jm-hero-card__file b{font-size:13px;line-height:1}
.jm-hero-card h3{
  margin:0 0 9px!important;
  color:#fff4cf!important;
  font-size:18px!important;
  line-height:1.38!important;
}
.jm-hero-card h3 a{color:#fff4cf!important;text-decoration:none!important}
.jm-hero-card__job{
  display:flex;align-items:baseline;gap:8px;margin:0 0 9px!important;
  color:#fff8df!important;
}
.jm-hero-card__job span{
  color:var(--jm-gold);font:900 8px/1 ui-monospace,monospace;letter-spacing:.14em;
}
.jm-hero-card__job strong{
  min-width:0;color:#fff8df;font-size:14px;line-height:1.4;overflow-wrap:anywhere;
}
.jm-hero-card__stats{
  margin:0 0 10px;
  padding:7px 9px;
  background:#0a2842;
  border:1px solid rgba(255,255,255,.18);
}
.jm-hero-card__stats div{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:7px;
  align-items:start;
  padding:4px 0;
}
.jm-hero-card__stats div+div{border-top:1px solid rgba(255,255,255,.09)}
.jm-hero-card__stats dt{
  margin:0;
  color:var(--jm-gold);
  font:900 8px/1.45 ui-monospace,monospace;
  letter-spacing:.12em;
}
.jm-hero-card__stats dd{
  margin:0;
  color:#f3f7fa;
  font-size:11px;
  font-weight:800;
  line-height:1.4;
}
.jm-hero-card__catch{
  margin:0 0 10px!important;
  color:#d7e5f0!important;
  font-size:11px!important;
  line-height:1.72!important;
}
.jm-hero-card__quest-title{
  margin:0 0 10px!important;
  color:#89a9bf!important;
  font:700 8px/1.5 ui-monospace,monospace!important;
  letter-spacing:.03em;
}
.jm-hero-card__button{
  width:100%;
  justify-content:center;
  border-color:#f7e7b8!important;
}
.jm-hero-more{
  margin-top:16px;
  display:flex;
  justify-content:center;
}
.jm-hero-more .jm-start-button{width:auto;min-width:220px}

.jm-hero-empty{
  padding:28px 18px;
  background:
    linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px),
    #071c31;
  background-size:6px 6px,6px 6px,auto;
  border:2px dashed rgba(255,211,94,.55);
}
.jm-hero-empty>span{color:var(--jm-gold)}

@media (max-width:959px){
  .jm-hero-database__hud{padding:8px 9px;font-size:8px}
  .jm-hero-database__hud strong{font-size:8px}
  .jm-hero-role-nav{margin-bottom:10px}
  .jm-hero-role-nav a{min-height:30px;padding:5px 8px;font-size:9px}

  .jm-hero-roster{
    display:flex;
    gap:10px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
    padding:2px 14vw 10px 1px;
    margin-right:-12px;
    scrollbar-width:none;
  }
  .jm-hero-roster::-webkit-scrollbar{display:none}
  .jm-hero-card{
    flex:0 0 82%;
    scroll-snap-align:start;
    border-width:2px;
    outline-width:1px;
    box-shadow:4px 4px 0 rgba(0,0,0,.28);
  }
  .jm-hero-card__portrait{aspect-ratio:16/10;border-bottom-width:2px}
  .jm-hero-card__role{left:7px;bottom:7px;border-width:1px;font-size:8px}
  .jm-hero-card__body{padding:10px 10px 12px}
  .jm-hero-card__file{font-size:8px;margin-bottom:7px}
  .jm-hero-card h3{font-size:16px!important}
  .jm-hero-card__job{gap:6px;margin-bottom:7px!important}.jm-hero-card__job span{font-size:7px}.jm-hero-card__job strong{font-size:12px}
  .jm-hero-card__stats{padding:5px 8px;margin-bottom:9px}
  .jm-hero-card__stats div{grid-template-columns:42px minmax(0,1fr);gap:5px;padding:3px 0}
  .jm-hero-card__stats dt{font-size:7px}
  .jm-hero-card__stats dd{font-size:10px}
  .jm-hero-card__catch{font-size:10px!important;line-height:1.65!important}
  .jm-hero-more{margin-top:12px}
  .jm-hero-more .jm-start-button{min-width:0;width:auto;padding:10px 15px;font-size:10px}
}

/* v0.12 PICK UP QUEST: manually curated evergreen / monetization-friendly stories */
.jm-featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.jm-featured-card{display:grid;grid-template-columns:minmax(150px,38%) minmax(0,1fr);min-height:176px;background:var(--jm-paper);border:3px solid var(--jm-border);box-shadow:5px 5px 0 rgba(0,0,0,.2);overflow:hidden;color:var(--jm-ink)}
.jm-featured-card__thumb{position:relative;display:block;min-height:176px;background:#9eb0b6;overflow:hidden;text-decoration:none!important}
.jm-featured-card__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.jm-featured-card:hover .jm-featured-card__thumb img{transform:scale(1.025)}
.jm-featured-card__badge{position:absolute;left:8px;top:8px;padding:4px 7px;background:var(--jm-red);border:2px solid #fff3c4;box-shadow:2px 2px 0 rgba(0,0,0,.34);color:#fff;font:900 10px/1.1 ui-monospace,monospace;letter-spacing:.05em}
.jm-featured-card__body{display:flex;flex-direction:column;padding:14px 15px 13px;min-width:0}
.jm-featured-card__eyebrow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font:800 9px/1.2 ui-monospace,monospace;letter-spacing:.07em;color:#6a7480}
.jm-featured-card__eyebrow span{color:var(--jm-red)}
.jm-featured-card__eyebrow b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:inherit;color:#53606d}
.jm-featured-card h3{margin:0 0 8px!important;font-size:17px!important;line-height:1.45!important;color:var(--jm-ink)!important}
.jm-featured-card h3 a{color:var(--jm-ink)!important;text-decoration:none!important}
.jm-featured-card p{margin:0 0 12px!important;font-size:11px;line-height:1.7;color:#4d5a65}
.jm-featured-card__cta{margin-top:auto;align-self:flex-start;color:var(--jm-navy)!important;text-decoration:none!important;font-size:11px;font-weight:900;border-bottom:2px solid var(--jm-gold)}
.jm-featured-card--lead{box-shadow:0 0 0 2px var(--jm-gold),6px 6px 0 rgba(0,0,0,.22)}
.jm-featured-empty{display:flex;flex-direction:column;gap:4px;background:rgba(255,255,255,.06);border:2px dashed rgba(255,255,255,.28);padding:16px;color:#fff}
.jm-featured-empty strong{color:var(--jm-gold);font-size:14px}.jm-featured-empty span{font-size:11px;opacity:.75}
@media(max-width:720px){
  .jm-featured-grid{grid-template-columns:1fr;gap:9px}
  .jm-featured-card{grid-template-columns:118px minmax(0,1fr);min-height:118px;border-width:2px;box-shadow:3px 3px 0 rgba(0,0,0,.2)}
  .jm-featured-card__thumb{min-height:118px}
  .jm-featured-card__badge{left:5px;top:5px;padding:3px 5px;font-size:8px;border-width:1px}
  .jm-featured-card__body{padding:9px 10px 8px}
  .jm-featured-card__eyebrow{font-size:8px;margin-bottom:5px}
  .jm-featured-card h3{font-size:13px!important;line-height:1.42!important;margin-bottom:5px!important}
  .jm-featured-card p{font-size:9px;line-height:1.55;margin-bottom:6px!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
  .jm-featured-card__cta{font-size:9px}
}

/* =========================================================
   v0.13 SINGLE QUEST / article page
   Keep SWELL's reading layout, but turn the article UI into a
   JUJO MANIAC quest screen. All rules are scoped to single posts.
   ========================================================= */
body.jm-quest-single{
  background:#f3ecd7;
}
body.jm-quest-single .c-postTitle__ttl,
body.jm-quest-single .c-postTitle__ttl a{
  color:#102238!important;
  font-weight:900!important;
  letter-spacing:.01em;
}
body.jm-quest-single .p-articleMetas,
body.jm-quest-single .p-articleMetas a{
  color:#596675!important;
}

.jm-quest-data{
  margin:10px 0 30px;
  overflow:hidden;
  background:#061829;
  color:#fff;
  border:3px solid #fff3c8;
  outline:2px solid #0d2034;
  box-shadow:6px 6px 0 rgba(0,0,0,.24);
}
.jm-quest-data__hud{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:38px;
  padding:9px 12px;
  background:#0a2842;
  border-bottom:2px solid #ffd35e;
  color:#ffd35e;
  font:900 10px/1.2 ui-monospace,"SFMono-Regular",Consolas,monospace;
  letter-spacing:.14em;
}
.jm-quest-data__hud b{
  color:#9de4a4;
  font-size:8px;
  letter-spacing:.08em;
}
.jm-quest-data__stats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(125px,1fr));
  gap:0;
  margin:0!important;
  padding:0;
}
.jm-quest-data__stats>div{
  min-width:0;
  padding:11px 12px 10px;
  border-right:1px solid rgba(255,255,255,.11);
  border-bottom:1px solid rgba(255,255,255,.11);
}
.jm-quest-data__stats dt{
  margin:0 0 5px;
  color:#ffd35e;
  font:900 8px/1.2 ui-monospace,Consolas,monospace;
  letter-spacing:.14em;
}
.jm-quest-data__stats dd{
  margin:0;
  color:#fff8df;
  font-size:12px;
  font-weight:800;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.jm-quest-data__stats dd a{
  color:#fff8df!important;
  text-decoration:none!important;
  border-bottom:1px dashed rgba(255,211,94,.65);
}
.jm-quest-data__brief{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:14px 14px 15px;
  background:#081f35;
}
.jm-quest-data__brief>span{
  color:#ff9b42;
  font:900 9px/1.5 ui-monospace,Consolas,monospace;
  letter-spacing:.13em;
}
.jm-quest-data__brief p{
  margin:0!important;
  color:#eaf2f8!important;
  font-size:13px!important;
  line-height:1.8!important;
}

/* SWELL table of contents -> game menu */
body.jm-quest-single .post_content .p-toc,
body.jm-quest-single .post_content #toc_container,
body.jm-quest-single .post_content .lwptoc_i{
  background:#071c31!important;
  color:#fff!important;
  border:3px solid #fff0c8!important;
  outline:2px solid #0d2034!important;
  box-shadow:5px 5px 0 rgba(0,0,0,.2)!important;
  border-radius:0!important;
}
body.jm-quest-single .post_content .p-toc__ttl,
body.jm-quest-single .post_content #toc_container .toc_title,
body.jm-quest-single .post_content .lwptoc_title{
  color:#ffd35e!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}
body.jm-quest-single .post_content .p-toc a,
body.jm-quest-single .post_content #toc_container a,
body.jm-quest-single .post_content .lwptoc_i a{
  color:#eef6fb!important;
  text-decoration:none!important;
}

/* Reading headings: game UI outside, normal body copy inside. */
body.jm-quest-single .post_content>h2{
  position:relative;
  margin-top:2.5em!important;
  padding:15px 16px 14px 19px!important;
  background:#0a2842!important;
  color:#fff7dc!important;
  border:0!important;
  border-left:7px solid #ffd35e!important;
  box-shadow:4px 4px 0 #102238!important;
  font-weight:900!important;
  line-height:1.45!important;
}
body.jm-quest-single .post_content>h2:before{
  content:"QUEST";
  display:block;
  margin:0 0 5px;
  color:#ff9b42;
  font:900 8px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.16em;
}
body.jm-quest-single .post_content>h2:after{display:none!important}
body.jm-quest-single .post_content>h3{
  margin-top:2em!important;
  padding:10px 12px!important;
  background:#fff3c9!important;
  color:#102238!important;
  border:0!important;
  border-left:5px solid #f04f48!important;
  border-bottom:2px solid #102238!important;
  font-weight:900!important;
}
body.jm-quest-single .post_content>h3:before,
body.jm-quest-single .post_content>h3:after{display:none!important}

.jm-quest-clear{
  margin:44px 0 24px;
  padding:20px;
  background:
    linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px),
    #061829;
  background-size:6px 6px,6px 6px,auto;
  color:#fff;
  border:3px solid #ffd35e;
  box-shadow:6px 6px 0 rgba(0,0,0,.25);
}
.jm-quest-clear__title{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:9px;
  color:#ffd35e;
}
.jm-quest-clear__title span{
  display:grid;
  place-items:center;
  width:28px;height:28px;
  background:#ffd35e;
  color:#102238;
  border:2px solid #fff4cf;
  font-weight:1000;
}
.jm-quest-clear__title strong{
  font:1000 20px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.05em;
}
.jm-quest-clear>p{
  margin:0 0 15px!important;
  color:#d9e8f2!important;
  font-size:12px!important;
  line-height:1.75!important;
}
.jm-quest-clear__routes{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.jm-quest-clear__routes a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 10px;
  background:#0a2842;
  color:#fff8df!important;
  border:1px solid rgba(255,211,94,.72);
  text-decoration:none!important;
  font-size:10px;
  font-weight:900;
}
.jm-quest-clear__routes a:hover{background:#103a5e}

.jm-next-quests{
  margin:0 0 40px;
}
.jm-next-quests__heading{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  margin-bottom:11px;
  padding-bottom:7px;
  border-bottom:3px solid #102238;
}
.jm-next-quests__heading span{
  color:#f04f48;
  font:900 9px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.15em;
}
.jm-next-quests__heading strong{
  color:#102238;
  font-size:17px;
}
.jm-next-quests__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.jm-next-quest-card{
  min-width:0;
  overflow:hidden;
  background:#fff9e8;
  border:2px solid #102238;
  box-shadow:3px 3px 0 rgba(0,0,0,.18);
}
.jm-next-quest-card__thumb{
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#90a3ae;
  text-decoration:none!important;
}
.jm-next-quest-card__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.jm-next-quest-card__thumb>span{display:grid;place-items:center;height:100%;font-size:38px;color:#102238}
.jm-next-quest-card__body{padding:9px 10px 11px}
.jm-next-quest-card__tag{
  display:inline-block;
  max-width:100%;
  margin-bottom:6px;
  padding:2px 5px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  background:#ffd35e;
  color:#102238;
  border:1px solid #102238;
  font-size:8px;
  font-weight:900;
}
.jm-next-quest-card h3{
  margin:0 0 8px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  color:#102238!important;
  font-size:13px!important;
  line-height:1.45!important;
}
.jm-next-quest-card h3 a{color:#102238!important;text-decoration:none!important}
.jm-next-quest-card__go{
  color:#0a2842!important;
  text-decoration:none!important;
  font-size:9px;
  font-weight:900;
  border-bottom:2px solid #ffd35e;
}

@media(max-width:720px){
  .jm-quest-data{margin:8px 0 24px;border-width:2px;outline-width:1px;box-shadow:4px 4px 0 rgba(0,0,0,.22)}
  .jm-quest-data__hud{min-height:34px;padding:8px 9px;font-size:8px}
  .jm-quest-data__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jm-quest-data__stats>div{padding:9px 9px 8px}
  .jm-quest-data__stats dt{font-size:7px;margin-bottom:4px}
  .jm-quest-data__stats dd{font-size:10px}
  .jm-quest-data__brief{grid-template-columns:1fr;gap:5px;padding:11px 10px 12px}
  .jm-quest-data__brief>span{font-size:8px}
  .jm-quest-data__brief p{font-size:11px!important;line-height:1.72!important}

  body.jm-quest-single .post_content>h2{padding:12px 12px 11px 14px!important;border-left-width:5px!important;box-shadow:3px 3px 0 #102238!important;font-size:20px!important}
  body.jm-quest-single .post_content>h3{padding:9px 10px!important;border-left-width:4px!important;font-size:17px!important}

  .jm-quest-clear{margin:34px 0 20px;padding:14px 12px;border-width:2px;box-shadow:4px 4px 0 rgba(0,0,0,.24)}
  .jm-quest-clear__title strong{font-size:17px}
  .jm-quest-clear__routes{display:grid;grid-template-columns:1fr}
  .jm-quest-clear__routes a{justify-content:center;font-size:10px}

  .jm-next-quests__heading{align-items:flex-end}
  .jm-next-quests__heading strong{font-size:15px}
  .jm-next-quests__grid{
    display:flex;
    gap:9px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding:1px 15vw 9px 1px;
    margin-right:-12px;
    scrollbar-width:none;
  }
  .jm-next-quests__grid::-webkit-scrollbar{display:none}
  .jm-next-quest-card{flex:0 0 76%;scroll-snap-align:start}
  .jm-next-quest-card__body{padding:8px 9px 10px}
  .jm-next-quest-card h3{font-size:12px!important}
}

/* v0.13.1 article header */
body.jm-quest-single.jm-custom-header .jm-site-header{position:sticky;top:0;z-index:999990}
body.jm-quest-single.jm-custom-header .l-content{margin-top:0!important}


/* v0.14.1: the JUJO MANIAC opening screen replaces SWELL's original article head/eyecatch. */
body.jm-quest-single .l-mainContent__inner > .p-articleHead,
body.jm-quest-single .l-mainContent__inner > .p-articleThumb,
body.jm-quest-single .l-mainContent__inner > figure.p-articleThumb,
body.jm-quest-single article > .p-articleHead,
body.jm-quest-single article > .p-articleThumb,
body.jm-quest-single article > figure.p-articleThumb{
  display:none!important;
}

/* =========================================================
   v0.14 QUEST OPENING SCREEN
   Replace SWELL's visual article head/eyecatch with one compact RPG start screen.
   SWELL's original H1 remains in the document as the semantic page title.
   ========================================================= */
body.jm-quest-single .p-articleHead{
  margin:0!important;
  padding:0!important;
  min-height:0!important;
}
body.jm-quest-single .p-articleHead .c-postTitle{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}
body.jm-quest-single .p-articleHead .p-articleMetas,
body.jm-quest-single .p-articleHead .p-articleHead__meta,
body.jm-quest-single .p-articleHead .p-articleHead__times,
body.jm-quest-single .p-articleHead .c-postTimes,
body.jm-quest-single .p-articleHead .c-categoryList,
body.jm-quest-single .p-articleMetas,
body.jm-quest-single .p-articleThumb,
body.jm-quest-single figure.p-articleThumb{
  display:none!important;
}
body.jm-quest-single .post_content{
  padding-top:0!important;
}
.jm-anchor{display:block;position:relative;top:-88px;visibility:hidden}

.jm-quest-start{
  margin:8px 0 18px;
  overflow:hidden;
  background:#061829;
  color:#fff;
  border:3px solid #ffd35e;
  outline:2px solid #0d2034;
  box-shadow:6px 6px 0 rgba(0,0,0,.22);
}
.jm-quest-start__hud{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:38px;
  padding:9px 12px;
  background:#071c31;
  border-bottom:2px solid #ffd35e;
  color:#ffd35e;
  font:900 10px/1.2 ui-monospace,"SFMono-Regular",Consolas,monospace;
  letter-spacing:.15em;
}
.jm-quest-start__hud b{
  color:#9de4a4;
  font-size:8px;
  letter-spacing:.08em;
}
.jm-quest-start__visual{
  position:relative;
  aspect-ratio:16/8.4;
  min-height:330px;
  overflow:hidden;
  background:#0a2842;
}
.jm-quest-start__image{
  position:absolute!important;
  inset:0;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  object-fit:cover!important;
  display:block!important;
}
.jm-quest-start__fallback{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    radial-gradient(circle at 70% 25%,#1a4c69 0,#0b2a45 32%,#061829 72%);
  background-size:8px 8px,8px 8px,auto;
}
.jm-quest-start__fallback span{font-size:74px;color:#ffd35e;opacity:.48}
.jm-quest-start__shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(2,11,20,.08) 18%,rgba(2,11,20,.45) 53%,rgba(2,11,20,.96) 100%);
}
.jm-quest-start__copy{
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:0;
  padding:24px 24px 22px;
}
.jm-quest-start__chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.jm-quest-start__chips span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 7px;
  background:#ffd35e;
  color:#102238;
  border:1px solid #fff4cf;
  box-shadow:2px 2px 0 rgba(0,0,0,.3);
  font-size:9px;
  font-weight:900;
}
.jm-quest-start__date{
  margin-bottom:6px;
  color:#ffd35e;
  font:900 8px/1.2 ui-monospace,Consolas,monospace;
  letter-spacing:.13em;
}
.jm-quest-start__title{
  max-width:880px;
  color:#fff8df;
  text-shadow:0 2px 0 rgba(0,0,0,.75);
  font-size:clamp(28px,4vw,48px);
  font-weight:1000;
  line-height:1.22;
  letter-spacing:.01em;
}
.jm-quest-start__button{
  display:inline-flex;
  align-items:center;
  min-height:39px;
  margin-top:14px;
  padding:8px 13px;
  background:#071c31;
  color:#fff8df!important;
  border:2px solid #fff3c8;
  box-shadow:3px 3px 0 #102238;
  text-decoration:none!important;
  font-size:10px;
  font-weight:900;
}
.jm-quest-start__button:hover{background:#103a5e}
#jm-quest-data{scroll-margin-top:92px}

@media(max-width:720px){
  body.jm-quest-single .l-mainContent__inner{padding-top:0!important}
  .jm-quest-start{margin:6px -1px 16px;border-width:2px;outline-width:1px;box-shadow:4px 4px 0 rgba(0,0,0,.22)}
  .jm-quest-start__hud{min-height:33px;padding:7px 9px;font-size:8px}
  .jm-quest-start__visual{aspect-ratio:4/3.15;min-height:285px}
  .jm-quest-start__copy{padding:16px 14px 14px}
  .jm-quest-start__chips{gap:5px;margin-bottom:6px}
  .jm-quest-start__chips span{min-height:21px;padding:3px 6px;font-size:8px}
  .jm-quest-start__date{font-size:7px;margin-bottom:5px}
  .jm-quest-start__title{font-size:25px;line-height:1.24}
  .jm-quest-start__button{min-height:35px;margin-top:11px;padding:7px 10px;font-size:9px;border-width:2px}
  #jm-quest-data{scroll-margin-top:76px}
}

/* =========================================================
   v0.15 ADVENTURE LOG SHARE
   QUEST CLEAR owns the article footer experience, so SWELL's default
   taxonomy/share/prev-next UI is hidden only on JUJO MANIAC quest posts.
   ========================================================= */
body.jm-quest-single .p-articleFoot,
body.jm-quest-single .c-shareBtns.-top,
body.jm-quest-single .c-shareBtns.-bottom,
body.jm-quest-single .c-shareBtns.-fix,
body.jm-quest-single .p-pnLinks{
  display:none!important;
}

.jm-quest-share{
  margin:0 0 26px;
  padding:17px 18px 18px;
  background:#fff6da;
  color:#102238;
  border:2px solid #102238;
  border-top:5px solid #ffd35e;
  box-shadow:4px 4px 0 rgba(6,24,41,.18);
}
.jm-quest-share__eyebrow{
  margin-bottom:7px;
  color:#f04f48;
  font:900 8px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.18em;
}
.jm-quest-share__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:13px;
}
.jm-quest-share__head h2{
  margin:0 0 4px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#102238!important;
  font-size:18px!important;
  line-height:1.35!important;
}
.jm-quest-share__head h2:before,
.jm-quest-share__head h2:after{display:none!important}
.jm-quest-share__head p{
  margin:0!important;
  color:#526272!important;
  font-size:10px!important;
  line-height:1.6!important;
}
.jm-quest-share__head>span{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  background:#071c31;
  color:#ffd35e;
  border:2px solid #102238;
  font-size:16px;
}
.jm-quest-share__buttons{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.jm-share-btn{
  appearance:none;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  margin:0;
  padding:7px 8px;
  background:#0b2944;
  color:#fff8df!important;
  border:2px solid #ffd35e;
  border-radius:0;
  box-shadow:2px 2px 0 #c85b31;
  text-decoration:none!important;
  text-align:center;
  font:900 9px/1.2 ui-monospace,Consolas,monospace;
  cursor:pointer;
}
.jm-share-btn:hover{background:#123b5d;color:#fff!important}
.jm-share-btn--copy.is-copied{background:#1f7148;color:#fff!important}
.jm-share-btn--x,.jm-share-btn--facebook,.jm-share-btn--threads,.jm-share-btn--copy{background:#0b2944;color:#fff8df!important}

.jm-share-status{
  margin:10px 0 0!important;
  color:#526272!important;
  font:800 10px/1.5 ui-monospace,Consolas,monospace!important;
  text-align:center;
}
.jm-share-status[hidden]{display:none!important}

@media(max-width:720px){
  .jm-quest-share{margin:0 0 24px;padding:13px 11px 14px;border-width:2px;border-top-width:4px;box-shadow:3px 3px 0 rgba(6,24,41,.18)}
  .jm-quest-share__head{margin-bottom:11px}
  .jm-quest-share__head h2{font-size:16px!important}
  .jm-quest-share__head>span{flex-basis:30px;width:30px;height:30px;font-size:14px}
  .jm-quest-share__buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .jm-share-btn{min-height:38px;font-size:9px}
}


/* v0.15.1 robust fallback: SWELL footer UI is replaced by JUJO MANIAC QUEST CLEAR. */
body.single-post.jm-quest-single .p-articleFoot,
body.single-post.jm-quest-single .c-shareBtns,
body.single-post.jm-quest-single .p-pnLinks,
body.single-post.jm-quest-single .prev_next_links,
body.single-post.jm-quest-single .post_terms,
body.single-post.jm-quest-single .post_terms_area{
  display:none!important;
}

/* =========================================================
   v0.16 CATEGORY ARCHIVES — AREA / QUEST LIST
   Plugin-owned category screens for managed AREA / GENRE / HERO categories.
   ========================================================= */
body.jm-quest-archive{background:#061829;color:#fff}
body.jm-quest-archive.jm-custom-header .jm-site-header{position:sticky;top:0;z-index:999990}
.jm-archive-root{min-height:100vh;background:#061829;color:#fff}
.jm-archive-hero{
  border-bottom:3px solid #ffd35e;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    radial-gradient(circle at 78% 10%,rgba(45,116,154,.34),transparent 38%),
    #061829;
  background-size:6px 6px,6px 6px,auto,auto;
}
.jm-archive-hero__inner{width:min(1120px,100%);margin:0 auto;padding:46px 24px 34px}
.jm-archive-hero__eyebrow{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid rgba(255,211,94,.55);font:900 10px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.14em;color:#ffd35e}
.jm-archive-hero__eyebrow b{font-size:8px;color:#9de4a4;letter-spacing:.08em}
.jm-archive-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;padding-top:22px}
.jm-archive-hero__label{margin:0 0 6px!important;color:#ffd35e;font:900 12px/1.3 ui-monospace,Consolas,monospace;letter-spacing:.08em}
.jm-archive-hero h1{margin:0!important;color:#fff8df!important;font-size:clamp(38px,7vw,78px)!important;line-height:1.02!important;text-shadow:3px 3px 0 #0b1b2d}
.jm-archive-hero__desc{max-width:680px;margin:12px 0 0!important;color:#d8e4ec;font-size:14px;line-height:1.8}
.jm-archive-hero__counter{display:flex;align-items:flex-end;gap:10px;padding:12px 14px;border:2px solid #ffd35e;background:#071c31;box-shadow:4px 4px 0 rgba(0,0,0,.3)}
.jm-archive-hero__counter strong{font:900 42px/.9 ui-monospace,Consolas,monospace;color:#ffd35e}
.jm-archive-hero__counter span{font:900 8px/1.45 ui-monospace,Consolas,monospace;letter-spacing:.1em;color:#fff4cf}
.jm-archive-hero__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.jm-archive-hero__actions a{display:inline-flex;align-items:center;min-height:38px;padding:8px 11px;border:2px solid #fff3c8;background:#071c31;color:#fff8df!important;text-decoration:none!important;font-size:10px;font-weight:900;box-shadow:3px 3px 0 rgba(0,0,0,.26)}
.jm-archive-hero__actions a:hover{background:#103a5e}
.jm-archive-list-head{width:min(1120px,calc(100% - 32px));margin:28px auto 14px;display:flex;align-items:end;justify-content:space-between;gap:18px;padding-bottom:9px;border-bottom:2px solid #ffd35e}
.jm-archive-list-head span{color:#ff5b57;font:900 9px/1 ui-monospace,Consolas,monospace;letter-spacing:.17em}
.jm-archive-list-head strong{color:#fff8df;font-size:22px;line-height:1.3}
.jm-archive-content{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:0 0 70px}
.jm-archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.jm-archive-card{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:190px;overflow:hidden;background:#fff6da;color:#16243a;border:3px solid #0d2034;box-shadow:5px 5px 0 rgba(0,0,0,.25)}
.jm-archive-card__thumb{position:relative;display:block;overflow:hidden;background:#0a2842;text-decoration:none!important;min-height:190px}
.jm-archive-card__thumb img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s ease}
.jm-archive-card:hover .jm-archive-card__thumb img{transform:scale(1.025)}
.jm-archive-card__placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:190px;color:#ffd35e;font-size:54px;background:linear-gradient(135deg,#0a2842,#061829)}
.jm-archive-card__mode{position:absolute;left:8px;top:8px;padding:4px 6px;background:#061829;color:#ffd35e;border:1px solid #fff2bf;font:900 8px/1 ui-monospace,Consolas,monospace;letter-spacing:.1em}
.jm-archive-card__body{display:flex;flex-direction:column;padding:14px 15px 13px}
.jm-archive-card__meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:9px;color:#53606b;font-size:9px;line-height:1.4}
.jm-archive-card__meta span{display:inline-flex;padding:2px 5px;background:#ffd35e;color:#102238;border:1px solid #102238;font-weight:900}
.jm-archive-card__meta time{margin-left:auto;font-family:ui-monospace,Consolas,monospace;font-size:8px}
.jm-archive-card h2{margin:0 0 8px!important;color:#16243a!important;font-size:18px!important;line-height:1.42!important}
.jm-archive-card h2 a{color:#16243a!important;text-decoration:none!important}
.jm-archive-card p{margin:0 0 12px!important;color:#53606b;font-size:11px;line-height:1.65}
.jm-archive-card__go{margin-top:auto;align-self:flex-start;color:#102238!important;text-decoration:none!important;border-bottom:2px solid #ffd35e;font-size:10px;font-weight:900}
.jm-archive-card--hero{border-color:#7f5c0c;box-shadow:5px 5px 0 #342306}
.jm-archive-card--hero .jm-archive-card__mode{background:#5a3d04;color:#fff2a6}
.jm-archive-pagination{margin-top:28px}
.jm-archive-pagination .nav-links{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}
.jm-archive-pagination .page-numbers{display:inline-grid;place-items:center;min-width:38px;height:38px;padding:0 8px;border:2px solid #ffd35e;background:#071c31;color:#fff8df!important;text-decoration:none!important;font:900 10px/1 ui-monospace,Consolas,monospace}
.jm-archive-pagination .page-numbers.current{background:#ffd35e;color:#102238!important}
.jm-archive-empty{display:grid;place-items:center;min-height:260px;padding:34px;border:2px dashed rgba(255,211,94,.6);text-align:center;color:#d8e4ec}
.jm-archive-empty span{font-size:38px;color:#ffd35e}.jm-archive-empty strong{margin-top:8px;color:#fff8df;font:900 18px/1 ui-monospace,Consolas,monospace}.jm-archive-empty p{font-size:12px}

@media(max-width:720px){
  .jm-archive-hero__inner{padding:28px 14px 24px}
  .jm-archive-hero__grid{grid-template-columns:1fr;gap:14px;padding-top:16px}
  .jm-archive-hero h1{font-size:42px!important}
  .jm-archive-hero__desc{font-size:12px;line-height:1.7;margin-top:8px!important}
  .jm-archive-hero__counter{justify-content:flex-start;width:max-content;padding:9px 11px}
  .jm-archive-hero__counter strong{font-size:32px}.jm-archive-hero__counter span{font-size:7px}
  .jm-archive-hero__actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:16px}
  .jm-archive-hero__actions a{justify-content:center;min-height:36px;padding:7px 6px;font-size:8px;border-width:1px;box-shadow:2px 2px 0 rgba(0,0,0,.25)}
  .jm-archive-list-head{width:calc(100% - 24px);margin:22px auto 10px;align-items:center}.jm-archive-list-head strong{font-size:17px}
  .jm-archive-content{width:calc(100% - 24px);padding-bottom:84px}
  .jm-archive-grid{grid-template-columns:1fr;gap:10px}
  .jm-archive-card{grid-template-columns:116px minmax(0,1fr);min-height:126px;border-width:2px;box-shadow:3px 3px 0 rgba(0,0,0,.24)}
  .jm-archive-card__thumb{min-height:126px}.jm-archive-card__placeholder{min-height:126px;font-size:38px}
  .jm-archive-card__mode{left:5px;top:5px;padding:3px 4px;font-size:6.5px}
  .jm-archive-card__body{padding:9px 9px 8px}.jm-archive-card__meta{gap:4px;margin-bottom:5px;font-size:7.5px}.jm-archive-card__meta span{padding:2px 4px}.jm-archive-card__meta time{width:100%;margin-left:0;font-size:7px}
  .jm-archive-card h2{font-size:13px!important;line-height:1.4!important;margin-bottom:5px!important}.jm-archive-card p{display:none}.jm-archive-card__go{font-size:8px}
  .jm-archive-pagination{margin-top:22px}.jm-archive-pagination .page-numbers{min-width:34px;height:34px;font-size:8px}
}


/* v0.17 QUEST BOARD / search */
.jm-quest-board-root{min-height:100vh;background:#061829;color:#fff;padding-bottom:72px}
.jm-board-hero{background:linear-gradient(180deg,#0b2a45 0,#071b2d 100%);border-bottom:3px solid #ffd35e}
.jm-board-hero__inner{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:48px 0 36px;position:relative}
.jm-board-hero__eyebrow{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid rgba(255,211,94,.55);font:900 10px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.16em;color:#ffd35e}
.jm-board-hero__eyebrow b{font-size:8px;color:#9de4a4}.jm-board-hero h1{margin:22px 0 8px!important;color:#fff8df!important;font-size:clamp(34px,6vw,68px)!important;line-height:1!important;text-shadow:3px 3px 0 #0b1b2d}.jm-board-hero p{max-width:720px;margin:0!important;color:#d7e5ec;font-size:14px;line-height:1.8}
.jm-board-total{position:absolute;right:0;bottom:34px;display:flex;align-items:flex-end;gap:10px;padding:10px 13px;border:2px solid #ffd35e;background:#061829;box-shadow:4px 4px 0 rgba(0,0,0,.28)}.jm-board-total strong{color:#ffd35e;font:900 38px/.9 ui-monospace,Consolas,monospace}.jm-board-total span{color:#fff2bd;font:900 8px/1.4 ui-monospace,Consolas,monospace;letter-spacing:.09em}
.jm-board-search{width:min(1120px,calc(100% - 40px));margin:26px auto 0}.jm-board-search__form{padding:16px;border:2px solid #ffd35e;background:#fff4d5;color:#102238;box-shadow:5px 5px 0 rgba(0,0,0,.25)}
.jm-board-search label{display:block;font:900 9px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.12em;color:#8d260c}.jm-board-search__keyword>div{display:grid;grid-template-columns:minmax(0,1fr) auto;margin-top:6px}.jm-board-search input,.jm-board-search select{width:100%;min-height:42px;border:2px solid #102238!important;border-radius:0!important;background:#fffdf2!important;color:#102238!important;font-size:14px!important}.jm-board-search__keyword button,.jm-board-search__actions button,.jm-board-search__actions a{display:inline-grid;place-items:center;min-height:42px;padding:7px 14px;border:2px solid #102238;background:#0a2842;color:#fff8df!important;text-decoration:none!important;font-weight:900;font-size:11px}.jm-board-search__keyword button{border-left:0}
.jm-board-search__filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.jm-board-search__filters select{margin-top:5px}.jm-board-search__actions{display:flex;align-items:center;gap:8px;margin-top:12px}.jm-board-search__actions button{background:#ff5b45;color:#fff!important}.jm-board-search__actions a{background:#fffdf2;color:#102238!important}
.jm-board-results{width:min(1120px,calc(100% - 40px));margin:28px auto 0}.jm-board-results__head{display:flex;align-items:end;justify-content:space-between;gap:16px;padding-bottom:9px;border-bottom:2px solid #ffd35e;margin-bottom:14px}.jm-board-results__head span{color:#ff5b57;font:900 9px/1 ui-monospace,Consolas,monospace;letter-spacing:.17em}.jm-board-results__head strong{color:#fff8df;font-size:22px}.jm-board-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.jm-board-pagination{margin:26px 0 0}.jm-board-pagination .page-numbers{display:inline-grid;place-items:center;min-width:38px;height:38px;margin:3px;padding:0 8px;border:2px solid #ffd35e;background:#071c31;color:#fff8df!important;text-decoration:none!important;font:900 10px/1 ui-monospace,Consolas,monospace}.jm-board-pagination .current{background:#ffd35e;color:#102238!important}.jm-board-empty{display:grid;place-items:center;min-height:280px;padding:32px;border:2px dashed rgba(255,211,94,.65);text-align:center}.jm-board-empty span{font-size:44px;color:#ffd35e}.jm-board-empty strong{margin:8px 0;color:#fff8df;font:900 18px/1 ui-monospace,Consolas,monospace}.jm-board-empty p{color:#c8d5df}.jm-board-empty a{margin-top:10px;color:#ffd35e!important;font-weight:900}
@media(max-width:767px){.jm-quest-board-root{padding-bottom:82px}.jm-board-hero__inner{width:calc(100% - 24px);padding:28px 0 24px}.jm-board-hero h1{font-size:38px!important;margin-top:16px!important}.jm-board-hero p{font-size:11px;line-height:1.65;padding-right:0}.jm-board-total{position:static;width:max-content;margin-top:14px;padding:8px 10px;box-shadow:3px 3px 0 rgba(0,0,0,.25)}.jm-board-total strong{font-size:29px}.jm-board-total span{font-size:6.5px}.jm-board-search{width:calc(100% - 24px);margin-top:16px}.jm-board-search__form{padding:10px;border-width:2px;box-shadow:3px 3px 0 rgba(0,0,0,.22)}.jm-board-search__keyword>div{grid-template-columns:minmax(0,1fr) 68px}.jm-board-search input,.jm-board-search select{min-height:38px!important;font-size:12px!important}.jm-board-search__keyword button{padding:5px;font-size:9px}.jm-board-search__filters{grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.jm-board-search label{font-size:7px}.jm-board-search__actions{margin-top:9px}.jm-board-search__actions button,.jm-board-search__actions a{min-height:34px;padding:5px 8px;font-size:8px}.jm-board-results{width:calc(100% - 24px);margin-top:20px}.jm-board-results__head{align-items:center;margin-bottom:10px}.jm-board-results__head strong{font-size:17px}.jm-board-grid{grid-template-columns:1fr;gap:10px}.jm-board-pagination{text-align:center;margin-top:20px}.jm-board-pagination .page-numbers{min-width:34px;height:34px;font-size:8px}}

/* =========================================================
   v0.18 HERO DATABASE + full adventure drawer
   ========================================================= */
.jm-menu-hud{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:8px 9px 10px;margin-bottom:8px;border-bottom:1px solid rgba(255,211,94,.5);
  color:var(--jm-gold);font:900 9px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.13em;
}
.jm-menu-hud b{color:#9de4a4;font-size:7px;letter-spacing:.08em}
.jm-menu-groups{display:grid;gap:7px}
.jm-menu-groups section{border:1px solid rgba(255,255,255,.12);background:#071c31}
.jm-menu-groups section>small{display:block;padding:7px 10px 5px;color:#ff786f;font:900 7px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.16em}
.jm-menu-groups section a{min-height:42px;padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.09);font-size:11px}
.jm-menu-groups section a:last-child{border-bottom:0}
.jm-menu-groups section a:hover{background:#0d3150}

.jm-hero-board-root{min-height:100vh;background:#061829;color:#fff;padding-bottom:72px}
.jm-hero-board-hero{background:linear-gradient(180deg,#241a08 0,#0b2237 100%);border-bottom:3px solid #ffd35e}
.jm-hero-board-hero__inner{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:48px 0 36px;position:relative}
.jm-hero-board-hero__eyebrow{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid rgba(255,211,94,.55);font:900 10px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.16em;color:#ffd35e}
.jm-hero-board-hero__eyebrow b{font-size:8px;color:#9de4a4}
.jm-hero-board-hero h1{margin:22px 0 8px!important;color:#fff8df!important;font-size:clamp(34px,6vw,68px)!important;line-height:1!important;text-shadow:3px 3px 0 #0b1b2d}
.jm-hero-board-hero p{max-width:720px;margin:0!important;color:#d7e5ec;font-size:14px;line-height:1.8}
.jm-hero-board-total{position:absolute;right:0;bottom:34px;display:flex;align-items:flex-end;gap:10px;padding:10px 13px;border:2px solid #ffd35e;background:#061829;box-shadow:4px 4px 0 rgba(0,0,0,.28)}
.jm-hero-board-total strong{color:#ffd35e;font:900 38px/.9 ui-monospace,Consolas,monospace}
.jm-hero-board-total span{color:#fff2bd;font:900 8px/1.4 ui-monospace,Consolas,monospace;letter-spacing:.09em}
.jm-hero-board-search{width:min(1120px,calc(100% - 40px));margin:24px auto 0}
.jm-hero-board-search__form{padding:14px;border:2px solid #ffd35e;background:#fff1c9;color:#102238;box-shadow:5px 5px 0 rgba(0,0,0,.25)}
.jm-hero-board-results{width:min(1120px,calc(100% - 40px));margin:28px auto 0}
.jm-hero-board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.jm-hero-board-grid .jm-hero-card{min-width:0}

@media(max-width:959px){
  .jm-head-panel--menu{
    left:auto!important;right:8px!important;width:min(88vw,370px)!important;
    padding:10px!important;border-color:#ffd35e!important;background:#061829!important;
    box-shadow:8px 8px 0 rgba(0,0,0,.36)!important;
  }
  .jm-menu-hud{margin-bottom:7px}
  .jm-menu-groups{gap:6px}
  .jm-menu-groups section a{min-height:39px;padding:8px 9px;font-size:10px}
  .jm-hero-board-root{padding-bottom:82px}
  .jm-hero-board-hero__inner{width:calc(100% - 24px);padding:28px 0 24px}
  .jm-hero-board-hero h1{font-size:38px!important;margin-top:16px!important}
  .jm-hero-board-hero p{font-size:11px;line-height:1.65}
  .jm-hero-board-total{position:static;width:max-content;margin-top:14px;padding:8px 10px;box-shadow:3px 3px 0 rgba(0,0,0,.25)}
  .jm-hero-board-total strong{font-size:29px}.jm-hero-board-total span{font-size:6.5px}
  .jm-hero-board-search{width:calc(100% - 24px);margin-top:16px}
  .jm-hero-board-search__form{padding:10px;box-shadow:3px 3px 0 rgba(0,0,0,.22)}
  .jm-hero-board-results{width:calc(100% - 24px);margin-top:20px}
  .jm-hero-board-grid{grid-template-columns:1fr;gap:12px}
  .jm-hero-board-grid .jm-hero-card{width:100%;flex:none}
  .jm-hero-board-grid .jm-hero-card__portrait{aspect-ratio:16/9}
}

/* =========================================================
   v0.20 ABOUT THIS ADVENTURE — operator story + soft business bridge
   ========================================================= */
.jm-about-root{min-height:100vh;background:#061829;color:#fff;padding-bottom:78px}
.jm-about-hero{border-bottom:3px solid #ffd35e;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),radial-gradient(circle at 82% 10%,rgba(36,112,154,.36),transparent 38%),#061829;background-size:6px 6px,6px 6px,auto,auto}
.jm-about-hero__inner{width:min(1040px,calc(100% - 40px));margin:0 auto;padding:52px 0 42px}
.jm-about-hero__eyebrow{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(255,211,94,.55);color:#ffd35e;font:900 10px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.15em}
.jm-about-hero__eyebrow b{color:#9de4a4;font-size:8px}.jm-about-hero__route{margin:20px 0 5px!important;color:#ff7468;font:900 9px/1 ui-monospace,Consolas,monospace;letter-spacing:.2em}
.jm-about-hero h1{margin:0!important;color:#fff8df!important;font-size:clamp(38px,7vw,72px)!important;line-height:1.05!important;text-shadow:3px 3px 0 #0b1b2d}
.jm-about-hero__lead{max-width:720px;margin:16px 0 0!important;color:#d9e5ec;font-size:14px;line-height:1.9}
.jm-about-content{width:min(1040px,calc(100% - 40px));margin:28px auto 0;display:grid;gap:22px}
.jm-about-profile,.jm-about-mission,.jm-about-base{border:3px solid #0d2034;background:#fff5d6;color:#17253a;box-shadow:6px 6px 0 rgba(0,0,0,.28)}
.jm-about-profile{display:grid;grid-template-columns:260px minmax(0,1fr);overflow:hidden}
.jm-about-profile__portrait{min-height:280px;background:linear-gradient(135deg,#0b2a45,#061829);display:grid;place-items:center;align-content:center;color:#ffd35e;overflow:hidden}
.jm-about-profile__portrait img{width:100%;height:100%;min-height:280px;object-fit:cover}.jm-about-profile__portrait span{font-size:68px}.jm-about-profile__portrait small{font:900 8px/1 ui-monospace,Consolas,monospace;letter-spacing:.18em}
.jm-about-profile__body,.jm-about-mission,.jm-about-base{padding:24px}
.jm-about-section-label{margin-bottom:8px;color:#c94730;font:900 9px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.17em}
.jm-about-profile h2,.jm-about-mission h2,.jm-about-base h2{margin:0 0 9px!important;color:#16243a!important;font-size:28px!important;line-height:1.25!important}
.jm-about-profile__role{display:inline-block;margin:0 0 13px!important;padding:5px 8px;background:#0a2842;color:#fff8df!important;border:2px solid #ffd35e;font:900 9px/1.2 ui-monospace,Consolas,monospace!important}
.jm-about-profile p,.jm-about-mission p,.jm-about-base p{margin:0!important;color:#526171;font-size:13px;line-height:1.9}
.jm-about-mission{background:#f8efd1}.jm-about-mission__links{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.jm-about-mission__links a,.jm-about-base__cta{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 13px;background:#0a2842;color:#fff8df!important;border:2px solid #ffd35e;box-shadow:3px 3px 0 #c75a34;text-decoration:none!important;font-weight:900;font-size:10px}
.jm-about-base{position:relative;background:#071c31;color:#fff;border-color:#ffd35e}.jm-about-base h2{color:#fff8df!important}.jm-about-base p{color:#cddbe4}.jm-about-base .jm-about-section-label{color:#ffd35e}.jm-about-base__cta{margin-top:18px;background:#ff5b45;color:#fff!important}.jm-about-base__locked{display:inline-flex;margin-top:16px;padding:7px 9px;border:1px dashed rgba(255,211,94,.7);color:#ffd35e;font:900 8px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.1em}
.jm-site-intro__more{display:inline-flex;margin-top:12px;color:#ffd35e!important;text-decoration:none!important;font-size:10px;font-weight:900;border-bottom:1px solid #ffd35e}
@media(max-width:767px){.jm-about-root{padding-bottom:86px}.jm-about-hero__inner{width:calc(100% - 24px);padding:30px 0 26px}.jm-about-hero__route{margin-top:15px!important}.jm-about-hero h1{font-size:40px!important}.jm-about-hero__lead{font-size:11.5px;line-height:1.75;margin-top:11px!important}.jm-about-content{width:calc(100% - 24px);margin-top:16px;gap:12px}.jm-about-profile{grid-template-columns:104px minmax(0,1fr);border-width:2px;box-shadow:3px 3px 0 rgba(0,0,0,.25)}.jm-about-profile__portrait{min-height:150px}.jm-about-profile__portrait img{min-height:150px}.jm-about-profile__portrait span{font-size:42px}.jm-about-profile__body,.jm-about-mission,.jm-about-base{padding:13px}.jm-about-profile h2,.jm-about-mission h2,.jm-about-base h2{font-size:19px!important;margin-bottom:7px!important}.jm-about-profile__role{font-size:7px;padding:4px 6px;margin-bottom:8px!important}.jm-about-profile p,.jm-about-mission p,.jm-about-base p{font-size:10.5px;line-height:1.75}.jm-about-mission,.jm-about-base{border-width:2px;box-shadow:3px 3px 0 rgba(0,0,0,.25)}.jm-about-mission__links{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.jm-about-mission__links a,.jm-about-base__cta{min-height:36px;padding:6px 7px;font-size:8px}.jm-about-base__cta{margin-top:12px}.jm-about-base__locked{font-size:7px}}

/* =========================================================
   v0.21 DAYLIGHT QUEST HERO
   Bright morning field screen + RPG title composition.
   ========================================================= */
.jm-hero__title{
  width:max-content;
  max-width:min(760px,100%);
  color:#ffe277!important;
  font-family:ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  font-weight:1000;
  letter-spacing:-.075em;
  filter:drop-shadow(0 8px 10px rgba(6,24,41,.28));
  text-shadow:none;
}
.jm-hero__title-line{
  display:block;
  width:max-content;
  max-width:100%;
  background:linear-gradient(180deg,#fff9cf 0 22%,#ffd55d 23% 58%,#f28f39 59% 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:2px #173b32;
  paint-order:stroke fill;
  text-shadow:
    2px 2px 0 #fff4bd,
    5px 5px 0 #356e4e,
    8px 8px 0 #163746,
    11px 11px 0 rgba(6,24,41,.22);
}
.jm-hero__title-line--second{margin-top:.03em}
.jm-hero__kicker{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:6px 9px 5px;
  border:2px solid #fff2b0;
  background:#356e4e;
  color:#fffdf1;
  box-shadow:3px 3px 0 #173746;
  font-family:ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  letter-spacing:.05em;
  text-shadow:none;
}
.jm-hero__kicker:before{content:"◆";margin-right:7px;color:#ffd45d;font-size:.72em}
.jm-hero__subtitle{
  display:inline-block;
  width:max-content;
  max-width:100%;
  padding:5px 9px 4px;
  color:#173b32!important;
  background:rgba(255,249,220,.94);
  border:2px solid #173b32;
  box-shadow:3px 3px 0 #d3a63c;
  text-shadow:none;
}
.jm-hero__shade{
  background:linear-gradient(180deg,rgba(10,64,95,.03) 0%,rgba(10,64,95,.01) 52%,rgba(6,24,41,.30) 100%);
}
.jm-start-button{
  background:#2f6f4e;
  border-color:#fff8d5;
  outline-color:#173746;
  box-shadow:5px 5px 0 #173746;
}
.jm-start-button:hover{box-shadow:2px 2px 0 #173746}

@media (max-width:959px){
  body.jm-front-page .jm-hero{
    min-height:calc(100svh - 58px - 64px);
    align-items:stretch;
    background:#f7f1df;
  }
  body.jm-front-page .jm-hero__media{
    inset:0 0 72px;
    overflow:hidden;
    background:linear-gradient(180deg,#79c7ef 0%,#dff4ff 44%,#f7f1df 100%);
  }
  body.jm-front-page .jm-hero__media img{
    object-position:center 64%;
  }
  body.jm-front-page .jm-hero__shade{
    inset:0 0 72px;
    background:
      linear-gradient(180deg,rgba(9,59,86,.08) 0%,rgba(9,59,86,0) 34%,rgba(255,255,255,0) 70%,rgba(6,24,41,.18) 100%);
  }
  body.jm-front-page .jm-hero:after{inset:0 0 72px}
  body.jm-front-page .jm-hero__content{
    position:relative;
    width:100%;
    min-height:inherit;
    margin:0;
    padding:0;
  }
  body.jm-front-page .jm-hero__content:after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:69px;
    border-top:3px solid #d7a63a;
    box-shadow:0 2px 0 #173746;
  }
  body.jm-front-page .jm-hero__kicker{
    position:absolute;
    z-index:3;
    top:16px;
    left:16px;
    margin:0;
    padding:5px 8px 4px;
    font-size:10px;
    line-height:1.2;
  }
  body.jm-front-page .jm-hero__title{
    position:absolute;
    z-index:3;
    top:51px;
    left:16px;
    margin:0!important;
    max-width:calc(100% - 32px);
    font-size:clamp(50px,16.5vw,72px)!important;
    line-height:.77!important;
  }
  body.jm-front-page .jm-hero__title-line{
    -webkit-text-stroke-width:1.6px;
    text-shadow:
      1px 1px 0 #fff4bd,
      4px 4px 0 #356e4e,
      7px 7px 0 #173746,
      9px 9px 0 rgba(6,24,41,.18);
  }
  body.jm-front-page .jm-hero__subtitle{
    position:absolute;
    z-index:3;
    top:168px;
    left:18px;
    margin:0;
    padding:4px 7px 3px;
    font-size:10px;
    line-height:1.25;
    letter-spacing:.11em;
  }
  /* The photo is the main story on mobile. Keep the long message for desktop. */
  body.jm-front-page .jm-hero__window{display:none}
  body.jm-front-page .jm-start-button{
    position:absolute;
    z-index:4;
    left:16px;
    right:16px;
    bottom:9px;
    width:auto;
    min-height:50px;
    margin:0;
    padding:10px 16px;
    color:#fffdf1!important;
    background:#2f6f4e;
    border:3px solid #fff8d5;
    outline:2px solid #173746;
    box-shadow:4px 4px 0 #173746;
    font-family:ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;
    font-size:14px;
    letter-spacing:.05em;
  }
  body.jm-front-page .jm-hero__scroll{display:none}
}

@media (max-width:390px){
  body.jm-front-page .jm-hero__title{font-size:clamp(46px,16vw,64px)!important}
  body.jm-front-page .jm-hero__subtitle{top:158px}
}


/* v0.22.1 corrected daytime hero refresh */
:root{
  --jm-forest:#4d7b52;
  --jm-forest-deep:#315039;
  --jm-cream-lite:#f8f3da;
}
.jm-hero{
  min-height:720px;
  align-items:stretch;
  background:linear-gradient(180deg,#7cc0f4 0%,#d9f0ff 24%,#215f8a 100%);
}
.jm-hero__shade{
  background:linear-gradient(180deg,rgba(2,12,22,.08) 0%,rgba(2,12,22,.14) 38%,rgba(2,12,22,.24) 64%,rgba(2,12,22,.56) 100%);
}
.jm-hero__content{
  width:min(1160px,100%);
  min-height:100%;
  margin:0 auto;
  padding:18px 18px 26px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.jm-hero__title-block{
  max-width:min(370px,78vw);
}
.jm-hero__kicker,
.jm-hero__subtitle{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  background:rgba(77,123,82,.92);
  color:#fffef7!important;
  border:2px solid #f1dfa0;
  box-shadow:4px 4px 0 rgba(0,0,0,.24);
  font-weight:900;
  text-shadow:none;
}
.jm-hero__kicker{margin:0 0 12px;font-size:16px;line-height:1.35}
.jm-hero__title{
  margin:0!important;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:.84!important;
  color:#edf8d5!important;
  font-size:clamp(56px,9vw,110px)!important;
  text-shadow:
    0 3px 0 #f0d676,
    3px 0 0 #355640,
    -3px 0 0 #355640,
    0 -2px 0 #355640,
    0 7px 16px rgba(0,0,0,.24);
}
.jm-hero__subtitle{margin:14px 0 0;font-size:15px;letter-spacing:.06em;line-height:1.35}
.jm-hero__cta-group{
  width:min(430px,100%);
  margin-top:auto;
}
.jm-hero__window{
  width:100%;
  margin:0 0 14px;
  padding:18px 18px 16px;
  background:rgba(6,26,40,.78);
  border-color:#fff8de;
  outline-color:#0f2336;
  box-shadow:6px 6px 0 rgba(0,0,0,.25);
  backdrop-filter:blur(1px);
}
.jm-hero__window p{font-size:16px;line-height:1.8}
.jm-start-button,
.jm-hero__start-button{
  width:min(430px,100%);
  min-height:56px;
  background:rgba(77,123,82,.96);
  border:3px solid #f1dfa0;
  outline:3px solid #244130;
  box-shadow:5px 5px 0 rgba(0,0,0,.28);
}
.jm-hero__scroll{bottom:74px}
@media (max-width:959px){
  .jm-hero{
    min-height:calc(100svh - 60px - 64px);
    align-items:stretch;
  }
  .jm-hero__shade{
    background:linear-gradient(180deg,rgba(2,12,22,.08) 0%,rgba(2,12,22,.14) 40%,rgba(2,12,22,.22) 62%,rgba(2,12,22,.48) 100%);
  }
  .jm-hero__content{padding:14px 12px 18px}
  .jm-hero__title-block{max-width:248px}
  .jm-hero__kicker,
  .jm-hero__subtitle{padding:7px 10px;box-shadow:3px 3px 0 rgba(0,0,0,.22)}
  .jm-hero__kicker{margin-bottom:10px;font-size:13px}
  .jm-hero__title{
    max-width:248px;
    font-size:clamp(50px,16vw,72px)!important;
    text-shadow:
      0 2px 0 #f0d676,
      2px 0 0 #355640,
      -2px 0 0 #355640,
      0 -1px 0 #355640,
      0 6px 12px rgba(0,0,0,.24);
  }
  .jm-hero__subtitle{margin-top:10px;font-size:12px;line-height:1.25}
  .jm-hero__cta-group{width:100%}
  .jm-hero__window{margin-bottom:12px;padding:14px 14px 13px}
  .jm-hero__window p{font-size:13px;line-height:1.72}
  .jm-start-button,
  .jm-hero__start-button{width:100%;min-height:52px;font-size:15px}
  .jm-hero__scroll{right:14px;bottom:82px}
}


/* =========================================================
   v0.22.2 HERO LAYER FIX
   v0.21 used body-scoped mobile rules that kept a 72px cream
   CTA strip. These selectors intentionally override that layer.
   ========================================================= */
@media (max-width:959px){
  body.jm-front-page .jm-hero{
    min-height:calc(100svh - 58px - 64px)!important;
    align-items:stretch!important;
    background:#78bfe9!important;
  }
  body.jm-front-page .jm-hero__media{
    inset:0!important;
    overflow:hidden!important;
    background:#78bfe9!important;
  }
  body.jm-front-page .jm-hero__media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center 62%!important;
  }
  body.jm-front-page .jm-hero__shade{
    inset:0!important;
    background:linear-gradient(180deg,rgba(5,33,50,.04) 0%,rgba(5,33,50,.02) 48%,rgba(6,24,41,.12) 72%,rgba(6,24,41,.34) 100%)!important;
  }
  body.jm-front-page .jm-hero:after{
    inset:0!important;
  }
  body.jm-front-page .jm-hero__content{
    position:relative!important;
    width:100%!important;
    min-height:inherit!important;
    margin:0!important;
    padding:0!important;
  }
  body.jm-front-page .jm-hero__content:after{
    display:none!important;
    content:none!important;
  }

  /* One-line field-title on mobile keeps the logo in the sky
     instead of covering the Jujo Ginza entrance. */
  body.jm-front-page .jm-hero__kicker{
    position:absolute!important;
    z-index:5!important;
    top:14px!important;
    left:14px!important;
    margin:0!important;
    padding:5px 8px 4px!important;
    font-size:10px!important;
    line-height:1.2!important;
    background:rgba(62,116,74,.94)!important;
    border:2px solid #ffe69b!important;
    box-shadow:3px 3px 0 rgba(20,55,48,.95)!important;
  }
  body.jm-front-page .jm-hero__title{
    position:absolute!important;
    z-index:5!important;
    top:49px!important;
    left:14px!important;
    right:12px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    display:block!important;
    white-space:nowrap!important;
    font-size:clamp(32px,10.5vw,42px)!important;
    line-height:.92!important;
    letter-spacing:-.065em!important;
    filter:drop-shadow(0 5px 6px rgba(4,32,42,.24))!important;
  }
  body.jm-front-page .jm-hero__title-line{
    display:inline!important;
    width:auto!important;
    max-width:none!important;
    -webkit-text-stroke:1.4px #214b3b!important;
    text-shadow:
      1px 1px 0 #fff5c5,
      3px 3px 0 #4f855a,
      5px 5px 0 #163746!important;
  }
  body.jm-front-page .jm-hero__title-line--second{
    margin:0!important;
  }
  body.jm-front-page .jm-hero__title-line--second:before{
    content:" "!important;
    white-space:pre!important;
  }
  body.jm-front-page .jm-hero__subtitle{
    position:absolute!important;
    z-index:5!important;
    top:96px!important;
    left:16px!important;
    margin:0!important;
    padding:4px 7px 3px!important;
    font-size:9px!important;
    line-height:1.25!important;
    letter-spacing:.09em!important;
    background:rgba(255,249,220,.94)!important;
    color:#173b32!important;
    border:2px solid #173b32!important;
    box-shadow:3px 3px 0 #d3a63c!important;
  }

  /* Keep the CTA inside the artwork. The extra pavement below
     the hero becomes the button's stage instead of a cream strip. */
  body.jm-front-page .jm-hero__cta-group{
    position:absolute!important;
    z-index:6!important;
    left:15px!important;
    right:15px!important;
    bottom:16px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
  }
  body.jm-front-page .jm-hero__window{
    display:none!important;
  }
  body.jm-front-page .jm-start-button.jm-hero__start-button{
    position:static!important;
    inset:auto!important;
    display:flex!important;
    width:100%!important;
    min-height:50px!important;
    margin:0!important;
    padding:10px 14px!important;
    color:#fffef4!important;
    background:rgba(42,103,72,.92)!important;
    border:2px solid #ffe69b!important;
    outline:2px solid rgba(23,55,70,.96)!important;
    box-shadow:4px 4px 0 rgba(23,55,70,.88)!important;
    backdrop-filter:blur(2px)!important;
    font-size:14px!important;
    line-height:1.2!important;
  }
  body.jm-front-page .jm-hero__scroll{display:none!important}
}

@media (max-width:390px){
  body.jm-front-page .jm-hero__title{
    font-size:clamp(30px,10vw,38px)!important;
  }
  body.jm-front-page .jm-hero__subtitle{top:92px!important}
}

/* v0.22.3 cache-safe hero marker; authoritative rules are also inline in wp_head. */
body.jm-front-page .jm-hero{--jm-hero-revision:223;}


/* =========================================================
   v0.23 DAYLIGHT WORLD THEME
   Original JUJO MANIAC visual system: sky / field / stone / gold.
   Navy is retained as ink and outline, not as the page background.
   ========================================================= */
:root{
  --jm-day-bg:#f4f1e7;
  --jm-day-paper:#fffdf6;
  --jm-day-sky:#4b98cc;
  --jm-day-sky-soft:#e7f2f7;
  --jm-day-grass:#3f7651;
  --jm-day-grass-deep:#2e5b3d;
  --jm-day-grass-soft:#e7efe0;
  --jm-day-stone:#dfe4e1;
  --jm-day-stone-deep:#aeb9b5;
  --jm-day-ink:#233746;
  --jm-day-muted:#60717a;
  --jm-day-gold:#d6a33c;
  --jm-day-orange:#d97835;
  --jm-day-shadow:rgba(35,55,70,.18);
  --jm-navy:#2a4b59;
  --jm-navy-2:#356574;
  --jm-navy-3:#4b7f8f;
  --jm-cream:#f2e7be;
  --jm-paper:#fffdf6;
  --jm-ink:#233746;
  --jm-gold:#d6a33c;
  --jm-orange:#d97835;
  --jm-red:#bd5a44;
  --jm-blue:#4b98cc;
  --jm-white:#fffdf6;
  --jm-border:#294552;
  --jm-shadow:rgba(35,55,70,.20);
}

/* Header: stone-white travel HUD rather than a night bar. */
.jm-site-header{
  background:rgba(250,249,241,.97)!important;
  color:var(--jm-day-ink)!important;
  border-bottom:2px solid var(--jm-day-gold)!important;
  box-shadow:0 3px 0 rgba(41,69,82,.12),0 7px 18px rgba(35,55,70,.10)!important;
  backdrop-filter:blur(8px);
}
.jm-site-brand{color:var(--jm-day-ink)!important}
.jm-site-brand__main{
  background:linear-gradient(180deg,#dff6ff 0%,#66b6df 35%,#347faf 72%,#235f88 100%);
  -webkit-background-clip:text;background-clip:text;
  color:transparent!important;-webkit-text-fill-color:transparent;
  -webkit-text-stroke:.55px #d1a23d;
  text-shadow:0 1px 0 #fff0b5,1px 2px 0 #315765!important;
  letter-spacing:-.045em!important;
}
.jm-site-brand__sub{color:var(--jm-day-muted)!important}
.jm-head-icon{color:var(--jm-day-ink)!important}
.jm-desktop-nav a{color:var(--jm-day-ink)!important;border-left-color:rgba(41,69,82,.10)!important}
.jm-desktop-nav a:hover{background:#e8f2ed!important;color:var(--jm-day-grass-deep)!important}
.jm-desktop-nav__icon{color:var(--jm-day-grass)!important}
.jm-head-panel{
  background:var(--jm-day-paper)!important;
  color:var(--jm-day-ink)!important;
  border-color:var(--jm-day-gold)!important;
  outline-color:var(--jm-day-ink)!important;
  box-shadow:6px 6px 0 var(--jm-day-shadow)!important;
}
.jm-head-panel a{color:var(--jm-day-ink)!important;border-bottom-color:rgba(41,69,82,.12)!important}
.jm-head-panel a span{color:var(--jm-day-grass)!important}
.jm-head-panel--search button{background:var(--jm-day-grass)!important;color:#fff!important;border-color:var(--jm-day-ink)!important}

/* Mobile dock: light stone HUD, green active-feeling icons. */
.jm-mobile-nav{
  background:rgba(250,249,241,.98)!important;
  border-top:2px solid var(--jm-day-gold)!important;
  box-shadow:0 -5px 18px rgba(35,55,70,.13)!important;
}
.jm-mobile-nav a{color:var(--jm-day-ink)!important}
.jm-mobile-nav__icon{color:var(--jm-day-grass)!important}

/* Main world surfaces. */
body.jm-front-page,
body.jm-quest-archive,
body.jm-quest-board-page,
body.jm-hero-board-page,
body.jm-about-page{background:var(--jm-day-bg)!important;color:var(--jm-day-ink)!important}
.jm-home-section{
  background:var(--jm-day-bg)!important;
  color:var(--jm-day-ink)!important;
  border-top:1px solid rgba(41,69,82,.08);
}
.jm-home-section:nth-of-type(even){background:#f7f4ea!important}
.jm-new-section{background:#f8f4e7!important}
.jm-map-section{background:var(--jm-day-sky-soft)!important}
.jm-genre-section{background:var(--jm-day-grass-soft)!important}
.jm-heroes-section{background:#edf0ee!important;background-image:none!important}
.jm-section-heading{color:var(--jm-day-ink)!important;text-shadow:none!important}
.jm-section-lead{color:var(--jm-day-muted)!important}

/* Generic RPG panels become parchment/stone while keeping chunky game borders. */
.jm-rpg-window{
  background:rgba(255,253,246,.96)!important;
  color:var(--jm-day-ink)!important;
  border-color:#fffdf6!important;
  outline-color:var(--jm-day-ink)!important;
  box-shadow:6px 6px 0 var(--jm-day-shadow)!important;
}
.jm-rpg-window h2{color:var(--jm-day-grass-deep)!important}
.jm-rpg-window p{color:#415662!important}
.jm-button,.jm-start-button{
  background:var(--jm-day-grass)!important;
  color:#fffdf6!important;
  border-color:var(--jm-day-gold)!important;
  outline-color:var(--jm-day-ink)!important;
  box-shadow:3px 3px 0 rgba(35,55,70,.22)!important;
}

/* Front hero wordmark: original sky-blue/gold lettering with one quiet descriptor. */
.jm-hero__kicker{display:none!important}
.jm-hero__title-block{max-width:none!important}
.jm-hero__title{
  width:auto!important;max-width:none!important;
  font-family:"Arial Black","Helvetica Neue",Arial,sans-serif!important;
  font-weight:900!important;
  letter-spacing:-.045em!important;
}
.jm-hero__title-line{
  display:inline!important;
  background:linear-gradient(180deg,#edfaff 0%,#72c1e7 30%,#3d90c9 62%,#23699e 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
  -webkit-text-stroke:1.35px #d6aa43!important;
  text-shadow:0 2px 0 #f8e7aa,2px 3px 0 #315a63,3px 5px 0 #203f4e!important;
}
.jm-hero__title-line--second:before{content:""!important}
.jm-hero__subtitle{
  color:#274653!important;
  background:rgba(250,248,233,.94)!important;
  border-color:var(--jm-day-gold)!important;
  box-shadow:2px 2px 0 var(--jm-day-grass)!important;
  font-family:ui-monospace,"SFMono-Regular",Consolas,monospace!important;
  font-weight:900!important;
  letter-spacing:.035em!important;
}
.jm-hero__start-button{
  background:rgba(50,115,76,.92)!important;
  border-color:#f0d58e!important;
  outline-color:#294552!important;
}

/* Cards: daylight paper with field/sky tags. */
.jm-quest-card,.jm-new-quest-card,.jm-featured-card,.jm-area-card,.jm-discovery-card,.jm-next-quest-card,.jm-archive-card{
  background:var(--jm-day-paper)!important;
  color:var(--jm-day-ink)!important;
  border-color:var(--jm-day-ink)!important;
  box-shadow:4px 4px 0 var(--jm-day-shadow)!important;
}
.jm-tag,.jm-new-quest-card__new,.jm-featured-card__badge,.jm-next-quest-card__tag,.jm-archive-card__meta span{
  background:#e7c66a!important;color:var(--jm-day-ink)!important;border-color:var(--jm-day-ink)!important;
}
.jm-new-quest-card h3,.jm-new-quest-card h3 a,.jm-featured-card h3,.jm-featured-card h3 a,
.jm-quest-card h3,.jm-quest-card h3 a,.jm-archive-card h2,.jm-archive-card h2 a{
  color:var(--jm-day-ink)!important;
}

/* World map can stay game-like, but its surrounding inventory list is daylight. */
.jm-world-map{background:#f1e7c7!important;border-color:var(--jm-day-ink)!important}
.jm-map-area-list{background:rgba(255,253,246,.96)!important;color:var(--jm-day-ink)!important;border-color:var(--jm-day-gold)!important}
.jm-map-area-list summary{color:var(--jm-day-ink)!important}
.jm-map-area-list__chips a{background:#eef4ef!important;color:var(--jm-day-ink)!important;border-color:#8ba49a!important}

/* HERO cards: character files are stone-paper, not black screens. */
.jm-hero-card{background:var(--jm-day-paper)!important;color:var(--jm-day-ink)!important;border-color:var(--jm-day-ink)!important;box-shadow:5px 5px 0 var(--jm-day-shadow)!important}
.jm-hero-card__body{background:var(--jm-day-paper)!important}
.jm-hero-card__role{background:var(--jm-day-grass-deep)!important;color:#fff4c8!important;border-color:var(--jm-day-gold)!important}
.jm-hero-card__file{color:var(--jm-day-grass-deep)!important;border-bottom-color:rgba(63,118,81,.34)!important}
.jm-hero-card h3,.jm-hero-card h3 a{color:var(--jm-day-ink)!important}
.jm-hero-card__job,.jm-hero-card__job strong{color:var(--jm-day-ink)!important}
.jm-hero-card__job span{color:var(--jm-day-grass)!important}
.jm-hero-card__stats{background:#edf4f6!important;border-color:#b7cbd2!important}
.jm-hero-card__stats div+div{border-top-color:#cbd8dc!important}
.jm-hero-card__stats dt{color:var(--jm-day-grass-deep)!important}
.jm-hero-card__stats dd{color:var(--jm-day-ink)!important}
.jm-hero-card__catch{color:#50636d!important}
.jm-hero-card__quest-title{color:#7a898f!important}

/* Search / archive / hero-database screens. */
.jm-archive-root,.jm-quest-board-root,.jm-hero-board-root,.jm-about-root{background:var(--jm-day-bg)!important;color:var(--jm-day-ink)!important}
.jm-archive-hero,.jm-board-hero,.jm-hero-board-hero,.jm-about-hero{
  background:linear-gradient(180deg,#dff1f8 0%,#eef5ef 72%,#f4f1e7 100%)!important;
  border-bottom-color:var(--jm-day-gold)!important;
}
.jm-archive-hero h1,.jm-board-hero h1,.jm-hero-board-hero h1,.jm-about-hero h1{
  color:var(--jm-day-ink)!important;text-shadow:2px 2px 0 rgba(255,255,255,.9)!important;
}
.jm-board-hero p,.jm-hero-board-hero p,.jm-about-hero p,.jm-archive-hero p{color:#536b77!important}
.jm-archive-hero__counter,.jm-board-total,.jm-hero-board-total{
  background:rgba(255,253,246,.96)!important;border-color:var(--jm-day-gold)!important;color:var(--jm-day-ink)!important;box-shadow:4px 4px 0 var(--jm-day-shadow)!important;
}
.jm-board-total strong,.jm-hero-board-total strong,.jm-archive-hero__counter strong{color:var(--jm-day-grass-deep)!important}
.jm-board-total span,.jm-hero-board-total span,.jm-archive-hero__counter span{color:var(--jm-day-muted)!important}
.jm-board-results__head strong,.jm-hero-board-results__head strong,.jm-archive-list__head strong{color:var(--jm-day-ink)!important}
.jm-board-search__keyword button,.jm-board-search__actions button,.jm-board-search__actions a,
.jm-hero-board-search button,.jm-archive-hero__actions a{
  background:var(--jm-day-grass)!important;color:#fff!important;border-color:var(--jm-day-ink)!important;
}
.jm-board-pagination .page-numbers,.jm-archive-pagination .page-numbers{
  background:var(--jm-day-paper)!important;color:var(--jm-day-ink)!important;border-color:var(--jm-day-gold)!important;
}
.jm-board-pagination .current,.jm-archive-pagination .current{background:var(--jm-day-grass)!important;color:#fff!important}
.jm-board-empty{border-color:#b7a45f!important;color:var(--jm-day-ink)!important}
.jm-board-empty strong,.jm-board-empty p{color:var(--jm-day-ink)!important}
.jm-menu-groups section{background:var(--jm-day-paper)!important;border-color:#cbd4d0!important}
.jm-menu-groups section a{color:var(--jm-day-ink)!important}
.jm-menu-groups section a:hover{background:#e8f1eb!important}

/* About: BASE CAMP is a calm grass panel, not an ad-like dark block. */
.jm-about-profile,.jm-about-mission,.jm-about-base{
  background:var(--jm-day-paper)!important;color:var(--jm-day-ink)!important;border-color:var(--jm-day-ink)!important;box-shadow:5px 5px 0 var(--jm-day-shadow)!important;
}
.jm-about-base{background:#e8f0df!important;border-color:var(--jm-day-gold)!important}
.jm-about-base h2,.jm-about-base p{color:var(--jm-day-ink)!important}
.jm-about-base .jm-about-section-label{color:var(--jm-day-grass-deep)!important}
.jm-about-profile__role{background:var(--jm-day-sky)!important;color:#fff!important;border-color:var(--jm-day-gold)!important}
.jm-about-mission__links a,.jm-about-base__cta{background:var(--jm-day-grass)!important;color:#fff!important;border-color:var(--jm-day-gold)!important;box-shadow:3px 3px 0 var(--jm-day-shadow)!important}

/* Article screens: readable parchment with green/sky game UI. */
body.jm-quest-single{background:var(--jm-day-bg)!important;color:var(--jm-day-ink)!important}
.jm-quest-start,.jm-quest-data{
  background:var(--jm-day-paper)!important;color:var(--jm-day-ink)!important;
  border-color:var(--jm-day-gold)!important;outline-color:var(--jm-day-ink)!important;box-shadow:5px 5px 0 var(--jm-day-shadow)!important;
}
.jm-quest-start__hud,.jm-quest-data__hud{background:var(--jm-day-grass-deep)!important;color:#fff4c8!important;border-bottom-color:var(--jm-day-gold)!important}
.jm-quest-data__stats>div{border-color:#d5ddda!important}
.jm-quest-data__stats dt{color:var(--jm-day-grass-deep)!important}
.jm-quest-data__stats dd,.jm-quest-data__stats dd a{color:var(--jm-day-ink)!important}
.jm-quest-data__brief{background:#e9f3f6!important}
.jm-quest-data__brief>span{color:var(--jm-day-orange)!important}
.jm-quest-data__brief p{color:#405964!important}
body.jm-quest-single .post_content .p-toc,
body.jm-quest-single .post_content #toc_container,
body.jm-quest-single .post_content .lwptoc_i{
  background:#edf5f2!important;color:var(--jm-day-ink)!important;border-color:var(--jm-day-gold)!important;outline-color:var(--jm-day-ink)!important;
}
body.jm-quest-single .post_content .p-toc__ttl,
body.jm-quest-single .post_content #toc_container .toc_title,
body.jm-quest-single .post_content .lwptoc_title{color:var(--jm-day-grass-deep)!important}
body.jm-quest-single .post_content .p-toc a,
body.jm-quest-single .post_content #toc_container a,
body.jm-quest-single .post_content .lwptoc_i a{color:var(--jm-day-ink)!important}
body.jm-quest-single .post_content>h2{background:var(--jm-day-grass-deep)!important;color:#fffdf2!important;border-left-color:var(--jm-day-gold)!important;box-shadow:4px 4px 0 #294552!important}
body.jm-quest-single .post_content>h3{background:#eef4df!important;color:var(--jm-day-ink)!important;border-left-color:var(--jm-day-sky)!important;border-bottom-color:var(--jm-day-ink)!important}
.jm-quest-clear{background:#e7efe0!important;color:var(--jm-day-ink)!important;border-color:var(--jm-day-gold)!important;box-shadow:5px 5px 0 var(--jm-day-shadow)!important}
.jm-quest-clear__title{color:var(--jm-day-grass-deep)!important}
.jm-quest-clear>p{color:#50636d!important}
.jm-quest-clear__routes a{background:var(--jm-day-paper)!important;color:var(--jm-day-ink)!important;border-color:#a9bda9!important}
.jm-quest-share{background:var(--jm-day-paper)!important;border-color:var(--jm-day-ink)!important;border-top-color:var(--jm-day-gold)!important}
.jm-quest-share__head>span{background:var(--jm-day-grass)!important;color:#fff4c8!important}
.jm-share-btn{background:var(--jm-day-grass)!important;color:#fff!important;border-color:var(--jm-day-gold)!important;box-shadow:2px 2px 0 var(--jm-day-shadow)!important}
.jm-share-btn:hover{background:var(--jm-day-grass-deep)!important}

/* Hero-specific desktop refinements. */
@media (min-width:960px){
  .jm-hero__title{font-size:clamp(58px,7vw,96px)!important;white-space:nowrap!important}
  .jm-hero__subtitle{font-size:12px!important;padding:5px 9px 4px!important}
}

/* Mobile title balance: one half-width space from the markup, no generated second gap. */
@media (max-width:959px){
  body.jm-front-page .jm-hero__kicker{display:none!important}
  body.jm-front-page .jm-hero__title{
    top:18px!important;left:10px!important;right:10px!important;
    text-align:center!important;
    font-size:clamp(39px,12vw,47px)!important;
    letter-spacing:-.045em!important;
  }
  body.jm-front-page .jm-hero__title-line--second:before{content:""!important}
  body.jm-front-page .jm-hero__subtitle{
    top:69px!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;
    width:max-content!important;max-width:calc(100% - 28px)!important;
    font-size:9px!important;letter-spacing:.035em!important;
  }
}
@media (max-width:390px){
  body.jm-front-page .jm-hero__title{font-size:clamp(37px,11.7vw,44px)!important}
  body.jm-front-page .jm-hero__subtitle{top:66px!important;font-size:8.5px!important}
}


/* =========================================================
   v0.24 separate-art title screen fallback styles.
   Critical mobile positioning is also emitted inline to survive caching.
   ========================================================= */
.jm-hero__logo-title{margin:0;line-height:0}
.jm-hero__logo{display:block;width:100%;height:auto}
.jm-hero--builtin .jm-hero__window{display:none}


/* =========================================================
   v0.24.1 smartphone hero final spacing pass
   - smaller two-line logo so the Jujo Ginza arch can breathe
   - a touch lower title placement
   - CTA moved to the very bottom of the artwork
   ========================================================= */
@media (max-width:959px){
  body.jm-front-page .jm-hero--builtin .jm-hero__logo-title{
    top:5px!important;
    width:min(64vw,248px)!important;
    max-width:calc(100% - 42px)!important;
  }
  body.jm-front-page .jm-hero--builtin .jm-hero__cta-group{
    left:18px!important;
    right:18px!important;
    bottom:8px!important;
    transform:none!important;
    width:auto!important;
  }
  body.jm-front-page .jm-hero--builtin .jm-hero__start-button{
    min-height:50px!important;
    padding:10px 14px!important;
  }
}
@media (max-width:390px){
  body.jm-front-page .jm-hero--builtin .jm-hero__logo-title{
    top:4px!important;
    width:min(61vw,232px)!important;
  }
}

/* =========================================================
   v0.25 HEADER LOGO + DAYLIGHT WORLD POLISH
   Blue sky / grass green / warm white / gold, with navy only as ink.
   ========================================================= */
:root{
  --jm25-sky:#4f9fd1;
  --jm25-sky-soft:#eaf5fb;
  --jm25-grass:#4c8058;
  --jm25-grass-deep:#315d40;
  --jm25-grass-soft:#e8f1e4;
  --jm25-paper:#fffdf7;
  --jm25-stone:#eef0ec;
  --jm25-gold:#d6aa43;
  --jm25-ink:#263c49;
  --jm25-muted:#667981;
  --jm25-shadow:rgba(38,60,73,.16);
}

/* Compact illustrated wordmark in the global header. */
.jm-site-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  color:inherit!important;
}
.jm-site-brand__logo{
  display:block!important;
  width:auto!important;
  height:46px!important;
  max-width:275px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.85));
}
.jm-site-brand__main,
.jm-site-brand__sub{display:none!important}

/* Header stays warm-white so the illustrated logo can breathe. */
.jm-site-header{
  background:rgba(255,253,247,.975)!important;
  border-bottom:2px solid var(--jm25-gold)!important;
  box-shadow:0 3px 0 rgba(38,60,73,.09),0 7px 18px rgba(38,60,73,.08)!important;
}
.jm-head-icon{color:var(--jm25-ink)!important}
.jm-desktop-nav a{color:var(--jm25-ink)!important}
.jm-desktop-nav__icon{color:var(--jm25-grass)!important}
.jm-desktop-nav a:hover{background:var(--jm25-grass-soft)!important;color:var(--jm25-grass-deep)!important}

/* Navigation dock: pale stone, forest icons, gold divider. */
.jm-mobile-nav{
  background:rgba(255,253,247,.985)!important;
  border-top:2px solid var(--jm25-gold)!important;
  box-shadow:0 -5px 18px rgba(38,60,73,.11)!important;
}
.jm-mobile-nav a{color:var(--jm25-ink)!important}
.jm-mobile-nav__icon{color:var(--jm25-grass)!important}

/* Softer translucent green CTA: keep the arcade visible through the button. */
body.jm-front-page .jm-hero--builtin .jm-hero__start-button{
  background:rgba(42,126,77,.78)!important;
  border-color:#f2d777!important;
  outline-color:rgba(35,79,61,.92)!important;
  box-shadow:4px 4px 0 rgba(29,75,60,.52)!important;
  backdrop-filter:blur(2px) saturate(1.08)!important;
}
body.jm-front-page .jm-hero--builtin .jm-hero__start-button:hover{
  background:rgba(42,126,77,.86)!important;
}

/* Daylight section rhythm: alternate field, sky and stone instead of dark navy blocks. */
.jm-home-section{background:#f8f5ec!important;color:var(--jm25-ink)!important}
.jm-home-section:nth-of-type(even){background:#f1f3ef!important}
.jm-new-section{background:#fffaf0!important}
.jm-map-section{background:linear-gradient(180deg,#e9f5fb 0%,#f5f8f3 100%)!important}
.jm-genre-section{background:linear-gradient(180deg,#e8f1e4 0%,#f5f6ee 100%)!important}
.jm-heroes-section{background:linear-gradient(180deg,#f0f2ef 0%,#fbf9f1 100%)!important}
.jm-section-heading{color:var(--jm25-ink)!important}
.jm-section-lead{color:var(--jm25-muted)!important}

/* Cards / panels: warm paper + dark ink + gold/grass accents. */
.jm-quest-card,.jm-new-quest-card,.jm-featured-card,.jm-area-card,.jm-discovery-card,.jm-next-quest-card,.jm-archive-card,.jm-hero-card{
  background:var(--jm25-paper)!important;
  border-color:#35505b!important;
  box-shadow:4px 4px 0 var(--jm25-shadow)!important;
}
.jm-button,.jm-start-button:not(.jm-hero__start-button){
  background:var(--jm25-grass)!important;
  border-color:var(--jm25-gold)!important;
  outline-color:#35505b!important;
  color:#fff!important;
}
.jm-tag,.jm-new-quest-card__new,.jm-featured-card__badge,.jm-next-quest-card__tag,.jm-archive-card__meta span{
  background:#efd883!important;
  color:var(--jm25-ink)!important;
  border-color:#35505b!important;
}

/* Database / archive / about surfaces share the same daylight world. */
.jm-archive-root,.jm-quest-board-root,.jm-hero-board-root,.jm-about-root{background:#f6f3ea!important;color:var(--jm25-ink)!important}
.jm-archive-hero,.jm-board-hero,.jm-hero-board-hero,.jm-about-hero{
  background:linear-gradient(180deg,#dff2fb 0%,#edf5ec 74%,#f6f3ea 100%)!important;
  border-bottom-color:var(--jm25-gold)!important;
}
.jm-archive-hero h1,.jm-board-hero h1,.jm-hero-board-hero h1,.jm-about-hero h1{
  color:var(--jm25-ink)!important;
  text-shadow:2px 2px 0 rgba(255,255,255,.9)!important;
}
.jm-board-search__form,.jm-hero-board-search__form{
  background:#fff6d9!important;
  border-color:var(--jm25-gold)!important;
  color:var(--jm25-ink)!important;
}
.jm-board-search__keyword button,.jm-board-search__actions button,.jm-board-search__actions a,.jm-hero-board-search button,.jm-archive-hero__actions a{
  background:var(--jm25-grass)!important;color:#fff!important;border-color:#35505b!important;
}

/* Article pages: warm paper body with grass headings and sky secondary accents. */
body.jm-quest-single{background:#f6f3ea!important;color:var(--jm25-ink)!important}
.jm-quest-start,.jm-quest-data,.jm-quest-clear{
  background:var(--jm25-paper)!important;
  border-color:var(--jm25-gold)!important;
  outline-color:#35505b!important;
  box-shadow:5px 5px 0 var(--jm25-shadow)!important;
}
.jm-quest-start__hud,.jm-quest-data__hud{background:var(--jm25-grass-deep)!important;color:#fff5c8!important;border-bottom-color:var(--jm25-gold)!important}
body.jm-quest-single .post_content>h2{background:var(--jm25-grass-deep)!important;color:#fff!important;border-left-color:var(--jm25-gold)!important}
body.jm-quest-single .post_content>h3{background:#edf5e8!important;color:var(--jm25-ink)!important;border-left-color:var(--jm25-sky)!important}

@media (max-width:959px){
  .jm-site-brand__logo{height:40px!important;max-width:215px!important}
  .jm-site-header__inner{background:transparent!important}
  body.jm-front-page .jm-hero--builtin .jm-hero__start-button{
    background:rgba(42,126,77,.76)!important;
  }
}


/* v0.25.1 final first-view polish */
@media (max-width:959px){
  .jm-site-brand__logo{
    height:40px!important;
    max-width:215px!important;
    transform:translateY(1px)!important;
  }
  body.jm-front-page .jm-hero--builtin .jm-hero__logo-title{
    top:5px!important;
  }
}
@media (max-width:390px){
  body.jm-front-page .jm-hero--builtin .jm-hero__logo-title{top:4px!important}
}


/* =========================================================
   v0.26 HOME WORLD PASS
   Turn everything below the title screen into a bright JRPG town/world UI.
   The article/archive screens remain readable; this pass is intentionally
   focused on the managed home page.
   ========================================================= */

body.jm-front-page{
  --jm26-sky:#72bce4;
  --jm26-sky-pale:#eaf7fd;
  --jm26-field:#6f9d61;
  --jm26-field-deep:#3e724b;
  --jm26-field-pale:#e8f2df;
  --jm26-stone:#eef0eb;
  --jm26-paper:#fffdf5;
  --jm26-parchment:#fff4cf;
  --jm26-gold:#d7aa3f;
  --jm26-gold-pale:#f6e7aa;
  --jm26-ink:#294653;
  --jm26-muted:#6a7c83;
  --jm26-red:#d95c4d;
  --jm26-shadow:rgba(41,70,83,.17);
  background:#f7f4e9!important;
}

/* Section rhythm: each area reads as a new RPG location rather than a navy block. */
body.jm-front-page .jm-home-section{
  position:relative;
  padding:42px 16px 46px!important;
  border-top:0!important;
  color:var(--jm26-ink)!important;
  overflow:hidden;
}
body.jm-front-page .jm-home-section > *{
  position:relative;
  z-index:1;
}
body.jm-front-page .jm-home-section::before{
  display:inline-block;
  margin:0 0 7px;
  font:900 9px/1 ui-monospace,"SFMono-Regular",Consolas,monospace;
  letter-spacing:.16em;
  color:var(--jm26-field-deep);
}
body.jm-front-page #jm-new-quests::before{content:"QUEST BOARD"}
body.jm-front-page #jm-world-map::before{content:"WORLD MAP";color:#2e7197}
body.jm-front-page #jm-genres::before{content:"QUEST TYPE"}
body.jm-front-page #jm-heroes::before{content:"HERO DATABASE";color:#5c6670}
body.jm-front-page .jm-home-section:has(.jm-featured-grid)::before{content:"PICK UP QUEST";color:#9b6b16}
body.jm-front-page .jm-home-section:has(.jm-random)::before{content:"RANDOM QUEST";color:#2e7197}
body.jm-front-page #jm-adventure-menu::before{content:"ABOUT THIS ADVENTURE";color:#5c6670}

body.jm-front-page .jm-section-heading{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 7px!important;
  padding:0 0 10px;
  border-bottom:2px solid rgba(41,70,83,.24);
  color:var(--jm26-ink)!important;
  font-size:clamp(23px,4vw,34px)!important;
  font-weight:1000!important;
  letter-spacing:.01em!important;
  text-shadow:1px 1px 0 rgba(255,255,255,.78)!important;
}
body.jm-front-page .jm-section-heading::after{
  content:"";
  flex:1 1 auto;
  height:3px;
  margin-left:4px;
  background:linear-gradient(90deg,var(--jm26-gold),rgba(215,170,63,0));
}
body.jm-front-page .jm-section-lead{
  margin:8px 0 20px!important;
  color:var(--jm26-muted)!important;
  font-size:12px!important;
  line-height:1.75!important;
}

/* New quests = the town's quest board. */
body.jm-front-page .jm-new-section{
  background:
    linear-gradient(90deg,rgba(111,157,97,.10) 0,rgba(111,157,97,.10) 12px,transparent 12px),
    linear-gradient(180deg,#fffdf6 0%,#fff7df 100%)!important;
  box-shadow:inset 0 4px 0 var(--jm26-field-deep),inset 0 -1px 0 rgba(41,70,83,.10);
}
body.jm-front-page .jm-new-section::after{
  content:"";
  position:absolute;
  right:-26px;top:-34px;
  width:130px;height:130px;
  border:24px solid rgba(111,157,97,.065);
  border-radius:50%;
  z-index:0;
}
body.jm-front-page .jm-new-quest-grid{gap:12px!important}
body.jm-front-page .jm-new-quest-card{
  position:relative;
  background:var(--jm26-paper)!important;
  border:2px solid #48616b!important;
  box-shadow:4px 4px 0 var(--jm26-shadow)!important;
}
body.jm-front-page .jm-new-quest-card::after{
  content:"";
  position:absolute;left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,var(--jm26-field),var(--jm26-sky));
  pointer-events:none;
}
body.jm-front-page .jm-new-quest-card--lead{
  box-shadow:0 0 0 2px var(--jm26-gold),5px 5px 0 var(--jm26-shadow)!important;
}
body.jm-front-page .jm-new-quest-card__body{background:linear-gradient(180deg,#fffef9 0%,#fffaf0 100%)}
body.jm-front-page .jm-new-quest-card__meta{color:#78858a!important}
body.jm-front-page .jm-new-quest-card__meta .jm-tag{
  background:var(--jm26-field-pale)!important;
  color:var(--jm26-field-deep)!important;
  border-color:#7d9d7e!important;
}
body.jm-front-page .jm-new-quest-card__new{
  background:var(--jm26-red)!important;
  color:#fff!important;
  border-color:#fff1c0!important;
}
body.jm-front-page .jm-new-quest-card h3,
body.jm-front-page .jm-new-quest-card h3 a{color:var(--jm26-ink)!important}
body.jm-front-page .jm-new-quest-more .jm-start-button{
  background:var(--jm26-field-deep)!important;
  border-color:var(--jm26-gold)!important;
  outline-color:#2c4d56!important;
}

/* World map = open-sky travel screen. */
body.jm-front-page .jm-map-section{
  background:
    radial-gradient(circle at 14% 13%,rgba(255,255,255,.92) 0 28px,transparent 29px),
    radial-gradient(circle at 23% 17%,rgba(255,255,255,.78) 0 20px,transparent 21px),
    linear-gradient(180deg,#dff3fc 0%,#edf7f5 54%,#eef3e8 100%)!important;
  box-shadow:inset 0 4px 0 #6cb7dc,inset 0 -1px 0 rgba(41,70,83,.12);
}
body.jm-front-page .jm-map-section .jm-world-map{
  padding:8px!important;
  background:#fff7dc!important;
  border:3px solid var(--jm26-gold)!important;
  outline:2px solid #37545f!important;
  box-shadow:7px 7px 0 rgba(41,70,83,.16)!important;
}
body.jm-front-page .jm-map-section .jm-world-map__stage{
  border-color:#39535d!important;
}
body.jm-front-page .jm-map-note{
  margin:9px 2px 11px!important;
  color:#637982!important;
}
body.jm-front-page .jm-map-area-list{
  background:rgba(255,253,246,.96)!important;
  color:var(--jm26-ink)!important;
  border-color:#b9a469!important;
}
body.jm-front-page .jm-map-area-list summary{color:var(--jm26-ink)!important}
body.jm-front-page .jm-map-area-list__chips a{
  background:#edf5ef!important;
  color:var(--jm26-ink)!important;
  border-color:#91a99a!important;
}
body.jm-front-page .jm-map-area-list__chips small{color:var(--jm26-field-deep)!important}

/* Genre = grassy field menu. */
body.jm-front-page .jm-genre-section{
  background:
    linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px),
    linear-gradient(180deg,#e6f1dd 0%,#f3f5e8 100%)!important;
  background-size:18px 18px,18px 18px,auto!important;
  box-shadow:inset 0 4px 0 var(--jm26-field),inset 0 -1px 0 rgba(41,70,83,.10);
}
body.jm-front-page .jm-discovery-card{
  background:linear-gradient(180deg,#fffef9 0%,#f9f4e3 100%)!important;
  border-color:#567062!important;
  box-shadow:3px 3px 0 rgba(41,70,83,.13)!important;
}
body.jm-front-page .jm-discovery-card::after{background:var(--jm26-field)!important}
body.jm-front-page .jm-discovery-card__icon{
  color:var(--jm26-field-deep)!important;
  text-shadow:1px 1px 0 #fff!important;
}
body.jm-front-page .jm-discovery-card__count{color:#748077!important;opacity:1!important}
body.jm-front-page .jm-discovery-card__arrow{color:#4e85a5!important}

/* HERO DATABASE = pale castle/stone hall. */
body.jm-front-page .jm-heroes-section{
  background:
    linear-gradient(135deg,rgba(255,255,255,.34) 25%,transparent 25%) 0 0/22px 22px,
    linear-gradient(315deg,rgba(255,255,255,.26) 25%,transparent 25%) 0 0/22px 22px,
    linear-gradient(180deg,#ecefeb 0%,#f9f7ee 100%)!important;
  box-shadow:inset 0 4px 0 #aeb8b4,inset 0 -1px 0 rgba(41,70,83,.12);
}
body.jm-front-page .jm-hero-database__hud{
  background:linear-gradient(90deg,#345b48 0%,#47745a 100%)!important;
  color:#fff7d5!important;
  border-color:var(--jm26-gold)!important;
  box-shadow:3px 3px 0 rgba(41,70,83,.17)!important;
}
body.jm-front-page .jm-hero-database__hud strong{color:#ffe49b!important}
body.jm-front-page .jm-hero-role-nav a{
  background:#fffdf6!important;
  color:var(--jm26-ink)!important;
  border-color:#a6b7ad!important;
  box-shadow:2px 2px 0 rgba(41,70,83,.08)!important;
}
body.jm-front-page .jm-hero-role-nav a span{color:var(--jm26-field-deep)!important}
body.jm-front-page .jm-hero-role-nav a small{
  background:var(--jm26-gold-pale)!important;
  color:var(--jm26-ink)!important;
}
body.jm-front-page .jm-hero-card{
  border-color:#50666d!important;
  outline:0!important;
  background:var(--jm26-paper)!important;
}
body.jm-front-page .jm-hero-card__role{
  background:rgba(52,91,72,.94)!important;
  color:#fff6d0!important;
  border-color:var(--jm26-gold)!important;
}
body.jm-front-page .jm-hero-card__file{color:var(--jm26-field-deep)!important}
body.jm-front-page .jm-hero-more .jm-start-button{background:var(--jm26-field-deep)!important}

/* Curated stories = rare/gold quest chest. */
body.jm-front-page .jm-home-section:has(.jm-featured-grid){
  background:
    radial-gradient(circle at 90% 6%,rgba(255,224,135,.35) 0 90px,transparent 91px),
    linear-gradient(180deg,#fff9e9 0%,#f7eed4 100%)!important;
  box-shadow:inset 0 4px 0 var(--jm26-gold),inset 0 -1px 0 rgba(41,70,83,.11);
}
body.jm-front-page .jm-featured-card{
  border-color:#6c5a35!important;
  box-shadow:4px 4px 0 rgba(89,72,38,.15)!important;
}
body.jm-front-page .jm-featured-card__badge{
  background:#c8932e!important;
  color:#fff!important;
  border-color:#fff1bd!important;
}
body.jm-front-page .jm-featured-card__cta{color:var(--jm26-field-deep)!important;border-bottom-color:var(--jm26-gold)!important}
body.jm-front-page .jm-featured-card--lead{box-shadow:0 0 0 2px var(--jm26-gold),5px 5px 0 rgba(89,72,38,.15)!important}
body.jm-front-page .jm-featured-empty{
  background:rgba(255,253,245,.84)!important;
  color:var(--jm26-ink)!important;
  border-color:#c6b072!important;
}
body.jm-front-page .jm-featured-empty strong{color:#9b6b16!important}

/* Random quest = a small roadside sign rather than another full content system. */
body.jm-front-page .jm-home-section:has(.jm-random){
  background:linear-gradient(180deg,#e9f5fb 0%,#edf4e6 100%)!important;
  box-shadow:inset 0 4px 0 #73b5d5,inset 0 -1px 0 rgba(41,70,83,.10);
}
body.jm-front-page .jm-random{
  max-width:760px!important;
  margin:0 auto!important;
  background:rgba(255,253,245,.92)!important;
  border:3px solid var(--jm26-gold)!important;
  outline:2px solid #49636c!important;
  box-shadow:5px 5px 0 var(--jm26-shadow)!important;
}
body.jm-front-page .jm-random p{color:var(--jm26-ink)!important}

/* About = quiet town notice board at the end of the route. */
body.jm-front-page #jm-adventure-menu{
  background:linear-gradient(180deg,#eef0eb 0%,#f8f5ec 100%)!important;
  box-shadow:inset 0 4px 0 #b5bbb7;
}
body.jm-front-page #jm-adventure-menu .jm-site-intro{
  padding:20px;
  background:rgba(255,253,245,.9);
  border:2px solid #93a39d;
  box-shadow:4px 4px 0 var(--jm26-shadow);
}
body.jm-front-page #jm-adventure-menu .jm-site-intro__label{color:var(--jm26-field-deep)!important}

/* Smartphone density: retain the title-screen feel, but every next section gets its own place identity. */
@media (max-width:959px){
  body.jm-front-page .jm-home-section{padding:30px 12px 34px!important}
  body.jm-front-page .jm-home-section::before{margin-bottom:6px;font-size:8px;letter-spacing:.14em}
  body.jm-front-page .jm-section-heading{
    margin-bottom:6px!important;
    padding-bottom:8px;
    font-size:22px!important;
    line-height:1.25!important;
  }
  body.jm-front-page .jm-section-heading::after{height:2px}
  body.jm-front-page .jm-section-lead{margin:7px 0 15px!important;font-size:11px!important;line-height:1.65!important}

  body.jm-front-page .jm-new-quest-grid{gap:9px!important}
  body.jm-front-page .jm-new-quest-card{box-shadow:3px 3px 0 var(--jm26-shadow)!important}
  body.jm-front-page .jm-new-quest-card--lead{box-shadow:0 0 0 1px var(--jm26-gold),4px 4px 0 var(--jm26-shadow)!important}
  body.jm-front-page .jm-new-quest-more{margin-top:15px}

  body.jm-front-page .jm-map-section .jm-world-map{padding:5px!important;border-width:2px!important;outline-width:1px!important;box-shadow:4px 4px 0 var(--jm26-shadow)!important}
  body.jm-front-page .jm-map-note{font-size:8px!important;line-height:1.55!important}

  body.jm-front-page .jm-discovery-card{min-height:68px!important}
  body.jm-front-page .jm-hero-database__hud{margin-bottom:9px!important}
  body.jm-front-page .jm-hero-role-nav{margin-bottom:11px!important}

  body.jm-front-page .jm-home-section:has(.jm-featured-grid) .jm-section-heading,
  body.jm-front-page .jm-home-section:has(.jm-random) .jm-section-heading{margin-bottom:12px!important}
  body.jm-front-page .jm-random{padding:17px 12px!important}
  body.jm-front-page #jm-adventure-menu .jm-site-intro{padding:15px}
}


/* =========================================================
   v0.27 ARTICLE-FIRST HOME
   Compact the immersive title screen into a media masthead and
   promote the newest story before the world-building sections.
   ========================================================= */
body.jm-front-page .jm-hero--builtin .jm-hero__cta-group{display:none!important}

@media (min-width:960px){
  body.jm-front-page .jm-hero--builtin{
    min-height:430px!important;
    height:430px!important;
  }
  body.jm-front-page .jm-hero--builtin .jm-hero__media img{object-position:center 40%!important}
  body.jm-front-page .jm-hero--builtin .jm-hero__logo-title{
    top:18px!important;
    width:min(390px,34vw)!important;
  }
}

@media (max-width:959px){
  body.jm-front-page .jm-hero--builtin{
    min-height:clamp(238px,68vw,270px)!important;
    height:clamp(238px,68vw,270px)!important;
  }
  body.jm-front-page .jm-hero--builtin .jm-hero__media img{
    object-position:center 38%!important;
  }
  body.jm-front-page .jm-hero--builtin .jm-hero__shade{
    background:linear-gradient(180deg,rgba(14,58,82,.02) 0%,rgba(14,58,82,0) 62%,rgba(7,41,46,.15) 100%)!important;
  }
  body.jm-front-page .jm-hero--builtin .jm-hero__logo-title{
    top:5px!important;
    width:min(54vw,215px)!important;
    max-width:calc(100% - 84px)!important;
  }

  /* The latest story should look like the first editorial feature, not another tile. */
  body.jm-front-page .jm-new-section{
    padding-top:20px!important;
  }
  body.jm-front-page .jm-new-section::before{margin-bottom:5px!important}
  body.jm-front-page .jm-new-section .jm-section-heading{
    margin-bottom:4px!important;
    padding-bottom:7px!important;
  }
  body.jm-front-page .jm-new-section .jm-section-lead{
    margin:6px 0 12px!important;
  }
  body.jm-front-page .jm-new-quest-card--lead{
    display:block!important;
    min-height:0!important;
    grid-column:1/-1!important;
  }
  body.jm-front-page .jm-new-quest-card--lead .jm-new-quest-card__thumb{
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/9!important;
  }
  body.jm-front-page .jm-new-quest-card--lead .jm-new-quest-card__body{
    padding:11px 12px 13px!important;
  }
  body.jm-front-page .jm-new-quest-card--lead h3{
    font-size:17px!important;
    line-height:1.42!important;
  }
  body.jm-front-page .jm-new-quest-card--lead p{
    display:block!important;
    margin-top:7px!important;
    font-size:10.5px!important;
    line-height:1.58!important;
  }
  body.jm-front-page .jm-new-quest-card--lead .jm-new-quest-card__meta{
    font-size:9px!important;
    margin-bottom:7px!important;
  }
}

/* A missing thumbnail should still feel intentionally editorial. */
body.jm-front-page .jm-new-quest-card .jm-quest-card__placeholder{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  background:
    radial-gradient(circle at 18% 24%,rgba(255,255,255,.72) 0 9%,transparent 10%),
    linear-gradient(135deg,#dceef4 0%,#e9f2df 52%,#fff1c8 100%)!important;
  color:#3e724b!important;
  font:1000 15px/1 ui-monospace,"SFMono-Regular",Consolas,monospace!important;
  letter-spacing:.18em!important;
  text-shadow:1px 1px 0 #fff!important;
}


/* =========================================================
   v0.28 PARTY MASTHEAD + TRANSPARENT SKY HEADER
   ========================================================= */
body.jm-front-page .jm-site-header{
  position:absolute!important;top:0!important;left:0!important;right:0!important;z-index:999990!important;
  background:transparent!important;border-bottom:0!important;box-shadow:none!important;backdrop-filter:none!important;
}
body.jm-front-page .jm-site-header__inner{background:transparent!important}
body.jm-front-page .jm-site-brand__logo{filter:drop-shadow(0 1px 0 rgba(255,255,255,.95)) drop-shadow(0 2px 3px rgba(16,52,67,.32))!important}
body.jm-front-page .jm-head-icon{color:#17394a!important;filter:drop-shadow(0 1px 0 rgba(255,255,255,.92))!important}
body.admin-bar.jm-front-page .jm-site-header{top:32px!important}
body.jm-front-page .jm-hero--builtin .jm-hero__logo-title{display:none!important}
body.jm-front-page .jm-hero--builtin .jm-hero__shade{background:linear-gradient(180deg,rgba(17,61,83,.03) 0%,rgba(17,61,83,0) 72%,rgba(15,55,48,.08) 100%)!important}
@media (min-width:960px){
  body.jm-front-page .jm-hero--builtin{min-height:390px!important;height:390px!important}
  body.jm-front-page .jm-hero--builtin .jm-hero__media img{object-position:center 54%!important}
}
@media (max-width:959px){
  body.admin-bar.jm-front-page .jm-site-header{top:46px!important}
  body.jm-front-page .jm-hero--builtin{min-height:clamp(300px,84vw,322px)!important;height:clamp(300px,84vw,322px)!important}
  body.jm-front-page .jm-hero--builtin .jm-hero__media img{object-position:center 60%!important}
  body.jm-front-page .jm-site-header__inner{min-height:58px!important;height:58px!important;padding-top:2px!important}
  body.jm-front-page .jm-site-brand__logo{height:39px!important;max-width:210px!important}
  body.jm-front-page .jm-new-section{padding-top:18px!important}
}


/* =========================================================
   v0.28.1 PARTY MASTHEAD FIT + HORIZONTAL LEAD STORY
   ========================================================= */
@media (max-width:959px){
  body.jm-front-page .jm-hero--builtin{
    min-height:clamp(340px,96vw,372px)!important;
    height:clamp(340px,96vw,372px)!important;
  }
  body.jm-front-page .jm-hero--builtin .jm-hero__media img{
    object-fit:cover!important;
    object-position:center 56%!important;
  }
  body.jm-front-page .jm-hero--builtin .jm-hero__title-block,
  body.jm-front-page .jm-hero--builtin .jm-hero__title,
  body.jm-front-page .jm-hero--builtin .jm-hero__subtitle,
  body.jm-front-page .jm-hero--builtin .jm-hero__kicker{display:none!important}
  body.jm-front-page .jm-new-section{padding-top:12px!important}
  body.jm-front-page .jm-new-section .jm-section-lead{margin-bottom:9px!important}
  body.jm-front-page .jm-new-quest-card--lead{
    display:grid!important;
    grid-template-columns:42% minmax(0,1fr)!important;
    min-height:112px!important;
    max-height:124px!important;
    overflow:hidden!important;
  }
  body.jm-front-page .jm-new-quest-card--lead .jm-new-quest-card__thumb{
    width:100%!important;height:100%!important;min-height:112px!important;aspect-ratio:auto!important;
  }
  body.jm-front-page .jm-new-quest-card--lead .jm-new-quest-card__body{
    min-width:0!important;padding:8px 9px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;
  }
  body.jm-front-page .jm-new-quest-card--lead h3{
    margin:0!important;font-size:14px!important;line-height:1.35!important;display:-webkit-box!important;
    -webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;
  }
  body.jm-front-page .jm-new-quest-card--lead p{display:none!important}
  body.jm-front-page .jm-new-quest-card--lead .jm-new-quest-card__meta{margin-bottom:5px!important;font-size:8px!important}
}


/* =========================================================
   v0.28.2 FULL PARTY ART TEST
   Show the entire 1086x1448 smartphone hero without cropping.
   Transparent header remains over the sky; the lead story stays horizontal.
   ========================================================= */
@media (max-width:959px){
  body.jm-front-page .jm-hero--builtin{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:1086 / 1448!important;
  }
  body.jm-front-page .jm-hero--builtin .jm-hero__media{
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }
  body.jm-front-page .jm-hero--builtin .jm-hero__media img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  body.jm-front-page .jm-hero--builtin .jm-hero__content{
    min-height:0!important;
    height:100%!important;
  }
  body.jm-front-page .jm-new-section{padding-top:10px!important}
  body.jm-front-page .jm-new-section .jm-section-lead{margin-bottom:7px!important}
  body.jm-front-page .jm-new-quest-card--lead{
    min-height:104px!important;
    max-height:112px!important;
  }
  body.jm-front-page .jm-new-quest-card--lead .jm-new-quest-card__thumb{min-height:104px!important}
}


/* =========================================================
   v0.28.4 SKY LOGO POSITION FIX
   Keep the stacked logo entirely in the blue-sky zone and clear of the Jujo Ginza arch.
   ========================================================= */
@media (max-width:959px){
  body.jm-front-page .jm-hero--builtin .jm-hero__logo-title--builtin{
    top:8px!important;
    width:min(39vw,150px)!important;
  }
}


/* =========================================================
   v0.28.6 ORIGINAL SUBTITLE ARTWORK, SLIGHTLY LARGER
   Keep the v0.28.4 banner design exactly, only enlarge it.
   ========================================================= */
body.jm-front-page .jm-hero--builtin .jm-hero__logo-title--builtin{
  overflow:visible!important;
}
body.jm-front-page .jm-hero--builtin .jm-hero__logo--main{
  display:block!important;
  width:100%!important;
  height:auto!important;
}
body.jm-front-page .jm-hero--builtin .jm-hero__logo-subtitle-img{
  display:block!important;
  width:128%!important;
  height:auto!important;
  max-width:none!important;
  margin:-1px 0 0 50%!important;
  transform:translateX(-50%)!important;
  filter:drop-shadow(0 1px 1px rgba(18,61,53,.12))!important;
}
@media (max-width:959px){
  body.jm-front-page .jm-hero--builtin .jm-hero__logo-subtitle-img{
    width:132%!important;
    margin-top:-2px!important;
  }
}


/* =========================================================
   v0.29 DAYLIGHT QUEST READER
   Bring article pages into the same bright field/sky/stone visual language
   as the completed home page without changing article content or structure.
   ========================================================= */
body.jm-quest-single{
  background:#f4f1e8!important;
  color:#243c46!important;
}
body.jm-quest-single .l-content{
  background:linear-gradient(180deg,#eaf5fb 0 108px,#f4f1e8 108px 100%)!important;
}
body.jm-quest-single .l-mainContent__inner{
  background:#fffdf7!important;
  box-shadow:0 0 0 1px rgba(35,72,82,.08),0 10px 28px rgba(35,72,82,.07)!important;
}

/* QUEST START: still cinematic, but no longer a dark/night UI. */
body.jm-quest-single .jm-quest-start{
  background:#fffaf0!important;
  color:#243c46!important;
  border-color:#d6a63b!important;
  outline-color:#3a6650!important;
  box-shadow:6px 6px 0 rgba(45,77,69,.15)!important;
}
body.jm-quest-single .jm-quest-start__hud{
  background:linear-gradient(90deg,#315f47 0%,#497e5c 100%)!important;
  color:#fff7d2!important;
  border-bottom-color:#e5bd59!important;
}
body.jm-quest-single .jm-quest-start__hud b{
  color:#dff1e2!important;
}
body.jm-quest-single .jm-quest-start__visual{
  background:linear-gradient(180deg,#83c8ef 0%,#d8eef4 55%,#8ab478 100%)!important;
}
body.jm-quest-single .jm-quest-start__fallback{
  background:
    radial-gradient(circle at 75% 14%,rgba(255,255,255,.9) 0 10%,transparent 11%),
    linear-gradient(180deg,#78bee8 0%,#dff3f8 60%,#8bbf78 61%,#5e965d 100%)!important;
}
body.jm-quest-single .jm-quest-start__fallback span{color:#fff4b7!important;opacity:.78!important}
body.jm-quest-single .jm-quest-start__shade{
  background:linear-gradient(180deg,rgba(20,61,77,.02) 0%,rgba(20,61,77,.10) 48%,rgba(24,52,50,.82) 100%)!important;
}
body.jm-quest-single .jm-quest-start__chips span{
  background:#fff3c9!important;
  color:#315f47!important;
  border-color:#e4be55!important;
  box-shadow:2px 2px 0 rgba(38,74,62,.22)!important;
}
body.jm-quest-single .jm-quest-start__date{color:#ffe28d!important}
body.jm-quest-single .jm-quest-start__title{
  color:#fffdf0!important;
  text-shadow:0 2px 0 rgba(24,52,50,.85),0 4px 16px rgba(24,52,50,.42)!important;
}
body.jm-quest-single .jm-quest-start__button{
  background:rgba(57,111,75,.92)!important;
  color:#fffdf0!important;
  border-color:#ffe4a0!important;
  box-shadow:3px 3px 0 rgba(32,67,52,.42)!important;
}
body.jm-quest-single .jm-quest-start__button:hover{background:#2f6548!important}

/* QUEST DATA = parchment/field guide. */
body.jm-quest-single .jm-quest-data{
  background:#fffaf0!important;
  color:#243c46!important;
  border-color:#d6a63b!important;
  outline-color:#6c826f!important;
  box-shadow:5px 5px 0 rgba(45,77,69,.12)!important;
}
body.jm-quest-single .jm-quest-data__hud{
  background:#e8f3e7!important;
  color:#315f47!important;
  border-bottom-color:#d6a63b!important;
}
body.jm-quest-single .jm-quest-data__hud b{color:#2d6d86!important}
body.jm-quest-single .jm-quest-data__stats>div{background:#fffdf7!important;border-color:#d5ddd8!important}
body.jm-quest-single .jm-quest-data__stats dt{color:#568067!important}
body.jm-quest-single .jm-quest-data__stats dd,
body.jm-quest-single .jm-quest-data__stats dd a{color:#243c46!important}
body.jm-quest-single .jm-quest-data__brief{background:#eaf5fb!important;border-top-color:#b7d5df!important}
body.jm-quest-single .jm-quest-data__brief>span{color:#bc7831!important}
body.jm-quest-single .jm-quest-data__brief p{color:#405965!important}

/* Article reading surface. */
body.jm-quest-single .post_content{color:#2d434c!important}
body.jm-quest-single .post_content p{line-height:1.95}
body.jm-quest-single .post_content .p-toc,
body.jm-quest-single .post_content #toc_container,
body.jm-quest-single .post_content .lwptoc_i{
  background:#f3f8f2!important;
  border:2px solid #6f9875!important;
  border-top:5px solid #70b7dc!important;
  box-shadow:4px 4px 0 rgba(45,77,69,.10)!important;
}
body.jm-quest-single .post_content .p-toc__ttl,
body.jm-quest-single .post_content #toc_container .toc_title,
body.jm-quest-single .post_content .lwptoc_title{color:#315f47!important}
body.jm-quest-single .post_content .p-toc a,
body.jm-quest-single .post_content #toc_container a,
body.jm-quest-single .post_content .lwptoc_i a{color:#2d5667!important}
body.jm-quest-single .post_content>h2{
  background:linear-gradient(90deg,#376b4c 0%,#4e805d 100%)!important;
  color:#fffdf2!important;
  border-left-color:#e2b649!important;
  border-bottom:0!important;
  box-shadow:4px 4px 0 rgba(41,70,83,.28)!important;
}
body.jm-quest-single .post_content>h3{
  background:#edf6f8!important;
  color:#27434f!important;
  border-left-color:#69add0!important;
  border-bottom-color:#b7ced4!important;
}
body.jm-quest-single .post_content blockquote{
  background:#f8f5e8!important;
  border-left:5px solid #d8ae48!important;
  color:#40535b!important;
}
body.jm-quest-single .post_content hr{border-color:#d7dfd9!important}

/* QUEST CLEAR / NEXT QUEST feel like returning to the field, not a night screen. */
body.jm-quest-single .jm-quest-clear{
  background:linear-gradient(180deg,#eef5e8 0%,#e3efe0 100%)!important;
  color:#263f47!important;
  border-color:#d7aa3f!important;
  box-shadow:5px 5px 0 rgba(45,77,69,.14)!important;
}
body.jm-quest-single .jm-quest-clear__title{color:#315f47!important}
body.jm-quest-single .jm-quest-clear__title span{color:#b8792e!important}
body.jm-quest-single .jm-quest-clear>p{color:#50636d!important}
body.jm-quest-single .jm-quest-clear__routes a{
  background:#fffdf7!important;
  color:#294955!important;
  border-color:#8fab90!important;
}
body.jm-quest-single .jm-quest-clear__routes a:hover{background:#edf7ef!important}
body.jm-quest-single .jm-next-quests__heading{color:#315f47!important;border-color:#d6a63b!important}
body.jm-quest-single .jm-next-quest-card{
  background:#fffdf7!important;
  border-color:#68816f!important;
  box-shadow:3px 3px 0 rgba(45,77,69,.12)!important;
}
body.jm-quest-single .jm-next-quest-card__tag{background:#eaf4ea!important;color:#315f47!important;border-color:#d6a63b!important}
body.jm-quest-single .jm-next-quest-card h3 a{color:#243c46!important}
body.jm-quest-single .jm-next-quest-card__go{color:#2d6d86!important}

/* Sharing keeps its unified JUJO MANIAC identity, but with the daytime palette. */
body.jm-quest-single .jm-quest-share{
  background:#fffaf0!important;
  color:#243c46!important;
  border-color:#48606a!important;
  border-top-color:#d6a63b!important;
  box-shadow:4px 4px 0 rgba(45,77,69,.12)!important;
}
body.jm-quest-single .jm-quest-share__eyebrow{color:#bc7831!important}
body.jm-quest-single .jm-quest-share__head h2{color:#243c46!important}
body.jm-quest-single .jm-quest-share__head p{color:#5b6a70!important}
body.jm-quest-single .jm-quest-share__head>span{background:#4c7d5c!important;color:#fff5ca!important;border-color:#315f47!important}
body.jm-quest-single .jm-share-btn{
  background:#385f4d!important;
  color:#fffdf2!important;
  border-color:#e1b84d!important;
  box-shadow:2px 2px 0 #27506a!important;
}
body.jm-quest-single .jm-share-btn:hover{background:#2f6548!important}

@media(max-width:720px){
  body.jm-quest-single .l-mainContent__inner{box-shadow:none!important}
  body.jm-quest-single .jm-quest-start{margin-top:0!important}
  body.jm-quest-single .jm-quest-start__visual{min-height:270px!important}
  body.jm-quest-single .jm-quest-start__title{font-size:24px!important}
  body.jm-quest-single .jm-quest-data{margin-top:14px!important}
}


/* =========================================================
   v0.30 QUEST READER POLISH
   Refine the article-opening HUD based on mobile review, and make
   the reading flow feel intentional even when no featured image exists.
   ========================================================= */

/* QUEST START: brighter image, cleaner title hierarchy. */
body.jm-quest-single .jm-quest-start__shade{
  background:linear-gradient(
    180deg,
    rgba(22,67,82,.00) 0%,
    rgba(22,67,82,.03) 35%,
    rgba(31,64,58,.24) 62%,
    rgba(28,52,49,.72) 100%
  )!important;
}
body.jm-quest-single .jm-quest-start__copy{
  padding-top:34px!important;
}
body.jm-quest-single .jm-quest-start__title{
  display:inline-block;
  max-width:min(920px,100%);
  padding:2px 0 1px;
  color:#fffdf2!important;
  line-height:1.18!important;
  letter-spacing:.015em!important;
  text-shadow:0 2px 0 rgba(25,53,50,.9),0 4px 14px rgba(25,53,50,.28)!important;
}
body.jm-quest-single .jm-quest-start__button{
  border-color:#ffe191!important;
  box-shadow:3px 3px 0 rgba(28,58,45,.34)!important;
}

/* No featured image: replace the large white vacancy with a purposeful field-guide screen. */
body.jm-quest-single .jm-quest-start--noimage .jm-quest-start__fallback{
  background:
    linear-gradient(rgba(47,96,73,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(47,96,73,.055) 1px,transparent 1px),
    radial-gradient(circle at 78% 18%,rgba(255,255,255,.92) 0 7%,transparent 7.5%),
    linear-gradient(180deg,#dff2f8 0%,#eef8f2 61%,#cfe4c7 61%,#b7d0ad 100%)!important;
  background-size:14px 14px,14px 14px,auto,auto!important;
}
body.jm-quest-single .jm-quest-start--noimage .jm-quest-start__fallback span{
  display:none!important;
}
body.jm-quest-single .jm-quest-start--noimage .jm-quest-start__fallback:before{
  content:"QUEST FILE";
  position:absolute;
  left:50%;
  top:38%;
  transform:translate(-50%,-50%);
  color:rgba(49,95,71,.34);
  font:1000 clamp(28px,7vw,54px)/1 ui-monospace,"SFMono-Regular",Consolas,monospace;
  letter-spacing:.12em;
  white-space:nowrap;
}
body.jm-quest-single .jm-quest-start--noimage .jm-quest-start__fallback:after{
  content:"IMAGE NOT REGISTERED";
  position:absolute;
  left:50%;
  top:49%;
  transform:translateX(-50%);
  color:rgba(49,95,71,.50);
  font:900 9px/1.2 ui-monospace,"SFMono-Regular",Consolas,monospace;
  letter-spacing:.14em;
  white-space:nowrap;
}

/* QUEST DATA: make the mission feel like the next action, not a footnote. */
body.jm-quest-single .jm-quest-data__brief{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px 13px;
  align-items:start;
  padding:14px 15px 15px!important;
  background:linear-gradient(90deg,#fff7df 0%,#edf6f5 100%)!important;
  border-top:2px solid #d6a63b!important;
}
body.jm-quest-single .jm-quest-data__brief>span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:4px 8px;
  margin:0!important;
  background:#315f47!important;
  color:#fff4c7!important;
  border:1px solid #d6a63b;
  box-shadow:2px 2px 0 rgba(45,77,69,.16);
  font-size:8px!important;
  font-weight:1000!important;
  letter-spacing:.11em;
}
body.jm-quest-single .jm-quest-data__brief p{
  margin:1px 0 0!important;
  color:#344f5a!important;
  font-size:13px;
  line-height:1.75!important;
  font-weight:700;
}

/* Reading rhythm: clearer spacing before the first article block. */
body.jm-quest-single .jm-quest-data + .post_content,
body.jm-quest-single .jm-quest-data + * .post_content{
  margin-top:8px;
}
body.jm-quest-single .post_content>h2{
  margin-top:2.5em!important;
  border-radius:0!important;
}
body.jm-quest-single .post_content>h3{
  margin-top:2em!important;
}

/* Finish-screen polish for smaller phones. */
body.jm-quest-single .jm-quest-clear__routes a,
body.jm-quest-single .jm-share-btn{
  min-height:42px;
}

@media(max-width:720px){
  body.jm-quest-single .jm-quest-start__visual{
    min-height:260px!important;
  }
  body.jm-quest-single .jm-quest-start__copy{
    padding:18px 13px 13px!important;
  }
  body.jm-quest-single .jm-quest-start__title{
    font-size:26px!important;
    margin-top:1px!important;
  }
  body.jm-quest-single .jm-quest-start__button{
    margin-top:12px!important;
    font-size:9px!important;
  }
  body.jm-quest-single .jm-quest-start--noimage .jm-quest-start__fallback:before{
    top:34%;
    font-size:31px;
  }
  body.jm-quest-single .jm-quest-start--noimage .jm-quest-start__fallback:after{
    top:45%;
    font-size:7px;
  }
  body.jm-quest-single .jm-quest-data__brief{
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:12px!important;
  }
  body.jm-quest-single .jm-quest-data__brief>span{
    width:max-content;
  }
  body.jm-quest-single .jm-quest-data__brief p{
    font-size:12px!important;
    line-height:1.72!important;
  }
}


/* =========================================================
   v0.31 article-bottom cleanup + PLAYER DATA
   ========================================================= */
body.jm-quest-single .p-authorBox,
body.jm-quest-single .c-authorBox,
body.jm-quest-single .p-relatedPosts,
body.jm-quest-single .c-relatedPosts,
body.jm-quest-single #comments,
body.jm-quest-single #respond,
body.jm-quest-single .comment-respond,
body.jm-quest-single .p-comments{
  display:none!important;
}

.jm-player-data{
  margin:28px 0 20px;
  padding:18px;
  border-top:3px solid var(--jm-day-gold,#d7a63a);
  border-bottom:3px solid var(--jm-day-gold,#d7a63a);
  background:linear-gradient(180deg,#fffdf4 0%,#f5efe0 100%);
  color:#173247;
}
.jm-player-data__eyebrow{
  margin-bottom:10px;
  color:#d45b50;
  font:900 9px/1.2 ui-monospace,Consolas,monospace;
  letter-spacing:.16em;
}
.jm-player-data__heading{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:14px;
}
.jm-player-data__heading>span{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border:2px solid #d7a63a;
  background:#32764f;
  color:#fff;
  box-shadow:2px 2px 0 rgba(0,0,0,.14);
}
.jm-player-data__heading h2{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  color:#173247!important;
  font-size:20px!important;
  line-height:1.35!important;
}
.jm-player-data__card{
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:14px;
  border:2px solid #9fb5aa;
  background:#fff;
  box-shadow:4px 4px 0 rgba(20,57,45,.12);
}
.jm-player-data__avatar{
  width:96px;
  height:96px;
  overflow:hidden;
  display:grid;
  place-items:center;
  border:3px solid #d7a63a;
  background:#e5efe7;
}
.jm-player-data__avatar-img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:0!important}
.jm-player-data__avatar-fallback{font-size:42px;color:#32764f}
.jm-player-data__body{min-width:0}
.jm-player-data__name{
  display:block;
  margin-bottom:4px;
  color:#173247;
  font-size:18px;
  line-height:1.3;
}
.jm-player-data__role{
  display:inline-block;
  margin-bottom:8px;
  padding:4px 7px;
  background:#dfeee5;
  border:1px solid #7ea08c;
  color:#285c41;
  font:900 9px/1.2 ui-monospace,Consolas,monospace;
}
.jm-player-data__body p{
  margin:0!important;
  color:#51616b;
  font-size:12px;
  line-height:1.75;
}
.jm-player-data__about{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  margin-top:12px;
  padding:8px 12px;
  border:2px solid #d7a63a;
  background:#32764f;
  color:#fff!important;
  font-weight:900;
  text-decoration:none!important;
  box-shadow:3px 3px 0 rgba(0,0,0,.14);
}
.jm-player-data__about:hover{transform:translate(1px,1px);box-shadow:1px 1px 0 rgba(0,0,0,.14)}

@media(max-width:959px){
  body.jm-quest-single #pagetop,
  body.jm-quest-single .c-fixBtn,
  body.jm-quest-single .p-fixBtnWrap,
  body.jm-quest-single [class*="pageTop"],
  body.jm-quest-single [class*="pagetop"]{
    display:none!important;
  }
  .jm-player-data{margin:22px 0 12px;padding:14px 12px 16px}
  .jm-player-data__heading h2{font-size:18px!important}
  .jm-player-data__card{grid-template-columns:78px minmax(0,1fr);gap:11px;padding:11px}
  .jm-player-data__avatar{width:78px;height:78px;border-width:2px}
  .jm-player-data__name{font-size:16px}
  .jm-player-data__role{font-size:8px;margin-bottom:6px}
  .jm-player-data__body p{font-size:11px;line-height:1.65}
  .jm-player-data__about{min-height:38px;font-size:11px}
}


/* =========================================================
   v0.32 WORLD MAP HERO
   Make the Kita Ward world map a flagship JUJO MANIAC feature.
   ========================================================= */
body.jm-front-page #jm-world-map{
  position:relative;
  overflow:hidden;
}
body.jm-front-page #jm-world-map::after{
  content:"JUJO MANIAC MAIN CONTENT";
  display:inline-flex;
  align-items:center;
  margin:0 0 10px;
  padding:5px 9px 4px;
  border:1px solid rgba(38,67,78,.28);
  background:rgba(255,255,255,.52);
  color:#2d6f91;
  font:900 8px/1.2 ui-monospace,Consolas,monospace;
  letter-spacing:.15em;
}
body.jm-front-page .jm-map-section .jm-section-heading{
  font-size:clamp(27px,3vw,38px)!important;
}
body.jm-front-page .jm-map-section .jm-section-lead{
  max-width:720px;
}
body.jm-front-page .jm-map-section .jm-world-map{
  width:min(980px,100%)!important;
  margin:8px auto 0!important;
  padding:10px!important;
  border:4px solid #d7a63a!important;
  outline:3px solid #173247!important;
  background:linear-gradient(180deg,#fff7d8 0%,#f1e4b9 100%)!important;
  box-shadow:10px 10px 0 rgba(23,50,71,.16)!important;
  position:relative;
}
body.jm-front-page .jm-map-section .jm-world-map::before,
body.jm-front-page .jm-map-section .jm-world-map::after{
  content:"✦";
  position:absolute;
  z-index:8;
  top:-11px;
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border:2px solid #173247;
  background:#d7a63a;
  color:#fff7d8;
  font-size:11px;
  box-shadow:2px 2px 0 rgba(23,50,71,.22);
}
body.jm-front-page .jm-map-section .jm-world-map::before{left:-11px}
body.jm-front-page .jm-map-section .jm-world-map::after{right:-11px}
body.jm-front-page .jm-map-commandbar{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:8px;
  margin:0 0 8px;
  padding:7px 9px;
  border:2px solid #173247;
  background:linear-gradient(90deg,#173247 0%,#22485c 58%,#2f6651 100%);
  color:#fff8d8;
  box-shadow:3px 3px 0 rgba(23,50,71,.16);
}
body.jm-front-page .jm-map-commandbar__label,
body.jm-front-page .jm-map-commandbar__hint{
  font:900 8px/1.2 ui-monospace,Consolas,monospace;
  letter-spacing:.12em;
}
body.jm-front-page .jm-map-commandbar__label{color:#9edcf2}
body.jm-front-page .jm-map-commandbar__start{
  justify-self:center;
  padding:4px 9px 3px;
  border:1px solid #fff0b3;
  background:#a73f35;
  color:#fff;
  font:900 10px/1.2 ui-monospace,Consolas,monospace;
  letter-spacing:.07em;
  box-shadow:2px 2px 0 rgba(0,0,0,.18);
}
body.jm-front-page .jm-map-commandbar__hint{color:#ffe08a}
body.jm-front-page .jm-world-map--rpg-art .jm-world-map__stage{
  border:3px solid #173247!important;
  outline:2px solid #d7a63a;
  background:#071a2b!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
body.jm-front-page .jm-world-map--rpg-art .jm-world-map__custom-art{
  object-fit:contain!important;
  background:#071a2b!important;
}
body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot--image-zone{
  transition:transform .12s ease,filter .12s ease;
}
body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot--image-zone .jm-map-hotspot__count{
  bottom:-7px!important;
  min-width:48px!important;
  padding:3px 5px!important;
  border:2px solid #173247!important;
  background:#fff2bf!important;
  color:#173247!important;
  font-size:7px!important;
  line-height:1!important;
  opacity:1!important;
  box-shadow:2px 2px 0 #d7a63a!important;
}
body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot--start .jm-map-hotspot__count{
  background:#a73f35!important;
  color:#fff!important;
  border-color:#fff0b3!important;
  box-shadow:2px 2px 0 #173247!important;
}
body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot--start::after{
  content:"";
  position:absolute;
  inset:-8%;
  border:2px solid rgba(255,216,91,.78);
  pointer-events:none;
  animation:jm-map-start-pulse 1.9s ease-in-out infinite;
}
@keyframes jm-map-start-pulse{
  0%,100%{opacity:.25;transform:scale(.96)}
  50%{opacity:.95;transform:scale(1.03)}
}
body.jm-front-page .jm-map-guide{
  display:flex;
  flex-wrap:wrap;
  gap:6px 12px;
  margin:11px 2px 4px;
  color:#294b5b;
  font-size:10px;
  font-weight:800;
}
body.jm-front-page .jm-map-guide span{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
body.jm-front-page .jm-map-guide b{
  color:#a73f35;
  font:900 8px/1 ui-monospace,Consolas,monospace;
}
body.jm-front-page .jm-map-note{
  margin:4px 2px 10px!important;
  font-size:8px!important;
  line-height:1.55!important;
  opacity:.78;
}
body.jm-front-page .jm-map-area-list{
  margin-top:10px!important;
  border:2px solid #d7a63a!important;
  box-shadow:3px 3px 0 rgba(23,50,71,.10);
}
body.jm-front-page .jm-map-area-list summary{
  font-weight:900!important;
}

@media(max-width:959px){
  body.jm-front-page #jm-world-map{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  body.jm-front-page #jm-world-map::after{
    margin-bottom:8px;
    font-size:7px;
  }
  body.jm-front-page .jm-map-section .jm-section-heading{
    font-size:25px!important;
  }
  body.jm-front-page .jm-map-section .jm-section-lead{
    margin-bottom:12px!important;
  }
  /* Full-bleed map on phones: the map itself becomes the visual event. */
  body.jm-front-page .jm-map-section .jm-world-map{
    width:calc(100% + 24px)!important;
    max-width:none!important;
    margin-left:-12px!important;
    margin-right:-12px!important;
    padding:5px!important;
    border-width:3px!important;
    outline-width:2px!important;
    box-shadow:0 7px 0 rgba(23,50,71,.12)!important;
  }
  body.jm-front-page .jm-map-section .jm-world-map::before,
  body.jm-front-page .jm-map-section .jm-world-map::after{
    top:-8px;
    width:18px;
    height:18px;
    border-width:1px;
    font-size:8px;
  }
  body.jm-front-page .jm-map-section .jm-world-map::before{left:2px}
  body.jm-front-page .jm-map-section .jm-world-map::after{right:2px}
  body.jm-front-page .jm-map-commandbar{
    gap:4px;
    margin-bottom:5px;
    padding:5px 6px;
    border-width:1px;
    box-shadow:2px 2px 0 rgba(23,50,71,.12);
  }
  body.jm-front-page .jm-map-commandbar__label,
  body.jm-front-page .jm-map-commandbar__hint{font-size:6.5px;letter-spacing:.08em}
  body.jm-front-page .jm-map-commandbar__start{padding:3px 6px;font-size:8px}
  body.jm-front-page .jm-world-map--rpg-art .jm-world-map__stage{
    width:100%!important;
    aspect-ratio:1122/1402!important;
    margin:0!important;
    border-width:2px!important;
    outline-width:1px!important;
  }
  body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot--image-zone .jm-map-hotspot__count{
    bottom:-4px!important;
    min-width:42px!important;
    padding:2px 4px!important;
    border-width:1px!important;
    font-size:6.4px!important;
    box-shadow:1px 1px 0 #d7a63a!important;
  }
  body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot--start .jm-map-hotspot__count{
    box-shadow:1px 1px 0 #173247!important;
  }
  body.jm-front-page .jm-map-guide{
    gap:5px 9px;
    margin:8px 3px 3px;
    font-size:8.5px;
  }
  body.jm-front-page .jm-map-guide b{font-size:7px}
  body.jm-front-page .jm-map-note{margin:3px 3px 8px!important;font-size:7px!important}
  body.jm-front-page .jm-map-area-list{margin:8px 3px 1px!important}
  body.jm-front-page .jm-map-area-list summary{padding:9px 8px!important;font-size:10px!important}
}


/* =========================================================
   v0.32.1 WORLD MAP STORY LABELS / COUNT COLLISION FIX
   ========================================================= */
body.jm-front-page .jm-map-art-caption{
  position:absolute;
  z-index:3;
  left:50%;
  top:10.3%;
  transform:translateX(-50%);
  width:61.5%;
  min-height:3.9%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:.25% 1.2%;
  pointer-events:none;
  background:linear-gradient(180deg,#10294d 0%,#081b36 100%);
  border:2px solid #d9ad45;
  box-shadow:0 0 0 2px rgba(9,27,51,.88),0 2px 0 rgba(0,0,0,.28);
  color:#fff0bf;
  font:900 clamp(7px,.9vw,12px)/1.15 ui-monospace,Consolas,monospace;
  letter-spacing:.11em;
  white-space:nowrap;
}
body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot--image-zone .jm-map-hotspot__count{
  left:calc(100% + 4px)!important;
  right:auto!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
}
body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot--count-left .jm-map-hotspot__count{
  left:auto!important;
  right:calc(100% + 4px)!important;
}
body.jm-front-page .jm-map-story-strip{
  display:flex;
  gap:7px;
  overflow-x:auto;
  margin:10px 2px 5px;
  padding:2px 1px 7px;
  scrollbar-width:thin;
  scroll-snap-type:x proximity;
}
body.jm-front-page .jm-map-story-strip a{
  flex:0 0 auto;
  min-width:128px;
  padding:8px 10px 7px;
  border:1px solid #d7a63a;
  background:rgba(255,250,230,.92);
  color:#173247!important;
  text-decoration:none!important;
  box-shadow:2px 2px 0 rgba(23,50,71,.10);
  scroll-snap-align:start;
}
body.jm-front-page .jm-map-story-strip small{
  display:block;
  margin-bottom:3px;
  color:#a73f35;
  font:900 7px/1.2 ui-monospace,Consolas,monospace;
  letter-spacing:.08em;
}
body.jm-front-page .jm-map-story-strip strong{
  display:block;
  color:#173247;
  font-size:11px;
  line-height:1.25;
}
body.jm-front-page .jm-map-area-list__label{
  display:flex;
  flex-direction:column;
  gap:2px;
  line-height:1.2;
}
body.jm-front-page .jm-map-area-list__label small{
  color:#d7a63a;
  font-size:7px;
  letter-spacing:.05em;
}
body.jm-front-page .jm-map-area-list__label strong{font-size:10px}
body.jm-front-page .jm-map-area-list__count{margin-left:auto;color:#9edcf2!important}
@media(max-width:959px){
  body.jm-front-page .jm-map-art-caption{
    border-width:1px;
    box-shadow:0 0 0 1px rgba(9,27,51,.88),0 1px 0 rgba(0,0,0,.24);
    font-size:6.5px;
    letter-spacing:.08em;
  }
  body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot--image-zone .jm-map-hotspot__count{
    left:calc(100% + 2px)!important;
  }
  body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot--count-left .jm-map-hotspot__count{
    left:auto!important;
    right:calc(100% + 2px)!important;
  }
  body.jm-front-page .jm-map-story-strip{
    gap:5px;
    margin:8px 3px 4px;
    padding-bottom:6px;
  }
  body.jm-front-page .jm-map-story-strip a{
    min-width:112px;
    padding:7px 8px 6px;
  }
  body.jm-front-page .jm-map-story-strip small{font-size:6.5px}
  body.jm-front-page .jm-map-story-strip strong{font-size:9.5px}
}


/* v0.32.7 clean reset: restore the stable v0.32.1 map presentation.
   Experimental town connector lines / translucent offset labels from v0.32.6 are intentionally removed. */
body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot--image-zone::before,
body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot--image-zone::after{content:none!important;display:none!important;}
body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot__start{display:none!important;}


/* =========================================================
   v0.32.9 EMERGENCY CLEAN MAP
   Bundled RPG map uses the baked-in town labels only.
   Hotspots remain clickable but render no visible UI.
   ========================================================= */
body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot--image-zone,
body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot--image-zone:hover,
body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot--image-zone:focus,
body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot--image-zone:focus-visible,
body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot--image-zone:active{
  display:block!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:none!important;
  color:transparent!important;
  font-size:0!important;
  transform:translate(-50%,-50%)!important;
  -webkit-tap-highlight-color:transparent!important;
}
body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot--image-zone::before,
body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot--image-zone::after,
body.jm-front-page .jm-world-map--rpg-art .jm-map-hotspot--image-zone > *{
  content:none!important;
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}
body.jm-front-page .jm-map-story-strip{display:none!important;}
body.jm-front-page .jm-world-map--rpg-art .jm-world-map__custom-art{
  object-fit:contain!important;
  width:100%!important;
  height:100%!important;
}

/* v0.32.10: underlying Takinogawa map artwork corrected at source; no overlay workaround. */
