*,:before,:after{box-sizing:border-box;margin:0;padding:0}img.emoji{vertical-align:-.1em;width:1em;height:1em;display:inline-block}:root{--navy:#0b1f3a;--navy2:#112847;--gold:#d4a017;--gold2:#f5c842;--red:#c8102e;--green:#15803d;--bg:#f5f7fa;--bg2:#eaf0f8;--border:#cdd8e8;--text:#1a1a2e;--muted:#64748b;--white:#fff;--surface:#fff;--radius:12px;--shadow:0 2px 8px #0b1f3a1a;--cyan:#2afdd4;--cyan-soft:#5cf6d3;--wc-neon:linear-gradient(135deg,#a855f7 0%,#3b82f6 28%,#ef4444 55%,#22c55e 80%,#a3e635 100%)}body{background:var(--bg);color:var(--text);min-height:100dvh;font-family:Inter,Noto Color Emoji,system-ui,-apple-system,sans-serif}button{cursor:pointer;border:none;font-family:inherit}input{font-family:inherit}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border)}.btn{border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1.2rem;font-size:.875rem;font-weight:600;transition:opacity .15s,transform .1s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gold);color:var(--navy)}.btn-primary:hover:not(:disabled){background:var(--gold2)}.btn-navy{background:var(--navy);color:var(--white)}.btn-navy:hover:not(:disabled){background:var(--navy2)}.btn-red{background:var(--red);color:var(--white)}.btn-ghost{color:var(--navy);border:1.5px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--bg2)}.btn-sm{padding:.35rem .75rem;font-size:.8rem}.btn-block{width:100%}.badge{border-radius:20px;align-items:center;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-gold{color:#92400e;background:#fef3c7}.badge-green{color:#166534;background:#dcfce7}.badge-blue{color:#1e40af;background:#dbeafe}.badge-gray{color:#475569;background:#f1f5f9}.badge-red{color:#991b1b;background:#fee2e2}.badge-navy{background:var(--navy);color:var(--white)}.tag-scheduled{color:var(--muted);font-size:.78rem}.tag-live{color:var(--green);font-size:.78rem;font-weight:700}.tag-finished{color:var(--muted);font-size:.78rem}.spinner{border:3px solid var(--border);border-top-color:var(--gold);border-radius:50%;width:32px;height:32px;margin:2rem auto;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.navbar{background:var(--navy);color:var(--white);z-index:100;position:sticky;top:0;box-shadow:0 2px 8px #00000040}.navbar-inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:.65rem 1rem;display:flex}.navbar-inner.admin-navbar{max-width:1200px}.navbar-brand{color:var(--gold);align-items:center;gap:.4rem;font-size:1rem;font-weight:700;text-decoration:none;display:flex}.navbar-links{scrollbar-width:none;-ms-overflow-style:none;flex:1;gap:.1rem;margin:0 .5rem;display:flex;overflow-x:auto}.navbar-links::-webkit-scrollbar{display:none}.navbar-links a{color:#ffffffbf;white-space:nowrap;border-radius:8px;flex-shrink:0;padding:.4rem .5rem;font-size:.76rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.navbar-links a:hover,.navbar-links a.active{color:var(--white);background:#ffffff1f}.navbar-user{color:#ffffff8c;cursor:pointer;border-radius:6px;padding:.3rem .5rem;font-size:.78rem;transition:background .15s}.navbar-user:hover{background:#ffffff1a}.page{max-width:1200px;margin:0 auto;padding:1.2rem 1rem 5rem}.page.admin-page{max-width:1200px}.page-title{color:var(--navy);margin-bottom:1rem;font-size:1.25rem;font-weight:700}.login-wrap{background:var(--navy);justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex}.login-card{background:var(--white);border-radius:20px;width:100%;max-width:380px;padding:2rem 1.75rem;box-shadow:0 20px 60px #0000004d}.login-logo{text-align:center;margin-bottom:1.5rem}.login-logo .emoji{font-size:3rem}.login-logo h1{color:var(--navy);margin-top:.4rem;font-size:1.3rem;font-weight:700}.login-logo p{color:var(--muted);margin-top:.2rem;font-size:.85rem}.form-group{margin-bottom:1rem}.form-group label{color:var(--navy);margin-bottom:.35rem;font-size:.82rem;font-weight:600;display:block}.form-group input{border:1.5px solid var(--border);width:100%;color:var(--text);background:var(--bg);border-radius:8px;outline:none;padding:.65rem .85rem;font-size:.95rem;transition:border-color .15s}.form-group input:focus{border-color:var(--gold);background:var(--white)}.form-error{color:#991b1b;background:#fee2e2;border-radius:8px;margin-bottom:1rem;padding:.6rem .85rem;font-size:.85rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.25rem;display:grid}.stat-card{background:var(--white);border-radius:var(--radius);text-align:center;border:1px solid var(--border);box-shadow:var(--shadow);padding:1rem}.stat-card .val{color:var(--navy);font-size:1.6rem;font-weight:800}.stat-card .lbl{color:var(--muted);margin-top:.2rem;font-size:.78rem}.rank-card{background:var(--navy);color:var(--white);border-radius:var(--radius);justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding:1.1rem 1.25rem;display:flex}.rank-card .rank-n{color:var(--gold);font-size:2.5rem;font-weight:900}.rank-card .rank-info{flex:1;margin-left:1rem}.rank-card .rank-name{font-size:1rem;font-weight:700}.rank-card .rank-pts{color:#ffffffa6;margin-top:.1rem;font-size:.85rem}.tabs{scrollbar-width:none;gap:.4rem;margin-bottom:1rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;background:var(--white);color:var(--navy);border:1.5px solid var(--border);border-radius:20px;padding:.45rem .9rem;font-size:.82rem;font-weight:600;transition:all .15s}.tab.active,.tab:hover{background:var(--navy);color:var(--white);border-color:var(--navy)}.group-chips{flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;display:flex}.group-chip{background:var(--white);width:32px;height:32px;color:var(--navy);border:1.5px solid var(--border);border-radius:50%;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;transition:all .15s;display:flex}.group-chip.active{background:var(--gold);border-color:var(--gold);color:var(--navy)}.match-grid{grid-template-columns:1fr;gap:.65rem;display:grid}@media (width>=900px){.match-grid{grid-template-columns:1fr 1fr}}.match-card{background:var(--white);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);margin-bottom:.65rem;padding:1rem;transition:border-color .15s}.match-grid .match-card{margin-bottom:0}.match-card.finished{background:#fafafa}.match-card.has-pred{border-left:3px solid var(--gold)}.match-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.match-meta{color:var(--muted);font-size:.75rem}.match-date{font-weight:500}.match-teams{text-align:center;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;display:grid}.team-name{color:var(--navy);font-size:.82rem;font-weight:600;line-height:1.2}.team-flag{margin-bottom:.2rem;font-size:1.5rem}.match-separator{color:var(--border);padding:0 .25rem;font-size:1rem;font-weight:800}.match-result{color:var(--navy);font-size:1.4rem;font-weight:800}.pred-section{border-top:1px solid var(--border);margin-top:.85rem;padding-top:.85rem}.pred-label{color:var(--muted);text-align:center;margin-bottom:.5rem;font-size:.75rem;font-weight:600}.pred-result{justify-content:center;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.score-input-row{justify-content:center;align-items:center;gap:.5rem;display:flex}.score-picker{background:var(--bg2);border-radius:10px;align-items:center;gap:.3rem;padding:.3rem;display:flex}.score-btn{background:var(--white);width:32px;height:32px;color:var(--navy);border:1px solid var(--border);border-radius:8px;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;transition:background .1s;display:flex}.score-btn:hover{background:var(--gold2)}.score-val{text-align:center;width:36px;color:var(--navy);font-size:1.25rem;font-weight:800}.score-vs{color:var(--muted);padding:0 .2rem;font-size:1rem;font-weight:700}.pred-save-btn{width:100%;margin-top:.65rem}.modal-content{color:#1a1a2e}.home-hero{background:#5b17e0;border-radius:22px;min-height:184px;margin-bottom:1rem;position:relative;overflow:hidden;box-shadow:0 10px 28px #0000002e}.hh-blocks{position:absolute;inset:0}.hh-blocks i{display:block;position:absolute}.hh-b1{background:#5b17e0;inset:0}.hh-b2{background:#00a85a;width:42%;height:55%;top:0;right:0}.hh-b3{background:#c2e000;width:42%;height:55%;top:45%;right:0}.hh-b4{background:#e8112d;border-radius:0 0 60%;width:48%;height:100%;top:0;left:28%}.hh-b5{background:#7a0e1e;border-radius:0 0 50% 50%;width:40%;height:62%;top:-10%;left:30%}.hh-num{pointer-events:none;color:#fff;letter-spacing:-.06em;opacity:.95;text-shadow:0 6px 22px #00000040;font-size:10rem;font-weight:900;line-height:.8;position:absolute;top:50%;right:6%;transform:translateY(-50%)}.hh-content{z-index:2;color:#fff;flex-direction:column;justify-content:space-between;min-height:184px;padding:20px 22px;display:flex;position:relative}.hh-brand{letter-spacing:.02em;text-transform:uppercase;opacity:.95;align-items:center;gap:7px;font-size:.78rem;font-weight:800;display:flex}.hh-greet{text-shadow:0 2px 10px #0000004d;margin:6px 0 8px;font-size:1.7rem;font-weight:900}.hh-rankpill{background:#fff;border-radius:14px;align-items:center;gap:10px;padding:8px 12px;text-decoration:none;display:inline-flex;box-shadow:0 4px 14px #0000002e}.hh-rankpill .pos{color:#e8112d;font-size:1.4rem;font-weight:900}.hh-rankpill .lbl{color:#6b7685;text-transform:uppercase;font-size:.7rem;font-weight:700;line-height:1.15}.hh-rankpill .lbl b{color:#0b1f3a}.hh-rankpill .go{color:#e8112d;white-space:nowrap;background:#fbe9ec;border-radius:10px;padding:4px 9px;font-size:.7rem;font-weight:800}.home-quick{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;margin-bottom:1rem;display:grid}.hq-card{background:var(--surface,#fff);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:14px;flex-direction:column;gap:2px;padding:.6rem .8rem .6rem 1rem;text-decoration:none;display:flex;position:relative;overflow:hidden}.hq-edge{width:5px;position:absolute;top:0;bottom:0;left:0}.hq-edge.e-red{background:#e8112d}.hq-edge.e-green{background:#00a85a}.hq-edge.e-purple{background:#5b17e0}.hq-k{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.66rem;font-weight:700}.hq-v{color:var(--navy);font-size:1.02rem;font-weight:900}.home-accent{vertical-align:middle;background:linear-gradient(90deg,#5b17e0,#e8112d,#c2e000);border-radius:2px;width:26px;height:4px;margin-right:8px;display:inline-block}.wc-frame{background:var(--wc-neon);border-radius:18px;margin-bottom:1.5rem;padding:3px;box-shadow:0 0 20px #50a0ff29,0 8px 26px #00000059}.wc-frame .wc-body{background-blend-mode:overlay;background:repeating-linear-gradient(45deg,#0d1118 0 2px,#0a0d12 2px 4px),#0a0d12 repeating-linear-gradient(-45deg,#0d1118 0 2px,#0a0d12 2px 4px);border-radius:15px;padding:10px 12px 12px;overflow:hidden}.match-card.wc{box-shadow:none;color:#fff;--muted:#a3b1c6;background:0 0;border:none;margin:0;padding:0}.match-card.wc.finished{background:0 0}.match-card.wc.has-pred{border-left:none}.match-card.wc .match-meta{color:#8aa0b8}.match-card.wc .match-teams{background:#000;border-radius:10px;gap:.3rem;padding:.6rem .5rem}.match-card.wc .team-flag{margin-bottom:.15rem;font-size:1.6rem}.match-card.wc .team-name{color:#fff;text-transform:uppercase;font-weight:800}.match-card.wc .match-separator,.match-card.wc .match-result{background:var(--cyan-soft);color:#000;border-radius:8px;padding:2px 12px;font-weight:900}.match-card.wc .match-separator{font-size:1rem}.match-card.wc .pred-section{border-top:1px solid #ffffff1f}.match-card.wc .pred-label{color:var(--cyan)}.match-card.wc .score-picker{background:#000;border:1px solid #1d2733}.match-card.wc .score-btn{color:#cfe;background:#16202c;border:1px solid #2a3a4d}.match-card.wc .score-btn:hover:not(:disabled){background:#1f2d3d}.match-card.wc .score-val{color:var(--cyan-soft)}.match-card.wc .score-vs{color:#3b4a5e}.match-card.wc .pred-save-btn{background:var(--cyan-soft);color:#000;text-transform:uppercase;letter-spacing:.03em;font-weight:800}.match-card.wc .pred-result{color:#9fb8c9;background:#000;border-radius:10px;padding:.5rem .7rem}.lb-table{border-collapse:collapse;width:100%}.lb-table th{text-align:left;color:var(--muted);border-bottom:2px solid var(--border);text-transform:uppercase;letter-spacing:.03em;padding:.5rem .75rem;font-size:.75rem;font-weight:700}.lb-table td{border-bottom:1px solid var(--border);padding:.75rem;font-size:.88rem}.lb-table tr.me td{background:#fef9e7;font-weight:600}.lb-table tr:last-child td{border-bottom:none}.lb-rank{color:var(--navy);min-width:28px;font-size:1rem;font-weight:800}.lb-rank.top3{color:var(--gold)}.lb-pts{color:var(--navy);font-size:1rem;font-weight:800}.lb-detail{color:var(--muted);font-size:.75rem}.admin-form{flex-wrap:wrap;justify-content:center;align-items:center;gap:.65rem;margin-top:.85rem;display:flex}.empty{text-align:center;color:var(--muted);padding:3rem 1rem}.empty .icon{margin-bottom:.75rem;font-size:2.5rem}.snackbar{background:var(--navy);color:var(--white);z-index:1000;white-space:nowrap;border-radius:10px;padding:.65rem 1.25rem;font-size:.88rem;font-weight:500;animation:.2s snack-in;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000040}@keyframes snack-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.section-hdr{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:1.1rem 0 .5rem;font-size:.7rem;font-weight:700}@media (width<=768px){.navbar-links{z-index:200;background:var(--navy);padding:.3rem .4rem calc(.3rem + env(safe-area-inset-bottom,0px));border-top:1px solid #ffffff1f;justify-content:flex-start;gap:.15rem;margin:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000004d}.navbar-links.fade-right{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0006 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0006 100%)}.navbar-links.fade-left{-webkit-mask-image:linear-gradient(90deg,#0006 0,#000 24px);mask-image:linear-gradient(90deg,#0006 0,#000 24px)}.navbar-links.fade-left.fade-right{-webkit-mask-image:linear-gradient(90deg,#0006 0,#000 24px calc(100% - 24px),#0006 100%);mask-image:linear-gradient(90deg,#0006 0,#000 24px calc(100% - 24px),#0006 100%)}.navbar-links a{padding:.45rem .6rem;font-size:.72rem}.page{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom,0px))}}
