/* Shared backgrounds and responsive sign-in layout. */
.phone-guide-heading { display: grid; grid-template-columns: 110px minmax(0,1fr); align-items: center; gap: 20px; margin-bottom: 20px; }
.phone-guide .phone-guide-heading .mobile-game-brand { width: 110px; margin: 0; }
.phone-guide .phone-guide-heading h1 { margin: 0; }
@media (max-width: 767px), (pointer: coarse) {
    .phone-guide-heading { grid-template-columns: 80px minmax(0,1fr); gap: 14px; text-align: left; }
    .phone-guide .phone-guide-heading .mobile-game-brand { width: 80px; }
    .phone-guide .phone-guide-heading h1 { font-size: 24px; }
}
.phone-guide .mobile-game-hero { grid-template-columns: minmax(0,1fr) 300px; gap: 36px; padding: 30px; align-items: center; max-width: 1080px; margin: auto; background: transparent; border: none; box-shadow: none; }
.phone-guide .mobile-game-brand { width: 150px; height: auto; background: transparent; border: none; box-shadow: none; margin-bottom: 16px; }
.phone-guide .mobile-game-copy h1 { font-size: clamp(25px,3vw,34px); color: #f6ead7; }
.phone-guide .mobile-game-copy > p { font-size: 16px; color: #c9bcad; line-height: 1.6; }
.phone-guide-instructions { display: grid; gap: 14px; margin-top: 24px; }
.phone-guide-instructions article { padding: 16px 20px; border: 1px solid #c7a47030; border-radius: 18px; background: #44382f65; }
.phone-guide-instructions h2, .phone-guide .mobile-game-qr h2 { font-size: 19px; font-weight: 700; color: #f6ead7; margin: 0 0 10px; }
.phone-guide-instructions h2 i { color: #e8cc93; margin-right: 8px; }
.phone-guide-instructions p, .phone-guide-instructions ol { margin: 0; color: #d3c6b7; line-height: 1.6; font-size: 14px; }
.phone-guide .mobile-game-qr { padding: 24px; background: #44382f75; border: 1px solid #c7a47030; border-radius: 22px; }
.phone-guide .mobile-game-qr > img { width: 220px; max-width: 100%; height: auto; padding: 10px; background: white; border-radius: 16px; }
@media (max-width: 767px), (pointer: coarse) {
    .phone-guide .mobile-game-hero { grid-template-columns: minmax(0,1fr); padding: 20px; gap: 20px; }
    .phone-guide .mobile-game-qr { display: none !important; }
    .phone-guide .mobile-game-copy { text-align: center; }
    .phone-guide-instructions { text-align: left; }
    .phone-guide .mobile-game-brand { width: 120px; }
}
.blot-shell .main .header .header-home-link {
    width: auto !important; min-width: 44px !important; padding: 0 12px !important; gap: 8px;
}
.blot-shell .main .header .header-home-link .header-home-label {
    display: inline !important; font-size: 14px; white-space: nowrap;
}
.blot-shell .main .header .header-promo-rotator .header-install-link:not(.header-invite-link) {
    color: #38240f !important;
    background: linear-gradient(115deg, #ffe19a, #e9b64f) !important;
    border-color: #ffe6ae !important;
    box-shadow: inset 0 1px #fff5d8, 0 3px 10px #a36c2233 !important;
    font-weight: 700;
}
.blot-shell .main .header .header-promo-rotator .header-install-link:not(.header-invite-link) > .fa-mobile-screen-button {
    color: #674117 !important;
}
.blot-shell .main .header .header-promo-rotator .header-install-link:not(.header-invite-link) .header-install-reward {
    background: #65401d !important; color: #fff2c9 !important;
}
.header-promo-rotator .header-invite-link:only-child {
    opacity: 1; visibility: visible; pointer-events: auto; transform: none;
}
.trnsingle-page .trnsingle-participate-overlay:has(.trnsingle-start-countdown) {
    background: radial-gradient(circle at 50% 46%, rgba(183,128,48,.08), transparent 34%), rgba(43,35,37,.44);
}
.blot-shell .main .header {
    background: url('/images/profile-felt.svg') 0 0 / 180px 180px repeat,
        linear-gradient(100deg, #342b26, #302b2c 55%, #372d40);
    background-blend-mode: soft-light, normal;
}
#gameArea .blot-player-top .blot-alert {
    top: 2px; bottom: auto; left: auto; right: calc(100% + 8px);
    width: max-content; min-width: 88px; max-width: min(250px, calc(50vw - 80px));
    white-space: normal; transform-origin: right center;
}
#gameArea .blot-player-top .blot-alert::before {
    top: calc(50% - 7px); bottom: auto; left: auto; right: -7px;
    width: 12px; height: 14px; transform: none;
    clip-path: polygon(0 0,100% 50%,0 100%);
}
#gameArea .blot-player-top .blot-alert-content { white-space: normal; overflow-wrap: anywhere; }
body {
    background-image: linear-gradient(rgba(128, 128, 128, .4), rgba(128, 128, 128, .4)), linear-gradient(to right, transparent 50%, rgba(45, 28, 58, .24)), linear-gradient(rgba(12, 10, 15, .72), rgba(12, 10, 15, .72)),url('/images/site-main-card-atmosphere-v6.webp') !important;
    background-blend-mode: saturation, normal, normal, normal !important;
    background-position: center !important;
    background-size: cover !important;
    background-attachment: scroll !important;
}
@media (min-width: 1200px) and (hover: hover) and (pointer: fine) {
    body { background-size: 100% 100% !important; }
}
.blot-shell .main:not(:has(.install-ad-landing)) {
    background-image: linear-gradient(to right, transparent 50%, rgba(39, 28, 22, .45)), linear-gradient(rgba(24, 21, 27, .72) 65%, rgba(24, 21, 27, .9)), url('/images/site-main-brown-purple-abstract-v10.webp');
    background-position: center, center, center calc(50% + 24px);
}
@media (max-width: 932px), (pointer: coarse) {
    .blot-shell .main:not(:has(.install-ad-landing)) {
        background-image: linear-gradient(to right, transparent 50%, rgba(39, 28, 22, .45)), linear-gradient(rgba(24, 21, 27, .72) 65%, rgba(24, 21, 27, .9)), url('/images/site-main-brown-purple-abstract-v10.webp');
        background-position: center, center, center calc(50% + 24px);
    }
}
.main:has(.auth-page)::before { display: none !important; }
@keyframes lobby-shop-sway {
    0%, 70%, 100% { transform: rotate(0deg) translateY(0); }
    78% { transform: rotate(-7deg) translateY(-2px); }
    86% { transform: rotate(6deg) translateY(-2px); }
    94% { transform: rotate(-3deg); }
}
@keyframes lobby-wheel-turn {
    0%, 20% { transform: rotate(0deg); }
    80%, 100% { transform: rotate(360deg); }
}
@keyframes lobby-trophy-float {
    0%, 100% { transform: translateY(0) rotate(-3deg); }
    50% { transform: translateY(-3px) rotate(3deg); }
}
@media (orientation: portrait) and (max-width: 932px), (orientation: portrait) and (pointer: coarse) {
    .main .home-page .arcade-shop-button > span img { animation: lobby-shop-sway 5s ease-in-out infinite; transform-origin: center 80%; }
    .main .home-page .arcade-wheel-feature > span img { animation: lobby-wheel-turn 8s ease-in-out infinite; transform-origin: center; }
    .main .home-page .arcade-tournament-info > span img { animation: lobby-trophy-float 4s ease-in-out infinite; }
}
@media (prefers-reduced-motion: reduce) {
    .main .home-page .arcade-shop-button > span img,
    .main .home-page .arcade-wheel-feature > span img,
    .main .home-page .arcade-tournament-info > span img { animation: none; }
}
@media (orientation: portrait) and (max-width: 932px), (orientation: portrait) and (pointer: coarse) {
    .main .home-page .arcade-lobby-board { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; grid-template-rows: minmax(0, 1fr) 58px 94px !important; gap: 10px !important; }
    .main .home-page .arcade-mode-slider { grid-column: 1 / -1 !important; grid-row: 1 !important; }
    .main .home-page .arcade-action-buttons,.main .home-page .arcade-info-strip { display: contents !important; }
    .main .home-page .arcade-reward-info { grid-column: 1 / -1 !important; grid-row: 2 !important; height: 58px !important; min-height: 0 !important; background: rgba(82, 74, 68, .35) !important; border: 1px solid #b4a18a26 !important; box-shadow: none !important; padding: 8px 12px !important; border-radius: 12px !important; }
    .main .home-page .arcade-reward-info > span { width: 38px !important; height: 38px !important; }
    .main .home-page .arcade-reward-info { display: flex !important; align-items: center !important; gap: 10px !important; text-align: left !important; }
    .main .home-page .arcade-reward-info > span { position: static !important; flex: 0 0 38px; }
    .main .home-page .arcade-reward-info > div { position: static !important; display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 10px; width: 100%; min-width: 0; text-align: left !important; }
    .main .home-page .arcade-reward-info strong { position: static !important; grid-column: 1; grid-row: 1; font-size: 13px !important; color: #e0d4c3 !important; text-align: left !important; }
    .main .home-page .arcade-reward-info b { grid-column: 2; grid-row: 1 / 3; align-self: center; margin: 0 !important; font-size: 16px !important; color: #e8dbc6 !important; }
    .main .home-page .arcade-reward-info small { grid-column: 1; grid-row: 2; font-size: 12px !important; color: #bfb4a7 !important; }
    .main .home-page .arcade-shop-button { grid-column: 1 !important; grid-row: 3 !important; }
    .main .home-page .arcade-wheel-feature { grid-column: 2 !important; grid-row: 3 !important; }
    .main .home-page .arcade-tournament-info { grid-column: 3 !important; grid-row: 3 !important; }
    .main .home-page .arcade-shop-button,.main .home-page .arcade-wheel-feature,.main .home-page .arcade-tournament-info { position: relative !important; display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important; height: 94px !important; min-height: 0 !important; width: 100% !important; padding: 8px 5px !important; gap: 4px !important; overflow: hidden !important; }
    .main .home-page .arcade-shop-button > span,.main .home-page .arcade-wheel-feature > span,.main .home-page .arcade-tournament-info > span { position: absolute !important; top: 25px !important; left: 50% !important; transform: translateX(-50%) !important; width: 38px !important; height: 38px !important; }
    .main .home-page .arcade-shop-button > strong,.main .home-page .arcade-wheel-feature > strong { position: absolute !important; top: 69px !important; left: 5px !important; right: 5px !important; text-align: center; font-size: 13px !important; }
    .main .home-page .arcade-tournament-info > div { display: flex !important; flex-direction: column !important; width: 100%; min-width: 0; text-align: center !important; align-items: center !important; justify-content: center !important; }
    .main .home-page .arcade-tournament-info strong,
    .main .home-page .arcade-tournament-info .lobby-tournament-title-short { width: 100%; text-align: center !important; }
    .main .home-page .arcade-tournament-info .lobby-tournament-countdown { position: absolute !important; top: 7px !important; left: 0 !important; margin: 0 !important; order: -1; display: flex !important; justify-content: center !important; align-items: center; width: 100%; }
    .main .home-page .arcade-tournament-info strong { position: absolute !important; top: 69px !important; left: 5px !important; width: calc(100% - 10px) !important; display: block !important; font-size: 11px !important; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
    .main .home-page .arcade-tournament-info .lobby-tournament-title-desktop,.main .home-page .arcade-tournament-info .lobby-tournament-title-full,.main .home-page .arcade-tournament-info .lobby-tournament-name-landscape { display: none !important; }
    .main .home-page .arcade-tournament-info .lobby-tournament-title-short { display: block !important; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
    .main .home-page .arcade-tournament-info small { font-size: 10px !important; }
    .main .home-page .arcade-shop-button > i,.main .home-page .arcade-wheel-feature > i,.main .home-page .arcade-tournament-info > i { display: none !important; }
}
@media (orientation: landscape) and (max-width: 1024px) and (max-height: 600px) {
    .main .trnsingle-page .trnsingle-main-layout { grid-template-columns: minmax(0, 1fr) 88px !important; gap: 10px !important; }
    .main .trnsingle-page .trnsingle-sidebar-actions { display: flex !important; flex-direction: column !important; width: 100% !important; max-width: 88px !important; position: static !important; gap: 8px !important; background: transparent !important; border-color: transparent !important; box-shadow: none !important; padding: 0 !important; }
    .main .trnsingle-page .trnsingle-sidebar-actions .trnsingle-btn { width: 100% !important; min-height: 40px !important; flex: 1 1 0; height: auto !important; }
    .main .trnsingle-page .trnsingle-sidebar-actions .trnsingle-btn span { white-space: normal !important; overflow-wrap: normal !important; }
    .main .trnsingle-page .trnsingle-games-stage { padding: 6px !important; height: 100% !important; background: transparent !important; border-color: transparent !important; box-shadow: none !important; }
    .main .trnsingle-page .trnsingle-games-stage::before,
    .main .trnsingle-page .trnsingle-games-stage::after { display: none !important; }
    .main .trnsingle-page .trnsingle-games-grid { height: 100% !important; padding: 0 !important; gap: 8px !important; align-items: stretch !important; }
    .main .trnsingle-page .trnsingle-game-card { height: 100% !important; max-height: none !important; min-height: 0 !important; }
    .main .tournament-page { display: flex !important; flex-direction: column; padding: 8px 12px !important; gap: 8px; }
    .main .tournament-page .tournament-head { display: block !important; flex: 0 0 auto; margin: 0 !important; padding: 0 !important; }
    .main .tournament-page .tournament-title { display: block !important; font-size: 24px !important; line-height: 1.2; margin: 0 !important; }
    .main .tournament-page .tournament-scroll { flex: 1 1 0; min-height: 0; padding-block: 0 !important; }
    .main .tournament-page .tournament-row { height: 100% !important; align-items: center !important; }
    .main .tournament-page .tournament-col { height: calc(100% - 28px) !important; max-height: 228px; }
    .main .tournament-page .tournament-list-card {
        display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        grid-template-rows: auto minmax(0, 1fr) auto !important;
        height: 100% !important; min-height: 0 !important; padding: 12px !important;
        gap: 10px 14px !important; overflow: hidden !important;
    }
    .main .tournament-page .tournament-list-art { display: none !important; }
    .main .tournament-page .tournament-list-card::after { display: none !important; }
    .main .tournament-page .tournament-list-topline { grid-column: 1 / -1 !important; grid-row: 1 !important; }
    .main .tournament-page .tournament-list-hero { grid-column: 1 !important; grid-row: 2 !important; align-self: center; }
    .main .tournament-page .tournament-list-stats { grid-column: 2 !important; grid-row: 2 !important; align-self: center; gap: 6px !important; }
    .main .tournament-page .tournament-list-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; padding: 8px !important; }
    .main .tournament-page .tournament-list-stat { display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 3px !important; text-align: center; }
    .main .tournament-page .tournament-list-stat > span { font-size: 12px !important; }
    .main .tournament-page .tournament-list-stat > strong { font-size: 16px !important; }
    .main .tournament-page .tournament-list-progress { grid-column: 1 !important; grid-row: 3 !important; align-self: center; }
    .main .tournament-page .tournament-list-action { grid-column: 2 !important; grid-row: 3 !important; margin: 0 !important; }
    .main .tournament-page .tournament-list-stat { min-height: 42px !important; padding: 5px 8px !important; }
    .main .tournament-page .tournament-list-card .tournament-join-btn { min-height: 40px !important; font-size: 15px !important; }
}
.blot-shell .main:has(.auth-page) { background-position: center, center, center !important; }
@media (orientation: landscape) and (max-width: 1024px) and (max-height: 380px) {
    .main .trnsingle-page { padding: 8px 12px !important; }
    .main .trnsingle-page .trnsingle-card { padding: 0 !important; }
    .main .trnsingle-page .trnsingle-header { padding: 0 !important; margin-bottom: 6px !important; }
    .main .trnsingle-page .trnsingle-content { gap: 8px !important; padding: 0 !important; }
    .main .trnsingle-page .trnsingle-info-box { padding: 5px 8px !important; min-height: 38px !important; }
    .main .trnsingle-page .trnsingle-games-stage { padding: 0 !important; }
    .main .trnsingle-page .trnsingle-games-grid { gap: 6px !important; }
}
.main .auth-page {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px);
    align-items: center; justify-content: center; gap: clamp(24px, 4vw, 64px);
    width: 100%; height: 100%; min-height: 0; padding: 28px clamp(24px, 6vw, 88px);
    overflow: auto; background: transparent;
}
.auth-welcome { text-align: center; max-width: 480px; justify-self: center; color: #fff1db; }
.auth-brand-logo { width: clamp(150px, 23vh, 240px); height: auto; max-width: 100%; }
.auth-welcome h1 { margin: 18px 0 10px; font-size: clamp(30px, 3.3vw, 46px); font-weight: 800; letter-spacing: -.04em; }
.auth-welcome > p { max-width: 380px; margin: 0 auto; color: #d8c3ac; font-size: 18px; line-height: 1.6; }
.auth-welcome-steps { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 18px; margin-top: 24px; color: #e9c98f; font-size: 14px; }
.main .auth-panel { width: 100%; max-width: 460px; padding: 28px; flex-direction: column; background: rgba(64, 53, 45, .46); border: 1px solid #c5a16b36; border-radius: 24px; box-shadow: 0 16px 40px #0002; }
.main .auth-head { display: block; padding-bottom: 0; border: 0; }
.main .auth-head h2 { margin: 0; font-size: 26px; color: #fff1db; }
.main .auth-head p { font-size: 15px; line-height: 1.6; color: #d8c3ac; margin: 10px 0 0; }
.main .auth-language { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.main .auth-language-options button.active { color: #ffe7b5; background: #75563455; border-color: #bf995f80; }
.main .auth-social-list { display: grid; gap: 12px; margin-top: 24px; }
.main .auth-social,.main .auth-telegram-button { width: 100%; min-width: 0; min-height: 76px; display: flex; align-items: center; gap: 14px; padding: 14px 16px; background: linear-gradient(110deg,#655247,#514356 100%); border: 1px solid #b39a7b99; border-radius: 16px; box-shadow: inset 0 1px #fff1db18, 0 4px 14px #0002; text-align: left; color: #fff2de; }
.main .auth-social > span:nth-child(2),.main .auth-telegram-button > div { flex: 1; min-width: 0; }
.main .auth-social strong,.main .auth-telegram-button strong { font-size: 16px; line-height: 1.4; white-space: normal; }
.main .auth-social small,.main .auth-telegram-button small { font-size: 13px; color: #e0cbb4; }
.main .auth-social-mark { flex: 0 0 38px; width: 38px; height: 38px; background: #fff6e9; border: 0; border-radius: 12px; display: grid; place-items: center; }
.main .auth-telegram-mark { color: #229ed9; }
.main .header a[href="/signin"].btn.btn-primary {
    background: url('/images/profile-felt.svg') 0 0 / 180px 180px repeat, linear-gradient(110deg, #514239, #493e51) !important;
    border-color: #aa947766 !important;
    color: #fff1db !important;
    box-shadow: 0 4px 0 #29232b, 0 9px 18px #0004, inset 0 1px #ffffff1c !important;
}
.main .header a[href="/signin"].btn.btn-primary:hover,
.main .header a[href="/signin"].btn.btn-primary:focus-visible {
    background: url('/images/profile-felt.svg') 0 0 / 180px 180px repeat, linear-gradient(110deg, #605046, #574a60) !important;
    border-color: #c4ac87 !important;
    color: #fff1db !important;
}
.main .auth-legacy { margin-top: 20px; }
.main .auth-panel::before { display: none; }
.main .auth-language-options button { color: #d8c3ac; }
.main .auth-legacy-title,
.main .auth-legacy-toggle,
.main .auth-telegram-missing { color: #d8c3ac; }
.main .auth-legacy-link,
.main .auth-legacy-toggle:hover { color: #fff1db; }
.main .auth-social > .fa-arrow-right,
.main .auth-telegram-card > .fa-arrow-right { color: #c5b299; }
#vipModal.vip-page-root { color: #fff1db; }
#vipModal.vip-page-root .vip-hero p { color: #d8c3ac !important; }
#vipModal.vip-page-root .vip-text { color: #f1e3cc !important; }
#vipModal.vip-page-root .vip-close { color: #e0cbb4 !important; }
.main .auth-social:focus-visible,.main .auth-telegram-button:focus-visible { outline: 2px solid #f1d499; outline-offset: 4px; }
.main .auth-head p { font-size: 16px; }
.main .auth-social strong,.main .auth-telegram-button strong { font-size: 18px; }
.main .auth-social small,.main .auth-telegram-button small { font-size: 15px; }
.main .auth-language > span,.main .auth-language-options button { font-size: 15px; }
.main .auth-legacy-toggle,.main .auth-legacy-link { font-size: 14px !important; }
@media (max-width: 760px), (pointer: coarse) and (orientation: portrait) {
    .main .auth-page { display: flex; flex-direction: column; justify-content: flex-start; align-items: center; gap: 20px; padding: 22px 16px 32px; }
    .auth-brand-logo { width: 132px; }
    .auth-welcome h1 { font-size: 30px; margin: 10px 0 6px; }
    .auth-welcome > p { font-size: 15px; max-width: 330px; }
    .auth-welcome-steps { margin-top: 12px; font-size: 12px; gap: 8px 12px; }
    .main .auth-panel { padding: 22px 18px; flex: 0 0 auto; }
    .main .auth-head h2 { font-size: 23px; }
}
@media (orientation: landscape) and (max-height: 600px) {
    .main .auth-page { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,420px); padding: 16px 24px; gap: 24px; align-items: start; }
    .auth-brand-logo { width: 120px; }
    .auth-welcome h1 { font-size: 30px; margin-top: 8px; }
    .auth-welcome > p { font-size: 15px; }
    .main .auth-panel { padding: 18px; }
    .main .auth-social-list { margin-top: 16px; }
    .main .auth-social,.main .auth-telegram-button { min-height: 64px; padding: 10px 12px; }
}
@media (max-width: 932px), (pointer: coarse) {
    body:has(.auth-page) .main .header { display: none !important; }
    .main .auth-panel { max-height: none; overflow: visible; background: transparent; border-color: transparent; box-shadow: none; }
    .main .auth-head p { font-size: 16px; }
    .main .auth-welcome-steps { font-size: 15px; }
}
@media (orientation: portrait) and (max-width: 932px), (orientation: portrait) and (pointer: coarse) {
    .main .auth-page { justify-content: safe center; }
    .main .auth-welcome > p { display: none; }
    .main .auth-head h2 { font-size: 25px; }
    .main .auth-head p,.main .auth-welcome-steps { font-size: 17px; }
    .main .auth-social strong,.main .auth-telegram-button strong { font-size: 19px; }
    .main .auth-social small,.main .auth-telegram-button small { font-size: 16px; }
    .main .auth-language > span,.main .auth-language-options button { font-size: 16px; }
    .main .auth-legacy-toggle,.main .auth-legacy-link { font-size: 15px !important; }
    .main .auth-language > span { display: none; }
    .main .auth-language-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; gap: 8px; }
    .main .auth-language-options button { width: 100%; justify-content: center; }
}
@media (orientation: landscape) and (max-height: 600px) and (max-width: 1024px) {
    .main .auth-page { grid-template-columns: minmax(0, 335px) minmax(0, 440px); align-items: center; align-content: safe center; justify-content: center; padding: 12px 20px; gap: 24px; }
    .main .auth-panel { display: flex; padding: 14px 18px; gap: 0; }
    .main .auth-panel > * { grid-area: auto; }
    .main .auth-head h2 { font-size: 22px; }
    .main .auth-head p { margin-top: 6px; }
    .main .auth-language { margin-top: 10px; display: flex; }
    .main .auth-language > span { margin-bottom: 0; }
    .main .auth-social-list { margin-top: 12px; gap: 8px; }
    .main .auth-social,.main .auth-telegram-button { min-height: 64px; padding: 9px 12px; }
    .main .auth-legacy { margin-top: 10px; padding-top: 0; align-self: stretch; }
}
@media (orientation: portrait) and (max-width: 600px) {
    .main .auth-page { padding: 16px 12px; gap: 14px; justify-content: safe center; }
    .main .auth-panel { padding: 8px 0; }
    .main .auth-brand-logo { width: 108px; }
    .main .auth-welcome h1 { font-size: 28px; margin: 8px 0 6px; }
    .main .auth-welcome-steps { font-size: 15px; gap: 8px 12px; margin-top: 8px; }
    .main .auth-head h2 { font-size: 24px; }
    .main .auth-head p { font-size: 16px; margin-top: 6px; }
    .main .auth-language { margin-top: 14px; gap: 8px; }
    .main .auth-language-options button { font-size: 15px; padding: 6px 9px; }
    .main .auth-social-list { margin-top: 16px; gap: 10px; }
    .main .auth-social,.main .auth-telegram-button { padding: 12px; gap: 12px; }
    .main .auth-social strong,.main .auth-telegram-button strong { font-size: clamp(14px, 4.2vw, 18px); white-space: nowrap; }
    .main .auth-social small,.main .auth-telegram-button small { font-size: 15px; }
    .main .auth-legacy { margin-top: 14px; }
}
