:root{--page-bg:#f5f7fa;--surface:#ffffff;--surface-dark:#0f172a;--text-main:#1e293b;--text-muted:#64748b;--accent-usa:#0a2240;--accent-mexico:#006847;--accent-canada:#da291c;--accent:#2563eb;--accent-hover:#1d4ed8;--border:#e2e8f0;--card-radius:12px;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background-color:var(--page-bg);color:var(--text-main);overflow-x:hidden;line-height:1.6}a{text-decoration:none;transition:var(--transition)}.custom-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:0 4px 6px -1px rgba(0,0,0,0.05),0 2px 4px -1px rgba(0,0,0,0.03);transition:var(--transition);overflow:hidden}.custom-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05)}.navbar-custom{background-color:rgba(255,255,255,0.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:0.75rem 1rem}.navbar-brand img{height:40px;object-fit:contain}.nav-link{color:var(--text-main);font-weight:500;padding:0.5rem 1rem !important}.nav-link:hover{color:var(--accent)}.hero-section{background:linear-gradient(135deg,var(--accent-usa) 0%,#1e1b4b 100%);color:#ffffff;padding:5rem 0;position:relative;overflow:hidden}.hero-section::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 80% 20%,rgba(218,41,28,0.15) 0%,transparent 50%),radial-gradient(circle at 20% 80%,rgba(0,104,71,0.15) 0%,transparent 50%);pointer-events:none}.hero-img{border-radius:var(--card-radius);box-shadow:0 20px 25px -5px rgba(0,0,0,0.3);max-width:100%;height:auto;object-fit:cover}.host-stripe{height:6px;background:linear-gradient(to right,var(--accent-canada) 33.3%,#ffffff 33.3%,#ffffff 66.6%,var(--accent-mexico) 66.6%);width:100%}.section-title{position:relative;padding-bottom:0.75rem;margin-bottom:2rem;font-weight:700}.section-title::after{content:'';position:absolute;left:0;bottom:0;width:50px;height:4px;background-color:var(--accent);border-radius:2px}.section-title-center{text-align:center}.section-title-center::after{left:50%;transform:translateX(-50%)}.live-score-strip{background-color:var(--surface-dark);color:#ffffff;padding:1rem 0}.match-badge{font-size:0.75rem;padding:0.25rem 0.5rem;border-radius:4px;font-weight:bold}.match-badge.live{background-color:var(--accent-canada);animation:pulse 2s infinite}.match-badge.upcoming{background-color:var(--text-muted)}.schedule-table-wrapper{background:var(--surface);border-radius:var(--card-radius);border:1px solid var(--border);overflow-x:auto}.schedule-table th{background-color:#f8fafc;color:var(--text-main);font-weight:600;border-bottom:2px solid var(--border)}.group-card{background-color:var(--surface);border-radius:var(--card-radius);border:1px solid var(--border);height:100%}.group-header{background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);color:#ffffff;font-weight:bold;padding:0.75rem 1rem;border-top-left-radius:calc(var(--card-radius) - 1px);border-top-right-radius:calc(var(--card-radius) - 1px)}.stadium-card img{height:220px;width:100%;object-fit:cover}.guide-box{border-left:4px solid var(--accent);padding-left:1rem}details{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--card-radius);margin-bottom:0.75rem;padding:1rem;transition:var(--transition)}details[open]{box-shadow:0 4px 6px -1px rgba(0,0,0,0.05)}summary{font-weight:600;cursor:pointer;outline:none;list-style:none;display:flex;justify-content:space-between;align-items:center}summary::-webkit-details-marker{display:none}summary::after{content:'\F282';font-family:'bootstrap-icons';transition:transform 0.2s ease}details[open] summary::after{transform:rotate(180deg)}.footer{background-color:var(--surface-dark);color:#94a3b8;padding:4rem 0 2rem;border-top:5px solid var(--accent)}.footer h4{color:#ffffff;margin-bottom:1.5rem;font-size:1.1rem}.footer-links a{color:#94a3b8;display:block;margin-bottom:0.5rem}.footer-links a:hover{color:#ffffff;padding-left:4px}@keyframes pulse{0%{opacity:1}50%{opacity:0.5}100%{opacity:1}}@media (max-width:768px){.hero-section{padding:3rem 0;text-align:center}.hero-img{margin-top:2rem}}