:root { --bg-body: #0e1015; --bg-card: #161920; --bg-sidebar: #12141a; --primary: #0088cc; --primary-hover: #00a0f0; --text-main: #e0e6ed; --text-muted: #94a3b8; --border: rgba(255, 255, 255, 0.08); --radius: 12px; --container: 1280px; }
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Roboto', sans-serif; background: var(--bg-body); color: var(--text-main); line-height: 1.6; padding-bottom: 70px; }
a { text-decoration: none; color: var(--primary); transition: 0.2s; } a:hover { color: var(--primary-hover); }
h1, h2, h3 { font-family: 'Montserrat', sans-serif; color: #fff; margin-bottom: 1rem; line-height: 1.2; } h1 { font-size: 2.2rem; } h2 { font-size: 1.8rem; margin-top: 2rem; border-bottom: 2px solid var(--primary); padding-bottom: 10px; display: inline-block; }
p, ul, ol { margin-bottom: 1rem; color: var(--text-muted); } ul, ol { padding-left: 20px; }
.container { max-width: var(--container); margin: 0 auto; padding: 0 15px; }
.layout { display: grid; grid-template-columns: 280px 1fr; gap: 30px; padding-top: 30px; }
.mobile-header { display: none; justify-content: space-between; align-items: center; padding: 10px 20px; background: var(--bg-sidebar); border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 100; }
.mobile-header .logo { font-size: 1.2rem; font-weight: 800; }
.btn-head { padding: 6px 15px; background: rgba(255,255,255,0.1); border-radius: 6px; color: #fff; }
.sidebar { position: sticky; top: 30px; height: calc(100vh - 60px); }
.sidebar__inner { background: var(--bg-sidebar); padding: 25px; border-radius: var(--radius); border: 1px solid var(--border); height: 100%; display: flex; flex-direction: column; }
.desktop-logo { font-size: 1.8rem; font-weight: 900; margin-bottom: 20px; text-align: center; color: #fff; } .desktop-logo span { color: var(--primary); }
.rating-box { text-align: center; background: rgba(0,0,0,0.2); padding: 10px; border-radius: 8px; margin-bottom: 20px; }
.rating-score { font-size: 2rem; font-weight: 800; color: #fbbf24; }
.toc ul { list-style: none; padding: 0; } .toc a { display: block; padding: 10px 15px; color: var(--text-muted); border-radius: 6px; font-weight: 500; border-left: 3px solid transparent; } .toc a:hover, .toc a.active { background: rgba(0, 136, 204, 0.1); color: #fff; border-left-color: var(--primary); }
.sidebar__cta { margin-top: auto; }
.hero-card { background: linear-gradient(135deg, #1a1f2e, #0f1219); padding: 40px; border-radius: var(--radius); margin-bottom: 30px; border: 1px solid var(--border); }
.hero-stats { display: flex; gap: 20px; margin-bottom: 30px; flex-wrap: wrap; } .stat { background: rgba(255,255,255,0.1); padding: 5px 12px; border-radius: 20px; font-size: 0.9rem; color: #fff; }
.hero-btns { display: flex; gap: 15px; } .btn { display: inline-flex; justify-content: center; align-items: center; padding: 12px 24px; border-radius: 8px; font-weight: 700; cursor: pointer; text-align: center; border: none; }
.btn-lg { font-size: 1.1rem; padding: 15px 35px; } .btn-sm { font-size: 0.9rem; padding: 8px 16px; width: 100%; }
.btn-primary { background: var(--primary); color: #fff; box-shadow: 0 4px 15px rgba(0, 136, 204, 0.4); } .btn-outline { background: transparent; border: 2px solid #fff; color: #fff; }
.pulse { animation: pulse 2s infinite; } @keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(0, 136, 204, 0.7); } 70% { box-shadow: 0 0 0 10px rgba(0, 136, 204, 0); } 100% { box-shadow: 0 0 0 0 rgba(0, 136, 204, 0); } }
.text-block, .info-block { background: var(--bg-card); padding: 30px; border-radius: var(--radius); margin-bottom: 30px; border: 1px solid var(--border); }
.table-responsive { overflow-x: auto; } .data-table { width: 100%; border-collapse: collapse; min-width: 500px; margin-top: 15px; } .data-table td, .data-table th { padding: 12px 15px; border-bottom: 1px solid var(--border); color: var(--text-muted); } .data-table th { text-align: left; color: var(--primary); text-transform: uppercase; font-size: 0.85rem; }
.alert-box { background: rgba(251, 191, 36, 0.1); border-left: 4px solid #fbbf24; padding: 15px; margin: 20px 0; color: #fbbf24; }
.games-preview { margin-bottom: 30px; } .games-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 15px; margin-top: 20px; }
.game-item { background: var(--bg-card); border-radius: 10px; overflow: hidden; border: 1px solid var(--border); transition: 0.3s; } .game-item:hover { transform: translateY(-5px); border-color: var(--primary); }
.game-cover { height: 120px; display: flex; align-items: center; justify-content: center; font-weight: 700; color: #fff; text-align: center; } .c-1 { background: #2b1d3d; } .c-2 { background: #1e3a8a; } .c-3 { background: #3f6212; } .c-5 { background: #0e7490; }
.btn-play { display: block; text-align: center; padding: 8px; background: rgba(255,255,255,0.05); color: var(--text-muted); font-size: 0.9rem; } .game-item:hover .btn-play { background: var(--primary); color: #fff; }
.bonus-cards-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin: 20px 0; } .b-card { background: rgba(255,255,255,0.03); padding: 20px; border-radius: 12px; border: 1px solid var(--border); text-align: center; } .b-card.accent { background: linear-gradient(135deg, var(--primary), #2563eb); border: none; }
.b-val { font-size: 2rem; font-weight: 800; color: var(--primary); margin-bottom: 10px; } .b-card.accent .b-val { color: #fff; }
details { background: rgba(255,255,255,0.02); margin-bottom: 10px; border-radius: 8px; border: 1px solid var(--border); overflow: hidden; } summary { padding: 15px; cursor: pointer; font-weight: 500; color: #fff; } details p { padding: 15px; color: var(--text-muted); }
.footer { background: #050608; padding: 50px 0 20px; margin-top: 50px; border-top: 1px solid var(--border); font-size: 0.9rem; } .footer-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 30px; } .footer a { display: block; color: var(--text-muted); margin-bottom: 8px; }
.sticky-bar { display: none; position: fixed; bottom: 0; left: 0; width: 100%; background: #161920; padding: 10px 15px; z-index: 99; border-top: 1px solid var(--border); gap: 10px; } .sticky-btn { flex: 1; text-align: center; padding: 12px; border-radius: 8px; font-weight: 700; } .sticky-btn.reg { background: var(--primary); color: #fff; } .sticky-btn.dep { background: rgba(255,255,255,0.1); color: #fff; }
@media (max-width: 992px) { .layout { grid-template-columns: 1fr; } .sidebar { display: none; } .mobile-header { display: flex; } .sticky-bar { display: flex; } .hero-card { padding: 20px; } }