:root { --accent: #2ecc71; --dark: #000000; --bg: #ffffff; }
body { font-family: 'Inter', sans-serif; margin: 0; background: var(--bg); color: #000; -webkit-font-smoothing: antialiased; }
.container { max-width: 1400px; margin: 0 auto; padding: 0 20px; }

/* Header & Nav */
.branding-hero { background: var(--dark); padding: 40px 0; border-bottom: 1px solid #333; }
.logo-text h1 { color: #fff !important; font-size: 3rem; margin: 0; letter-spacing: -2px; font-weight: 900; line-height: 1; }
.logo-text p { color: var(--accent); font-size: 0.75rem; font-weight: 800; letter-spacing: 4px; margin: 0; }

.nav-bar { background: #fff; border-bottom: 2px solid #000; position: sticky; top: 0; z-index: 1000; }
.nav-links { display: flex; justify-content: space-between; align-items: center; height: 60px; }
.nav-item { background: none; border: none; font-weight: 900; font-size: 0.7rem; cursor: pointer; color: #777; text-transform: uppercase; padding: 22px 0; border-bottom: 3px solid transparent; }
.nav-item.active { color: #000; border-bottom: 3px solid var(--accent); }
.bracket-btn { background: #000; color: #fff !important; padding: 10px 15px !important; border-radius: 2px; }

/* Signal Ticker */
.signal-bar { background: #f9f9f9; border-bottom: 2px solid #000; padding: 15px 0; }
#top-signal-ticker { display: flex; flex-wrap: wrap; gap: 30px; }
.signal-block { border-left: 3px solid var(--accent); padding-left: 12px; }
.signal-block small { font-size: 0.6rem; font-weight: 900; color: #777; text-transform: uppercase; display: block; }
.signal-block span { font-size: 1.1rem; font-weight: 900; color: #000; }

/* Grid Proportions */
.terminal-grid { display: grid; grid-template-columns: 1fr 350px; gap: 50px; margin-top: 40px; }

/* News Layouts */
.section-label { font-size: 0.8rem; font-weight: 900; border-bottom: 3px solid #000; padding-bottom: 8px; margin-bottom: 25px; text-transform: uppercase; }
.news-card { display: flex; gap: 20px; margin-bottom: 30px; border-bottom: 1px solid #eee; padding-bottom: 30px; text-decoration: none; color: inherit; }
.news-card img { width: 220px; height: 140px; object-fit: cover; border-radius: 2px; aspect-ratio: 16/10; }
.news-card h3 { font-size: 1.5rem; font-weight: 900; line-height: 1.1; margin: 0; text-transform: uppercase; }

.three-col-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.cat-item { text-decoration: none; color: inherit; border-bottom: 1px solid #000; padding-bottom: 20px; }
.cat-item img { width: 100%; height: 180px; object-fit: cover; margin-bottom: 15px; }
.cat-item h3 { font-size: 1.1rem; font-weight: 900; line-height: 1.1; text-transform: uppercase; }

/* Hero */
.hero-feature { position: relative; height: 400px; overflow: hidden; background: #000; margin-bottom: 40px; }
.hero-feature img { width: 100%; height: 100%; object-fit: cover; opacity: 0.7; }
.hero-overlay { position: absolute; bottom: 0; left: 0; right: 0; padding: 40px; background: linear-gradient(transparent, rgba(0,0,0,0.95)); color: #fff; }
.hero-data-tag { background: var(--accent); color: #000; padding: 4px 10px; font-weight: 900; display: inline-block; margin-bottom: 10px; }

/* Vegas Hub */
.game-hub { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.game-card { background: #111; color: #fff; padding: 18px; border-top: 3px solid var(--accent); }
.game-card .meta { font-size: 0.6rem; color: #666; font-weight: 900; margin-bottom: 10px; display: flex; justify-content: space-between; }
.game-card .row { display: flex; justify-content: space-between; font-weight: 900; font-size: 0.85rem; margin-bottom: 5px; }
.game-card .odds { color: var(--accent); font-family: monospace; }

/* Footer */
.terminal-footer { border-top: 2px solid #000; margin-top: 80px; }
.footer-cta { background: #000; color: #fff; padding: 60px 0; text-align: center; }
.footer-cta h2 { font-size: 2.2rem; font-weight: 900; margin: 0 0 10px 0; text-transform: uppercase; }
.footer-form { display: flex; justify-content: center; gap: 10px; max-width: 500px; margin: 20px auto 0; }
.footer-form input { flex: 1; padding: 15px; background: #111; border: 1px solid #333; color: #fff; }
.footer-form button { padding: 0 30px; background: var(--accent); font-weight: 900; border: none; cursor: pointer; }
.footer-bottom { padding: 40px 0; background: #f9f9f9; }
.footer-flex { display: flex; justify-content: space-between; align-items: center; }
.logo-name { font-weight: 900; margin-left: 10px; }
.copyright { font-size: 0.65rem; color: #777; font-weight: 900; margin-top: 30px; text-transform: uppercase; }

.category-header { font-size: 4rem; font-weight: 900; letter-spacing: -3px; margin: 20px 0 40px; text-transform: uppercase; }
.tab-content { display: none; }
.tab-content.active { display: block; }