:root{--bg: #f6f6f4;--card: #ffffff;--line: #e5e4df;--line-soft: #f3f2ee;--ink: #1b1b19;--ink-2: #45443e;--muted: #6b6a63;--muted-2: #8c8b83;--faint: #a3a29a;--accent: #146f63;--accent-deep: #0f5349;--accent-soft: #eff5f3;--good: #157f5f;--good-soft: #dff0e7;--warn: #8a5a0e;--warn-soft: #fdf5e4;--warn-line: #efdcb2;--bad: #b23b32;--bad-soft: #f7ddda;--num: "Manrope", system-ui, sans-serif;--sans: "Noto Sans TC", "PingFang TC", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}.shell{display:flex;min-height:100vh}.side{width:216px;flex-shrink:0;background:var(--card);border-right:1px solid var(--line);padding:26px 18px;display:flex;flex-direction:column;gap:24px}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:30px;height:30px;border-radius:9px;background:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.brand-name{font-family:var(--num);font-size:14px;font-weight:800}.brand-sub{font-size:11px;color:var(--muted-2)}.nav{display:flex;flex-direction:column;gap:2px}.nav button{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:9px;border:none;background:transparent;color:var(--ink-2);font-size:13px;text-align:left;width:100%}.nav button.on{background:var(--accent-soft);color:var(--accent-deep);font-weight:700}.nav button:disabled{color:var(--faint);cursor:default}.dot{width:6px;height:6px;border-radius:3px;background:#cfcec7;flex-shrink:0}.nav button.on .dot{background:var(--accent)}.side-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:16px;font-size:12px;color:var(--muted-2)}.account{border:1px solid var(--line);border-radius:12px;padding:14px}.account-name{font-size:12px;font-weight:700}.account-money{font-size:11px;color:var(--muted-2);margin-top:4px}.account-out{margin-top:10px;width:100%;padding:7px 10px;font-size:12px}.soon-tag{margin-left:auto;font-size:11px}.main{flex-grow:1;padding:28px 30px;display:flex;flex-direction:column;gap:16px;min-width:0}.head{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.eyebrow{font-size:13px;color:var(--muted-2);margin-bottom:4px}h1{font-family:var(--num);font-size:28px;font-weight:800;letter-spacing:-.02em;margin:0}.spacer{flex-grow:1}.badge{font-size:12px;font-weight:500;color:var(--warn);background:var(--warn-soft);border:1px solid var(--warn-line);border-radius:7px;padding:6px 11px}.tabs{display:flex;gap:5px;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:4px}.tabs button{font-family:var(--num);font-size:13px;font-weight:700;padding:8px 15px;border-radius:8px;border:none;background:transparent;color:var(--muted)}.tabs button.on{background:var(--accent);color:#fff}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:17px 19px}.card .label{font-size:12px;color:var(--muted)}.card .value{font-family:var(--num);font-size:32px;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-top:6px}.card .note{font-size:11px;color:var(--faint);margin-top:4px}.v-accent{color:var(--accent)}.v-good{color:var(--good)}.panel{background:var(--card);border:1px solid var(--line);border-radius:13px;overflow:hidden}.panel-head{padding:16px 20px 12px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.panel-title{font-size:15px;font-weight:700}.panel-sub{font-size:12px;color:var(--muted-2)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse}thead th{background:#fafaf8;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);font-size:12px;font-weight:500;color:var(--muted-2);text-align:left;padding:9px 20px;white-space:nowrap}thead th.r,tbody td.r{text-align:right}tbody td{padding:13px 20px;border-bottom:1px solid var(--line-soft);font-size:14px}tbody tr:last-child td{border-bottom:none}.tname{font-family:var(--num);font-size:15px;font-weight:800}.matchup .vs{color:var(--faint);margin:0 7px}.only-sm{display:none}.tnum{font-family:var(--num);font-weight:600}.tnum-strong{font-family:var(--num);font-weight:800}.bar{display:inline-flex;align-items:center;gap:9px}.bar-track{width:54px;height:6px;border-radius:3px;background:#edece7;overflow:hidden}.bar-fill{display:block;height:6px;border-radius:3px;background:var(--accent)}.pill{font-size:11px;font-weight:700;border-radius:6px;padding:3px 8px}.pill-over{color:var(--good);background:var(--good-soft)}.pill-under{color:var(--muted-2);background:#edece7}.foot-note{padding:13px 20px;border-top:1px solid var(--line-soft);font-size:12px;color:var(--muted-2)}.state{padding:40px 20px;text-align:center;color:var(--muted-2);font-size:14px}.state.err{color:var(--bad)}.funds{display:flex;align-items:center;gap:26px;padding:15px 20px}.field{display:flex;flex-direction:column;gap:5px}.field-label{font-size:11px;color:var(--muted-2)}.funds-note{font-size:12px;line-height:1.7;color:var(--muted-2);flex-grow:1}.money-input{width:128px;font-family:var(--num);font-size:18px;font-weight:800;padding:8px 10px;border:1.5px solid var(--line);border-radius:9px;background:#fbfbf9;color:var(--ink)}.money-input.bad{border-color:var(--bad);background:#fcf2f1;color:var(--bad)}.link{border:none;background:none;padding:0;color:var(--accent);font-size:12px;text-decoration:underline;margin-left:6px}.banner{display:flex;gap:13px;border-radius:13px;padding:13px 18px}.banner.warn{background:var(--warn-soft);border:1px solid var(--warn-line)}.banner.bad{background:#fcf2f1;border:1px solid #f0d6d3}.banner-title{font-size:14px;font-weight:700}.banner.warn .banner-title{color:var(--warn)}.banner.bad .banner-title{color:var(--bad)}.banner-body{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.7}.bet-row-wrap{border-bottom:1px solid var(--line-soft)}.bet-row-wrap:last-of-type{border-bottom:none}.bet-row{display:grid;grid-template-columns:1fr 210px 210px 110px;align-items:center;gap:20px;padding:16px 24px}.bet-who{min-width:0}.bet-verdict{text-align:right}.bet-verdict-value{font-size:21px}.plan-foot{display:flex;align-items:center;gap:16px}.plan-foot-copy{flex-grow:1}.plan-foot-ev{text-align:right}.odds-pair{display:flex;gap:10px}.odds-pair label{display:flex;flex-direction:column;gap:4px;flex:1}.odds-pair span{font-size:11px;color:var(--muted-2)}.odds-pair input{width:100%;text-align:center;font-family:var(--num);font-size:17px;font-weight:800;padding:8px 4px;border:1.5px solid var(--line);border-radius:9px;background:#fbfbf9}.odds-pair input:focus{outline:none;border-color:var(--accent);background:#f4faf8}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}button.primary{font-size:13px;font-weight:700;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:9px;padding:9px 14px}button.primary:disabled{opacity:.6;cursor:default}button.ghost{font-size:13px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:9px;padding:9px 14px}button.icon{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.grow{flex-grow:1}.bet-detail{background:#fafaf8;border-top:1px solid var(--line-soft);padding:18px 24px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;padding-bottom:14px;border-bottom:1px solid #e8e7e2;margin-bottom:14px}.reasons{display:flex;flex-direction:column;gap:9px}.reason{display:flex;gap:10px;font-size:13px;line-height:1.7;color:var(--ink-2)}.rmark{width:19px;height:19px;border-radius:10px;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;font-family:var(--num);font-size:11px;font-weight:800}.rmark.good{background:var(--good-soft);color:var(--good)}.rmark.bad{background:var(--bad-soft);color:var(--bad)}.rmark.warn{background:#faebcf;color:var(--warn)}.rmark.neutral{background:#edece7;color:var(--muted)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#1b1b196b;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal{width:100%;max-width:592px;background:#fff;border-radius:18px;padding:32px 34px;display:flex;flex-direction:column;gap:19px}.modal-head{display:flex;align-items:center;gap:14px}.modal-icon{width:46px;height:46px;border-radius:13px;background:var(--warn-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-title{font-family:var(--num);font-size:23px;font-weight:800;letter-spacing:-.02em}.modal-sub{font-size:13px;color:var(--muted-2);margin-top:3px}.modal-facts{background:#fafaf8;border:1px solid var(--line-soft);border-radius:13px;padding:16px 18px;display:flex;flex-direction:column;gap:11px}.fact{display:flex;align-items:baseline;gap:12px;font-size:13px;color:var(--muted)}.fact span:first-child{flex-grow:1}.fact .tnum-strong{font-size:16px}.modal-copy{font-size:14px;line-height:1.85;color:var(--ink-2);margin:0}.modal-actions{display:flex;gap:11px}.modal-actions button{padding:14px 20px;font-size:14px}.gate{display:flex;align-items:center;justify-content:center;min-height:60vh}.gate-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:36px 40px;max-width:420px;text-align:center}.gate-card h2{font-family:var(--num);font-size:22px;font-weight:800;margin:0 0 10px}.gate-card p{font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 20px}@media(max-width:860px){.shell{flex-direction:column}.side{width:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:10px 16px calc(10px + env(safe-area-inset-top,0px));border-right:none;border-bottom:1px solid var(--line)}.brand{order:1;margin-right:auto}.account{order:2;border:none;padding:0;display:grid;grid-template-columns:1fr auto;grid-template-areas:"name out" "money out";align-items:center;column-gap:10px}.account-name{grid-area:name;font-size:13px;text-align:right}.account-money{grid-area:money;margin-top:2px;text-align:right}.account-out{grid-area:out;width:auto;margin-top:0;padding:8px 13px}.side-foot{order:4;width:100%;margin-top:0;border-top:1px solid var(--line-soft);padding-top:8px;font-size:11px}.side-foot>div:last-child{margin-top:2px}.nav{order:10;position:fixed;left:0;right:0;bottom:0;flex-direction:row;gap:4px;background:var(--card);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));z-index:40}.nav button{flex:1;min-width:0;flex-direction:column;gap:4px;justify-content:center;text-align:center;padding:8px 2px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.soon-tag{display:none}.main{padding:18px 16px calc(78px + env(safe-area-inset-bottom,0px));gap:13px}h1{font-size:22px}.head{gap:10px}.badge{font-size:11px;padding:5px 9px}.tabs{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{flex-shrink:0}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{padding:13px 14px}.card .value{font-size:25px}.panel-head{padding:14px 16px 10px}thead th{padding:8px 14px}tbody td{padding:11px 14px;font-size:13px}.foot-note{padding:12px 16px}.hide-sm{display:none}.only-sm{display:inline}td.tname{white-space:nowrap}.bar-track{display:none}.bar{gap:0}.matchup{white-space:normal}.matchup .tname{font-size:13px}.matchup .vs{margin:0 5px}.bet-row{grid-template-columns:1fr;gap:12px;padding:16px}.bet-who{order:1}.bet-verdict{order:2;text-align:left;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.bet-verdict-value{font-size:24px}.odds-pair{order:3}.row-actions{order:4}.row-actions button.primary{flex-grow:1;padding:13px 14px;font-size:14px}.row-actions button.icon:only-child{width:100%}button.icon{width:44px;height:44px}.bet-detail{padding:16px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.funds{flex-wrap:wrap;gap:14px 20px;padding:14px 16px}.funds-note{flex-basis:100%}.money-input{width:100%;max-width:160px}.banner{padding:12px 14px}.plan-foot{flex-direction:column;align-items:flex-start;gap:10px}.plan-foot-ev{text-align:left}.modal{padding:24px 20px;border-radius:16px;gap:16px}.modal-title{font-size:19px}.modal-icon{width:40px;height:40px}.modal-copy{font-size:13px;line-height:1.8}.modal-actions{flex-direction:column}.modal-actions button{width:100%;padding:13px 16px}.scrim{padding:14px;align-items:flex-end}.gate-card{padding:28px 22px}}@media(max-width:600px){.main{padding-left:13px;padding-right:13px}h1{font-size:20px}.brand-sub{display:none}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.card .value{font-size:23px}.panel-sub{font-size:11px}tbody td{padding:10px}thead th{padding:7px 10px}}@media(max-height:560px){.scrim{align-items:flex-start;overflow-y:auto}.modal{margin:14px 0}}
