:root { --background: #191a1d; --surface: #33353d; --button: #00ffff; --button-hover: #00e0e0; --button-text: #0c0e12; --secondary-button: #00000000; --secondary-button-hover: #00ffff1a; --secondary-button-text: #ebebeb; --font: #ebebeb; --headers: #ebebeb; --link: #ffd95f; --link-hover: #e6b61e; --border: #3d3e46; --accent: #ffd95f; --font-family: Rubik, sans-serif; } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; background: var(--background); color: var(--font); font-family: var(--font-family); line-height: 1.6; } img { max-width: 100%; display: block; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; } a { color: var(--link); text-decoration: underline; } a:hover, a:focus { color: var(--link-hover); } h1, h2, h3, h4 { color: var(--headers); font-family: var(--font-family); line-height: 1.25; } h1 { font-size: 2rem; margin: 0; } h2 { font-size: 1.5rem; margin: 2rem 0 0.75rem; } h3 { font-size: 1.15rem; margin: 1.5rem 0 0.5rem; } p { margin: 0 0 1rem; } ul, ol { margin: 0 0 1rem; padding-left: 1.25rem; } li { margin-bottom: 0.5rem; } [id] { scroll-margin-top: 90px; } .btn { display: inline-block; padding: 0.65rem 1.5rem; border-radius: 999px; font-weight: 600; text-decoration: none; border: 2px solid transparent; cursor: pointer; font-family: var(--font-family); font-size: 0.95rem; transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease; } .btn-primary { background: var(--button); color: var(--button-text); } .btn-primary:hover, .btn-primary:focus { background: var(--button-hover); color: var(--button-text); } .btn-secondary { background: var(--secondary-button); color: var(--secondary-button-text); border-color: var(--border); } .btn-secondary:hover, .btn-secondary:focus { background: var(--secondary-button-hover); color: var(--secondary-button-text); } .utility-bar { background: var(--surface); border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.5rem 1.25rem; font-size: 0.8rem; flex-wrap: wrap; } .utility-bar__text { margin: 0; color: var(--font); } .utility-bar__icons { display: flex; gap: 0.5rem; align-items: center; } .utility-badge { border: 1px solid var(--border); border-radius: 999px; padding: 0.15rem 0.6rem; font-size: 0.7rem; color: var(--font); text-decoration: none; display: inline-block; } .site-header { position: sticky; top: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.75rem 1.25rem; background: var(--background); border-bottom: 1px solid var(--border); flex-wrap: wrap; } .site-header__logo { display: inline-flex; } .site-header__logo img { height: 36px; width: auto; } .nav-toggle { display: none; flex-direction: column; gap: 4px; background: none; border: none; cursor: pointer; padding: 0.5rem; } .nav-toggle span { display: block; width: 24px; height: 2px; background: var(--font); } .primary-nav .nav-list { display: flex; align-items: center; gap: 1.25rem; list-style: none; margin: 0; padding: 0; flex-wrap: wrap; } .primary-nav .nav-list a { color: var(--font); text-decoration: none; font-size: 0.95rem; } .primary-nav .nav-list a:hover, .primary-nav .nav-list a:focus { color: var(--accent); } .primary-nav .nav-list a[aria-current=page] { color: var(--accent); text-decoration: underline; } .site-header__actions { display: flex; align-items: center; gap: 0.75rem; } .game-strip { display: flex; gap: 0.75rem; overflow-x: auto; padding: 0.25rem 0; flex: 1 1 100%; order: 2; } .game-strip figure { margin: 0; flex: 0 0 auto; text-align: center; } .game-strip img { width: 40px; height: 40px; border-radius: 8px; object-fit: cover; margin: 0 auto 0.25rem; } .game-strip figcaption { font-size: 0.65rem; color: var(--font); max-width: 64px; } .breadcrumb { padding: 0.6rem 1.25rem; font-size: 0.85rem; border-bottom: 1px solid var(--border); display: flex; gap: 0.5rem; align-items: center; } .breadcrumb a { text-decoration: none; } .breadcrumb span[aria-current] { color: var(--font); } main { max-width: 960px; margin: 0 auto; padding: 0 1.25rem 2rem; } .page-title { padding: 1.5rem 0 0.5rem; } .toc { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 1.25rem; margin: 1.5rem 0; } .toc__label { margin: 0 0 0.75rem; font-weight: 700; color: var(--headers); } .toc__list { list-style: none; margin: 0; padding: 0; columns: 1; } .toc__list li { margin-bottom: 0.5rem; } .toc__list a { text-decoration: none; display: inline-flex; align-items: center; gap: 0.5rem; } .toc__list a::before { content: '\2713'; color: var(--accent); } .promo-banner { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 1rem 1.25rem; display: flex; align-items: center; gap: 1rem; margin: 1.5rem 0; flex-wrap: wrap; } .promo-banner__icon { color: var(--accent); } .promo-banner__text { margin: 0; flex: 1; min-width: 200px; } .content-section { padding: 0.5rem 0; } .intro__image { margin-top: 1rem; border-radius: 12px; width: 100%; height: auto; } .promo-banner-link { display: block; margin: 1.5rem 0; } .hero-illustration { margin: 1.5rem 0; } .hero-illustration img { width: 100%; height: auto; border-radius: 12px; } .checklist { list-style: none; margin: 1rem 0; padding: 0; } .checklist li { display: flex; gap: 0.6rem; align-items: flex-start; } .checklist li::before { content: '\2713'; color: var(--accent); font-weight: 700; flex: 0 0 auto; } .table-scroll { overflow-x: auto; margin: 1rem 0; border: 1px solid var(--border); border-radius: 8px; } table { border-collapse: collapse; width: 100%; min-width: 560px; font-size: 0.92rem; } th, td { text-align: left; padding: 0.65rem 0.85rem; border-bottom: 1px solid var(--border); } thead th { background: var(--surface); color: var(--headers); } tbody tr:nth-child(even) { background: rgba(255,255,255,0.02); } .step-list { list-style: none; padding: 0; margin: 1rem 0; } .step-list li { display: flex; gap: 0.85rem; align-items: flex-start; margin-bottom: 0.85rem; } .step-badge { flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%; background: var(--accent); color: var(--button-text); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.85rem; } .secondary-promo { text-align: center; margin: 2rem 0; padding: 1.5rem; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; } .secondary-promo img { margin: 0 auto 1rem; max-width: 320px; border-radius: 8px; } .faq-item { border: 1px solid var(--border); border-radius: 8px; padding: 0.75rem 1rem; margin-bottom: 0.75rem; background: var(--surface); } .faq-item summary { cursor: pointer; list-style: none; } .faq-item summary::-webkit-details-marker { display: none; } .faq-item summary h3 { display: inline; margin: 0; font-size: 1.05rem; } .faq-item summary::before { content: '+ '; color: var(--accent); font-weight: 700; } .faq-item[open] summary::before { content: '\2212 '; } .faq-item p { margin-top: 0.75rem; } .site-footer { background: var(--surface); border-top: 1px solid var(--border); padding: 2rem 1.25rem 1rem; margin-top: 2rem; } .footer-columns { max-width: 960px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; } .footer-col h2 { font-size: 1rem; margin: 0 0 0.75rem; } .footer-col ul { list-style: none; margin: 0; padding: 0; } .footer-col ul li { margin-bottom: 0.5rem; } .footer-col ul a { text-decoration: none; } .footer-logo { height: 32px; margin-bottom: 0.75rem; } .icon-strip { max-width: 960px; margin: 1.5rem auto 0; display: flex; justify-content: center; } .icon-strip img { max-width: 220px; opacity: 0.85; } .legal { max-width: 960px; margin: 1.5rem auto 0; text-align: center; font-size: 0.8rem; color: var(--font); opacity: 0.8; } .floating-promo { position: fixed; bottom: 1rem; right: 1rem; left: auto; max-width: 300px; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 0.85rem; display: flex; align-items: center; gap: 0.75rem; z-index: 60; box-shadow: 0 8px 24px rgba(0,0,0,0.4); } .floating-promo img { width: 44px; height: 44px; border-radius: 8px; object-fit: cover; } .floating-promo p { margin: 0; font-size: 0.8rem; flex: 1; } .floating-promo__close { background: none; border: none; color: var(--font); font-size: 1.1rem; cursor: pointer; padding: 0.1rem 0.35rem; } .floating-promo.is-hidden { display: none; } @media (max-width: 768px) { .nav-toggle { display: flex; } .primary-nav { display: none; width: 100%; order: 3; } .primary-nav.is-open { display: block; } .primary-nav .nav-list { flex-direction: column; align-items: flex-start; gap: 0.75rem; padding: 1rem 0; } .site-header { flex-wrap: wrap; } .game-strip { order: 4; } .footer-columns { grid-template-columns: 1fr; text-align: center; } .icon-strip { justify-content: center; } table { min-width: 480px; } } @media (max-width: 480px) { h1 { font-size: 1.5rem; } h2 { font-size: 1.25rem; } .floating-promo { right: 0.5rem; left: 0.5rem; max-width: none; } main { padding: 0 1rem 2rem; } } .skip-link { position: absolute; left: -999px; top: 0; background: var(--surface); color: var(--font); padding: 0.5rem 1rem; z-index: 100; border-radius: 0 0 8px 0; } .skip-link:focus { left: 0.5rem; top: 0.5rem; } .content-image { border-radius: 12px; margin: 1rem 0; } .cta-center { text-align: center; margin: 1.5rem 0; } .faq-list { margin: 1rem 0; } .notice { background: var(--surface); border: 1px solid var(--accent); border-radius: 8px; padding: 0.75rem 1rem; margin: 1rem 0; } .hero-carousel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 1.5rem auto; max-width: 960px; padding: 0 1.25rem; } .hero-carousel__tile { position: relative; border-radius: 12px; overflow: hidden; min-height: 220px; display: flex; align-items: flex-end; background: var(--surface); border: 1px solid var(--border); } .hero-carousel__tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; } .hero-carousel__content { position: relative; z-index: 1; padding: 1rem; background: linear-gradient(to top, rgba(0,0,0,0.75), rgba(0,0,0,0)); width: 100%; } .hero-carousel__content h2 { color: var(--headers); font-size: 1.1rem; margin: 0 0 0.75rem; } .checklist-box { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 1.25rem; margin: 1.5rem 0; } .sticky-promo-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; background: var(--surface); border-top: 1px solid var(--border); padding: 0.75rem 1.25rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; box-shadow: 0 -8px 24px rgba(0,0,0,0.4); } .sticky-promo-bar__text { display: flex; align-items: center; gap: 0.6rem; margin: 0; font-size: 0.85rem; flex: 1; min-width: 180px; } .sticky-promo-bar.is-hidden { display: none; } .sticky-promo-bar__close { background: none; border: none; color: var(--font); font-size: 1.1rem; cursor: pointer; padding: 0.1rem 0.5rem; } main { padding-bottom: 6rem; } @media (max-width: 768px) { .hero-carousel { grid-template-columns: 1fr; } .sticky-promo-bar { flex-wrap: wrap; } }