*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0a0e1a;--bg2: #111827;--bg3: #1a2332;--text: #e2e8f0;--text2: #8892a4;--accent: #f59e0b;--accent2: #d97706;--green: #22c55e;--green-bg: rgba(34,197,94,.1);--red: #ef4444;--red-bg: rgba(239,68,68,.1);--border: #1e293b;--gold: #fbbf24;--radius: 10px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh}.app{max-width:1200px;margin:0 auto;padding:0 16px}.navbar{background:var(--bg2);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;margin:0 -16px;padding:0 16px}.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;height:56px;gap:24px}.nav-brand{font-size:1.15rem;font-weight:800;color:var(--accent);text-decoration:none;white-space:nowrap}.nav-links{display:flex;gap:4px}.nav-link{padding:8px 14px;border-radius:8px;color:var(--text2);text-decoration:none;font-size:.9rem;font-weight:500;transition:all .2s}.nav-link:hover{color:var(--text);background:var(--bg3)}.nav-link.active{color:var(--accent);background:rgba(245,158,11,.1)}.nav-hamburger{display:none}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.nav-link-tooltip{position:relative}.nav-link-tooltip:after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) scale(.9);background:var(--bg3);color:var(--text);padding:6px 12px;border-radius:8px;font-size:.75rem;white-space:nowrap;pointer-events:none;opacity:0;transition:all .2s ease;box-shadow:0 4px 12px #0003;border:1px solid var(--border);z-index:200}.nav-link-tooltip:hover:after{opacity:1;transform:translate(-50%) scale(1)}.popup-reopen-fab{position:fixed;bottom:24px;right:24px;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#ff6b35,#ff2e63);border:none;cursor:pointer;box-shadow:0 4px 20px #ff2e6366;z-index:99;display:flex;align-items:center;justify-content:center;animation:fabBounce 1.5s ease-in-out infinite;transition:transform .2s}.popup-reopen-fab:hover{transform:scale(1.15)}.popup-fab-tip{position:absolute;top:-30px;left:50%;transform:translate(-50%);background:var(--bg3);color:var(--text);font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:6px;white-space:nowrap;pointer-events:none;box-shadow:0 2px 8px #0003;animation:fabTipBounce 1.5s ease-in-out infinite}.popup-fab-tip:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%) rotate(45deg);width:8px;height:8px;background:var(--bg3)}@keyframes fabTipBounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-4px)}}@keyframes fabBounce{0%,to{transform:translateY(0);box-shadow:0 4px 20px #ff2e6366}50%{transform:translateY(-6px);box-shadow:0 8px 30px #ff2e6399}}@media (max-width: 640px){.nav-link-tooltip:after{font-size:.7rem;padding:4px 8px}.popup-reopen-fab{width:40px;height:40px;font-size:16px;bottom:16px;right:16px}}.main{padding:20px 0 40px;min-height:calc(100vh - 120px)}.popup-reopen-btn{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;background:var(--accent);border:none;font-size:20px;cursor:pointer;box-shadow:0 4px 16px #f59e0b4d;z-index:99;display:flex;align-items:center;justify-content:center;animation:popupPulse 2s ease-in-out infinite;transition:transform .2s}.popup-reopen-btn:hover{transform:scale(1.1)}@keyframes popupPulse{0%,to{box-shadow:0 4px 16px #f59e0b4d}50%{box-shadow:0 4px 24px #f59e0b99}}.popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);z-index:200;opacity:0;pointer-events:none;transition:opacity .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.popup-overlay-show{opacity:1;pointer-events:auto}.popup-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);background:var(--bg2);border-radius:20px;padding:16px 20px;z-index:201;width:340px;max-width:92vw;box-shadow:0 20px 60px #0006;border:1px solid var(--border);opacity:0;pointer-events:none;transition:all .4s cubic-bezier(.34,1.56,.64,1)}.popup-container-show{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto}.popup-container-hide{opacity:0;transform:translate(calc(50vw - 50px),calc(50vh - 50px)) scale(.1);transition:all .6s cubic-bezier(.4,0,.2,1)}.popup-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:none;background:var(--bg3);color:var(--text2);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.popup-close:hover{background:#ef4444;color:#fff}.popup-header{text-align:center;margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:8px}.popup-logo{font-size:28px;animation:popupBounce .6s ease}@keyframes popupBounce{0%{transform:scale(.5)}50%{transform:scale(1.2)}to{transform:scale(1)}}.popup-header h3{font-size:.9rem;font-weight:700;color:var(--text);margin:0}.popup-subtitle{font-size:.8rem;color:var(--text2);margin:4px 0 0;flex-basis:100%}.popup-body{margin-bottom:8px}.popup-qr-group{display:flex;flex-direction:column;gap:12px}.popup-qr-item{text-align:center}.popup-qr-box{width:100%;margin:0 auto 4px;background:white;border-radius:12px;padding:0;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;justify-content:center;overflow:hidden;animation:popupSlideUp .5s ease backwards}.popup-qr-item:nth-child(1) .popup-qr-box{max-height:90px}.popup-qr-item:nth-child(2) .popup-qr-box{max-height:280px}.popup-qr-item:nth-child(2) .popup-qr-img img{width:68%;height:68%}.popup-qr-item:nth-child(2) .popup-qr-img img{object-position:top}.popup-qr-item:nth-child(1) .popup-qr-box{animation-delay:.1s}.popup-qr-item:nth-child(2) .popup-qr-box{animation-delay:.2s}@keyframes popupSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.popup-qr-placeholder{width:100%;height:100%}.popup-qr-img{padding:0;width:100%;height:100%}.popup-qr-img img{width:100%;height:100%;object-fit:contain}.popup-qr-tag-top{font-size:.9rem;font-weight:600;color:var(--text);margin:0 0 6px;text-align:center}.popup-reopen-icon{width:28px;height:28px}.popup-qr-label{font-size:.7rem;color:var(--text2);margin:0;line-height:1.3}.popup-qr-label strong{color:var(--text)}.popup-footer{text-align:center}.popup-link{display:inline-block;padding:8px 16px;background:var(--accent);color:#000;text-decoration:none;border-radius:8px;font-weight:600;font-size:.85rem;transition:all .2s;margin-bottom:6px}.popup-link:hover{background:#d97706;transform:translateY(-1px)}.popup-countdown{font-size:.75rem;color:var(--text2);margin:0;opacity:.7}.nav-popup-btn{background:transparent;border:none;cursor:pointer;font-size:inherit;font-weight:inherit;padding:8px 14px}.page{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.section-title{font-size:1.3rem;font-weight:700;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--accent);display:inline-block}.empty-state{text-align:center;padding:60px 20px;color:var(--text2);font-size:1rem}.round-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;overflow-x:auto;padding-bottom:4px}.round-tab{padding:8px 18px;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--text2);cursor:pointer;font-size:.85rem;font-weight:600;white-space:nowrap;transition:all .2s}.round-tab:hover{border-color:var(--accent);color:var(--accent)}.round-tab.active{background:var(--accent);color:#000;border-color:var(--accent)}.tab-count{font-size:.7rem;opacity:.7;margin-left:4px}.group-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:16px}.group-tab{padding:5px 12px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text2);cursor:pointer;font-size:.8rem;transition:all .2s}.group-tab.active{background:var(--bg3);color:var(--accent);border-color:var(--accent)}.match-list{display:flex;flex-direction:column;gap:12px}.date-header{font-size:1rem;font-weight:700;color:var(--accent);padding:12px 4px 6px;border-bottom:1px solid var(--border);margin-bottom:4px;position:sticky;top:56px;background:var(--bg);z-index:10}.date-tab{font-size:.82rem}.match-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;transition:all .2s}.match-card:hover{border-color:#f59e0b33}.match-card.completed{border-left:3px solid var(--green)}.match-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.match-round-badge{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:4px;background:var(--accent);color:#000}.match-group-badge{font-size:.7rem;padding:2px 8px;border-radius:4px;background:var(--bg3);color:var(--text2)}.match-number{font-size:.75rem;color:var(--text2)}.match-date{font-size:.75rem;color:var(--text2);margin-left:auto}.match-body{margin-bottom:10px}.match-teams{display:flex;align-items:center;justify-content:center;gap:16px}.team-slot{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;background:var(--bg3);flex:1;max-width:280px}.team-slot.home{justify-content:flex-start}.team-slot.away{justify-content:flex-end}.team-slot.winner-team{background:var(--green-bg);border:1px solid rgba(34,197,94,.2)}.team-flag{font-size:1.5rem}.team-name{font-weight:600;font-size:.95rem}.team-rank{font-size:.7rem;color:var(--text2);background:rgba(255,255,255,.05);padding:1px 6px;border-radius:4px}.vs{font-size:.85rem;font-weight:700;color:var(--text2);min-width:50px;text-align:center}.score{font-size:1.3rem;font-weight:800;color:var(--accent)}.match-prediction{background:rgba(245,158,11,.05);border:1px solid rgba(245,158,11,.15);border-radius:8px;padding:10px 14px;margin-bottom:10px}.pred-badge{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;margin-bottom:6px}.pred-result{padding:1px 8px;border-radius:4px;font-size:.8rem}.pred-result.win{background:var(--green-bg);color:var(--green)}.pred-result.lose{background:var(--red-bg);color:var(--red)}.pred-result.draw{background:rgba(245,158,11,.1);color:var(--accent)}.pred-confidence{font-size:.7rem;padding:1px 6px;border-radius:4px;background:rgba(34,197,94,.1);color:var(--green)}.pred-detail{display:flex;gap:16px;font-size:.8rem;color:var(--text2)}.pred-accuracy{font-size:.8rem;margin-top:6px;padding-top:6px;border-top:1px solid var(--border)}.match-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-predict-sm,.btn-repredict-sm,.btn-result-sm{padding:6px 16px;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-predict-sm{background:var(--accent);color:#000}.btn-predict-sm:hover{background:var(--accent2)}.btn-predict-sm:disabled{opacity:.5;cursor:not-allowed}.btn-repredict-sm{background:var(--bg3);color:var(--accent);border:1px solid var(--accent)}.btn-result-sm{background:var(--bg3);color:var(--text);border:1px solid var(--border)}.btn-result-sm:hover{border-color:var(--text2)}.completed-tag{font-size:.8rem;color:var(--green);font-weight:600}.btn-delete-sm{padding:4px 12px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text2);font-size:.75rem;cursor:pointer;transition:all .2s}.btn-delete-sm:hover{color:var(--red);border-color:var(--red)}.btn-predict{display:inline-flex;align-items:center;gap:8px;padding:14px 40px;font-size:1.1rem;font-weight:700;border:none;border-radius:50px;cursor:pointer;background:linear-gradient(135deg,#f59e0b,#d97706);color:#000;transition:all .3s;box-shadow:0 4px 20px #f59e0b4d}.btn-predict:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 30px #f59e0b66}.btn-predict:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:200}.modal{background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:28px;width:90%;max-width:400px}.modal h3{font-size:1.2rem;margin-bottom:8px}.modal-teams{color:var(--text2);margin-bottom:20px}.result-form{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.form-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.form-row label{font-size:.9rem;color:var(--text2);min-width:80px}.form-row input{width:100px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg3);color:var(--text);font-size:1rem;text-align:center}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.btn-modal-confirm,.btn-modal-cancel{padding:10px 24px;border:none;border-radius:8px;font-weight:600;cursor:pointer}.btn-modal-confirm{background:var(--accent);color:#000}.btn-modal-cancel{background:var(--bg3);color:var(--text2);border:1px solid var(--border)}.history-card,.compare-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.history-header,.compare-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.history-time{font-size:.7rem;color:var(--text2);margin-left:auto}.history-body{margin-bottom:10px}.history-teams{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.vs-score{color:var(--text2);font-weight:600}.history-pred-detail{display:flex;flex-direction:column;gap:8px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(30,41,59,.5)}.detail-label{font-size:.8rem;color:var(--text2)}.detail-value{font-weight:600}.detail-value.highlight{font-size:1.2rem;color:var(--accent)}.detail-value.win{color:var(--green)}.detail-value.lose{color:var(--red)}.detail-value.draw{color:var(--accent)}.detail-value.model{font-size:.7rem;color:var(--text2);background:rgba(255,255,255,.05);padding:1px 6px;border-radius:4px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.detail-item{background:var(--bg3);padding:8px 10px;border-radius:6px}.detail-item .detail-label{display:block;margin-bottom:4px}.detail-item .detail-value{font-size:.9rem}.accuracy-check{display:flex;gap:12px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--border);font-size:.85rem}.acc-yes{color:var(--green)}.acc-no{color:var(--red)}.history-actions{margin-top:8px}.stats-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:24px}.stat-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-align:center}.stat-number{font-size:1.6rem;font-weight:800;color:var(--accent)}.stat-label{font-size:.8rem;color:var(--text2);margin-top:4px}.stat-pct{font-size:.9rem;color:var(--green);font-weight:700;margin-top:4px}.compare-body{display:flex;flex-direction:column;gap:10px}.compare-teams{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem}.vs-text{color:var(--text2);font-size:.8rem}.compare-pred,.compare-actual{display:flex;align-items:center;gap:8px}.clabel{font-size:.7rem;color:var(--text2);padding:1px 6px;border-radius:4px;background:var(--bg3)}.cscore{font-weight:700;font-size:1rem}.cresult{font-size:.8rem;padding:1px 8px;border-radius:4px;background:var(--bg3)}.compare-acc{display:flex;gap:6px;flex-wrap:wrap}.tag-green,.tag-red{font-size:.7rem;padding:2px 8px;border-radius:4px;font-weight:600}.tag-green{background:var(--green-bg);color:var(--green)}.tag-red{background:var(--red-bg);color:var(--red)}.champion-hero{text-align:center;padding:40px 20px;background:linear-gradient(135deg,rgba(245,158,11,.08),transparent);border-bottom:1px solid var(--border);margin-bottom:30px}.champion-hero h2{font-size:1.8rem;margin-bottom:8px}.champion-hero p{color:var(--text2);margin-bottom:24px}.current-champion-pred{margin-bottom:30px}.champion-result{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.champion-card{text-align:center;padding:30px 40px;border-radius:16px;min-width:220px;animation:fadeUp .5s ease}.champion-card.gold{background:linear-gradient(135deg,rgba(245,158,11,.15),rgba(245,158,11,.05));border:1px solid rgba(245,158,11,.3)}.champion-card.silver{background:linear-gradient(135deg,rgba(148,163,184,.15),rgba(148,163,184,.05));border:1px solid rgba(148,163,184,.3)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.medal{font-size:2.5rem;margin-bottom:8px}.champ-flag{font-size:3rem;margin-bottom:8px}.champ-name{font-size:1.4rem;font-weight:800}.champion-card.gold .champ-name{color:var(--gold)}.champion-card.silver .champ-name{color:#94a3b8}.champ-title{font-size:.85rem;color:var(--text2);margin:4px 0 8px}.champ-reason{font-size:.8rem;color:var(--text2);max-width:250px;line-height:1.4}.stats-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px}@media (max-width: 768px){.stats-columns{grid-template-columns:1fr}}.stats-col h4{font-size:1rem;margin-bottom:12px}.stats-list{display:flex;flex-direction:column;gap:6px}.stat-row{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg3);border-radius:6px}.stat-rank{font-size:.75rem;color:var(--text2);min-width:20px}.stat-flag{font-size:1.1rem}.stat-name{font-size:.85rem;font-weight:600;min-width:70px}.stat-bar-bg{flex:1;height:8px;background:rgba(255,255,255,.05);border-radius:4px;overflow:hidden}.stat-bar{display:block;height:100%;background:var(--accent);border-radius:4px;transition:width .5s}.stat-bar.silver{background:#94a3b8}.stat-count{font-size:.75rem;color:var(--text2);min-width:40px;text-align:right}.champion-history{margin-bottom:30px}.champ-history-list{display:flex;flex-direction:column;gap:8px}.champ-history-card{display:flex;align-items:center;gap:16px;padding:10px 14px;background:var(--bg2);border:1px solid var(--border);border-radius:8px}.champ-date{font-size:.75rem;color:var(--text2)}.champ-pred{font-weight:600}.champ-pred .vs-text{margin:0 8px}.settings-page{max-width:600px;margin:0 auto}.settings-desc{color:var(--text2);margin-bottom:20px;font-size:.9rem}.settings-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:20px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--text)}.form-group input,.form-group select{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg3);color:var(--text);font-size:.9rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent)}.form-hint{display:block;font-size:.75rem;color:var(--text2);margin-top:4px}.key-status{font-size:.75rem;margin-left:8px}.key-status.has-key{color:var(--green)}.form-message{padding:10px 14px;border-radius:8px;margin-bottom:12px;font-size:.9rem;font-weight:600}.btn-save{width:100%;padding:12px;border:none;border-radius:8px;background:var(--accent);color:#000;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-save:hover{background:var(--accent2)}.btn-save:disabled{opacity:.5;cursor:not-allowed}.settings-info{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px}.settings-info h3{font-size:1rem;margin-bottom:12px}.settings-info ul{list-style:none;display:flex;flex-direction:column;gap:8px}.settings-info li{font-size:.85rem;color:var(--text2);padding-left:16px;position:relative}.settings-info li:before{content:"•";position:absolute;left:0;color:var(--accent)}.settings-info li strong{color:var(--text)}.footer{text-align:center;padding:24px 16px;color:var(--text2);font-size:.8rem;border-top:1px solid var(--border);opacity:.6}.match-card.expired{border-left:3px solid var(--red);opacity:.7}.match-status-pending{font-size:.7rem;color:var(--red);font-weight:600;margin-left:auto}.score-half{font-size:.65rem;color:var(--text2);font-weight:400;margin-left:6px}.score-pred{font-size:1.3rem;font-weight:800;color:var(--accent);opacity:.7}.pred-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.pred-label{font-size:.8rem;font-weight:600;color:var(--accent)}.pred-result-tag{font-size:.75rem;padding:1px 8px;border-radius:4px;font-weight:700}.pred-result-tag.win{background:var(--green-bg);color:var(--green)}.pred-result-tag.lose{background:var(--red-bg);color:var(--red)}.pred-result-tag.draw{background:rgba(245,158,11,.1);color:var(--accent)}.pred-confidence{font-size:.75rem;color:var(--text2)}.pred-model{font-size:.65rem;color:var(--text2);background:rgba(255,255,255,.05);padding:1px 6px;border-radius:4px;margin-left:auto}.pred-rec{font-size:.65rem;font-weight:700;color:#000;background:var(--gold);padding:1px 6px;border-radius:4px}.pred-conf-row{display:flex;gap:6px;flex-wrap:wrap;padding:4px 0}.conf-yes{font-size:.7rem;color:var(--green)}.conf-no{font-size:.7rem;color:var(--text2);opacity:.5}.pred-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}@media (max-width: 600px){.pred-grid{grid-template-columns:repeat(2,1fr)}}.pred-item{background:var(--bg3);padding:6px 8px;border-radius:6px;display:flex;flex-direction:column;gap:2px}.pl{font-size:.65rem;color:var(--text2)}.pv{font-size:.9rem;font-weight:700}.pred-accuracy-row{display:flex;gap:6px;flex-wrap:wrap;padding-top:8px;margin-top:6px;border-top:1px solid var(--border)}.pending-pred{background:rgba(255,255,255,.02);border-color:var(--border)}.pred-pending-label{color:var(--text2);font-size:.85rem}.prediction-history,.compare-list{display:flex;flex-direction:column;gap:12px}.compare-scores{display:flex;gap:24px}.compare-col{display:flex;align-items:center;gap:8px}.champion-updated{text-align:center;color:var(--text2);font-size:.8rem;margin-top:8px}.rec-day{margin-bottom:24px}.rec-day-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.rec-date{font-size:1rem;font-weight:700}.rec-score{font-size:.85rem;color:var(--text2);background:var(--bg3);padding:2px 10px;border-radius:12px;font-weight:600}.rec-perfect{color:#000;background:var(--gold)}.rec-good{color:var(--green);border:1px solid var(--green);background:transparent}.rec-picks{display:flex;flex-direction:column;gap:10px}.rec-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.rec-card.rec-done{border-left:3px solid var(--green)}.rec-card.rec-pending{border-left:3px solid var(--accent)}.rec-pending-note{color:var(--accent);font-size:.75rem;font-weight:600}.rec-teams{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.rec-team{font-weight:600;font-size:.9rem}.rec-vs{color:var(--text2);font-size:.75rem}.rec-round{font-size:.7rem;color:var(--text2);background:var(--bg3);padding:1px 8px;border-radius:4px;margin-left:auto}.rec-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}@media (max-width: 600px){.rec-detail-grid{grid-template-columns:repeat(2,1fr)}}.rec-detail-item{display:flex;flex-direction:column;gap:2px;background:var(--bg3);padding:6px 8px;border-radius:6px}.rec-label{font-size:.65rem;color:var(--text2)}.rec-val{font-size:.9rem;font-weight:700}.rec-hit{font-size:.7rem;margin-top:2px}.hit-yes{color:var(--green)}.hit-no{color:var(--red)}.rec-footer{display:flex;align-items:center;gap:8px;padding-top:6px;border-top:1px solid var(--border)}.rec-conf{font-size:.7rem;color:var(--text2)}.rec-total-hit{font-size:.75rem;font-weight:700;margin-left:auto;color:var(--green)}.hit-great{color:var(--gold)}.rec-budget{font-size:.8rem;color:var(--text2);background:var(--bg3);padding:2px 10px;border-radius:12px}.rec-loss{color:var(--red);border:1px solid var(--red);background:transparent}.rec-slip{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border:1px solid var(--gold);border-radius:var(--radius);padding:14px 16px;margin-bottom:14px}.rec-slip-title{font-size:.85rem;font-weight:700;color:var(--gold);margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}.rec-combined-odds{color:var(--green);font-size:.8rem}.rec-bet{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:6px;margin-bottom:6px;background:rgba(255,255,255,.04);border:1px solid transparent}.rec-bet.bet-win{border-color:var(--green);background:rgba(34,197,94,.08)}.rec-bet.bet-lose{border-color:#ef44444d;background:rgba(239,68,68,.05)}.bet-line1{display:flex;align-items:center;gap:8px}.bet-num{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:var(--gold);color:#000;border-radius:50%;font-size:.65rem;font-weight:700;flex-shrink:0}.bet-teams{font-size:.8rem;font-weight:600}.bet-type{font-size:.65rem;color:var(--text2);background:rgba(255,255,255,.08);padding:1px 6px;border-radius:4px}.bet-source{font-size:.6rem;color:var(--gold);background:rgba(251,191,36,.15);padding:1px 5px;border-radius:3px;font-weight:600}.bet-odds{font-size:.7rem;color:var(--gold);margin-left:auto}.bet-line2{display:flex;align-items:center;gap:8px;padding-left:26px}.bet-name{font-size:.8rem;color:#fff}.bet-name-alt{color:gold;font-weight:700}.bet-name-sep{color:#888;margin:0 1px}.bet-name-hit{color:#4caf50;font-weight:700}.bet-name-miss{color:#888}.bet-odds-hit{color:#4caf50;font-weight:700}.bet-odds-miss{color:#888}.bet-amount{font-size:.75rem;font-weight:700;color:var(--gold)}.bet-result{font-size:.75rem;font-weight:700;margin-left:auto}.bet-result-win{color:var(--green)}.bet-result-lose{color:var(--red)}.rec-slip-footer{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1);font-size:.8rem;color:var(--text2)}.slip-row{display:flex;justify-content:space-between;padding:2px 0}.slip-row:last-child{font-weight:600}.slip-profit{color:var(--green);font-weight:700}.slip-loss{color:var(--red);font-weight:700}.rec-day-header-strong{justify-content:space-between;align-items:flex-start}.rec-day-header-strong>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rec-summary-odds{font-size:.85rem;color:var(--gold);font-weight:700}.rec-slip-board{background:linear-gradient(180deg,rgba(10,24,41,.96) 0%,rgba(12,49,61,.96) 100%);border-color:#fbbf248c;box-shadow:0 16px 36px #00000038}.rec-slip-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.rec-slip-mode{font-size:1rem;font-weight:800;color:#fff}.rec-slip-sub{font-size:.78rem;color:#ffffffb8;margin-top:2px}.rec-slip-status{padding:6px 12px;border-radius:999px;font-size:.75rem;font-weight:700;flex-shrink:0}.rec-slip-status.pending{background:rgba(255,255,255,.08);color:#ffffffd1}.rec-slip-status.won{background:rgba(34,197,94,.16);color:var(--green)}.rec-slip-status.lost{background:rgba(239,68,68,.14);color:var(--red)}.rec-slip-match-list{display:flex;flex-direction:column;gap:10px}.rec-slip-match{display:flex;gap:12px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}.rec-slip-tag{width:28px;min-width:28px;border-radius:8px;background:linear-gradient(180deg,#4b7ef6 0%,#3451b2 100%);color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;text-orientation:upright;letter-spacing:2px}.rec-slip-match-main{flex:1;min-width:0}.rec-slip-match-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rec-slip-match-line2{padding-left:26px;margin-top:4px}.rec-pass-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.rec-pass-chip{min-width:68px;padding:8px 14px;border-radius:10px;text-align:center;font-size:.82rem;color:#ffffffb8;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.02)}.rec-pass-chip.active{background:#fff;color:#0c4253;border-color:#fff;font-weight:700}.rec-market-card{background:linear-gradient(180deg,rgba(17,24,39,.96) 0%,rgba(13,20,31,.96) 100%);border-color:#ffffff14;padding:16px}.rec-card-top{margin-bottom:14px}.rec-card-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:.78rem;color:var(--text2)}.rec-selected-pill{padding:2px 10px;border-radius:999px;background:rgba(255,107,107,.18);color:#ff8a8a;border:1px solid rgba(255,107,107,.24);font-weight:700}.rec-expand-icon{font-size:.9rem;margin-left:4px;color:var(--text3)}.rec-market-list{display:flex;flex-direction:column;gap:12px}.rec-market{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px}.rec-market-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.rec-market-title{display:flex;align-items:center;gap:6px;font-size:.92rem;font-weight:700}.rec-market-handicap{color:var(--accent)}.rec-market-tags{display:flex;gap:6px;flex-wrap:wrap}.rec-market-tag{font-size:.68rem;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.06);color:#ffffffb8}.rec-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.rec-option-grid.total-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.rec-option-grid.score-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.rec-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;padding:6px 4px;border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.03) 0%,rgba(255,255,255,.015) 100%);border:1px solid rgba(255,255,255,.08);color:#ffffffe0}.rec-option.selected{background:linear-gradient(180deg,#ff6767 0%,#f05252 100%);border-color:#ffffff42;color:#fff;box-shadow:0 8px 18px #f0525242}.rec-option.secondary{border-color:#fbbf2461;color:var(--gold)}.rec-option-label{font-size:.82rem;font-weight:700}.rec-option-odds{font-size:.74rem;opacity:.9}.rec-market-result{margin-top:10px;font-size:.76rem;color:var(--text2)}.rec-footer-rich{flex-wrap:wrap;margin-top:14px}.rec-pred-brief,.rec-secondary-note,.rec-actual-note{font-size:.74rem;color:var(--text2)}.rec-past-section{margin-top:28px}.rec-past-title{font-size:1rem;margin-bottom:12px}@media (max-width: 760px){.rec-slip-head{flex-direction:column;align-items:stretch}.rec-option-grid.score-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 600px){.rec-day-header-strong{flex-direction:column;gap:8px}.rec-option-grid,.rec-option-grid.total-grid,.rec-option-grid.score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rec-slip-match{gap:10px}.rec-slip-tag{width:24px;min-width:24px;font-size:.64rem}.rec-slip-match-line2{padding-left:0}.rec-pass-chip{flex:1;min-width:0}}.upset-section{margin:16px 0}.upset-title{font-size:.9rem;font-weight:700;color:var(--gold);margin-bottom:10px}.upset-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;margin-bottom:8px}.upset-card.upset-hot{border-color:#ef4444;background:rgba(239,68,68,.08)}.upset-card.upset-normal{border-color:var(--border)}.upset-match{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;font-weight:600;margin-bottom:6px}.upset-badge{font-size:.7rem;padding:2px 8px;border-radius:4px;background:rgba(255,255,255,.08);color:var(--text2)}.upset-badge-hot{background:#ef4444;color:#fff}.upset-detail{display:flex;gap:16px;font-size:.75rem;color:var(--text2)}.version-timeline{max-width:700px}.version-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;margin-bottom:16px}.version-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.version-badge{background:var(--gold);color:#000;font-weight:700;font-size:.85rem;padding:3px 10px;border-radius:4px}.version-date{color:var(--text2);font-size:.8rem}.version-latest{background:rgba(34,197,94,.15);color:#22c55e;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:4px}.version-changes{list-style:none;padding:0;margin:0}.version-changes li{position:relative;padding-left:16px;font-size:.85rem;color:var(--text1);line-height:1.8}.version-changes li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--gold)}.version-footer{margin-top:20px;padding:12px 16px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);font-size:.8rem;color:var(--text2);text-align:center}.version-check-card{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px}.version-check-left{display:flex;align-items:center;gap:10px}.version-check-label{color:var(--text2);font-size:.9rem}.version-check-ver{font-weight:700;font-size:1.1rem;color:var(--accent)}.version-check-btn{padding:8px 16px;background:var(--accent);color:#000;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.version-check-btn:hover{opacity:.9}.version-check-btn:disabled{opacity:.5;cursor:not-allowed}.version-check-result{padding:12px 16px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;font-size:.9rem}.version-download-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;align-items:center}.version-download-hint{font-size:.85rem;color:var(--text2);margin-right:4px}.version-download-section{display:flex;align-items:center;gap:12px;margin-top:12px;margin-bottom:20px;padding:12px 16px;background:var(--card);border-radius:10px;border:1px solid var(--border)}.version-download-btn{padding:6px 14px;background:var(--accent);color:#000;border-radius:6px;font-size:.8rem;font-weight:600;text-decoration:none;transition:opacity .2s}.version-download-btn:hover{opacity:.9}@media (max-width: 640px){.app{padding:0 10px}.navbar{margin:0 -10px;padding:0 10px}.nav-inner{height:auto;min-height:56px;flex-wrap:nowrap;gap:8px;padding:8px 0;position:relative}.nav-brand{font-size:.95rem;flex-shrink:0}.nav-hamburger{display:flex;flex-direction:column;gap:4px;padding:8px;background:none;border:none;cursor:pointer;margin-left:auto}.hamburger-line{width:20px;height:2px;background:var(--text);border-radius:2px;transition:all .3s}.hamburger-line.open:nth-child(1){transform:rotate(45deg) translate(4px,4px)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}.nav-links{display:none;position:fixed;top:56px;left:0;right:0;bottom:0;background:var(--bg2);flex-direction:column;padding:12px;gap:4px;z-index:150;overflow-y:auto;animation:slideDown .3s ease}.nav-links-open{display:flex}.nav-overlay{display:none}.nav-link{padding:12px 16px;font-size:.95rem;white-space:nowrap;border-radius:8px;border-bottom:1px solid var(--border)}.nav-link:last-child{border-bottom:none}.main{padding:12px 0 30px}.section-title{font-size:1.1rem}.round-tabs{gap:4px;margin-bottom:12px}.round-tab{padding:6px 14px;font-size:.8rem}.footer{font-size:.75rem;padding:12px}.popup-container{width:300px;padding:14px 16px}.popup-qr-box{max-height:120px}.popup-qr-group{gap:12px}.popup-reopen-btn{width:40px;height:40px;font-size:16px;bottom:16px;right:16px}}
