:root{--bg: #070E1B;--surface: #0C1829;--card: rgba(255,255,255,.05);--card-hover: rgba(255,255,255,.09);--red: #E8002D;--gold: #F5B800;--navy: #002868;--text: #EDF2FF;--text-mid: #7A9CC4;--text-dim: #3A5878;--border: rgba(255,255,255,.07);--border-mid: rgba(255,255,255,.12);--font-display:"Bebas Neue", sans-serif;--font-body: "DM Sans", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--bg);color:var(--text);font-family:var(--font-body);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:999;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='.15'/%3E%3C/svg%3E")}.app{display:flex;flex-direction:column;min-height:100vh}.header{position:relative;min-height:400px;display:flex;align-items:flex-end;overflow:hidden}.header-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(155deg,#080f20,#030918 55%,#060d1c)}.hbg-red-glow{position:absolute;top:-140px;left:-100px;width:640px;height:640px;background:radial-gradient(circle,rgba(232,0,45,.16) 0%,transparent 60%);pointer-events:none}.hbg-gold-glow{position:absolute;bottom:-80px;right:-60px;width:480px;height:480px;background:radial-gradient(circle,rgba(245,184,0,.07) 0%,transparent 60%);pointer-events:none}.hbg-diagonal{position:absolute;top:0;right:0;width:45%;height:100%;background:linear-gradient(165deg,rgba(0,40,104,.2) 0%,transparent 70%);clip-path:polygon(20% 0%,100% 0%,100% 100%,0% 100%)}.hbg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.5) 35%,rgba(0,0,0,.5) 65%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.5) 35%,rgba(0,0,0,.5) 65%,transparent 100%)}.header-content{position:relative;z-index:2;width:100%;max-width:1200px;margin:0 auto;padding:3rem 2rem 2.5rem}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem}.eyebrow{font-family:var(--font-display);font-size:.7rem;letter-spacing:.4em;color:var(--text-dim);text-transform:uppercase}.header-controls{display:flex;align-items:center;gap:10px}.live-pill{display:flex;align-items:center;gap:6px;background:#e8002d1a;border:1px solid rgba(232,0,45,.28);padding:6px 12px;border-radius:3px}.live-pill-dot{width:6px;height:6px;background:var(--red);border-radius:50%;animation:blink 1.1s ease-in-out infinite}.live-pill-text{font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}.lang-btn{background:transparent;border:1px solid var(--border-mid);color:var(--text-mid);font-family:var(--font-body);font-size:.7rem;font-weight:600;letter-spacing:.14em;padding:.45rem 1rem;border-radius:2px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.lang-btn:hover{background:var(--red);border-color:var(--red);color:#fff}.hero-title{line-height:.88;animation:slideUp .75s cubic-bezier(.16,1,.3,1) both}.hero-world{display:block;font-family:var(--font-display);font-size:clamp(5rem,14vw,10rem);color:var(--text);letter-spacing:-.01em}.hero-cup{display:block;font-family:var(--font-display);font-size:clamp(5rem,14vw,10rem);color:transparent;-webkit-text-stroke:2.5px var(--red);letter-spacing:-.01em}.hero-year{display:block;font-family:var(--font-display);font-size:clamp(1.5rem,3.5vw,2.8rem);color:var(--gold);letter-spacing:.22em;margin-top:.3rem;animation:slideUp .75s .08s cubic-bezier(.16,1,.3,1) both}.hero-sub{font-size:.75rem;font-weight:400;color:var(--text-dim);letter-spacing:.22em;text-transform:uppercase;margin-top:1.25rem;animation:slideUp .75s .14s cubic-bezier(.16,1,.3,1) both}.hero-stripe{width:0;height:2px;background:linear-gradient(90deg,var(--red),var(--gold));margin-top:1.25rem;animation:growWidth .55s .3s ease both}.main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:3rem 2rem}.state-message{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:6rem 2rem;color:var(--text-dim);font-size:.85rem;letter-spacing:.05em}.loading-ring{width:34px;height:34px;border:2px solid var(--border);border-top-color:var(--red);border-radius:50%;animation:spin .7s linear infinite}.error-text{color:var(--red)}.state-message code{font-size:.7rem;color:var(--text-dim);opacity:.5}.match-group{margin-bottom:3rem;animation:fadeIn .5s calc(var(--group-i)*.07s) ease both}.group-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.group-tick{display:block;width:3px;height:18px;background:var(--red);flex-shrink:0}.group-title{font-family:var(--font-display);font-size:1rem;font-weight:400;letter-spacing:.18em;color:var(--text-mid);text-transform:uppercase}.group-count{font-size:.65rem;font-weight:600;letter-spacing:.05em;color:var(--bg);background:var(--text-dim);padding:.15rem .45rem;border-radius:100px}.match-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:6px;overflow:hidden}.match-card{background:var(--card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:relative;cursor:pointer;animation:cardReveal .45s var(--delay,0s) cubic-bezier(.16,1,.3,1) both;transition:background .18s}.match-card:hover{background:var(--card-hover)}.card-bar{height:2px;width:100%}.scheduled .card-bar{background:#f5b80073}.live .card-bar{background:linear-gradient(90deg,var(--red),rgba(232,0,45,.3))}.finished .card-bar{background:linear-gradient(90deg,var(--gold),rgba(245,184,0,.3))}.match-card.live{box-shadow:inset 0 0 0 1px #e8002d33,0 4px 24px #e8002d1a}.card-inner{padding:18px 20px 14px}.status-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.22rem .55rem;margin-bottom:14px;border-radius:2px}.status-badge.live{background:var(--red);color:#fff}.status-badge.finished{border:1px solid var(--border-mid);color:var(--text-dim)}.status-badge.scheduled{border:1px solid rgba(245,184,0,.3);color:var(--gold);background:#f5b8000d}.modal-badge{margin-bottom:0}.live-dot{width:5px;height:5px;background:currentColor;border-radius:50%;animation:blink 1.1s ease-in-out infinite}.teams-row{display:flex;align-items:center;gap:8px;margin-bottom:14px}.team{flex:1;display:flex;flex-direction:column;gap:3px}.team.home{align-items:flex-end}.team.away{align-items:flex-start}.team-flag{font-size:1.5rem;line-height:1}.team-name{font-size:.82rem;font-weight:500;color:var(--text);letter-spacing:.01em}.score-block{display:flex;align-items:center;gap:4px;flex-shrink:0}.score{font-family:var(--font-display);font-size:2.6rem;letter-spacing:-.02em;min-width:1.4rem;text-align:center}.score-scheduled{color:#fff3}.score-live{color:var(--red)}.score-finished{color:var(--gold)}.score-sep{font-family:var(--font-display);font-size:1.1rem;color:#fff3;flex-shrink:0}.card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid var(--border)}.match-date{font-size:.68rem;color:var(--text-dim);letter-spacing:.04em}.card-hint{font-size:.62rem;color:var(--text-dim);opacity:0;transition:opacity .15s;letter-spacing:.06em}.match-card:hover .card-hint{opacity:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#040912d9;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadeIn .2s ease both}.modal{background:#0c1829;border:1px solid var(--border-mid);border-radius:8px;width:100%;max-width:560px;max-height:88vh;overflow-y:auto;animation:modalSlide .3s cubic-bezier(.16,1,.3,1) both;position:relative}.modal::-webkit-scrollbar{width:4px}.modal::-webkit-scrollbar-track{background:transparent}.modal::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:2px}.modal-bar{height:2px;width:100%}.modal-bar.bar-scheduled{background:#f5b80080}.modal-bar.bar-live{background:linear-gradient(90deg,var(--red),rgba(232,0,45,.3))}.modal-bar.bar-finished{background:linear-gradient(90deg,var(--gold),rgba(245,184,0,.3))}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border)}.modal-round{font-family:var(--font-display);font-size:.85rem;letter-spacing:.2em;color:var(--text-dim);text-transform:uppercase}.modal-close{background:transparent;border:none;color:var(--text-dim);font-size:.9rem;cursor:pointer;padding:4px 8px;border-radius:2px;transition:color .15s,background .15s}.modal-close:hover{color:var(--text);background:var(--card)}.modal-score-section{padding:28px 24px 20px;text-align:center;border-bottom:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:16px}.modal-teams{display:flex;align-items:center;gap:16px}.modal-team{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1}.modal-team.home{align-items:flex-end}.modal-team.away{align-items:flex-start}.modal-score-num{font-family:var(--font-display);font-size:3.5rem;letter-spacing:-.02em;color:var(--gold);line-height:1}.modal-team-name{font-size:.9rem;font-weight:500;color:var(--text)}.modal-sep{font-family:var(--font-display);font-size:2rem;color:var(--text-dim);flex-shrink:0}.modal-date{font-size:.72rem;color:var(--text-dim);letter-spacing:.06em}.modal-section{padding:20px 24px;border-bottom:1px solid var(--border)}.modal-section:last-child{border-bottom:none}.modal-section-title{font-family:var(--font-display);font-size:.8rem;letter-spacing:.2em;color:var(--text-dim);text-transform:uppercase;margin-bottom:14px}.stats-grid{display:flex;flex-direction:column;gap:2px}.stat-row{display:grid;grid-template-columns:1fr 2fr 1fr;gap:10px;align-items:center;padding:8px 0}.stat-val{font-family:var(--font-display);font-size:1.35rem;color:var(--text-mid)}.stat-val.right{text-align:right}.stat-val.stat-win{color:var(--gold)}.stat-center{display:flex;flex-direction:column;gap:4px;align-items:center}.stat-label{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);text-align:center}.stat-bar-wrap{width:100%;height:3px;background:var(--border);border-radius:99px;overflow:hidden;position:relative;display:flex}.stat-bar{height:100%;border-radius:99px}.stat-bar.home{background:linear-gradient(90deg,var(--gold),rgba(245,184,0,.6))}.stat-bar.away{background:linear-gradient(270deg,var(--text-mid),rgba(122,156,196,.5));margin-left:auto}.placeholder-block{display:flex;align-items:center;gap:12px;padding:16px;background:#ffffff08;border:1px solid var(--border);border-radius:4px;border-style:dashed}.placeholder-icon{font-size:1.25rem;flex-shrink:0}.placeholder-block p{font-size:.75rem;color:var(--text-dim);line-height:1.5}.bedrock-badge-sm{display:inline-flex;align-items:center;gap:5px;font-size:.55rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:2px;border:1px solid rgba(255,255,255,.1);color:#ffffff4d}.bedrock-badge-sm:before{content:"";display:block;width:5px;height:5px;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--gold))}.analysis-text{font-size:.85rem;line-height:1.75;color:var(--text-mid);font-weight:300}.footer{padding:1.75rem 2rem;text-align:center;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);border-top:1px solid var(--border)}@keyframes slideUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes cardReveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes growWidth{0%{width:0}to{width:64px}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}@keyframes modalSlide{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:640px){.header{min-height:300px}.main{padding:2rem 1rem}.score{font-size:2rem}.team-name{font-size:.75rem}.modal{border-radius:6px}.modal-score-num{font-size:2.8rem}}
