@import "github-markdown-css/github-markdown.css";

.Sphone {
  padding: 30px;

  .markdown-body {
    font-size: 30px;
    line-height: 1.8;
    color: #2c3e50;
    word-wrap: break-word;
    overflow-wrap: break-word;

    h1 {
      font-size: 44px;
      font-weight: 800;
      color: #1a1a2e;
      margin: 48px 0 24px;
      padding-bottom: 16px;
      border-bottom: 2px solid #e8e8e8;
    }

    h2 {
      font-size: 38px;
      font-weight: 700;
      color: #2c3e50;
      margin: 40px 0 20px;
      padding-bottom: 12px;
      border-bottom: 1px solid #f0f0f0;
    }

    h3 {
      font-size: 34px;
      font-weight: 600;
      color: #34495e;
      margin: 32px 0 16px;
    }

    blockquote {
      margin: 24px 0;
      padding: 20px 24px;
      border-left: 6px solid #4facfe;
      background: #f8fbff;
      border-radius: 0 12px 12px 0;
      color: #4a5568;
    }

    pre {
      margin: 24px 0;
      padding: 24px;
      background: #1e1e2e;
      border-radius: 12px;
      overflow-x: auto;

      code {
        font-family: "SF Mono", "Fira Code", Menlo, Monaco, Consolas, monospace;
        font-size: 26px;
        color: #e2e8f0;
        background: none;
        padding: 0;
      }
    }

    code {
      font-size: 0.88em;
      padding: 4px 10px;
      background: #f1f5f9;
      color: #e53e3e;
      border-radius: 6px;
    }

    img {
      display: block;
      margin: 24px auto;
      max-width: 100%;
      height: auto;
      border-radius: 8px;
    }

    a {
      color: #4facfe;
      text-decoration: none;
    }

    table {
      width: 100%;
      display: block;
      overflow-x: auto;

      th {
        background: #f8fafc;
        font-weight: 600;
        padding: 16px 20px;
        border: 1px solid #e2e8f0;
        font-size: 28px;
      }

      td {
        padding: 14px 20px;
        border: 1px solid #e2e8f0;
        font-size: 28px;
      }

      tr:nth-child(even) {
        background: #f8fafc;
      }
    }
  }

  .joinSalon {
    margin-top: 40px;
    margin-bottom: 40px;
    border-radius: 12px;
    font-weight: 600;
    background-color: #72D572;
    border-color: #72D572;
  }
}

@media (min-width: 768px) {
  .Sphone {
    padding: 30px 60px;

    .markdown-body {
      font-size: 16px;
      max-width: 800px;
      margin: 0 auto;

      h1 { font-size: 28px; }
      h2 { font-size: 24px; }
      h3 { font-size: 20px; }
      pre code { font-size: 14px; }
      table th, table td { font-size: 15px; padding: 10px 16px; }
    }

    .joinSalon {
      max-width: 400px;
      margin-left: auto;
      margin-right: auto;
      display: block;
    }
  }
}

@media (min-width: 1024px) {
  .Sphone {
    display: flex;
    flex-direction: column;
    align-items: center;

    .markdown-body {
      width: 720px;
      font-size: 17px;

      pre code { font-size: 14px; }
      img { max-width: 90%; }
    }
  }
}
