* {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        -webkit-tap-highlight-color: transparent;
        -webkit-touch-callout: none;
        -webkit-user-drag: none;
        -webkit-user-select: none;
        user-select: none;
        touch-action: pan-y;
        -ms-touch-action: pan-y;
      }

      html {
        scroll-behavior: smooth;
        overflow-x: hidden;
        overflow-y: auto;
      }

      body {
        min-height: 100vh;
        width: 100%;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior-x: none;
        -webkit-overflow-scrolling: touch;
        background:
          radial-gradient(
            circle at top left,
            rgba(78, 186, 251, 0.22),
            transparent 28%
          ),
          radial-gradient(
            circle at bottom right,
            rgba(130, 207, 255, 0.16),
            transparent 30%
          ),
          linear-gradient(135deg, #05070d 0%, #10152a 48%, #07192c 100%);
        color: #eef7ff;
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        line-height: 1.7;
        padding: 22px;
      }

      img,
      a {
        -webkit-user-drag: none;
        user-drag: none;
      }

      .scroll-indicator {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 4px;
        background: rgba(78, 186, 251, 0.16);
        z-index: 9999;
      }

      .scroll-progress {
        height: 100%;
        width: 0%;
        background: linear-gradient(90deg, #4ebafb, #82cfff, #ffffff);
        box-shadow: 0 0 18px rgba(78, 186, 251, 0.7);
      }

      .stars-container {
        position: fixed;
        inset: 0;
        pointer-events: none;
        overflow: hidden;
        z-index: -1;
      }

      .star {
        position: absolute;
        background: #fff;
        border-radius: 50%;
        opacity: 0.75;
        animation: twinkle 3s infinite alternate;
      }

      .star.small {
        width: 1px;
        height: 1px;
      }

      .star.medium {
        width: 2px;
        height: 2px;
        box-shadow: 0 0 6px rgba(255, 255, 255, 0.8);
      }

      .star.large {
        width: 3px;
        height: 3px;
        box-shadow: 0 0 10px rgba(130, 207, 255, 0.9);
      }

      .floating-node {
        position: absolute;
        width: 5px;
        height: 5px;
        background: #4ebafb;
        border-radius: 50%;
        box-shadow: 0 0 18px rgba(78, 186, 251, 0.9);
        animation: floatNode 18s infinite linear;
      }

      .connection-line {
        position: absolute;
        height: 1px;
        background: linear-gradient(
          90deg,
          transparent,
          rgba(78, 186, 251, 0.55),
          transparent
        );
        transform-origin: left center;
        animation: pulseLine 4s infinite ease-in-out;
      }

      @keyframes twinkle {
        from {
          opacity: 0.25;
          transform: scale(1);
        }
        to {
          opacity: 1;
          transform: scale(1.35);
        }
      }

      @keyframes floatNode {
        0% {
          transform: translate(0, 0) rotate(0deg);
        }
        25% {
          transform: translate(80px, -45px) rotate(90deg);
        }
        50% {
          transform: translate(35px, -90px) rotate(180deg);
        }
        75% {
          transform: translate(-45px, -35px) rotate(270deg);
        }
        100% {
          transform: translate(0, 0) rotate(360deg);
        }
      }

      @keyframes pulseLine {
        0%,
        100% {
          opacity: 0.18;
          transform: scaleX(1);
        }
        50% {
          opacity: 0.75;
          transform: scaleX(1.08);
        }
      }

      .container {
        width: min(100%, 980px);
        margin: 0 auto;
        padding: 38px;
        border-radius: 26px;
        background: rgba(8, 12, 24, 0.86);
        backdrop-filter: blur(18px);
        border: 1px solid rgba(78, 186, 251, 0.28);
        box-shadow:
          0 24px 70px rgba(0, 0, 0, 0.48),
          0 0 34px rgba(78, 186, 251, 0.12);
      }

      .logo {
        display: block;
        width: min(210px, 70%);
        margin: 10px auto 26px;
        filter: drop-shadow(0 0 20px rgba(78, 186, 251, 0.5));
      }

      .hero {
        text-align: center;
        margin-bottom: 34px;
      }

      h1 {
        font-size: clamp(2rem, 5vw, 3.3rem);
        line-height: 1.12;
        margin-bottom: 14px;
        background: linear-gradient(45deg, #4ebafb, #82cfff, #ffffff);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        text-wrap: balance;
      }

      .subtitle {
        color: #cfeaff;
        font-size: 1rem;
      }

      .badge-row {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
        margin-top: 18px;
      }

      .badge {
        border: 1px solid rgba(78, 186, 251, 0.35);
        background: rgba(78, 186, 251, 0.08);
        color: #dff5ff;
        padding: 7px 12px;
        border-radius: 999px;
        font-size: 0.88rem;
      }

      .toc {
        margin: 34px 0;
        padding: 24px;
        border-radius: 22px;
        background: linear-gradient(
          145deg,
          rgba(78, 186, 251, 0.12),
          rgba(255, 255, 255, 0.04)
        );
        border: 1px solid rgba(78, 186, 251, 0.25);
      }

      .toc h2 {
        margin: 0 0 16px;
        padding: 0;
        border: 0;
        font-size: 1.45rem;
      }

      .toc-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 11px;
      }

      .toc a {
        display: flex;
        align-items: center;
        gap: 10px;
        min-height: 46px;
        padding: 11px 13px;
        color: #eaf8ff;
        text-decoration: none;
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.045);
        border: 1px solid rgba(255, 255, 255, 0.08);
        transition:
          transform 0.2s ease,
          background 0.2s ease,
          border-color 0.2s ease;
      }

      .toc a:hover {
        transform: translateY(-2px);
        background: rgba(78, 186, 251, 0.16);
        border-color: rgba(78, 186, 251, 0.5);
      }

      .icon {
        width: 28px;
        height: 28px;
        display: inline-grid;
        place-items: center;
        flex: 0 0 28px;
        border-radius: 9px;
        background: rgba(78, 186, 251, 0.16);
        box-shadow: inset 0 0 0 1px rgba(78, 186, 251, 0.25);
      }

      section {
        scroll-margin-top: 26px;
        margin-top: 34px;
        padding-top: 10px;
      }

      h2 {
        color: #ffffff;
        margin: 0 0 18px;
        padding-left: 15px;
        border-left: 4px solid #4ebafb;
        font-size: clamp(1.35rem, 3vw, 1.8rem);
        text-shadow: 0 0 12px rgba(78, 186, 251, 0.22);
      }

      h3 {
        color: #dff5ff;
        margin: 22px 0 10px;
        font-size: 1.1rem;
      }

      p {
        margin-bottom: 16px;
        color: rgba(238, 247, 255, 0.93);
      }

      ul {
        margin: 0 0 18px 22px;
      }

      li {
        margin-bottom: 8px;
        padding-left: 4px;
        color: rgba(238, 247, 255, 0.93);
      }

      strong {
        color: #ffffff;
      }

      a {
        color: #82cfff;
      }

      .section-card {
        padding: 24px;
        border-radius: 20px;
        background: rgba(255, 255, 255, 0.035);
        border: 1px solid rgba(255, 255, 255, 0.08);
      }

      .back-to-index {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin-top: 12px;
        padding: 9px 13px;
        border-radius: 999px;
        color: #06101d;
        background: linear-gradient(90deg, #4ebafb, #dff5ff);
        text-decoration: none;
        font-size: 0.9rem;
        font-weight: 700;
        box-shadow: 0 8px 22px rgba(78, 186, 251, 0.22);
      }

      .back-to-index:hover {
        filter: brightness(1.06);
      }

      .notice {
        padding: 16px 18px;
        border-radius: 16px;
        background: rgba(78, 186, 251, 0.1);
        border: 1px solid rgba(78, 186, 251, 0.24);
        color: #e9f8ff;
        margin: 18px 0;
      }

      .footer {
        margin-top: 42px;
        padding-top: 22px;
        border-top: 1px solid rgba(78, 186, 251, 0.25);
        text-align: center;
        color: rgba(238, 247, 255, 0.72);
        font-size: 0.92rem;
      }

      @media (max-width: 760px) {
        body {
          padding: 12px;
        }

        .container {
          padding: 22px;
          border-radius: 20px;
        }

        .toc-grid {
          grid-template-columns: 1fr;
        }

        .section-card {
          padding: 18px;
        }

        p {
          text-align: left;
        }
      }

      @media (prefers-reduced-motion: reduce) {
        *,
        *::before,
        *::after {
          animation-duration: 0.01ms !important;
          animation-iteration-count: 1 !important;
          transition-duration: 0.01ms !important;
          scroll-behavior: auto !important;
        }
      }
    