/* RudeHolm — ЛК shell, лаунчер, auth (на базе viking-site) */

body.vk-lk-page,
body.vk-launcher-page{
    padding-top:0;
}

.vk-page-shell{
    position:relative;z-index:1;
    max-width:1100px;margin:0 auto;
    padding:12px 24px 64px;
}
.vk-page-shell--narrow{max-width:820px}

.vk-page-hero{
    margin:8px 0 28px;text-align:center;
}
.vk-page-hero .tag{margin-bottom:12px}
.vk-page-hero h1{
    margin:0 0 10px;font-family:var(--vk-serif);
    font-size:clamp(1.75rem,4.5vw,2.35rem);font-weight:700;
    letter-spacing:-.02em;color:var(--vk-amber-bright);
}
.vk-page-hero p{
    margin:0 auto;max-width:560px;color:var(--vk-muted);
    font-size:.95rem;line-height:1.65;
}
.vk-page-hero p strong{color:var(--vk-text)}

body.vk-lk-page .zbt-lk-banner{
    border-color:rgba(201,162,84,.28);
    background:linear-gradient(135deg,rgba(201,162,84,.08),rgba(20,26,36,.92));
}

/* ── Launcher ── */
.vk-launcher-page .dl-tabs{
    display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;justify-content:center;
    padding:6px;border-radius:999px;
    background:rgba(0,0,0,.28);border:1px solid var(--vk-line);
    width:fit-content;margin-left:auto;margin-right:auto;
}
.vk-launcher-page .dl-tab{
    padding:10px 22px;border:1px solid transparent;background:transparent;
    border-radius:999px;color:var(--vk-muted);font-weight:600;cursor:pointer;
    font-family:inherit;transition:.2s;
}
.vk-launcher-page .dl-tab.on{
    background:rgba(201,162,84,.14);border-color:rgba(201,162,84,.45);color:var(--vk-amber-bright);
    box-shadow:0 0 16px rgba(201,162,84,.1);
}

.vk-server-strip{
    display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px;
}
.vk-server-pill{
    position:relative;padding:16px 14px;border-radius:var(--vk-radius-sm);
    background:var(--vk-surface-2);border:1px solid var(--vk-line);
    text-align:center;overflow:hidden;transition:border-color .2s,transform .2s;
}
.vk-server-pill::before{
    content:'';position:absolute;top:0;left:0;right:0;height:2px;
    background:linear-gradient(90deg,transparent,var(--vk-amber),transparent);opacity:.7;
}
.vk-server-pill:hover{border-color:rgba(201,162,84,.35);transform:translateY(-2px)}
.vk-server-pill .ico{font-size:1.5rem;line-height:1;margin-bottom:8px}
.vk-server-pill strong{
    display:block;font-family:var(--vk-serif);font-size:1rem;
    color:var(--vk-amber-bright);margin-bottom:4px;
}
.vk-server-pill span{font-size:.72rem;color:var(--vk-muted);line-height:1.35}

.vk-launcher-page .card{
    position:relative;padding:28px;margin-bottom:22px;
    border-radius:var(--vk-radius);overflow:hidden;
}
.vk-launcher-page .card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:2px;
    background:linear-gradient(90deg,transparent,var(--vk-amber-bright),var(--vk-amber),transparent);
    opacity:.75;
}
.vk-launcher-page .card h2{
    font-family:var(--vk-serif);font-size:1.15rem;margin-bottom:14px;
    color:var(--vk-amber-bright);font-weight:700;
}
.vk-launcher-page .card li{
    color:var(--vk-muted);margin-bottom:8px;line-height:1.55;
    list-style:none;padding-left:16px;position:relative;
}
.vk-launcher-page .card li::before{
    content:'';position:absolute;left:0;top:.55em;width:6px;height:6px;
    border-radius:50%;background:var(--vk-amber);
}

.vk-dl-hero{
    text-align:center;padding:32px 28px 28px;margin-bottom:22px;
    border-radius:var(--vk-radius);
    background:linear-gradient(165deg,rgba(201,162,84,.08),var(--vk-surface-2));
    border:1px solid rgba(201,162,84,.32);
    box-shadow:0 20px 56px rgba(0,0,0,.4),0 0 48px rgba(201,162,84,.06);
}
.vk-dl-hero .dl-icon{
    width:64px;height:64px;margin:0 auto 16px;border-radius:16px;
    display:flex;align-items:center;justify-content:center;
    background:rgba(201,162,84,.12);border:1px solid rgba(201,162,84,.28);
    font-size:1.75rem;
}
.vk-dl-hero h2{
    margin:0 0 8px;font-family:var(--vk-serif);font-size:1.35rem;color:var(--vk-amber-bright);
}
.vk-dl-hero .dl-sub{margin:0 0 22px;color:var(--vk-muted);font-size:.92rem;line-height:1.55}
.vk-dl-hero .btn-g{
    display:inline-block;text-decoration:none;padding:15px 36px;font-size:1.05rem;
    border-radius:var(--vk-radius-sm);
}
.vk-dl-hero .req{margin:14px 0 0;font-size:.84rem;color:var(--vk-muted)}

.vk-launcher-page .dl-alt{
    margin-top:10px;font-size:.84rem;color:var(--vk-muted);line-height:1.55;text-align:center;
}
.vk-launcher-page .dl-alt a{color:var(--vk-amber-bright);font-weight:600}

.vk-launcher-page .back{
    color:var(--vk-muted);text-decoration:none;font-size:.9rem;
    display:inline-block;margin-top:24px;font-weight:600;
}
.vk-launcher-page .back:hover{color:var(--vk-amber-bright)}

.vk-launcher-page .warn{
    margin-top:28px;padding:24px 26px;border-radius:var(--vk-radius);
    background:rgba(201,162,84,.05);border:1px solid rgba(201,162,84,.28);
}
.vk-launcher-page .warn h2{
    font-size:1rem;margin-bottom:10px;color:var(--vk-amber-bright);font-weight:700;
    font-family:var(--vk-serif);
}
.vk-launcher-page .warn p,.vk-launcher-page .warn li{color:var(--vk-muted);line-height:1.6;font-size:.92rem}
.vk-launcher-page .warn ol{margin:12px 0 0 1.1rem;padding:0}
.vk-launcher-page .warn li{margin-bottom:8px;padding-left:4px}
.vk-launcher-page .warn li::before{display:none}
.vk-launcher-page .warn-note{margin-top:14px;font-size:.82rem;opacity:.9}
.vk-launcher-page .warn-quote{
    margin:12px 0;padding:12px 14px;border-radius:var(--vk-radius-sm);
    background:rgba(0,0,0,.28);border:1px solid rgba(248,113,113,.35);
    color:#fecaca;font-size:.88rem;line-height:1.5;font-style:italic;
}
.vk-launcher-page .warn-steps{
    margin-top:14px;padding:14px 16px;border-radius:var(--vk-radius-sm);
    background:rgba(201,162,84,.08);border:1px solid rgba(201,162,84,.25);
}
.vk-launcher-page .warn-steps-title{font-size:.9rem;color:var(--vk-amber-bright);font-weight:700;margin-bottom:10px}
.vk-launcher-page .warn-steps ol{margin:0;padding-left:1.15rem}
.vk-launcher-page .warn-steps li{margin-bottom:10px;line-height:1.55;color:var(--vk-muted);font-size:.9rem}
.vk-launcher-page .warn-steps li::before{display:none}
.vk-launcher-page .warn-check{
    margin-top:14px;padding:12px 14px;border-radius:var(--vk-radius-sm);
    background:rgba(0,0,0,.2);border:1px solid rgba(201,162,84,.22);
}
.vk-launcher-page .warn-check-title{font-size:.88rem;color:var(--vk-amber-bright);font-weight:600;margin-bottom:6px}
.vk-launcher-page .warn-check-hint{font-size:.82rem;color:var(--vk-muted);margin-bottom:8px;line-height:1.5}
.vk-launcher-page .warn-check code{
    display:block;font-size:.72rem;color:#cbd5e1;word-break:break-all;line-height:1.45;user-select:all;
}

.vk-launcher-page .dl-panel{display:none}
.vk-launcher-page .dl-panel.on{display:block}
.vk-launcher-page .hist-list{display:flex;flex-direction:column;gap:14px}
.vk-launcher-page .hist-item{
    padding:18px 20px;border-radius:var(--vk-radius-sm);
    background:rgba(0,0,0,.22);border:1px solid var(--vk-line);
}
.vk-launcher-page .hist-item.current{
    border-color:rgba(201,162,84,.42);background:rgba(201,162,84,.08);
}
.vk-launcher-page .hist-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 14px;margin-bottom:8px}
.vk-launcher-page .hist-ver{font-size:1.05rem;font-weight:800;color:var(--vk-text)}
.vk-launcher-page .hist-date{font-size:.82rem;color:var(--vk-muted)}
.vk-launcher-page .hist-badge{
    font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
    padding:3px 10px;border-radius:999px;background:rgba(201,162,84,.14);color:var(--vk-amber-bright);
}
.vk-launcher-page .hist-summary{color:var(--vk-text);font-weight:600;margin-bottom:10px;line-height:1.45}
.vk-launcher-page .hist-changes{margin:0;padding-left:0;color:var(--vk-muted);font-size:.9rem;line-height:1.55;list-style:none}
.vk-launcher-page .hist-changes li{margin-bottom:4px;padding-left:16px;position:relative;list-style:none}
.vk-launcher-page .hist-changes li::before{
    content:'';position:absolute;left:0;top:.55em;width:6px;height:6px;
    border-radius:50%;background:var(--vk-amber);
}
.vk-launcher-page .hist-item.current .hist-changes li::before{
    background:var(--vk-amber-bright);box-shadow:0 0 6px rgba(232,200,120,.45);
}
.vk-launcher-page .hist-empty{color:var(--vk-muted);text-align:center;padding:32px 12px}

.vk-launcher-page .feat-card .feat-teaser{color:var(--vk-muted);font-size:.95rem;line-height:1.6;margin-bottom:14px}
.vk-launcher-page .feat-details{
    max-height:0;overflow:hidden;opacity:0;
    transition:max-height .45s ease,opacity .35s ease,margin .3s ease;
}
.vk-launcher-page .feat-card.expanded .feat-details{max-height:900px;opacity:1;margin-bottom:14px}
.vk-launcher-page .feat-group{margin-bottom:14px}
.vk-launcher-page .feat-group:last-child{margin-bottom:0}
.vk-launcher-page .feat-group-title{font-size:.88rem;font-weight:700;color:var(--vk-text);margin-bottom:6px}
.vk-launcher-page .feat-group-desc{font-size:.85rem;color:var(--vk-muted);line-height:1.5;margin-bottom:8px}
.vk-launcher-page .feat-toggle{
    display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
    padding:10px 14px;border-radius:var(--vk-radius-sm);font-size:.84rem;font-weight:600;font-family:inherit;
    cursor:pointer;transition:background .2s,border-color .2s,color .2s;
    background:rgba(255,255,255,.04);border:1px solid var(--vk-line);color:var(--vk-amber-bright);
}
.vk-launcher-page .feat-toggle:hover{background:rgba(201,162,84,.12);border-color:rgba(201,162,84,.32)}
.vk-launcher-page .feat-card.expanded .feat-toggle-label-more{display:none}
.vk-launcher-page .feat-card:not(.expanded) .feat-toggle-label-less{display:none}

body.vk-launcher-page .vk-dl-hero .vk-btn-primary{padding:15px 36px;font-size:1.05rem;text-decoration:none}
.vk-server-pill--zbt{border-color:rgba(99,102,241,.35)}
.vk-server-pill--zbt .zbt-badge{margin-left:4px;padding:2px 7px;font-size:.55rem;vertical-align:middle}
.vk-dl-zbt-gate{max-width:420px;margin:0 auto;text-align:left}
.vk-dl-zbt-loading{margin:0;color:var(--vk-muted);font-size:.9rem}
.vk-dl-zbt-gate .zbt-status{margin-bottom:16px;text-align:left}
.vk-dl-zbt-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:14px}
.vk-dl-zbt-actions .vk-btn{text-decoration:none}
.vk-dl-zbt-almazio{margin:0;font-size:.82rem;line-height:1.55;color:var(--vk-muted);text-align:center}
.vk-dl-zbt-almazio a{color:var(--vk-amber-bright);font-weight:600}
#dlMainBtn[hidden],#dlFullRow[hidden],#dlWarnDownload[hidden]{display:none!important}
#dlMainBtn:not([href]){pointer-events:none;cursor:default}

@media(max-width:720px){
    .vk-page-shell{padding:8px 16px 48px}
    .vk-server-strip{grid-template-columns:1fr}
    .vk-launcher-page .card{padding:20px 18px}
    .vk-dl-hero{padding:24px 18px}
}

/* ── Launcher auth ── */
body.vk-auth-page{
    min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;
}
.vk-auth-card{
    position:relative;z-index:1;max-width:440px;width:100%;
    padding:32px 28px;text-align:center;
    border:1px solid rgba(201,162,84,.28);
    background:linear-gradient(165deg,rgba(201,162,84,.05),var(--vk-surface-2));
    box-shadow:0 20px 56px rgba(0,0,0,.45);
}
.vk-auth-card .logo{
    width:56px;height:56px;margin:0 auto 14px;border-radius:14px;
    box-shadow:0 0 20px rgba(201,162,84,.25);
}
.vk-auth-card h1{
    font-family:var(--vk-serif);font-size:1.4rem;margin:0 0 8px;color:var(--vk-amber-bright);
}
.vk-auth-card p{color:var(--vk-muted);line-height:1.55;font-size:.92rem;margin-bottom:16px}
.vk-auth-card .code{
    font-family:Consolas,monospace;font-size:.85rem;color:var(--vk-amber-bright);
    background:rgba(0,0,0,.35);padding:8px 12px;border-radius:8px;margin:12px 0;word-break:break-all;
    border:1px solid var(--vk-line);
}
.vk-auth-card .btn-row{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.vk-auth-card .btn-row .vk-btn{width:100%;text-decoration:none;display:inline-flex;box-sizing:border-box;justify-content:center}
.vk-auth-card .status{margin-top:14px;font-size:.88rem;min-height:1.2em}
.vk-auth-card .status.ok{color:var(--vk-amber-bright)}
.vk-auth-card .status.err{color:var(--vk-danger)}
.vk-auth-login{display:flex;flex-direction:column;gap:10px;margin:14px 0 4px;text-align:left}
.vk-auth-input{width:100%;box-sizing:border-box;padding:11px 14px;border-radius:10px;border:1px solid var(--vk-border);background:rgba(0,0,0,.35);color:var(--vk-text);font-size:.95rem}
.vk-auth-input:focus{outline:none;border-color:var(--vk-amber);box-shadow:0 0 0 2px rgba(212,168,75,.2)}
.vk-auth-remember{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--vk-muted);cursor:pointer}
