/* Главная страница для гостей */
:root { --hm-bg1: #3a1757; --hm-bg2: #14061f; --hm-panel: #4b3270; --hm-panel2: #3b2559; --hm-text: #f1e9ff; --hm-gold: #f4d548; --hm-line: #8a6bb8; --hm-bronze: #b98a4a; }
* { box-sizing: border-box; }
body.hm { margin: 0; color: var(--hm-text); font: 13px/1.45 Verdana, Tahoma, Arial, sans-serif; background: linear-gradient(180deg, var(--hm-bg1), var(--hm-bg2) 70%) fixed, #14061f; min-height: 100vh; }
.hm a { color: var(--hm-gold); text-decoration: none; }
.hm a:hover { text-decoration: underline; }
.hm-wrap { max-width: 760px; margin: 0 auto; padding: 0 8px 28px; }
.hm-banner { display: block; width: 100%; height: auto; }
.hm-nav { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .5rem; padding: .45rem .5rem; margin-bottom: 8px; background: linear-gradient(180deg, #3b2150, #24112f); border-top: 2px solid var(--hm-bronze); border-bottom: 2px solid var(--hm-bronze); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.hm-nav a { color: #f6e8ff; }
.hm-nav a.is-hot { color: var(--hm-gold); }
.hm-nav i { color: var(--hm-bronze); font-style: normal; }
.hm-cols { display: grid; grid-template-columns: minmax(0, 1fr) 196px; gap: 10px; align-items: start; }
.hm-box { background: linear-gradient(180deg, var(--hm-panel), var(--hm-panel2)); border: 1px solid var(--hm-line); border-radius: 3px; padding: 10px 12px; box-shadow: 0 0 0 1px #20102e, inset 0 0 0 1px rgba(255,255,255,.07); }
.hm-main h1 { margin: 0 0 8px; font-size: 15px; text-transform: uppercase; letter-spacing: .02em; color: #fff; }
.hm-h2 { margin: 14px 0 6px; font-size: 13px; text-transform: uppercase; color: #fff; border-top: 1px solid var(--hm-line); padding-top: 10px; }
.hm-intro::after { content: ""; display: block; clear: both; }
.hm-intro p { margin: 0 0 .75rem; font-size: 14px; line-height: 1.5; }
.hm-hero { float: left; width: 170px; margin: 0 14px 8px 0; position: relative; border: 2px solid var(--hm-bronze); border-radius: 3px; overflow: hidden; background: #2c1a40; }
.hm-hero-img { display: block; width: 100%; height: auto; }
.hm-start { position: absolute; left: 50%; bottom: 8px; transform: translateX(-50%); padding: 5px 12px; font-size: 12px; font-weight: 700; text-transform: uppercase; color: #fff !important; background: linear-gradient(180deg, #d4572e, #9a2b12); border: 1px solid #f0b35a; border-radius: 3px; white-space: nowrap; box-shadow: 0 2px 4px rgba(0,0,0,.5); }
.hm-start:hover { text-decoration: none; filter: brightness(1.12); }
.hm-event { margin: 0; padding: 4px 6px; border: 1px solid #c0392b; font-size: 14px; }
.hm-event span { color: var(--hm-gold); }
.hm-news { margin: 0 0 16px; }
.hm-date { color: #c9a98a; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12px; }
.hm-news h3 { margin: 2px 0 6px; font-size: 14px; color: #fff; }
.hm-news-body { display: grid; grid-template-columns: 60px minmax(0, 1fr); gap: 8px; }
.hm-news-body p { margin: 0; font-size: 14px; line-height: 1.5; }
.hm-news-body b { color: #fff; }
.hm-side { display: grid; gap: 10px; }
.hm-side h2 { margin: 0 0 6px; text-align: center; font-size: 12px; color: #fff; }
.hm-login label { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 4px; align-items: center; margin: 4px 0; font-size: 11px; font-weight: 700; }
.hm-login input { width: 100%; padding: 2px 4px; font: 12px Verdana, sans-serif; border: 1px solid #6a4a9a; background: #fff; color: #111; }
.hm-login button { display: block; margin: 8px auto 4px; padding: 2px 16px; font: 700 11px Verdana, sans-serif; color: #111; background: linear-gradient(#f2f2f2, #cfcfcf); border: 1px solid #888; border-radius: 2px; cursor: pointer; }
.hm-links { text-align: center; margin: 6px 0 0; font-weight: 700; font-size: 11px; }
.hm-flash { margin: 0 0 6px; padding: 4px 6px; font-size: 11px; border: 1px solid #c0392b; background: rgba(192,57,43,.25); }
.hm-flash-success { border-color: #4f9a5f; background: rgba(79,154,95,.25); }
.hm-stats dl { display: grid; grid-template-columns: 1fr auto; gap: 3px 6px; margin: 0; font-size: 11px; }
.hm-stats dt { color: #ddd0f2; }
.hm-stats dd { margin: 0; font-weight: 700; text-align: right; }
.hm-tip p { margin: 0; font-size: 11px; line-height: 1.4; }
.hm-rate ul { margin: 0; padding-left: 16px; font-size: 11px; font-weight: 700; }
@media (max-width: 400px) {
    .hm-cols { grid-template-columns: 1fr; }
    .hm-side { order: -1; }
    .hm-hero { width: 130px; }
}

.hm-lib p { margin: 4px 0 8px; font-size: 12px; }
.hm-libbtn { display: block; text-align: center; padding: 6px; font: 700 12px Verdana, sans-serif; color: #fff; text-decoration: none; background: linear-gradient(#c9892f, #8a4a1c); border: 1px solid #5a3010; }
