
/* KULI 2.0 — mobile editorial UI, 2026-11-01 */
:root,html[data-kuli-theme="dark"]{--bg:#101b1a;--panel:#182623;--line:#30423c;--text:#edf2e9;--muted:#a4b5a9;--red:#9ccead;--green:#9ccead;--gold:#ddc391;--soft:#22372d;--ui-accent:#b5dbbd;--ui-tint:#243b30;--ui-shadow:0 6px 24px #00000012;color-scheme:dark}
html[data-kuli-theme="light"]{--bg:#f5f5ef;--panel:#fffefa;--line:#e1e5db;--text:#1d3027;--muted:#66756a;--red:#285b41;--green:#285b41;--gold:#8a6b33;--soft:#edf1e7;--ui-accent:#285b41;--ui-tint:#eaf0e5;--ui-shadow:0 6px 24px #24382a05;color-scheme:light}
html{scroll-padding-top:80px}html[data-kuli-theme] body{margin:0;background:var(--bg)!important;background-image:none!important;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;letter-spacing:0}
html[data-kuli-theme] body .app{width:min(100%,1120px);max-width:1120px;margin:auto;padding:0 24px calc(112px + env(safe-area-inset-bottom))!important}
html[data-kuli-theme] body header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:24px 0!important;margin:0;border:0}
.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:42px;height:44px;flex:0 0 42px;background:var(--text);color:var(--bg);border-radius:12px;font-size:28px;font-weight:800;letter-spacing:-3px;padding-right:3px;font-style:italic}
html[data-kuli-theme] body header h1{margin:2px 0 0!important;font-size:22px!important;line-height:1.25;letter-spacing:-.04em;font-weight:750}html[data-kuli-theme] body header h1 span{display:inline-block;vertical-align:middle;color:var(--ui-accent)!important;background:var(--ui-tint);border:1px solid var(--line);padding:1px 5px;border-radius:5px;font-size:10px;font-weight:700;letter-spacing:0;margin-left:5px}
html[data-kuli-theme] body header small{font-size:9px!important;letter-spacing:.14em!important;color:var(--muted)!important;font-weight:600}
.header-tools{display:flex;align-items:center;gap:16px}html[data-kuli-theme] body .date{font-size:12px;color:var(--muted);background:none;border:0;padding:0!important;border-radius:0!important;white-space:nowrap}
html[data-kuli-theme] body .kuli-theme-bar{margin:0!important}html[data-kuli-theme] body .kuli-theme-switch{padding:3px;border:1px solid var(--line);border-radius:30px!important;background:var(--panel)}html[data-kuli-theme] body .kuli-theme-switch button{min-height:36px;min-width:40px;border-radius:22px!important;color:var(--muted);font-size:0;box-shadow:none}html[data-kuli-theme] body .kuli-theme-switch button span{font-size:18px}html[data-kuli-theme] body .kuli-theme-switch button[aria-pressed="true"]{background:var(--text);color:var(--bg);box-shadow:none}
html[data-kuli-theme] body .hero,html[data-kuli-theme] body .kh-hero{position:relative;isolation:isolate;overflow:hidden;background:#1b3b2c!important;border:1px solid #31563d!important;color:#f3f4e8!important;border-radius:20px!important;padding:27px 30px!important;margin:0 0 14px;box-shadow:none!important;min-height:150px}
html[data-kuli-theme] body .hero:after,html[data-kuli-theme] body .kh-hero:after{content:"";position:absolute;z-index:-1;pointer-events:none;right:-55px;top:-100px;width:350px;height:350px;border:1px solid #b7d29822;border-radius:50%;box-shadow:0 0 0 40px #b7d29808,0 0 0 80px #b7d29805}
html[data-kuli-theme] body .hero small,html[data-kuli-theme] body .kh-hero small{font-size:10px!important;font-weight:600;color:#bdcfb7!important;letter-spacing:.16em!important}html[data-kuli-theme] body .hero h2,html[data-kuli-theme] body .kh-hero h2{font-size:30px!important;letter-spacing:-.04em;margin:5px 0 7px;line-height:1.3;font-weight:650}html[data-kuli-theme] body .hero p{font-size:12px;color:#d1ddcc!important;line-height:1.8!important;max-width:610px;margin:0}
html[data-kuli-theme] body .hero>strong,html[data-kuli-theme] body .kh-hero>strong{display:flex;align-items:baseline;justify-content:flex-end;gap:5px;min-width:70px;height:auto;padding:0;border:0!important;background:none!important;border-radius:0!important;color:#e5d4ae!important;font-size:46px;line-height:1.2;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:-.06em}html[data-kuli-theme] body .hero>strong small{font-size:12px!important;letter-spacing:0!important;color:#d1ddcc!important}
html[data-kuli-theme] body #today>.metrics{display:none}html[data-kuli-theme] body .data-freshness{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;border:0;background:none;padding:0 2px;margin:0 0 16px;border-radius:0!important;font-size:11px}html[data-kuli-theme] body .data-freshness>span{display:none}html[data-kuli-theme] body .data-freshness b{display:flex;align-items:center;gap:6px;color:var(--ui-accent);font-size:11px;font-weight:600}html[data-kuli-theme] body .data-freshness b:before{content:"";width:5px;height:5px;background:currentColor;border-radius:50%}html[data-kuli-theme] body .data-freshness small{font-size:11px;color:var(--muted)}html[data-kuli-theme] body .data-freshness.delayed b{color:var(--gold)}
.strategy-disclosure{margin:0 0 18px;border:1px solid var(--line);background:var(--panel);border-radius:12px}.strategy-disclosure>summary{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 14px;cursor:pointer;list-style:none;font-size:12px;color:var(--text)}.strategy-disclosure>summary::-webkit-details-marker{display:none}.strategy-disclosure>summary span{margin-left:auto;color:var(--muted);font-size:11px}.strategy-disclosure>summary:after{content:"＋";color:var(--muted);font-size:16px}.strategy-disclosure[open]>summary:after{content:"−"}html[data-kuli-theme] body .strategy-summary{margin:0;padding:0 14px 14px;border:0;background:none;gap:8px;border-radius:0!important}html[data-kuli-theme] body .strategy-summary>div{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px}html[data-kuli-theme] body .strategy-summary p{background:var(--bg);border:0;color:var(--muted);font-size:12px;padding:12px;line-height:1.75}html[data-kuli-theme] body .strategy-summary p small{font-size:11px}
html[data-kuli-theme] body .section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 12px!important;padding:0!important;border:0!important}html[data-kuli-theme] body .section-title:before{display:none!important}html[data-kuli-theme] body .section-title b{font-size:17px!important;color:var(--text);font-weight:700;letter-spacing:-.02em}html[data-kuli-theme] body .section-title span{font-size:11px!important;color:var(--muted);text-align:right}
html[data-kuli-theme] body #kuli-match-filters{display:flex;gap:6px!important;background:var(--bg);position:sticky;top:0;z-index:10;padding:10px 0 14px!important;margin:0;scrollbar-width:none;max-width:100%;overflow-x:auto}#kuli-match-filters::-webkit-scrollbar{display:none}html[data-kuli-theme] body #kuli-match-filters button{font:600 12px/1.4 inherit;min-height:44px!important;min-width:62px;padding:0 13px;border-radius:10px!important;border:1px solid var(--line)!important;background:var(--panel)!important;color:var(--muted)!important;gap:5px}html[data-kuli-theme] body #kuli-match-filters button[aria-pressed="true"]{color:var(--bg)!important;background:var(--text)!important;border-color:var(--text)!important}html[data-kuli-theme] body .kuli-filter-count{font-size:11px;opacity:.8}
html[data-kuli-theme] body #matches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}html[data-kuli-theme] body .match{margin:0!important;border:1px solid var(--line)!important;border-radius:16px!important;background:var(--panel)!important;box-shadow:var(--ui-shadow);overflow:hidden}html[data-kuli-theme] body .match.focus{box-shadow:inset 0 3px var(--ui-accent)!important;border-color:var(--ui-accent)!important}html[data-kuli-theme] body .match>summary{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:18px!important;cursor:pointer;list-style:none}html[data-kuli-theme] body .match>summary:after{display:none}html[data-kuli-theme] body .match>summary::-webkit-details-marker{display:none}
.match-meta{display:flex;gap:8px;align-items:center;justify-content:space-between}.match-meta>span:first-child{display:flex;align-items:center;gap:8px;min-width:0}html[data-kuli-theme] body .match-meta .no{font-size:12px;font-weight:750;color:var(--ui-accent);font-variant-numeric:tabular-nums;letter-spacing:.04em}.league-name{font-size:11px;color:var(--muted);font-weight:500}.match-status{color:var(--muted);background:var(--bg);padding:2px 7px;border-radius:5px;font-size:10px;white-space:nowrap}.match-status.is-live{color:var(--green);background:var(--ui-tint)}
html[data-kuli-theme] body .match .teams{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-width:0;font-size:17px;line-height:1.45;margin:18px 0 6px;color:var(--text);text-align:center;font-weight:650;overflow-wrap:anywhere}.team-name{min-width:0;overflow-wrap:anywhere}html[data-kuli-theme] body .match .teams>i{display:block;font-style:normal;font-size:11px;color:var(--muted);letter-spacing:.08em;margin:0}html[data-kuli-theme] body #matches .teams .kuli-kickoff{grid-column:1/-1;text-align:center;font-size:11px!important;line-height:1.5!important;font-weight:400;color:var(--muted);margin:3px 0 0}.match .teams .live-score,.match .teams .final-score{grid-column:1/-1;margin:0;font-size:14px;line-height:1.5;font-style:normal;color:var(--ui-accent)}
.odds-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.odds-tile{display:flex;justify-content:space-between;align-items:center;gap:6px;border:1px solid var(--line);border-radius:9px;background:var(--bg);padding:9px 10px}.odds-tile>span{font-size:11px;color:var(--muted);font-weight:500}.odds-tile>b{font-size:18px;color:var(--text);font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.odds-caption{display:block;margin-top:6px;font-size:10px;color:var(--muted);font-weight:400;line-height:1.6;overflow-wrap:anywhere}
.match-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}html[data-kuli-theme] body .match .pick{display:block;max-width:none;text-align:left;font-size:13px;line-height:1.6;color:var(--ui-accent)!important;font-weight:650}html[data-kuli-theme] body .match .pick small{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin:1px 0 0;font-weight:400}.match.is-pending .pick{color:var(--muted)!important}.match-action{font-size:11px;color:var(--muted);white-space:nowrap}.match-action:after{content:" ↗";color:var(--ui-accent);font-size:14px}.match[open] .match-action:after{content:" −"}
html[data-kuli-theme] body .match .detail{margin:0;padding:0 14px 14px;background:none;border:0}html[data-kuli-theme] body .match-analysis{margin:0;padding:0;background:var(--bg);border:1px solid var(--line);border-radius:12px!important;color:var(--text)}html[data-kuli-theme] body .insight-conclusion{background:var(--ui-tint)!important;border-color:var(--line);padding:16px}html[data-kuli-theme] body .insight-conclusion div>b{color:var(--ui-accent)!important}html[data-kuli-theme] body .insight-conclusion small,html[data-kuli-theme] body .tier-badge small{color:var(--muted)!important}html[data-kuli-theme] body .insight-section{padding:16px;border-color:var(--line)}html[data-kuli-theme] body .insight-section h4{font-size:13px}html[data-kuli-theme] body .insight-section p,html[data-kuli-theme] body .insight-section li{font-size:13px;color:var(--muted);line-height:1.85}html[data-kuli-theme] body .insight-note{font-size:12px;line-height:1.8;color:var(--muted)}html[data-kuli-theme] body .analysis-box b{color:var(--text)}html[data-kuli-theme] body .analysis-box p,html[data-kuli-theme] body .analysis-box small{color:var(--muted)}html[data-kuli-theme] body .signal-grid{gap:8px;padding:12px}html[data-kuli-theme] body .signal-grid>div{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px}html[data-kuli-theme] body .signal-grid b{font-size:18px;color:var(--text)}html[data-kuli-theme] body .signal-grid span,html[data-kuli-theme] body .signal-grid small{font-size:11px;color:var(--muted)}
.odds-box{margin:12px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.odds-box h4{font-size:13px;margin:0 0 10px}.odds-row{display:grid;grid-template-columns:62px repeat(3,minmax(0,1fr));gap:6px;align-items:center;border-top:1px solid var(--line);padding:10px 0;font-size:11px}.odds-row strong{font-size:11px;color:var(--muted);font-weight:500}.odds-row span{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--muted)}html[data-kuli-theme] body .odds-row b{font-size:16px;color:var(--text);font-variant-numeric:tabular-nums}.odds-box>small{display:block;font-size:10px;line-height:1.7;color:var(--muted)}html[data-kuli-theme] body .market-value-note{background:var(--ui-tint);border:0;border-radius:8px;color:var(--muted);font-size:11px;line-height:1.8;margin:12px;padding:12px}.pending-analysis{padding:18px}.pending-analysis b{font-size:15px!important}.pending-analysis p{font-size:12px!important;margin-bottom:0}
html[data-kuli-theme] body .metrics,html[data-kuli-theme] body .kh-metrics{gap:10px!important;margin:14px 0!important}html[data-kuli-theme] body .metrics>div,html[data-kuli-theme] body .kh-metrics>div{background:var(--panel)!important;border:1px solid var(--line)!important;border-radius:12px!important;padding:16px 8px!important}html[data-kuli-theme] body .metrics b,html[data-kuli-theme] body .kh-metrics b{color:var(--text)!important;font-size:25px!important;font-weight:600;line-height:1.4;font-variant-numeric:tabular-nums}html[data-kuli-theme] body .metrics span,html[data-kuli-theme] body .kh-metrics span{font-size:11px;color:var(--muted)!important}
html[data-kuli-theme] body :is(.plan-card,.review-item,.history-day,.kh-day,.focus-rate-card,.performance-overview,.plan-performance>details,.kc-panel,.kq-panel){background:var(--panel)!important;border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:var(--ui-shadow)}html[data-kuli-theme] body .plan-card{padding:20px!important;margin-top:14px}html[data-kuli-theme] body .plan-card.high{border-color:var(--line)!important;background:var(--panel)!important}html[data-kuli-theme] body .plan-head{gap:12px}html[data-kuli-theme] body .plan-head b{font-size:18px;font-weight:650;color:var(--text)}html[data-kuli-theme] body .plan-head span{font-size:11px;color:var(--ui-accent);background:var(--ui-tint);padding:4px 8px;border-radius:6px}html[data-kuli-theme] body .plan-schedule{padding:12px 14px;background:var(--ui-tint);border-radius:10px;font-size:12px;color:var(--muted);margin:14px 0}html[data-kuli-theme] body .plan-leg{font-size:13px;border-color:var(--line);padding:16px 0}html[data-kuli-theme] body .plan-leg b{font-size:13px}html[data-kuli-theme] body .plan-leg-info{font-size:12px;border-color:var(--line);color:var(--muted)}html[data-kuli-theme] body .plan-leg-info .quote-meta{font-size:11px;color:var(--muted);display:block}html[data-kuli-theme] body .plan-metrics>div{border:1px solid var(--line)!important;background:var(--bg)!important;border-radius:10px;padding:12px 5px!important}html[data-kuli-theme] body .plan-metrics b{font-size:20px;color:var(--text)}html[data-kuli-theme] body .plan-metrics span{font-size:10px;color:var(--muted)}html[data-kuli-theme] body .progression-panel{border-color:var(--line);background:var(--bg)}html[data-kuli-theme] body .stake-ladder li{font-size:12px}html[data-kuli-theme] body .stake-ladder li.current{color:var(--ui-accent);border-color:var(--ui-accent);background:var(--ui-tint)}html[data-kuli-theme] body .empty-state{padding:24px;border:1px dashed var(--line);background:var(--panel);border-radius:14px;margin-top:14px;font-size:13px}
html[data-kuli-theme] body .review-item{margin:0;padding:16px!important;font-size:13px}html[data-kuli-theme] body .review-item small{font-size:12px;line-height:1.7;color:var(--muted);margin-top:8px}html[data-kuli-theme] body .review-item .top{align-items:flex-start;gap:16px}html[data-kuli-theme] body .review-item .top b{white-space:nowrap;font-size:11px}.review-item .top span{overflow-wrap:anywhere}#reviewList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
html[data-kuli-theme] body .hit{color:var(--green)!important}html[data-kuli-theme] body .miss{color:#c27067!important}html[data-kuli-theme="light"] body .miss{color:#b04e43!important}html[data-kuli-theme] body .history-day>summary,html[data-kuli-theme] body .kh-day>summary{min-height:64px;padding:16px;gap:12px}html[data-kuli-theme] body .history-day>summary b,html[data-kuli-theme] body .kh-day>summary b{font-size:14px;color:var(--text)}html[data-kuli-theme] body .history-day>summary span,html[data-kuli-theme] body .kh-day>summary strong{font-size:15px;color:var(--ui-accent)}html[data-kuli-theme] body .history-plan{padding:16px;border-color:var(--line);display:block}html[data-kuli-theme] body .history-plan b{font-size:13px}html[data-kuli-theme] body .history-plan small{font-size:11px;line-height:1.7;color:var(--muted)}html[data-kuli-theme] body .history-result{text-align:left;border-top:1px solid var(--line);padding-top:10px}html[data-kuli-theme] body .history-result strong{font-size:13px}html[data-kuli-theme] body .history-leg{background:var(--bg);border-color:var(--line);padding:12px}html[data-kuli-theme] body .history-leg-main b{color:var(--ui-accent)}html[data-kuli-theme] body .history-leg-sub{font-size:12px}html[data-kuli-theme] body .profit-summary>div{background:var(--panel);border-color:var(--line);border-radius:12px;padding:16px}html[data-kuli-theme] body .profit-summary b{font-size:23px;font-weight:600}html[data-kuli-theme] body .accounting-heading{font-size:14px}html[data-kuli-theme] body .accounting-note,html[data-kuli-theme] body .pending-account small{font-size:11px}html[data-kuli-theme] body .performance-grid{gap:10px}html[data-kuli-theme] body .performance-grid>div{background:var(--bg);border-color:var(--line)}html[data-kuli-theme] body .performance-grid small,html[data-kuli-theme] body .performance-grid span{font-size:11px}
html[data-kuli-theme] body .kh-hero{align-items:center}html[data-kuli-theme] body .kh-hero>strong{font-size:34px;flex-direction:column;align-items:flex-end}html[data-kuli-theme] body .kh-hero strong small{font-size:10px!important;letter-spacing:0!important}html[data-kuli-theme] body :is(.kh-note,.kc-note,.kh-match,.kh-cat>div,.kc-window>div,.kc-chip,.kc-diag,.kq-metrics>div,.kq-issue){background:var(--bg)!important;border:1px solid var(--line)!important;color:var(--muted)!important;border-radius:10px}html[data-kuli-theme] body :is(.kh-note,.kc-note,.kc-diag span,.kq-issue small){font-size:12px;line-height:1.8}html[data-kuli-theme] body :is(.kh-teams,.kc-panel>summary b,.kq-panel>summary b){font-size:15px;color:var(--text)}html[data-kuli-theme] body :is(.kh-grid b,.kh-cat b,.kc-window b,.kc-chip b,.kc-diag b,.kq-metrics b){font-size:12px;color:var(--text)}html[data-kuli-theme] body :is(.kh-grid small,.kh-cat span,.kh-day>summary small,.kc-window span,.kc-chip span,.kh-meta,.kh-match-top span){font-size:11px;color:var(--muted)}html[data-kuli-theme] body .kh-grid{grid-template-columns:1.4fr 1fr 1fr}html[data-kuli-theme] body .kh-grid>div{background:var(--panel);border:1px solid var(--line);padding:10px}html[data-kuli-theme] body .kh-match{padding:14px}html[data-kuli-theme] body .kh-match-top b{font-size:12px;color:var(--ui-accent)}html[data-kuli-theme] body .kc-row{font-size:12px;border-color:var(--line)}html[data-kuli-theme] body .kc-row strong{color:var(--text)}html[data-kuli-theme] body :is(.kc-panel>summary strong,.kh-day>summary strong,.focus-rate-card span,.focus-rate-card strong){color:var(--ui-accent)!important}html[data-kuli-theme] body .focus-rate-card{padding:18px;margin:14px 0}html[data-kuli-theme] body .focus-rate-card span{font-size:13px}html[data-kuli-theme] body .focus-rate-card small{font-size:11px;color:var(--muted)}html[data-kuli-theme] body .history>div{background:var(--panel);border-color:var(--line);padding:14px}html[data-kuli-theme] body .history span{font-size:11px;color:var(--muted)}
html[data-kuli-theme] body .system-status{margin:30px 0 14px;padding:12px 0;background:none;border:0;border-top:1px solid var(--line);border-radius:0!important;display:flex;flex-wrap:wrap;gap:7px;font-size:11px;color:var(--muted)}html[data-kuli-theme] body .system-status small{flex-basis:100%;font-size:10px;color:var(--muted)}html[data-kuli-theme] body .system-status>span{background:var(--ui-accent);box-shadow:none;width:5px;height:5px}html[data-kuli-theme] body .system-status.error{color:#b04e43}html[data-kuli-theme] body .system-status.warning{color:var(--gold)}
.site-footer{margin-top:18px}.footer-wordmark{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.13em;color:var(--muted);margin:16px 2px}.footer-wordmark span:last-child{font-size:11px;letter-spacing:0}html[data-kuli-theme] body .announcement{position:static;max-width:none;width:100%;margin:0;border:1px solid var(--line);background:var(--panel);border-radius:12px;box-shadow:none}html[data-kuli-theme] body .announcement summary{min-height:48px;padding:12px 14px;gap:10px}html[data-kuli-theme] body .announcement summary span{font-size:11px;color:var(--muted)}html[data-kuli-theme] body .announcement summary b{font-size:12px;color:var(--text);font-weight:500}html[data-kuli-theme] body .announcement summary em{font-size:11px;color:var(--muted)}html[data-kuli-theme] body .announcement-body{border-color:var(--line)}html[data-kuli-theme] body .announcement-body img{max-width:300px;margin:auto}html[data-kuli-theme] body .announcement-body p{font-size:12px;color:var(--muted)}
html[data-kuli-theme] body nav{position:fixed;bottom:16px;left:16px;right:16px;z-index:30;margin:auto;width:min(calc(100% - 32px),520px);height:auto;min-height:72px;padding:6px;border-radius:20px!important;background:var(--panel)!important;border:1px solid var(--line)!important;box-shadow:0 8px 40px #00000014!important;display:grid;grid-template-columns:repeat(4,1fr)!important;backdrop-filter:blur(20px)}html[data-kuli-theme] body nav button{position:relative;border:0;border-radius:13px;min-height:56px!important;padding:7px 4px;gap:4px;background:none;color:var(--muted)!important;font-size:0!important;font-weight:600;cursor:pointer}html[data-kuli-theme] body nav button span{font-size:11px;line-height:1.5;font-weight:600}html[data-kuli-theme] body nav button.active{color:var(--ui-accent)!important;background:var(--ui-tint)}html[data-kuli-theme] body nav button::before{content:"";width:19px;height:19px;background:currentColor;mask:var(--nav-icon) center/contain no-repeat;-webkit-mask:var(--nav-icon) center/contain no-repeat}nav button[data-page="today"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Cpath d='M3 9h18M9 9v12'/%3E%3C/svg%3E")}nav button[data-page="review"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M4 10a8 8 0 1 1 1 7M4 4v6h6M12 8v5l3 2'/%3E%3C/svg%3E")}nav button[data-page="plan"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'%3E%3Crect x='4' y='4' width='16' height='17' rx='3'/%3E%3Cpath d='M8 2v4M16 2v4M4 10h16M8 15l3 3 5-5'/%3E%3C/svg%3E")}nav button[data-page="historyRecords"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='3'/%3E%3Cpath d='M8 8h8M8 12h8M8 16h5'/%3E%3C/svg%3E")}
html[data-kuli-theme] body button:focus-visible,html[data-kuli-theme] body summary:focus-visible{outline:3px solid var(--ui-accent)!important;outline-offset:3px}html[data-kuli-theme] body button,html[data-kuli-theme] body summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
@media(min-width:900px){html[data-kuli-theme] body .app{padding-top:4px!important}html[data-kuli-theme] body header{padding:28px 0!important}html[data-kuli-theme] body .hero{min-height:170px;padding:34px!important}html[data-kuli-theme] body .hero h2{font-size:34px!important}html[data-kuli-theme] body .hero>strong{font-size:60px}html[data-kuli-theme] body .history{grid-template-columns:repeat(5,minmax(0,1fr))}html[data-kuli-theme] body #plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}#plans>.empty-state{grid-column:1/-1}html[data-kuli-theme] body .plan-card{margin-top:0}html[data-kuli-theme] body #planHistorySummary .profit-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){html[data-kuli-theme] body .app{padding:0 16px calc(105px + env(safe-area-inset-bottom))!important}html[data-kuli-theme] body header{padding:19px 0!important;gap:8px}.brand{gap:9px}.brand-mark{width:36px;height:40px;flex-basis:36px;font-size:25px;border-radius:10px}html[data-kuli-theme] body header h1{font-size:20px!important}html[data-kuli-theme] body header small{font-size:8px!important;letter-spacing:.1em!important}.header-tools{gap:6px;flex-direction:column;align-items:flex-end}html[data-kuli-theme] body .date{font-size:10px;line-height:1.2}html[data-kuli-theme] body .kuli-theme-switch{padding:2px!important}html[data-kuli-theme] body .kuli-theme-switch button{min-width:38px;min-height:32px}html[data-kuli-theme] body .hero,html[data-kuli-theme] body .kh-hero{border-radius:16px!important;padding:22px!important;min-height:142px;gap:14px}html[data-kuli-theme] body .hero h2{font-size:27px!important;margin:5px 0 7px}html[data-kuli-theme] body .hero p{font-size:11px;line-height:1.8!important}html[data-kuli-theme] body .hero>strong{font-size:42px;min-width:56px}html[data-kuli-theme] body .data-freshness{gap:3px 10px;margin-bottom:14px}html[data-kuli-theme] body .data-freshness small{font-size:10px}.strategy-disclosure{margin-bottom:16px}html[data-kuli-theme] body .section-title{margin:18px 0 2px!important}html[data-kuli-theme] body .section-title b{font-size:16px!important}html[data-kuli-theme] body .section-title span{font-size:10px!important}html[data-kuli-theme] body #matches{grid-template-columns:1fr;gap:12px}html[data-kuli-theme] body .match>summary{padding:16px!important}html[data-kuli-theme] body .match .teams{font-size:17px;margin-top:17px;gap:5px}.odds-tile{padding:8px 10px}.odds-tile>b{font-size:18px}html[data-kuli-theme] body #reviewList{grid-template-columns:1fr}html[data-kuli-theme] body .history{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-kuli-theme] body nav{bottom:0;left:0;right:0;width:100%;border-radius:18px 18px 0 0!important;padding:5px 10px calc(5px + env(safe-area-inset-bottom));min-height:72px;box-shadow:0 -5px 24px #00000009!important}html[data-kuli-theme] body nav button{min-height:58px!important}html[data-kuli-theme] body .plan-card{padding:18px!important}html[data-kuli-theme] body .accounting-heading{flex-wrap:wrap}.odds-box{margin:10px;padding:10px}}
@media(max-width:360px){html[data-kuli-theme] body .app{padding-left:12px!important;padding-right:12px!important}html[data-kuli-theme] body header small{font-size:7px!important}html[data-kuli-theme] body header h1{font-size:18px!important}.brand-mark{display:none}html[data-kuli-theme] body .hero{padding:18px!important}html[data-kuli-theme] body .hero h2{font-size:25px!important}html[data-kuli-theme] body .hero>strong{font-size:36px}html[data-kuli-theme] body .match .teams{font-size:15px;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr)}.odds-tile{padding:8px}.odds-tile>b{font-size:16px}html[data-kuli-theme] body .data-freshness small{font-size:9px}html[data-kuli-theme] body .kh-grid{grid-template-columns:1fr 1fr}.kh-grid>div:first-child{grid-column:1/-1}html[data-kuli-theme] body .plan-leg-row{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Final cascade alignment across legacy modules. */
html[data-kuli-theme] body main{display:flex;flex-direction:column;min-width:0}html[data-kuli-theme] body main>.page{order:0;min-width:0}html[data-kuli-theme] body #systemStatus{order:10}
html[data-kuli-theme] body .hero h2,html[data-kuli-theme] body #historyRecords .kh-hero h2{color:#f3f4e8!important}
html[data-kuli-theme] body .match{padding:0!important}html[data-kuli-theme] body .kuli-theme-switch button{min-width:44px!important;min-height:44px!important}
html[data-kuli-theme] body #historyRecords{color:var(--text)!important}
html[data-kuli-theme] body #historyRecords .kh-hero{background:#1b3b2c!important;border-color:#31563d!important;color:#f3f4e8!important}
html[data-kuli-theme] body #historyRecords :is(.kh-metrics>div,.kh-day,.kh-grid>div,.kc-panel,.kq-panel){background:var(--panel)!important;border-color:var(--line)!important;color:var(--text)!important}
html[data-kuli-theme] body #historyRecords :is(.kh-day summary,.kc-panel summary,.kq-panel summary){background:var(--panel)!important;color:var(--text)!important}
html[data-kuli-theme] body #historyRecords :is(.kh-metrics b,.kh-day summary b){color:var(--text)!important}
html[data-kuli-theme] body #historyRecords :is(.kc-note,.kc-chip,.kc-row,.kc-diag,.kc-window>div,.kc-sub,.kq-metrics>div,.kq-issue,.kq-ok,.kh-match,.kh-note,.kh-empty){background:var(--bg)!important;border-color:var(--line)!important;color:var(--muted)!important}
html[data-kuli-theme] body #historyRecords :is(.kh-metrics span,.kh-day summary small,.kh-cat,.kh-meta,.kh-grid small,.kq-foot){color:var(--muted)!important}
html[data-kuli-theme] body #historyRecords :is(.kh-match-top,.kh-teams){color:var(--text)!important}html[data-kuli-theme] body #historyRecords .kc-title{color:var(--ui-accent)!important}

@media(max-width:700px){html[data-kuli-theme] body #kuli-match-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px!important;overflow:visible}html[data-kuli-theme] body #kuli-match-filters button{flex-direction:column;gap:2px;min-width:0;min-height:48px!important;padding:5px 2px;font-size:11px}html[data-kuli-theme] body #kuli-match-filters .kuli-filter-count{font-size:10px;line-height:1.2}}

/* KULI editorial layout 20261102 */
html[data-kuli-theme="light"]{--bg:#f6f5f1;--panel:#fff;--line:#d9d9d2;--text:#202323;--muted:#6a706e;--ui-accent:#b8432c;--ui-tint:#f5e9e3;--green:#2b7660;--gold:#9a6b26;--soft:#f0eeea}
html[data-kuli-theme="dark"]{--bg:#17191a;--panel:#202325;--line:#3a3e40;--text:#eeeae1;--muted:#b3b6b1;--ui-accent:#ed9a79;--ui-tint:#392a25;--green:#9bc9ac;--gold:#d6b881;--soft:#292c2e}
html[data-kuli-theme] body.editorial .app{max-width:1180px;width:100%;padding:0 32px 40px!important}
html[data-kuli-theme] body.editorial>.announcement{margin:0!important;width:100%;max-width:none;border:0;border-bottom:1px solid var(--line);border-radius:0!important;background:var(--text)!important;color:var(--bg)}
html[data-kuli-theme] body.editorial>.announcement>summary{max-width:1116px;margin:auto;min-height:40px;padding:8px 0;gap:12px}html[data-kuli-theme] body.editorial>.announcement>summary :is(span,b,em){color:var(--bg)!important;font-size:11px}html[data-kuli-theme] body.editorial>.announcement>summary span{font-family:monospace;border-right:1px solid #9998;padding-right:12px;letter-spacing:.1em}html[data-kuli-theme] body.editorial>.announcement .announcement-body{background:var(--panel);border:0;padding:20px}
html[data-kuli-theme] body.editorial header{padding:26px 0 22px!important;border-bottom:3px solid var(--text);align-items:center}.editorial .brand-mark{display:none}.editorial .brand{gap:0}html[data-kuli-theme] body.editorial header h1{font-family:"Songti SC","Noto Serif CJK SC","SimSun",serif;font-size:36px!important;letter-spacing:.06em!important;font-weight:900;line-height:1.2;margin:4px 0 0!important}html[data-kuli-theme] body.editorial header h1 span{font:600 10px/1.5 monospace;color:var(--muted)!important;border:0;border-left:1px solid var(--line);background:none;border-radius:0;padding-left:9px;margin-left:10px}html[data-kuli-theme] body.editorial header small{font:10px/1.5 monospace;letter-spacing:.22em!important}html[data-kuli-theme] body.editorial .header-tools{flex-direction:row;gap:16px}html[data-kuli-theme] body.editorial .kuli-theme-switch{border:0;background:transparent;padding:0!important;gap:2px}html[data-kuli-theme] body.editorial .kuli-theme-switch button{border-radius:0!important;min-width:38px!important;min-height:44px!important}html[data-kuli-theme] body.editorial .kuli-theme-switch button[aria-pressed=true]{background:var(--soft);color:var(--text)}
html[data-kuli-theme] body.editorial nav{position:sticky;top:0;bottom:auto;left:auto;right:auto;width:100%;max-width:none;margin:0 0 28px;padding:0!important;min-height:52px;height:auto;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:var(--bg)!important;box-shadow:none!important;backdrop-filter:none;display:grid;grid-template-columns:repeat(4,1fr)!important;z-index:40}
html[data-kuli-theme] body.editorial nav button{min-height:52px!important;border-radius:0;padding:10px 5px;flex-direction:row;gap:8px;border-bottom:3px solid transparent;color:var(--muted)!important;background:none!important}html[data-kuli-theme] body.editorial nav button::before{display:none}html[data-kuli-theme] body.editorial nav button span{font-size:13px;letter-spacing:.04em;font-weight:650}html[data-kuli-theme] body.editorial nav button.active{border-bottom-color:var(--ui-accent);color:var(--text)!important}
html[data-kuli-theme] body.editorial :is(.hero,#historyRecords .kh-hero){background:transparent!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important;color:var(--text)!important;padding:0 0 22px!important;min-height:0;margin:0 0 14px;align-items:center;gap:14px}html[data-kuli-theme] body.editorial :is(.hero,#historyRecords .kh-hero)::before,html[data-kuli-theme] body.editorial :is(.hero,#historyRecords .kh-hero)::after{display:none!important}html[data-kuli-theme] body.editorial :is(.hero,#historyRecords .kh-hero) h2{font-family:"Songti SC","Noto Serif CJK SC","SimSun",serif;font-size:32px!important;color:var(--text)!important;font-weight:900;margin:7px 0!important;letter-spacing:.01em}html[data-kuli-theme] body.editorial :is(.hero,#historyRecords .kh-hero) small{color:var(--ui-accent)!important;font-family:monospace;font-size:10px!important;letter-spacing:.16em!important}html[data-kuli-theme] body.editorial .hero p{color:var(--muted)!important;font-size:12px;line-height:1.8!important}html[data-kuli-theme] body.editorial :is(.hero,#historyRecords .kh-hero)>strong{color:var(--text)!important;font-family:Georgia,serif;font-style:italic;font-size:58px;font-weight:400;min-width:75px}html[data-kuli-theme] body.editorial :is(.hero,#historyRecords .kh-hero)>strong small{color:var(--muted)!important;font-style:normal;letter-spacing:0!important}
html[data-kuli-theme] body.editorial .data-freshness{font-size:10px;margin:0 0 18px}.editorial .strategy-disclosure{border:0;border-left:2px solid var(--ui-accent);border-radius:0;background:var(--soft);margin:0 0 18px}.editorial .strategy-disclosure>summary{padding:8px 12px;min-height:44px}.editorial .strategy-disclosure>summary b{font-size:11px;font-weight:600}.editorial .strategy-disclosure>summary span{font-size:10px}html[data-kuli-theme] body.editorial .strategy-summary>div{border:0;border-radius:0;background:var(--panel)}
html[data-kuli-theme] body.editorial .section-title{margin:26px 0 9px!important;align-items:baseline}html[data-kuli-theme] body.editorial .section-title b{font-size:15px!important}.editorial .section-title b::before{content:"/";margin-right:8px;color:var(--ui-accent);font-weight:400}html[data-kuli-theme] body.editorial #kuli-match-filters{position:static;display:flex;gap:20px!important;padding:0!important;margin:0 0 10px;border-bottom:1px solid var(--line);overflow:auto}html[data-kuli-theme] body.editorial #kuli-match-filters button{flex:0 0 auto;flex-direction:row;gap:5px;min-height:44px!important;min-width:0;padding:7px 0;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:none!important;color:var(--muted)!important;font-size:12px}html[data-kuli-theme] body.editorial #kuli-match-filters button[aria-pressed=true]{color:var(--ui-accent)!important;border-bottom-color:var(--ui-accent)!important}.editorial .kuli-filter-count{font-family:monospace}
html[data-kuli-theme] body.editorial #matches{display:block;border-top:1px solid var(--text);background:var(--panel)}html[data-kuli-theme] body.editorial .match{background:none!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important}html[data-kuli-theme] body.editorial .match.focus{border-left:3px solid var(--ui-accent)!important}html[data-kuli-theme] body.editorial .match>summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 24px;padding:20px!important;align-items:center}.editorial .match-meta{grid-column:1/-1}.editorial .match-meta .match-status{background:none;border-radius:0;padding:0;font-size:10px}.editorial .match-meta .no{font-family:monospace}.editorial .match .teams{grid-column:1;grid-row:2;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important;text-align:left!important;margin:0!important;font-size:16px!important;line-height:1.6!important}.editorial .match .teams>i{display:none!important}.editorial .team-name:before{content:"主";display:inline-block;font:10px/1.5 sans-serif;color:var(--muted);margin-right:10px}.editorial .team-name~.team-name:before{content:"客"}.editorial .match .teams .kuli-kickoff{font:10px/1.5 monospace!important;text-align:left!important;margin-top:5px!important}.editorial .odds-tiles{grid-column:2;grid-row:2;gap:0;margin:0;background:var(--bg);border:1px solid var(--line)}.editorial .odds-tile{flex-direction:column;gap:5px;padding:12px 2px;border:0;border-right:1px solid var(--line);border-radius:0;background:none}.editorial .odds-tile:last-child{border:0}.editorial .odds-tile>b{font:600 18px/1.4 "SFMono-Regular",Consolas,monospace;letter-spacing:-.04em}.editorial .odds-tile>span{font-size:10px}.editorial .odds-caption{grid-column:1/-1;margin:0;font-size:10px;color:var(--muted)}.editorial .match-bottom{grid-column:1/-1;border:0;margin:0;padding:0;align-items:baseline}.editorial .match .pick{font-size:12px!important}.editorial .match .pick small{display:inline!important;margin-left:8px!important;font-size:10px!important}.editorial .match-action{font-size:10px}.editorial .match .detail{padding:0 20px 20px!important}.editorial .match-analysis{border-radius:0!important}.editorial .odds-box{border-radius:0}.editorial .odds-row span{flex-direction:row;justify-content:center;gap:5px}
html[data-kuli-theme] body.editorial :is(.plan-card,.review-item,.history-day,.kh-day,.focus-rate-card,.performance-overview,.plan-performance>details,.kc-panel,.kq-panel){border-radius:0!important;box-shadow:none!important}html[data-kuli-theme] body.editorial .plan-card{border-top:3px solid var(--text)!important;padding:22px!important}html[data-kuli-theme] body.editorial .plan-card.high{border-top-color:var(--ui-accent)!important}html[data-kuli-theme] body.editorial .plan-head{padding-bottom:16px;border-bottom:1px solid var(--line)}html[data-kuli-theme] body.editorial .plan-head b{font-family:serif;font-size:20px}.editorial .plan-head span{border-radius:0!important}.editorial .plan-schedule{background:none!important;padding:0 0 14px!important;border-bottom:1px dashed var(--line);border-radius:0!important}.editorial :is(.progression-panel,.plan-metrics>div,.profit-summary>div,.performance-grid>div,.stake-ladder li,.history-leg,.pending-account){border-radius:0!important}.editorial .plan-metrics{gap:0}.editorial .plan-metrics>div{border-right:0!important}.editorial .plan-metrics>div:last-child{border-right:1px solid var(--line)!important}.editorial .history-plan{border-left:2px solid var(--line);margin:0 16px 14px;padding-left:14px!important}.editorial #reviewList{gap:0;display:block;border-top:1px solid var(--text)}.editorial #reviewList .review-item{border:0!important;border-bottom:1px solid var(--line)!important;padding:16px 10px!important;background:transparent!important}.editorial .review-item .top span{font-size:14px}.editorial .metrics>div,.editorial .kh-metrics>div{border:0!important;border-right:1px solid var(--line)!important;border-radius:0!important;background:none!important}.editorial .metrics,.editorial .kh-metrics{border-bottom:1px solid var(--line);padding-bottom:14px}.editorial .metrics>div:last-child,.editorial .kh-metrics>div:last-child{border-right:0!important}.editorial .focus-rate-card{border-left:3px solid var(--ui-accent)!important}.editorial .site-footer{border-top:3px solid var(--text);margin-top:30px}.editorial .footer-wordmark{margin:14px 0;font-family:monospace}.editorial .footer-wordmark span:last-child{display:none}
@media(min-width:950px){html[data-kuli-theme] body.editorial #today.active{display:grid;grid-template-columns:minmax(0,1fr) 260px;column-gap:36px;align-items:start}html[data-kuli-theme] body.editorial #today>.hero{grid-column:1;grid-row:1}html[data-kuli-theme] body.editorial #today>.data-freshness{grid-column:1;grid-row:2}html[data-kuli-theme] body.editorial #today>.metrics{display:grid!important;grid-column:2;grid-row:1;gap:0!important;margin:0!important;border-top:3px solid var(--text);border-bottom:1px solid var(--line)}html[data-kuli-theme] body.editorial #today>.metrics>div{padding:18px 2px!important}html[data-kuli-theme] body.editorial #today>.metrics b{font-size:24px!important}.editorial #today>.strategy-disclosure{grid-column:2;grid-row:2/7}.editorial #today>.section-title{grid-column:1;grid-row:3}.editorial #today>#kuli-match-filters{grid-column:1;grid-row:4}.editorial #today>#kuli-filter-message{grid-column:1;grid-row:5}.editorial #today>#matches{grid-column:1;grid-row:6}.editorial #today .strategy-summary{grid-template-columns:1fr!important}.editorial #today .strategy-summary>div{display:flex;justify-content:space-between;align-items:center}.editorial #today .strategy-summary p{grid-column:1!important}}
@media(max-width:700px){html[data-kuli-theme] body.editorial .app{padding:0 16px 28px!important}html[data-kuli-theme] body.editorial>.announcement>summary{padding:8px 16px;min-height:40px}html[data-kuli-theme] body.editorial header{padding:20px 0 16px!important}html[data-kuli-theme] body.editorial header h1{font-size:28px!important}html[data-kuli-theme] body.editorial header small{font-size:8px!important}.editorial .header-tools{flex-direction:column!important;gap:0!important}html[data-kuli-theme] body.editorial nav{margin-bottom:24px;min-height:48px}html[data-kuli-theme] body.editorial nav button{min-height:48px!important}html[data-kuli-theme] body.editorial nav button span{font-size:12px}html[data-kuli-theme] body.editorial :is(.hero,#historyRecords .kh-hero){padding:0 0 16px!important;min-height:0}html[data-kuli-theme] body.editorial :is(.hero,#historyRecords .kh-hero) h2{font-size:28px!important}html[data-kuli-theme] body.editorial :is(.hero,#historyRecords .kh-hero)>strong{font-size:44px;min-width:60px}html[data-kuli-theme] body.editorial .hero p{font-size:11px}.editorial .data-freshness small{font-size:10px!important}.editorial .strategy-disclosure{margin-bottom:12px}html[data-kuli-theme] body.editorial .section-title{margin-top:20px!important}html[data-kuli-theme] body.editorial #kuli-match-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px!important;overflow:visible}html[data-kuli-theme] body.editorial #kuli-match-filters button{font-size:10px;gap:3px}.editorial .kuli-filter-count{font-size:9px!important}html[data-kuli-theme] body.editorial .match>summary{padding:16px 10px!important;column-gap:12px;row-gap:9px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.editorial .match .teams{font-size:14px!important}.editorial .team-name:before{margin-right:7px;font-size:9px}.editorial .odds-tile{padding:10px 1px}.editorial .odds-tile>b{font-size:16px}.editorial .match .pick small{display:block!important;margin-left:0!important}.editorial .odds-caption{font-size:9px}.editorial .match .detail{padding:0 10px 14px!important}.editorial .plan-card{padding:18px!important}.editorial .plan-metrics b{font-size:18px!important}}

html[data-kuli-theme] body.editorial :is(.metrics>div,.kh-metrics>div,.plan-metrics>div,.profit-summary>div,.performance-grid>div,.progression-panel,.history-leg){border-radius:0!important;box-shadow:none!important}
html[data-kuli-theme] body.editorial #historyRecords .kh-metrics>div{border-radius:0!important;background:transparent!important;border-width:0 1px 0 0!important}
