* {
        box-sizing: border-box;
      }

      body {
        margin: 0;
        padding: 24px;
        background: #0f172a;
        color: #e5e7eb;
        font-family: Pretendard, "Noto Sans KR", Arial, sans-serif;
      }

      .container {
        max-width: 980px;
        margin: 0 auto;
      }

      .hero {
        padding: 22px;
        border-radius: 18px;
        background: linear-gradient(135deg, rgba(37, 99, 235, 0.28), rgba(15, 23, 42, 0.95));
        border: 1px solid rgba(255, 255, 255, 0.1);
        margin-bottom: 22px;
      }

      h1 {
        margin: 0 0 8px;
        font-size: 28px;
      }

      .sub {
        margin: 0;
        color: #94a3b8;
        line-height: 1.5;
      }

      .section-title {
        margin: 22px 0 12px;
        color: #cbd5e1;
        font-size: 15px;
        font-weight: 800;
      }

      .grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 14px;
      }

      .card {
        padding: 18px;
        border-radius: 16px;
        background: rgba(30, 41, 59, 0.78);
        border: 1px solid rgba(255, 255, 255, 0.1);
      }

      .card h2 {
        margin: 0 0 12px;
        font-size: 18px;
      }

      .buttons {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
      }

      a.button,
      button.button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 36px;
        padding: 8px 12px;
        border-radius: 10px;
        border: 1px solid rgba(255, 255, 255, 0.14);
        background: rgba(255, 255, 255, 0.08);
        color: #fff;
        text-decoration: none;
        font-size: 14px;
        font-weight: 700;
        cursor: pointer;
      }

      a.button:hover,
      button.button:hover {
        background: rgba(255, 255, 255, 0.16);
      }

      .blue {
        background: rgba(37, 99, 235, 0.78) !important;
      }

      .green {
        background: rgba(0, 143, 90, 0.78) !important;
      }

      .red {
        background: rgba(185, 28, 28, 0.78) !important;
      }

      .soop {
        background: rgba(37, 99, 235, 0.65) !important;
      }

      .muted {
        margin: 10px 0 0;
        color: #94a3b8;
        font-size: 13px;
        line-height: 1.5;
      }

      form {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
        margin-bottom: 10px;
      }

      input {
        flex: 1;
        min-width: 210px;
        height: 38px;
        padding: 0 12px;
        border-radius: 10px;
        border: 1px solid rgba(255, 255, 255, 0.14);
        background: rgba(255, 255, 255, 0.08);
        color: #fff;
        outline: none;
      }

      input::placeholder {
        color: #94a3b8;
      }
