.hp-game .hp-game-title { margin: 6px 0 14px; font-family: var(--font-display); font-weight: 400; font-size: clamp(36px, 6vw, 72px); line-height: 0.95; letter-spacing: 0.012em; }
.hp-game .hp-lede { margin: 0 0 22px; font-size: 17px; line-height: 1.55; color: var(--ink-2); }
.hp-game .hp-spravka { margin: 0 0 8px; }
.hp-game h2 { margin: 34px 0 12px; font-family: var(--font-cn); font-weight: 400; font-size: 22px; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.1; }
.hp-game-rules { list-style: none; margin: 0; padding: 0; counter-reset: rule; }
.hp-game-rules li { position: relative; padding: 9px 0 9px 44px; border-bottom: 1px solid var(--line-2); font-size: 16px; line-height: 1.5; counter-increment: rule; }
.hp-game-rules li::before { content: counter(rule, decimal-leading-zero); position: absolute; left: 0; top: 11px; font-family: var(--font-type); font-weight: 700; font-size: 13px; letter-spacing: 0.16em; color: var(--stamp); }
.hp-game-box { list-style: none; margin: 0; padding: 0; }
.hp-game-box li { position: relative; padding: 4px 0 4px 22px; font-size: 16px; line-height: 1.5; }
.hp-game-box li::before { content: "—"; position: absolute; left: 0; color: var(--stamp); }
.hp-game-who { margin: 0; font-size: 16px; line-height: 1.55; }
.hp-game-tip { margin: 22px 0 0; padding: 12px 16px; border-left: 2px solid var(--stamp); font-family: var(--font-type); font-size: 13.5px; line-height: 1.5; letter-spacing: 0.02em; color: var(--ink); }
.hp-game-cta { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; margin: 32px 0 0; }
.hp-game-nav { display: flex; justify-content: space-between; gap: 16px; margin: 34px 0 0; padding-top: 16px; border-top: 1px solid var(--line); font-family: var(--font-type); font-weight: 700; font-size: 12.5px; letter-spacing: 0.12em; text-transform: uppercase; }
.hp-game-nav a { color: var(--ink); text-decoration: none; }
.hp-game-nav a:hover { color: var(--stamp); }
.hp-game-nav a + a { text-align: right; }
.hp-game-faq { margin: 0; }
.hp-game-faq div { padding: 12px 0; border-bottom: 1px solid var(--line-2); }
.hp-game-faq div:last-child { border-bottom: 0; }
.hp-game-faq dt { font-family: var(--font-type); font-weight: 700; font-size: 13.5px; letter-spacing: 0.04em; color: var(--ink); }
.hp-game-faq dd { margin: 6px 0 0; font-size: 16px; line-height: 1.55; color: var(--ink-2); }

.hp-game-src { margin: 26px 0 0; font-family: var(--font-type); font-size: 11.5px; letter-spacing: 0.06em; color: var(--ink-2); }

.hp-gsheet .hp-chap-in { display: flex; flex-direction: column; padding: 0; }
.hp-gsheet-bar { display: flex; align-items: center; gap: 12px; padding: 14px 16px 12px; border-bottom: 1px solid var(--line-2); }
.hp-gsheet-t { flex: 1; text-align: center; font-family: var(--font-type); font-weight: 700; font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-2); }
.hp-gsheet .hp-icon-btn svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.hp-gsheet-body { flex: 1; overflow-y: auto; padding: 26px 28px 40px; -webkit-overflow-scrolling: touch; }
.hp-gsheet .hp-game .hp-game-title { font-size: clamp(32px, 4.4vw, 46px); }
.hp-gsheet .hp-game h2 { margin-top: 28px; font-size: 19px; }
.hp-gsheet .hp-game .hp-game-src { display: none; }
@media (max-width: 899px) { .hp-gsheet-body { padding: 20px 18px 36px; } .hp-gsheet .hp-chap-in { max-height: 86vh; } }

.hp-games h3 a { color: inherit; text-decoration: none; background-image: linear-gradient(var(--accent), var(--accent)); background-repeat: no-repeat; background-position: 0 100%; background-size: 0 1.5px; transition: background-size 0.35s cubic-bezier(0.2, 1, 0.3, 1); }
.hp-games h3 a:hover, .hp-games h3 a:focus-visible { background-size: 100% 1.5px; }
