:root { --bg:#0f1115; --fg:#e8eaed; --muted:#9aa0a6; --accent:#3ea6ff; --card:#1a1d23; --line:#2a2e36; }
* { box-sizing: border-box; }
body { margin:0; font:16px/1.6 system-ui,Segoe UI,Roboto,sans-serif; background:var(--bg); color:var(--fg); }
a { color:var(--accent); text-decoration:none; }
a:hover { text-decoration:underline; }
.site-header { display:flex; gap:24px; align-items:center; padding:14px 20px; border-bottom:1px solid var(--line); flex-wrap:wrap; }
.logo { font-weight:700; font-size:20px; color:var(--fg); }
.site-header nav { display:flex; gap:16px; flex-wrap:wrap; }
.container { max-width:860px; margin:0 auto; padding:24px 16px; }
.post-list { list-style:none; padding:0; }
.post-list li { padding:10px 0; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:12px; }
.post-list .cat { color:var(--muted); font-size:13px; white-space:nowrap; }
.crumbs, .cat-descr { color:var(--muted); font-size:14px; }
.post-body img { max-width:100%; height:auto; }
.post-body table { width:100%; border-collapse:collapse; }
.post-body td, .post-body th { border:1px solid var(--line); padding:6px 8px; }
.xfields { margin-top:32px; padding-top:16px; border-top:1px solid var(--line); }
.xfields dl { display:grid; grid-template-columns:minmax(140px,30%) 1fr; gap:6px 16px; }
.xfields dt { color:var(--muted); }
.xfields dd { margin:0; }
.site-footer { border-top:1px solid var(--line); padding:20px; color:var(--muted); text-align:center; }
@media (max-width:520px){ .xfields dl{ grid-template-columns:1fr; } .post-list li{ flex-direction:column; } }

/* CTA кнопки (ref1/ref2) */
.cta { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:18px 0 24px; }
.cta-btn { display:inline-block; padding:12px 28px; border-radius:10px; font-weight:700; font-size:16px; text-decoration:none; transition:transform .08s ease, filter .15s ease; }
.cta-btn:hover { text-decoration:none; filter:brightness(1.08); transform:translateY(-1px); }
.cta-primary { background:linear-gradient(135deg,#ffb020,#ff7a00); color:#1a1205; }
.cta-secondary { background:var(--card); color:var(--fg); border:1px solid var(--line); }
.cta-code { color:var(--muted); font-size:14px; }
.cta-code b { color:var(--accent); font-family:ui-monospace,Consolas,monospace; }

/* Слайдер (slid1-3) */
.slider { display:flex; gap:10px; overflow-x:auto; margin:0 0 22px; padding-bottom:6px; scroll-snap-type:x mandatory; }
.slider .slide { margin:0; flex:0 0 auto; scroll-snap-align:start; }
.slider img { height:190px; width:auto; border-radius:10px; border:1px solid var(--line); display:block; }

/* Характеристики слота (slot_*) */
.specs { margin-top:30px; padding-top:18px; border-top:1px solid var(--line); }
.specs-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:8px 20px; }
.spec { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--line); }
.spec-k { color:var(--muted); }
.spec-v { font-weight:600; }
.badge { font-size:13px; font-weight:700; padding:2px 10px; border-radius:20px; }
.badge-yes { background:rgba(60,190,110,.16); color:#4ad07e; }
.badge-no { background:rgba(150,150,150,.14); color:var(--muted); }
@media (max-width:520px){ .specs-grid{ grid-template-columns:1fr; } .slider img{ height:150px; } }
.cta-note { color:#ffb020; font-size:12px; }

/* Казино-инфо (rate/mobi/promo/bonuses) */
.casino-info { margin:4px 0 22px; }
.ci-head { display:flex; flex-wrap:wrap; gap:14px 22px; align-items:center; padding:14px 16px; background:var(--card); border:1px solid var(--line); border-radius:12px; }
.ci-rating { display:flex; align-items:center; gap:10px; }
.ci-stars .star { color:#3a3f48; font-size:18px; }
.ci-stars .star.on { color:#ffb020; }
.ci-stars .star.half { background:linear-gradient(90deg,#ffb020 50%,#3a3f48 50%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ci-rate-num { font-weight:800; font-size:20px; }
.ci-rate-max { color:var(--muted); font-size:14px; font-weight:600; }
.ci-pill { color:var(--muted); font-size:14px; }
.ci-pill b { padding:2px 10px; border-radius:20px; font-size:13px; margin-left:4px; }
.ci-pill b.yes { background:rgba(60,190,110,.16); color:#4ad07e; }
.ci-pill b.no { background:rgba(150,150,150,.14); color:var(--muted); }
.ci-promo { display:flex; align-items:center; gap:10px; }
.ci-promo img { height:34px; width:auto; border-radius:6px; }
.ci-promo b { color:var(--accent); font-family:ui-monospace,Consolas,monospace; }
.ci-bonuses { margin-top:18px; }
.ci-bonuses .bonus__item { padding:12px 14px; border:1px solid var(--line); border-radius:10px; margin:8px 0; background:var(--card); }
.ci-bonuses .bonus__type { font-weight:700; }
.ci-bonuses .casino-bonuses-title { font-size:18px; font-weight:700; margin-bottom:8px; }

/* Хлебные крошки (ссылки) */
.crumbs { font-size:13px; color:var(--muted); margin:0 0 6px; display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.crumbs a { color:var(--muted); }
.crumbs a:hover { color:var(--accent); }
.crumbs .sep { color:#3a3f48; }
/* Похожие */
.related { margin-top:34px; padding-top:18px; border-top:1px solid var(--line); }

/* ===== Дизайн-проход ===== */
/* Типографика тела статьи */
.post h1 { font-size:30px; line-height:1.2; margin:6px 0 14px; letter-spacing:-.01em; }
.post-body { font-size:16.5px; }
.post-body h2 { font-size:22px; margin:28px 0 10px; line-height:1.25; }
.post-body h3 { font-size:18px; margin:22px 0 8px; }
.post-body p { margin:0 0 14px; }
.post-body ul, .post-body ol { margin:0 0 14px; padding-left:22px; }
.post-body li { margin:4px 0; }
.post-body a { text-decoration:underline; text-underline-offset:2px; }
.post-body img { border-radius:10px; margin:6px 0; }
.post-body img[style*="float:left"] { margin:4px 16px 10px 0; max-width:min(42%,320px); }
.post-body div[style*="text-align:center"] img { margin-left:auto; margin-right:auto; }
.post-body > *:first-child { margin-top:0; }
.post-body table { margin:12px 0; border-radius:8px; overflow:hidden; }
.post-body th { background:var(--card); text-align:left; }
.post-body tr:nth-child(even) td { background:rgba(255,255,255,.02); }
/* убрать осиротевшие пустые параграфы/бр после удалённых картинок */
.post-body p:empty { display:none; }

/* Списки материалов как мягкие строки */
.post-list { margin:8px 0 0; }
.post-list li a { font-weight:500; }

/* Шапка/контейнер */
.site-header { position:sticky; top:0; z-index:5; background:rgba(15,17,21,.9); backdrop-filter:saturate(1.2) blur(8px); }
.container { max-width:880px; }
h1, h2, h3 { text-wrap:balance; }
.post-body p { text-wrap:pretty; }
