summary[data-astro-cid-z7maa3oq]::-webkit-details-marker{display:none}summary[data-astro-cid-z7maa3oq]{list-style:none}/* =====================================
     Base / Rendering
     ===================================== */
      * {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
      }

      /* =====================================
     Prose Images
     ===================================== */
      .prose img {
        width: 100%;
        margin: 0 auto;
      }

      /* =====================================
     Article Base
     ===================================== */
      .poetic-prose {
        font-family: "Inter", "Noto Sans JP", sans-serif;
        color: #374151;
      }

      /* =====================================
     Headings
     ===================================== */
      .poetic-prose h2 {
        font-family: "Playfair Display", "Noto Serif JP", serif;
        font-size: 1.75rem;
        font-weight: 400;
        color: #111827;
        margin-top: 4rem;
        margin-bottom: 1.5rem;
        padding-bottom: 0.75rem;
        line-height: 1.55;
        border-bottom: 1px solid #f0f0f0;
      }

      .poetic-prose h3 {
        font-family: "Inter", "Noto Sans JP", sans-serif;
        font-size: 1.0625rem;
        font-weight: 600;
        color: #1f2937;
        margin-top: 2.5rem;
        margin-bottom: 1rem;
        letter-spacing: 0.01em;
      }

      /* =====================================
     Paragraphs
     ===================================== */
      .poetic-prose p {
        color: #374151;
        line-height: 2;
        margin: 1.75rem 0;
        font-weight: 400;
      }

      /* =====================================
     Images inside article
     ===================================== */
      .poetic-prose img {
        border-radius: 4px;
        border: 1px solid #f3f4f6;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
      }

      /* =====================================
     Blockquote
     ===================================== */
      .poetic-prose blockquote {
        border-left: 2px solid #d1d5db;
        padding: 1.25rem 1.5rem;
        margin: 3rem 0;
        color: #6b7280;
        font-weight: 400;
        background: #f9fafb;
        border-radius: 0 4px 4px 0;
      }

      .poetic-prose blockquote p {
        margin: 0.5rem 0;
        line-height: 1.85;
      }

      /* =====================================
     Inline Code / Pre
     ===================================== */
      .poetic-prose code {
        color: #374151;
        background-color: #f3f4f6;
        padding: 0.125rem 0.5rem;
        border-radius: 0.25rem;
        font-size: 0.85rem;
      }

      .poetic-prose pre {
        background-color: #f9fafb;
        border: 1px solid #e5e7eb;
        border-radius: 4px;
        padding: 1.5rem;
        margin: 3rem 0;
        font-size: 0.875rem;
        line-height: 1.7;
      }

      /* =====================================
     Horizontal Rule
     ===================================== */
      .poetic-prose hr {
        border: none;
        height: 1px;
        background: linear-gradient(
          to right,
          transparent,
          #e5e7eb,
          transparent
        );
        margin: 4rem 0;
      }

      /* =====================================
     Lists
     ===================================== */
      .poetic-prose ul,
      .poetic-prose ol {
        margin: 2rem 0;
        color: #374151;
      }

      .poetic-prose li {
        margin: 0.75rem 0;
        line-height: 1.85;
        font-weight: 400;
      }

      .poetic-prose ul li::before {
        content: "・";
        color: #9ca3af;
        margin-right: 0.5rem;
      }

      .poetic-prose ul li ul {
        margin: 0.5rem 0 0.5rem 1.5rem;
      }

      .poetic-prose ul li ul li::before {
        color: #cbd5e1;
      }

      /* markerなし */
      .poetic-prose ul.no-marker li::before,
      .poetic-prose .no-marker ul li::before {
        content: none;
      }

      /* =====================================
     Tables
     ===================================== */
      .poetic-prose table {
        width: 100%;
        max-width: 100%;
        table-layout: auto;
        border-collapse: collapse;
        margin: 0 auto;
      }

      .poetic-prose thead {
        background: #f9fafb;
        border-bottom: 1px solid #e5e7eb;
      }

      .poetic-prose thead th {
        padding: 0.75rem;
        text-align: left;
        font-weight: 600;
        color: #4b5563;
        font-size: 0.75rem;
        letter-spacing: 0.05em;
      }

      .poetic-prose tbody tr {
        border-bottom: 1px solid #f3f4f6;
      }

      .poetic-prose tbody tr:last-child {
        border-bottom: none;
      }

      .poetic-prose tbody tr:hover {
        background-color: rgba(249, 250, 251, 0.8);
      }

      .poetic-prose tbody td {
        padding: 1rem 0.75rem;
        color: #374151;
        vertical-align: top;
        line-height: 1.7;
      }

      .poetic-prose tbody td:first-child {
        font-weight: 500;
        color: #6b7280;
        white-space: nowrap;
        padding-left: 1.25rem;
      }

      /* =====================================
     Strong
     ===================================== */
      .poetic-prose strong {
        font-weight: 700;
        color: #111827;
        background: rgba(254, 243, 199, 0.55);
        padding: 0 0.15em;
        border-radius: 2px;
      }

      /* =====================================
     Embeds
     ===================================== */
      .poetic-prose iframe {
        margin-top: 2rem;
      }

      /* =====================================
     Prevent Horizontal Scroll
     ===================================== */
      html,
      body {
        overflow-x: clip;
      }

      /* テーブルのレスポンシブ対応 */
      @media (max-width: 768px) {
        .poetic-prose table {
          overflow-x: auto;
          -webkit-overflow-scrolling: touch;
        }

        .poetic-prose tbody td {
          padding: 0.5rem 0.75rem;
        }

        .poetic-prose tbody td:first-child {
          white-space: normal;
          padding-left: 0.75rem;
        }
      }