:root { --main: #198dae; --bg: #f8fcff;}
    html, body { margin: 0; padding: 0; background: var(--bg);}
    body { font-family: "Segoe UI", Arial, sans-serif; color: #234;}
    .container {
      max-width: 390px; margin: 38px auto 0 auto; background: #fff;
      border-radius: 18px; box-shadow: 0 4px 22px #198dae18;
      padding: 25px 14px 20px 14px;
    }
    .title { text-align: center; font-size: 1.19em; color: var(--main); font-weight: bold; margin-bottom: 8px; }
    .tab-row { display: flex; gap: 6px; margin-bottom: 12px; justify-content: center;}
    .tab-btn {
      flex:1;
      background: #e4f6fb; color: #1882b4; border:none;
      border-radius: 7px 7px 0 0; padding: 10px 3px;
      font-size: 1.05em; font-weight: 600; cursor: pointer;
      transition: background 0.14s, color 0.11s;
      box-shadow: 0 2px 7px #1882b40b;
    }
    .tab-btn.active {
      background: var(--main);
      color: #fff;
      box-shadow: 0 2px 9px #1882b438;
    }
    form { margin-bottom: 0; }
    .form-row { display: flex; flex-direction: column; gap: 6px; margin-bottom: 13px;}
    .form-row label { font-size: 1em; color: #146078; font-weight: 500;}
    .form-row input[type="number"] {
      box-sizing: border-box;
      padding: 10px 10px;
      border-radius: 7px;
      border: 1.2px solid #b9e6f7;
      font-size: 1.09em;
      width: 100%;
      background: #fafdff;
      color: #234;
      transition: border 0.15s;
    }
    .form-row input[type="number"]:focus { border-color: var(--main);}
    .btn {
      background: var(--main); color: #fff; border: none; border-radius: 8px;
      padding: 13px 0; width: 100%; font-size: 1.13em; font-weight: bold; cursor: pointer;
      margin-top: 7px; margin-bottom: 9px; box-shadow: 0 2px 12px #198dae22;
      transition: background 0.16s;
    }
    .btn:active { background: #115b73; }
    .result {
      background: #e5f7fa;
      border-radius: 12px;
      color: #1882b4;
      font-size: 1.07em;
      padding: 13px 11px 10px 11px;
      text-align: center;
      margin-bottom: 9px;
      min-height: 38px;
      font-weight: 500;
      word-break: break-word;
    }
    .footer { color: #789; text-align: center; font-size: 0.94em; margin-top: 14px;}
    section#faq { margin-top: 32px;}
    section#faq h2 { margin-bottom: 13px; color: #198dae; font-size: 1.09em; text-align: center;}
    section#faq dt { font-weight: bold; margin-top: 8px;}
    section#faq dd { margin: 0 0 7px 0; font-size: 0.98em; color: #1882b4;}
    #backBtn {
      position: fixed; left: 50%; bottom: 32px; transform: translateX(-50%);
      background: #198dae; color: #fff; font-weight: 700; border: none; border-radius: 2rem;
      padding: 0.58em 1.5em; box-shadow: 0 4px 16px #198dae33; 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: #115b73; transform: translateX(-50%) scale(1.04);}
    @media (max-width: 500px) {
      .container { max-width: 98vw; padding: 10px 2vw 10px 2vw;}
      #backBtn { bottom: 18px; font-size: 0.98em; padding: 0.48em 1em;}
    }