/* =========================================================
   RUSTMODS AUTH SECURITY 15.0 — READABILITY PASS
   Goal: stop using 6–9px text for information a normal user must read.
   Loaded LAST on both platform and native forum/account pages.
   ========================================================= */

:root{
    --rm-readable-muted:#aaa2b5;
    --rm-readable-soft:#8f879b;
}

/* Global platform navigation */
.rm5-topnav a{
    font-size:11px!important;
    line-height:1.2!important;
}

.rm5-side-nav a{
    font-size:12px!important;
    line-height:1.25!important;
}

.rm5-side-icon{
    font-size:13px!important;
}

.rm5-live-title strong{
    font-size:13px!important;
}

.rm5-live-card>small{
    font-size:10px!important;
    line-height:1.45!important;
}

.rm5-live-stats span{
    font-size:10px!important;
}

.rm5-live-stats b{
    font-size:11px!important;
}

.rm5-sidebar-section-title{
    font-size:9.5px!important;
    letter-spacing:1px!important;
}

.rm5-activity-item strong{
    font-size:10.5px!important;
}

.rm5-activity-item small{
    font-size:9px!important;
    line-height:1.4!important;
}

.rm5-lang-row,
.rm5-admin-link{
    font-size:10px!important;
}

.rm-user-trigger-name{
    font-size:11px!important;
}

.rm-user-dropdown-head span{
    font-size:9px!important;
}

.rm-user-dropdown-head strong{
    font-size:13px!important;
}

.rm-user-dropdown>a{
    min-height:38px!important;
    font-size:10.5px!important;
}

.rf-top-action{
    font-size:10px!important;
}

/* AUTH: real user-facing sizes */
.rf-auth-side>span,
.rf-eyebrow{
    font-size:10px!important;
    line-height:1.2!important;
    letter-spacing:1.05px!important;
}

.rf-auth-side h1{
    font-size:46px!important;
    line-height:1.03!important;
}

.rf-auth-side>p{
    font-size:13px!important;
    line-height:1.65!important;
}

.rf-auth-points{
    gap:11px!important;
}

.rf-auth-points span{
    font-size:12px!important;
    line-height:1.45!important;
}

.rf-auth-card h2{
    font-size:31px!important;
    line-height:1.1!important;
}

.rf-auth-card>p{
    font-size:12.5px!important;
    line-height:1.6!important;
}

.rf-auth-form{
    gap:16px!important;
}

.rf-auth-form label>span,
.rf-compose-form label>span{
    margin-bottom:8px!important;
    font-size:11px!important;
    line-height:1.35!important;
}

.rf-auth-form label>small{
    display:block;
    margin-top:6px;
    color:#8f879b;
    font-size:9.5px;
    line-height:1.45;
}

.rf-auth-form input,
.rf-auth-form select{
    min-height:50px!important;
    padding:0 14px!important;
    font-size:14px!important;
}

.rf-auth-form textarea{
    font-size:13px!important;
}

.rf-btn,
.rf-auth-form button{
    min-height:48px!important;
    padding:0 17px!important;
    font-size:11px!important;
}

.rf-form-error,
.rf-form-success{
    padding:13px 14px!important;
    font-size:11.5px!important;
    line-height:1.55!important;
}

.rf-register-success{
    display:grid;
    gap:5px;
}

.rf-register-success strong{
    color:#ecf6ee;
    font-size:13px;
}

.rf-register-success span{
    color:#b6cfbc;
}

.rf-auth-links,
.rf-auth-switch,
.rf-auth-inline-action{
    font-size:11px!important;
    line-height:1.5!important;
}

.rf-auth-inline-action{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:12px;
    padding:11px 12px;
    border:1px solid #423850;
    border-radius:8px;
    background:#19162b;
    color:#aaa2b5;
}

.rf-auth-inline-action a{
    color:#ff8b52!important;
    font-weight:900;
}

.rf-auth-privacy{
    font-size:9.5px!important;
    line-height:1.5!important;
}

.rf-flash{
    font-size:11px!important;
    line-height:1.5!important;
}

/* Honeypot remains available to bots in markup but invisible/offscreen to humans. */
.rf-honeypot{
    position:absolute!important;
    left:-10000px!important;
    top:auto!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
}

.rf-turnstile-wrap{
    margin-top:2px;
    min-height:65px;
}

/* Common forum/account readability */
.rf-forum-copy p,
.rf-thread-copy p,
.rf-message-row p,
.rf-conversation-row p{
    font-size:10px!important;
    line-height:1.5!important;
}

.rf-forum-copy strong,
.rf-thread-copy strong,
.rf-message-row strong,
.rf-conversation-row strong{
    font-size:11px!important;
}

.rf-search-tags a,
.rf-footer-links a{
    font-size:9.5px!important;
}

.rf-footer,
.rm5-footer{
    font-size:10px!important;
}

.rm5-footer p,
.rf-footer p{
    font-size:9.5px!important;
    line-height:1.5!important;
}

.rm5-footer-status,
.rf-lab-badge{
    font-size:9px!important;
}

/* Do not let tiny metadata fall below a readable floor in account/auth areas. */
.rf-auth-shell small,
.rf-profile-card small,
.rf-account-shell small{
    line-height:1.45;
}

@media(max-width:650px){
    .rm5-topnav a{
        font-size:11px!important;
    }

    .rm5-side-nav a{
        font-size:12px!important;
    }

    .rf-auth-side,
    .rf-auth-card{
        padding:26px 20px!important;
    }

    .rf-auth-side h1{
        font-size:34px!important;
    }

    .rf-auth-side>p{
        font-size:12px!important;
    }

    .rf-auth-points span{
        font-size:11px!important;
    }

    .rf-auth-card h2{
        font-size:27px!important;
    }

    .rf-auth-form input,
    .rf-auth-form select{
        font-size:16px!important; /* prevents mobile browser zoom */
    }

    .rf-auth-inline-action{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* =========================================================
   AUTH SECURITY 15.1 — PROFILE / AVATAR UX
   ========================================================= */

/* Settings cards should not stretch to the height of the tallest neighbor. */
.rf-settings-grid{
    align-items:start!important;
}

.rf-settings-card{
    align-self:start!important;
}

.rf-settings-card > header span{
    font-size:9.5px!important;
    line-height:1.2!important;
}

.rf-settings-card > header strong{
    font-size:13px!important;
    line-height:1.35!important;
}

.rf-settings-form label > span{
    font-size:10.5px!important;
    line-height:1.35!important;
}

.rf-settings-form input,
.rf-settings-form select,
.rf-settings-form textarea{
    font-size:13px!important;
}

.rf-account-status,
.rf-session-row strong{
    font-size:10.5px!important;
}

.rf-session-row small{
    font-size:9.5px!important;
}

/* Every avatar surface uses one predictable square crop. */
.rf-user-avatar,
.rf-avatar-large,
.rf-chat-avatar,
.rf-post-avatar,
.rf-profile-avatar,
.rf-top-user-avatar{
    overflow:hidden!important;
    flex:0 0 auto;
}

.rf-user-avatar img,
.rf-avatar-large img,
.rf-chat-avatar img,
.rf-post-avatar img,
.rf-profile-avatar img,
.rf-top-user-avatar img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
}

.rf-user-avatar.is-rm-default,
.rf-avatar-large.is-rm-default,
.rf-chat-avatar.is-rm-default,
.rf-post-avatar.is-rm-default,
.rf-profile-avatar.is-rm-default,
.rf-top-user-avatar.is-rm-default{
    background:
        radial-gradient(circle at 72% 25%,rgba(232,72,134,.26),transparent 35%),
        linear-gradient(135deg,#2d224a,#1b1730)!important;
    color:#ff7a3d!important;
    border:1px solid rgba(255,122,61,.20)!important;
    font-weight:950!important;
    letter-spacing:-.4px!important;
}

/* Topbar RM must stay readable even in a small square. */
.rf-top-user-avatar.is-rm-default{
    font-size:7px!important;
}

/* Avatar settings composition */
.rf-avatar-settings-v151{
    display:grid;
    gap:14px;
    padding:18px!important;
}

.rf-avatar-preview-stage{
    display:grid;
    justify-items:center;
    gap:7px;
    padding:18px;
    border:1px solid #3b344e;
    border-radius:12px;
    background:
        radial-gradient(circle at 50% 34%,rgba(232,72,134,.10),transparent 34%),
        #181529;
}

.rf-avatar-preview-label{
    color:#e94a8a;
    font-size:9px;
    font-weight:900;
    letter-spacing:.75px;
    text-transform:uppercase;
}

.rf-avatar-live-preview{
    display:grid;
    place-items:center;
    width:132px;
    height:132px;
    margin:3px 0;
    border-radius:24px;
    background:#12101e;
    box-shadow:0 16px 40px rgba(0,0,0,.20);
}

.rf-avatar-live-preview .rf-avatar-large{
    width:118px!important;
    height:118px!important;
    border-radius:22px!important;
    font-size:28px!important;
}

.rf-avatar-live-preview .rf-avatar-live-selected{
    width:118px!important;
    height:118px!important;
    border-radius:22px!important;
}

.rf-avatar-preview-stage>strong{
    color:#f2edf6;
    font-size:11px;
}

.rf-avatar-preview-stage>small{
    max-width:420px;
    color:#8c8497;
    font-size:9.5px;
    line-height:1.45;
    text-align:center;
}

.rf-avatar-guidelines{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}

.rf-avatar-guidelines>div{
    padding:11px 12px;
    border:1px solid #393148;
    border-radius:9px;
    background:#19162b;
}

.rf-avatar-guidelines span{
    display:block;
    color:#81798d;
    font-size:8.5px;
    text-transform:uppercase;
    letter-spacing:.45px;
}

.rf-avatar-guidelines strong{
    display:block;
    margin-top:5px;
    color:#f4eff7;
    font-size:10.5px;
    line-height:1.35;
}

.rf-avatar-crop-note{
    margin:0;
    padding:11px 12px;
    border-left:3px solid #ff7438;
    border-radius:0 8px 8px 0;
    background:rgba(255,116,56,.055);
    color:#aaa2b4;
    font-size:10px;
    line-height:1.55;
}

.rf-avatar-upload-form{
    padding:0!important;
}

.rf-avatar-file-field input[type="file"]{
    min-height:48px!important;
    padding:10px!important;
    border:1px solid #3a334d!important;
    border-radius:9px!important;
    background:#141220!important;
    color:#c8c1ce!important;
    font-size:10px!important;
}

.rf-avatar-client-error{
    padding:10px 12px;
    border:1px solid #73354d;
    border-radius:8px;
    background:#341925;
    color:#ff9fba;
    font-size:10px;
    line-height:1.45;
}

.rf-avatar-actions{
    margin-top:0!important;
}

.rf-avatar-actions .rf-btn{
    min-width:150px;
}

.rf-avatar-remove-form{
    padding:0!important;
}

.rf-profile-copy>span,
.rf-profile-card>header span{
    font-size:9.5px!important;
}

.rf-profile-copy p{
    font-size:11px!important;
    line-height:1.6!important;
}

.rf-profile-badges b,
.rf-profile-links,
.rf-profile-stat span{
    font-size:9px!important;
}

@media(max-width:620px){
    .rf-avatar-guidelines{
        grid-template-columns:1fr;
    }

    .rf-avatar-live-preview{
        width:120px;
        height:120px;
    }

    .rf-avatar-live-preview .rf-avatar-large,
    .rf-avatar-live-preview .rf-avatar-live-selected{
        width:106px!important;
        height:106px!important;
    }
}


/* =========================================================
   AUTH SECURITY 15.2 — PUBLIC UI RECOVERY
   ========================================================= */

/* Root platform SVG icons were rendered with browser-default black fill.
   Make them line icons like the native RustMods forum header. */
.rf-top-action-icon{
    width:18px!important;
    height:18px!important;
    display:block!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}
.rm5-icon-button,
.rf-icon-link{
    color:#aaa3b7!important;
}
.rm5-icon-button:hover,
.rf-icon-link:hover{
    color:#fff!important;
}
.rf-top-action[href*="search.php"]:hover,
.rf-icon-link[href*="search.php"]:hover{
    color:#ff8a51!important;
}

/* Make the unified RM default clear in every platform location. */
.rf-top-user-avatar{
    width:28px!important;
    height:28px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:8px!important;
    overflow:hidden!important;
    font-size:8px!important;
}
.rm5-activity-user-avatar{
    width:34px!important;
    height:34px!important;
    display:grid!important;
    place-items:center!important;
    overflow:hidden!important;
    border-radius:50%!important;
}
.rm5-activity-user-avatar img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
}
.rm5-activity-user-avatar.is-rm-default{
    background:linear-gradient(135deg,#2d224a,#1b1730)!important;
    border:1px solid rgba(255,122,61,.22)!important;
    color:#ff7a3d!important;
    font-size:8px!important;
    font-weight:950!important;
}

/* Resources public readability */
.rm5-resources-kicker{font-size:9.5px!important}
.rm5-resources-hero p{font-size:11.5px!important;line-height:1.65!important}
.rm5-resources-hero-meta span{font-size:8.5px!important}
.rm5-category-tag{font-size:8.5px!important}
.rm5-category-body h2{font-size:18px!important}
.rm5-category-body p{font-size:10.5px!important;line-height:1.55!important}
.rm5-category-stats strong{font-size:11px!important}
.rm5-category-stats span{font-size:8.5px!important}
.rm5-category-cta{font-size:9.5px!important}

/* Store public readability */
.rm52-kicker{font-size:9.5px!important}
.rm52-store-copy>p{font-size:12px!important;line-height:1.6!important}
.rm52-market-chips span{font-size:9px!important}
.rm52-section-title>div>span{font-size:9px!important}
.rm52-section-title>p{font-size:10.5px!important;line-height:1.55!important}
.rm52-store-feature-info>span{font-size:9px!important}
.rm52-store-feature-info p{font-size:10.5px!important;line-height:1.55!important}
.rm52-seller-strip>div:first-child>span{font-size:9px!important}
.rm52-seller-strip p{font-size:10.5px!important;line-height:1.55!important}

.rm152-store-empty p{
    max-width:720px;
    margin:8px 0 0;
    color:#9991a3;
    font-size:10.5px;
    line-height:1.55;
}

/* Security note at registration */
.rf-auth-privacy{
    display:block;
    padding:10px 11px;
    border:1px solid rgba(101,223,136,.14);
    border-radius:8px;
    background:rgba(101,223,136,.035);
    color:#9d97a7!important;
    font-size:9.5px!important;
    line-height:1.55!important;
}

@media(max-width:650px){
    .rm5-category-body p,
    .rm52-store-copy>p,
    .rm52-section-title>p{
        font-size:11px!important;
    }
}
