/* The graph is an isolated working surface; other prototype routes stay unchanged. */
.main:has(.network-width) { padding: 0; background: #fff; }
.page.network-width { width: 100%; max-width: none; margin: 0; }
.network-map { --nm-ink: #162b40; --nm-line: #e7e7e7; color: var(--nm-ink); background: #fff; height: calc(100dvh - 70px); min-height: 0; display: flex; flex-direction: column; }
.nm-header, .nm-filters, .nm-status { flex-shrink: 0; }
.network-map button, .network-map input { font: inherit; }
.nm-header { padding: 18px 26px 12px; display: flex; align-items: center; gap: 18px; }
.nm-heading { flex: 1; }
.nm-heading h1 { margin: 0; font-size: 23px; letter-spacing: .02em; }
.nm-heading p { margin: 4px 0 0; color: #627184; font-size: 12px; letter-spacing: .08em; }
.nm-search { display: flex; align-items: center; gap: 9px; padding: 0 12px; width: min(30vw,310px); min-height: 44px; border: 1px solid var(--nm-line); border-radius: 12px; background: #fff; }
.nm-search input { width: 100%; min-width: 0; border: 0; outline: 0; padding: 9px 0; background: transparent; font-size: 14px; color: var(--nm-ink); }
.nm-search:focus-within { outline: 2px solid #a41d39; outline-offset: 2px; }
.nm-view { display: flex; padding: 3px; border: 1px solid var(--nm-line); border-radius: 11px; background: #f7f7f7; }
.nm-view button { border: 0; border-radius: 8px; padding: 9px 14px; background: transparent; color: #5e6e7e; cursor: pointer; font-size: 14px; }
.nm-view button[aria-pressed=true] { color: #fff; background: #ab1936; box-shadow: 0 3px 8px #8d16331c; }
.nm-filters { display: flex; align-items: center; gap: 7px; padding: 3px 26px 14px; border-bottom: 1px solid var(--nm-line); flex-wrap: wrap; }
.nm-chip { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--nm-line); background: #fff; padding: 8px 12px; border-radius: 30px; font-size: 14px !important; color: #48596a; cursor: pointer; min-height: 40px; }
.nm-chip[aria-pressed=true] { border-color: #777; background: #f5f5f5; color: #333; }
.nm-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; background: var(--group-color,#64788b); }
.nm-count { margin-left: auto; font-size: 13px; color: #67788b; white-space: nowrap; }
.nm-body { position: relative; display: flex; flex: 1; min-height: 0; }
.nm-stage { position: relative; isolation: isolate; flex: 1; min-width: 0; overflow: hidden; background: #fff; }
.nm-atmosphere { position: absolute; inset: 12px 16px 84px; pointer-events: none; user-select: none; overflow: hidden; background: #fff; }
.nm-world-map { position: absolute; inset: 0; display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain; object-position: center; transform: none; transition: none; }
.nm-canvas { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; display: block; touch-action: none; cursor: grab; }
.nm-canvas:active { cursor: grabbing; }
.nm-canvas:focus-visible { outline: 2px solid #ac2945; outline-offset: -3px; }
.nm-labels { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.nm-person { position: absolute; top: 0; left: 0; display: grid; justify-items: center; border: 0; padding: 4px; background: transparent; color: #10293f; cursor: pointer; pointer-events: auto; transform-origin: center center; min-width: 48px; min-height: 48px; }
.nm-face { width: 42px; height: 42px; display: grid; place-items: center; overflow: hidden; border: 2px solid var(--group-color,#ad2343); outline: 4px solid #ffffffeb; border-radius: 50%; background: #fff; color: var(--group-color,#ad2343); font-size: 15px; font-weight: 700; }
.nm-face { position: relative; }
.nm-face img { position: absolute; width: 190%; height: 190%; max-width: none; left: -45%; top: -10%; object-fit: cover; }
.nm-person strong { margin-top: 7px; padding: 1px 5px; border-radius: 4px; background: #fffffff0; font-size: 14px; white-space: nowrap; font-weight: 650; }
.nm-person[data-person=self] .nm-face { width: 70px; height: 70px; border-width: 3px; outline: 5px solid #f2d7df; }
.nm-person[data-person=self] strong { font-size: 18px; }
.nm-person[aria-pressed=true] .nm-face { box-shadow: 0 0 0 7px #edac3650; outline-color: #fff; }
.nm-person:focus-visible { outline: 2px solid #a51c37; border-radius: 8px; }
.nm-person { touch-action: none; user-select: none; cursor: pointer; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .18s ease, visibility .18s; }
.nm-person.is-visible { opacity: 1; visibility: visible; pointer-events: auto; }
.nm-person.is-visible .nm-face { animation: nm-reveal .22s cubic-bezier(.2,.75,.25,1); }
.nm-person[aria-pressed=true] { cursor: grab; }
.nm-person.is-path .nm-face { border-color: #c58e35; }
.nm-person[data-person=self] { cursor: default; }
@keyframes nm-reveal { from { opacity: .3; transform: scale(.6); } to { opacity: 1; transform: scale(1); } }
.network-map[data-interaction=scroll] .nm-person { touch-action: pan-y pinch-zoom; cursor: pointer; }
.network-map[data-camera-gesture=active] .nm-person { pointer-events: none; }
.nm-person.is-dragging { cursor: grabbing; }
.nm-person.is-dragging .nm-face { box-shadow: 0 0 0 7px #c9dfed90; }
.network-map[data-dragging] .nm-canvas { cursor: grabbing; }
.nm-physics-controls { position: absolute; top: 16px; left: 20px; display: flex; gap: 7px; z-index: 30; }
.nm-physics-controls button { background: #fffffff2; color: #546d7f; border: 1px solid #e5ebf0; border-radius: 20px; padding: 7px 13px; min-height: 40px; font-size: 13px; cursor: pointer; }
.nm-physics-controls button[aria-pressed=true] { background: #edf5f7; color: #216b72; border-color: #b8d7db; }
.nm-cluster-label { position: absolute; left: 0; top: 0; color: var(--group-color); text-align: center; white-space: nowrap; }
.nm-cluster-label strong { display: inline-block; border: 1px solid color-mix(in srgb,var(--group-color) 28%,white); border-radius: 30px; padding: 7px 22px; font-size: 17px; background: #fffffff5; box-shadow: 0 4px 16px #24374908; }
.nm-cluster-label small { display: block; margin-top: 7px; font-size: 12px; background: #ffffffdc; }
.nm-tip { position: absolute; right: 22px; top: 19px; max-width: 205px; padding: 13px 15px; border: 1px solid var(--nm-line); border-radius: 12px; background: #ffffffed; z-index: 3; box-shadow: 0 4px 16px #213c5005; }
.nm-tip strong { font-size: 14px; }
.nm-tip p { font-size: 13px; line-height: 1.7; color: #67788a; margin: 6px 0 0; }
.nm-toolbar { position: absolute; bottom: 28px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 7px; z-index: 5; padding: 6px; border-radius: 30px; border: 1px solid var(--nm-line); background: #fffffff0; box-shadow: 0 4px 18px #253b5008; white-space: nowrap; }
.nm-toolbar button { display: grid; place-items: center; height: 40px; min-width: 40px; padding: 0 10px; background: transparent; border: 0; border-radius: 22px; color: #344e65; cursor: pointer; font-size: 18px; }
.nm-toolbar button:hover { background: #edf3f6; }
.nm-toolbar .nm-reset { font-size: 14px; padding: 0 13px; }
.nm-toolbar .nm-touch-rotate { display: none; font-size: 14px; }
.nm-touch-rotate[aria-pressed=true] { background: #a71c39; color: white; }
.nm-toolbar button:disabled { opacity: .4; cursor: not-allowed; }
.nm-legend { position: absolute; left: 23px; bottom: 30px; z-index: 4; display: grid; gap: 7px; color: #627487; font-size: 12px; pointer-events: none; }
.nm-legend span { display: flex; gap: 8px; align-items: center; }
.nm-legend i { width: 26px; height: 1px; background: #7192ab; }
.nm-legend .nm-gold { background: #dba03c; height: 3px; }
.nm-axis { position: absolute; right: 20px; bottom: 22px; width: 72px; height: 72px; z-index: 3; }
.nm-status { min-height: 26px; padding: 4px 25px 7px; color: #728191; font-size: 12px; background: #fff; border-top: 1px solid #f5f6f7; }
.nm-sidebar { width: 300px; flex-shrink: 0; border-left: 1px solid var(--nm-line); background: #fff; padding: 23px; overflow-y: auto; }
.nm-sidebar:empty { display: none; }
.nm-detail-head { display: flex; gap: 12px; align-items: center; }
.nm-detail-head .nm-face { width: 54px; height: 54px; flex-shrink: 0; }
.nm-detail-head h2 { font-size: 20px; margin: 0; }
.nm-detail-head p { font-size: 12px; color: #65778a; margin: 4px 0 0; }
.nm-close { float: right; width: 36px; height: 36px; border: 1px solid var(--nm-line); border-radius: 50%; background: #fff; color: #647488; cursor: pointer; margin: -10px -10px 9px 6px; }
.nm-tags { display: flex; gap: 6px; flex-wrap: wrap; margin: 20px 0; }
.nm-tags span { font-size: 12px; border: 1px solid var(--nm-line); border-radius: 20px; padding: 5px 9px; }
.nm-sidebar h3 { font-size: 13px; letter-spacing: .02em; color: #627589; margin: 22px 0 8px; }
.nm-sidebar p { font-size: 16px; line-height: 1.8; margin: 6px 0; }
.nm-path { list-style: none; padding: 0; margin: 12px 0; display: grid; gap: 0; }
.nm-path li { position: relative; margin-left: 7px; padding: 0 0 18px 20px; border-left: 1px solid #e7bd71; font-size: 14px; }
.nm-path li:before { content: ''; position: absolute; left: -4px; top: 4px; width: 7px; height: 7px; border-radius: 50%; background: #cc9132; }
.nm-path li:last-child { border: 0; padding-bottom: 0; }
.nm-path small { display: block; color: #758396; font-size: 12px; margin-top: 3px; }
.nm-detail-note { margin-top: 24px !important; padding-top: 15px; border-top: 1px solid var(--nm-line); color: #708091; font-size: 12px !important; }
.nm-list { flex: 1; min-width: 0; overflow: auto; padding: 22px; background: #fbfcfd; }
.nm-list-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(225px,1fr)); gap: 12px; }
.nm-list-item { display: flex; align-items: center; text-align: left; gap: 13px; border: 1px solid var(--nm-line); border-radius: 14px; padding: 16px; background: #fff; color: var(--nm-ink); cursor: pointer; }
.nm-list-item strong, .nm-list-item small { display: block; }
.nm-list-item strong { font-size: 16px; }
.nm-list-item small { margin-top: 5px; font-size: 12px; color: #67788a; line-height: 1.6; }
.nm-list-item[aria-pressed=true] { border-color: #c59545; background: #fffdf7; }
.nm-empty { text-align: center; padding: 35px 20px; font-size: 16px; color: #536d82; }
.nm-stage>.nm-empty { position: absolute; top: 32%; left: 15%; right: 15%; z-index: 6; background: #ffffffee; border-radius: 15px; pointer-events: none; }
.nm-leaders { position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; pointer-events: none; z-index: 2; }
.nm-leaders line { stroke-width: 1; opacity: .7; }
.nm-labels { z-index: 3; }
.nm-hint { position: absolute; left: 20px; top: 19px; display: flex; align-items: center; gap: 12px; padding: 12px 16px; border: 1px solid #e5ecef; border-radius: 16px; background: #fffffff5; box-shadow: 0 8px 26px #20405c07; z-index: 4; pointer-events: none; }
.nm-hint>span { font-size: 25px; color: #68859a; }
.nm-hint strong { display: block; font-size: 14px; font-weight: 550; }
.nm-hint small { display: block; font-size: 12px; color: #6c8291; margin-top: 4px; }
.nm-selection { position: absolute; top: 18px; right: 18px; width: 285px; border: 1px solid #e2e8ed; border-radius: 19px; background: #ffffffed; backdrop-filter: blur(14px); box-shadow: 0 12px 38px #294b6510; padding: 14px; z-index: 25; }
.nm-peek-person { display: flex; gap: 10px; align-items: center; }
.nm-peek-person>.nm-face { width: 38px; height: 38px; flex-shrink: 0; }
.nm-peek-person>div { flex: 1; min-width: 0; }
.nm-peek-person strong { font-size: 16px; }
.nm-peek-person small { display: block; color: #69808e; font-size: 12px; margin-top: 4px; }
.nm-peek-person button { background: transparent; border: 0; color: #748995; width: 32px; height: 36px; cursor: pointer; }
.nm-peek-actions { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 12px; }
.nm-peek-actions button { flex: 1; white-space: nowrap; padding: 8px; border: 1px solid #e3e9ed; border-radius: 10px; background: #fff; color: #526c7d; cursor: pointer; font-size: 13px; min-height: 38px; }
.nm-peek-actions [data-network-detail] { background: #a91f3b; border-color: #a91f3b; color: #fff; }
.nm-peek-actions [data-network-locate] { flex-basis: 100%; }
.nm-selection.is-offscreen:before { content: '選択した人は画面の外にいます'; display: block; color: #977028; font-size: 12px; margin-bottom: 10px; }
.nm-edge-marker { position: absolute; z-index: 22; transform: translate(-50%,-50%); display: grid; place-items: center; gap: 2px; min-width: 48px; min-height: 48px; border: 1px solid #ead8b3; background: #fffffff0; border-radius: 14px; color: #a7792d; cursor: pointer; }
.nm-edge-marker span { display: block; font-size: 19px; }
.nm-edge-marker small { font-size: 12px; }
.nm-settings { position: absolute; bottom: 86px; right: 18px; width: 260px; padding: 18px; z-index: 35; border: 1px solid #e1e8ed; border-radius: 17px; background: #fffffff5; backdrop-filter: blur(12px); box-shadow: 0 10px 35px #183e5b17; }
.nm-settings h2 { margin: 0 0 13px; font-size: 15px; }
.nm-settings>button { display: block; width: 100%; text-align: left; margin: 5px 0; }
.nm-settings button { cursor: pointer; font-size: 14px; min-height: 42px; border: 1px solid #e3eaef; background: #fff; color: #4b6576; border-radius: 10px; padding: 8px 12px; }
.nm-settings button[aria-pressed=true] { color: #216b72; background: #eef6f7; border-color: #b8d7db; }
.nm-settings>div { display: flex; gap: 6px; margin-top: 8px; }
.nm-settings p { margin: 13px 0 0; font-size: 13px; line-height: 1.7; color: #6b808f; }
.nm-toolbar { z-index: 30; bottom: 22px; box-shadow: 0 10px 30px #2347630a; padding: 6px 10px; }
.nm-tool-divider { width: 1px; height: 18px; background: #e7edf1; margin: 0 3px; }
.network-map[data-gesture=rotate] .nm-canvas, .network-map[data-gesture=move] .nm-canvas { cursor: grabbing; }
.network-map[data-gesture=rotate] .nm-person { pointer-events: none; }
.network-map[data-holding] .nm-person[aria-pressed=true] .nm-face { outline: 5px solid #ddb36380; }
.network-map[data-move-armed] .nm-person[aria-pressed=true] .nm-face { box-shadow: 0 0 0 8px #c9dfed90; }
.nm-empty small { display: block; margin-top: 8px; font-size: 14px; }
.network-map [hidden] { display: none !important; }
@media (max-width: 1200px) { .nm-tip { display: none; } .nm-legend { bottom: 91px; } .nm-sidebar { width: 260px; padding: 18px; } }
@media (max-width: 760px) {
  .network-map { height: calc(100dvh - 130px); min-height: 0; }
  .nm-header { padding: 14px 15px 10px; gap: 10px; flex-wrap: wrap; }
  .nm-heading h1 { font-size: 20px; }
  .nm-heading p { font-size: 12px; letter-spacing: .01em; }
  .nm-search { width: 100%; order: 3; min-height: 42px; }
  .nm-search input { font-size: 16px; }
  .nm-view button { min-height: 42px; padding: 7px 12px; }
  .nm-filters { padding: 2px 14px 12px; gap: 6px; flex-wrap: nowrap; overflow-x: auto; flex-shrink: 0; scrollbar-width: thin; }
  .nm-chip { white-space: nowrap; min-height: 44px; padding: 8px 12px; }
  .nm-count { display: none; }
  .nm-body { min-height: 0; }
  .nm-sidebar { position: absolute; z-index: 10; left: 12px; right: 12px; bottom: 12px; max-height: 72%; width: auto; border: 1px solid #e1e7ed; border-radius: 18px; box-shadow: 0 8px 35px #17314b25; padding: 18px; }
  .nm-sidebar h3 { margin-top: 16px; }
  .nm-close { min-width: 44px; min-height: 44px; position: sticky; top: 0; z-index: 1; }
  .nm-toolbar { bottom: 14px; gap: 2px; padding: 3px; }
  .nm-toolbar button { min-height: 44px; min-width: 44px; }
  .nm-toolbar .nm-touch-rotate { display: grid; }
  .nm-toolbar [data-network-camera=left], .nm-toolbar [data-network-camera=right] { display: none; }
  .nm-legend { display: none; }
  .nm-physics-controls { top: 12px; left: 14px; }
  .nm-physics-controls button { min-height: 44px; font-size: 14px; }
  .nm-axis { width: 43px; height: 43px; right: 9px; bottom: 75px; }
  .nm-status { padding: 5px 14px; font-size: 12px; }
  .nm-cluster-label strong { font-size: 13px; padding: 5px 10px; }
  .nm-cluster-label small { display: none; }
  .nm-person strong { font-size: 14px; margin-top: 4px; }
  .nm-person[data-person=self] .nm-face { width: 49px; height: 49px; }
  .nm-person[data-person=self] strong { font-size: 14px; }
  .nm-face { width: 31px; height: 31px; font-size: 12px; }
  .nm-list { padding: 12px; }
  .nm-list-grid { grid-template-columns: 1fr; }
  .nm-hint { left: 12px; top: 12px; padding: 10px 12px; gap: 8px; }
  .nm-hint strong { font-size: 13px; }
  .nm-selection { top: 10px; right: 10px; width: 214px; border-radius: 15px; padding: 11px; }
  .nm-peek-person>.nm-face { width: 30px; height: 30px; font-size: 12px; }
  .nm-peek-person button { min-width: 38px; min-height: 40px; }
  .nm-peek-actions { margin-top: 9px; }
  .nm-peek-actions button { min-height: 42px; font-size: 13px; }
  .nm-settings { right: 10px; bottom: 74px; width: min(280px,calc(100% - 20px)); }
  .nm-settings button { min-height: 44px; }
  .nm-heading p { display: none; }
  .nm-status { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
.nm-compact .nm-person .nm-face { width: 30px; height: 30px; }
.nm-compact .nm-person[data-person=self] .nm-face { width: 40px; height: 40px; }
.nm-compact .nm-person strong { font-size: 13px; margin-top: 4px; }
@media (max-height: 600px) {
  .nm-heading p, .nm-count, .nm-hint, .nm-legend { display: none; }
  .nm-header { padding: 6px 14px; gap: 10px; }
  .nm-heading h1 { font-size: 18px; }
  .nm-filters { flex-wrap: nowrap; overflow-x: auto; padding: 0 14px 6px; }
  .nm-chip { white-space: nowrap; min-height: 36px; padding: 6px 10px; }
  .nm-atmosphere { inset: 8px 12px 84px; }
}
@media (prefers-reduced-motion: reduce) { .network-map *, .network-map *:before { transition: none !important; animation: none !important; } }
.nm-scale { position:relative; }
.ns-controls { display:flex; align-items:center; gap:8px; flex-shrink:0; padding:8px 16px; background:#fff; border-bottom:1px solid #e5e5e5; font-size:12px; flex-wrap:wrap; }
.ns-controls button,.ns-controls select,.ns-search input,.ns-results button { font:inherit; border:1px solid #ddd; background:white; color:#333; border-radius:8px; padding:7px 10px; }
.ns-controls button:disabled { opacity:.35; }
.ns-summary { flex:1; min-width:150px; color:#555; }
.ns-search { padding:6px 16px; background:white; flex-shrink:0; font-size:12px; z-index:50; }
.ns-search input { margin-left:8px; width:min(340px,65vw); }
.ns-results { position:absolute; top:100px; left:16px; width:min(430px,calc(100% - 32px)); max-height:60vh; overflow:auto; background:white; border:1px solid #ddd; border-radius:12px; padding:10px; box-shadow:0 12px 30px #0002; }
.ns-results>button { display:block; width:100%; text-align:left; margin:5px 0; }
.ns-results small { display:block; color:#666; }
.ns-result-head,.ns-result-pages { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.ns-host.network-map { flex:1; height:auto; min-height:0; }
.ns-host .nm-person:has(.nm-face):focus-visible { outline:2px solid #333; }
@media(max-height:600px) { .ns-controls { padding:3px 10px; gap:4px; }.ns-search { padding:3px 10px; }.ns-controls button,.ns-controls select,.ns-search input { padding:4px 7px; }.ns-summary { font-size:10px; } }
.nm-group-face { background:radial-gradient(circle, var(--group-color) 1px,transparent 2px) 0 0 / 7px 7px !important; border:0 !important; box-shadow:none !important; border-radius:45% !important; }
.nm-group-face b { font-size:12px; background:white; border:1px solid #ddd; border-radius:10px; padding:2px 5px; color:#333; }
.ns-modes { display:flex; align-items:center; gap:8px; padding:8px 16px; background:#fff; border-bottom:1px solid #eee; flex-shrink:0; }
.ns-modes button { background:#fff; border:1px solid #ddd; border-radius:12px; padding:8px 14px; color:#444; font:inherit; font-size:14px; cursor:pointer; }
.ns-modes button[aria-pressed="true"] { background:#292929; border-color:#292929; color:#fff; }
.ns-modes button span { display:block; font-size:12px; margin-top:2px; opacity:.75; }
.ns-modes small { color:#777; font-size:12px; margin-left:auto; max-width:230px; }
.nm-scale .nm-world-map { opacity:.42; }
@media(max-width:760px) { .ns-modes { padding:6px 12px; }.ns-modes small { display:none; }.ns-modes button { flex:1; padding:7px; } }
@media(max-height:600px) { .ns-modes { padding:3px 10px; }.ns-modes button { padding:4px 10px; }.ns-modes button span,.ns-modes small { display:none; } }
.nm-scale .nm-person strong { max-width:96px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nm-scale .nm-group-face { min-width:46px; overflow:visible; }
@media(max-width:760px) { .ns-controls .ns-summary { display:none; }.nm-scale .nm-header { padding:10px 14px; }.nm-scale .nm-group-face b { font-size:12px; } }
.np-panel { border:1px solid #ddd; border-radius:16px; overflow:hidden; background:#fff; }
.np-controls { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:12px; }
.np-controls button { border:1px solid #ddd; border-radius:20px; padding:8px 12px; background:white; font:inherit; font-size:14px; cursor:pointer; }
.np-controls button[aria-pressed="true"] { background:#292929; color:white; }
.np-controls button:disabled { opacity:.4; }
.np-context,.np-note { padding:0 14px; color:#666; font-size:12px; }
.np-map.network-map { height:620px; min-height:0; }
.np-map .nm-heading h1 { font-size:20px; }
.np-map .nm-world-map { opacity:.42; }
.np-map .nm-person strong { max-width:96px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.np-map .nm-peek-actions { flex-wrap:wrap; }
@media(max-width:760px){.np-map.network-map{height:580px;}.np-controls{gap:6px;}.np-map .nm-heading h1{font-size:17px;}}
.np-map .nm-header { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"heading view" "search search"; gap:8px; }
.np-map .nm-heading { grid-area:heading; min-width:0; }
.np-map .nm-heading h1 { white-space:normal; overflow-wrap:anywhere; }
.np-map .nm-search { grid-area:search; order:initial; min-width:0; width:auto; }
.np-map .nm-view { grid-area:view; }
.np-map .nm-heading p { font-size:12px; }
