@import url(https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;500;600&display=swap);.app-bar[data-v-29058f9c]{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.app-bar__inner[data-v-29058f9c]{max-width:1040px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:24px;min-height:60px}.brand[data-v-29058f9c]{display:inline-flex;align-items:center;gap:9px;font-size:19px;font-weight:700;color:var(--pitch-900);white-space:nowrap;text-decoration:none}.brand[data-v-29058f9c]:hover{color:var(--pitch-700)}.brand__mark[data-v-29058f9c]{width:22px;height:22px;border-radius:6px;background:var(--pitch-600);position:relative;flex:none}.brand__mark[data-v-29058f9c]:before{content:"";position:absolute;left:50%;top:3px;bottom:3px;width:2px;transform:translateX(-50%);background:hsla(0,0%,100%,.7)}.brand__mark[data-v-29058f9c]:after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;border:2px solid hsla(0,0%,100%,.7);transform:translate(-50%,-50%)}.app-nav[data-v-29058f9c]{flex:1;border-bottom:none;line-height:58px;background:transparent}@media (max-width:640px){.app-bar__inner[data-v-29058f9c]{flex-direction:column;align-items:stretch;gap:0;padding:0 12px}.brand[data-v-29058f9c]{min-height:52px}.app-nav[data-v-29058f9c]{line-height:44px;display:flex;flex-wrap:wrap;border-top:1px solid var(--line)}}#app,body,html{min-height:100vh}#app{font-family:var(--font-ui);color:var(--ink);background:var(--turf-bg)}.login-container[data-v-7bb336e8]{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;background:radial-gradient(120% 80% at 50% -10%,rgba(26,122,76,.12),transparent 60%),var(--turf-bg)}.login-box[data-v-7bb336e8]{background-color:var(--surface);padding:32px 28px;border-radius:var(--r);border:1px solid var(--line);box-shadow:var(--shadow-lg);width:100%;max-width:380px}.login-brand[data-v-7bb336e8]{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:700;color:var(--pitch-900)}.login-brand__mark[data-v-7bb336e8]{width:26px;height:26px;border-radius:7px;background:var(--pitch-600);position:relative;flex:none}.login-brand__mark[data-v-7bb336e8]:before{content:"";position:absolute;left:50%;top:4px;bottom:4px;width:2px;transform:translateX(-50%);background:hsla(0,0%,100%,.7)}.login-brand__mark[data-v-7bb336e8]:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;border:2px solid hsla(0,0%,100%,.7);transform:translate(-50%,-50%)}.login-sub[data-v-7bb336e8]{margin:8px 0 24px;color:var(--ink-soft);font-size:14px}.input-group[data-v-7bb336e8]{margin-bottom:16px;display:flex;gap:10px}input[data-v-7bb336e8]{flex:1;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:15px;transition:border-color .15s ease,box-shadow .15s ease}input[data-v-7bb336e8]:focus{outline:none;border-color:var(--pitch-500);box-shadow:0 0 0 2px rgba(26,122,76,.14)}button[data-v-7bb336e8]{padding:11px 18px;background-color:var(--pitch-600);color:#fff;border:none;border-radius:var(--r-sm);font-size:15px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background-color .15s ease}button[data-v-7bb336e8]:hover:not(:disabled){background-color:var(--pitch-500)}button[data-v-7bb336e8]:disabled{background-color:#c7d2cb;cursor:not-allowed}.login-button[data-v-7bb336e8]{width:100%;margin-top:4px}.error-message[data-v-7bb336e8]{color:var(--loss);font-size:13px;margin:-8px 0 12px}.checkbox-grid[data-v-6f752213]{display:flex;flex-direction:column}.row[data-v-6f752213]{display:flex;flex-wrap:wrap;margin-bottom:8px}.item[data-v-6f752213]{flex:1 1 calc(25% - 8px);margin:1px}.selected[data-v-6f752213]{background-color:#1890ff;color:#fff}.check-grid[data-v-273ba7b0],.checkbox-table[data-v-85c15736]{display:flex;flex-direction:column}.check-grid[data-v-273ba7b0]{border:1px solid var(--line);cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease;height:100%;background:var(--surface);-webkit-user-select:none;-moz-user-select:none;user-select:none}.check-grid__label[data-v-273ba7b0]{padding:4px 2px 2px;text-align:center;font-size:12px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.check-grid__odds[data-v-273ba7b0]{padding:5px 2px 6px;text-align:center;font-size:14px;font-weight:500;color:var(--ink-soft)}.check-grid[data-v-273ba7b0]:hover{background:var(--pitch-100);border-color:var(--pitch-500)}.check-grid.selected[data-v-273ba7b0]{background:var(--pitch-600);border-color:#fff;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.55);position:relative;z-index:1}.check-grid.selected .check-grid__label[data-v-273ba7b0]{color:#fff;border-bottom-color:hsla(0,0%,100%,.25)}.check-grid.selected .check-grid__odds[data-v-273ba7b0]{color:#fff;font-weight:600}.check-row[data-v-66194158]{margin-bottom:1px;display:flex;align-items:stretch}.check-row__left-title[data-v-66194158]{width:26px;display:flex;justify-content:center;align-items:center;writing-mode:vertical-rl;text-orientation:upright;letter-spacing:2px;font-size:12px;font-weight:600;padding:6px 0;flex:none}.check-row__right-content[data-v-66194158]{width:100%;text-align:left}.check-table[data-v-248e5efc]{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.league-selection[data-v-4c0ed13d]{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line)}.league-list[data-v-4c0ed13d]{margin-top:12px}.league-list .ant-row[data-v-4c0ed13d]{display:flex;flex-wrap:wrap;margin:-6px}.league-list .ant-col[data-v-4c0ed13d]{padding:6px}.league-list .ant-col[data-v-4c0ed13d]:nth-child(-n+4){flex:0 0 25%;max-width:25%}.league-list .ant-col[data-v-4c0ed13d]:nth-child(n+5){flex:0 0 50%;max-width:50%}.match-selection[data-v-4c0ed13d]{display:flex;gap:16px}.odds-list[data-v-4c0ed13d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin:16px 0}.odds-item[data-v-4c0ed13d]{padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}.odds-grid-section[data-v-4c0ed13d]{margin-top:16px}.action-area[data-v-4c0ed13d]{margin-bottom:14px}.recommendation-buttons[data-v-4c0ed13d]{margin-bottom:0}.recommendation-buttons .algo-button--active[data-v-4c0ed13d],.recommendation-buttons .algo-button--active[data-v-4c0ed13d]:focus,.recommendation-buttons .algo-button--active[data-v-4c0ed13d]:hover{background-color:var(--pitch-600)!important;border-color:var(--pitch-600)!important;color:#fff!important;font-weight:600;box-shadow:0 0 0 2px var(--amber-soft),0 0 0 3px var(--amber)}.table-scroll[data-v-4c0ed13d]{overflow-x:auto;-webkit-overflow-scrolling:touch}.bet-table .ant-input-number[data-v-4c0ed13d]{width:96px}@media (max-width:640px){.league-list .ant-col[data-v-4c0ed13d]:nth-child(-n+4),.league-list .ant-col[data-v-4c0ed13d]:nth-child(n+5){flex:0 0 50%;max-width:50%}}.action-space[data-v-5a67179a]{width:100%}.odds-grid-section[data-v-5a67179a]{margin-top:16px}.title-row[data-v-5a67179a]{display:flex;justify-content:space-between;align-items:center;gap:12px}.title-row .section-title[data-v-5a67179a]{margin-bottom:0}.table-scroll[data-v-5a67179a]{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:12px}.bet-table tbody tr.hit-row td[data-v-5a67179a]{background:var(--pitch-100)!important}.bet-table td.hit-cell[data-v-5a67179a]{color:var(--pitch-700);font-weight:700}.action-space[data-v-2021d052]{width:100%}.filter-row[data-v-2021d052]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.filter-label[data-v-2021d052]{font-size:13px;color:var(--ink-soft);margin-right:4px}.stat-grid[data-v-2021d052]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:16px 0}.table-card[data-v-2021d052]{padding:0;overflow:hidden}@media (max-width:640px){.stat-grid[data-v-2021d052]{grid-template-columns:1fr}}.action-space[data-v-37ae5d56]{width:100%}.team-selection-table[data-v-37ae5d56]{margin-top:4px}.algorithm-result-table[data-v-37ae5d56]{margin-top:16px}.selected-info[data-v-37ae5d56]{padding:10px;background-color:var(--pitch-100);border-radius:var(--r-sm);margin-top:8px;text-align:right;font-weight:600;color:var(--pitch-900)}.settings[data-v-376499c2]{max-width:480px}.setting-item[data-v-376499c2]{display:flex;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink)}.phone[data-v-376499c2]{margin-left:10px;font-weight:600;letter-spacing:.04em;color:var(--pitch-900)}#logout[data-v-376499c2]{margin-top:20px}:root{--turf-bg:#f3f6f2;--surface:#fff;--line:#e2e7e1;--pitch-900:#0b3d2e;--pitch-700:#155d3a;--pitch-600:#1a7a4c;--pitch-500:#2e9460;--pitch-100:#dcede3;--amber:#e0a12e;--amber-soft:#fbf1da;--gain:#1a7a4c;--loss:#c2412d;--loss-soft:#fbe6e1;--ink:#15201b;--ink-soft:#5b6b62;--r:12px;--r-sm:8px;--shadow:0 1px 2px rgba(11,61,46,.04),0 1px 3px rgba(11,61,46,.07);--shadow-lg:0 6px 24px rgba(11,61,46,.1);--font-ui:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--font-num:"Roboto Mono",ui-monospace,"SF Mono","Cascadia Mono",Consolas,monospace}*{box-sizing:border-box}body,html{margin:0;background:var(--turf-bg);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.01em}:focus-visible{outline:2px solid var(--pitch-500);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;transition-duration:.001ms!important}}.app-container{max-width:1040px;margin:0 auto;padding:16px 20px 96px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px}.card+.card{margin-top:16px}.section-title{margin:0 0 12px;font-size:18px;font-weight:600;color:var(--pitch-900);display:flex;align-items:center;gap:8px}.section-title:before{content:"";width:4px;height:16px;border-radius:2px;background:var(--pitch-600)}.eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}.bet-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.bet-table td,.bet-table th{padding:11px 12px;text-align:center;border-bottom:1px solid var(--line)}.bet-table thead th{background:var(--pitch-900);color:#eaf3ee;font-weight:600;font-size:13px;letter-spacing:.02em}.bet-table tbody tr:last-child td{border-bottom:none}.bet-table tbody tr:nth-child(2n) td{background:#fafcfa}.bet-table td.num,.bet-table th.num{font-family:var(--font-num)}.bet-table .gain{color:var(--gain);font-weight:600}.bet-table .loss{color:var(--loss);font-weight:600}.bet-table .total-row td{background:var(--pitch-100)!important;font-weight:700;color:var(--pitch-900);border-top:2px solid var(--pitch-600)}.bet-table td{font-variant-numeric:tabular-nums}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px;text-align:center}.stat-card .stat-label{font-size:13px;color:var(--ink-soft);margin-bottom:6px}.stat-card .stat-value{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;color:var(--pitch-900)}.stat-card .stat-value.gain{color:var(--gain)}.stat-card .stat-value.loss{color:var(--loss)}.chip{display:inline-flex;padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:13px;color:var(--ink);cursor:pointer}.bottom-bar,.chip{align-items:center}.bottom-bar{position:sticky;bottom:0;z-index:20;display:flex;gap:12px;padding:12px 16px;margin:16px -20px -96px;background:hsla(0,0%,100%,.92);backdrop-filter:blur(8px);border-top:1px solid var(--line)}.bottom-bar .bar-total{font-family:var(--font-num);font-weight:600;color:var(--pitch-900);margin-right:auto}.ant-btn{border-radius:var(--r-sm);font-weight:500;transition:all .15s ease}.ant-btn-primary{background:var(--pitch-600);border-color:var(--pitch-600)}.ant-btn-primary:focus,.ant-btn-primary:hover{background:var(--pitch-500);border-color:var(--pitch-500)}.ant-btn:not(.ant-btn-primary):focus,.ant-btn:not(.ant-btn-primary):hover{color:var(--pitch-600);border-color:var(--pitch-600)}.ant-menu-horizontal{border-bottom:none;line-height:inherit}.ant-menu-horizontal>.ant-menu-item a{color:var(--ink)}.ant-menu-horizontal>.ant-menu-item-selected a,.ant-menu-horizontal>.ant-menu-item:hover a{color:var(--pitch-600)}.ant-menu-horizontal>.ant-menu-item-active,.ant-menu-horizontal>.ant-menu-item-selected,.ant-menu-horizontal>.ant-menu-item:hover{border-bottom-color:var(--pitch-600)!important;color:var(--pitch-600)}.ant-select-selection{border-radius:var(--r-sm);border-color:var(--line)}.ant-select-focused .ant-select-selection,.ant-select-selection:hover{border-color:var(--pitch-500);box-shadow:0 0 0 2px rgba(26,122,76,.12)}.ant-select-dropdown-menu-item-active,.ant-select-dropdown-menu-item-selected{background:var(--pitch-100);color:var(--pitch-900)}.ant-table-thead>tr>th{background:var(--pitch-900);color:#eaf3ee;font-weight:600;border-bottom:none}.ant-table-tbody>tr>td{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.ant-table-tbody>tr.ant-table-row-hover>td,.ant-table-tbody>tr:hover>td{background:var(--pitch-100)}.ant-table-bordered .ant-table-tbody>tr>td,.ant-table-bordered .ant-table-thead>tr>th{border-color:var(--line)}.ant-statistic-title{color:var(--ink-soft)}.ant-statistic-content{font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--pitch-900)}.ant-checkbox-checked .ant-checkbox-inner,.ant-checkbox-indeterminate .ant-checkbox-inner:after{background:var(--pitch-600);border-color:var(--pitch-600)}.ant-checkbox-wrapper:hover .ant-checkbox-inner,.ant-checkbox:hover .ant-checkbox-inner{border-color:var(--pitch-500)}.ant-calendar-range .ant-calendar-in-range-cell:before,.ant-calendar-selected-day .ant-calendar-date{background:var(--pitch-100)}.ant-calendar-today .ant-calendar-date{color:var(--pitch-600);border-color:var(--pitch-600)}.ant-tag{border-radius:999px}.ant-input,.ant-input-number{border-radius:var(--r-sm);border-color:var(--line)}.ant-input-number-focused,.ant-input:focus{border-color:var(--pitch-500);box-shadow:0 0 0 2px rgba(26,122,76,.12)}