body {
        background: #f3f9fe;
        margin: 0;
        padding: 0;
        font-family: "Segoe UI", Arial, sans-serif;
        color: #182741;
      }
      .container {
        max-width: 420px;
        margin: 36px auto 0 auto;
        background: #fff;
        border-radius: 19px;
        box-shadow: 0 5px 22px #0c7fc230;
        padding: 30px 15px 20px 15px;
        display: flex;
        flex-direction: column;
        align-items: stretch;
      }
      .logo {
        font-size: 1.25em;
        font-weight: bold;
        color: #1684e5;
        text-align: center;
        margin-bottom: 12px;
        letter-spacing: -1px;
      }
      .desc {
        text-align: center;
        color: #1b6688;
        margin-bottom: 19px;
        font-size: 1.05em;
      }
      .input-row {
        margin-bottom: 12px;
        display: flex;
        flex-direction: column;
        gap: 8px;
      }
      .label {
        color: #1684e5;
        font-size: 0.99em;
        margin-bottom: 2px;
      }
      textarea,
      input[type="number"] {
        width: 100%;
        border-radius: 7px;
        border: 1.2px solid #c9e8fa;
        padding: 10px 10px;
        font-size: 1.06em;
        background: #fafdff;
        color: #203b59;
        box-sizing: border-box;
        margin-bottom: 2px;
        resize: none;
        transition: border 0.13s;
      }
      textarea:focus,
      input[type="number"]:focus {
        border-color: #188cd4;
        outline: none;
      }
      .control-row {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 15px;
        flex-wrap: wrap;
        justify-content: space-between;
      }
      .team-num-input {
        width: 85px;
        font-size: 1.02em;
      }
      .gen-btn {
        background: linear-gradient(90deg, #1684e5, #16b66e);
        color: #fff;
        border: none;
        border-radius: 9px;
        font-size: 1.09em;
        font-weight: bold;
        padding: 11px 18px;
        cursor: pointer;
        box-shadow: 0 2px 10px #1684e522;
        letter-spacing: 0.01em;
        transition: background 0.16s;
      }
      .gen-btn:active {
        background: linear-gradient(90deg, #11608a, #17a964);
      }
      .result-list {
        margin: 14px 0 15px 0;
        display: flex;
        flex-direction: column;
        gap: 14px;
      }
      .team-block {
        background: #f2faff;
        border: 1.2px solid #b5dbf9;
        border-radius: 12px;
        padding: 13px 10px 10px 12px;
        box-shadow: 0 2px 8px #1684e525;
        font-size: 1.06em;
        display: flex;
        flex-direction: column;
        min-height: 46px;
        margin-bottom: 3px;
      }
      .team-title {
        color: #1787e2;
        font-weight: bold;
        font-size: 1.09em;
        margin-bottom: 7px;
      }
      .team-names {
        color: #17658a;
        font-size: 1em;
        line-height: 1.7;
      }
      .hint {
        color: #18b88a;
        font-size: 0.97em;
        margin: 5px 0 7px 0;
        text-align: center;
        min-height: 20px;
      }
      .adsense {
        text-align: center;
        margin: 8px 0 9px 0;
      }
      .footer {
        color: #789;
        text-align: center;
        font-size: 0.93em;
        margin-top: 11px;
      }
      @media (max-width: 600px) {
        .container {
          max-width: 99vw;
          padding: 12px 2vw 9px 2vw;
        }
        .result-row {
          font-size: 1em;
        }
      }
      #backBtn {
        position: fixed;
        left: 50%;
        bottom: 32px;
        transform: translateX(-50%);
        background: #13b6a7;
        color: #fff;
        font-weight: 700;
        border: none;
        border-radius: 2rem;
        padding: 0.58em 1.5em;
        box-shadow: 0 4px 16px #13d2b066;
        font-size: 1.09em;
        text-decoration: none;
        cursor: pointer;
        letter-spacing: 0.01em;
        transition:
          background 0.15s,
          transform 0.12s;
        z-index: 2000;
      }
      #backBtn:hover {
        background: #0e8078;
        transform: translateX(-50%) scale(1.04);
      }
      @media (max-width: 600px) {
        #backBtn {
          bottom: 18px;
          font-size: 0.98em;
          padding: 0.48em 1em;
        }
      }