@import url("./common.css");

/* Вход и кабинет используют одну палитру, без внешних шрифтов и графики. */
.auth-screen { position: relative; isolation: isolate; overflow: hidden; min-height: 100vh; background: var(--surface); }
.auth-header { display: flex; align-items: center; justify-content: space-between; max-width: 1240px; padding: 32px 40px; margin: auto; }
.auth-header, .auth-footer, .auth-intro-content, .auth-main > .login-card { position: relative; z-index: 1; }
.auth-appearance { display: flex; align-items: center; gap: 8px; }
.auth-appearance .icon-button { width: 36px; height: 36px; border: 1px solid var(--border); opacity: .2; }
.auth-appearance .icon-button[aria-pressed="true"] { background: var(--accent-soft); color: var(--accent-text); }
/* Canvas не перехватывает мышь, форма и текст остаются перед декоративным слоем. */
.auth-pulse { position: absolute; inset: 0; z-index: 0; pointer-events: none; mask-image: linear-gradient(transparent 12%, #000 42%, #000 92%, transparent); }
.auth-pulse canvas { display: block; width: 100%; height: 100%; }
.auth-main { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 90px; max-width: 1120px; min-height: calc(100vh - 210px); padding: 48px 40px 70px; margin: auto; }
.auth-intro h1 { font-size: clamp(38px, 4.3vw, 57px); line-height: 1.13; letter-spacing: -.055em; margin-bottom: 24px; }
.auth-intro h1 span { color: var(--accent-text); }
.auth-intro-content > p { max-width: 400px; color: var(--muted); font-size: 16px; line-height: 1.8; }
.auth-points { display: flex; flex-direction: column; gap: 13px; margin-top: 28px; }
.auth-points > span { display: flex; align-items: center; gap: 10px; color: var(--text); font-size: 13px; }
.auth-points .icon { width: 17px; height: 17px; color: var(--accent-text); }
.auth-visual { display: flex; position: relative; align-items: center; justify-content: space-between; max-width: 340px; height: 110px; margin-top: 28px; }
.visual-line { position: absolute; left: 0; right: 0; height: 1px; border-top: 1px dashed var(--border); }
.visual-node { display: flex; align-items: center; justify-content: center; position: relative; width: 48px; height: 48px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); color: var(--muted); }
.visual-node-main { width: 64px; height: 64px; background: var(--accent-soft); color: var(--accent-text); border-color: var(--accent-text); box-shadow: 0 0 0 10px var(--surface-soft); }
.visual-node-main .icon { width: 30px; height: 30px; }
.login-card { width: 100%; max-width: 410px; padding: 32px; border: 1px solid var(--border); border-radius: 18px; box-shadow: var(--shadow); background: var(--surface); }
.card-symbol { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; margin-bottom: 22px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-soft); }
.login-card h2 { font-size: 25px; margin-bottom: 24px; letter-spacing: -.025em; }
.login-card > p { font-size: 13px; margin-bottom: 28px; }
.password-field { display: flex; align-items: center; position: relative; }
.password-field input { width: 100%; padding-right: 48px; }
.password-field button { position: absolute; right: 3px; width: 38px; height: 38px; }
/* Две текстовые кнопки под карточкой входа по ссылке разносятся по краям и переносятся на узком экране. */
.login-note-actions { justify-content: space-between; gap: 4px 16px; }
.auth-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; max-width: 1240px; padding: 20px 40px; margin: auto; color: var(--muted); font-size: 11px; }

@media (max-width: 760px) {
    .auth-header { padding: 25px 23px; flex-wrap: wrap; gap: 18px; }
    .auth-appearance { margin-left: auto; }
    .auth-header .brand { font-size: 19px; }
    .auth-main { display: block; min-height: auto; padding: 22px 23px 32px; max-width: 500px; }
    .auth-intro { position: relative; margin-bottom: 28px; padding-bottom: 120px; }
    .auth-pulse { inset: auto -23px -10px; height: 180px; mask-image: linear-gradient(transparent, #000 28%, #000 85%, transparent); }
    .auth-intro h1 { font-size: 34px; margin-bottom: 14px; }
    .auth-intro-content > p { font-size: 13px; line-height: 1.75; margin-bottom: 0; }
    .auth-points, .auth-visual { display: none; }
    .login-card { max-width: none; padding: 25px; }
    .card-symbol { display: none; }
    .login-card h2 { font-size: 22px; }
    .auth-footer { padding: 10px 23px 25px; font-size: 10px; }
}
@media (max-width: 1050px) {
    .auth-main { gap: 45px; }
}
