:root{--epo-blue:#003c8f;--epo-blue-dark:#001f4d;--accent:#ffd200;--text:#fff;--muted:#ffffffbf}*{box-sizing:border-box}html,body{height:100%;color:var(--text);background:linear-gradient(135deg, var(--epo-blue-dark) 0%, var(--epo-blue) 100%);margin:0;padding:0;font-family:Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle at 20% 30%,#ffffff14 0,#0000 40%),radial-gradient(circle at 80% 70%,#ffd20014 0,#0000 40%);position:fixed;inset:0}main.page{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.25rem;display:flex;position:relative}.logo-wrap{background:#fff;border-radius:12px;margin-bottom:2rem;padding:1rem 1.25rem;display:inline-flex;box-shadow:0 12px 30px #00000040}.logo-wrap img{width:min(220px,60vw);height:auto;display:block}h1{letter-spacing:1px;margin:0 0 .75rem;font-size:clamp(2rem,6vw,3.5rem)}h1 .accent{color:var(--accent)}p.tagline{color:var(--muted);max-width:540px;margin:0 0 2.5rem;font-size:clamp(1rem,2.4vw,1.25rem)}.badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.5px;text-transform:uppercase;background:#ffffff1a;border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:.6rem;padding:.65rem 1.4rem;font-size:.85rem;font-weight:600;display:inline-flex}.dot{background:var(--accent);border-radius:50%;width:10px;height:10px;animation:1.6s infinite pulse;box-shadow:0 0 #ffd200b3}@keyframes pulse{0%{box-shadow:0 0 #ffd200b3}70%{box-shadow:0 0 0 14px #ffd20000}to{box-shadow:0 0 #ffd20000}}footer.page-footer{text-align:center;color:var(--muted);font-size:.85rem;position:absolute;bottom:1.25rem;left:0;right:0}footer.page-footer a{color:var(--accent);text-decoration:none}footer.page-footer a:hover{text-decoration:underline}main.live-page{z-index:1;max-width:1100px;min-height:100vh;margin:0 auto;padding:2rem 1.25rem 5rem;position:relative}.live-header{border-bottom:1px solid #ffffff1f;align-items:center;gap:1rem;margin-bottom:1.75rem;padding-bottom:1rem;display:flex}.live-logo{background:#fff;border-radius:8px;padding:.4rem .6rem;display:inline-flex;box-shadow:0 6px 16px #00000040}.live-logo img{height:auto;display:block}.live-title-wrap{flex:1;min-width:0}.live-title{letter-spacing:.5px;align-items:center;gap:.6rem;margin:0;font-size:clamp(1.4rem,3.5vw,2rem);display:flex}.live-dot{background:#ff3b3b;border-radius:50%;width:12px;height:12px;animation:1.4s infinite pulse-red;box-shadow:0 0 #ff3b3bb3}@keyframes pulse-red{0%{box-shadow:0 0 #ff3b3bb3}70%{box-shadow:0 0 0 12px #ff3b3b00}to{box-shadow:0 0 #ff3b3b00}}.live-update{color:var(--muted);margin:.25rem 0 0;font-size:.8rem}.match-grid{grid-template-columns:1fr;gap:1rem;display:grid}.match-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0f;border:1px solid #ff3b3b59;border-radius:14px;flex-direction:column;gap:.75rem;width:100%;padding:1rem 1.1rem;display:flex;box-shadow:0 6px 20px #00000040}.match-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:.5rem;font-size:.78rem;display:flex}.match-comp{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.match-code{background:#00000059;border-radius:4px;margin-left:.4rem;padding:.1rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}.match-status{color:#fff;letter-spacing:.5px;white-space:nowrap;background:#d61f1f;border-radius:999px;padding:.15rem .55rem;font-size:.72rem;font-weight:700}.match-teams{grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;display:grid}.team{align-items:center;gap:.4rem;min-width:0;display:flex}.team-home{text-align:right;justify-content:flex-end}.team-away{text-align:left;justify-content:flex-start}.team-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:700;overflow:hidden}.team-color{border:1px solid #fff6;border-radius:50%;flex-shrink:0;width:10px;height:10px}.match-score{flex-direction:column;align-items:center;min-width:90px;display:flex}.score-numbers{color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:1px;font-size:1.75rem;font-weight:800}.score-ht{color:var(--muted);margin-top:.15rem;font-size:.7rem}.match-stadium{color:var(--muted);text-align:center;border-top:1px dashed #ffffff1a;padding-top:.55rem;font-size:.78rem}.live-footer{margin-top:2.5rem;position:static}.event-list{border-top:1px dashed #ffffff1a;flex-direction:column;gap:.3rem;max-height:260px;margin:0;padding:.5rem 0 0;list-style:none;display:flex;overflow-y:auto}.event-row{background:#ffffff0a;border-left:3px solid #0000;border-radius:8px;grid-template-columns:42px 28px 1fr auto;align-items:center;gap:.45rem;padding:.3rem .5rem;font-size:.82rem;display:grid}.event-row.event-goal{border-left-color:var(--accent);background:#ffd2001f}.event-row.event-card{background:#ff505014;border-left-color:#ff6b6b}.event-row.event-sub{background:#50c8ff14;border-left-color:#5acff5}.event-row.event-info{background:#ffffff0a;border-left-color:#fff3}.event-minute{color:var(--accent);font-variant-numeric:tabular-nums;text-align:right;font-size:.8rem;font-weight:700}.event-icon{text-align:center;font-size:.95rem;line-height:1}.event-text{color:#fff;flex-wrap:wrap;align-items:baseline;gap:.35rem;min-width:0;display:inline-flex}.event-label{font-weight:600}.event-player{color:var(--muted)}.event-team{color:#ffffff80;font-size:.72rem}.event-score{color:var(--accent);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:800}.event-row.event-side-away .event-text{justify-content:flex-start}
