:root {
  color-scheme: light;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #20242a;
  background: #f3f5f8;
}

* { box-sizing: border-box; }
body { min-width: 280px; min-height: 100vh; margin: 0; padding: 54px 20px; background: linear-gradient(180deg, #f8f9fb 0, #eef2f6 100%); }
.container { width: min(100%, 680px); margin: 0 auto; }
.back-link { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 28px; color: #4f5965; font-size: 13px; font-weight: 700; text-decoration: none; }
.back-link:hover { color: #161a20; }
h1 { margin: 0 0 9px; text-align: center; font-size: clamp(25px, 5vw, 32px); letter-spacing: -.035em; }
.subtitle { margin: 0 auto 28px; color: #6d7680; text-align: center; font-size: 14px; line-height: 1.6; }
.card { padding: clamp(20px, 5vw, 32px); border: 1px solid #d8dde3; border-radius: 10px; background: #fff; box-shadow: 0 14px 40px rgba(31, 44, 58, .08); }
h2 { margin: 0 0 22px; font-size: 17px; }
label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 700; }
label span { color: #8a929c; font-weight: 500; }
input { width: 100%; height: 43px; padding: 0 12px; border: 1px solid #cbd1d8; border-radius: 6px; outline: none; background: #fff; color: #20242a; font: inherit; font-size: 14px; }
input:focus { border-color: #1687ff; box-shadow: 0 0 0 3px rgba(22, 135, 255, .12); }
.captcha-area { margin: 24px 0; }
.token-panel { margin-bottom: 22px; padding: 16px; border: 1px solid #cfe2d7; border-radius: 7px; background: #f4fbf7; }
.token-panel[hidden] { display: none; }
.token-title { margin: 0 0 13px; color: #247447; font-size: 13px; font-weight: 750; }
.token-title i { margin-right: 6px; }
dl { display: grid; gap: 10px; margin: 0; }
dt { margin-bottom: 4px; color: #66716b; font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
dd { margin: 0; padding: 8px 9px; overflow-wrap: anywhere; border: 1px solid #d6e4dc; border-radius: 4px; background: #fff; color: #35413a; font-family: Consolas, "Liberation Mono", monospace; font-size: 11px; line-height: 1.45; }
button { font: inherit; }
.submit-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 46px; border: 0; border-radius: 6px; cursor: pointer; background: #262b31; color: #fff; font-size: 14px; font-weight: 750; }
.submit-button:hover:not(:disabled) { background: #0f1215; }
.submit-button:disabled { cursor: wait; opacity: .55; }
#result { display: none; margin-top: 20px; padding: 14px 15px; border-radius: 6px; font-size: 13px; line-height: 1.55; white-space: pre-line; }
#result.success { display: block; border: 1px solid #a9dfb8; background: #effaf2; color: #176b31; }
#result.error { display: block; border: 1px solid #e6b3b3; background: #fff2f2; color: #9d2525; }
.result-title { display: block; margin-bottom: 4px; font-weight: 800; }
.footer { margin: 17px auto 0; color: #7a838e; text-align: center; font-size: 12px; line-height: 1.55; }

@media (max-width: 440px) {
  body { padding: 30px 10px; }
  .card { border-radius: 8px; }
}
