:root{--paper:#f7f3ea;--ink:#132522;--green:#173f3a;--card:#fffdf8;--accent:#c95f35;--muted:#66736f;--line:#ded8cb;--gh-font-heading:Georgia,serif;--gh-font-body:"Avenir Next",Avenir,"Segoe UI",sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:var(--gh-font-body)}a{color:inherit}.map-home{position:fixed;inset:0;overflow:hidden;background:#dfe9e3}.travel-map{width:100%;height:100%}.leaflet-container{font-family:inherit}.leaflet-control-attribution{font-size:10px}.numbered-star-wrap{background:transparent!important;border:0!important}.numbered-star{display:grid;width:44px;height:44px;place-items:center;background:var(--accent);clip-path:polygon(50% 0,61% 34%,98% 35%,68% 56%,79% 93%,50% 71%,21% 93%,32% 56%,2% 35%,39% 34%);filter:drop-shadow(0 3px 4px rgba(17,40,36,.35));color:#fff}.numbered-star b{display:block;padding-top:1px;font-size:11px;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.45)}.map-reset{position:fixed;right:1rem;top:1rem;z-index:500;padding:.7rem 1rem;border:1px solid rgba(255,255,255,.85);border-radius:999px;background:rgba(255,253,248,.96);box-shadow:0 8px 25px rgba(17,40,36,.18);color:var(--green);font:inherit;font-weight:750;cursor:pointer}.nhk-menu{position:fixed;z-index:600;top:1rem;left:1rem;color:var(--ink)}.nhk-menu>summary{list-style:none;display:flex;align-items:center;gap:.78rem;width:21rem;min-height:5.25rem;padding:.85rem 1.05rem;border:1px solid rgba(255,255,255,.9);border-radius:1.3rem;background:#fffdf8;box-shadow:0 8px 25px rgba(17,40,36,.18);cursor:pointer;user-select:none}.nhk-menu>summary::-webkit-details-marker{display:none}.nhk-menu>summary:focus-visible{outline:3px solid rgba(201,95,53,.35);outline-offset:3px}.nhk-menu-icon{position:relative;display:inline-block;width:1.55rem;height:1.55rem;flex:0 0 1.55rem}.nhk-menu-icon span{position:absolute;left:.28rem;width:1.05rem;height:.18rem;border-radius:999px;background:var(--accent)}.nhk-menu-icon span:nth-child(1){top:.28rem}.nhk-menu-icon span:nth-child(2){top:.69rem}.nhk-menu-icon span:nth-child(3){top:1.1rem}.nhk-menu-icon span:before{content:"";position:absolute;left:-.28rem;top:50%;width:.34rem;height:.34rem;transform:translateY(-50%);border:2px solid var(--accent);border-radius:50%;background:var(--card)}.nhk-menu-copy{min-width:0;display:block;flex:1}.nhk-menu-copy strong{display:block;font-family:var(--gh-font-heading);font-size:1.48rem;line-height:1.05;white-space:nowrap}.nhk-menu-copy small{display:block;margin-top:.34rem;color:var(--muted);font-size:.76rem;line-height:1.15;white-space:nowrap}.nhk-menu-chevron{font-size:1.45rem;font-weight:800}.nhk-menu[open] .nhk-menu-chevron{transform:rotate(180deg)}.nhk-menu-panel{display:grid;gap:.35rem;width:21rem;margin-top:.55rem;padding:.45rem;border:1px solid rgba(23,63,58,.12);border-radius:1.1rem;background:rgba(255,253,248,.99);box-shadow:0 14px 38px rgba(17,40,36,.24)}.nhk-menu-link{display:block;width:100%;padding:.8rem .9rem;border:0;border-radius:.8rem;background:transparent;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer}.nhk-menu-link:hover,.nhk-menu-link:focus-visible{background:rgba(23,63,58,.07);outline:none}.nhk-menu-link strong{display:block;color:var(--green);font-size:.98rem}.nhk-menu-link span{display:block;margin-top:.18rem;color:var(--muted);font-size:.78rem;line-height:1.3}.location-drawer{position:fixed;z-index:700;top:0;right:0;width:min(42rem,92vw);height:100%;transform:translateX(102%);transition:transform .28s ease;background:var(--card);box-shadow:-12px 0 45px rgba(17,40,36,.24)}.location-drawer.is-open{transform:translateX(0)}.drawer-close{position:absolute;z-index:2;top:.8rem;right:.9rem;width:2.7rem;height:2.7rem;border:0;border-radius:50%;background:rgba(247,243,234,.94);color:var(--green);font-size:2rem;line-height:1;cursor:pointer}.drawer-scroll{height:100%;overflow:auto;padding:3.5rem clamp(1.2rem,5vw,3.4rem) 3rem}.drawer-kicker{margin:0;color:var(--accent);font-size:.74rem;font-weight:850;letter-spacing:.16em}.drawer-title{margin:.3rem 0 0;font-family:var(--gh-font-heading);font-size:clamp(2.2rem,7vw,4.5rem);line-height:1}.drawer-region{margin:.65rem 0 2rem;color:var(--muted);font-size:1rem}.drawer-content{padding:0}.drawer-permalink,.back-map,.article-footer a{display:inline-block;margin-top:1.5rem;padding:.72rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--green);font-weight:750;text-decoration:none}.location-list{position:fixed;z-index:800;inset:0;display:none;padding:1rem;background:rgba(19,37,34,.48);backdrop-filter:blur(4px)}.location-list.is-open{display:grid;place-items:center}.location-list-card{width:min(38rem,100%);max-height:calc(100vh - 2rem);overflow:auto;border-radius:1.35rem;background:var(--card);box-shadow:0 18px 55px rgba(0,0,0,.28)}.location-list-heading{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;padding:1.2rem 1.25rem;border-bottom:1px solid var(--line);background:var(--card)}.location-list-heading p{margin:0;color:var(--accent);font-size:.7rem;font-weight:850;letter-spacing:.15em}.location-list-heading h2{margin:.15rem 0 0;font-family:var(--gh-font-heading);font-size:2rem}.location-list-heading button{width:2.5rem;height:2.5rem;border:0;border-radius:50%;background:var(--paper);font-size:1.8rem;cursor:pointer}.location-list ol{list-style:none;margin:0;padding:.5rem}.location-list li button{display:flex;width:100%;align-items:center;gap:.8rem;padding:.7rem;border:0;border-radius:.8rem;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.location-list li button:hover{background:var(--paper)}.list-number{display:grid;flex:0 0 2.2rem;height:2.2rem;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-size:.78rem;font-weight:850}.location-list strong,.location-list small{display:block}.location-list small{margin-top:.1rem;color:var(--muted)}.map-error{position:fixed;z-index:900;inset:auto 1rem 1rem;padding:1rem;background:var(--card)}.journal-header,.article-header{max-width:72rem;margin:0 auto;padding:3rem 1.25rem 1.5rem}.journal-header{display:flex;align-items:flex-start;gap:2rem}.journal-header p,.article-header>p{margin:.35rem 0;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.14em}.journal-header h1,.article-header h1{margin:.25rem 0;font-family:var(--gh-font-heading);font-size:clamp(2.2rem,7vw,5rem);line-height:1}.post-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1.25rem;max-width:72rem;margin:0 auto;padding:1rem 1.25rem 4rem}.post-card{overflow:hidden;border:1px solid var(--line);border-radius:1.2rem;background:var(--card);box-shadow:0 12px 32px rgba(17,40,36,.08)}.post-card a{text-decoration:none}.post-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.post-card-copy{padding:1.1rem}.post-card-copy h2{margin:.35rem 0 .55rem;font-family:var(--gh-font-heading);font-size:1.65rem}.post-card-copy div{color:var(--muted);line-height:1.55}.empty-state{padding:2rem;border:1px dashed #aebbb6;border-radius:1rem;color:var(--muted)}.article-header{max-width:50rem}.article-header .back-map{margin:0 0 2.5rem}.feature-image{max-width:72rem;margin:0 auto 2rem;padding:0 1.25rem}.feature-image img{display:block;width:100%;max-height:75vh;border-radius:1.2rem;object-fit:contain;background:#10211e}.feature-image figcaption{margin-top:.5rem;color:var(--muted);text-align:center}.article-footer{max-width:46rem;margin:0 auto;padding:0 1.25rem 4rem}@media(max-width:700px){.nhk-menu{top:.65rem;left:.65rem}.nhk-menu>summary{width:min(18.5rem,calc(100vw - 5rem));min-height:4.5rem;padding:.7rem .85rem}.nhk-menu-copy strong{font-size:1.3rem}.nhk-menu-copy small{font-size:.68rem}.nhk-menu-panel{width:min(18.5rem,calc(100vw - 1.3rem))}.map-reset{top:.65rem;right:.65rem;padding:.62rem .78rem;font-size:.8rem}.location-drawer{top:auto;bottom:0;width:100%;height:min(78vh,48rem);transform:translateY(102%);border-radius:1.2rem 1.2rem 0 0}.location-drawer.is-open{transform:translateY(0)}.drawer-scroll{padding-top:3.3rem}.journal-header{display:block;padding-top:1.5rem}.journal-header .back-map{margin-bottom:2rem}}

.nhk-signin {
  position: fixed;
  top: 120px;
  left: 16px;
  z-index: 1000;
  display: inline-block;
  padding: 8px 18px;
  background: #fffdf8;
  color: #173f3a;
  border-radius: 18px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 2px 10px rgba(0,0,0,.12);
}
