/* ============================================
   REFERRAL — AUTO RACING THEME
   Тёмно-синий/графит + оранжевый/жёлтый неон
   ============================================ */

:root{
    --rf-bg:#0a0e1a;
    --rf-bg-2:#111827;
    --rf-graphite:#1a2030;
    --rf-graphite-2:#232a3d;
    --rf-line:#2a3346;
    --rf-text:#e6ecf5;
    --rf-muted:#8a93a8;
    --rf-orange:#ff7a00;
    --rf-orange-2:#ff9a2e;
    --rf-yellow:#ffc93c;
    --rf-neon:#ffb020;
    --rf-red:#ef4444;
    --rf-blue:#1e3a8a;
    --rf-gold:#f5b400;
    --rf-silver:#c0c8d4;
    --rf-bronze:#cd7f32;
    --rf-shadow-neon:0 0 24px rgba(255,122,0,.45);
    --rf-shadow-card:0 18px 50px rgba(0,0,0,.45);
    --primary: #ffb020;
}

@media (min-width: 981px) {
    .nav-group:hover > .nav-group-btn, .nav-group.hover-open > .nav-group-btn {
        background: #2c2224;
        color: var(--primary);
    }
}

/* ===== БАЗОВЫЙ ФОН СТРАНИЦЫ ===== */
body.ref-page{
    background:
            radial-gradient(ellipse at 20% 0%, rgba(255,122,0,.08), transparent 50%),
            radial-gradient(ellipse at 80% 100%, rgba(30,58,138,.25), transparent 50%),
            linear-gradient(180deg, #0a0e1a 0%, #111827 100%);
    color:var(--rf-text);
    min-height:100vh;
    position:relative;
}
body.ref-page::before{
    content:"";
    position:fixed;inset:0;z-index:0;pointer-events:none;
    background-image:
            linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size:40px 40px;
    mask-image:radial-gradient(ellipse at center, #000 30%, transparent 80%);
    -webkit-mask-image:radial-gradient(ellipse at center, #000 30%, transparent 80%);
}
body.ref-page .main-content{position:relative;z-index:1}

/* Переопределяем топбар на тёмный */
body.ref-page .topbar{
    background:rgba(10,14,26,.85);
    border-bottom:1px solid var(--rf-line);
}
body.ref-page .topbar .logo{color:#fff}
body.ref-page .main-nav > a{color:#cbd5e1}
body.ref-page .main-nav > a:hover{background:rgba(255,122,0,.12);color:var(--rf-orange-2)}
body.ref-page .nav-user{color:var(--rf-muted)}
body.ref-page .nav-toggle{color:#fff}

/* ===== HERO ===== */
.rf-hero{
    position:relative;
    border-radius:28px;
    overflow:hidden;
    margin:18px 0 22px;
    background:linear-gradient(135deg, #0f1729 0%, #1a2748 60%, #0f1729 100%);
    border:1px solid var(--rf-line);
    box-shadow:var(--rf-shadow-card), inset 0 1px 0 rgba(255,255,255,.05);
    min-height:280px;
}
.rf-hero-bg{
    position:absolute;inset:0;z-index:1;
    background-size:cover;
    background-position:center;
    opacity:.55;
}



/*.rf-hero::after{*/
/*    content:"";position:absolute;inset:0;z-index:2;*/
/*    background:*/
/*            linear-gradient(180deg, rgba(10,14,26,.3) 0%, rgba(10,14,26,.85) 70%, rgba(10,14,26,.95) 100%),*/
/*            linear-gradient(90deg, rgba(10,14,26,.7) 0%, transparent 50%);*/
/*}*/
/* Гоночные шашечки сверху */
.rf-hero::before{
    content:"";position:absolute;top:0;left:0;right:0;height:14px;z-index:4;
    background:
            repeating-conic-gradient(#0a0e1a 0% 25%, #fff 0% 50%) 0 0/28px 28px;
    opacity:.95;
}

.rf-hero-inner{
    position:relative;z-index:3;
    padding:40px 22px 28px;
}
@media (min-width:720px){
    .rf-hero-inner{padding:60px 40px 40px;}
}

.rf-kicker{
    display:inline-flex;align-items:center;gap:8px;
    padding:6px 14px;border-radius:999px;
    background:linear-gradient(135deg, var(--rf-orange), var(--rf-yellow));
    color:#0a0e1a;font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase;
    box-shadow:0 6px 18px rgba(255,122,0,.45);
}

.rf-hero-title{
    font-family:'Manrope',sans-serif;
    font-size:30px;line-height:1.05;font-weight:900;
    margin:14px 0 10px;
    color:#fff;
    text-transform:uppercase;
    letter-spacing:-.01em;
    text-shadow:0 4px 24px rgba(0,0,0,.6);
}
.rf-hero-title em{
    font-style:normal;
    background:linear-gradient(135deg, var(--rf-yellow) 0%, var(--rf-orange) 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
    text-shadow:none;
    filter:drop-shadow(0 0 18px rgba(255,176,32,.5));
}
@media (min-width:720px){
    .rf-hero-title{font-size:46px}
}

.rf-hero-lead{
    color:#cfd6e6;font-size:16px;margin:0 0 18px;max-width:520px;
}
.rf-hero-lead b{color:var(--rf-yellow);font-weight:700}

.rf-hero-meta{
    display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px;
}

.rf-timer{
    display:inline-flex;align-items:center;gap:8px;
    padding:10px 16px;border-radius:12px;
    background:rgba(255,122,0,.12);
    border:1px solid rgba(255,122,0,.4);
    color:var(--rf-yellow);font-weight:600;font-size:14px;
    box-shadow:inset 0 0 20px rgba(255,122,0,.1);
}
.rf-timer span{color:#fff;font-variant-numeric:tabular-nums}

/* ===== СТАТИСТИКА ===== */
.rf-stats{
    display:grid;grid-template-columns:1fr;gap:12px;margin:18px 0;
}
@media (min-width:600px){.rf-stats{grid-template-columns:repeat(3,1fr)}}

.rf-stat{
    position:relative;overflow:hidden;
    background:linear-gradient(180deg, var(--rf-graphite) 0%, var(--rf-bg-2) 100%);
    border:1px solid var(--rf-line);
    border-radius:18px;padding:16px 18px;
    display:flex;align-items:center;gap:14px;
    transition:transform .2s, border-color .2s, box-shadow .2s;
}
.rf-stat::before{
    content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
    background:linear-gradient(180deg, var(--rf-orange), var(--rf-yellow));
    box-shadow:0 0 12px var(--rf-orange);
}
.rf-stat:hover{transform:translateY(-3px);border-color:rgba(255,122,0,.4);box-shadow:0 14px 30px rgba(0,0,0,.4)}

.rf-stat-ico{
    width:48px;height:48px;border-radius:12px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg, rgba(255,122,0,.18), rgba(255,201,60,.12));
    color:var(--rf-yellow);
    border:1px solid rgba(255,122,0,.25);
}
.rf-stat-ico.silver{background:linear-gradient(135deg, rgba(192,200,212,.2), rgba(192,200,212,.05));color:#dbe2ee;border-color:rgba(192,200,212,.25)}
.rf-stat-ico.red{background:linear-gradient(135deg, rgba(239,68,68,.2), rgba(239,68,68,.05));color:#fca5a5;border-color:rgba(239,68,68,.25)}

.rf-stat-body span{
    display:block;font-size:11px;color:var(--rf-muted);
    text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:2px;
}
.rf-stat-body b{font-size:24px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums}

/* ===== БАЗОВЫЕ КАРТОЧКИ ===== */
.rf-card{
    background:linear-gradient(180deg, var(--rf-graphite) 0%, var(--rf-bg-2) 100%);
    border:1px solid var(--rf-line);
    border-radius:20px;
    padding:20px;
    margin:16px 0;
    box-shadow:var(--rf-shadow-card);
    color:var(--rf-text);
}
@media (min-width:881px){.rf-card{padding:26px}}
.rf-card h3{
    color:#fff;margin:0 0 14px;
    display:flex;align-items:center;gap:10px;
    font-size:18px;
}
.rf-card h3 svg{color:var(--rf-orange)}
.rf-card .muted{color:var(--rf-muted)}

/* ===== ГОНОЧНАЯ ТРАССА — ПРОГРЕСС ===== */
.rf-track-card .row.between b{color:#fff}
.rf-track-info{
    display:flex;align-items:center;justify-content:space-between;
    margin-bottom:14px;gap:10px;flex-wrap:wrap;
}
.rf-track-info .rf-goal{
    color:var(--rf-yellow);font-weight:800;font-variant-numeric:tabular-nums;
    font-size:18px;
}
.rf-track-info .rf-goal small{color:var(--rf-muted);font-weight:500;font-size:13px}

.rf-track{
    position:relative;
    height:64px;
    border-radius:14px;
    background:
            linear-gradient(180deg, #2a2f3d 0%, #1a1f2a 100%);
    border:1px solid #3a4256;
    overflow:hidden;
    box-shadow:inset 0 4px 12px rgba(0,0,0,.5);
}
/* Разметка трассы — пунктир посередине */
.rf-track::before{
    content:"";position:absolute;top:50%;left:0;right:0;height:4px;
    transform:translateY(-50%);
    background-image:linear-gradient(90deg, #ffc93c 0 24px, transparent 24px 44px);
    background-size:44px 4px;
    opacity:.85;
    animation:rf-dash 1.4s linear infinite;
}
@keyframes rf-dash{from{background-position:0 0}to{background-position:-44px 0}}

/* Бордюры красно-белые */
.rf-track::after{
    content:"";position:absolute;left:0;right:0;
    height:6px;top:0;
    background:repeating-linear-gradient(90deg, #ef4444 0 14px, #fff 14px 28px);
    box-shadow:0 56px 0 0 #fff inset;
}
.rf-track-curb{
    position:absolute;left:0;right:0;bottom:0;height:6px;
    background:repeating-linear-gradient(90deg, #ef4444 0 14px, #fff 14px 28px);
}

.rf-track-fill{
    position:absolute;left:0;top:6px;bottom:6px;
    border-radius:0 8px 8px 0;
    background:linear-gradient(90deg,
    rgba(255,122,0,.0) 0%,
    rgba(255,122,0,.35) 60%,
    rgba(255,201,60,.55) 100%);
    transition:width .8s cubic-bezier(.34,1.56,.64,1);
    box-shadow:0 0 24px rgba(255,176,32,.4);
}

.rf-track-car{
    position:absolute;top:50%;
    transform:translate(-50%,-50%) scaleX(-1);
    transform-origin: center;
    font-size:34px;line-height:1;
    transition:left .8s cubic-bezier(.34,1.56,.64,1);
    filter:drop-shadow(0 4px 10px rgba(255,122,0,.55));
    z-index:3;
}
.rf-track-finish{
    position:absolute;right:6px;top:6px;bottom:6px;width:18px;
    background:repeating-conic-gradient(#0a0e1a 0 25%, #fff 0 50%) 0 0/9px 9px;
    border-radius:2px;
    opacity:.9;z-index:2;
}

.rf-track-legend{
    margin-top:10px;font-size:13px;color:var(--rf-muted);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;
}
.rf-track-legend b{color:var(--rf-yellow)}

/* ===== КАК ЭТО РАБОТАЕТ ===== */
.rf-steps{
    display:grid;grid-template-columns:1fr;gap:14px;margin-top:6px;
}
@media (min-width:600px){.rf-steps{grid-template-columns:repeat(3,1fr)}}

.rf-step{
    position:relative;
    padding:24px 16px 18px;
    border-radius:16px;
    background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
    border:1px solid var(--rf-line);
    text-align:center;
    transition:transform .2s, border-color .2s, box-shadow .2s;
}
.rf-step:hover{
    transform:translateY(-4px);
    border-color:rgba(255,122,0,.4);
    box-shadow:0 14px 30px rgba(0,0,0,.4);
}
.rf-step-num{
    position:absolute;top:-14px;left:50%;transform:translateX(-50%);
    width:32px;height:32px;border-radius:50%;
    background:linear-gradient(135deg, var(--rf-orange), var(--rf-yellow));
    color:#0a0e1a;font-weight:900;font-size:15px;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 6px 16px rgba(255,122,0,.5);
    border:3px solid var(--rf-bg-2);
}
.rf-step-ico{
    color:var(--rf-yellow);margin:8px 0 12px;display:inline-flex;
    filter:drop-shadow(0 0 10px rgba(255,176,32,.35));
}
.rf-step b{display:block;color:#fff;margin-bottom:6px;font-size:15px}
.rf-step p{margin:0;font-size:13px;color:var(--rf-muted);line-height:1.45}

/* ===== БЛОК ПРОМОКОДА — НОМЕРНОЙ ЗНАК ===== */
.rf-plate-wrap{
    margin:14px auto 18px;
    max-width:480px;
    text-align:center;
}
.rf-plate-label{
    display:inline-block;
    font-size:12px;color:var(--rf-muted);
    text-transform:uppercase;letter-spacing:.18em;
    margin-bottom:10px;font-weight:600;
}

.rf-plate{
    position:relative;
    display:flex;align-items:stretch;
    background:#fff;
    border-radius:10px;
    overflow:hidden;
    box-shadow:
            0 12px 30px rgba(0,0,0,.5),
            inset 0 0 0 2px #0a0e1a,
            inset 0 0 0 4px #fff,
            inset 0 0 0 5px #c0c8d4;
    border:1px solid #0a0e1a;
    height:78px;
    font-family:'Manrope',sans-serif;
}
@media (min-width:600px){.rf-plate{height:92px}}

.rf-plate-flag{
    width:54px;flex-shrink:0;
    background:linear-gradient(180deg, #1e3a8a 0%, #0a1a4f 100%);
    color:#fff;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
    border-right:2px solid #0a0e1a;
}
.rf-plate-flag .flag-stripes{
    width:22px;height:14px;
    background:
            linear-gradient(180deg, #fff 0 33%, #1e3a8a 33% 66%, #ef4444 66% 100%);
    border-radius:2px;border:1px solid rgba(255,255,255,.3);
}
.rf-plate-flag .flag-rus{font-size:11px;font-weight:800;letter-spacing:.05em}

.rf-plate-code{
    flex:1;
    display:flex;align-items:center;justify-content:center;
    font-size:30px;font-weight:900;letter-spacing:.12em;
    color:#0a0e1a;
    padding:0 12px;
    text-transform:uppercase;
    word-break:break-all;
    line-height:1;
}
@media (min-width:600px){.rf-plate-code{font-size:40px;letter-spacing:.18em}}
@media (min-width:881px){.rf-plate-code{font-size:46px}}

/* Болтики на углах знака */
.rf-plate::before,
.rf-plate::after{
    content:"";position:absolute;width:8px;height:8px;border-radius:50%;
    background:radial-gradient(circle at 30% 30%, #94a3b8, #475569);
    box-shadow:inset 0 -1px 1px rgba(0,0,0,.4);
    z-index:2;
}
.rf-plate::before{top:6px;left:6px}
.rf-plate::after{top:6px;right:6px}

.rf-plate-copy{
    margin-top:14px;
    display:inline-flex;align-items:center;gap:8px;
    padding:10px 18px;border-radius:12px;
    background:rgba(255,122,0,.12);
    border:1px solid rgba(255,122,0,.35);
    color:var(--rf-yellow);
    font-weight:700;cursor:pointer;
    transition:all .2s;
    font:inherit;font-size:14px;
}
.rf-plate-copy:hover{
    background:rgba(255,122,0,.22);
    border-color:var(--rf-orange);
    box-shadow:0 0 18px rgba(255,122,0,.35);
}
.rf-plate-copy.copied{background:#10b981;border-color:#10b981;color:#fff}

/* ===== ПОЛНАЯ ССЫЛКА ===== */
.rf-link-row{
    margin-top:18px;
}
.rf-link-row label{color:var(--rf-muted);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;display:block}
.rf-copy-row{display:flex;gap:8px}
.rf-copy-row input{
    flex:1;min-width:0;
    background:var(--rf-bg);
    border:1px solid var(--rf-line);
    color:#fff;
    font-family:'Manrope',monospace;font-size:13px;
}
.rf-copy-row input:focus{border-color:var(--rf-orange);box-shadow:0 0 0 4px rgba(255,122,0,.15)}

.rf-btn-primary{
    background:linear-gradient(135deg, var(--rf-orange), var(--rf-yellow));
    color:#0a0e1a;
    border:0;
    font-weight:800;
    box-shadow:0 8px 22px rgba(255,122,0,.4);
    flex-shrink:0;
}
.rf-btn-primary:hover{
    background:linear-gradient(135deg, var(--rf-orange-2), #ffd75e);
    color:#0a0e1a;
    box-shadow:0 10px 28px rgba(255,122,0,.55);
    transform:translateY(-1px);
}

.rf-share{
    display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;
}
.rf-share .btn{
    flex:1;min-width:120px;
    background:var(--rf-graphite-2);
    color:#fff;
    border:1px solid var(--rf-line);
}
.rf-share .btn:hover{background:#2e3852;border-color:#3e4866;color:#fff}
.rf-share .btn-tg{background:#229ED9;border-color:transparent}
.rf-share .btn-tg:hover{background:#1c8bbf;border-color:transparent}
.rf-share .btn-max{background:#ff6b00;border-color:transparent}
.rf-share .btn-max:hover{background:#e65a00;border-color:transparent}

/* ===== ГОНОЧНЫЙ ПЬЕДЕСТАЛ ===== */
.rf-podium-wrap{
    margin:22px 0 10px;
    position:relative;
    padding-top:10px;
}
.rf-podium{
    display:grid;grid-template-columns:1fr 1.2fr 1fr;
    gap:8px;align-items:end;
    position:relative;
}
@media (min-width:600px){.rf-podium{gap:14px}}

.rf-podium-place{
    text-align:center;
    position:relative;
    display:flex;flex-direction:column;align-items:center;
}

.rf-podium-driver{
    background:linear-gradient(180deg, var(--rf-graphite-2), var(--rf-graphite));
    border:1px solid var(--rf-line);
    border-radius:14px;
    padding:14px 8px 12px;
    width:100%;
    margin-bottom:0;
    position:relative;z-index:2;
}
.rf-medal{
    display:inline-flex;align-items:center;justify-content:center;
    width:46px;height:46px;border-radius:50%;
    font-size:24px;font-weight:900;
    margin:-30px auto 8px;
    border:3px solid var(--rf-bg-2);
    box-shadow:0 6px 18px rgba(0,0,0,.4);
}
.rf-medal-1{background:linear-gradient(135deg, #ffd700, #f59e0b);color:#3a2200}
.rf-medal-2{background:linear-gradient(135deg, #e2e8f0, #94a3b8);color:#1a202c}
.rf-medal-3{background:linear-gradient(135deg, #d97706, #92400e);color:#fff7ed}

.rf-podium-name{
    color:#fff;font-weight:700;font-size:13px;line-height:1.25;
    margin-bottom:6px;word-break:break-word;
    min-height:32px;display:flex;align-items:center;justify-content:center;
}
.rf-podium-count{
    display:inline-flex;align-items:center;gap:5px;
    color:var(--rf-yellow);font-weight:800;font-size:15px;
    font-variant-numeric:tabular-nums;
}
@media (min-width:600px){
    .rf-podium-name{font-size:14px;min-height:36px}
    .rf-podium-count{font-size:17px}
}

/* Сами «ступени» пьедестала */
.rf-podium-base{
    width:100%;
    position:relative;
    border-radius:0;
    display:flex;align-items:flex-start;justify-content:center;
    padding-top:14px;
    font-weight:900;font-size:36px;color:#0a0e1a;
    font-family:'Manrope',sans-serif;
    text-shadow:0 1px 0 rgba(255,255,255,.2);
}
.rf-podium-base::before{
    content:"";position:absolute;top:0;left:0;right:0;height:8px;
    background:repeating-linear-gradient(90deg, #0a0e1a 0 12px, transparent 12px 24px);
    opacity:.4;
}
.rf-podium-1 .rf-podium-base{
    height:110px;
    background:linear-gradient(180deg, #ffd700 0%, #f59e0b 100%);
    box-shadow:0 -4px 0 #b8860b inset, 0 14px 30px rgba(245,158,11,.4);
}
.rf-podium-2 .rf-podium-base{
    height:80px;
    background:linear-gradient(180deg, #e2e8f0 0%, #94a3b8 100%);
    box-shadow:0 -4px 0 #64748b inset, 0 14px 30px rgba(148,163,184,.3);
}
.rf-podium-3 .rf-podium-base{
    height:60px;
    background:linear-gradient(180deg, #d97706 0%, #92400e 100%);
    color:#fff7ed;
    text-shadow:0 1px 0 rgba(0,0,0,.3);
    box-shadow:0 -4px 0 #78350f inset, 0 14px 30px rgba(146,64,14,.35);
}

.rf-podium-1{order:2}
.rf-podium-2{order:1}
.rf-podium-3{order:3}

/* Шашечный «пол» под пьедесталом */
.rf-podium-floor{
    height:18px;margin-top:0;
    background:repeating-conic-gradient(#1a2030 0 25%, #2a3346 0 50%) 0 0/24px 24px;
    border-radius:0 0 12px 12px;
    border:1px solid var(--rf-line);
    border-top:0;
    opacity:.8;
}

/* Остальные участники */
.rf-rest{display:flex;flex-direction:column;gap:8px;margin-top:18px}
.rf-rest-row{
    display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;
    padding:12px 14px;
    background:linear-gradient(90deg, var(--rf-graphite), var(--rf-bg-2));
    border:1px solid var(--rf-line);
    border-left:3px solid var(--rf-orange);
    border-radius:12px;
    transition:transform .15s, border-color .15s, background .15s;
}
.rf-rest-row:hover{transform:translateX(4px);border-left-color:var(--rf-yellow);background:linear-gradient(90deg, var(--rf-graphite-2), var(--rf-graphite))}
.rf-rest-rank{
    color:var(--rf-muted);font-weight:800;font-size:14px;
    background:var(--rf-bg);border:1px solid var(--rf-line);
    width:38px;height:38px;border-radius:8px;
    display:flex;align-items:center;justify-content:center;
}
.rf-rest-name{color:#fff;font-weight:600;font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rf-rest-count{display:inline-flex;align-items:center;gap:6px;color:var(--rf-yellow);font-size:14px;font-weight:700}

/* ===== EMPTY STATES ===== */
.rf-empty{
    padding:50px 24px;text-align:center;
    background:linear-gradient(180deg, var(--rf-graphite), var(--rf-bg-2));
    border:1px solid var(--rf-line);
    border-radius:20px;
    color:var(--rf-text);
    margin:18px 0;
}
.rf-empty .big-icon{color:var(--rf-orange);filter:drop-shadow(0 0 16px rgba(255,122,0,.4))}
.rf-empty h1{color:#fff;justify-content:center}
.rf-empty p{color:var(--rf-muted)}

.rf-empty-leaders{
    padding:34px 14px;text-align:center;
    background:rgba(255,255,255,.02);
    border:1px dashed var(--rf-line);
    border-radius:14px;margin-top:10px;
}
.rf-empty-leaders .big-icon{color:var(--rf-yellow)}
.rf-empty-leaders p{color:var(--rf-muted);margin:8px 0 0}

/* ===== ЛОГИН CTA (не залогиненный) ===== */
.rf-login-cta{
    text-align:center;padding:30px 20px;
    background:
            linear-gradient(135deg, rgba(255,122,0,.08), rgba(30,58,138,.15)),
            var(--rf-graphite);
}
.rf-login-cta p{color:#cfd6e6;font-size:17px;margin:0 0 18px}

/* ===== LANDING ===== */
.rf-landing{
    max-width:560px;margin:30px auto;
    background:linear-gradient(180deg, var(--rf-graphite) 0%, var(--rf-bg-2) 100%);
    border:1px solid var(--rf-line);
    border-radius:24px;padding:32px 22px;
    text-align:center;
    color:var(--rf-text);
    box-shadow:var(--rf-shadow-card);
    position:relative;overflow:hidden;
}
.rf-landing::before{
    content:"";position:absolute;top:0;left:0;right:0;height:8px;
    background:repeating-conic-gradient(#0a0e1a 0% 25%, #fff 0% 50%) 0 0/16px 16px;
    opacity:.9;
}
.rf-landing::after{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:
            radial-gradient(circle at 20% 100%, rgba(255,122,0,.18), transparent 50%),
            radial-gradient(circle at 80% 0%, rgba(30,58,138,.25), transparent 50%);
    z-index:0;
}
.rf-landing > *{position:relative;z-index:1}
.rf-landing .big-icon{color:var(--rf-orange);filter:drop-shadow(0 0 18px rgba(255,122,0,.4));margin-top:10px}
.rf-landing h1{color:#fff;justify-content:center;font-size:26px;margin:14px 0 10px}
@media (min-width:600px){.rf-landing h1{font-size:32px}}
.rf-landing p{color:#cfd6e6;font-size:16px;margin:0 0 14px}
.rf-landing p b{color:var(--rf-yellow)}
.rf-landing .muted{color:var(--rf-muted);font-size:14px}

.rf-landing-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}

/* Подсветка спидометра — декор */
.rf-speed{
    position:absolute;width:120px;height:120px;
    border-radius:50%;
    background:
            conic-gradient(from 135deg,
            transparent 0deg,
            var(--rf-orange) 30deg,
            var(--rf-yellow) 120deg,
            var(--rf-red) 200deg,
            transparent 270deg);
    filter:blur(20px);opacity:.35;
    pointer-events:none;
}
.rf-speed.tl{top:-30px;left:-30px}
.rf-speed.br{bottom:-30px;right:-30px}

/* ===== Хелперы ===== */
.rf-row-between{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.rf-muted{color:var(--rf-muted)}
.rf-tag{
    display:inline-flex;align-items:center;gap:6px;
    padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;
    background:rgba(255,122,0,.15);color:var(--rf-yellow);
    border:1px solid rgba(255,122,0,.3);
}

/* Скроллбар тёмный */
body.ref-page ::-webkit-scrollbar{width:10px;height:10px}
body.ref-page ::-webkit-scrollbar-track{background:var(--rf-bg)}
body.ref-page ::-webkit-scrollbar-thumb{background:var(--rf-line);border-radius:5px}
body.ref-page ::-webkit-scrollbar-thumb:hover{background:var(--rf-orange)}

@media (min-width: 881px) {
    .nav-group.is-active > .nav-link {
        color: #ffc93c;
    }
}