  :root{
    --bg1:#1c1e21;
    --bg2:#242a2f;
    --card:#1c1e21;
    --field:#242a2f;
    --text:#e4e6eb;
    --muted:#b0b3b8;
    --line:#3a3b3c;
    --primary:#0095f6;
    --primary-hover:#0077cc;
    --radius:12px;
  }

  html,body{height:100%}
  body{
    margin:0;
    font-family: Arial, system-ui, sans-serif;
    background: radial-gradient(120% 120% at 20% 0%, #20262b 0%, var(--bg2) 55%, var(--bg1) 100%);
    display:grid;
    place-items:center;
    color:var(--text);
  }

  .shell{
    width:340px;
    padding:60px 40px 36px;
    background:var(--card);
    border-radius:10px;
    box-shadow:0 6px 24px rgba(0,0,0,.45);
    box-sizing:border-box;
  }

  .logo{
    display:grid;
    place-items:center;
    margin-bottom:30px;
  }
  .logo img{width:64px;height:64px;border-radius:14px}

  h2{
    text-align:center;
    font-size:20px;
    margin-bottom:20px;
  }

  form{
    display:flex;
    flex-direction:column;
    gap:12px;
  }

  .field{
    height:44px;
    background:var(--field);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:0 14px;
    color:var(--text);
    font-size:14px;
    outline:none;
    box-sizing:border-box;
    transition:border-color .2s,box-shadow .2s;
  }
  .field::placeholder{color:var(--muted)}

  .btn{
    height:46px;
    border:none;
    border-radius:999px;
    background:var(--primary);
    color:white;
    font-weight:600;
    font-size:15px;
    cursor:pointer;
    text-decoration:none;
    display:flex;
    align-items:center;
    justify-content:center;
    user-select:none;
    box-shadow:0 4px 12px rgba(0,0,0,.15);
    transition:background .2s;
    outline:none;
    margin-top:4px;
    gap:8px;
  }
  .btn:hover{background:var(--primary-hover)}

  .divider{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:12px;
    color:var(--muted);
    font-size:13px;
    margin:16px 0;
  }
  .divider::before,
  .divider::after{
    content:"";
    height:1px;
    background:var(--line);
    display:block;
  }

  .login{
    text-align:center;
    margin-top:12px;
    color:var(--muted);
    font-size:14px;
    user-select:none;
    line-height:18px;
  }

  .login a{
    color:var(--primary);
    text-decoration:none;
    font-weight:700;
  }

  .meta{
    text-align:center;
    margin-top:20px;
    color:var(--muted);
    font-size:12px;
    user-select:none;
    line-height:16px;
  }