main[data-astro-cid-gtsjk3yg] {
  width: min(100%, var(--layout-shell-width));
  max-width: none;
  padding: 118px
          var(--layout-page-gutter)
          var(--layout-page-bottom);
}

.signal-network[data-astro-cid-gtsjk3yg] {
  margin-top: 42px;
  border-top: 1px solid #ffffff12;
}

.network-header[data-astro-cid-gtsjk3yg] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 46px;
  align-items: center;
  min-height: 132px;
  padding: 22px 0;
  border-bottom: 1px solid #ffffff17;
}

.network-heading[data-astro-cid-gtsjk3yg] {
  display: grid;
  gap: 8px;
}

.network-kicker[data-astro-cid-gtsjk3yg] {
  display: flex;
  gap: 11px;
  align-items: center;
  margin: 0;
  color: #b7ff00;
  font-family: Maple Mono, monospace;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.network-kicker[data-astro-cid-gtsjk3yg]:before {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: #b7ff00;
  box-shadow: 0 0 7px #b7ff00, 0 0 17px #b7ff009e;
  content: "";
  animation: 1.55s ease-in-out infinite network-live;
}

.network-title[data-astro-cid-gtsjk3yg] {
  margin: 0;
  color: #f3f4f0;
  font-family: Host Grotesk Variable, Inter Variable, Helvetica Neue, Arial, sans-serif;
  font-size: clamp(1.9rem, 3vw, 2.8rem);
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.055em;
}

.network-metrics[data-astro-cid-gtsjk3yg] {
  display: grid;
  grid-template-columns: repeat(3, minmax(110px, auto));
  align-items: stretch;
}

.metric[data-astro-cid-gtsjk3yg] {
  display: grid;
  gap: 7px;
  min-width: 116px;
  padding: 5px 28px;
  border-left: 1px solid #ffffff17;
}

.metric-label[data-astro-cid-gtsjk3yg] {
  color: #777d76;
  font-family: Maple Mono, monospace;
  font-size: .68rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.metric-value[data-astro-cid-gtsjk3yg] {
  color: #f4f5f1;
  font-family: Maple Mono, monospace;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .05em;
}

.metric-value[data-astro-cid-gtsjk3yg].live {
  display: flex;
  gap: 8px;
  align-items: center;
  color: #b7ff00;
  font-size: .92rem;
  text-shadow: 0 0 8px #b7ff0073;
}

.metric-value[data-astro-cid-gtsjk3yg].live:before {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #b7ff00;
  box-shadow: 0 0 7px #b7ff00f2;
  content: "";
}

.network-field[data-astro-cid-gtsjk3yg] {
  position: relative;
  min-height: 650px;
  overflow: hidden;
  border-bottom: 1px solid #ffffff12;
  isolation: isolate;
}

.network-grid[data-astro-cid-gtsjk3yg] {
  position: absolute;
  inset: 0;
  z-index: -8;
  background-image: linear-gradient(#b7ff0008 1px, #0000 1px), linear-gradient(90deg, #b7ff0008 1px, #0000 1px);
  background-size: 31px 31px;
  mask-image: radial-gradient(#000 5%, #000000d9 55%, #0000 96%);
}

.network-noise[data-astro-cid-gtsjk3yg] {
  position: absolute;
  inset: 0;
  z-index: -7;
  opacity: .16;
  background-image: radial-gradient(circle, #b7ff008c .7px, #0000 .8px);
  background-size: 17px 17px;
  mask-image: radial-gradient(#000, #0000 88%);
}

.network-links[data-astro-cid-gtsjk3yg] {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.network-link[data-astro-cid-gtsjk3yg] {
  stroke: var(--line-color);
  stroke-width: .85px;
  opacity: .27;
  vector-effect: non-scaling-stroke;
}

.orbit[data-astro-cid-gtsjk3yg] {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -3;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
}

.orbit-1[data-astro-cid-gtsjk3yg] {
  width: 82%;
  height: 72%;
  border: 1px solid #35d3e933;
  transform: translate(-50%, -50%) rotate(-8deg);
}

.orbit-2[data-astro-cid-gtsjk3yg] {
  width: 70%;
  height: 58%;
  border: 1px solid #b7ff002e;
  transform: translate(-50%, -50%) rotate(6deg);
}

.orbit-3[data-astro-cid-gtsjk3yg] {
  width: 58%;
  height: 48%;
  border: 1px dashed #b7ff0024;
  transform: translate(-50%, -50%) rotate(-12deg);
}

.orbit-4[data-astro-cid-gtsjk3yg] {
  width: 39%;
  height: 33%;
  border-top: 1px solid #ff5a2440;
  border-right: 1px solid #0000;
  border-bottom: 1px solid #28d7ff1c;
  border-left: 1px solid #0000;
  transform: translate(-50%, -50%) rotate(17deg);
}

.nexus-core[data-astro-cid-gtsjk3yg] {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 8;
  width: 168px;
  height: 168px;
  border: 1px solid #b7ff0052;
  border-radius: 50%;
  background: radial-gradient(circle, #b7ff0052 0%, #b7ff001f 10%, #b7ff0006 35%, #020302f7 70%);
  box-shadow: 0 0 38px #b7ff0021, 0 0 85px #b7ff000b;
  transform: translate(-50%, -50%);
}

.core-ring[data-astro-cid-gtsjk3yg] {
  position: absolute;
  top: 50%;
  left: 50%;
  border: 1px solid #b7ff004d;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.core-ring-a[data-astro-cid-gtsjk3yg] {
  width: 118px;
  height: 118px;
}

.core-ring-b[data-astro-cid-gtsjk3yg] {
  width: 78px;
  height: 78px;
  border-style: dashed;
  opacity: .65;
  animation: 15s linear infinite core-spin;
}

.core-ring-c[data-astro-cid-gtsjk3yg] {
  width: 40px;
  height: 40px;
  opacity: .82;
}

.core-light[data-astro-cid-gtsjk3yg] {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #dcff68;
  box-shadow: 0 0 8px #b7ff00, 0 0 22px #b7ff00e0, 0 0 54px #b7ff0066;
  transform: translate(-50%, -50%);
  animation: 1.75s ease-in-out infinite core-pulse;
}

.core-label[data-astro-cid-gtsjk3yg] {
  position: absolute;
  top: calc(50% + 58px);
  left: 50%;
  color: #b7ff00;
  font-family: Maple Mono, monospace;
  font-size: .66rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .14em;
  white-space: nowrap;
  transform: translateX(-50%);
}

.signal-node[data-astro-cid-gtsjk3yg] {
  position: absolute;
  top: calc(var(--node-y) * 1%);
  left: calc(var(--node-x) * 1%);
  z-index: 10;
  display: grid;
  gap: 5px;
  min-width: calc(128px +
            var(--node-weight) * 36px);
  padding: 11px 17px 10px 18px;
  border: 1px solid
          color-mix(in srgb,
            var(--node-color) 56%,
            transparent);
  border-left: 2px solid
          var(--node-color);
  border-radius: 2px 9px;
  background: linear-gradient(105deg,
            color-mix(in srgb,
              var(--node-color) 9%,
              #050505),
            #050505e8 60%,
            #050505c2);
  box-shadow: 0 0 14px
          color-mix(in srgb,
            var(--node-color) 11%,
            transparent);
  color: var(--node-color);
  text-decoration: none;
  transform: translate(-50%, -50%);
  transition: border-color .2s, background-color .2s, box-shadow .2s, transform .2s;
}

.signal-node[data-astro-cid-gtsjk3yg]:before {
  position: absolute;
  top: 50%;
  left: -7px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--node-color);
  box-shadow: 0 0 7px var(--node-color),
          0 0 18px
          color-mix(in srgb,
            var(--node-color) 58%,
            transparent);
  content: "";
  transform: translate(-50%, -50%);
}

.signal-node[data-astro-cid-gtsjk3yg]:after {
  position: absolute;
  right: -14px;
  bottom: -6px;
  width: 44px;
  height: 8px;
  border-top: 1px solid
          var(--node-color);
  border-right: 1px solid
          var(--node-color);
  content: "";
  opacity: .72;
  transform: skewX(38deg);
}

.signal-name[data-astro-cid-gtsjk3yg] {
  color: var(--node-color);
  font-family: Maple Mono, monospace;
  font-size: calc(1.05rem +
            var(--node-weight) * .48rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.035em;
  text-shadow: 0 0 7px
          color-mix(in srgb,
            var(--node-color) 50%,
            transparent);
}

.signal-count[data-astro-cid-gtsjk3yg] {
  color: color-mix(in srgb,
            var(--node-color) 78%,
            #d3d7cf);
  font-family: Maple Mono, monospace;
  font-size: .63rem;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.signal-node[data-astro-cid-gtsjk3yg]:hover, .signal-node[data-astro-cid-gtsjk3yg]:focus-visible {
  z-index: 30;
  outline: none;
  border-color: var(--node-color);
  background: linear-gradient(105deg,
            color-mix(in srgb,
              var(--node-color) 17%,
              #050505),
            #050505 66%);
  box-shadow: 0 0 8px
          color-mix(in srgb,
            var(--node-color) 50%,
            transparent),
          0 0 28px
          color-mix(in srgb,
            var(--node-color) 18%,
            transparent);
  transform: translate(-50%, -50%) scale(1.07);
}

.signal-node[data-astro-cid-gtsjk3yg]:hover .signal-name[data-astro-cid-gtsjk3yg], .signal-node[data-astro-cid-gtsjk3yg]:focus-visible .signal-name[data-astro-cid-gtsjk3yg] {
  color: #fff;
  text-shadow: 0 0 5px
          var(--node-color),
          0 0 18px
          var(--node-color);
}

.hud-left[data-astro-cid-gtsjk3yg], .hud-right[data-astro-cid-gtsjk3yg] {
  position: absolute;
  z-index: 4;
  color: #70776e;
  font-family: Maple Mono, monospace;
  font-size: .57rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: .13em;
  text-transform: uppercase;
  pointer-events: none;
}

.hud-left[data-astro-cid-gtsjk3yg] {
  top: 20%;
  left: 1%;
}

.hud-right[data-astro-cid-gtsjk3yg] {
  top: 20%;
  right: 1%;
  display: grid;
  gap: 65px;
  text-align: right;
}

.hud-title[data-astro-cid-gtsjk3yg] {
  display: block;
  margin-bottom: 9px;
  color: #b7ff00;
  font-size: .55rem;
}

.hud-value[data-astro-cid-gtsjk3yg] {
  color: #9da49a;
}

.hud-live[data-astro-cid-gtsjk3yg] {
  color: #b7ff00;
}

.network-status[data-astro-cid-gtsjk3yg] {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 28px;
  align-items: center;
  min-height: 54px;
  padding: 0 4px;
  border-bottom: 1px solid #ffffff0f;
  color: #737a71;
  font-family: Maple Mono, monospace;
  font-size: .62rem;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.network-status[data-astro-cid-gtsjk3yg] > span[data-astro-cid-gtsjk3yg]:nth-child(2) {
  text-align: center;
}

.network-status[data-astro-cid-gtsjk3yg] > span[data-astro-cid-gtsjk3yg]:nth-child(3) {
  text-align: right;
}

.network-status[data-astro-cid-gtsjk3yg] strong[data-astro-cid-gtsjk3yg] {
  color: #b7ff00;
  font-weight: 600;
}

.quality-bars[data-astro-cid-gtsjk3yg] {
  display: inline-flex;
  gap: 3px;
  margin-left: 9px;
  vertical-align: middle;
}

.quality-bars[data-astro-cid-gtsjk3yg] i[data-astro-cid-gtsjk3yg] {
  display: block;
  width: 5px;
  height: 10px;
  background: #b7ff00;
  box-shadow: 0 0 4px #b7ff0073;
}

@keyframes network-live {
  0%, 100% {
    opacity: .32;
    transform: scale(.78);
  }

  50% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes core-pulse {
  0%, 100% {
    opacity: .62;
    transform: translate(-50%, -50%) scale(.86);
  }

  50% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.08);
  }
}

@keyframes core-spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

@media (width <= 820px) {
  main[data-astro-cid-gtsjk3yg] {
    padding-top: 34px;
  }

  .network-header[data-astro-cid-gtsjk3yg] {
    grid-template-columns: 1fr;
    gap: 20px;
    min-height: 0;
  }

  .network-metrics[data-astro-cid-gtsjk3yg] {
    grid-template-columns: repeat(3, 1fr);
  }

  .metric[data-astro-cid-gtsjk3yg] {
    min-width: 0;
    padding: 4px 14px;
  }

  .network-field[data-astro-cid-gtsjk3yg] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    min-height: 0;
    padding: 30px 0;
  }

  .network-grid[data-astro-cid-gtsjk3yg], .network-noise[data-astro-cid-gtsjk3yg], .network-links[data-astro-cid-gtsjk3yg], .orbit[data-astro-cid-gtsjk3yg], .nexus-core[data-astro-cid-gtsjk3yg], .hud-left[data-astro-cid-gtsjk3yg], .hud-right[data-astro-cid-gtsjk3yg] {
    display: none;
  }

  .signal-node[data-astro-cid-gtsjk3yg] {
    position: relative;
    top: auto;
    left: auto;
    min-width: 0;
    transform: none;
  }

  .signal-node[data-astro-cid-gtsjk3yg]:hover, .signal-node[data-astro-cid-gtsjk3yg]:focus-visible {
    transform: translateY(-2px);
  }

  .network-status[data-astro-cid-gtsjk3yg] {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 15px 0;
  }

  .network-status[data-astro-cid-gtsjk3yg] > span[data-astro-cid-gtsjk3yg]:nth-child(2), .network-status[data-astro-cid-gtsjk3yg] > span[data-astro-cid-gtsjk3yg]:nth-child(3) {
    text-align: left;
  }
}

@media (width <= 520px) {
  .network-title[data-astro-cid-gtsjk3yg] {
    font-size: 1.65rem;
  }

  .network-metrics[data-astro-cid-gtsjk3yg] {
    grid-template-columns: 1fr;
  }

  .metric[data-astro-cid-gtsjk3yg] {
    border-left: 0;
    border-top: 1px solid #ffffff12;
    padding: 10px 0;
  }

  .network-field[data-astro-cid-gtsjk3yg] {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .network-kicker[data-astro-cid-gtsjk3yg]:before, .core-light[data-astro-cid-gtsjk3yg], .core-ring-b[data-astro-cid-gtsjk3yg] {
    animation: none;
  }

  .signal-node[data-astro-cid-gtsjk3yg] {
    transition: none;
  }
}
.signal-network[data-astro-cid-gtsjk3yg] {
  border-top: 0 !important;
}

.network-title[data-astro-cid-gtsjk3yg] {
  font-size: clamp(1.55rem, 2.35vw, 2.2rem) !important;
  line-height: 1 !important;
}

.metric-value[data-astro-cid-gtsjk3yg] {
  font-size: .88rem !important;
  line-height: 1 !important;
}

.metric-value[data-astro-cid-gtsjk3yg].live {
  font-size: .74rem !important;
}

.metric-value[data-astro-cid-gtsjk3yg].live:before {
  width: 6px !important;
  height: 6px !important;
}
.signal-network[data-astro-cid-gtsjk3yg] {
  margin-top: 12px !important;
}

.network-header[data-astro-cid-gtsjk3yg] {
  padding-top: 14px !important;
}
.signal-network[data-astro-cid-gtsjk3yg] {
  transform: translateY(-38px) !important;
  margin-bottom: -38px !important;
}
/*
     通常時
     ネットワーク線が少し透ける。
  */
  .signal-node {
    background:
      linear-gradient(
        105deg,
        color-mix(
          in srgb,
          var(--node-color) 10%,
          transparent
        ),
        rgba(5, 5, 5, 0.68) 54%,
        rgba(5, 5, 5, 0.58)
      ) !important;

    backdrop-filter:
      blur(2px) !important;

    -webkit-backdrop-filter:
      blur(2px) !important;
  }


  /*
     hover時も真っ黒にはしない。
     色味だけ少し強くする。
  */
  .signal-node:hover,
  .signal-node:focus-visible {
    background:
      linear-gradient(
        105deg,
        color-mix(
          in srgb,
          var(--node-color) 18%,
          transparent
        ),
        rgba(5, 5, 5, 0.76) 54%,
        rgba(5, 5, 5, 0.64)
      ) !important;
  }.tag-mobile-viewmore {
    display: none;
  }

  @media (max-width: 720px) {

    .signal-network:not([data-tag-expanded="true"])
    .network-field
    .signal-node[data-tag-mobile-extra="true"] {
      display: none !important;
    }

    .tag-mobile-viewmore:not([hidden]) {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 14px;
      width: 100%;
      padding: 24px 0 34px;
      box-sizing: border-box;
    }

    .tag-mobile-viewmore-count {
      color: #858b83;
      font-family: monospace;
      font-size: 0.68rem;
      letter-spacing: 0.16em;
      text-align: center;
    }

    .tag-mobile-viewmore-button {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      width: min(100%, 320px);
      min-height: 54px;
      padding: 14px 20px;
      border: 1px solid rgba(183, 255, 0, 0.65);
      border-radius: 3px;
      background: linear-gradient(
        105deg,
        rgba(183, 255, 0, 0.07),
        rgba(5, 5, 5, 0.94)
      );
      color: #b7ff00;
      font-family: monospace;
      font-size: 0.82rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      cursor: pointer;
      box-sizing: border-box;
      transition:
        border-color 180ms ease,
        background-color 180ms ease,
        box-shadow 180ms ease;
    }

    .tag-mobile-viewmore-button:hover,
    .tag-mobile-viewmore-button:focus-visible {
      border-color: #b7ff00;
      box-shadow: 0 0 20px rgba(183, 255, 0, 0.13);
      outline-offset: 4px;
    }

    .tag-mobile-viewmore-arrow {
      font-size: 1.1rem;
      line-height: 1;
    }
  }/* NEXUS TAG MOBILE GRID V1 */

@media (max-width: 720px) {

  /* NODES / RECORDS / STATUS を横3列に */

  .signal-network .network-metrics {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    width: 100% !important;
    align-items: stretch !important;
  }

  .signal-network .network-metrics .metric {
    min-width: 0 !important;
    padding: 12px 8px !important;

    border-top: 1px solid rgba(255,255,255,0.09) !important;
    border-left: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;

    gap: 9px !important;
  }

  .signal-network .network-metrics .metric + .metric {
    border-left: 1px solid rgba(255,255,255,0.09) !important;
  }

  .signal-network .metric-label {
    font-size: 0.62rem !important;
    letter-spacing: 0.10em !important;
    white-space: nowrap !important;
  }

  .signal-network .metric-value {
    font-size: 0.95rem !important;
    line-height: 1.2 !important;
  }

  .signal-network .metric-value.live {
    font-size: 0.78rem !important;
    white-space: nowrap !important;
  }

  /* タグ一覧を2列に */

  .signal-network .network-field {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;

    min-height: 0 !important;
    height: auto !important;
    padding: 22px 0 !important;

    align-items: stretch !important;
  }

  /* タグBOX */

  .signal-network .network-field .signal-node {
    position: relative !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    grid-column: auto !important;
    grid-row: auto !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    min-height: 92px !important;
    height: auto !important;

    padding: 14px 12px !important;
    margin: 0 !important;

    transform: none !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 9px !important;

    box-sizing: border-box !important;
  }

  /* 長いタグ名の折り返し */

  .signal-network .signal-node .signal-name {
    display: block !important;

    max-width: 100% !important;
    min-width: 0 !important;

    font-size: clamp(0.82rem, 3.1vw, 1.05rem) !important;
    line-height: 1.2 !important;

    overflow-wrap: anywhere !important;
    word-break: normal !important;
    white-space: normal !important;
  }

  .signal-network .signal-node .signal-count {
    font-size: 0.64rem !important;
    line-height: 1.4 !important;
    letter-spacing: 0.08em !important;
    white-space: normal !important;
  }

  /* 既存のホバー動作を維持 */

  .signal-network .signal-node:hover,
  .signal-network .signal-node:focus-visible {
    transform: translateY(-2px) !important;
  }
}

/* 特に狭いスマホの文字調整 */

@media (max-width: 380px) {

  .signal-network .network-field {
    gap: 8px !important;
  }

  .signal-network .network-field .signal-node {
    padding: 12px 10px !important;
    min-height: 88px !important;
  }

  .signal-network .signal-node .signal-name {
    font-size: 0.79rem !important;
  }

  .signal-network .metric-label {
    font-size: 0.56rem !important;
  }
}