:root{--text: #1a1b2b;--muted: #5b6178;--muted2: #9398ad;--surface: #ffffff;--surface-2: #f2f3fa;--surface-3: #e7e9f4;--line: #e7e9f4;--pink: #ff2d78;--violet: #8b5cff;--cyan: #12b8a0;--lime: #8ec71b;--gold: #e8a200;--blue: #2b6fff;--red: #e0322c;--grad: linear-gradient(115deg, #ff2d78 0%, #8b5cff 52%, #2b6fff 100%);--grad-2: linear-gradient(120deg, #ff2d78, #ff7a18);--font: "Manrope", -apple-system, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--display: "Saira Condensed", "Manrope", "PingFang SC", system-ui, sans-serif;--shadow: 0 12px 30px rgba(40, 44, 98, .13);--shadow-sm: 0 4px 14px rgba(40, 44, 98, .09)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{overflow-x:hidden}body{background:#e8eaf7 url(/cctv-bg.jpg) top center / 100% auto no-repeat;background-attachment:scroll;color:var(--text);font-family:var(--font);font-weight:600;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-thumb{background:#cdd2e6;border-radius:8px}.num-font{font-family:var(--display);font-variant-numeric:tabular-nums}.app{min-height:100%}.container{max-width:1040px;margin:0 auto;padding:0 16px 96px}.nav{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:4px;padding:11px 18px;background:#ffffffdb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(40,44,98,.08)}.brand{display:flex;align-items:center;gap:11px;margin-right:auto}.logo-img{height:30px;width:auto;display:block}.brand b{font-size:20px;font-weight:800;letter-spacing:.5px}.brand small{display:block;font-family:var(--display);font-weight:700;color:var(--blue);letter-spacing:3px;font-size:10px;margin-top:-3px}.nav a.tab{padding:8px 14px;border-radius:11px;font-size:14px;font-weight:700;color:var(--muted)}.nav a.tab.active{color:var(--blue);background:var(--surface-2)}.nav a.tab:hover{color:var(--blue)}.nav .user{display:flex;align-items:center;gap:8px;margin-left:6px;font-size:13px;color:var(--muted)}.nav .user b{color:var(--blue)}.topzone{position:relative;overflow:hidden;width:100vw;left:50%;margin-left:-50vw;margin-top:0;padding:14px 0 32px;background:#2140da url(/cctv-block.jpg) center top / cover no-repeat}.topzone-inner{width:100%;max-width:1040px;margin:0 auto;padding:0 16px}.topzone .section-title{color:#fff}.topzone .section-title .count{color:#ffffffb8}.wc-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.wc-user{display:flex;align-items:center;gap:8px;color:#fff;font-weight:800;font-size:14px;background:#00000038;padding:7px 12px;border-radius:22px}.wc-user .udot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px var(--lime)}.wc-logout{background:#ffffff2e;border:none;color:#fff;font-weight:700;font-size:12px;padding:3px 10px;border-radius:14px;margin-left:2px}.wc-logout:hover{background:#ffffff52}.wc-hero{display:flex;align-items:center;justify-content:center;gap:26px;padding:14px 0 18px}.wc-emblem{height:128px;width:auto;filter:drop-shadow(0 8px 16px rgba(0,0,0,.35))}.wc-title{font-family:var(--display);font-size:66px;font-weight:900;line-height:.95;letter-spacing:2px;color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.3)}.wc-sub{margin-top:10px;font-size:19px;font-weight:800;color:#fffffff5;letter-spacing:1px}.wc-count{text-align:center;background:#00000047;border-radius:14px;padding:9px 16px;color:#fff}.wc-count .l{font-size:11px;color:#ffffffd9;font-weight:700}.wc-count .t{font-size:26px;font-weight:800;letter-spacing:1px;margin-top:2px}.strip-wrap{position:relative;z-index:1;margin-top:auto;padding:16px 50px 0}.strip{display:flex;gap:10px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}.strip::-webkit-scrollbar{display:none}.scard{scroll-snap-align:start}.strip-arrow{position:absolute;top:calc(50% + 8px);transform:translateY(-50%);z-index:3;width:36px;height:72px;border-radius:12px;border:none;background:#ffffff29;color:#fff;font-size:30px;font-weight:700;display:grid;place-items:center;line-height:1;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:background .12s}.strip-arrow:hover{background:#ffffff4d}.strip-arrow.left{left:4px}.strip-arrow.right{right:4px}.scard{flex:0 0 calc((100% - 50px) / 6);background:#03082875;border:1px solid rgba(255,255,255,.18);border-radius:13px;padding:9px 11px;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .12s}.scard:hover{background:#030828a8}.scard-top{display:flex;justify-content:space-between;align-items:center;font-size:10.5px;color:#ffffffc7;font-weight:700}.sdot{padding:1px 6px;border-radius:6px}.sdot.finished{color:#c7d2ee}.sdot.live{background:var(--red);color:#fff}.sdot.scheduled{color:#7ef0dd}.scard-mid{display:flex;align-items:center;justify-content:center;gap:8px;margin:10px 0}.scard-mid .sflag{font-size:27px}.scard-mid .svs{font-weight:800;color:#fff9;font-size:13px}.scard-mid b{font-size:21px}.scard-foot{text-align:center;font-size:11px;color:#ffffffb8;font-weight:700}.scard-more{display:grid;place-items:center;width:92px;font-weight:800}.section-title{display:flex;align-items:center;gap:11px;font-size:22px;font-weight:800;margin:30px 2px 14px}.section-title .pill{font-family:var(--display);font-size:14px;font-weight:800;padding:4px 12px;border-radius:9px;letter-spacing:1px;color:#fff}.pill.today{background:var(--gold)}.pill.tmr{background:var(--blue)}.pill.en{background:var(--violet);letter-spacing:2px}.section-title .count{font-family:var(--display);color:var(--muted2);font-size:16px;font-weight:700}.card,.block{background:var(--surface);border-radius:18px;box-shadow:var(--shadow-sm)}.block{padding:20px;margin-top:16px}.block-title{font-size:17px;font-weight:800;margin-bottom:4px}.qrow{background:var(--surface);border-radius:18px;box-shadow:var(--shadow-sm);padding:15px 18px;margin-bottom:12px;display:grid;grid-template-columns:64px 1fr 196px;gap:14px;align-items:center;transition:transform .12s,box-shadow .12s}.qrow:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.qrow .when{text-align:center}.qrow .when .t{font-family:var(--display);font-weight:800;font-size:22px;line-height:1}.qrow .when .st{font-size:11px;color:var(--muted2);font-weight:700;margin-top:2px}.qrow .when .g{display:inline-block;margin-top:5px;font-family:var(--display);font-size:11px;font-weight:800;padding:1px 7px;border-radius:6px;background:var(--surface-3);color:var(--muted)}.qrow .core{display:grid;grid-template-columns:1fr 250px 1fr;align-items:center;gap:10px}.qrow .core>.row,.qrow .core>.bigscore{justify-self:center}.qteam{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:800;white-space:nowrap}.qteam .flag{font-size:30px;line-height:1}.qteam.home{justify-self:end}.qteam.away{justify-self:start;flex-direction:row-reverse;text-align:right}.qrow .actions{display:flex;flex-direction:column;gap:7px;align-items:flex-end}.qrow .actions .tag,.qrow .actions .btn{font-size:12px;line-height:1}.qrow .actions .btn{padding:6px 13px;border-radius:9px}.bigscore{font-family:var(--display);font-weight:800;font-size:30px;letter-spacing:1px;min-width:66px;text-align:center}.bigscore .sep{color:var(--muted2);margin:0 5px}.mini-stepper{display:flex;align-items:center;gap:6px}.mini-stepper .n{font-family:var(--display);font-weight:800;font-size:28px;width:30px;text-align:center}.mini-stepper button{width:30px;height:30px;border-radius:9px;border:none;font-size:20px;font-weight:800;background:var(--surface-3);color:var(--text);line-height:1;transition:background .12s,color .12s}.mini-stepper button:hover{background:var(--violet);color:#fff}.mini-stepper button:disabled{opacity:1;cursor:default}.qsep{font-family:var(--display);font-size:26px;font-weight:800;color:var(--muted2)}.tag{padding:4px 10px;border-radius:9px;font-size:11px;font-weight:800;white-space:nowrap}.tag.finished{background:var(--surface-3);color:var(--muted)}.tag.live{background:var(--red);color:#fff}.tag.mine{background:#12b8a024;color:var(--cyan)}.tag.pts{background:var(--gold);color:#fff}.tag.ai{background:var(--grad);color:#fff;box-shadow:0 4px 12px #ff2d784d}.btn{padding:9px 18px;border-radius:12px;border:none;font-weight:800;font-size:13px;color:var(--text);background:var(--surface-3);transition:filter .12s,transform .12s}.btn:hover{filter:brightness(.96)}.btn:active{transform:scale(.97)}.btn.save{background:var(--lime);color:#fff}.btn.ai{background:var(--grad);color:#fff;box-shadow:0 6px 18px #ff2d784d}.btn.big{padding:14px 30px;font-size:16px;border-radius:14px}.btn:disabled{opacity:.45;cursor:not-allowed}.back{font-size:13px;font-weight:700;color:var(--muted)}.detail-head{position:relative;overflow:hidden;margin-top:12px;padding:26px;text-align:center;border-radius:22px;background:var(--grad);box-shadow:var(--shadow);color:#fff}.detail-head .meta{font-size:13px;font-weight:700;color:#ffffffeb}.detail-head .vs-row{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:14px}.detail-head .dt{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:20px;font-weight:800}.detail-head .dt .flag{font-size:58px}.detail-head .res{font-family:var(--display);font-size:50px;font-weight:900;letter-spacing:3px}.detail-head .vs{font-family:var(--display);font-size:26px;font-weight:800;color:#ffffffd9}.scoreinput{display:flex;align-items:center;justify-content:center;gap:18px;margin:18px 0;flex-wrap:wrap}.stepper{display:flex;flex-direction:column;align-items:center;gap:9px}.stepper .lbl{font-size:13px;color:var(--muted);font-weight:800}.stepper .num{font-family:var(--display);font-weight:900;font-size:52px;width:76px;text-align:center;line-height:1}.stepper .pm{display:flex;gap:9px}.stepper .pm button{width:40px;height:40px;border-radius:12px;border:none;background:var(--surface-3);color:var(--text);font-size:22px;font-weight:800}.stepper .pm button:hover{background:var(--violet);color:#fff}.strength{display:flex;align-items:center;gap:13px;margin:8px 0}.strength .sv{font-family:var(--display);font-weight:800;font-size:26px;width:56px}.sbar{flex:1;height:18px;border-radius:10px;background:var(--surface-3);overflow:hidden;position:relative}.sbar>span{position:absolute;top:0;bottom:0;border-radius:10px;transition:width 1.1s cubic-bezier(.2,.85,.25,1)}.sbar.home>span{left:0;background:linear-gradient(90deg,#2b6fff,#5aa0ff)}.sbar.away>span{right:0;background:linear-gradient(270deg,var(--pink),#ff7ab0)}.probbar{display:flex;height:38px;border-radius:12px;overflow:hidden}.probbar>div{display:grid;place-items:center;font-size:13px;font-weight:800;color:#fff;transition:width 1s ease;min-width:34px}.probbar .ph{background:var(--blue)}.probbar .pd{background:var(--muted2)}.probbar .pa{background:var(--pink)}.factor{display:flex;gap:12px;padding:13px;border-radius:13px;margin-bottom:9px;background:var(--surface-2)}.factor .ico{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:17px;font-weight:900;flex:none;color:#fff}.factor.home .ico{background:var(--blue)}.factor.away .ico{background:var(--pink)}.factor.neutral .ico{background:var(--muted2)}.factor .ttl{font-size:15px;font-weight:800;margin-bottom:3px}.factor .dtl{font-size:13px;color:var(--muted);line-height:1.55;font-weight:600}.simrow{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:13px;margin-bottom:9px;background:var(--surface-2)}.simrow .mt{font-size:14px;font-weight:800}.simrow .meta{font-size:12px;color:var(--muted2);font-weight:600;margin-top:2px}.simrow .sc{font-family:var(--display);font-size:22px;font-weight:800}.badge{font-size:11px;font-weight:800;padding:4px 9px;border-radius:8px}.badge.win{background:#12b8a029;color:var(--cyan)}.badge.draw{background:#e8a2002e;color:var(--gold)}.badge.loss{background:#e0322c24;color:var(--red)}.predicted-score{font-family:var(--display);font-size:66px;font-weight:900;letter-spacing:6px;text-align:center;margin:4px 0}.verdict{margin-top:18px;padding:16px 18px;border-radius:14px;background:var(--surface-2);border-left:4px solid var(--pink);font-size:15px;line-height:1.6;font-weight:600}.verdict b{color:var(--pink)}.verdict .risk{font-size:13px;font-weight:800;margin-top:7px}.risk.low{color:var(--cyan)}.risk.medium{color:var(--gold)}.risk.high{color:var(--red)}.reveal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,#28165cf7,#080716fc);animation:fadein .2s ease}.reveal-box{width:min(540px,92vw);text-align:center;padding:28px;color:#fff}.reveal-core{width:132px;height:132px;margin:0 auto 22px;border-radius:50%;position:relative;display:grid;place-items:center;background:var(--grad);box-shadow:0 0 60px #ff2d7880}.reveal-core:before,.reveal-core:after{content:"";position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;border-radius:50%;border:2px dashed rgba(255,255,255,.45);animation:spin 4s linear infinite}.reveal-core:after{top:12px;right:12px;bottom:12px;left:12px;border-color:#ffffff47;animation:spin 3s linear infinite reverse}.reveal-core .ico{font-size:54px}.reveal-count{font-family:var(--display);font-size:38px;font-weight:900}.reveal-count span{font-family:var(--font);font-size:13px;color:#ffffffb3;font-weight:700}.reveal-stats{display:flex;justify-content:center;gap:28px;margin:4px 0 10px}.reveal-stat .n{font-size:30px;font-weight:900;color:#fff;line-height:1}.reveal-stat .l{font-size:11px;font-weight:700;color:#fff9;margin-top:3px;letter-spacing:1px}.reveal-prog{width:78%;height:7px;border-radius:7px;background:#ffffff24;margin:12px auto 4px;overflow:hidden}.reveal-prog>span{display:block;height:100%;border-radius:7px;background:var(--grad);transition:width .12s linear}.reveal-progtext{font-size:13px;font-weight:700;color:#ffffffbf}.scanline{height:4px;border-radius:4px;width:70%;margin:16px auto;background:linear-gradient(90deg,transparent,#2bd4c0,transparent);animation:scan 1.2s ease-in-out infinite}.reveal-steps{text-align:left;max-width:370px;margin:16px auto 0;font-size:14px;font-weight:700}.reveal-steps .step{display:flex;align-items:center;gap:11px;padding:7px 0;color:#ffffff73;opacity:1;transition:all .3s}.reveal-steps .step.on{color:#fff}.reveal-steps .step.done{color:#2bd4c0}.reveal-steps .step .dot{width:9px;height:9px;border-radius:50%;background:currentColor}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadein{0%{opacity:0}}@keyframes scan{0%,to{transform:scaleX(.2);opacity:.4}50%{transform:scaleX(1);opacity:1}}@keyframes pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.pop{animation:pop .45s cubic-bezier(.2,1.3,.4,1)}.focus-tabs{display:inline-flex;background:var(--surface);border-radius:14px;padding:5px;gap:5px;margin-bottom:14px;box-shadow:var(--shadow-sm)}.ftab{padding:9px 26px;border-radius:10px;border:none;background:transparent;color:var(--muted);font-weight:800;font-size:15px}.ftab.on{background:var(--grad);color:#fff;box-shadow:0 4px 12px #ff2d784d}.gcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.gcard{border-radius:16px;padding:12px;box-shadow:var(--shadow-sm)}.gcard-head{display:flex;justify-content:space-between;align-items:center;padding:2px 6px 10px;color:#fff}.gcard-head .gn{font-weight:900;font-size:18px}.gcard-head .gcols i{display:inline-block;width:30px;text-align:center;font-style:normal;font-size:12px;font-weight:800;opacity:.92}.gcard-body{background:#fff;border-radius:11px;padding:2px 8px}.gteam{display:flex;align-items:center;gap:8px;padding:8px 4px;color:#15151f;border-top:1px solid #eef0f5}.gteam:first-child{border-top:none}.gteam .grk{width:16px;text-align:center;font-family:var(--display);font-weight:800;color:#9aa0b4;font-size:15px}.gteam.adv .grk{color:#15151f}.gteam .flag{font-size:20px}.gteam .gnm{flex:1;font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gteam .gv{width:30px;text-align:center;font-family:var(--display);font-weight:700;font-size:16px;color:#444b60}.gteam .gv.pts{color:#15151f;font-weight:800}.kscroll{overflow-x:auto;padding-bottom:10px}.kbracket{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0}.khalf{display:flex;flex-direction:column;gap:22px}.kquad{display:flex;gap:6px}.kcol{display:flex;flex-direction:column;justify-content:space-around;gap:8px}.ksf{justify-content:center}.kfinal{justify-content:center;align-items:center;gap:8px}.ktrophy{font-size:28px}.kbox{width:92px;background:var(--surface);border-radius:9px;overflow:hidden;box-shadow:var(--shadow-sm);flex:none}.kbox-top{display:flex;justify-content:space-between;align-items:center;padding:3px 6px;font-size:9px;font-weight:800;color:#fff}.kbox-top .kcode{opacity:.85}.kbox-date{text-align:center;font-size:9px;color:var(--muted2);font-weight:700;padding:2px 0}.kslot{display:flex;align-items:center;justify-content:space-between;padding:4px 6px;border-top:1px solid var(--line)}.kslot .kseed{font-family:var(--display);font-weight:700;font-size:12px}.kslot .kflag{font-size:11px;opacity:.4}table.grid-table{width:100%;border-collapse:collapse}.grid-table th{color:var(--muted2);font-weight:700;text-align:center;padding:8px 6px;font-size:12px}.grid-table td{text-align:center;padding:11px 6px;font-size:14px}.grid-table tbody tr{border-top:1px solid var(--line)}.grid-table td.name{text-align:left;font-weight:700}.grid-table tr.qualify{background:#12b8a01a}.grid-table .pts{font-family:var(--display);color:var(--gold);font-weight:800;font-size:18px}.grid-table .rank{color:var(--muted2);font-family:var(--display);font-weight:700}.flag{font-size:19px}.muted{color:var(--muted)}.muted2{color:var(--muted2)}.center{text-align:center}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.empty{background:var(--surface);border-radius:18px;padding:28px;text-align:center;color:var(--muted2);font-weight:700;box-shadow:var(--shadow-sm)}.join-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.join-card{width:min(420px,94vw);padding:38px 32px;text-align:center;border-radius:26px;background:var(--surface);box-shadow:var(--shadow);position:relative;overflow:hidden}.join-card:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--grad)}.join-trophy{height:88px;width:auto;margin:4px auto 14px;display:block}.join-card h1{margin:0 0 4px;font-family:var(--display);font-size:38px;font-weight:900;letter-spacing:1px}.join-card input{width:100%;padding:15px 16px;margin:18px 0;background:var(--surface-2);border:2px solid transparent;border-radius:14px;color:var(--text);font-size:17px;text-align:center;font-weight:800;font-family:var(--font)}.join-card input::placeholder{color:var(--muted2)}.join-card input:focus{outline:none;border-color:var(--pink)}.darkzone{background:#161433;border-radius:22px;padding:6px 20px 22px;margin-top:24px;box-shadow:var(--shadow)}.darkzone .section-title{color:#fff}.darkzone .section-title .count{color:#ffffff8c}.darkzone .card{background:transparent;box-shadow:none;padding:0}.darkzone .empty{background:transparent;box-shadow:none;color:#fff9}.darkzone .grid-table th{color:#ffffff8c}.darkzone .grid-table td{color:#eef0ff}.darkzone .grid-table td.name{color:#fff}.darkzone .grid-table .rank{color:#ffffff80}.darkzone .grid-table tbody tr{border-top-color:#ffffff14}.darkzone .focus-tabs{background:#ffffff14;box-shadow:none}.darkzone .ftab{color:#ffffffb3}@media (max-width: 920px){.scard{flex-basis:calc((100% - 30px)/4)}.wc-title{font-size:48px}}@media (max-width: 560px){.container{padding-bottom:80px;padding-left:12px;padding-right:12px}.scard{flex-basis:calc((100% - 10px)/2)}.wc-title{font-size:36px}.wc-emblem{height:80px}.wc-hero{gap:16px;padding:10px 0 14px}.topzone-inner,.wc-inner{padding:0 12px}.darkzone{padding:6px 12px 18px}.qrow{grid-template-columns:1fr;gap:10px;padding:13px 14px}.qrow .when{display:flex;align-items:center;gap:8px;text-align:left}.qrow .when .t{font-size:19px}.qrow .when .st,.qrow .when .g{margin-top:0}.qrow .core{grid-template-columns:1fr auto 1fr;gap:6px}.qteam{font-size:14px}.qteam .flag{font-size:24px}.mini-stepper{gap:4px}.mini-stepper button{width:26px;height:26px;font-size:18px}.mini-stepper .n{width:24px;font-size:24px}.qsep{font-size:22px}.qrow .actions{flex-direction:row;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}}
