
  * { box-sizing: border-box; margin: 0; padding: 0; }
  body {
    min-height: 100vh;
    padding: 24px 16px;
    display: flex; align-items: center; justify-content: center;
    background: #0f172a;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #e2e8f0;
  }
  .card {
    width: 100%; max-width: 380px;
    background: #1e293b;
    border-radius: 16px;
    padding: 32px 28px;
    box-shadow: 0 20px 60px rgba(0,0,0,.4);
  }
  h1 { font-size: 32px; line-height: 1.25; text-align: center; margin-bottom: 30px; font-weight: 700; letter-spacing: .04em; }
  label { display: block; font-size: 13px; color: #94a3b8; margin-bottom: 6px; }
  input {
    width: 100%; padding: 12px 14px; margin-bottom: 16px;
    border-radius: 10px; border: 1px solid #334155;
    background: #0f172a; color: #e2e8f0;
    font-size: 15px; outline: none;
  }
  input:focus { border-color: #6366f1; }
  button {
    width: 100%; padding: 13px; border: none;
    border-radius: 10px; background: #6366f1; color: #fff;
    font-size: 15px; font-weight: 600; cursor: pointer; margin-top: 6px;
  }
  button:disabled { opacity: .5; cursor: not-allowed; }
  .status { margin-top: 16px; font-size: 13px; color: #94a3b8; min-height: 20px; text-align: center; }
  .status.error { color: #f87171; }
  .status.success { color: #4ade80; }
  .progress-bar { height: 4px; background: #334155; border-radius: 2px; margin-top: 12px; overflow: hidden; display: none; }
  .progress-bar.active { display: block; }
  .progress-fill { height: 100%; width: 0%; background: #6366f1; transition: width .2s; }

#cap{margin:12px 0} [hidden]{display:none!important}
@media (max-width: 420px) { .card { padding: 30px 24px; } h1 { font-size: 30px; } }

.intro, .notice { color: #94a3b8; font-size: 13px; line-height: 1.6; }
.intro { margin-bottom: 22px; }
.notice { margin-top: 16px; }
fieldset { border: 0; min-inline-size: 0; }
legend { color: #94a3b8; font-size: 13px; margin-bottom: 6px; }
.methods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-bottom: 16px; }
.methods button { padding: 8px 3px; font-size: 12px; margin-top: 0; }

.brand-logo { display: block; margin: 0 auto 12px; object-fit: contain; }

[hidden] { display: none !important; }
select { width: 100%; margin-bottom: 16px; padding: 12px 14px; border: 1px solid #475569; border-radius: 8px; background: #0f172a; color: #e2e8f0; }
.portal-toolbar { display: flex; justify-content: flex-end; }
.portal-toolbar button { width: auto; margin-top: 0; font-size: 12px; }
.actions { display: flex; flex-wrap: wrap; gap: 8px; }
.actions button { flex: 1 1 120px; }
#status, #bindingState, .muted, #pluginConfirm p { font-size: 13px; line-height: 1.6; color: #94a3b8; margin: 12px 0; }
#captcha { border: 0; width: 100%; min-height: 150px; background: white; }
#qr { display: block; margin: 16px auto; max-width: 100%; }
