.fh-tg-auth {width:min(440px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;margin:auto;padding:26px;border:1px solid #d9cdef;border-radius:28px;background:#f8f5ff;color:#2c214a;box-shadow:0 28px 90px #10092555;font:inherit;animation:fh-tg-appear 300ms cubic-bezier(.16,1,.3,1);}
.fh-tg-auth::backdrop {background:#100a29a8;backdrop-filter:blur(6px);}
.fh-tg-auth header {display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px;}
.fh-tg-auth h2 {font-size:clamp(23px,5vw,29px);line-height:1.2;margin:0;}
.fh-tg-auth [hidden] {display:none!important;}
.fh-tg-close {display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;padding:9px;border:1px solid #cdb6f3;border-radius:50%;background:#eee3ff;color:#59369b;cursor:pointer;transition:transform 220ms,background 220ms;}
.fh-tg-close svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;transition:transform 250ms;}
.fh-tg-close:hover {background:#e2d1fc;}.fh-tg-close:hover svg {transform:rotate(90deg);}.fh-tg-close:active {transform:scale(.92);}
.fh-tg-status,.fh-tg-hint {font-family:inherit;font-size:15px;font-weight:500;line-height:1.6;overflow-wrap:anywhere;}
.fh-tg-status {margin:0 0 18px;}.fh-tg-hint {color:#726384;margin:16px 0 22px;}
.fh-tg-code {display:block;padding:16px;text-align:center;letter-spacing:.18em;font:700 30px/1.2 monospace;border:1px solid #d7c4f6;border-radius:15px;background:#eee5fc;color:#54309a;}
.fh-tg-actions {display:flex;flex-direction:column;gap:12px;}
.fh-tg-open,.fh-tg-primary {display:flex;align-items:center;justify-content:center;width:100%;min-height:49px;padding:12px 20px;border:0;border-radius:15px;background:linear-gradient(105deg,#6239c3,#49359a);color:#fff!important;text-decoration:none;font-family:inherit;font-size:15px;font-weight:700;line-height:1.4;cursor:pointer;box-shadow:0 4px 0 #382375;transition:transform 220ms,box-shadow 220ms;}
.fh-tg-actions>:hover {transform:translateY(-2px);box-shadow:0 6px 0 #382375;}.fh-tg-actions>:active {transform:translateY(2px);box-shadow:0 1px 0 #382375;}
.fh-tg-auth button:disabled {opacity:.65;cursor:wait;}.fh-tg-auth :focus-visible {outline:3px solid #a98ae5;outline-offset:4px;}
@keyframes fh-tg-appear {from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.fh-tg-auth,.fh-tg-auth *{animation:none!important;transition:none!important;}}

.fh-tg-qr {display:block;width:min(256px,100%);height:auto;margin:0 auto 18px;padding:0;border:1px solid #ded4ed;border-radius:12px;background:white;image-rendering:pixelated;}
.fh-tg-time {text-align:center;color:#726384;font-size:14px;margin:12px 0;font-variant-numeric:tabular-nums;}
