/* Раздел «Игры» (/igry/): каталог, страницы игр, поле, HUD, окна, рейтинг, призы и коллекция */
.gp{--gp-ink:var(--ink,#10243d);--gp-muted:var(--muted,#5b6f86);--gp-surface:var(--surface,#fff);--gp-sunk:var(--sunk,#eef4fa);--gp-line:var(--line,#d5e1ee);--gp-a:#ff7a00;--gp-b:#ffd166;--gp-font:var(--font-display,system-ui,-apple-system,'Segoe UI',sans-serif);color:var(--gp-ink);padding-bottom:36px}
.gp *{box-sizing:border-box}
.gp-eyebrow,.gm-eyebrow{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;font:800 11px/1 var(--gp-font);letter-spacing:.12em;text-transform:uppercase;color:#fff;background:linear-gradient(120deg,var(--gp-a),var(--gp-b));width:max-content;max-width:100%}
.gp-eyebrow{color:#1a1205}

/* Шапка страницы */
.gp-hero{position:relative;margin:14px 0 24px;padding:clamp(20px,4vw,40px);border-radius:28px;overflow:hidden;background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--gp-a) 24%,#0b0f1a),#0b0f1a 62%);color:#fff;border:1px solid color-mix(in srgb,var(--gp-a) 40%,transparent);box-shadow:0 24px 60px -34px color-mix(in srgb,var(--gp-a) 70%,#000)}
.gp-hero::after{content:"";position:absolute;inset:auto -10% -40% 30%;height:80%;background:radial-gradient(closest-side,color-mix(in srgb,var(--gp-b) 38%,transparent),transparent);filter:blur(10px);pointer-events:none}
.gp-hero>*{position:relative;z-index:1}
.gp-hero h1{margin:14px 0 8px;font:900 clamp(30px,5.4vw,56px)/1.02 var(--gp-font);letter-spacing:-.025em}
.gp-hero p{margin:0;max-width:62ch;font-size:clamp(15px,1.8vw,18px);line-height:1.55;color:rgba(255,255,255,.86)}
.gp-hero__stats{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0;padding:0;list-style:none}
.gp-hero__stats li{padding:9px 14px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);font:700 13px/1.2 var(--gp-font)}
.gp-hero__stats b{display:block;font:900 20px/1.1 var(--gp-font);color:var(--gp-b)}

/* Каталог игр */
.gp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px;margin:0 0 30px}
.gp-card{position:relative;display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:var(--gp-surface);border:1px solid var(--gp-line);color:inherit;text-decoration:none;box-shadow:0 18px 44px -32px rgba(10,30,60,.55);transition:transform .25s,box-shadow .25s}
.gp-card:hover{transform:translateY(-4px);box-shadow:0 26px 54px -30px color-mix(in srgb,var(--gp-a) 60%,#000)}
.gp-card:focus-visible{outline:3px solid var(--gp-a);outline-offset:3px}
.gp-card__art{position:relative;aspect-ratio:16/10;display:grid;place-items:center;background:linear-gradient(135deg,var(--gp-a),var(--gp-b));overflow:hidden}
.gp-card__art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gp-card__art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,10,20,.62))}
.gp-card__ico{position:relative;z-index:1;font-size:64px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.4))}
.gp-card__kind{position:absolute;z-index:2;left:14px;top:14px;padding:6px 11px;border-radius:999px;background:rgba(8,12,24,.7);color:#fff;font:800 11px/1 var(--gp-font);letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(6px)}
.gp-card__body{display:flex;flex-direction:column;gap:10px;padding:18px 18px 20px;flex:1}
.gp-card h2{margin:0;font:900 22px/1.1 var(--gp-font);letter-spacing:-.01em}
.gp-card p{margin:0;font-size:14.5px;line-height:1.5;color:var(--gp-muted)}
.gp-top{margin:2px 0 0;padding:0;list-style:none;display:grid;gap:5px}
.gp-top li{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:12px;background:var(--gp-sunk);font:700 13px/1.2 var(--gp-font)}
.gp-top li span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--gp-b);color:#1a1205;font-size:12px;font-weight:900}
.gp-top li b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gp-top li em{font-style:normal;color:var(--gp-muted)}
.gp-top--empty{padding:9px 11px;border-radius:12px;background:var(--gp-sunk);font-size:13px;color:var(--gp-muted)}
.gp-card__go{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:999px;background:linear-gradient(120deg,var(--gp-a),var(--gp-b));color:#1a1205;font:900 15px/1 var(--gp-font)}

/* Информационные блоки */
.gp-sec{margin:0 0 26px;padding:clamp(18px,3vw,28px);border-radius:24px;background:var(--gp-surface);border:1px solid var(--gp-line)}
.gp-sec h2{margin:0 0 14px;font:900 clamp(22px,3vw,30px)/1.1 var(--gp-font);letter-spacing:-.015em}
.gp-sec p{margin:0 0 10px;line-height:1.6;color:var(--gp-muted)}
.gp-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px;margin:0;padding:0;list-style:none;counter-reset:s}
.gp-steps li{position:relative;padding:48px 16px 16px;border-radius:18px;background:var(--gp-sunk);counter-increment:s}
.gp-steps li::before{content:counter(s);position:absolute;left:14px;top:12px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(120deg,var(--gp-a),var(--gp-b));color:#1a1205;font:900 14px/1 var(--gp-font)}
.gp-steps b{display:block;margin-bottom:4px;font:800 16px/1.2 var(--gp-font)}
.gp-steps span{font-size:14px;line-height:1.5;color:var(--gp-muted)}
.gp-tips{margin:0;padding:0 0 0 20px;display:grid;gap:7px;line-height:1.55;color:var(--gp-muted)}
.gp-faq details{border-top:1px solid var(--gp-line);padding:12px 0}
.gp-faq details:first-of-type{border-top:0}
.gp-faq summary{cursor:pointer;font:800 16px/1.3 var(--gp-font);list-style:none;display:flex;justify-content:space-between;gap:12px}
.gp-faq summary::-webkit-details-marker{display:none}
.gp-faq summary::after{content:"+";font-weight:900;color:var(--gp-a)}
.gp-faq details[open] summary::after{content:"−"}
.gp-faq p{margin:8px 0 0}
.gp-more{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px;margin:0;padding:0;list-style:none}
.gp-more a{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:var(--gp-sunk);color:inherit;text-decoration:none;font:800 15px/1.2 var(--gp-font);border:1px solid transparent}
.gp-more a:hover,.gp-more a:focus-visible{border-color:var(--gp-a)}
.gp-more i{font-style:normal;font-size:26px}

/* Игровая площадка */
.gm{position:relative;margin:0 0 26px;padding:clamp(14px,2.6vw,26px);border-radius:28px;color:#fff;background:radial-gradient(130% 110% at 0% 0%,color-mix(in srgb,var(--gp-a) 20%,#0b0f1a),#0b0f1a 62%);border:1px solid color-mix(in srgb,var(--gp-a) 38%,transparent);box-shadow:0 26px 70px -36px color-mix(in srgb,var(--gp-a) 70%,#000)}
.gm__grid{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:clamp(16px,3vw,32px);align-items:start;justify-content:center}
.gm__play{min-width:0}
.gm__hud{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 10px}
.gm-cell{padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);min-width:0}
.gm-cell small{display:block;font:700 10px/1 var(--gp-font);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.gm-cell b{display:block;margin-top:4px;font:900 20px/1.05 var(--gp-font);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}
.gm-lives{display:flex;gap:3px;margin-top:4px;min-height:20px;flex-wrap:wrap}
.gm-heart{position:relative;width:16px;height:14px;display:inline-block;transition:transform .2s,opacity .2s}
.gm-heart::before,.gm-heart::after{content:"";position:absolute;top:0;width:9px;height:14px;border-radius:9px 9px 0 0;background:#ff4d6d;transform-origin:0 100%}
.gm-heart::before{left:7px;transform:rotate(-45deg)}.gm-heart::after{left:0;transform:rotate(45deg)}
.gm-heart.is-lost{opacity:.28;filter:grayscale(1)}
.gm-tags{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}
.gm-tags span{padding:5px 10px;border-radius:999px;font:900 12px/1 var(--gp-font);color:#10131c;background:#fff}
.gm-tags .t-x{background:#ffd166}.gm-tags .t-t{background:#35c8ff}.gm-tags .t-s{background:#ff9f1c}.gm-tags .t-m{background:#7cff6b}
.gm__stage{position:relative;width:100%;max-width:min(440px,max(300px,calc((100svh - 250px) * var(--gm-r,.5625))));margin:0 auto;aspect-ratio:var(--gm-ar,360/640);border-radius:22px;overflow:hidden;background:#0a0d16;border:2px solid rgba(255,255,255,.14);box-shadow:0 18px 50px -24px #000}
.gm__stage canvas{display:block;width:100%;height:100%;touch-action:pan-y;outline:none;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
.gm__stage canvas.is-playing{touch-action:none}
.gm__stage canvas:focus-visible{box-shadow:inset 0 0 0 3px var(--gp-b)}
.gm-ov{position:absolute;inset:0;display:grid;place-items:center;padding:14px;background:rgba(5,8,16,.62);backdrop-filter:blur(3px);overflow:auto}
.gm-ov[hidden]{display:none}
.gm-card{width:100%;max-width:340px;margin:auto;padding:18px 18px 20px;border-radius:22px;text-align:center;background:linear-gradient(170deg,rgba(26,30,44,.96),rgba(10,12,20,.97));border:1px solid rgba(255,255,255,.16);box-shadow:0 20px 50px -20px #000;display:grid;gap:10px;justify-items:center}
.gm-card h3{margin:0;font:900 25px/1.1 var(--gp-font);letter-spacing:-.01em}
.gm-card h3 small{font-size:15px;font-weight:700;color:rgba(255,255,255,.7)}
.gm-card p{margin:0;font-size:14px;line-height:1.5;color:rgba(255,255,255,.82)}
.gm-card b{color:#fff}
.gm-hero{display:flex;align-items:flex-end;justify-content:center;gap:10px;height:132px}
.gm-mafioso{width:112px;height:112px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.6))}
.gm-mafioso svg{display:block;width:100%;height:100%}
.gm-carbox{height:132px}
.gm-carprev{display:block;height:132px;width:auto;filter:drop-shadow(0 10px 14px rgba(0,0,0,.6))}
.gm-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:4px}
.gm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 22px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;font:800 15px/1.1 var(--gp-font);cursor:pointer;text-decoration:none;transition:transform .2s,filter .2s}
.gm-btn:hover{transform:translateY(-2px)}.gm-btn:focus-visible{outline:3px solid var(--gp-b);outline-offset:3px}.gm-btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.gm-btn--solid{border-color:transparent;background:linear-gradient(120deg,var(--gp-a),var(--gp-b));color:#1a1205;box-shadow:0 10px 24px -12px var(--gp-a)}
.gm-new{color:var(--gp-b)}
.gm-prize{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-radius:16px;text-align:left;background:color-mix(in srgb,var(--c,#ffd166) 18%,transparent);border:1px solid color-mix(in srgb,var(--c,#ffd166) 55%,transparent)}
.gm-prize i{flex:none;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,var(--c,#ffd166) 55%,color-mix(in srgb,var(--c,#ffd166) 50%,#000));box-shadow:0 0 22px color-mix(in srgb,var(--c,#ffd166) 80%,transparent)}
.gm-prize small{display:block;font:700 10px/1 var(--gp-font);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.gm-prize b{display:block;margin:3px 0 2px;font:900 17px/1.15 var(--gp-font)}
.gm-prize span{display:block;font-size:12.5px;line-height:1.4;color:rgba(255,255,255,.78)}
.gm__msg{margin:10px 0 0;font-size:14px;line-height:1.45;color:rgba(255,255,255,.82);min-height:2.9em}
.gm__tools{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 0}
.gm__hint{margin:8px 0 0;font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.58)}

/* Форма «В рейтинг» */
.gm-save{display:grid;gap:7px;width:100%;text-align:left}
.gm-save label{font:800 12px/1.2 var(--gp-font);color:rgba(255,255,255,.75)}
.gm-save div{display:flex;gap:8px}
.gm-save input{flex:1;min-width:0;min-height:46px;padding:10px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff;font:700 15px var(--gp-font)}
.gm-save input::placeholder{color:rgba(255,255,255,.45)}
.gm-save input:focus-visible{outline:3px solid var(--gp-b);outline-offset:2px}
.gm-save .gm-btn{padding-inline:16px}
.gm-save__msg{margin:0;font-size:13px;line-height:1.45;color:rgba(255,255,255,.85)}
.gm-slot{width:100%}

/* Рейтинг */
.gm__board{min-width:0;padding:clamp(14px,2vw,20px);border-radius:22px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13)}
.gm__board h3{margin:0 0 12px;font:900 20px/1.1 var(--gp-font)}
.gm__tabs{display:flex;gap:6px;margin:0 0 12px;padding:4px;border-radius:999px;background:rgba(0,0,0,.28)}
.gm__tabs button{flex:1;min-height:38px;padding:8px 6px;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.75);font:800 13px/1 var(--gp-font);cursor:pointer}
.gm__tabs button[aria-selected="true"]{background:linear-gradient(120deg,var(--gp-a),var(--gp-b));color:#1a1205}
.gm__tabs button:focus-visible{outline:3px solid var(--gp-b);outline-offset:2px}
.gm__rows{margin:0;padding:0;list-style:none;display:grid;gap:6px;max-height:480px;overflow:auto}
.gm__rows li{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:9px 11px;border-radius:12px;background:rgba(255,255,255,.07);font:700 14px/1.2 var(--gp-font)}
.gm__rows li.is-top .gm-rank{background:linear-gradient(120deg,var(--gp-a),var(--gp-b));color:#1a1205}
.gm__rows li.is-me{outline:2px solid var(--gp-b)}
.gm__rows li.gm-empty{display:block;color:rgba(255,255,255,.7);font-weight:600}
.gm-rank{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.14);font-weight:900;font-size:12px}
.gm__rows b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gm__rows small{color:rgba(255,255,255,.58);font-size:11.5px;white-space:nowrap}
.gm__rows strong{font-variant-numeric:tabular-nums;font-weight:900;color:var(--gp-b)}
.gm__rules{margin:14px 0 0;padding:0 0 0 18px;display:grid;gap:6px;font-size:13px;line-height:1.5;color:rgba(255,255,255,.75)}

/* Призы и коллекция */
.gm__prizes,.gm__dishes{margin:18px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.gm__prizes li{position:relative;padding:12px;border-radius:16px;background:rgba(255,255,255,.06);border:1px dashed rgba(255,255,255,.2);opacity:.6;display:grid;gap:3px;justify-items:start}
.gm__prizes li i{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.2)}
.gm__prizes li b{font:800 14px/1.2 var(--gp-font)}.gm__prizes li small{font-size:11.5px;color:rgba(255,255,255,.62)}
.gm__prizes li.is-on{opacity:1;border-style:solid;border-color:color-mix(in srgb,var(--c) 70%,transparent);background:color-mix(in srgb,var(--c) 16%,transparent)}
.gm__prizes li.is-on i{background:radial-gradient(circle at 35% 30%,#fff,var(--c) 55%,color-mix(in srgb,var(--c) 50%,#000));box-shadow:0 0 18px var(--c)}
.gm__sub{margin:20px 0 0;font:900 18px/1.1 var(--gp-font)}
.gm__subnote{margin:4px 0 0;font-size:13px;color:rgba(255,255,255,.65)}
.gm__dishes{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}
.gm__dishes li{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:1;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.gm__dishes li img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.35);transition:filter .3s}
.gm__dishes li.is-on img{filter:none}
.gm__dishes li span{position:absolute;inset:auto 0 0;padding:14px 5px 4px;background:linear-gradient(transparent,rgba(0,0,0,.82));font:700 10.5px/1.15 var(--gp-font);text-align:center}
.gm__dishes li:not(.is-on) span{display:none}
.gm__dishes li:not(.is-on)::after{content:"?";position:absolute;inset:0;display:grid;place-items:center;font:900 28px var(--gp-font);color:rgba(255,255,255,.4)}

/* Хоккейные игры внутри раздела: их собственные блоки без лишнего отступа сверху */
.gp .shg{margin-top:0}
.gp .ice-sec{margin-top:0}

@media (max-width:860px){
  .gm__grid{grid-template-columns:minmax(0,1fr)}
  .gm__stage{max-width:min(440px,100%,max(300px,calc((100svh - 250px) * var(--gm-r,.5625))))}
  .gm__rows{max-height:none}
}
@media (max-width:520px){
  .gm{padding:12px;border-radius:22px}
  .gm__hud{grid-template-columns:repeat(2,1fr)}
  .gp-hero{border-radius:22px}
}
@media (prefers-reduced-motion:reduce){.gp-card,.gm-btn,.gm-heart{transition:none}.gp-card:hover,.gm-btn:hover{transform:none}}

/* Мелочи окон игр */
.gm-dishrow{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.gm-dishrow img{width:48px;height:48px;border-radius:12px;object-fit:cover;border:1px solid rgba(255,255,255,.2)}
.gm-note{font-size:13px;color:rgba(255,255,255,.7)}
.gm-note:empty{display:none}

/* Хоккейный челлендж внутри раздела: светлая игра ice-v1.css внутри тёмной карточки */
.gm--ice{color:#fff}
.gm--ice .gm__grid--wide{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.gm--ice .ice-game__msg{color:rgba(255,255,255,.82)}
.gm--ice .gm__play{max-width:none}
.gm--ice .gm-slot--ice{margin:6px 0}
@media (max-width:860px){.gm--ice .gm__grid--wide{grid-template-columns:minmax(0,1fr)}}

.page-game-shaurma-hockey .shg__head{display:none}
.page-game-shaurma-hockey .shg-wrap{padding:0}
.gm--ice .ice-ov__card .gm-save label,.gm--ice .ice-ov__card .gm-save__msg{color:inherit}
.gm--ice .ice-ov__card .gm-save input{background:rgba(255,255,255,.14)}

/* Иллюстрация в шапке страницы игры */
.gp-hero--art{min-height:300px}
.gp-hero__art{position:absolute!important;z-index:0!important;right:0;top:0;height:100%;width:min(62%,760px);object-fit:cover;object-position:center;opacity:.95;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 42%);mask-image:linear-gradient(90deg,transparent 0,#000 42%)}
.gp-hero--art h1,.gp-hero--art p,.gp-hero--art .gp-hero__stats,.gp-hero--art .gp-eyebrow{position:relative;z-index:2}
.gp-hero--art p{max-width:min(54ch,52%)}
@media (max-width:760px){
  .gp-hero__art{width:100%;opacity:.38;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 80%);mask-image:linear-gradient(180deg,transparent 0,#000 80%)}
  .gp-hero--art p{max-width:none}
}

/* Примечание о заведениях и блок «Автор игр» */
.gp-brand{border-color:color-mix(in srgb,var(--gp-a) 45%,var(--gp-line));background:linear-gradient(135deg,color-mix(in srgb,var(--gp-a) 10%,var(--gp-surface)),var(--gp-surface))}
.gp-brand p,.gp-credit p{color:var(--gp-ink)}
.gp-brand a,.gp-credit p a{color:var(--gp-ink);text-decoration:underline;text-decoration-color:var(--gp-a);text-underline-offset:3px}
.gp-credit__lbl{margin:12px 0 8px!important;font:800 13px/1 var(--gp-font);letter-spacing:.08em;text-transform:uppercase;color:var(--gp-muted)!important}
.gp-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.gp-chips a{display:inline-flex;align-items:center;min-height:38px;padding:8px 14px;border-radius:999px;background:var(--gp-sunk);border:1px solid var(--gp-line);color:var(--gp-ink)!important;text-decoration:none!important;font:800 14px/1 var(--gp-font)}
.gp-chips a:hover,.gp-chips a:focus-visible{border-color:var(--gp-a)}
