:root{--page-bg:#f5f8ff;--surface:#ffffff;--surface-strong:#0f172a;--text-main:#1e293b;--text-muted:#64748b;--accent:#0284c7;--accent-2:#e11d48;--accent-3:#16a34a;--accent-gold:#d97706;--border:#e2e8f0;--shadow-sm:0 2px 8px rgba(0,0,0,0.04);--shadow-md:0 8px 24px rgba(15,23,42,0.08);--font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}body{background-color:var(--page-bg);color:var(--text-main);font-family:var(--font-sans);line-height:1.6;overflow-x:hidden}a{color:var(--accent);text-decoration:none;transition:color 0.25s ease}a:hover{color:var(--accent-2)}.navbar{background-color:var(--surface-strong);border-bottom:2px solid var(--accent);padding:0.8rem 1rem;position:sticky;top:0;z-index:1050}.navbar-brand img{height:40px;object-fit:contain}.navbar-brand span{color:#ffffff;font-weight:800;letter-spacing:0.5px;margin-left:10px}.nav-link{color:rgba(255,255,255,0.85) !important;font-weight:500;font-size:0.95rem;padding:0.5rem 1rem !important;transition:all 0.25s}.nav-link:hover{color:#ffffff !important;background-color:rgba(255,255,255,0.08);border-radius:6px}.hero-section{background:radial-gradient(circle at 80% 20%,rgba(2,132,199,0.15) 0%,transparent 60%),var(--surface-strong);color:#ffffff;padding:5rem 0;position:relative;overflow:hidden}.hero-title h1{font-size:2.8rem;font-weight:850;line-height:1.25;margin-bottom:1.5rem;text-shadow:0 2px 10px rgba(0,0,0,0.3)}.hero-accent{background:linear-gradient(135deg,#38bdf8,#f43f5e);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.hero-meta-card{background:rgba(255,255,255,0.08);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,0.12);border-radius:12px;padding:1rem;text-align:center}.hero-meta-value{font-size:1.8rem;font-weight:700;color:#38bdf8;display:block}.hero-meta-label{font-size:0.85rem;color:rgba(255,255,255,0.7)}.hero-img-wrap{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,0.4)}.hero-img-wrap img{width:100%;height:auto;object-fit:cover;display:block}.section-title{position:relative;margin-bottom:2.5rem;font-weight:800;color:var(--surface-strong)}.section-title::after{content:'';position:absolute;bottom:-8px;left:0;width:50px;height:4px;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:2px}.section-title-center{text-align:center}.section-title-center::after{left:50%;transform:translateX(-50%)}.content-card{background-color:var(--surface);border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:transform 0.3s ease,box-shadow 0.3s ease;overflow:hidden;height:100%}.content-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.score-item{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-left:4px solid var(--accent);border-radius:10px;padding:1rem 1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.team-flag-box{display:flex;align-items:center;gap:12px;width:40%}.team-flag-box.team-right{justify-content:flex-end}.team-name{font-weight:600;font-size:1.05rem}.score-num{font-size:1.6rem;font-weight:800;font-family:monospace;color:var(--surface-strong);background:#f1f5f9;padding:0.2rem 0.8rem;border-radius:6px}.score-status-badge{font-size:0.8rem;padding:0.3rem 0.6rem;border-radius:30px;font-weight:600}.schedule-table-container{overflow-x:auto;border-radius:12px;border:1px solid var(--border);background:var(--surface)}.table-schedule{margin-bottom:0;white-space:nowrap}.table-schedule th{background-color:#f8fafc;color:var(--text-muted);font-weight:600;border-bottom:2px solid var(--border);padding:1rem}.table-schedule td{padding:1rem;vertical-align:middle;border-bottom:1px solid var(--border)}.group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}.group-card{background-color:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.group-header{background-color:var(--surface-strong);color:#ffffff;padding:0.8rem 1.2rem;font-weight:700;display:flex;justify-content:space-between;align-items:center}.group-team-list{list-style:none;padding:0;margin:0}.group-team-item{display:flex;justify-content:space-between;padding:0.75rem 1.2rem;border-bottom:1px solid var(--border);font-size:0.95rem}.group-team-item:last-child{border-bottom:none}.swiper-container-teams{padding:1rem 0 3rem 0}.team-slide-card{background-color:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;text-align:center;padding:2rem 1.5rem;height:100%}.team-slide-avatar{width:80px;height:80px;border-radius:50%;background-color:#f1f5f9;margin:0 auto 1.2rem auto;display:flex;align-items:center;justify-content:center;font-size:2rem;border:2px solid var(--accent)}.news-row{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width:992px){.news-row{grid-template-columns:1.2fr 1.8fr}}.featured-news-card{position:relative;border-radius:14px;overflow:hidden;height:100%;min-height:380px;box-shadow:var(--shadow-sm)}.featured-news-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.featured-news-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(15,23,42,0.95) 0%,rgba(15,23,42,0.4) 60%,transparent 100%);z-index:2;padding:2rem;color:#ffffff}.news-list-item{background:var(--surface);border-radius:10px;border:1px solid var(--border);padding:1.2rem;margin-bottom:1rem;transition:all 0.25s ease}.news-list-item:hover{border-color:var(--accent);transform:translateX(5px)}.guide-box{background:var(--surface);border-radius:14px;border:1px solid var(--border);overflow:hidden}.guide-img-container{position:relative;height:300px}.guide-img-container img{width:100%;height:100%;object-fit:cover}.guide-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,0.4)}.guide-body{padding:2.5rem}.guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-top:1.5rem}.guide-card-icon{font-size:2.2rem;color:var(--accent);margin-bottom:1rem}.rules-timeline{position:relative;padding-left:2rem;border-left:2px solid var(--border)}.rules-timeline-item{position:relative;margin-bottom:2rem}.rules-timeline-item::before{content:'';position:absolute;left:calc(-2rem - 6px);top:6px;width:12px;height:12px;border-radius:50%;background-color:var(--accent);border:2px solid var(--surface)}.faq-accordion .accordion-item{border:1px solid var(--border);background-color:var(--surface);border-radius:10px !important;margin-bottom:0.8rem;overflow:hidden;box-shadow:var(--shadow-sm)}.faq-accordion .accordion-button{font-weight:600;color:var(--surface-strong);background-color:var(--surface);padding:1.2rem}.faq-accordion .accordion-button:not(.collapsed){background-color:#f1f5f9;color:var(--accent);box-shadow:none}.faq-accordion .accordion-body{color:var(--text-muted);line-height:1.7;padding:1.2rem;background-color:var(--surface);border-top:1px solid var(--border)}.host-city-card{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-sm)}.host-city-card img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}.host-city-card:hover img{transform:scale(1.08)}.host-city-details{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,0.85),transparent);color:#ffffff;padding:1.2rem}.footer-wrap{background-color:var(--surface-strong);color:rgba(255,255,255,0.7);padding:4rem 0 2rem 0;border-top:4px solid var(--accent-2);font-size:0.9rem}.footer-title{color:#ffffff;font-weight:700;margin-bottom:1.5rem;font-size:1.1rem}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:0.8rem}.footer-links a{color:rgba(255,255,255,0.75);transition:color 0.2s}.footer-links a:hover{color:#ffffff}.footer-bottom{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,0.1);text-align:center}@media (max-width:768px){.hero-title h1{font-size:2rem}.hero-meta-grid{grid-template-columns:1fr}.score-item{flex-direction:column;gap:0.8rem;align-items:center;text-align:center}.team-flag-box{width:100%;justify-content:center !important}}