:root {
        --bg: #f3faf8;
        --panel: #ffffff;
        --text: #1d2931;
        --muted: #5b6b73;
        --accent: #5fbdb5;
        --accent-2: #7fd2cb;
      }
      * { box-sizing: border-box; }
      body {
        margin: 0;
        font-family: "Source Sans 3", "Noto Serif SC", "Segoe UI", sans-serif;
        background: radial-gradient(circle at top, #e9f7f5, var(--bg));
        color: var(--text);
        min-height: 100vh;
        display: grid;
        place-items: center;
        padding: 24px;
      }
      .card {
        width: min(420px, 92vw);
        background: var(--panel);
        border-radius: 18px;
        padding: 28px 26px;
        box-shadow: 0 30px 60px rgba(28, 25, 18, 0.18);
        border: 1px solid rgba(0, 0, 0, 0.06);
      }
      .title {
        font-size: 22px;
        font-weight: 700;
        margin-bottom: 6px;
      }
      .subtitle {
        color: var(--muted);
        font-size: 13px;
        margin-bottom: 18px;
      }
      form { display: grid; gap: 12px; }
      label {
        font-size: 12px;
        color: var(--muted);
        display: grid;
        gap: 6px;
      }
      input {
        padding: 10px 12px;
        border-radius: 12px;
        border: 1px solid rgba(0, 0, 0, 0.18);
        font: inherit;
        background: #fff;
      }
      button {
        margin-top: 6px;
        padding: 10px 14px;
        border-radius: 999px;
        border: none;
        background: var(--accent);
        color: #fff;
        font-weight: 600;
        cursor: pointer;
        box-shadow: 0 10px 20px rgba(95, 189, 181, 0.35);
      }
      .error {
        color: #c23c3c;
        font-size: 12px;
        min-height: 16px;
      }
      .success {
        color: #287a59;
        font-size: 12px;
        min-height: 16px;
      }
      .hint {
        margin-top: 14px;
        font-size: 12px;
        color: var(--muted);
      }
      .auth-links {
        margin-top: 14px;
        display: flex;
        justify-content: center;
        gap: 8px;
        font-size: 12px;
        color: var(--muted);
      }
      .auth-links a {
        color: #2f6f6b;
        text-decoration: none;
        font-weight: 600;
      }
      .auth-links a:hover {
        text-decoration: underline;
      }
      .footer {
        margin-top: 18px;
        font-size: 12px;
        color: var(--muted);
        text-align: center;
      }
