:root {
    --sol-green-950: #08251b;
    --sol-green-900: #10382a;
    --sol-green-800: #174b38;
    --sol-green-700: #21634a;
    --sol-green-100: #dcebe3;
    --sol-cream: #f7f2e8;
    --sol-paper: #fffdf8;
    --sol-ink: #17231e;
    --sol-muted: #627069;
    --sol-line: #dde3de;
    --sol-burgundy: #973a46;
    --sol-gold: #c49a4c;
    --sol-blue: #356ab3;
    --sol-shadow: 0 16px 44px rgba(24, 55, 42, .11);
    --sol-radius: 22px;
    --sol-shell: 1220px;
    color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body.sol-site { margin: 0; min-width: 320px; background: var(--sol-cream); color: var(--sol-ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; }
body.sol-site button, body.sol-site input, body.sol-site select { font: inherit; }
body.sol-site button, body.sol-site a { -webkit-tap-highlight-color: transparent; }
body.sol-site img { max-width: 100%; }
body.sol-site a { color: inherit; }
body.sol-site h1, body.sol-site h2, body.sol-site h3 { margin-top: 0; line-height: 1.12; letter-spacing: -.025em; font-family: Georgia, "Times New Roman", serif; }
body.sol-site h1 { font-size: clamp(2.6rem, 6vw, 5.8rem); }
body.sol-site h2 { font-size: clamp(1.9rem, 3.2vw, 3rem); }
body.sol-site h3 { font-size: 1.32rem; }
body.sol-site p { margin-top: 0; }
[hidden] { display: none !important; }
.sol-shell { width: min(calc(100% - 32px), var(--sol-shell)); margin-inline: auto; }
.sol-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.sol-skip { position: fixed; z-index: 9999; left: 12px; top: -80px; padding: 10px 16px; border-radius: 10px; background: var(--sol-paper); color: var(--sol-ink); box-shadow: var(--sol-shadow); }
.sol-skip:focus { top: 12px; }
:focus-visible { outline: 3px solid #f0be5e; outline-offset: 3px; }

.sol-header { position: sticky; z-index: 100; top: 0; border-bottom: 1px solid rgba(255,255,255,.12); background: rgba(8, 37, 27, .94); color: #fff; backdrop-filter: blur(14px); }
.sol-header__inner { min-height: 76px; display: grid; grid-template-columns: auto 1fr minmax(220px, 310px); align-items: center; gap: 28px; }
.sol-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; line-height: 1; }
.sol-brand__mark { display: grid; width: 36px; aspect-ratio: 1; place-items: center; border-radius: 10px; background: var(--sol-paper); color: var(--sol-burgundy); box-shadow: inset 0 0 0 2px rgba(196,154,76,.45); }
.sol-brand strong { display: block; font-family: Georgia, serif; font-size: 1.15rem; }
.sol-brand small { display: block; margin-top: 4px; color: #bcd2c6; letter-spacing: .12em; text-transform: uppercase; font-size: .63rem; }
.sol-nav { display: flex; align-items: center; gap: 24px; }
.sol-nav a, .sol-install-link { border: 0; background: none; color: #e8f2ed; text-decoration: none; font-size: .92rem; cursor: pointer; }
.sol-nav a:hover, .sol-install-link:hover { color: #fff; text-decoration: underline; text-underline-offset: 5px; }
.sol-nav-group { position: relative; }
.sol-nav-group > summary { color: #e8f2ed; cursor: pointer; font-size: .92rem; list-style: none; }
.sol-nav-group > summary::-webkit-details-marker { display: none; }
.sol-nav-group > summary::after { content: "⌄"; margin-left: 6px; color: #9fbaad; }
.sol-nav-group[open] > summary::after { content: "⌃"; }
.sol-nav-mega { position: absolute; top: calc(100% + 22px); left: 50%; display: grid; width: min(680px, 80vw); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; padding: 14px; border: 1px solid rgba(255,255,255,.13); border-radius: 18px; background: #0b3024; box-shadow: 0 22px 55px rgba(0,0,0,.34); transform: translateX(-34%); }
.sol-nav-mega::before { content: ""; position: absolute; bottom: 100%; left: 31%; width: 120px; height: 24px; }
.sol-nav .sol-nav-mega a { display: grid; grid-template-columns: 38px 1fr; gap: 0 10px; padding: 10px; border-radius: 12px; }
.sol-nav .sol-nav-mega a:hover { background: rgba(255,255,255,.08); text-decoration: none; }
.sol-nav-mega a > span { display: grid; grid-row: span 2; width: 38px; height: 38px; place-items: center; border-radius: 10px; background: rgba(255,255,255,.1); color: #f0cf7c; font-weight: 900; }
.sol-nav-mega strong { color: #fff; font-size: .88rem; }
.sol-nav-mega small { color: #a9c0b5; font-size: .72rem; }
.sol-header-search { display: flex; overflow: hidden; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: rgba(255,255,255,.08); }
.sol-header-search input { width: 100%; min-width: 0; padding: 9px 4px 9px 16px; border: 0; outline: 0; background: transparent; color: #fff; }
.sol-header-search input::placeholder { color: #b9c8c0; }
.sol-header-search button { border: 0; padding: 8px 14px; background: transparent; color: #fff; cursor: pointer; font-size: .84rem; }
.sol-menu-toggle { display: none; }

.sol-main { min-height: 65vh; }
.sol-eyebrow, .sol-kicker { display: inline-block; margin-bottom: 13px; color: var(--sol-green-700); font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.sol-kicker--light { color: #cfdfd7; }
.sol-button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; border-radius: 999px; padding: 10px 22px; font-weight: 750; line-height: 1.2; text-decoration: none; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.sol-button:hover { transform: translateY(-1px); }
.sol-button.sol-button--primary { background: var(--sol-green-800); color: #fff; box-shadow: 0 8px 22px rgba(23,75,56,.2); }
.sol-button.sol-button--primary:hover { background: var(--sol-green-900); }
.sol-button.sol-button--ghost { border-color: #bcc9c2; background: transparent; color: var(--sol-green-900); }
.sol-button.sol-button--light { background: var(--sol-paper); color: var(--sol-green-900); }
.sol-button.sol-button--light:hover { background: #fff; box-shadow: 0 8px 22px rgba(0,0,0,.16); }
.sol-button.sol-button--vk { background: #2787f5; color: #fff; }
.sol-text-link { color: var(--sol-green-800); font-weight: 800; text-underline-offset: 4px; }

.sol-hero { overflow: hidden; background: radial-gradient(circle at 82% 18%, rgba(196,154,76,.24), transparent 25%), linear-gradient(135deg, #f7f2e8 0 55%, #e4eee7 55% 100%); }
.sol-hero__grid { min-height: 680px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 6%; padding-block: 72px; }
.sol-hero__copy h1 { max-width: 750px; margin-bottom: 18px; color: var(--sol-green-950); }
.sol-hero__copy > p { max-width: 690px; margin-bottom: 26px; color: #435149; font-size: 1.16rem; }
.sol-hero-search { max-width: 620px; }
.sol-hero-search > label, .sol-search-page > label { display: block; margin-bottom: 8px; color: #46534c; font-size: .86rem; font-weight: 700; }
.sol-hero-search > div, .sol-search-page > div { display: flex; padding: 5px; border: 1px solid #cad5ce; border-radius: 999px; background: var(--sol-paper); box-shadow: 0 8px 26px rgba(22,53,41,.08); }
.sol-hero-search input, .sol-search-page input { flex: 1; min-width: 0; border: 0; padding: 10px 14px; outline: 0; background: transparent; }
.sol-hero__actions { display: flex; gap: 10px; margin-top: 20px; }
.sol-proof { display: flex; flex-wrap: wrap; gap: 12px 22px; padding: 0; margin: 28px 0 0; list-style: none; color: #4b5a52; font-size: .9rem; }
.sol-proof li::before { content: "✓"; margin-right: 8px; color: var(--sol-green-700); font-weight: 900; }
.sol-hero__table { position: relative; min-height: 470px; border-radius: 50%; background: radial-gradient(circle, #256248, #0c3829 68%, transparent 69%); }
.sol-hero__table::before { content: ""; position: absolute; inset: 8%; border: 1px solid rgba(245,221,166,.28); border-radius: 50%; }
.sol-hero-card { position: absolute; display: flex; width: 128px; aspect-ratio: .7; flex-direction: column; justify-content: space-between; padding: 13px; border: 6px solid var(--sol-paper); border-radius: 12px; background: #fffdf8; box-shadow: 0 24px 35px rgba(0,0,0,.28); font-family: Georgia, serif; font-size: 1.6rem; font-weight: 700; transform-origin: 50% 105%; }
.sol-hero-card b { align-self: center; font-size: 3.8rem; }
.sol-hero-card--1 { left: 18%; top: 20%; color: #9f2636; transform: rotate(-23deg); }
.sol-hero-card--2 { left: 32%; top: 15%; color: #18211d; transform: rotate(-9deg); }
.sol-hero-card--3 { left: 47%; top: 17%; color: #9f2636; transform: rotate(8deg); }
.sol-hero-card--4 { left: 61%; top: 24%; color: #18211d; transform: rotate(23deg); }
.sol-hero__table > p { position: absolute; bottom: 6%; left: 50%; width: max-content; transform: translateX(-50%); color: #e9d7aa; letter-spacing: .05em; }
.sol-hero__table > p span { color: #f1c85a; }

.sol-hub-finder { position: relative; z-index: 2; margin-top: -42px; margin-bottom: 18px; padding: 34px; border: 1px solid var(--sol-line); border-radius: 28px; background: var(--sol-paper); box-shadow: var(--sol-shadow); }
.sol-hub-finder__head { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.sol-hub-finder__head h2 { margin-bottom: 8px; font-size: clamp(1.8rem, 3vw, 2.7rem); }
.sol-hub-finder__head p { max-width: 780px; margin-bottom: 0; color: var(--sol-muted); }
.sol-hub-finder__search { display: flex; max-width: 780px; margin-top: 26px; padding: 5px; border: 1px solid #c9d4ce; border-radius: 999px; background: #fff; }
.sol-hub-finder__search input { flex: 1; min-width: 0; border: 0; padding: 10px 14px; outline: 0; background: transparent; }
.sol-hub-finder__search button { border: 0; border-radius: 999px; padding: 10px 22px; background: var(--sol-green-800); color: #fff; font-weight: 800; cursor: pointer; }
.sol-family-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 24px; }
.sol-family-grid a { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 11px; min-width: 0; padding: 14px; border: 1px solid var(--sol-line); border-radius: 15px; background: #fafbf8; text-decoration: none; }
.sol-family-grid a:hover { border-color: #9eb7aa; background: #f0f6f2; }
.sol-family-grid a > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: var(--sol-green-100); color: var(--sol-green-800); font-weight: 900; }
.sol-family-grid a div { min-width: 0; }
.sol-family-grid strong, .sol-family-grid small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sol-family-grid strong { font-family: Georgia, serif; }
.sol-family-grid small { color: var(--sol-muted); font-size: .72rem; }
.sol-family-grid b { color: var(--sol-green-700); font-size: .8rem; }

.sol-section { padding-block: 82px; }
.sol-section + .sol-section { padding-top: 20px; }
.sol-section__head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.sol-section__head h2 { margin-bottom: 0; }
.sol-section__head > a { color: var(--sol-green-800); font-weight: 800; text-decoration: none; white-space: nowrap; }
.sol-section__head > a:hover { text-decoration: underline; text-underline-offset: 5px; }
.sol-card-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.sol-card-grid--compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sol-game-card { overflow: hidden; border: 1px solid #e0e3dc; border-radius: 20px; background: var(--sol-paper); box-shadow: 0 10px 30px rgba(34,61,49,.06); transition: transform .22s ease, box-shadow .22s ease; }
.sol-game-card:hover { transform: translateY(-5px); box-shadow: var(--sol-shadow); }
.sol-game-card__visual { position: relative; display: block; min-height: 175px; overflow: hidden; background: radial-gradient(circle at 70% 25%, rgba(255,255,255,.14), transparent 25%), linear-gradient(145deg, #174b38, #0a2d21); }
.sol-game-card__visual--spider { background: linear-gradient(145deg, #253b39, #101d1d); }
.sol-game-card__visual--freecell { background: linear-gradient(145deg, #335e78, #142d3f); }
.sol-game-card__visual--yukon { background: linear-gradient(145deg, #576846, #273c27); }
.sol-game-card__visual--pyramid { background: linear-gradient(145deg, #8a643d, #46301e); }
.sol-game-card__visual--golf { background: linear-gradient(145deg, #47705c, #1d3c2e); }
.sol-game-card__visual--forty { background: linear-gradient(145deg, #604954, #33242b); }
.sol-game-card__visual--scorpion { background: linear-gradient(145deg, #554c70, #262239); }
.sol-mini-card { position: absolute; display: flex; width: 72px; aspect-ratio: .72; flex-direction: column; padding: 8px; border: 3px solid #fff9ed; border-radius: 8px; background: #fffdf8; box-shadow: 0 12px 20px rgba(0,0,0,.25); font: 700 1rem Georgia, serif; }
.sol-mini-card span { align-self: center; margin-top: 12px; font-size: 1.6rem; }
.sol-mini-card--one { left: calc(50% - 78px); top: 36px; color: #9c3040; transform: rotate(-13deg); }
.sol-mini-card--two { left: calc(50% - 34px); top: 28px; color: #18231e; transform: rotate(0); }
.sol-mini-card--three { left: calc(50% + 12px); top: 38px; color: #9c3040; transform: rotate(13deg); }
.sol-game-card__body { padding: 18px 19px 20px; }
.sol-game-card__meta { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 8px; color: var(--sol-muted); font-size: .73rem; text-transform: uppercase; letter-spacing: .06em; }
.sol-game-card h3 { margin: 0 0 8px; }
.sol-game-card h3 a { text-decoration: none; }
.sol-game-card h3 a:hover { color: var(--sol-green-700); }
.sol-game-card p { min-height: 50px; margin-bottom: 14px; color: var(--sol-muted); font-size: .88rem; line-height: 1.45; }
.sol-game-card__play { color: var(--sol-green-800); font-weight: 850; text-decoration: none; }

.sol-daily-teaser { padding-block: 70px; background: var(--sol-green-900); color: #fff; }
.sol-daily-teaser__grid { display: grid; grid-template-columns: 1fr .85fr; align-items: center; gap: 10%; }
.sol-daily-teaser h2 { margin-bottom: 16px; }
.sol-daily-teaser p { max-width: 620px; color: #d2e0d9; }
.sol-calendar-mini { padding: 26px; border: 1px solid rgba(255,255,255,.15); border-radius: 24px; background: rgba(255,255,255,.08); box-shadow: 0 18px 40px rgba(0,0,0,.16); }
.sol-calendar-mini > div:first-child, .sol-calendar-mini__days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; text-align: center; }
.sol-calendar-mini > div:first-child { margin-bottom: 12px; color: #b8d0c4; font-size: .75rem; }
.sol-calendar-mini__days span { display: grid; min-width: 34px; aspect-ratio: 1; place-items: center; border-radius: 50%; }
.sol-calendar-mini__days .is-done { background: rgba(255,255,255,.12); color: #aadabf; }
.sol-calendar-mini__days .is-today { background: #fff4da; color: var(--sol-green-950); font-weight: 900; }

.sol-choice-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.sol-choice-grid a { display: grid; min-height: 180px; align-content: start; gap: 7px; padding: 24px; border: 1px solid var(--sol-line); border-radius: 20px; background: rgba(255,255,255,.55); text-decoration: none; transition: background .2s, transform .2s; }
.sol-choice-grid a:hover { transform: translateY(-3px); background: var(--sol-paper); }
.sol-choice-grid a > span { display: grid; width: 46px; aspect-ratio: 1; place-items: center; border-radius: 14px; background: var(--sol-green-100); color: var(--sol-green-800); font-size: 1.4rem; }
.sol-choice-grid strong { margin-top: 10px; font-family: Georgia, serif; font-size: 1.1rem; }
.sol-choice-grid small { color: var(--sol-muted); line-height: 1.45; }

.sol-banner { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 30px; position: relative; overflow: hidden; min-height: 210px; padding: 42px; border-radius: 26px; background: linear-gradient(135deg, #e8ead8, #f8eedf); box-shadow: var(--sol-shadow); }
.sol-banner::after { content: "♥"; position: absolute; right: 14%; top: -45px; color: rgba(151,58,70,.07); font-size: 15rem; line-height: 1; transform: rotate(12deg); }
.sol-banner--advertisement { background: #eef2f0; }
.sol-banner__badge { position: absolute; top: 22px; left: 42px; color: var(--sol-burgundy); font-size: .73rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.sol-banner__content { padding-top: 20px; }
.sol-banner__image { position: relative; z-index: 1; width: min(100%, 320px); max-height: 180px; object-fit: cover; border-radius: 16px; }
.sol-banner h2 { max-width: 780px; margin-bottom: 10px; font-size: clamp(1.5rem, 2.7vw, 2.35rem); }
.sol-banner p { margin-bottom: 0; }
.sol-banner__signature { position: relative; z-index: 1; min-width: 190px; text-align: right; color: var(--sol-green-900); }

.sol-name-cloud { display: flex; flex-wrap: wrap; gap: 10px; }
.sol-name-cloud a { padding: 9px 15px; border: 1px solid #ccd6d0; border-radius: 999px; background: rgba(255,255,255,.55); text-decoration: none; }
.sol-name-cloud a:hover { border-color: var(--sol-green-700); color: var(--sol-green-800); }
.sol-all-preview__note { margin-top: 18px; color: var(--sol-muted); font-size: .86rem; }
.sol-guide { display: grid; grid-template-columns: .8fr 1.2fr; gap: 9%; align-items: center; padding: 48px; border-radius: 28px; background: var(--sol-paper); box-shadow: var(--sol-shadow); }
.sol-guide > div > p { color: var(--sol-muted); }
.sol-guide ol { display: grid; gap: 16px; padding: 0; margin: 0; list-style: none; }
.sol-guide li { display: flex; gap: 14px; }
.sol-guide li > span { display: grid; flex: 0 0 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--sol-green-800); color: #fff; font-weight: 800; }
.sol-guide li strong { font-family: Georgia, serif; font-size: 1.05rem; }
.sol-guide li p { margin: 2px 0 0; color: var(--sol-muted); font-size: .9rem; }
.sol-faq { display: grid; gap: 10px; }
.sol-faq details { border: 1px solid var(--sol-line); border-radius: 15px; background: rgba(255,255,255,.62); }
.sol-faq summary { padding: 17px 52px 17px 18px; cursor: pointer; font-weight: 800; list-style: none; }
.sol-faq summary::after { content: "+"; float: right; margin-right: -30px; color: var(--sol-green-700); font-size: 1.2rem; }
.sol-faq details[open] summary::after { content: "−"; }
.sol-faq details p { padding: 0 18px 18px; margin: 0; color: var(--sol-muted); }

.sol-vk { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; margin-block: 82px; padding: 30px 34px; border-radius: 22px; background: #eef5ff; border: 1px solid #d7e6fb; }
.sol-vk__icon { display: grid; width: 58px; aspect-ratio: 1; place-items: center; border-radius: 17px; background: #2787f5; color: #fff; font-weight: 900; }
.sol-vk h2 { margin: 0 0 6px; font-size: 1.55rem; }
.sol-vk p { margin: 0; color: #4d647e; }

.sol-breadcrumbs { width: min(calc(100% - 32px), var(--sol-shell)); margin: 24px auto 0; color: var(--sol-muted); font-size: .83rem; }
.sol-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 7px; padding: 0; margin: 0; list-style: none; }
.sol-breadcrumbs li + li::before { content: "›"; margin-right: 7px; color: #97a49d; }
.sol-breadcrumbs a { text-underline-offset: 3px; }
.sol-page-hero { padding-block: 68px 44px; }
.sol-page-hero h1 { max-width: 850px; margin-bottom: 18px; font-size: clamp(2.7rem, 6vw, 5rem); }
.sol-page-hero > p { max-width: 800px; color: var(--sol-muted); font-size: 1.14rem; }

.sol-catalog { padding-bottom: 80px; }
.sol-catalog-shortcuts { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.sol-catalog-shortcuts a { padding: 8px 14px; border: 1px solid #cbd5cf; border-radius: 999px; background: rgba(255,255,255,.62); color: var(--sol-green-900); font-size: .83rem; font-weight: 750; text-decoration: none; }
.sol-catalog-shortcuts a:hover { border-color: var(--sol-green-700); background: var(--sol-paper); }
.sol-catalog-tools { display: grid; grid-template-columns: minmax(260px, 1.6fr) repeat(4, minmax(145px, .7fr)); gap: 12px; margin-bottom: 20px; padding: 18px; border: 1px solid var(--sol-line); border-radius: 20px; background: var(--sol-paper); }
.sol-catalog-tools label { display: grid; gap: 5px; color: var(--sol-muted); font-size: .75rem; font-weight: 750; }
.sol-catalog-tools input, .sol-catalog-tools select { width: 100%; min-height: 44px; border: 1px solid #cbd5cf; border-radius: 11px; padding: 8px 11px; background: #fff; color: var(--sol-ink); }
.sol-alphabet { display: flex; flex-wrap: wrap; gap: 7px; margin: 20px 0; }
.sol-alphabet button { display: grid; min-width: 36px; height: 36px; place-items: center; border: 1px solid #cbd5cf; border-radius: 9px; background: transparent; color: var(--sol-green-900); cursor: pointer; }
.sol-alphabet button.is-active { background: var(--sol-green-800); color: #fff; }
.sol-catalog-count, .sol-search-summary { color: var(--sol-muted); }
.sol-catalog-more { display: flex; justify-content: center; margin-top: 34px; }
.sol-empty { padding: 42px; border: 1px dashed #bcc8c1; border-radius: 18px; text-align: center; color: var(--sol-muted); }
.sol-empty--visible { display: block; }

.sol-article { padding-bottom: 70px; }
.sol-article__body { max-width: 820px; font-size: 1.07rem; }
.sol-article__body section { margin-bottom: 45px; }
.sol-article__body h2 { font-size: 2rem; }
.sol-article__body p { color: #435149; }
.sol-article-cta { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 55px; padding: 34px; border-radius: 22px; background: #e4eee7; }
.sol-article-cta h2 { max-width: 710px; margin: 7px 0; font-size: 1.7rem; }
.sol-article-cta p { max-width: 720px; margin: 0; color: var(--sol-muted); }
.sol-install-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 30px; }
.sol-install-grid section { padding: 28px; border: 1px solid var(--sol-line); border-radius: 20px; background: var(--sol-paper); }
.sol-install-grid section > span { display: grid; width: 40px; aspect-ratio: 1; place-items: center; border-radius: 50%; background: var(--sol-green-800); color: #fff; font-weight: 900; }
.sol-install-grid h2 { margin: 18px 0 10px; font-size: 1.4rem; }
.sol-install-grid p { color: var(--sol-muted); }
.sol-search-page { max-width: 720px; margin-top: 25px; }

.sol-not-found { display: grid; grid-template-columns: 1fr .7fr; gap: 50px; align-items: center; min-height: 620px; padding-block: 80px; }
.sol-not-found h1 { margin-bottom: 15px; }
.sol-not-found > div:first-child > p { max-width: 650px; color: var(--sol-muted); }
.sol-not-found__cards { display: flex; justify-content: center; }
.sol-not-found__cards span { display: grid; width: 125px; aspect-ratio: .7; place-items: center; margin-left: -35px; border: 6px solid #fff; border-radius: 13px; background: var(--sol-paper); box-shadow: var(--sol-shadow); color: var(--sol-burgundy); font: 700 2rem Georgia, serif; transform: rotate(-10deg); }
.sol-not-found__cards span:nth-child(2) { color: var(--sol-ink); transform: translateY(-15px); }
.sol-not-found__cards span:nth-child(3) { transform: rotate(10deg); }

.sol-footer { margin-top: 80px; padding: 60px 0 24px; background: var(--sol-green-950); color: #d7e4dd; }
.sol-footer__grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 50px; }
.sol-brand--footer { color: #fff; }
.sol-footer__grid > div > p { max-width: 340px; margin-top: 18px; color: #9fb8ac; }
.sol-care { display: inline-block; color: var(--sol-burgundy); font-size: .78rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.sol-footer .sol-care { color: #e0c071; }
.sol-footer nav { display: flex; flex-direction: column; align-items: start; gap: 8px; }
.sol-footer nav h2 { margin-bottom: 10px; color: #fff; font: 800 .82rem/1.2 Inter, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.sol-footer nav a, .sol-link-button { border: 0; padding: 0; background: transparent; color: #b8cdc2; text-decoration: none; font-size: .86rem; text-align: left; cursor: pointer; }
.sol-footer nav a:hover, .sol-link-button:hover { color: #fff; text-decoration: underline; }
.sol-footer__note { margin-top: 42px; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.1); color: #8fa99d; font-size: .76rem; }
.sol-footer__note a { color: #d9e7e0; }

.sol-cookie { position: fixed; z-index: 1000; right: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); left: max(18px, env(safe-area-inset-left)); display: flex; width: min(calc(100% - 36px), 960px); align-items: center; justify-content: space-between; gap: 26px; margin-left: auto; padding: 22px 24px; border: 1px solid #d2d8d4; border-radius: 20px; background: var(--sol-paper); box-shadow: 0 20px 70px rgba(0,0,0,.24); }
.sol-cookie h2 { margin-bottom: 6px; font: 800 1.12rem/1.2 Inter, sans-serif; letter-spacing: 0; }
.sol-cookie p { margin: 0; color: var(--sol-muted); font-size: .86rem; }
.sol-cookie p a { color: var(--sol-green-800); font-weight: 700; }
.sol-cookie__actions { display: flex; gap: 8px; flex: 0 0 auto; }

@media (max-width: 1080px) {
    .sol-header__inner { grid-template-columns: auto 1fr auto; }
    .sol-header-search { display: none; }
    .sol-card-grid { grid-template-columns: repeat(3, 1fr); }
    .sol-catalog-tools { grid-template-columns: repeat(3, 1fr); }
    .sol-catalog-search { grid-column: span 2; }
    .sol-family-grid { grid-template-columns: repeat(2, 1fr); }
    .sol-footer__grid { grid-template-columns: 1.3fr repeat(2, 1fr); }
    .sol-footer__grid nav:last-child { grid-column: 2 / -1; }
}

@media (max-width: 820px) {
    .sol-header__inner { min-height: 68px; grid-template-columns: 1fr auto; }
    .sol-menu-toggle { display: inline-flex; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; padding: 7px 14px; background: transparent; color: #fff; }
    .sol-nav { display: none; position: absolute; top: 68px; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; padding: 14px 16px 20px; border-top: 1px solid rgba(255,255,255,.12); background: var(--sol-green-950); }
    .sol-nav.is-open { display: flex; }
    .sol-nav a, .sol-install-link { padding: 12px; text-align: left; }
    .sol-nav-group > summary { padding: 12px; }
    .sol-nav-mega { position: static; width: auto; grid-template-columns: repeat(2, 1fr); padding: 6px; border: 0; background: rgba(255,255,255,.04); box-shadow: none; transform: none; }
    .sol-nav .sol-nav-mega a { padding: 9px; }
    .sol-hero__grid { min-height: 0; grid-template-columns: 1fr; padding-block: 55px; }
    .sol-hero__table { display: none; }
    .sol-card-grid, .sol-card-grid--compact { grid-template-columns: repeat(2, 1fr); }
    .sol-choice-grid { grid-template-columns: repeat(2, 1fr); }
    .sol-daily-teaser__grid, .sol-guide { grid-template-columns: 1fr; }
    .sol-guide { gap: 35px; padding: 30px; }
    .sol-vk { grid-template-columns: auto 1fr; }
    .sol-vk .sol-button { grid-column: 1 / -1; }
    .sol-footer__grid { grid-template-columns: 1fr 1fr; }
    .sol-footer__grid > div { grid-column: 1 / -1; }
    .sol-footer__grid nav:last-child { grid-column: auto; }
    .sol-banner { grid-template-columns: 1fr; }
    .sol-banner__signature { text-align: left; }
    .sol-catalog-tools { grid-template-columns: repeat(2, 1fr); }
    .sol-catalog-search { grid-column: 1 / -1; }
    .sol-install-grid { grid-template-columns: 1fr; }
    .sol-hub-finder__head { align-items: start; flex-direction: column; }
    .sol-article-cta { flex-direction: column; align-items: start; }
    .sol-not-found { grid-template-columns: 1fr; min-height: auto; }
    .sol-not-found__cards { display: none; }
    .sol-cookie { align-items: stretch; flex-direction: column; gap: 14px; }
}

@media (max-width: 560px) {
    .sol-shell, .sol-breadcrumbs { width: min(calc(100% - 22px), var(--sol-shell)); }
    .sol-section { padding-block: 55px; }
    .sol-section__head { align-items: start; flex-direction: column; gap: 10px; }
    .sol-card-grid, .sol-card-grid--compact { grid-template-columns: 1fr; }
    .sol-game-card { display: grid; grid-template-columns: 118px 1fr; }
    .sol-game-card__visual { min-height: 100%; }
    .sol-mini-card { width: 50px; }
    .sol-mini-card--one { left: 15px; top: 44px; }
    .sol-mini-card--two { left: 36px; top: 34px; }
    .sol-mini-card--three { left: 55px; top: 46px; }
    .sol-game-card__body { padding: 15px; }
    .sol-game-card p { min-height: 0; }
    .sol-game-card__meta { flex-direction: column; gap: 2px; }
    .sol-choice-grid { grid-template-columns: 1fr; }
    .sol-hub-finder { margin-top: -24px; padding: 25px; }
    .sol-family-grid { grid-template-columns: 1fr; }
    .sol-hub-finder__search { border-radius: 16px; }
    .sol-hub-finder__search button { padding-inline: 14px; }
    .sol-daily-teaser { padding-block: 50px; }
    .sol-banner { padding: 56px 24px 28px; }
    .sol-banner__badge { left: 24px; }
    .sol-vk { grid-template-columns: 1fr; padding: 25px; }
    .sol-footer__grid { grid-template-columns: 1fr; gap: 30px; }
    .sol-footer__grid nav:last-child { grid-column: auto; }
    .sol-catalog-tools { grid-template-columns: 1fr; }
    .sol-catalog-search { grid-column: auto; }
    .sol-hero__actions, .sol-cookie__actions { flex-direction: column; align-items: stretch; }
    .sol-hero-search > div, .sol-search-page > div { border-radius: 18px; }
    .sol-page-hero { padding-block: 50px 34px; }
    .sol-cookie { right: 10px; bottom: max(10px, env(safe-area-inset-bottom)); left: 10px; width: auto; padding: 18px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media print {
    .sol-header, .sol-cookie, .sol-game-toolbar, .sol-mobile-toolbar, .sol-footer { display: none !important; }
    body.sol-site { background: #fff; color: #000; }
}
