Test

1) index.html Choose the Best Online Casino for You | тест onabet

Neon Spin Palace

200% up to $1,000 + 100 Free Spins

  • Huge selection of jackpots
  • Mobile-first experience
  • Weekly reload bonuses
  • VIP cashback program

CryptoJack Pot

150% up to $700 + 75 Free Spins

  • Crypto-friendly (BTC/ETH/USDT)
  • Instant deposits and fast withdrawals
  • Provably fair games available
  • Generous tournaments
  • SSL Secure
  • Licensed
  • Fast Payouts
  • 18+ Play Responsibly

Disclaimer: This page may contain affiliate links. Gambling involves risk; please play responsibly and only with money you can afford to lose. Eligibility and bonus terms apply.

This page includes the target keyword for indexing: тест onabet.

2) styles.css :root { --bg: #0b0f14; --card: #121823; --muted: #98a2b3; --text: #e6e9ef; --accent: #4f46e5; --accent-2: #16a34a; --accent-3: #db2777; --good: #22c55e; --warning: #f59e0b; --ring: rgba(79, 70, 229, 0.35); --shadow: 0 8px 24px rgba(0,0,0,0.25); } * { box-sizing: border-box; } html, body { height: 100%; } body { margin: 0; background: radial-gradient(1200px 600px at 20% -10%, rgba(79,70,229,0.12), transparent 60%), radial-gradient(1000px 500px at 120% 10%, rgba(16,185,129,0.1), transparent 60%), var(--bg); color: var(--text); font: 16px/1.5 system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .container { width: min(1100px, 92%); margin: 0 auto; } .site-header { padding: 28px 0 10px; text-align: center; } .headline { margin: 0 0 6px; font-size: 1.75rem; letter-spacing: -0.01em; } .subheadline { margin: 0 auto; color: var(--muted); max-width: 62ch; } .grid { margin: 22px 0 8px; display: grid; grid-template-columns: 1fr; gap: 14px; } .card { background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01)); border: 1px solid rgba(255,255,255,0.06); border-radius: 16px; box-shadow: var(--shadow); overflow: hidden; position: relative; transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease; outline: none; cursor: pointer; } .card:focus-visible { box-shadow: 0 0 0 4px var(--ring); } .card:hover { transform: translateY(-3px); border-color: rgba(255,255,255,0.12); } .card .card-body { padding: 18px 18px 8px; } .card .card-footer { padding: 0 18px 18px; } .logo-wrap { display: flex; align-items: center; } .logo { display: block; width: 120px; height: 48px; border-radius: 10px; background: rgba(255,255,255,0.04); } .casino-name { margin: 12px 0 4px; font-size: 1.15rem; } .bonus { margin: 0 0 10px; color: #f3f4f6; font-weight: 600; } .features { list-style: none; padding: 0; margin: 0; color: var(--muted); } .features li { padding-left: 22px; position: relative; margin: 7px 0; } .features li::before { content: ""; position: absolute; left: 0; top: 8px; width: 10px; height: 10px; border-radius: 50%; background: linear-gradient(135deg, var(--accent), var(--accent-2)); } .btn { display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 46px; border-radius: 10px; border: none; cursor: pointer; color: white; font-weight: 700; letter-spacing: 0.2px; background: linear-gradient(135deg, var(--accent), #7c3aed); box-shadow: 0 8px 20px rgba(79,70,229,0.45); position: relative; overflow: hidden; transition: transform 160ms ease, filter 160ms ease, box-shadow 160ms ease; } .btn:hover { filter: brightness(1.05); box-shadow: 0 10px 26px rgba(79,70,229,0.55); } .btn:active { transform: translateY(1px) scale(0.99); } .btn::after { /* subtle shine on hover */ content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent); transform: translateX(-120%); transition: transform 600ms ease; } .btn:hover::after { transform: translateX(120%); } .recommended { border-color: rgba(255,255,255,0.18); } .ribbon { position: absolute; top: 12px; left: -8px; background: linear-gradient(135deg, var(--good), #34d399); color: #06210f; font-weight: 800; font-size: 0.75rem; letter-spacing: 0.3px; padding: 6px 14px; border-radius: 0 10px 10px 0; box-shadow: 0 6px 16px rgba(34,197,94,0.35); } .trust { margin: 22px 0 32px; text-align: center; } .trust-badges { list-style: none; padding: 0; margin: 6px 0 10px; display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; } .badge { font-weight: 700; font-size: 0.8rem; color: #0a0d12; background: #e5fbea; border: 1px solid #b7f0c2; border-radius: 999px; padding: 8px 12px; } .disclaimer { color: var(--muted); font-size: 0.9rem; max-width: 78ch; margin: 0 auto; } .sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } /* Responsive */ @media (min-width: 720px) { .headline { font-size: 2rem; } .grid { grid-template-columns: repeat(3, 1fr); gap: 16px; } .card .card-body { padding: 18px 18px 6px; } } 3) script.js "use strict"; // Affiliate configuration: replace URLs only here const AFFILIATE_OFFERS = { casino1: { name: "Lucky Ace Casino", url: "https://example.com/offer1" }, casino2: { name: "Neon Spin Palace", url: "https://example.com/offer2" }, casino3: { name: "CryptoJack Pot", url: "https://example.com/offer3" } }; // Utility: detect device type using viewport heuristics function getDeviceType() { try { const isCoarse = window.matchMedia && window.matchMedia("(pointer: coarse)").matches; const narrow = window.matchMedia && window.matchMedia("(max-width: 767px)").matches; if (isCoarse || narrow) return "mobile"; } catch (e) {} const ua = navigator.userAgent || ""; return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(ua) ? "mobile" : "desktop"; } // Tracking + redirect function handleOutboundClick(casinoId) { const offer = AFFILIATE_OFFERS[casinoId]; if (!offer || !offer.url) return; const payload = { casino_id: casinoId, timestamp: new Date().toISOString(), device: getDeviceType() }; // Log tracking payload to console (no backend as per requirements) console.log("AFFILIATE_CLICK", payload); // Redirect via JS window.location.href = offer.url; } function wireInteractions() { // Clickable cards document.querySelectorAll(".card[data-casino-id]").forEach(card => { const cid = card.getAttribute("data-casino-id"); // Card click card.addEventListener("click", (e) => { // Prevent double-fire if button inside was clicked if (e.target.closest(".cta")) return; handleOutboundClick(cid); }); // Keyboard accessibility (Enter/Space) card.addEventListener("keydown", (e) => { if (e.key === "Enter" || e.key === " ") { e.preventDefault(); handleOutboundClick(cid); } }); }); // CTA buttons document.querySelectorAll(".btn.cta[data-casino-id]").forEach(btn => { btn.addEventListener("click", (e) => { e.stopPropagation(); const cid = btn.getAttribute("data-casino-id"); handleOutboundClick(cid); }); }); } // Init when DOM is ready if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", wireInteractions); } else { wireInteractions(); }