    :root {
      color-scheme: light;
      --ink: #172026;
      --muted: #62717c;
      --paper: #f6f8f4;
      --panel: #ffffff;
      --line: #d6ded5;
      --accent: #0f7b72;
      --accent-strong: #0a5f59;
      --accent-soft: #e3f2ef;
      --warm: #f4b24d;
      --shadow: 0 16px 40px rgba(23, 32, 38, 0.10);
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      font-family: "Yu Gothic UI", "Meiryo UI", "Segoe UI", sans-serif;
      line-height: 1.75;
      color: var(--ink);
      background:
        linear-gradient(90deg, rgba(15, 123, 114, 0.08) 1px, transparent 1px),
        linear-gradient(180deg, rgba(15, 123, 114, 0.08) 1px, transparent 1px),
        var(--paper);
      background-size: 28px 28px;
    }

    a {
      color: var(--accent-strong);
      text-underline-offset: 0.18em;
    }

    a:hover {
      color: #073f3b;
    }

    .hero {
      position: relative;
      overflow: hidden;
      color: #ffffff;
      background:
        linear-gradient(135deg, rgba(13, 91, 86, 0.80), rgba(29, 71, 84, 0.75)),
        url("screenshot/yudisk1.jpg") center center / cover;
      min-height: 70vh;
      display: grid;
      align-items: end;
      border-bottom: 8px solid var(--warm);
    }

    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        repeating-linear-gradient(115deg, transparent 0 34px, rgba(255, 255, 255, 0.12) 34px 36px),
        linear-gradient(90deg, transparent, rgba(244, 178, 77, 0.24), transparent);
      background-size: 180px 180px, 240px 100%;
      transform: translateX(-35%);
      animation: scan-sweep 8s ease-in-out infinite;
      pointer-events: none;
    }

    .hero::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 8px;
      background: linear-gradient(90deg, var(--warm), #ffffff, var(--accent), var(--warm));
      background-size: 220% 100%;
      animation: status-flow 5s linear infinite;
      pointer-events: none;
    }

    .hero-inner {
      position: relative;
      z-index: 1;
      width: min(1120px, calc(100% - 40px));
      margin: 0 auto;
      padding: 68px 0 52px;
    }

    .version {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 6px 12px;
      border: 1px solid rgba(255, 255, 255, 0.45);
      border-radius: 999px;
      color: #e9fffb;
      background: rgba(255, 255, 255, 0.10);
      font-size: 0.92rem;
      letter-spacing: 0;
    }

    h1 {
      margin: 18px 0 14px;
      font-size: clamp(2.6rem, 8vw, 5.8rem);
      line-height: 0.95;
      letter-spacing: 0;
    }

    .lead {
      max-width: 760px;
      margin: 0;
      font-size: clamp(1.05rem, 2vw, 1.35rem);
      color: #ecfffb;
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 30px;
    }

    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 10px 18px;
      border-radius: 6px;
      border: 1px solid rgba(255, 255, 255, 0.36);
      color: #ffffff;
      background: rgba(255, 255, 255, 0.14);
      text-decoration: none;
      font-weight: 700;
    }

    .button.primary {
      color: #10302d;
      background: var(--warm);
      border-color: var(--warm);
    }

    .language-switch {
      display: inline-flex;
      gap: 4px;
      margin-top: 22px;
      padding: 4px;
      border: 1px solid rgba(255, 255, 255, 0.38);
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.12);
    }

    .lang-button {
      min-height: 36px;
      padding: 7px 12px;
      border: 0;
      border-radius: 6px;
      color: #ffffff;
      background: transparent;
      font: inherit;
      font-weight: 700;
      cursor: pointer;
    }

    .lang-button.is-active {
      color: #10302d;
      background: #ffffff;
    }

    .lang-block {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
    }

    .lang-block > div {
      min-width: 0;
    }

    .lang-label {
      display: inline-block;
      margin-bottom: 8px;
      color: var(--muted);
      font-size: 0.88rem;
      font-weight: 700;
      text-transform: uppercase;
    }

    .layout {
      width: min(1120px, calc(100% - 40px));
      margin: 0 auto;
      display: grid;
      grid-template-columns: 240px minmax(0, 1fr);
      gap: 40px;
      padding: 38px 0 64px;
    }

    .toc {
      position: sticky;
      top: 20px;
      align-self: start;
      padding: 18px;
      background: rgba(255, 255, 255, 0.84);
      border: 1px solid var(--line);
      border-radius: 8px;
      box-shadow: var(--shadow);
    }

    .toc h2 {
      margin: 0 0 10px;
      font-size: 0.94rem;
      color: var(--muted);
    }

    .toc ul {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .toc li + li {
      border-top: 1px solid #edf1eb;
    }

    .toc a {
      display: block;
      padding: 8px 0;
      color: var(--ink);
      text-decoration: none;
      font-size: 0.96rem;
    }

    main {
      min-width: 0;
    }

    section {
      margin-bottom: 28px;
      padding: 28px;
      background: rgba(255, 255, 255, 0.90);
      border: 1px solid var(--line);
      border-radius: 8px;
      box-shadow: var(--shadow);
    }

    section h2 {
      margin: 0 0 18px;
      display: flex;
      align-items: center;
      gap: 12px;
      font-size: 1.55rem;
      line-height: 1.25;
      letter-spacing: 0;
    }

section h2::before {
  content: "";
  width: 12px;
  height: 34px;
      background: var(--accent);
      border-radius: 3px;
  flex: 0 0 auto;
}

section h3 {
  margin: 20px 0 10px;
  font-size: 1.08rem;
  line-height: 1.35;
  letter-spacing: 0;
}

section h3:first-of-type {
  margin-top: 0;
}

p {
  margin: 0 0 14px;
}

    p:last-child {
      margin-bottom: 0;
    }

    .note {
      color: var(--muted);
    }

    .download-grid,
    .feature-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 14px;
    }

    .download-card,
    .feature-item {
      min-width: 0;
      padding: 18px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--panel);
    }

    .download-card strong,
    .feature-item strong {
      display: block;
      margin-bottom: 6px;
      font-size: 1.05rem;
    }

    .download-card a {
      overflow-wrap: anywhere;
      font-weight: 700;
    }

    .screenshots {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 16px;
    }

    figure {
      margin: 0;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--panel);
    }

    figure img {
      display: block;
      width: 100%;
      height: auto;
    }

    figcaption {
      padding: 10px 12px;
      color: var(--muted);
      font-size: 0.92rem;
      border-top: 1px solid var(--line);
    }

    table {
      width: 100%;
      border-collapse: collapse;
      overflow-wrap: anywhere;
    }

    th,
    td {
      padding: 12px 14px;
      text-align: left;
      vertical-align: top;
      border-bottom: 1px solid var(--line);
    }

    th {
      width: 190px;
      color: #25343b;
      background: var(--accent-soft);
      font-weight: 700;
    }

    tr:last-child th,
    tr:last-child td {
      border-bottom: 0;
    }

    code {
      padding: 2px 5px;
      border-radius: 4px;
      background: #eef3ed;
      font-family: Consolas, "Courier New", monospace;
      font-size: 0.95em;
    }

    .history {
      margin: 0;
      padding-left: 1.2em;
    }

    .tag-list {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .tag-list li {
      padding: 6px 10px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: var(--panel);
      color: #25343b;
      font-size: 0.95rem;
    }

    .footer {
      width: min(1120px, calc(100% - 40px));
      margin: 0 auto;
      padding: 0 0 40px;
      color: var(--muted);
      font-size: 0.92rem;
    }

    @keyframes scan-sweep {
      0% {
        transform: translateX(-42%);
        opacity: 0.18;
      }

      45% {
        opacity: 0.38;
      }

      100% {
        transform: translateX(42%);
        opacity: 0.18;
      }
    }

    @keyframes status-flow {
      from {
        background-position: 0 0;
      }

      to {
        background-position: 220% 0;
      }
    }

    @media (max-width: 820px) {
      .hero {
        min-height: 62vh;
      }

      .layout {
        grid-template-columns: 1fr;
        gap: 24px;
        width: min(100% - 28px, 1120px);
      }

      .hero-inner,
      .footer {
        width: min(100% - 28px, 1120px);
      }

      .toc {
        position: static;
      }

      .lang-block {
        grid-template-columns: 1fr;
      }

      section {
        padding: 22px 18px;
      }

      th,
      td {
        display: block;
        width: 100%;
      }

      th {
        border-bottom: 0;
      }
    }
