/*
  MASAKARI v169 Header Clean Layer
  Loaded after the legacy CSS to stabilize only the fixed header/logo.
  Do not edit top.css/style.css header blocks until this layer is confirmed.
*/

html body .site-header,
html body header.site-header{
  position:fixed !important;
  top:clamp(10px, 1.15vw, 16px) !important;
  left:0 !important;
  right:0 !important;
  z-index:9999 !important;
  width:100% !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  filter:none !important;
  transform:none !important;
  opacity:1 !important;
  overflow:visible !important;
  contain:none !important;
  isolation:auto !important;
  mix-blend-mode:normal !important;
  pointer-events:none !important;
}

html body .site-header > .nav,
html body header.site-header > .nav,
html body .site-header .nav{
  position:relative !important;
  z-index:1 !important;
  width:min(1120px, calc(100% - 24px)) !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 auto !important;
  padding:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:12px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  filter:none !important;
  transform:none !important;
  overflow:visible !important;
  contain:none !important;
  isolation:auto !important;
  mix-blend-mode:normal !important;
  pointer-events:auto !important;
}

html body .site-header .nav > a.brand.brand-with-real-logo,
html body header.site-header .nav > a.brand.brand-with-real-logo,
html body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  flex:0 0 auto !important;
  width:clamp(186px, 18vw, 302px) !important;
  max-width:calc(100vw - 132px) !important;
  aspect-ratio:1089 / 310 !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  overflow:visible !important;
  contain:none !important;
  isolation:auto !important;
  transform:none !important;
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  text-decoration:none !important;
  pointer-events:auto !important;
}

html body .site-header .nav > a.brand.brand-with-real-logo::after,
html body header.site-header .nav > a.brand.brand-with-real-logo::after,
html body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo::after{
  content:none !important;
  display:none !important;
}

html body .site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo,
html body header.site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo,
html body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  min-width:0 !important;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:left top !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
  opacity:1 !important;
  visibility:visible !important;
  mix-blend-mode:difference !important;
  -webkit-mix-blend-mode:difference !important;
  pointer-events:none !important;
}

@supports ((-webkit-mask-image:url("")) or (mask-image:url(""))){
  html body .site-header .nav > a.brand.brand-with-real-logo::before,
  html body header.site-header .nav > a.brand.brand-with-real-logo::before,
  html body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    background:#fff !important;
    -webkit-mask-image:url("../images/logo-header-difference-white.png") !important;
    mask-image:url("../images/logo-header-difference-white.png") !important;
    -webkit-mask-repeat:no-repeat !important;
    mask-repeat:no-repeat !important;
    -webkit-mask-position:left top !important;
    mask-position:left top !important;
    -webkit-mask-size:contain !important;
    mask-size:contain !important;
    mix-blend-mode:difference !important;
    -webkit-mix-blend-mode:difference !important;
    filter:none !important;
    transform:none !important;
    opacity:1 !important;
    pointer-events:none !important;
  }

  html body .site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo,
  html body header.site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo,
  html body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo{
    opacity:0 !important;
    visibility:hidden !important;
    mix-blend-mode:normal !important;
  }
}

html body .site-header .menu-toggle,
html body header.site-header .menu-toggle{
  position:relative !important;
  z-index:5 !important;
  flex:0 0 auto !important;
  pointer-events:auto !important;
}

body.menu-open .site-header .nav > a.brand.brand-with-real-logo::before,
body.menu-open header.site-header .nav > a.brand.brand-with-real-logo::before{
  mix-blend-mode:normal !important;
  -webkit-mix-blend-mode:normal !important;
  background:#080a07 !important;
}

body.menu-open .site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo,
body.menu-open header.site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo{
  mix-blend-mode:normal !important;
}

@media (max-width: 900px){
  html body .site-header .nav > a.brand.brand-with-real-logo,
  html body header.site-header .nav > a.brand.brand-with-real-logo,
  html body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo{
    width:clamp(156px, 31vw, 236px) !important;
    max-width:calc(100vw - 116px) !important;
  }
}

@media (max-width: 640px){
  html body .site-header,
  html body header.site-header{
    top:10px !important;
  }

  html body .site-header > .nav,
  html body header.site-header > .nav,
  html body .site-header .nav{
    width:calc(100% - 18px) !important;
    gap:8px !important;
  }

  html body .site-header .nav > a.brand.brand-with-real-logo,
  html body header.site-header .nav > a.brand.brand-with-real-logo,
  html body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo{
    width:clamp(134px, 33vw, 178px) !important;
    max-width:calc(100vw - 104px) !important;
  }
}


/* ===== v171 menu-close-button-fix =====
   Fix: menu panel was stacked above the hamburger button because header-clean
   had lowered .menu-toggle to z-index:5 while .menu-panel is z-index:70.
   Keep the close button visible/clickable above the opened panel.
========================================================= */
html body .site-header,
html body header.site-header{
  z-index:100000 !important;
  overflow:visible !important;
  pointer-events:none !important;
}

html body .site-header > .nav,
html body header.site-header > .nav,
html body .site-header .nav{
  overflow:visible !important;
  pointer-events:auto !important;
}

html body .site-header .menu-panel,
html body header.site-header .menu-panel{
  z-index:1000 !important;
}

html body .site-header .menu-toggle,
html body header.site-header .menu-toggle,
html body.masakari-shared-page .site-header .menu-toggle{
  position:relative !important;
  z-index:3000 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  pointer-events:auto !important;
  opacity:1 !important;
  visibility:visible !important;
  overflow:hidden !important;
  isolation:isolate !important;
  transform:none !important;
}

html body.menu-open .site-header .menu-toggle,
html body.menu-open header.site-header .menu-toggle,
html body.masakari-shared-page.menu-open .site-header .menu-toggle{
  z-index:3000 !important;
  background:#12fd00 !important;
  color:#080a07 !important;
  border-color:#080a07 !important;
  box-shadow:7px 7px 0 #080a07 !important;
  opacity:1 !important;
  visibility:visible !important;
}

html body .site-header .menu-toggle__glow,
html body header.site-header .menu-toggle__glow{
  pointer-events:none !important;
}

html body.menu-open .site-header .menu-toggle__glow,
html body.menu-open header.site-header .menu-toggle__glow,
html body.masakari-shared-page.menu-open .site-header .menu-toggle__glow{
  opacity:.12 !important;
}

html body .site-header .menu-toggle__text,
html body header.site-header .menu-toggle__text,
html body.masakari-shared-page .site-header .menu-toggle__text{
  position:relative !important;
  z-index:2 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:34px !important;
  white-space:nowrap !important;
  opacity:1 !important;
  visibility:visible !important;
}

html body.menu-open .site-header .menu-toggle__text,
html body.menu-open header.site-header .menu-toggle__text,
html body.masakari-shared-page.menu-open .site-header .menu-toggle__text{
  font-size:0 !important;
  color:#080a07 !important;
}

html body.menu-open .site-header .menu-toggle__text::after,
html body.menu-open header.site-header .menu-toggle__text::after,
html body.masakari-shared-page.menu-open .site-header .menu-toggle__text::after{
  content:'CLOSE' !important;
  display:inline-block !important;
  font-size:10px !important;
  line-height:1 !important;
  letter-spacing:.12em !important;
  font-weight:900 !important;
  color:#080a07 !important;
  opacity:1 !important;
  visibility:visible !important;
}

html body .site-header .menu-toggle__bars,
html body header.site-header .menu-toggle__bars,
html body.masakari-shared-page .site-header .menu-toggle__bars{
  position:relative !important;
  z-index:2 !important;
  flex:0 0 auto !important;
  display:block !important;
  width:30px !important;
  height:18px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}

html body .site-header .menu-toggle__bars i,
html body header.site-header .menu-toggle__bars i,
html body.masakari-shared-page .site-header .menu-toggle__bars i{
  position:absolute !important;
  right:0 !important;
  left:auto !important;
  top:50% !important;
  display:block !important;
  height:2px !important;
  background:#080a07 !important;
  border-radius:999px !important;
  opacity:1 !important;
  transform-origin:center !important;
}

html body .site-header .menu-toggle__bars i:first-child,
html body header.site-header .menu-toggle__bars i:first-child,
html body.masakari-shared-page .site-header .menu-toggle__bars i:first-child{
  width:28px !important;
  transform:translateY(-5px) !important;
}

html body .site-header .menu-toggle__bars i:last-child,
html body header.site-header .menu-toggle__bars i:last-child,
html body.masakari-shared-page .site-header .menu-toggle__bars i:last-child{
  width:18px !important;
  transform:translateY(5px) !important;
}

html body.menu-open .site-header .menu-toggle__bars i:first-child,
html body.menu-open header.site-header .menu-toggle__bars i:first-child,
html body.masakari-shared-page.menu-open .site-header .menu-toggle__bars i:first-child{
  width:25px !important;
  transform:translateY(0) rotate(45deg) !important;
}

html body.menu-open .site-header .menu-toggle__bars i:last-child,
html body.menu-open header.site-header .menu-toggle__bars i:last-child,
html body.masakari-shared-page.menu-open .site-header .menu-toggle__bars i:last-child{
  width:25px !important;
  transform:translateY(0) rotate(-45deg) !important;
}

@media (max-width: 640px){
  html body .site-header .menu-toggle,
  html body header.site-header .menu-toggle,
  html body.masakari-shared-page .site-header .menu-toggle{
    width:88px !important;
    min-height:46px !important;
    padding:0 10px !important;
    gap:8px !important;
    border-radius:16px !important;
  }
  html body .site-header .menu-toggle__bars,
  html body header.site-header .menu-toggle__bars,
  html body.masakari-shared-page .site-header .menu-toggle__bars{
    width:24px !important;
    height:16px !important;
  }
  html body .site-header .menu-toggle__bars i:first-child,
  html body header.site-header .menu-toggle__bars i:first-child,
  html body.masakari-shared-page .site-header .menu-toggle__bars i:first-child{
    width:22px !important;
  }
  html body .site-header .menu-toggle__bars i:last-child,
  html body header.site-header .menu-toggle__bars i:last-child,
  html body.masakari-shared-page .site-header .menu-toggle__bars i:last-child{
    width:15px !important;
  }
  html body.menu-open .site-header .menu-toggle__bars i:first-child,
  html body.menu-open .site-header .menu-toggle__bars i:last-child,
  html body.menu-open header.site-header .menu-toggle__bars i:first-child,
  html body.menu-open header.site-header .menu-toggle__bars i:last-child,
  html body.masakari-shared-page.menu-open .site-header .menu-toggle__bars i:first-child,
  html body.masakari-shared-page.menu-open .site-header .menu-toggle__bars i:last-child{
    width:22px !important;
  }
}


/* ===== v179 header-logo-change + menu-panel-brand ===== */
html body .site-header .nav > a.brand.brand-with-real-logo,
html body header.site-header .nav > a.brand.brand-with-real-logo,
html body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo{
  width:clamp(210px, 21vw, 360px) !important;
  max-width:calc(100vw - 132px) !important;
  aspect-ratio:887 / 283 !important;
}
html body .site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo,
html body header.site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo,
html body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo{
  mix-blend-mode:normal !important;
  -webkit-mix-blend-mode:normal !important;
  opacity:1 !important;
  visibility:visible !important;
  filter:drop-shadow(0 8px 24px rgba(0,0,0,.18)) !important;
}
html body .site-header .nav > a.brand.brand-with-real-logo::before,
html body header.site-header .nav > a.brand.brand-with-real-logo::before,
html body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo::before{
  content:none !important;
  display:none !important;
}
body.menu-open .site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo,
body.menu-open header.site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo{
  opacity:1 !important;
  visibility:visible !important;
}
html body .menu-panel__head,
html body.masakari-shared-page .menu-panel__head{
  align-items:flex-start !important;
}
html body .menu-panel__brand,
html body.masakari-shared-page .menu-panel__brand{
  display:flex !important;
  align-items:flex-start !important;
  gap:12px !important;
  text-decoration:none !important;
  min-width:0 !important;
  color:inherit !important;
}
html body .menu-panel__brand-logo,
html body.masakari-shared-page .menu-panel__brand-logo{
  display:block !important;
  width:clamp(126px, 12vw, 168px) !important;
  height:auto !important;
  flex:0 0 auto !important;
  object-fit:contain !important;
}
html body .menu-panel__brand-copy,
html body.masakari-shared-page .menu-panel__brand-copy{
  display:block !important;
  align-self:flex-end !important;
  padding-bottom:8px !important;
  font-size:10px !important;
  line-height:1.2 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  color:#666b61 !important;
  white-space:nowrap !important;
}
html body .menu-panel__head-label,
html body.masakari-shared-page .menu-panel__head-label{
  display:inline-flex !important;
  align-items:center !important;
  min-height:32px !important;
  white-space:nowrap !important;
}
@media (max-width: 900px){
  html body .site-header .nav > a.brand.brand-with-real-logo,
  html body header.site-header .nav > a.brand.brand-with-real-logo,
  html body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo{
    width:clamp(180px, 34vw, 260px) !important;
  }
  html body .menu-panel__brand,
  html body.masakari-shared-page .menu-panel__brand{
    gap:10px !important;
  }
  html body .menu-panel__brand-logo,
  html body.masakari-shared-page .menu-panel__brand-logo{
    width:clamp(112px, 26vw, 148px) !important;
  }
}
@media (max-width: 640px){
  html body .site-header .nav > a.brand.brand-with-real-logo,
  html body header.site-header .nav > a.brand.brand-with-real-logo,
  html body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo{
    width:clamp(164px, 38vw, 220px) !important;
    max-width:calc(100vw - 108px) !important;
  }
  html body .menu-panel__head,
  html body.masakari-shared-page .menu-panel__head{
    gap:10px !important;
  }
  html body .menu-panel__brand-copy,
  html body.masakari-shared-page .menu-panel__brand-copy{
    display:none !important;
  }
  html body .menu-panel__brand-logo,
  html body.masakari-shared-page .menu-panel__brand-logo{
    width:clamp(124px, 34vw, 150px) !important;
  }
}


/* ===== v180 header-logo-corrected ===== */
html body .site-header .nav > a.brand.brand-with-real-logo,
html body header.site-header .nav > a.brand.brand-with-real-logo,
html body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo{
  aspect-ratio:480 / 150 !important;
}


/* ===== v181 header-logo-replaced ===== */
html body .site-header .nav > a.brand.brand-with-real-logo,
html body header.site-header .nav > a.brand.brand-with-real-logo,
html body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo{
  aspect-ratio:2047 / 769 !important;
}
html body .menu-panel__brand-logo,
html body.masakari-shared-page .menu-panel__brand-logo{
  width:clamp(132px, 13vw, 176px) !important;
}
@media (max-width: 640px){
  html body .menu-panel__brand-logo,
  html body.masakari-shared-page .menu-panel__brand-logo{
    width:clamp(120px, 34vw, 146px) !important;
  }
}


/* ===== v182 header-left-align-pc =====
   PC表示ではヘッダーロゴをもっと左端に寄せる
========================================================= */
@media (min-width: 1025px){
  html body .site-header > .nav,
  html body header.site-header > .nav,
  html body .site-header .nav{
    width:calc(100% - 20px) !important;
    max-width:none !important;
    margin:0 10px !important;
  }

  html body .site-header .nav > a.brand.brand-with-real-logo,
  html body header.site-header .nav > a.brand.brand-with-real-logo,
  html body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo{
    margin-left:0 !important;
    transform:none !important;
  }
}


/* ===== v183 header-logo-replaced ===== */
html body .site-header .nav > a.brand.brand-with-real-logo,
html body header.site-header .nav > a.brand.brand-with-real-logo,
html body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo{
  aspect-ratio:2048 / 682 !important;
}


/* ===== v191 exact-green-logo-swap =====
   Header and hamburger menu should show the exact uploaded green logo,
   so disable difference/mask rendering and use the real image directly.
========================================================= */
html body .site-header .nav > a.brand.brand-with-real-logo::before,
html body header.site-header .nav > a.brand.brand-with-real-logo::before,
html body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo::before{
  content:none !important;
  display:none !important;
}

html body .site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo,
html body header.site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo,
html body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo{
  opacity:1 !important;
  visibility:visible !important;
  mix-blend-mode:normal !important;
  -webkit-mix-blend-mode:normal !important;
  filter:drop-shadow(0 0 8px rgba(18,253,0,.08)) !important;
}

html body .site-header .nav > a.brand.brand-with-real-logo,
html body header.site-header .nav > a.brand.brand-with-real-logo,
html body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo{
  aspect-ratio:2000 / 667 !important;
}

html body .menu-panel__brand-logo,
html body.masakari-shared-page .menu-panel__brand-logo{
  width:clamp(150px, 15vw, 210px) !important;
  height:auto !important;
}

@media (max-width: 640px){
  html body .menu-panel__brand-logo,
  html body.masakari-shared-page .menu-panel__brand-logo{
    width:clamp(136px, 40vw, 176px) !important;
  }
}


/* ===== v194 menu-logo-wide-adjust ===== */
html body .menu-panel__brand-logo,
html body.masakari-shared-page .menu-panel__brand-logo{
  width:clamp(180px, 19vw, 300px) !important;
  height:auto !important;
  object-fit:contain !important;
}
@media (max-width: 640px){
  html body .menu-panel__brand-logo,
  html body.masakari-shared-page .menu-panel__brand-logo{
    width:clamp(160px, 48vw, 230px) !important;
  }
}


/* ===== v199 shared lower-page menu cleanup =====
   Fix menu panel layout on PHP lower pages. The panel is not a top-level
   header navigation button, so reset legacy .nav a button styles and keep
   the dark starred primary card readable.
========================================================= */
body.masakari-shared-page .site-header > .nav,
body.masakari-shared-page header.site-header > .nav{
  z-index:auto !important;
}

body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo{
  z-index:1 !important;
}

body.masakari-shared-page .site-header .menu-panel{
  z-index:1000 !important;
}

body.masakari-shared-page .site-header .menu-panel a{
  text-decoration:none !important;
}

body.masakari-shared-page .site-header .menu-panel__brand,
body.masakari-shared-page .site-header .menu-panel__brand:hover,
body.masakari-shared-page .site-header .menu-panel__brand:focus-visible{
  display:flex !important;
  align-items:flex-start !important;
  gap:12px !important;
  width:auto !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:inherit !important;
  transform:none !important;
  overflow:visible !important;
}

body.masakari-shared-page .site-header .menu-panel__brand-logo{
  display:block !important;
  width:clamp(180px,19vw,300px) !important;
  max-width:min(100%,300px) !important;
  height:auto !important;
  flex:0 1 auto !important;
  object-fit:contain !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.masakari-shared-page .site-header .menu-panel__brand-copy{
  display:block !important;
  align-self:flex-end !important;
  padding-bottom:8px !important;
  font-size:10px !important;
  line-height:1.2 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  color:#666b61 !important;
  white-space:nowrap !important;
}

body.masakari-shared-page .site-header .menu-panel__head{
  align-items:flex-start !important;
}

body.masakari-shared-page .site-header .menu-nav__featured a{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:16px !important;
  width:100% !important;
  min-height:96px !important;
  padding:18px 20px !important;
  border:1px solid rgba(8,10,7,.14) !important;
  border-radius:24px !important;
  background:#fff !important;
  color:#080a07 !important;
  box-shadow:8px 8px 0 rgba(18,253,0,.68) !important;
}

body.masakari-shared-page .site-header .menu-nav__featured a:hover{
  transform:translateY(-3px) !important;
  box-shadow:10px 10px 0 rgba(18,253,0,.45) !important;
}

body.masakari-shared-page .site-header .menu-main{
  display:grid !important;
  gap:4px !important;
  min-width:0 !important;
}

body.masakari-shared-page .site-header .menu-no{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:44px !important;
  height:44px !important;
  border-radius:999px !important;
  border:1px solid rgba(8,10,7,.14) !important;
  background:#f8f8f8 !important;
  color:#666d62 !important;
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:.14em !important;
  font-weight:900 !important;
}

body.masakari-shared-page .site-header .menu-title{
  display:block !important;
  font-size:clamp(34px,5vw,72px) !important;
  line-height:.9 !important;
  letter-spacing:-.07em !important;
  font-weight:900 !important;
  color:#080a07 !important;
}

body.masakari-shared-page .site-header .menu-arrow{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:54px !important;
  height:54px !important;
  margin-left:0 !important;
  border-radius:50% !important;
  background:#080a07 !important;
  color:#fff !important;
  font-size:24px !important;
  line-height:1 !important;
  font-weight:900 !important;
  box-shadow:0 0 0 6px rgba(18,253,0,.18) !important;
}

body.masakari-shared-page .site-header .menu-nav__featured a.is-primary{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:
    radial-gradient(circle at 18% 20%, rgba(18,253,0,.18), transparent 34%),
    radial-gradient(circle at 86% 88%, rgba(18,253,0,.15), transparent 28%),
    linear-gradient(160deg,#090a10 0%,#06070c 56%,#0b0d15 100%) !important;
  border:1.5px solid #12fd00 !important;
  box-shadow:0 0 0 1px rgba(18,253,0,.28) inset,0 0 18px rgba(18,253,0,.18),12px 12px 0 #0a0b12 !important;
}

body.masakari-shared-page .site-header .menu-nav__featured a.is-primary .menu-no{
  background:rgba(255,255,255,.04) !important;
  border-color:rgba(255,255,255,.14) !important;
  color:rgba(255,255,255,.34) !important;
}

body.masakari-shared-page .site-header .menu-nav__featured a.is-primary .menu-title{
  color:#12fd00 !important;
  text-shadow:0 0 16px rgba(18,253,0,.10) !important;
}

body.masakari-shared-page .site-header .menu-nav__featured a.is-primary .menu-arrow{
  background:#080910 !important;
  color:#fff !important;
  box-shadow:0 0 0 6px rgba(18,253,0,.22),0 0 18px rgba(18,253,0,.18) !important;
}

body.masakari-shared-page .site-header .menu-nav__featured a.is-primary .menu-popular-badge{
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  min-height:24px !important;
  padding:0 10px !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#080a07 !important;
  border:1px solid rgba(8,10,7,.14) !important;
  box-shadow:none !important;
}

body.masakari-shared-page .site-header .menu-nav__secondary a{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:100% !important;
  min-height:58px !important;
  padding:14px 18px !important;
  border:1px solid rgba(8,10,7,.10) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.72) !important;
  color:#080a07 !important;
  box-shadow:none !important;
  font-size:clamp(22px,2.6vw,34px) !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
  font-weight:900 !important;
}

body.masakari-shared-page .site-header .menu-nav__secondary a:hover{
  background:rgba(18,253,0,.28) !important;
  padding-left:20px !important;
}

body.masakari-shared-page .site-header .menu-nav__secondary a::after{
  content:"↗" !important;
  font-size:16px !important;
  opacity:.5 !important;
}

body.masakari-shared-page .site-header .menu-nav__secondary a span{
  color:#666b61 !important;
  font-size:11px !important;
  letter-spacing:.18em !important;
  min-width:24px !important;
}

@media (max-width:860px){
  body.masakari-shared-page .site-header .menu-panel__head{
    gap:10px !important;
  }

  body.masakari-shared-page .site-header .menu-panel__brand{
    gap:10px !important;
  }

  body.masakari-shared-page .site-header .menu-panel__brand-copy{
    display:none !important;
  }

  body.masakari-shared-page .site-header .menu-panel__brand-logo{
    width:clamp(160px,48vw,230px) !important;
  }

  body.masakari-shared-page .site-header .menu-nav{
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:22px 0 !important;
  }

  body.masakari-shared-page .site-header .menu-nav__featured{
    gap:12px !important;
  }

  body.masakari-shared-page .site-header .menu-nav__featured a{
    grid-template-columns:auto minmax(0,1fr) !important;
    gap:12px !important;
    min-height:82px !important;
    padding:16px 14px !important;
  }

  body.masakari-shared-page .site-header .menu-title{
    font-size:clamp(30px,9.8vw,52px) !important;
  }

  body.masakari-shared-page .site-header .menu-arrow{
    display:none !important;
  }

  body.masakari-shared-page .site-header .menu-nav__secondary a{
    font-size:clamp(18px,5.3vw,26px) !important;
    padding:12px 14px !important;
    border-radius:16px !important;
  }
}

/* ===== v200 desktop menu typography refinement =====
   PC版メニューの見出しを少し抑え、長いプラン名は意図した2行で表示。
   右側メニューは日本語表記でも読みやすいサイズに調整。
========================================================= */
body.masakari-shared-page .site-header .menu-title{
  font-size:clamp(30px,3.35vw,48px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}

body.masakari-shared-page .site-header .menu-title--ai-set{
  font-size:clamp(30px,3.15vw,46px) !important;
  line-height:1.02 !important;
}

body.masakari-shared-page .site-header .menu-title-break{
  display:block !important;
}

body.masakari-shared-page .site-header .menu-nav__secondary a{
  font-size:clamp(20px,1.9vw,27px) !important;
  line-height:1.15 !important;
  letter-spacing:-.035em !important;
  font-weight:900 !important;
  word-break:keep-all !important;
}

@media (max-width:860px){
  body.masakari-shared-page .site-header .menu-title{
    font-size:clamp(30px,9.4vw,48px) !important;
    line-height:.98 !important;
    letter-spacing:-.06em !important;
  }

  body.masakari-shared-page .site-header .menu-title--ai-set{
    font-size:clamp(28px,9vw,44px) !important;
  }

  body.masakari-shared-page .site-header .menu-nav__secondary a{
    font-size:clamp(18px,5.2vw,25px) !important;
    line-height:1.12 !important;
  }
}

/* ===== v209 editor / matrix hamburger menu redesign =====
   ハンバーガー展開画面を、暗いコードエディタ + Matrix HUD の世界観へ全面刷新。
   既存HTMLのリンク構造は維持し、CSSレイヤーで上書きしています。
========================================================= */
@keyframes masakariMatrixRain{
  0%{transform:translate3d(0,-9%,0) rotate(-4deg);opacity:.18;}
  45%{opacity:.34;}
  100%{transform:translate3d(-3%,7%,0) rotate(-4deg);opacity:.20;}
}
@keyframes masakariScanLine{
  0%{transform:translateY(-120%);opacity:0;}
  12%{opacity:.42;}
  50%{opacity:.18;}
  100%{transform:translateY(120%);opacity:0;}
}
@keyframes masakariPulseGreen{
  0%,100%{box-shadow:0 0 0 1px rgba(18,253,0,.34),0 0 32px rgba(18,253,0,.08),10px 10px 0 rgba(18,253,0,.18);}
  50%{box-shadow:0 0 0 1px rgba(18,253,0,.72),0 0 52px rgba(18,253,0,.20),10px 10px 0 rgba(18,253,0,.30);}
}
@keyframes masakariCursorBlink{
  0%,55%{opacity:1;}
  56%,100%{opacity:.18;}
}

html body.menu-open .site-header,
html body.masakari-shared-page.menu-open .site-header{
  z-index:100000 !important;
}

html body .menu-panel,
html body.masakari-shared-page .menu-panel,
html body .site-header .menu-panel,
html body.masakari-shared-page .site-header .menu-panel{
  position:fixed !important;
  inset:0 !important;
  z-index:1000 !important;
  display:grid !important;
  place-items:center !important;
  padding:92px 18px 18px !important;
  background:
    radial-gradient(circle at 78% 12%, rgba(18,253,0,.34) 0%, rgba(18,253,0,.14) 18%, transparent 42%),
    radial-gradient(circle at 12% 80%, rgba(18,253,0,.18) 0%, transparent 34%),
    linear-gradient(180deg, rgba(1,8,3,.88) 0%, rgba(0,0,0,.94) 100%) !important;
  backdrop-filter:blur(22px) saturate(1.25) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.25) !important;
  overflow:hidden !important;
}

html body .menu-panel__bg,
html body.masakari-shared-page .menu-panel__bg,
html body .site-header .menu-panel__bg,
html body.masakari-shared-page .site-header .menu-panel__bg{
  position:absolute !important;
  inset:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
  background:
    linear-gradient(rgba(18,253,0,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18,253,0,.035) 1px, transparent 1px),
    radial-gradient(circle at 82% 10%, rgba(18,253,0,.32), transparent 28%),
    radial-gradient(circle at 18% 92%, rgba(255,45,170,.12), transparent 30%) !important;
  background-size:32px 32px, 32px 32px, auto, auto !important;
}

html body .menu-panel__bg::before,
html body.masakari-shared-page .menu-panel__bg::before,
html body .site-header .menu-panel__bg::before,
html body.masakari-shared-page .site-header .menu-panel__bg::before{
  content:'01001101 01000001 01010011 01000001 01001011 01000001 01010010 01001001    route.map((item)=>render(<MenuLink/>))\A> boot: ai_lead_design --matrix --neon\A> compile: service / works / column / flow\A00110101 10101010 11001010 01010011 00100110 11100011 01010101 10001010\Aconst MASAKARI = { plan: "AI集客まるごと3点セット", state: "ONLINE" };\A01001101 01000001 01010011 01000001 01001011 01000001 01010010 01001001    route.map((item)=>render(<MenuLink/>))\A> boot: ai_lead_design --matrix --neon\A> compile: service / works / column / flow\A00110101 10101010 11001010 01010011 00100110 11100011 01010101 10001010\Aconst MASAKARI = { plan: "AI集客まるごと3点セット", state: "ONLINE" };' !important;
  position:absolute !important;
  left:-12vw !important;
  top:-18vh !important;
  width:140vw !important;
  min-width:1200px !important;
  height:140vh !important;
  background:transparent !important;
  color:rgba(18,253,0,.14) !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important;
  font-size:clamp(12px,1.05vw,16px) !important;
  line-height:1.7 !important;
  letter-spacing:.08em !important;
  white-space:pre-wrap !important;
  text-shadow:0 0 18px rgba(18,253,0,.18) !important;
  opacity:.28 !important;
  border-radius:0 !important;
  filter:blur(.2px) !important;
  transform:translate3d(0,-9%,0) rotate(-4deg) !important;
  animation:masakariMatrixRain 18s linear infinite !important;
  mask-image:linear-gradient(180deg, transparent 0%, #000 16%, #000 76%, transparent 100%) !important;
}

html body .menu-panel__bg::after,
html body.masakari-shared-page .menu-panel__bg::after,
html body .site-header .menu-panel__bg::after,
html body.masakari-shared-page .site-header .menu-panel__bg::after{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,.035) 0 1px, transparent 1px 6px),
    linear-gradient(115deg, transparent 0%, rgba(18,253,0,.13) 46%, transparent 56%) !important;
  background-size:auto, 160% 160% !important;
  opacity:.52 !important;
  mask-image:radial-gradient(circle at 50% 48%, #000 0%, #000 54%, transparent 84%) !important;
}

html body .menu-panel__inner,
html body.masakari-shared-page .menu-panel__inner,
html body .site-header .menu-panel__inner,
html body.masakari-shared-page .site-header .menu-panel__inner{
  position:relative !important;
  z-index:1 !important;
  width:min(1180px, calc(100vw - 42px)) !important;
  max-height:calc(100svh - 110px) !important;
  min-height:min(720px, calc(100svh - 110px)) !important;
  display:grid !important;
  grid-template-rows:auto auto 1fr auto !important;
  gap:0 !important;
  padding:0 !important;
  overflow:hidden auto !important;
  border:1px solid rgba(18,253,0,.42) !important;
  border-radius:24px !important;
  background:
    linear-gradient(180deg, rgba(5,12,7,.94) 0%, rgba(1,5,3,.96) 100%) !important;
  color:#eaffdf !important;
  box-shadow:
    0 0 0 1px rgba(18,253,0,.20) inset,
    0 34px 100px rgba(0,0,0,.58),
    0 0 72px rgba(18,253,0,.13) !important;
  transform:translateY(20px) scale(.985) !important;
  transition:transform .52s cubic-bezier(.2,.9,.2,1), opacity .35s ease !important;
  isolation:isolate !important;
}

html body.menu-open .menu-panel__inner,
html body.masakari-shared-page.menu-open .menu-panel__inner{
  transform:none !important;
}

html body .menu-panel__inner::before,
html body.masakari-shared-page .menu-panel__inner::before,
html body .site-header .menu-panel__inner::before,
html body.masakari-shared-page .site-header .menu-panel__inner::before{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:
    linear-gradient(rgba(18,253,0,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18,253,0,.035) 1px, transparent 1px),
    radial-gradient(circle at 80% 8%, rgba(18,253,0,.14), transparent 32%),
    radial-gradient(circle at 4% 100%, rgba(255,45,170,.08), transparent 34%) !important;
  background-size:28px 28px,28px 28px,auto,auto !important;
  pointer-events:none !important;
  opacity:.78 !important;
  z-index:0 !important;
}

html body .menu-panel__inner::after,
html body.masakari-shared-page .menu-panel__inner::after,
html body .site-header .menu-panel__inner::after,
html body.masakari-shared-page .site-header .menu-panel__inner::after{
  content:'' !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  height:120% !important;
  background:linear-gradient(180deg, transparent 0%, rgba(18,253,0,.12) 48%, transparent 56%) !important;
  opacity:.18 !important;
  pointer-events:none !important;
  z-index:1 !important;
  animation:masakariScanLine 8s linear infinite !important;
}

html body .menu-panel__inner > *,
html body.masakari-shared-page .menu-panel__inner > *,
html body .site-header .menu-panel__inner > *,
html body.masakari-shared-page .site-header .menu-panel__inner > *{
  position:relative !important;
  z-index:2 !important;
}

html body .menu-editor-chrome,
html body.masakari-shared-page .menu-editor-chrome,
html body .site-header .menu-editor-chrome,
html body.masakari-shared-page .site-header .menu-editor-chrome{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:16px !important;
  min-height:48px !important;
  padding:0 16px !important;
  border-bottom:1px solid rgba(18,253,0,.26) !important;
  background:linear-gradient(180deg, rgba(8,18,10,.98), rgba(2,8,4,.96)) !important;
  color:#9dff8d !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important;
}

html body .menu-editor-dots,
html body.masakari-shared-page .menu-editor-dots{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}
html body .menu-editor-dots i,
html body.masakari-shared-page .menu-editor-dots i{
  width:11px !important;
  height:11px !important;
  border-radius:50% !important;
  display:block !important;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:0 0 18px rgba(18,253,0,.16) !important;
}
html body .menu-editor-dots i:nth-child(1){background:#12fd00 !important;}
html body .menu-editor-dots i:nth-child(2){background:#f3ff79 !important;}
html body .menu-editor-dots i:nth-child(3){background:#ff2db0 !important;}

html body .menu-editor-tabs,
html body.masakari-shared-page .menu-editor-tabs{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  min-width:0 !important;
  overflow:hidden !important;
}
html body .menu-editor-tabs span,
html body.masakari-shared-page .menu-editor-tabs span{
  display:inline-flex !important;
  align-items:center !important;
  min-height:30px !important;
  padding:0 12px !important;
  border:1px solid rgba(18,253,0,.18) !important;
  border-radius:10px !important;
  background:rgba(0,0,0,.28) !important;
  color:rgba(234,255,223,.66) !important;
  font-size:11px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
html body .menu-editor-tabs span.is-active,
html body.masakari-shared-page .menu-editor-tabs span.is-active{
  background:rgba(18,253,0,.13) !important;
  color:#12fd00 !important;
  border-color:rgba(18,253,0,.54) !important;
  box-shadow:0 0 22px rgba(18,253,0,.12) inset !important;
}
html body .menu-editor-status,
html body.masakari-shared-page .menu-editor-status{
  display:inline-flex !important;
  justify-content:flex-end !important;
  min-width:max-content !important;
}
html body .menu-editor-status span,
html body.masakari-shared-page .menu-editor-status span{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  min-height:28px !important;
  padding:0 10px !important;
  border:1px solid rgba(18,253,0,.35) !important;
  border-radius:999px !important;
  background:rgba(18,253,0,.10) !important;
  color:#12fd00 !important;
  font-size:10px !important;
  letter-spacing:.11em !important;
  font-weight:800 !important;
}
html body .menu-editor-status span::before,
html body.masakari-shared-page .menu-editor-status span::before{
  content:'' !important;
  width:7px !important;
  height:7px !important;
  border-radius:50% !important;
  background:#12fd00 !important;
  box-shadow:0 0 16px rgba(18,253,0,.9) !important;
  animation:masakariCursorBlink 1.2s steps(2,end) infinite !important;
}

html body .menu-panel__head,
html body.masakari-shared-page .menu-panel__head,
html body .site-header .menu-panel__head,
html body.masakari-shared-page .site-header .menu-panel__head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  padding:20px clamp(18px,3.2vw,34px) 16px !important;
  margin:0 !important;
  border:0 !important;
  border-bottom:1px solid rgba(18,253,0,.16) !important;
  color:#dfffda !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important;
}
html body .menu-panel__head::before,
html body.masakari-shared-page .menu-panel__head::before,
html body .site-header .menu-panel__head::before,
html body.masakari-shared-page .site-header .menu-panel__head::before{
  content:'~/masakari/navigation' !important;
  position:absolute !important;
  left:clamp(18px,3.2vw,34px) !important;
  top:6px !important;
  color:rgba(157,255,141,.52) !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important;
  font-size:10px !important;
  letter-spacing:.06em !important;
}
html body .menu-panel__brand,
html body.masakari-shared-page .menu-panel__brand,
html body .site-header .menu-panel__brand,
html body.masakari-shared-page .site-header .menu-panel__brand{
  display:flex !important;
  align-items:flex-end !important;
  gap:14px !important;
  color:#dfffda !important;
  text-decoration:none !important;
  min-width:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
html body .menu-panel__brand-logo,
html body.masakari-shared-page .menu-panel__brand-logo,
html body .site-header .menu-panel__brand-logo,
html body.masakari-shared-page .site-header .menu-panel__brand-logo{
  width:clamp(180px,23vw,320px) !important;
  max-width:min(52vw,320px) !important;
  height:auto !important;
  filter:drop-shadow(0 0 18px rgba(18,253,0,.26)) !important;
  opacity:.96 !important;
}
html body .menu-panel__brand-copy,
html body.masakari-shared-page .menu-panel__brand-copy,
html body .site-header .menu-panel__brand-copy,
html body.masakari-shared-page .site-header .menu-panel__brand-copy{
  color:rgba(234,255,223,.70) !important;
  font-size:10px !important;
  letter-spacing:.20em !important;
  padding-bottom:9px !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
html body .menu-panel__head-label,
html body.masakari-shared-page .menu-panel__head-label,
html body .site-header .menu-panel__head-label,
html body.masakari-shared-page .site-header .menu-panel__head-label{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  min-height:34px !important;
  padding:0 12px !important;
  border:1px solid rgba(18,253,0,.34) !important;
  border-radius:999px !important;
  background:rgba(18,253,0,.08) !important;
  color:#12fd00 !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important;
  font-size:10px !important;
  letter-spacing:.18em !important;
  box-shadow:0 0 24px rgba(18,253,0,.10) inset !important;
}
html body .menu-panel__head-label::before,
html body.masakari-shared-page .menu-panel__head-label::before{
  content:'' !important;
  width:8px !important;
  height:8px !important;
  border-radius:50% !important;
  background:#12fd00 !important;
  box-shadow:0 0 14px rgba(18,253,0,.86) !important;
}

html body .menu-nav,
html body.masakari-shared-page .menu-nav,
html body .site-header .menu-nav,
html body.masakari-shared-page .site-header .menu-nav{
  display:grid !important;
  grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr) !important;
  gap:26px !important;
  padding:26px clamp(18px,3.2vw,34px) 24px !important;
  align-items:stretch !important;
  z-index:2 !important;
}
html body .menu-nav::before,
html body.masakari-shared-page .menu-nav::before,
html body .site-header .menu-nav::before,
html body.masakari-shared-page .site-header .menu-nav::before{
  content:'01\A02\A03\A04\A05\A06\A07\A08\A09\A10\A11\A12' !important;
  position:absolute !important;
  left:10px !important;
  top:34px !important;
  color:rgba(157,255,141,.22) !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important;
  font-size:10px !important;
  line-height:2.35 !important;
  white-space:pre !important;
  pointer-events:none !important;
}
html body .menu-nav__featured,
html body.masakari-shared-page .menu-nav__featured,
html body .menu-nav__secondary,
html body.masakari-shared-page .menu-nav__secondary,
html body .site-header .menu-nav__featured,
html body.masakari-shared-page .site-header .menu-nav__featured,
html body .site-header .menu-nav__secondary,
html body.masakari-shared-page .site-header .menu-nav__secondary{
  position:relative !important;
  display:grid !important;
  align-content:start !important;
  gap:13px !important;
  padding:34px 0 22px !important;
}
html body .menu-nav__featured::before,
html body.masakari-shared-page .menu-nav__featured::before,
html body .site-header .menu-nav__featured::before,
html body.masakari-shared-page .site-header .menu-nav__featured::before{
  content:'export const featuredLinks = [' !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  color:#9dff8d !important;
  text-shadow:0 0 16px rgba(18,253,0,.28) !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important;
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  font-weight:800 !important;
}
html body .menu-nav__secondary::before,
html body.masakari-shared-page .menu-nav__secondary::before,
html body .site-header .menu-nav__secondary::before,
html body.masakari-shared-page .site-header .menu-nav__secondary::before{
  content:'const routes = [' !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  color:#9dff8d !important;
  text-shadow:0 0 16px rgba(18,253,0,.28) !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important;
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  font-weight:800 !important;
}
html body .menu-nav__featured::after,
html body.masakari-shared-page .menu-nav__featured::after,
html body .menu-nav__secondary::after,
html body.masakari-shared-page .menu-nav__secondary::after,
html body .site-header .menu-nav__featured::after,
html body.masakari-shared-page .site-header .menu-nav__featured::after,
html body .site-header .menu-nav__secondary::after,
html body.masakari-shared-page .site-header .menu-nav__secondary::after{
  content:'] as const;' !important;
  position:absolute !important;
  left:0 !important;
  bottom:2px !important;
  color:rgba(157,255,141,.56) !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  font-weight:700 !important;
}

html body .menu-nav a,
html body.masakari-shared-page .menu-nav a,
html body .site-header .menu-nav a,
html body.masakari-shared-page .site-header .menu-nav a{
  color:#eaffdf !important;
  text-decoration:none !important;
  border-radius:18px !important;
  border:1px solid rgba(18,253,0,.22) !important;
  background:rgba(0,12,5,.62) !important;
  box-shadow:0 0 0 1px rgba(18,253,0,.06) inset,0 18px 44px rgba(0,0,0,.18) !important;
  overflow:hidden !important;
  transform:none !important;
  transition:transform .24s ease, border-color .24s ease, box-shadow .24s ease, background .24s ease !important;
}
html body .menu-nav a:hover,
html body.masakari-shared-page .menu-nav a:hover,
html body .site-header .menu-nav a:hover,
html body.masakari-shared-page .site-header .menu-nav a:hover{
  transform:translate(-3px,-3px) !important;
  border-color:rgba(18,253,0,.62) !important;
  background:rgba(8,32,12,.88) !important;
  box-shadow:0 0 0 1px rgba(18,253,0,.18) inset,0 0 34px rgba(18,253,0,.12),10px 10px 0 rgba(18,253,0,.18) !important;
}

html body .menu-nav__featured a,
html body.masakari-shared-page .menu-nav__featured a,
html body .site-header .menu-nav__featured a,
html body.masakari-shared-page .site-header .menu-nav__featured a{
  position:relative !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:16px !important;
  min-height:138px !important;
  padding:30px 22px 20px !important;
}
html body .menu-nav__featured a::before,
html body.masakari-shared-page .menu-nav__featured a::before,
html body .site-header .menu-nav__featured a::before,
html body.masakari-shared-page .site-header .menu-nav__featured a::before{
  content:'component: <WorksArchive />' !important;
  position:absolute !important;
  left:18px !important;
  top:13px !important;
  color:rgba(157,255,141,.70) !important;
  background:transparent !important;
  border:0 !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important;
  font-size:10px !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  font-weight:700 !important;
  min-width:0 !important;
  height:auto !important;
  width:auto !important;
  opacity:1 !important;
  transform:none !important;
  z-index:2 !important;
}
html body .menu-nav__featured a::after,
html body.masakari-shared-page .menu-nav__featured a::after,
html body .site-header .menu-nav__featured a::after,
html body.masakari-shared-page .site-header .menu-nav__featured a::after{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(115deg, transparent 0%, rgba(18,253,0,.13) 42%, transparent 56%),
    repeating-linear-gradient(90deg, transparent 0 24px, rgba(18,253,0,.035) 24px 25px) !important;
  opacity:.58 !important;
  transform:none !important;
  pointer-events:none !important;
  z-index:0 !important;
}
html body .menu-nav__featured a > *,
html body.masakari-shared-page .menu-nav__featured a > *,
html body .site-header .menu-nav__featured a > *,
html body.masakari-shared-page .site-header .menu-nav__featured a > *{
  position:relative !important;
  z-index:2 !important;
}
html body .menu-nav__featured a.is-primary,
html body.masakari-shared-page .menu-nav__featured a.is-primary,
html body .site-header .menu-nav__featured a.is-primary,
html body.masakari-shared-page .site-header .menu-nav__featured a.is-primary{
  background:
    radial-gradient(circle at 14% 24%, rgba(18,253,0,.24), transparent 34%),
    radial-gradient(circle at 80% 84%, rgba(18,253,0,.16), transparent 30%),
    linear-gradient(145deg, rgba(2,16,6,.98) 0%, rgba(0,0,0,.96) 58%, rgba(4,22,8,.98) 100%) !important;
  border-color:rgba(18,253,0,.72) !important;
  animation:masakariPulseGreen 3.4s ease-in-out infinite !important;
}
html body .menu-nav__featured a.is-primary::before,
html body.masakari-shared-page .menu-nav__featured a.is-primary::before,
html body .site-header .menu-nav__featured a.is-primary::before,
html body.masakari-shared-page .site-header .menu-nav__featured a.is-primary::before{
  content:'component: <MainPlan priority="max" />' !important;
  color:#12fd00 !important;
}
html body .menu-no,
html body.masakari-shared-page .menu-no,
html body .site-header .menu-no,
html body.masakari-shared-page .site-header .menu-no{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:44px !important;
  height:36px !important;
  padding:0 9px !important;
  border:1px solid rgba(18,253,0,.28) !important;
  border-radius:11px !important;
  background:rgba(18,253,0,.08) !important;
  color:#9dff8d !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  font-weight:800 !important;
}
html body .menu-main,
html body.masakari-shared-page .menu-main,
html body .site-header .menu-main,
html body.masakari-shared-page .site-header .menu-main{
  display:grid !important;
  gap:8px !important;
  min-width:0 !important;
}
html body .menu-main::before,
html body.masakari-shared-page .menu-main::before,
html body .site-header .menu-main::before,
html body.masakari-shared-page .site-header .menu-main::before{
  content:'title:' !important;
  width:max-content !important;
  color:rgba(157,255,141,.58) !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important;
  font-size:10px !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
}
html body .menu-popular-badge,
html body.masakari-shared-page .menu-popular-badge,
html body .site-header .menu-popular-badge,
html body.masakari-shared-page .site-header .menu-popular-badge{
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  min-height:26px !important;
  padding:0 10px !important;
  border-radius:999px !important;
  border:1px solid rgba(18,253,0,.48) !important;
  background:rgba(18,253,0,.12) !important;
  color:#12fd00 !important;
  box-shadow:0 0 18px rgba(18,253,0,.10) inset !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important;
  font-size:10px !important;
  letter-spacing:.06em !important;
  line-height:1 !important;
}
html body .menu-popular-badge::before,
html body.masakari-shared-page .menu-popular-badge::before,
html body .site-header .menu-popular-badge::before,
html body.masakari-shared-page .site-header .menu-popular-badge::before{
  content:'' !important;
  width:7px !important;
  height:7px !important;
  border-radius:50% !important;
  background:#12fd00 !important;
  border:0 !important;
  box-shadow:0 0 13px rgba(18,253,0,.86) !important;
}
html body .menu-title,
html body.masakari-shared-page .menu-title,
html body .site-header .menu-title,
html body.masakari-shared-page .site-header .menu-title{
  display:block !important;
  color:#f2ffec !important;
  font-size:clamp(34px,3.3vw,52px) !important;
  line-height:.98 !important;
  letter-spacing:-.055em !important;
  font-weight:900 !important;
  text-shadow:0 0 26px rgba(18,253,0,.18) !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}
html body .menu-title--ai-set,
html body.masakari-shared-page .menu-title--ai-set,
html body .site-header .menu-title--ai-set,
html body.masakari-shared-page .site-header .menu-title--ai-set{
  color:#12fd00 !important;
  font-size:clamp(34px,3.45vw,54px) !important;
  line-height:.98 !important;
  text-shadow:0 0 30px rgba(18,253,0,.28) !important;
}
html body .menu-arrow,
html body.masakari-shared-page .menu-arrow,
html body .site-header .menu-arrow,
html body.masakari-shared-page .site-header .menu-arrow{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:54px !important;
  height:54px !important;
  margin-left:auto !important;
  border-radius:16px !important;
  border:1px solid rgba(18,253,0,.42) !important;
  background:rgba(18,253,0,.10) !important;
  color:#12fd00 !important;
  font-size:24px !important;
  line-height:1 !important;
  font-weight:900 !important;
  box-shadow:0 0 24px rgba(18,253,0,.12) inset !important;
}
html body .menu-nav a:hover .menu-arrow,
html body.masakari-shared-page .menu-nav a:hover .menu-arrow{
  background:#12fd00 !important;
  color:#020403 !important;
  transform:translate(2px,-2px) !important;
}

html body .menu-nav__secondary a,
html body.masakari-shared-page .menu-nav__secondary a,
html body .site-header .menu-nav__secondary a,
html body.masakari-shared-page .site-header .menu-nav__secondary a{
  position:relative !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  column-gap:12px !important;
  min-height:70px !important;
  padding:15px 18px !important;
  color:#f2ffec !important;
  font-size:clamp(22px,2vw,31px) !important;
  line-height:1.1 !important;
  letter-spacing:-.035em !important;
  font-weight:900 !important;
  word-break:keep-all !important;
}
html body .menu-nav__secondary a::before,
html body.masakari-shared-page .menu-nav__secondary a::before,
html body .site-header .menu-nav__secondary a::before,
html body.masakari-shared-page .site-header .menu-nav__secondary a::before{
  content:'path=' !important;
  position:absolute !important;
  left:17px !important;
  top:8px !important;
  width:auto !important;
  height:auto !important;
  background:transparent !important;
  color:rgba(157,255,141,.54) !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important;
  font-size:9px !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  opacity:1 !important;
}
html body .menu-nav__secondary a::after,
html body.masakari-shared-page .menu-nav__secondary a::after,
html body .site-header .menu-nav__secondary a::after,
html body.masakari-shared-page .site-header .menu-nav__secondary a::after{
  content:'↗' !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:38px !important;
  height:38px !important;
  border:1px solid rgba(18,253,0,.30) !important;
  border-radius:12px !important;
  background:rgba(18,253,0,.08) !important;
  color:#12fd00 !important;
  font-size:18px !important;
  line-height:1 !important;
  opacity:1 !important;
  transition:transform .24s ease, background .24s ease, color .24s ease !important;
}
html body .menu-nav__secondary a:hover::after,
html body.masakari-shared-page .menu-nav__secondary a:hover::after{
  background:#12fd00 !important;
  color:#020403 !important;
  transform:translate(2px,-2px) !important;
}
html body .menu-nav__secondary a span,
html body.masakari-shared-page .menu-nav__secondary a span,
html body .site-header .menu-nav__secondary a span,
html body.masakari-shared-page .site-header .menu-nav__secondary a span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:42px !important;
  min-width:42px !important;
  height:34px !important;
  margin:0 !important;
  border:1px solid rgba(18,253,0,.25) !important;
  border-radius:11px !important;
  background:rgba(18,253,0,.07) !important;
  color:#9dff8d !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important;
  font-size:10px !important;
  letter-spacing:.10em !important;
  font-weight:800 !important;
}

html body .menu-panel__foot,
html body.masakari-shared-page .menu-panel__foot,
html body .site-header .menu-panel__foot,
html body.masakari-shared-page .site-header .menu-panel__foot{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  min-height:74px !important;
  margin:0 !important;
  padding:16px clamp(18px,3.2vw,34px) !important;
  border-top:1px solid rgba(18,253,0,.18) !important;
  background:linear-gradient(180deg, rgba(0,0,0,.12), rgba(18,253,0,.05)) !important;
  color:#9dff8d !important;
}
html body .menu-panel__foot::before,
html body.masakari-shared-page .menu-panel__foot::before,
html body .site-header .menu-panel__foot::before,
html body.masakari-shared-page .site-header .menu-panel__foot::before{
  content:'terminal: quick_actions $' !important;
  position:static !important;
  flex:0 0 auto !important;
  color:rgba(157,255,141,.68) !important;
  background:transparent !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:.06em !important;
  font-weight:800 !important;
}
html body .menu-panel__foot .menu-social,
html body.masakari-shared-page .menu-panel__foot .menu-social,
html body .site-header .menu-panel__foot .menu-social,
html body.masakari-shared-page .site-header .menu-panel__foot .menu-social{
  margin-left:auto !important;
  justify-content:flex-end !important;
}
html body .menu-panel .masakari-social-link,
html body.masakari-shared-page .menu-panel .masakari-social-link,
html body .site-header .menu-panel .masakari-social-link,
html body.masakari-shared-page .site-header .menu-panel .masakari-social-link{
  min-height:42px !important;
  padding:0 14px !important;
  border:1px solid rgba(18,253,0,.35) !important;
  border-radius:12px !important;
  background:rgba(0,0,0,.44) !important;
  color:#eaffdf !important;
  box-shadow:0 0 0 1px rgba(18,253,0,.08) inset !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important;
  letter-spacing:.02em !important;
}
html body .menu-panel .masakari-social-link:hover,
html body.masakari-shared-page .menu-panel .masakari-social-link:hover{
  background:rgba(18,253,0,.12) !important;
  box-shadow:0 0 24px rgba(18,253,0,.14) !important;
}
html body .menu-panel .menu-cta,
html body.masakari-shared-page .menu-panel .menu-cta,
html body .site-header .menu-panel .menu-cta,
html body.masakari-shared-page .site-header .menu-panel .menu-cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  padding:0 18px !important;
  border:1px solid rgba(18,253,0,.68) !important;
  border-radius:12px !important;
  background:#12fd00 !important;
  color:#020403 !important;
  box-shadow:0 0 30px rgba(18,253,0,.20),7px 7px 0 rgba(0,0,0,.90) !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  text-decoration:none !important;
}
html body .menu-panel .menu-cta::before,
html body.masakari-shared-page .menu-panel .menu-cta::before{
  content:'$' !important;
  margin-right:7px !important;
  opacity:.62 !important;
}

html body.menu-open .site-header .menu-toggle,
html body.masakari-shared-page.menu-open .site-header .menu-toggle,
html body.menu-open header.site-header .menu-toggle{
  background:#020403 !important;
  color:#12fd00 !important;
  border-color:rgba(18,253,0,.82) !important;
  box-shadow:0 0 28px rgba(18,253,0,.28),7px 7px 0 rgba(18,253,0,.62) !important;
}
html body.menu-open .site-header .menu-toggle__text::after,
html body.masakari-shared-page.menu-open .site-header .menu-toggle__text::after{
  color:#12fd00 !important;
}
html body.menu-open .site-header .menu-toggle__bars i,
html body.masakari-shared-page.menu-open .site-header .menu-toggle__bars i{
  background:#12fd00 !important;
}

@media (max-width:960px){
  html body .menu-panel,
  html body.masakari-shared-page .menu-panel,
  html body .site-header .menu-panel,
  html body.masakari-shared-page .site-header .menu-panel{
    padding:76px 12px 12px !important;
    place-items:start center !important;
  }
  html body .menu-panel__inner,
  html body.masakari-shared-page .menu-panel__inner,
  html body .site-header .menu-panel__inner,
  html body.masakari-shared-page .site-header .menu-panel__inner{
    width:calc(100vw - 24px) !important;
    max-height:calc(100svh - 88px) !important;
    min-height:min(720px, calc(100svh - 88px)) !important;
    border-radius:18px !important;
  }
  html body .menu-editor-chrome,
  html body.masakari-shared-page .menu-editor-chrome{
    grid-template-columns:auto minmax(0,1fr) !important;
    gap:10px !important;
    min-height:44px !important;
    padding:0 12px !important;
  }
  html body .menu-editor-status,
  html body.masakari-shared-page .menu-editor-status{
    display:none !important;
  }
  html body .menu-editor-tabs span,
  html body.masakari-shared-page .menu-editor-tabs span{
    padding:0 9px !important;
    font-size:10px !important;
  }
  html body .menu-editor-tabs span:not(.is-active),
  html body.masakari-shared-page .menu-editor-tabs span:not(.is-active){
    display:none !important;
  }
  html body .menu-panel__head,
  html body.masakari-shared-page .menu-panel__head,
  html body .site-header .menu-panel__head,
  html body.masakari-shared-page .site-header .menu-panel__head{
    padding:18px 14px 14px !important;
  }
  html body .menu-panel__head::before,
  html body.masakari-shared-page .menu-panel__head::before{
    left:14px !important;
    font-size:9px !important;
  }
  html body .menu-panel__brand-copy,
  html body.masakari-shared-page .menu-panel__brand-copy,
  html body .site-header .menu-panel__brand-copy,
  html body.masakari-shared-page .site-header .menu-panel__brand-copy{
    display:none !important;
  }
  html body .menu-panel__brand-logo,
  html body.masakari-shared-page .menu-panel__brand-logo,
  html body .site-header .menu-panel__brand-logo,
  html body.masakari-shared-page .site-header .menu-panel__brand-logo{
    width:clamp(164px,48vw,250px) !important;
    max-width:56vw !important;
  }
  html body .menu-panel__head-label,
  html body.masakari-shared-page .menu-panel__head-label{
    min-height:30px !important;
    padding:0 10px !important;
  }
  html body .menu-nav,
  html body.masakari-shared-page .menu-nav,
  html body .site-header .menu-nav,
  html body.masakari-shared-page .site-header .menu-nav{
    grid-template-columns:1fr !important;
    gap:14px !important;
    padding:18px 14px 18px !important;
  }
  html body .menu-nav::before,
  html body.masakari-shared-page .menu-nav::before{
    display:none !important;
  }
  html body .menu-nav__featured,
  html body.masakari-shared-page .menu-nav__featured,
  html body .menu-nav__secondary,
  html body.masakari-shared-page .menu-nav__secondary,
  html body .site-header .menu-nav__featured,
  html body.masakari-shared-page .site-header .menu-nav__featured,
  html body .site-header .menu-nav__secondary,
  html body.masakari-shared-page .site-header .menu-nav__secondary{
    padding:26px 0 16px !important;
    gap:10px !important;
  }
  html body .menu-nav__featured::before,
  html body.masakari-shared-page .menu-nav__featured::before,
  html body .menu-nav__secondary::before,
  html body.masakari-shared-page .menu-nav__secondary::before{
    font-size:10px !important;
  }
  html body .menu-nav__featured a,
  html body.masakari-shared-page .menu-nav__featured a,
  html body .site-header .menu-nav__featured a,
  html body.masakari-shared-page .site-header .menu-nav__featured a{
    min-height:96px !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    padding:28px 14px 16px !important;
    gap:12px !important;
    border-radius:16px !important;
  }
  html body .menu-arrow,
  html body.masakari-shared-page .menu-arrow,
  html body .site-header .menu-arrow,
  html body.masakari-shared-page .site-header .menu-arrow{
    display:none !important;
  }
  html body .menu-title,
  html body.masakari-shared-page .menu-title,
  html body .site-header .menu-title,
  html body.masakari-shared-page .site-header .menu-title{
    font-size:clamp(28px,8vw,42px) !important;
    line-height:1 !important;
  }
  html body .menu-title--ai-set,
  html body.masakari-shared-page .menu-title--ai-set,
  html body .site-header .menu-title--ai-set,
  html body.masakari-shared-page .site-header .menu-title--ai-set{
    font-size:clamp(27px,7.6vw,40px) !important;
  }
  html body .menu-nav__secondary a,
  html body.masakari-shared-page .menu-nav__secondary a,
  html body .site-header .menu-nav__secondary a,
  html body.masakari-shared-page .site-header .menu-nav__secondary a{
    min-height:58px !important;
    padding:14px 12px !important;
    border-radius:15px !important;
    font-size:clamp(18px,5.1vw,25px) !important;
  }
  html body .menu-nav__secondary a::before,
  html body.masakari-shared-page .menu-nav__secondary a::before{
    top:7px !important;
    left:14px !important;
    font-size:8px !important;
  }
  html body .menu-nav__secondary a span,
  html body.masakari-shared-page .menu-nav__secondary a span{
    width:36px !important;
    min-width:36px !important;
    height:30px !important;
  }
  html body .menu-nav__secondary a::after,
  html body.masakari-shared-page .menu-nav__secondary a::after{
    width:32px !important;
    height:32px !important;
  }
  html body .menu-panel__foot,
  html body.masakari-shared-page .menu-panel__foot,
  html body .site-header .menu-panel__foot,
  html body.masakari-shared-page .site-header .menu-panel__foot{
    display:grid !important;
    grid-template-columns:1fr !important;
    min-height:0 !important;
    gap:12px !important;
    padding:14px !important;
  }
  html body .menu-panel__foot::before,
  html body.masakari-shared-page .menu-panel__foot::before{
    font-size:10px !important;
  }
  html body .menu-panel__foot .menu-social,
  html body.masakari-shared-page .menu-panel__foot .menu-social{
    margin-left:0 !important;
    justify-content:flex-start !important;
    width:100% !important;
  }
  html body .menu-panel .menu-cta,
  html body.masakari-shared-page .menu-panel .menu-cta{
    width:100% !important;
  }
}

@media (max-width:390px){
  html body .menu-title,
  html body.masakari-shared-page .menu-title,
  html body .site-header .menu-title,
  html body.masakari-shared-page .site-header .menu-title{
    font-size:26px !important;
  }
  html body .menu-title--ai-set,
  html body.masakari-shared-page .menu-title--ai-set,
  html body .site-header .menu-title--ai-set,
  html body.masakari-shared-page .site-header .menu-title--ai-set{
    font-size:25px !important;
  }
  html body .menu-nav__secondary a,
  html body.masakari-shared-page .menu-nav__secondary a{
    font-size:18px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  html body .menu-panel__bg::before,
  html body.masakari-shared-page .menu-panel__bg::before,
  html body .menu-panel__inner::after,
  html body.masakari-shared-page .menu-panel__inner::after,
  html body .menu-nav__featured a.is-primary,
  html body.masakari-shared-page .menu-nav__featured a.is-primary,
  html body .menu-editor-status span::before,
  html body.masakari-shared-page .menu-editor-status span::before{
    animation:none !important;
  }
}


/* ===== v214 hamburger motion stabilization =====
   v209のMatrix/Editor表現を維持しつつ、開閉時のスクロールジャンプ、
   内側スクロールバーの暴れ、過剰な連続アニメーションを整理。
========================================================= */
html{
  scrollbar-gutter:stable;
}
html.menu-open,
html body.menu-open{
  overflow:hidden !important;
  overscroll-behavior:none !important;
}

html body .menu-panel,
html body.masakari-shared-page .menu-panel,
html body .site-header .menu-panel,
html body.masakari-shared-page .site-header .menu-panel{
  place-items:start center !important;
  padding:clamp(60px,7.2svh,76px) 16px 16px !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transition:opacity .22s ease, visibility 0s linear .22s !important;
  transform:translateZ(0) !important;
  will-change:opacity !important;
}

html body.menu-open .menu-panel,
html.menu-open body .menu-panel,
html body.masakari-shared-page.menu-open .menu-panel,
html body.menu-open .site-header .menu-panel,
html.menu-open body .site-header .menu-panel{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transition:opacity .22s ease, visibility 0s linear 0s !important;
}

html body .menu-panel__inner,
html body.masakari-shared-page .menu-panel__inner,
html body .site-header .menu-panel__inner,
html body.masakari-shared-page .site-header .menu-panel__inner{
  height:min(720px, calc(100svh - 92px)) !important;
  min-height:0 !important;
  max-height:calc(100svh - 92px) !important;
  overflow:hidden !important;
  transform:translate3d(0,12px,0) scale(.992) !important;
  opacity:0 !important;
  transition:opacity .26s ease, transform .34s cubic-bezier(.2,.9,.2,1) !important;
  will-change:transform,opacity !important;
  contain:layout paint !important;
}

html body.menu-open .menu-panel__inner,
html.menu-open body .menu-panel__inner,
html body.masakari-shared-page.menu-open .menu-panel__inner,
html body.menu-open .site-header .menu-panel__inner,
html.menu-open body .site-header .menu-panel__inner{
  transform:translate3d(0,0,0) scale(1) !important;
  opacity:1 !important;
}

html body .menu-panel__bg::before,
html body.masakari-shared-page .menu-panel__bg::before,
html body .site-header .menu-panel__bg::before,
html body.masakari-shared-page .site-header .menu-panel__bg::before{
  animation:none !important;
  transform:rotate(-4deg) !important;
  opacity:.22 !important;
}

html body .menu-panel__inner::after,
html body.masakari-shared-page .menu-panel__inner::after,
html body .site-header .menu-panel__inner::after,
html body.masakari-shared-page .site-header .menu-panel__inner::after{
  animation:none !important;
  opacity:.08 !important;
}

html body .menu-nav__featured a.is-primary,
html body.masakari-shared-page .menu-nav__featured a.is-primary,
html body .site-header .menu-nav__featured a.is-primary,
html body.masakari-shared-page .site-header .menu-nav__featured a.is-primary{
  animation:none !important;
}

html body .menu-nav a,
html body.masakari-shared-page .menu-nav a,
html body .site-header .menu-nav a,
html body.masakari-shared-page .site-header .menu-nav a{
  opacity:1 !important;
  transform:none !important;
}

html body .menu-editor-chrome,
html body.masakari-shared-page .menu-editor-chrome,
html body .site-header .menu-editor-chrome,
html body.masakari-shared-page .site-header .menu-editor-chrome{
  min-height:42px !important;
}

html body .menu-panel__head,
html body.masakari-shared-page .menu-panel__head,
html body .site-header .menu-panel__head,
html body.masakari-shared-page .site-header .menu-panel__head{
  padding:16px clamp(18px,2.8vw,30px) 12px !important;
}

html body .menu-panel__head::before,
html body.masakari-shared-page .menu-panel__head::before,
html body .site-header .menu-panel__head::before,
html body.masakari-shared-page .site-header .menu-panel__head::before{
  top:5px !important;
  left:clamp(18px,2.8vw,30px) !important;
}

html body .menu-panel__brand-logo,
html body.masakari-shared-page .menu-panel__brand-logo,
html body .site-header .menu-panel__brand-logo,
html body.masakari-shared-page .site-header .menu-panel__brand-logo{
  width:clamp(168px,20vw,286px) !important;
  max-width:min(48vw,286px) !important;
}

html body .menu-nav,
html body.masakari-shared-page .menu-nav,
html body .site-header .menu-nav,
html body.masakari-shared-page .site-header .menu-nav{
  gap:22px !important;
  padding:18px clamp(18px,2.8vw,30px) 16px !important;
}

html body .menu-nav__featured,
html body.masakari-shared-page .menu-nav__featured,
html body .menu-nav__secondary,
html body.masakari-shared-page .menu-nav__secondary,
html body .site-header .menu-nav__featured,
html body.masakari-shared-page .site-header .menu-nav__featured,
html body .site-header .menu-nav__secondary,
html body.masakari-shared-page .site-header .menu-nav__secondary{
  gap:10px !important;
  padding:28px 0 14px !important;
}

html body .menu-nav__featured a,
html body.masakari-shared-page .menu-nav__featured a,
html body .site-header .menu-nav__featured a,
html body.masakari-shared-page .site-header .menu-nav__featured a{
  min-height:112px !important;
  padding:26px 18px 16px !important;
}

html body .menu-nav__featured a.is-primary,
html body.masakari-shared-page .menu-nav__featured a.is-primary,
html body .site-header .menu-nav__featured a.is-primary,
html body.masakari-shared-page .site-header .menu-nav__featured a.is-primary{
  min-height:122px !important;
}

html body .menu-title,
html body.masakari-shared-page .menu-title,
html body .site-header .menu-title,
html body.masakari-shared-page .site-header .menu-title{
  font-size:clamp(30px,2.8vw,46px) !important;
}

html body .menu-title--ai-set,
html body.masakari-shared-page .menu-title--ai-set,
html body .site-header .menu-title--ai-set,
html body.masakari-shared-page .site-header .menu-title--ai-set{
  font-size:clamp(31px,3vw,48px) !important;
}

html body .menu-nav__secondary a,
html body.masakari-shared-page .menu-nav__secondary a,
html body .site-header .menu-nav__secondary a,
html body.masakari-shared-page .site-header .menu-nav__secondary a{
  min-height:60px !important;
  padding:12px 16px !important;
  font-size:clamp(20px,1.72vw,28px) !important;
}

html body .menu-panel__foot,
html body.masakari-shared-page .menu-panel__foot,
html body .site-header .menu-panel__foot,
html body.masakari-shared-page .site-header .menu-panel__foot{
  min-height:58px !important;
  padding:10px clamp(18px,2.8vw,30px) !important;
}

html body .menu-panel .masakari-social-link,
html body.masakari-shared-page .menu-panel .masakari-social-link,
html body .site-header .menu-panel .masakari-social-link,
html body.masakari-shared-page .site-header .menu-panel .masakari-social-link,
html body .menu-panel .menu-cta,
html body.masakari-shared-page .menu-panel .menu-cta,
html body .site-header .menu-panel .menu-cta,
html body.masakari-shared-page .site-header .menu-panel .menu-cta{
  min-height:38px !important;
}

@media (max-width:960px){
  html body .menu-panel,
  html body.masakari-shared-page .menu-panel,
  html body .site-header .menu-panel,
  html body.masakari-shared-page .site-header .menu-panel{
    padding:72px 12px 12px !important;
  }

  html body .menu-panel__inner,
  html body.masakari-shared-page .menu-panel__inner,
  html body .site-header .menu-panel__inner,
  html body.masakari-shared-page .site-header .menu-panel__inner{
    height:calc(100svh - 84px) !important;
    max-height:calc(100svh - 84px) !important;
    overflow:hidden auto !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
  }
}

@media (max-height:640px) and (min-width:961px){
  html body .menu-panel__inner,
  html body.masakari-shared-page .menu-panel__inner,
  html body .site-header .menu-panel__inner,
  html body.masakari-shared-page .site-header .menu-panel__inner{
    overflow:hidden auto !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
  }
}

/* ===== v214 stable matrix menu motion fix =====
   メニュー展開時の不自然なスクロール/ジャンプを抑制。
   - html/body 両方をロック
   - PCはエディタ窓を1画面内に収める
   - スクロールは必要な時だけモバイル側に限定
   - Matrix/スキャンラインの動きを控えめにしてチラつきを軽減
========================================================= */
@keyframes masakariMatrixDriftStable{
  0%{transform:translate3d(0,-7%,0) rotate(-3deg);opacity:.22;}
  50%{transform:translate3d(1.5%,1%,0) rotate(-3deg);opacity:.18;}
  100%{transform:translate3d(0,8%,0) rotate(-3deg);opacity:.22;}
}
@keyframes masakariMenuInStable{
  0%{opacity:0;transform:translate3d(0,14px,0) scale(.988);}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1);}
}

html.menu-open,
html.menu-open body,
html body.menu-open{
  overflow:hidden !important;
  overscroll-behavior:none !important;
}

html body .menu-panel,
html body.masakari-shared-page .menu-panel,
html body .site-header .menu-panel,
html body.masakari-shared-page .site-header .menu-panel{
  padding:clamp(60px,7svh,74px) clamp(12px,1.4vw,18px) clamp(12px,1.4vw,18px) !important;
  align-items:center !important;
  justify-items:center !important;
  overflow:hidden !important;
  overscroll-behavior:contain !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transition:opacity .24s ease, visibility 0s linear .24s !important;
}

html.menu-open body .menu-panel,
html body.menu-open .menu-panel,
html body.masakari-shared-page.menu-open .menu-panel,
html body.menu-open .site-header .menu-panel,
html body.masakari-shared-page.menu-open .site-header .menu-panel{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transition:opacity .24s ease, visibility 0s linear 0s !important;
}

html body .menu-panel__inner,
html body.masakari-shared-page .menu-panel__inner,
html body .site-header .menu-panel__inner,
html body.masakari-shared-page .site-header .menu-panel__inner{
  height:min(680px, calc(100dvh - 86px)) !important;
  min-height:auto !important;
  max-height:calc(100dvh - 86px) !important;
  grid-template-rows:auto auto minmax(0,1fr) auto !important;
  overflow:hidden !important;
  opacity:0 !important;
  transform:translate3d(0,14px,0) scale(.988) !important;
  transition:transform .34s cubic-bezier(.2,.8,.2,1), opacity .24s ease !important;
  will-change:transform,opacity !important;
  backface-visibility:hidden !important;
  scrollbar-gutter:stable !important;
}

html.menu-open body .menu-panel__inner,
html body.menu-open .menu-panel__inner,
html body.masakari-shared-page.menu-open .menu-panel__inner,
html body.menu-open .site-header .menu-panel__inner,
html body.masakari-shared-page.menu-open .site-header .menu-panel__inner{
  opacity:1 !important;
  transform:translate3d(0,0,0) scale(1) !important;
}

html body .menu-panel__bg::before,
html body.masakari-shared-page .menu-panel__bg::before,
html body .site-header .menu-panel__bg::before,
html body.masakari-shared-page .site-header .menu-panel__bg::before{
  opacity:.20 !important;
  animation:masakariMatrixDriftStable 34s linear infinite !important;
  filter:blur(.15px) !important;
}

html body .menu-panel__bg::after,
html body.masakari-shared-page .menu-panel__bg::after,
html body .site-header .menu-panel__bg::after,
html body.masakari-shared-page .site-header .menu-panel__bg::after{
  opacity:.32 !important;
}

html body .menu-panel__inner::after,
html body.masakari-shared-page .menu-panel__inner::after,
html body .site-header .menu-panel__inner::after,
html body.masakari-shared-page .site-header .menu-panel__inner::after{
  animation:none !important;
  opacity:.08 !important;
  height:100% !important;
  background:linear-gradient(115deg, transparent 0%, rgba(18,253,0,.10) 48%, transparent 58%) !important;
}

html body .menu-panel__head,
html body.masakari-shared-page .menu-panel__head,
html body .site-header .menu-panel__head,
html body.masakari-shared-page .site-header .menu-panel__head{
  padding:16px clamp(18px,3vw,30px) 13px !important;
}

html body .menu-panel__brand-logo,
html body.masakari-shared-page .menu-panel__brand-logo,
html body .site-header .menu-panel__brand-logo,
html body.masakari-shared-page .site-header .menu-panel__brand-logo{
  width:clamp(170px,20vw,286px) !important;
  max-width:min(50vw,286px) !important;
}

html body .menu-nav,
html body.masakari-shared-page .menu-nav,
html body .site-header .menu-nav,
html body.masakari-shared-page .site-header .menu-nav{
  min-height:0 !important;
  overflow:visible !important;
  padding:22px clamp(18px,3vw,30px) 18px !important;
  gap:24px !important;
}

html body .menu-nav__featured,
html body.masakari-shared-page .menu-nav__featured,
html body .menu-nav__secondary,
html body.masakari-shared-page .menu-nav__secondary,
html body .site-header .menu-nav__featured,
html body.masakari-shared-page .site-header .menu-nav__featured,
html body .site-header .menu-nav__secondary,
html body.masakari-shared-page .site-header .menu-nav__secondary{
  padding:30px 0 18px !important;
}

html body .menu-nav__featured a,
html body.masakari-shared-page .menu-nav__featured a,
html body .site-header .menu-nav__featured a,
html body.masakari-shared-page .site-header .menu-nav__featured a{
  min-height:120px !important;
  padding:28px 20px 18px !important;
}

html body .menu-nav__featured a.is-primary,
html body.masakari-shared-page .menu-nav__featured a.is-primary,
html body .site-header .menu-nav__featured a.is-primary,
html body.masakari-shared-page .site-header .menu-nav__featured a.is-primary{
  animation:none !important;
  box-shadow:0 0 0 1px rgba(18,253,0,.46) inset,0 0 34px rgba(18,253,0,.14),10px 10px 0 rgba(18,253,0,.20) !important;
}

html body .menu-nav__secondary a,
html body.masakari-shared-page .menu-nav__secondary a,
html body .site-header .menu-nav__secondary a,
html body.masakari-shared-page .site-header .menu-nav__secondary a{
  min-height:60px !important;
  padding:13px 16px !important;
}

html body .menu-title,
html body.masakari-shared-page .menu-title,
html body .site-header .menu-title,
html body.masakari-shared-page .site-header .menu-title{
  font-size:clamp(30px,3vw,46px) !important;
}

html body .menu-title--ai-set,
html body.masakari-shared-page .menu-title--ai-set,
html body .site-header .menu-title--ai-set,
html body.masakari-shared-page .site-header .menu-title--ai-set{
  font-size:clamp(31px,3.15vw,48px) !important;
}

html body .menu-panel__foot,
html body.masakari-shared-page .menu-panel__foot,
html body .site-header .menu-panel__foot,
html body.masakari-shared-page .site-header .menu-panel__foot{
  min-height:66px !important;
  padding:13px clamp(18px,3vw,30px) !important;
}

@media (max-width:960px){
  html body .menu-panel,
  html body.masakari-shared-page .menu-panel,
  html body .site-header .menu-panel,
  html body.masakari-shared-page .site-header .menu-panel{
    padding:72px 10px 10px !important;
    align-items:start !important;
    justify-items:center !important;
  }

  html body .menu-panel__inner,
  html body.masakari-shared-page .menu-panel__inner,
  html body .site-header .menu-panel__inner,
  html body.masakari-shared-page .site-header .menu-panel__inner{
    width:calc(100vw - 20px) !important;
    height:calc(100dvh - 82px) !important;
    max-height:calc(100dvh - 82px) !important;
    overflow:hidden auto !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
    scrollbar-width:thin !important;
    scrollbar-color:rgba(18,253,0,.48) rgba(0,0,0,.22) !important;
  }

  html body .menu-panel__inner::-webkit-scrollbar,
  html body.masakari-shared-page .menu-panel__inner::-webkit-scrollbar{
    width:6px !important;
  }

  html body .menu-panel__inner::-webkit-scrollbar-thumb,
  html body.masakari-shared-page .menu-panel__inner::-webkit-scrollbar-thumb{
    background:rgba(18,253,0,.48) !important;
    border-radius:999px !important;
  }

  html body .menu-nav,
  html body.masakari-shared-page .menu-nav,
  html body .site-header .menu-nav,
  html body.masakari-shared-page .site-header .menu-nav{
    padding:18px 14px 18px !important;
    gap:14px !important;
  }

  html body .menu-nav__featured a,
  html body.masakari-shared-page .menu-nav__featured a,
  html body .site-header .menu-nav__featured a,
  html body.masakari-shared-page .site-header .menu-nav__featured a{
    min-height:92px !important;
    padding:26px 14px 14px !important;
  }

  html body .menu-title,
  html body.masakari-shared-page .menu-title,
  html body .site-header .menu-title,
  html body.masakari-shared-page .site-header .menu-title{
    font-size:clamp(26px,7.4vw,38px) !important;
  }

  html body .menu-title--ai-set,
  html body.masakari-shared-page .menu-title--ai-set,
  html body .site-header .menu-title--ai-set,
  html body.masakari-shared-page .site-header .menu-title--ai-set{
    font-size:clamp(25px,7.1vw,36px) !important;
  }
}

@media (prefers-reduced-motion:reduce){
  html body .menu-panel,
  html body.masakari-shared-page .menu-panel,
  html body .menu-panel__inner,
  html body.masakari-shared-page .menu-panel__inner,
  html body .menu-panel__bg::before,
  html body.masakari-shared-page .menu-panel__bg::before{
    animation:none !important;
    transition:none !important;
  }
}



/* ===== v219 mobile matrix menu layout fix =====
   スマホ時にgridの1fr行へナビが押し込まれ、footer/quick actionsが
   routeカードの上へ重なって見えていたため、mobileだけ自然な縦フローへ変更。
   Matrix/Editorの質感は残しつつ、全リンクが順番通り読める構造に安定化。
========================================================= */
@media (max-width:960px){
  html body .menu-panel,
  html body.masakari-shared-page .menu-panel,
  html body .site-header .menu-panel,
  html body.masakari-shared-page .site-header .menu-panel{
    padding:72px 8px 8px !important;
    align-items:start !important;
    justify-items:center !important;
    overflow:hidden !important;
  }

  html body .menu-panel__inner,
  html body.masakari-shared-page .menu-panel__inner,
  html body .site-header .menu-panel__inner,
  html body.masakari-shared-page .site-header .menu-panel__inner{
    display:block !important;
    width:calc(100vw - 16px) !important;
    height:calc(100dvh - 80px) !important;
    max-height:calc(100dvh - 80px) !important;
    min-height:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    border-radius:16px !important;
    scrollbar-gutter:stable !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
  }

  html body .menu-editor-chrome,
  html body.masakari-shared-page .menu-editor-chrome,
  html body .site-header .menu-editor-chrome,
  html body.masakari-shared-page .site-header .menu-editor-chrome{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    min-height:36px !important;
    padding:0 10px !important;
  }

  html body .menu-editor-dots,
  html body.masakari-shared-page .menu-editor-dots{
    gap:5px !important;
  }

  html body .menu-editor-dots i,
  html body.masakari-shared-page .menu-editor-dots i{
    width:8px !important;
    height:8px !important;
  }

  html body .menu-editor-tabs,
  html body.masakari-shared-page .menu-editor-tabs{
    min-width:0 !important;
    flex:1 1 auto !important;
  }

  html body .menu-editor-tabs span,
  html body.masakari-shared-page .menu-editor-tabs span{
    min-height:24px !important;
    padding:0 8px !important;
    border-radius:8px !important;
    font-size:9px !important;
  }

  html body .menu-panel__head,
  html body.masakari-shared-page .menu-panel__head,
  html body .site-header .menu-panel__head,
  html body.masakari-shared-page .site-header .menu-panel__head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    min-height:0 !important;
    padding:18px 12px 12px !important;
    border-bottom:1px solid rgba(18,253,0,.18) !important;
  }

  html body .menu-panel__head::before,
  html body.masakari-shared-page .menu-panel__head::before,
  html body .site-header .menu-panel__head::before,
  html body.masakari-shared-page .site-header .menu-panel__head::before{
    left:12px !important;
    top:7px !important;
    font-size:8px !important;
    opacity:.72 !important;
  }

  html body .menu-panel__brand,
  html body.masakari-shared-page .menu-panel__brand,
  html body .site-header .menu-panel__brand,
  html body.masakari-shared-page .site-header .menu-panel__brand{
    min-width:0 !important;
    flex:1 1 auto !important;
  }

  html body .menu-panel__brand-logo,
  html body.masakari-shared-page .menu-panel__brand-logo,
  html body .site-header .menu-panel__brand-logo,
  html body.masakari-shared-page .site-header .menu-panel__brand-logo{
    width:clamp(150px,48vw,210px) !important;
    max-width:52vw !important;
  }

  html body .menu-panel__head-label,
  html body.masakari-shared-page .menu-panel__head-label,
  html body .site-header .menu-panel__head-label,
  html body.masakari-shared-page .site-header .menu-panel__head-label{
    flex:0 0 auto !important;
    min-height:26px !important;
    padding:0 9px !important;
    border-radius:999px !important;
    font-size:9px !important;
  }

  html body .menu-nav,
  html body.masakari-shared-page .menu-nav,
  html body .site-header .menu-nav,
  html body.masakari-shared-page .site-header .menu-nav{
    display:block !important;
    min-height:0 !important;
    height:auto !important;
    overflow:visible !important;
    padding:14px 12px 8px !important;
  }

  html body .menu-nav__featured,
  html body.masakari-shared-page .menu-nav__featured,
  html body .menu-nav__secondary,
  html body.masakari-shared-page .menu-nav__secondary,
  html body .site-header .menu-nav__featured,
  html body.masakari-shared-page .site-header .menu-nav__featured,
  html body .site-header .menu-nav__secondary,
  html body.masakari-shared-page .site-header .menu-nav__secondary{
    display:grid !important;
    position:relative !important;
    gap:8px !important;
    padding:22px 0 18px !important;
    margin:0 !important;
    min-height:0 !important;
    height:auto !important;
    overflow:visible !important;
  }

  html body .menu-nav__featured::before,
  html body.masakari-shared-page .menu-nav__featured::before,
  html body .menu-nav__secondary::before,
  html body.masakari-shared-page .menu-nav__secondary::before,
  html body .site-header .menu-nav__featured::before,
  html body.masakari-shared-page .site-header .menu-nav__featured::before,
  html body .site-header .menu-nav__secondary::before,
  html body.masakari-shared-page .site-header .menu-nav__secondary::before{
    top:0 !important;
    left:0 !important;
    font-size:9px !important;
    line-height:1 !important;
    opacity:.86 !important;
  }

  html body .menu-nav__featured::after,
  html body.masakari-shared-page .menu-nav__featured::after,
  html body .menu-nav__secondary::after,
  html body.masakari-shared-page .menu-nav__secondary::after,
  html body .site-header .menu-nav__featured::after,
  html body.masakari-shared-page .site-header .menu-nav__featured::after,
  html body .site-header .menu-nav__secondary::after,
  html body.masakari-shared-page .site-header .menu-nav__secondary::after{
    bottom:3px !important;
    left:0 !important;
    font-size:9px !important;
    opacity:.72 !important;
  }

  html body .menu-nav__featured a,
  html body.masakari-shared-page .menu-nav__featured a,
  html body .site-header .menu-nav__featured a,
  html body.masakari-shared-page .site-header .menu-nav__featured a{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    column-gap:10px !important;
    min-height:84px !important;
    padding:24px 12px 13px !important;
    border-radius:15px !important;
  }

  html body .menu-nav__featured a.is-primary,
  html body.masakari-shared-page .menu-nav__featured a.is-primary,
  html body .site-header .menu-nav__featured a.is-primary,
  html body.masakari-shared-page .site-header .menu-nav__featured a.is-primary{
    min-height:106px !important;
  }

  html body .menu-no,
  html body.masakari-shared-page .menu-no,
  html body .site-header .menu-no,
  html body.masakari-shared-page .site-header .menu-no{
    width:34px !important;
    min-width:34px !important;
    height:30px !important;
    border-radius:10px !important;
    font-size:9px !important;
  }

  html body .menu-popular-badge,
  html body.masakari-shared-page .menu-popular-badge,
  html body .site-header .menu-popular-badge,
  html body.masakari-shared-page .site-header .menu-popular-badge{
    min-height:22px !important;
    padding:0 9px !important;
    font-size:9px !important;
  }

  html body .menu-title,
  html body.masakari-shared-page .menu-title,
  html body .site-header .menu-title,
  html body.masakari-shared-page .site-header .menu-title{
    font-size:clamp(24px,7vw,34px) !important;
    line-height:1.02 !important;
    letter-spacing:-.05em !important;
  }

  html body .menu-title--ai-set,
  html body.masakari-shared-page .menu-title--ai-set,
  html body .site-header .menu-title--ai-set,
  html body.masakari-shared-page .site-header .menu-title--ai-set{
    font-size:clamp(24px,6.8vw,33px) !important;
  }

  html body .menu-nav__secondary,
  html body.masakari-shared-page .menu-nav__secondary,
  html body .site-header .menu-nav__secondary,
  html body.masakari-shared-page .site-header .menu-nav__secondary{
    margin-top:2px !important;
  }

  html body .menu-nav__secondary a,
  html body.masakari-shared-page .menu-nav__secondary a,
  html body .site-header .menu-nav__secondary a,
  html body.masakari-shared-page .site-header .menu-nav__secondary a{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) auto !important;
    column-gap:9px !important;
    min-height:54px !important;
    padding:14px 10px 10px !important;
    border-radius:14px !important;
    font-size:clamp(18px,5.2vw,23px) !important;
    line-height:1.08 !important;
  }

  html body .menu-nav__secondary a::before,
  html body.masakari-shared-page .menu-nav__secondary a::before,
  html body .site-header .menu-nav__secondary a::before,
  html body.masakari-shared-page .site-header .menu-nav__secondary a::before{
    top:6px !important;
    left:11px !important;
    font-size:7px !important;
  }

  html body .menu-nav__secondary a span,
  html body.masakari-shared-page .menu-nav__secondary a span,
  html body .site-header .menu-nav__secondary a span,
  html body.masakari-shared-page .site-header .menu-nav__secondary a span{
    width:34px !important;
    min-width:34px !important;
    height:28px !important;
    border-radius:9px !important;
    font-size:9px !important;
  }

  html body .menu-nav__secondary a::after,
  html body.masakari-shared-page .menu-nav__secondary a::after,
  html body .site-header .menu-nav__secondary a::after,
  html body.masakari-shared-page .site-header .menu-nav__secondary a::after{
    width:30px !important;
    height:30px !important;
    border-radius:10px !important;
    font-size:16px !important;
  }

  html body .menu-panel__foot,
  html body.masakari-shared-page .menu-panel__foot,
  html body .site-header .menu-panel__foot,
  html body.masakari-shared-page .site-header .menu-panel__foot{
    position:relative !important;
    z-index:3 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    min-height:0 !important;
    margin:0 !important;
    padding:18px 12px 14px !important;
    border-top:1px solid rgba(18,253,0,.22) !important;
    background:linear-gradient(180deg, rgba(0,0,0,.24), rgba(18,253,0,.06)) !important;
  }

  html body .menu-panel__foot::before,
  html body.masakari-shared-page .menu-panel__foot::before,
  html body .site-header .menu-panel__foot::before,
  html body.masakari-shared-page .site-header .menu-panel__foot::before{
    display:block !important;
    position:static !important;
    margin:0 0 2px !important;
    font-size:9px !important;
    line-height:1 !important;
  }

  html body .menu-panel__foot .menu-social,
  html body.masakari-shared-page .menu-panel__foot .menu-social,
  html body .site-header .menu-panel__foot .menu-social,
  html body.masakari-shared-page .site-header .menu-panel__foot .menu-social{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    width:100% !important;
    margin:0 !important;
    justify-content:stretch !important;
  }

  html body .menu-panel .masakari-social-link,
  html body.masakari-shared-page .menu-panel .masakari-social-link,
  html body .site-header .menu-panel .masakari-social-link,
  html body.masakari-shared-page .site-header .menu-panel .masakari-social-link{
    width:100% !important;
    min-height:38px !important;
    justify-content:center !important;
    padding:0 8px !important;
    border-radius:11px !important;
    overflow:hidden !important;
  }

  html body .menu-panel .masakari-social-link .social-label,
  html body.masakari-shared-page .menu-panel .masakari-social-link .social-label{
    font-size:10px !important;
    line-height:1 !important;
  }

  html body .menu-panel .menu-cta,
  html body.masakari-shared-page .menu-panel .menu-cta,
  html body .site-header .menu-panel .menu-cta,
  html body.masakari-shared-page .site-header .menu-panel .menu-cta{
    width:100% !important;
    min-height:44px !important;
    border-radius:12px !important;
    margin:0 !important;
  }
}

@media (max-width:380px){
  html body .menu-panel,
  html body.masakari-shared-page .menu-panel,
  html body .site-header .menu-panel,
  html body.masakari-shared-page .site-header .menu-panel{
    padding:68px 6px 6px !important;
  }

  html body .menu-panel__inner,
  html body.masakari-shared-page .menu-panel__inner,
  html body .site-header .menu-panel__inner,
  html body.masakari-shared-page .site-header .menu-panel__inner{
    width:calc(100vw - 12px) !important;
    height:calc(100dvh - 74px) !important;
    max-height:calc(100dvh - 74px) !important;
  }

  html body .menu-title,
  html body.masakari-shared-page .menu-title,
  html body .site-header .menu-title,
  html body.masakari-shared-page .site-header .menu-title{
    font-size:24px !important;
  }

  html body .menu-title--ai-set,
  html body.masakari-shared-page .menu-title--ai-set,
  html body .site-header .menu-title--ai-set,
  html body.masakari-shared-page .site-header .menu-title--ai-set{
    font-size:23px !important;
  }
}


/* ===== v219 mobile matrix menu layout repair =====
   スマホ時に grid の 1fr 行がフッターを押し上げ、
   routes と quick actions が重なって見える問題を修正。
   モバイルではエディタ窓全体を自然な縦積み + 内部スクロールに変更する。
========================================================= */
@media (max-width: 640px){
  html body .menu-panel,
  html body.masakari-shared-page .menu-panel,
  html body .site-header .menu-panel,
  html body.masakari-shared-page .site-header .menu-panel{
    padding:64px 8px 8px !important;
    align-items:start !important;
    justify-items:center !important;
    overflow:hidden !important;
  }

  html body .menu-panel__inner,
  html body.masakari-shared-page .menu-panel__inner,
  html body .site-header .menu-panel__inner,
  html body.masakari-shared-page .site-header .menu-panel__inner{
    display:block !important;
    width:calc(100vw - 16px) !important;
    height:calc(100dvh - 72px) !important;
    max-height:calc(100dvh - 72px) !important;
    min-height:0 !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
    border-radius:16px !important;
    scrollbar-width:thin !important;
    scrollbar-color:rgba(18,253,0,.58) rgba(0,0,0,.24) !important;
  }

  html body .menu-panel__inner::-webkit-scrollbar,
  html body.masakari-shared-page .menu-panel__inner::-webkit-scrollbar{
    width:5px !important;
  }

  html body .menu-panel__inner::-webkit-scrollbar-track,
  html body.masakari-shared-page .menu-panel__inner::-webkit-scrollbar-track{
    background:rgba(0,0,0,.24) !important;
  }

  html body .menu-panel__inner::-webkit-scrollbar-thumb,
  html body.masakari-shared-page .menu-panel__inner::-webkit-scrollbar-thumb{
    background:rgba(18,253,0,.58) !important;
    border-radius:999px !important;
  }

  html body .menu-editor-chrome,
  html body.masakari-shared-page .menu-editor-chrome,
  html body .site-header .menu-editor-chrome,
  html body.masakari-shared-page .site-header .menu-editor-chrome{
    position:sticky !important;
    top:0 !important;
    z-index:6 !important;
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    min-height:40px !important;
    padding:0 10px !important;
    gap:8px !important;
    background:linear-gradient(180deg, rgba(5,16,8,.98), rgba(1,7,3,.96)) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
  }

  html body .menu-editor-status,
  html body.masakari-shared-page .menu-editor-status{
    display:none !important;
  }

  html body .menu-editor-tabs,
  html body.masakari-shared-page .menu-editor-tabs{
    justify-content:flex-start !important;
  }

  html body .menu-editor-tabs span,
  html body.masakari-shared-page .menu-editor-tabs span{
    min-height:26px !important;
    padding:0 9px !important;
    font-size:9px !important;
  }

  html body .menu-editor-tabs span:not(.is-active),
  html body.masakari-shared-page .menu-editor-tabs span:not(.is-active){
    display:none !important;
  }

  html body .menu-panel__head,
  html body.masakari-shared-page .menu-panel__head,
  html body .site-header .menu-panel__head,
  html body.masakari-shared-page .site-header .menu-panel__head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:82px !important;
    padding:16px 14px 12px !important;
    border-bottom:1px solid rgba(18,253,0,.18) !important;
  }

  html body .menu-panel__head::before,
  html body.masakari-shared-page .menu-panel__head::before{
    left:14px !important;
    top:8px !important;
    font-size:8px !important;
    opacity:.72 !important;
  }

  html body .menu-panel__brand,
  html body.masakari-shared-page .menu-panel__brand,
  html body .site-header .menu-panel__brand,
  html body.masakari-shared-page .site-header .menu-panel__brand{
    min-width:0 !important;
    max-width:72% !important;
  }

  html body .menu-panel__brand-logo,
  html body.masakari-shared-page .menu-panel__brand-logo,
  html body .site-header .menu-panel__brand-logo,
  html body.masakari-shared-page .site-header .menu-panel__brand-logo{
    width:clamp(150px, 48vw, 196px) !important;
    max-width:100% !important;
  }

  html body .menu-panel__head-label,
  html body.masakari-shared-page .menu-panel__head-label{
    min-height:28px !important;
    padding:0 9px !important;
    border-radius:999px !important;
    font-size:9px !important;
    white-space:nowrap !important;
  }

  html body .menu-nav,
  html body.masakari-shared-page .menu-nav,
  html body .site-header .menu-nav,
  html body.masakari-shared-page .site-header .menu-nav{
    display:block !important;
    padding:16px 12px 0 !important;
    overflow:visible !important;
  }

  html body .menu-nav__featured,
  html body.masakari-shared-page .menu-nav__featured,
  html body .site-header .menu-nav__featured,
  html body.masakari-shared-page .site-header .menu-nav__featured{
    display:grid !important;
    gap:10px !important;
    padding:26px 0 22px !important;
    margin:0 0 12px !important;
  }

  html body .menu-nav__secondary,
  html body.masakari-shared-page .menu-nav__secondary,
  html body .site-header .menu-nav__secondary,
  html body.masakari-shared-page .site-header .menu-nav__secondary{
    display:grid !important;
    gap:10px !important;
    padding:26px 0 30px !important;
    margin:0 !important;
  }

  html body .menu-nav__featured::before,
  html body.masakari-shared-page .menu-nav__featured::before,
  html body .menu-nav__secondary::before,
  html body.masakari-shared-page .menu-nav__secondary::before,
  html body .site-header .menu-nav__featured::before,
  html body.masakari-shared-page .site-header .menu-nav__featured::before,
  html body .site-header .menu-nav__secondary::before,
  html body.masakari-shared-page .site-header .menu-nav__secondary::before{
    top:0 !important;
    font-size:10px !important;
    line-height:1 !important;
  }

  html body .menu-nav__featured::after,
  html body.masakari-shared-page .menu-nav__featured::after,
  html body .menu-nav__secondary::after,
  html body.masakari-shared-page .menu-nav__secondary::after,
  html body .site-header .menu-nav__featured::after,
  html body.masakari-shared-page .site-header .menu-nav__featured::after,
  html body .site-header .menu-nav__secondary::after,
  html body.masakari-shared-page .site-header .menu-nav__secondary::after{
    bottom:6px !important;
    font-size:10px !important;
    pointer-events:none !important;
  }

  html body .menu-nav__featured a,
  html body.masakari-shared-page .menu-nav__featured a,
  html body .site-header .menu-nav__featured a,
  html body.masakari-shared-page .site-header .menu-nav__featured a{
    grid-template-columns:auto minmax(0,1fr) !important;
    gap:12px !important;
    min-height:86px !important;
    padding:27px 12px 13px !important;
    border-radius:15px !important;
  }

  html body .menu-nav__featured a.is-primary,
  html body.masakari-shared-page .menu-nav__featured a.is-primary,
  html body .site-header .menu-nav__featured a.is-primary,
  html body.masakari-shared-page .site-header .menu-nav__featured a.is-primary{
    min-height:112px !important;
  }

  html body .menu-nav__featured a::before,
  html body.masakari-shared-page .menu-nav__featured a::before,
  html body .site-header .menu-nav__featured a::before,
  html body.masakari-shared-page .site-header .menu-nav__featured a::before{
    left:12px !important;
    top:11px !important;
    font-size:8px !important;
  }

  html body .menu-no,
  html body.masakari-shared-page .menu-no,
  html body .site-header .menu-no,
  html body.masakari-shared-page .site-header .menu-no{
    min-width:38px !important;
    height:32px !important;
    border-radius:10px !important;
    font-size:10px !important;
  }

  html body .menu-main,
  html body.masakari-shared-page .menu-main,
  html body .site-header .menu-main,
  html body.masakari-shared-page .site-header .menu-main{
    gap:6px !important;
  }

  html body .menu-main::before,
  html body.masakari-shared-page .menu-main::before,
  html body .site-header .menu-main::before,
  html body.masakari-shared-page .site-header .menu-main::before{
    font-size:8px !important;
  }

  html body .menu-popular-badge,
  html body.masakari-shared-page .menu-popular-badge,
  html body .site-header .menu-popular-badge,
  html body.masakari-shared-page .site-header .menu-popular-badge{
    min-height:24px !important;
    padding:0 9px !important;
    font-size:9px !important;
  }

  html body .menu-title,
  html body.masakari-shared-page .menu-title,
  html body .site-header .menu-title,
  html body.masakari-shared-page .site-header .menu-title{
    font-size:clamp(24px, 7vw, 32px) !important;
    line-height:1.02 !important;
    letter-spacing:-.045em !important;
  }

  html body .menu-title--ai-set,
  html body.masakari-shared-page .menu-title--ai-set,
  html body .site-header .menu-title--ai-set,
  html body.masakari-shared-page .site-header .menu-title--ai-set{
    font-size:clamp(24px, 7.2vw, 34px) !important;
    line-height:1.0 !important;
  }

  html body .menu-arrow,
  html body.masakari-shared-page .menu-arrow,
  html body .site-header .menu-arrow,
  html body.masakari-shared-page .site-header .menu-arrow{
    display:none !important;
  }

  html body .menu-nav__secondary a,
  html body.masakari-shared-page .menu-nav__secondary a,
  html body .site-header .menu-nav__secondary a,
  html body.masakari-shared-page .site-header .menu-nav__secondary a{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) auto !important;
    min-height:56px !important;
    padding:14px 10px 12px !important;
    column-gap:10px !important;
    border-radius:14px !important;
    font-size:clamp(19px,5.6vw,24px) !important;
    line-height:1.08 !important;
  }

  html body .menu-nav__secondary a::before,
  html body.masakari-shared-page .menu-nav__secondary a::before,
  html body .site-header .menu-nav__secondary a::before,
  html body.masakari-shared-page .site-header .menu-nav__secondary a::before{
    left:11px !important;
    top:7px !important;
    font-size:8px !important;
  }

  html body .menu-nav__secondary a span,
  html body.masakari-shared-page .menu-nav__secondary a span,
  html body .site-header .menu-nav__secondary a span,
  html body.masakari-shared-page .site-header .menu-nav__secondary a span{
    width:36px !important;
    min-width:36px !important;
    height:30px !important;
    border-radius:10px !important;
    font-size:10px !important;
  }

  html body .menu-nav__secondary a::after,
  html body.masakari-shared-page .menu-nav__secondary a::after,
  html body .site-header .menu-nav__secondary a::after,
  html body.masakari-shared-page .site-header .menu-nav__secondary a::after{
    width:32px !important;
    height:32px !important;
    border-radius:10px !important;
    font-size:17px !important;
  }

  html body .menu-panel__foot,
  html body.masakari-shared-page .menu-panel__foot,
  html body .site-header .menu-panel__foot,
  html body.masakari-shared-page .site-header .menu-panel__foot{
    position:relative !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    min-height:0 !important;
    margin:0 !important;
    padding:24px 12px 14px !important;
    border-top:1px solid rgba(18,253,0,.18) !important;
    background:linear-gradient(180deg, rgba(0,0,0,.08), rgba(18,253,0,.05)) !important;
    z-index:3 !important;
  }

  html body .menu-panel__foot::before,
  html body.masakari-shared-page .menu-panel__foot::before,
  html body .site-header .menu-panel__foot::before,
  html body.masakari-shared-page .site-header .menu-panel__foot::before{
    content:'terminal: quick_actions $' !important;
    display:block !important;
    width:100% !important;
    font-size:10px !important;
    margin:0 !important;
  }

  html body .menu-panel__foot .menu-social,
  html body.masakari-shared-page .menu-panel__foot .menu-social,
  html body .site-header .menu-panel__foot .menu-social,
  html body.masakari-shared-page .site-header .menu-panel__foot .menu-social{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    width:100% !important;
    margin:0 !important;
    justify-content:stretch !important;
  }

  html body .menu-panel .masakari-social-link,
  html body.masakari-shared-page .menu-panel .masakari-social-link,
  html body .site-header .menu-panel .masakari-social-link,
  html body.masakari-shared-page .site-header .menu-panel .masakari-social-link{
    width:100% !important;
    min-width:0 !important;
    min-height:40px !important;
    padding:0 8px !important;
    justify-content:center !important;
    border-radius:12px !important;
    overflow:hidden !important;
  }

  html body .menu-panel .masakari-social-link .social-label,
  html body.masakari-shared-page .menu-panel .masakari-social-link .social-label{
    font-size:11px !important;
    white-space:nowrap !important;
  }

  html body .menu-panel .menu-cta,
  html body.masakari-shared-page .menu-panel .menu-cta,
  html body .site-header .menu-panel .menu-cta,
  html body.masakari-shared-page .site-header .menu-panel .menu-cta{
    width:100% !important;
    min-height:48px !important;
    padding:0 12px !important;
    border-radius:14px !important;
    box-shadow:0 0 28px rgba(18,253,0,.18),5px 5px 0 rgba(0,0,0,.86) !important;
  }
}

@media (max-width: 380px){
  html body .menu-title,
  html body.masakari-shared-page .menu-title,
  html body .site-header .menu-title,
  html body.masakari-shared-page .site-header .menu-title{
    font-size:22px !important;
  }

  html body .menu-title--ai-set,
  html body.masakari-shared-page .menu-title--ai-set,
  html body .site-header .menu-title--ai-set,
  html body.masakari-shared-page .site-header .menu-title--ai-set{
    font-size:23px !important;
  }

  html body .menu-nav__secondary a,
  html body.masakari-shared-page .menu-nav__secondary a{
    font-size:18px !important;
  }
}


/* v219b: keep all mobile menu parts inside their intended size */
html body .menu-panel,
html body .menu-panel *,
html body.masakari-shared-page .menu-panel,
html body.masakari-shared-page .menu-panel *,
html body .site-header .menu-panel,
html body .site-header .menu-panel *,
html body.masakari-shared-page .site-header .menu-panel,
html body.masakari-shared-page .site-header .menu-panel *{
  box-sizing:border-box !important;
}


/* ===== v220 mobile menu bottom CTA visibility fix =====
   スマホ縦幅で最下部のLINE CTAがブラウザ下端に隠れないよう、
   svhベースの高さ計算・safe-area分の余白・終端スクロール余白を追加。
========================================================= */
@media (max-width:960px){
  html body .menu-panel,
  html body.masakari-shared-page .menu-panel,
  html body .site-header .menu-panel,
  html body.masakari-shared-page .site-header .menu-panel{
    padding-top:calc(64px + env(safe-area-inset-top,0px)) !important;
    padding-right:8px !important;
    padding-left:8px !important;
    padding-bottom:calc(16px + env(safe-area-inset-bottom,0px)) !important;
  }

  html body .menu-panel__inner,
  html body.masakari-shared-page .menu-panel__inner,
  html body .site-header .menu-panel__inner,
  html body.masakari-shared-page .site-header .menu-panel__inner{
    height:calc(100svh - 84px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)) !important;
    max-height:calc(100svh - 84px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)) !important;
    min-height:0 !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    scroll-padding-bottom:calc(108px + env(safe-area-inset-bottom,0px)) !important;
    overscroll-behavior:contain !important;
  }

  html body .menu-panel__foot,
  html body.masakari-shared-page .menu-panel__foot,
  html body .site-header .menu-panel__foot,
  html body.masakari-shared-page .site-header .menu-panel__foot{
    padding-top:22px !important;
    padding-right:10px !important;
    padding-left:10px !important;
    padding-bottom:calc(24px + env(safe-area-inset-bottom,0px)) !important;
    margin-bottom:0 !important;
  }

  html body .menu-panel .menu-cta,
  html body.masakari-shared-page .menu-panel .menu-cta,
  html body .site-header .menu-panel .menu-cta,
  html body.masakari-shared-page .site-header .menu-panel .menu-cta{
    min-height:46px !important;
    margin-bottom:0 !important;
    transform:none !important;
  }
}

@media (max-width:420px){
  html body .menu-panel,
  html body.masakari-shared-page .menu-panel,
  html body .site-header .menu-panel,
  html body.masakari-shared-page .site-header .menu-panel{
    padding-top:calc(58px + env(safe-area-inset-top,0px)) !important;
    padding-bottom:calc(18px + env(safe-area-inset-bottom,0px)) !important;
  }

  html body .menu-panel__inner,
  html body.masakari-shared-page .menu-panel__inner,
  html body .site-header .menu-panel__inner,
  html body.masakari-shared-page .site-header .menu-panel__inner{
    height:calc(100svh - 76px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)) !important;
    max-height:calc(100svh - 76px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)) !important;
  }

  html body .menu-panel__foot,
  html body.masakari-shared-page .menu-panel__foot,
  html body .site-header .menu-panel__foot,
  html body.masakari-shared-page .site-header .menu-panel__foot{
    gap:10px !important;
    padding-bottom:calc(28px + env(safe-area-inset-bottom,0px)) !important;
  }
}

@media (max-width:380px){
  html body .menu-panel__foot,
  html body.masakari-shared-page .menu-panel__foot,
  html body .site-header .menu-panel__foot,
  html body.masakari-shared-page .site-header .menu-panel__foot{
    padding-bottom:calc(34px + env(safe-area-inset-bottom,0px)) !important;
  }
}

/* ===== v234 mobile sticky LINE CTA + menu close visibility cleanup =====
   - スマホ固定LINE CTAは親ページ側で表示するため、iframe内CTAは削除済み。
   - CLOSE/MENUの文字が暗背景で読めるよう、展開時は蛍光緑で固定。
   - 旧v233ブロックの競合を避けるため、このブロックを最終定義にする。
========================================================= */
html body.menu-open .site-header .menu-toggle,
html body.menu-open header.site-header .menu-toggle,
html body.masakari-shared-page.menu-open .site-header .menu-toggle{
  background:#050805 !important;
  color:#12fd00 !important;
  border-color:#12fd00 !important;
  box-shadow:0 0 0 1px rgba(18,253,0,.28) inset, 7px 7px 0 #12fd00 !important;
}

html body.menu-open .site-header .menu-toggle__text,
html body.menu-open header.site-header .menu-toggle__text,
html body.masakari-shared-page.menu-open .site-header .menu-toggle__text{
  color:#12fd00 !important;
}

html body.menu-open .site-header .menu-toggle__text::after,
html body.menu-open header.site-header .menu-toggle__text::after,
html body.masakari-shared-page.menu-open .site-header .menu-toggle__text::after{
  color:#12fd00 !important;
  text-shadow:0 0 12px rgba(18,253,0,.75) !important;
  opacity:1 !important;
}

html body.menu-open .site-header .menu-toggle__bars i,
html body.menu-open header.site-header .menu-toggle__bars i,
html body.masakari-shared-page.menu-open .site-header .menu-toggle__bars i{
  background:#12fd00 !important;
  box-shadow:0 0 10px rgba(18,253,0,.64) !important;
}

.mobile-line-sticky{
  display:none !important;
}

@media (max-width:760px){
  html{
    scroll-padding-bottom:calc(92px + env(safe-area-inset-bottom,0px)) !important;
  }

  body{
    padding-bottom:calc(92px + env(safe-area-inset-bottom,0px)) !important;
  }

  .mobile-line-sticky,
  body .mobile-line-sticky,
  html body .mobile-line-sticky{
    box-sizing:border-box !important;
    position:fixed !important;
    left:14px !important;
    right:14px !important;
    bottom:calc(12px + env(safe-area-inset-bottom,0px)) !important;
    z-index:2147483640 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    width:auto !important;
    max-width:calc(100vw - 28px) !important;
    min-width:0 !important;
    min-height:54px !important;
    height:54px !important;
    padding:0 18px !important;
    margin:0 !important;
    border:1.5px solid #080a07 !important;
    border-radius:999px !important;
    background:#12fd00 !important;
    color:#080a07 !important;
    box-shadow:0 0 0 1px rgba(255,255,255,.25) inset, 0 8px 0 #080a07, 0 0 30px rgba(18,253,0,.45) !important;
    opacity:1 !important;
    visibility:visible !important;
    text-decoration:none !important;
    text-align:center !important;
    font-family:Inter,"Noto Sans JP",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
    font-size:15px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.06em !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    pointer-events:auto !important;
    cursor:pointer !important;
    transform:translate3d(0,0,0) !important;
    isolation:isolate !important;
    -webkit-tap-highlight-color:transparent !important;
  }

  .mobile-line-sticky::before,
  body .mobile-line-sticky::before,
  html body .mobile-line-sticky::before{
    content:"" !important;
    display:block !important;
    flex:0 0 auto !important;
    width:10px !important;
    height:10px !important;
    border-radius:999px !important;
    background:#080a07 !important;
    box-shadow:0 0 0 5px rgba(8,10,7,.10), 0 0 16px rgba(8,10,7,.20) !important;
  }

  .mobile-line-sticky::after,
  body .mobile-line-sticky::after,
  html body .mobile-line-sticky::after{
    content:"↗" !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 24px !important;
    width:24px !important;
    height:24px !important;
    border-radius:999px !important;
    background:#080a07 !important;
    color:#12fd00 !important;
    font-size:14px !important;
    line-height:1 !important;
    font-weight:900 !important;
  }

  .mobile-line-sticky__text,
  body .mobile-line-sticky__text,
  html body .mobile-line-sticky__text{
    display:block !important;
    flex:0 1 auto !important;
    min-width:0 !important;
    max-width:100% !important;
    color:inherit !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .mobile-line-sticky:active,
  body .mobile-line-sticky:active,
  html body .mobile-line-sticky:active{
    transform:translate3d(0,4px,0) !important;
    box-shadow:0 0 0 1px rgba(255,255,255,.25) inset, 0 4px 0 #080a07, 0 0 20px rgba(18,253,0,.30) !important;
  }

  body.menu-open .site-header .menu-panel__inner,
  body.menu-open .menu-panel .menu-panel__inner,
  html body.menu-open .site-header .menu-panel__inner,
  html body.menu-open .menu-panel .menu-panel__inner{
    padding-bottom:calc(108px + env(safe-area-inset-bottom,0px)) !important;
    scroll-padding-bottom:calc(124px + env(safe-area-inset-bottom,0px)) !important;
  }

  body.menu-open .site-header .menu-panel__foot .menu-cta,
  body.menu-open .menu-panel .menu-panel__foot .menu-cta,
  html body.menu-open .site-header .menu-panel__foot .menu-cta,
  html body.menu-open .menu-panel .menu-panel__foot .menu-cta{
    display:none !important;
  }
}

@media (max-width:380px){
  .mobile-line-sticky,
  body .mobile-line-sticky,
  html body .mobile-line-sticky{
    left:10px !important;
    right:10px !important;
    max-width:calc(100vw - 20px) !important;
    min-height:52px !important;
    height:52px !important;
    padding:0 14px !important;
    font-size:13px !important;
    gap:8px !important;
  }

  .mobile-line-sticky::before,
  body .mobile-line-sticky::before,
  html body .mobile-line-sticky::before{
    width:8px !important;
    height:8px !important;
  }

  .mobile-line-sticky::after,
  body .mobile-line-sticky::after,
  html body .mobile-line-sticky::after{
    flex-basis:22px !important;
    width:22px !important;
    height:22px !important;
    font-size:13px !important;
  }
}
