.theme2-root { min-height: 100%; background: #090b12; color-scheme: dark; }
.theme2-login { --t2-text: #f4f4fa; --t2-muted: #9095a9; --t2-line: #282b3c; margin: 0; min-width: 280px; min-height: 100vh; color: var(--t2-text); background: radial-gradient(ellipse at 50% 16%, rgba(83, 64, 133, .17), transparent 55%), radial-gradient(ellipse at 80% 85%, rgba(40, 74, 121, .09), transparent 48%), #090b12; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: 14px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
.theme2-login * { box-sizing: border-box; }
.theme2-login button, .theme2-login input { font: inherit; }
.theme2-login a { color: inherit; text-decoration: none; }
.theme2-login svg { display: block; flex-shrink: 0; }
.theme2-login [hidden] { display: none !important; }
.theme2-main { display: flex; align-items: center; justify-content: center; min-height: 100vh; min-height: 100svh; padding: 40px 20px; }
.theme2-access { position: relative; width: 100%; max-width: 430px; padding: 34px 34px 25px; border: 1px solid rgba(156, 158, 194, .17); border-radius: 22px; background: linear-gradient(155deg, #171a27, #121520 75%); box-shadow: 0 24px 90px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .025); }
.theme2-access__edge { position: absolute; top: -1px; left: 20%; right: 20%; height: 1px; background: linear-gradient(90deg, transparent, #8c81cb, transparent); opacity: .65; }
.theme2-brand { text-align: center; margin-bottom: 30px; }
.theme2-logo { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; }
.theme2-logo img { display: block; width: auto; max-width: 136px; max-height: 62px; object-fit: contain; }
.theme2-site-name { margin: 15px 0 6px; color: #f5f3ff; font-size: 29px; line-height: 1.25; letter-spacing: -.035em; font-weight: 600; overflow-wrap: anywhere; animation: theme2-name-reveal .85s cubic-bezier(.2, .7, .25, 1) both; }
.theme2-site-name--long { font-size: 24px; }
.theme2-brand > p { margin: 0; color: var(--t2-muted); font-size: 13px; overflow-wrap: anywhere; }
.theme2-form { margin: 0; }
.theme2-field { margin-bottom: 20px; }
.theme2-field label { display: block; margin-bottom: 8px; color: #d9dae5; font-size: 12px; font-weight: 500; }
.theme2-input-wrap { position: relative; display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 0 14px; border: 1px solid #303345; border-radius: 10px; background: #10131e; transition: border-color .2s ease, box-shadow .2s ease; }
.theme2-input-wrap > svg { width: 18px; height: 18px; color: #73788f; }
.theme2-input-wrap:focus-within { border-color: #968be1; box-shadow: 0 0 0 3px rgba(145, 127, 223, .12); }
.theme2-input-wrap:focus-within > svg { color: #bdb1f2; }
.theme2-input-wrap input { width: 100%; min-width: 0; height: 50px; padding: 0; border: 0; outline: 0; background: transparent; color: var(--t2-text); font-size: 16px; border-radius: 3px; }
.theme2-input-wrap input::placeholder { color: #73798f; opacity: 1; font-size: 13px; }
.theme2-input-wrap input:-webkit-autofill { -webkit-text-fill-color: #f4f4fa; box-shadow: 0 0 0 1000px #171b2a inset; caret-color: #f4f4fa; }
.theme2-password-toggle { flex-shrink: 0; min-width: 43px; min-height: 44px; padding: 0 2px; border: 0; border-radius: 5px; background: none; color: #a4a6bc; font-size: 11px !important; cursor: pointer; }
.theme2-password-toggle:hover { color: #e5deff; }
.theme2-submit { display: flex; justify-content: center; align-items: center; gap: 11px; width: 100%; min-height: 50px; margin-top: 26px; padding: 12px 20px; border: 1px solid #8371dc; border-radius: 10px; color: #fff; background: linear-gradient(105deg, #7962d2, #655fce); box-shadow: 0 4px 16px rgba(74, 54, 137, .17), inset 0 1px 0 rgba(255,255,255,.1); font-size: 13px !important; font-weight: 600 !important; cursor: pointer; transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.theme2-submit:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 6px 22px rgba(112, 89, 200, .28); background: linear-gradient(105deg, #8770df, #746dda); }
.theme2-submit__arrow { width: 17px; height: 17px; }
.theme2-submit:disabled { cursor: wait; opacity: .65; }
.theme2-submit__spinner { display: none; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,.2); border-top-color: #fff; border-radius: 50%; animation: theme2-spin .8s linear infinite; }
.theme2-submit.is-loading .theme2-submit__arrow { display: none; }
.theme2-submit.is-loading .theme2-submit__spinner { display: inline-block; }
.theme2-access-note { margin: 20px 0 0; color: #8c90a6; text-align: center; font-size: 12px; line-height: 1.8; }
.theme2-access-note .theme2-administrator { color: #c5baf4; text-decoration: underline; text-decoration-color: rgba(197, 186, 244, .4); text-underline-offset: 3px; transition: color .2s ease, text-decoration-color .2s ease; }
.theme2-access-note .theme2-administrator:hover { color: #e4ddff; text-decoration-color: currentColor; }
.theme2-captcha { display: flex; justify-content: center; margin: 24px 0; }
.theme2-status { margin: 18px 0 0; padding: 12px 14px; border: 1px solid rgba(248,143,163,.25); border-radius: 9px; background: rgba(104,43,67,.15); color: #ffbbca; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.theme2-status--success { color: #b9f3df; border-color: rgba(140,227,196,.25); background: rgba(37,101,78,.13); }
.theme2-community { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--t2-line); }
.theme2-telegram { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 12px; border: 1px solid rgba(135, 156, 190, .14); border-radius: 12px; background: rgba(63, 82, 117, .07); transition: background-color .2s ease, border-color .2s ease; }
.theme2-telegram:hover { background: rgba(82, 100, 148, .13); border-color: rgba(135, 156, 190, .28); }
.theme2-telegram__icon { display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 10px; background: rgba(39, 156, 210, .09); }
.theme2-telegram__icon svg { width: 24px; height: 24px; }
.theme2-telegram__copy { display: flex; flex-direction: column; gap: 4px; min-width: 0; overflow-wrap: anywhere; }
.theme2-telegram__copy strong { color: #d9dfea; font-size: 12px; font-weight: 500; }
.theme2-telegram__copy > span { color: #929eb5; font-size: 11px; line-height: 1.6; }
.theme2-telegram__arrow { width: 16px; height: 16px; margin-left: auto; color: #8c96ad; }
.theme2-login a:focus-visible, .theme2-login button:focus-visible, .theme2-login [tabindex]:focus-visible { outline: 2px solid #b8a6ff; outline-offset: 4px; }
@keyframes theme2-name-reveal { from { opacity: 0; transform: translateY(7px); filter: blur(2px); } to { opacity: 1; transform: translateY(0); filter: blur(0); } }
@keyframes theme2-spin { to { transform: rotate(360deg); } }
@media (max-width: 480px) { .theme2-main { padding: 22px 18px; } .theme2-access { padding: 27px 24px 22px; border-radius: 19px; } .theme2-brand { margin-bottom: 27px; } .theme2-logo img { max-width: 120px; max-height: 56px; } .theme2-site-name { margin-top: 13px; font-size: 27px; } .theme2-site-name--long { font-size: 22px; } .theme2-brand > p { font-size: 12px; } .theme2-field { margin-bottom: 18px; } .theme2-submit { margin-top: 24px; } .theme2-community { margin-top: 26px; padding-top: 22px; } }
@media (max-width: 350px) { .theme2-main { padding-inline: 12px; } .theme2-access { padding-inline: 19px; } .theme2-telegram { gap: 10px; padding: 10px; } }
@media (prefers-reduced-motion: reduce) { .theme2-login *, .theme2-login *::before, .theme2-login *::after { animation: none !important; transition: none !important; } .theme2-submit:hover:not(:disabled) { transform: none; } }
