:root {
  --bg: #07100c;
  --body-bg: radial-gradient(circle at top, #153726 0, #07100c 460px);
  --shell-bg: linear-gradient(180deg, rgba(7,16,12,.25), var(--bg) 260px);
  --surface: #101b16;
  --surface-2: #17241d;
  --line: rgba(255,255,255,.08);
  --text: #f4f8f5;
  --muted: #8e9c94;
  --lime: #b8f03c;
  --green: #35d178;
  --red: #ff625f;
  --amber: #ffb74a;
  --navy: #071510;
  --card-bg: linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.025));
  --segmented-bg: #0d1812;
  --nav-bg: rgba(8,17,13,.94);
  --detail-bg: radial-gradient(circle at top,#153726 0,#07100c 420px);
  --detail-top-bg: linear-gradient(180deg,rgba(7,16,12,.98),rgba(7,16,12,.82));
  --soft-fill: rgba(255,255,255,.04);
  --soft-fill-2: rgba(255,255,255,.025);
  --accent-on: #10200f;
  --accent-soft: rgba(184,240,60,.08);
  --success-soft: rgba(53,209,120,.08);
  --warning-soft: rgba(255,183,74,.08);
  --danger-soft: rgba(255,98,95,.08);
  --bar-bg: rgba(255,255,255,.07);
  --tile-bg: rgba(255,255,255,.035);
  --tile-border: rgba(255,255,255,.045);
  --chart-grid: rgba(255,255,255,.07);
  --muted-danger: #ff8e8b;
  --pitch-bg: repeating-linear-gradient(90deg,#164a2d 0,#164a2d 16.66%,#194f31 16.66%,#194f31 33.33%);
  --pitch-line: rgba(255,255,255,.25);
  --player-home-bg: #efffd2;
  --player-away-bg: #ff8e8b;
  --player-text: #132419;
  --toast-bg: #efffd2;
  --toast-text: #142217;
  --primary-button-bg: #0c2116;
  --primary-button-text: #f4f8f5;
  --chart-dot-stroke: #10200f;
  --event-dot-border: #102019;
  --sub-blue: #5daeff;
  --stat-away-bar: #77857b;
  --team-badge-bg: rgba(255,255,255,.06);
  --team-badge-border: rgba(255,255,255,.10);
  --team-badge-shadow: 0 2px 8px rgba(0,0,0,.28);
  --app-shadow: 0 25px 80px rgba(0,0,0,.4);
  --detail-shadow: -18px 0 60px rgba(0,0,0,.38);
}
:root[data-theme="light"], body[data-theme="light"] {
  --bg: #f5f7f1;
  --body-bg: radial-gradient(circle at top, #e7f5d1 0, #f5f7f1 440px);
  --shell-bg: linear-gradient(180deg, rgba(255,255,255,.62), #f5f7f1 260px);
  --surface: #ffffff;
  --surface-2: #edf4e6;
  --line: rgba(18,43,27,.10);
  --text: #102017;
  --muted: #647164;
  --lime: #4f8f18;
  --green: #168b4f;
  --red: #d94d49;
  --amber: #bd7a19;
  --navy: #f6f9f2;
  --card-bg: linear-gradient(145deg, rgba(255,255,255,.96), rgba(245,249,239,.84));
  --segmented-bg: rgba(19,52,31,.07);
  --nav-bg: rgba(255,255,255,.93);
  --detail-bg: radial-gradient(circle at top,#e7f5d1 0,#f5f7f1 420px);
  --detail-top-bg: linear-gradient(180deg,rgba(245,247,241,.98),rgba(245,247,241,.86));
  --soft-fill: rgba(18,43,27,.045);
  --soft-fill-2: rgba(18,43,27,.025);
  --accent-on: #ffffff;
  --accent-soft: rgba(79,143,24,.10);
  --success-soft: rgba(22,139,79,.08);
  --warning-soft: rgba(189,122,25,.10);
  --danger-soft: rgba(217,77,73,.09);
  --bar-bg: rgba(18,43,27,.08);
  --tile-bg: rgba(18,43,27,.04);
  --tile-border: rgba(18,43,27,.055);
  --chart-grid: rgba(18,43,27,.10);
  --muted-danger: #c75350;
  --pitch-bg: repeating-linear-gradient(90deg,#d6ead7 0,#d6ead7 16.66%,#cbe4ce 16.66%,#cbe4ce 33.33%);
  --pitch-line: rgba(18,43,27,.20);
  --player-home-bg: #1f6c3e;
  --player-away-bg: #d94d49;
  --player-text: #ffffff;
  --toast-bg: #102017;
  --toast-text: #f6fbef;
  --primary-button-bg: #102017;
  --primary-button-text: #ffffff;
  --chart-dot-stroke: #f5f7f1;
  --event-dot-border: #f5f7f1;
  --sub-blue: #3078c8;
  --stat-away-bar: #aab5aa;
  --team-badge-bg: rgba(16,32,23,.16);
  --team-badge-border: rgba(16,32,23,.14);
  --team-badge-shadow: 0 2px 8px rgba(16,32,23,.20);
  --app-shadow: 0 22px 60px rgba(44,66,38,.14);
  --detail-shadow: -14px 0 45px rgba(44,66,38,.16);
}
* { box-sizing: border-box; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  margin: 0;
  background: var(--body-bg);
  color: var(--text);
  font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
button { font: inherit; color: inherit; cursor: pointer; }
.app-shell {
  width: min(100%, 430px);
  min-height: 100vh;
  margin: 0 auto;
  background: var(--shell-bg);
  position: relative;
  padding-bottom: 96px;
  overflow: visible;
}
.topbar {
  position:fixed;
  z-index:34;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:min(100%,430px);
  min-height:calc(62px + env(safe-area-inset-top));
  padding:calc(10px + env(safe-area-inset-top)) 14px 10px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,var(--bg),rgba(7,16,12,.94));
  border-bottom:1px solid var(--line);
  box-shadow:0 10px 20px rgba(0,0,0,.16);
  backdrop-filter:blur(16px);
}
.topbar.hidden { display:none; }
.title-back { position:absolute;left:14px;bottom:10px;width:34px;height:34px;border:1px solid var(--line);border-radius:12px;background:var(--soft-fill);color:var(--text);font-size:23px;line-height:1;display:grid;place-items:center; }
.title-back.hidden { display:none; }
.topbar > div { min-width:0;width:100%;padding:0 48px;text-align:center; }
.eyebrow { margin: 0 0 3px; color: var(--lime); font-size:11px; letter-spacing: 1.8px; text-transform: uppercase; }
h1, h2, p { margin-top: 0; }
h1 { margin-bottom: 0; font-size: 17px; letter-spacing: 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:900; }
h2 { margin-bottom: 0; font-size: 17px; letter-spacing: -.3px; }
.page { display: none; padding: 0 14px 22px; animation: fade .25s ease; }
.page.active { padding-top:calc(78px + env(safe-area-inset-top)); }
.matches-page { padding-top: calc(138px + env(safe-area-inset-top)) !important; }
.matches-page.active:before { content:"";position:fixed;top:0;left:50%;transform:translateX(-50%);width:min(100%,430px);height:160px;background:var(--bg);z-index:24;pointer-events:none; }
.page.active { display: block; }
@keyframes fade { from { opacity: 0; transform: translateY(4px) } to { opacity: 1; transform: none } }
.card { background: var(--card-bg); border: 1px solid var(--line); border-radius: 18px; }
.muted { color: var(--muted); font-size:12px; }
.date-strip { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(65px,1fr); gap: 5px; margin-bottom: 14px; overflow-x:auto; padding:2px 2px 5px; scrollbar-width:none; }
.date-strip[hidden] { display:none; }
.date-strip::-webkit-scrollbar { display:none; }
.date-strip button { position: relative; border: 0; background: transparent; color: var(--muted); border-radius: 13px; padding: 10px 3px; }
.date-strip span, .date-strip b { display: block; }
.date-strip span { font-size: 10px; margin-bottom: 3px; }
.date-strip b { font-size: 15px; }
.date-strip .active { background: var(--lime); color: var(--accent-on); }
.match-sticky-head { position:fixed;top:calc(62px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(100%,430px);z-index:30;padding:10px 14px 12px;background:var(--bg);backdrop-filter:blur(16px);box-shadow:0 10px 18px rgba(0,0,0,.16); }
body[data-theme="light"] .match-sticky-head { background:linear-gradient(180deg,var(--bg),rgba(245,247,241,.93)); }
body[data-theme="light"] .topbar { background:linear-gradient(180deg,var(--bg),rgba(245,247,241,.94)); }
.segmented { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; background: var(--segmented-bg); border-radius: 12px; padding: 3px; margin:0;box-shadow:0 8px 18px rgba(0,0,0,.18);backdrop-filter:blur(14px); }
.segmented::-webkit-scrollbar { display: none; }
.segmented button { flex: 0 0 auto; min-width: 58px; border: 0; background: transparent; color: var(--muted); padding: 8px 8px; font-size:12px; font-weight:500; border-radius: 9px; transition:font-size .16s ease,font-weight .16s ease,background .16s ease,color .16s ease; }
.segmented .active { background: var(--surface-2); color: var(--text); font-size:13px; font-weight:900; }
.league-strip { display:flex;gap:7px;overflow-x:auto;margin:-2px 0 10px;padding:2px 0 4px;scrollbar-width:none; }
.league-strip::-webkit-scrollbar { display:none; }
.league-strip button { flex:0 0 auto;display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;background:var(--soft-fill);color:var(--muted);padding:7px 9px;font-size:11px;white-space:nowrap; }
.league-strip button span { max-width:86px;overflow:hidden;text-overflow:ellipsis; }
.league-strip button b { color:var(--lime);font-size:8px; }
.league-strip .active { background:var(--lime);color:var(--accent-on);border-color:transparent;font-weight:800; }
.league-strip .active b { color:var(--accent-on); }
.live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 5px rgba(255,98,95,.12); }
.match-list, .prediction-list { display: grid; gap: 9px; }
.match-day-divider { position:sticky;top:calc(124px + env(safe-area-inset-top));z-index:26;display:flex;align-items:center;justify-content:space-between;margin:0 0 2px;padding:9px 11px;border-left:3px solid var(--lime);border-radius:10px;background:linear-gradient(90deg,var(--surface),var(--surface-2));box-shadow:0 8px 16px rgba(0,0,0,.18), inset 0 0 0 1px var(--accent-soft);isolation:isolate; }
.match-day-divider:before { content:"";position:absolute;z-index:-1;left:-14px;right:-14px;top:-18px;height:18px;background:var(--bg);pointer-events:none; }
.match-day-divider div { display:flex;align-items:baseline;gap:7px; }
.match-day-divider strong { color:var(--text);font-size:13px;letter-spacing:.02em; }
.match-day-divider span { color:var(--lime);font-size:11px;font-weight:700;white-space:nowrap; }
.match-day-divider b { color:var(--muted);font-size:11px;font-weight:500; }
.match-card { padding: 13px; transition: .2s; border-left:2px solid transparent; overflow:hidden; contain:layout paint; }
@supports (content-visibility:auto) {
  /* Keep long schedules smooth on lower-end phones by deferring off-screen card paint. */
  .match-card { content-visibility:auto; contain-intrinsic-size:auto 142px; }
  .prediction-card,.model-match-row { content-visibility:auto; contain-intrinsic-size:auto 168px; }
}
.status-border-live,.status-border-halftime,.status-border-extra_time,.status-border-penalties { border-left-color:var(--red); }
.status-border-finished { border-left-color:var(--muted); }.status-border-postponed,.status-border-suspended { border-left-color:var(--amber); }.status-border-cancelled { border-left-color:var(--red); }
.match-card:active { transform: scale(.985); }
.match-meta { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 10px; margin-bottom: 13px; }
.match-meta div { display: flex; gap: 6px; align-items: center; }
.match-meta > div:first-child { min-width:0;flex-wrap:wrap; }
.match-actions { flex:0 0 auto;justify-content:flex-end; }
.league-tag { color: var(--lime); font-weight: 700; }
.jc-match-tag { display:inline-flex;align-items:center;padding:2px 5px;border-radius:999px;background:var(--accent-soft);color:var(--lime);font-size:8px;font-weight:800; }
.status-live { color: var(--red); }
.status-finished { color: var(--muted); }
.match-state,.freshness { padding:3px 5px;border-radius:6px;background:var(--soft-fill);font-size:8px;white-space:nowrap; }
.favorite-star { width:32px;height:32px;display:grid;place-items:center;border:0;padding:0;background:transparent;color:#6f7a72;font-size:24px;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.28); }
.favorite-star.active { color:var(--amber);text-shadow:0 0 10px rgba(255,183,74,.28); }
.app-icon { display:inline-grid;place-items:center;width:1em;height:1em;color:inherit;line-height:1; }
.app-icon svg { width:1em;height:1em;display:block;fill:none;stroke:currentColor;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round; }
.profile-avatar-icon { font-size:24px; }
.profile-access-icon { font-size:16px; }
.model-card-icon { font-size:25px; }
.live-clock { display:inline-block;min-width:32px;font-variant-numeric:tabular-nums;color:var(--green); }.live-clock.compact { color:inherit; }.live-clock.clock-estimated { color:var(--amber); }
.status-postponed,.status-suspended { color:var(--amber); }.status-cancelled { color:var(--red); }
.freshness-fresh { color:var(--green); }.freshness-delayed { color:var(--amber); }.freshness-stale,.freshness-unavailable { color:var(--muted-danger); }
.match-main { display: grid; grid-template-columns: minmax(0,1fr) 74px minmax(0,1fr); align-items: center; text-align: center; min-height:72px; overflow:hidden; }
.team { position:relative;display:grid;grid-template-rows:38px 24px;justify-items:center;align-items:start;gap:7px;min-width:0;max-width:100%;height:72px;overflow:hidden; }
.team-badge-line { width:38px;max-width:100%;height:38px;display:flex;align-items:center;justify-content:center;gap:0;grid-row:1;overflow:hidden; }
.team-badge-box { width:38px;height:38px;display:grid;place-items:center;background:var(--team-badge-bg);border:1px solid var(--team-badge-border);border-radius:13px;flex:0 0 auto;box-shadow:var(--team-badge-shadow);overflow:hidden;color:var(--lime);font-size:20px;line-height:1;text-indent:0; }
.team-badge-box img { width:32px;height:32px;object-fit:contain;background:transparent;filter:drop-shadow(0 1px 1px rgba(0,0,0,.32));text-indent:0 !important;display:block; }
.team-badge-line [hidden] { display:none !important; }
.team-badge-placeholder { display:grid !important; }
.team-badge-placeholder-empty::after { content:none !important;display:none !important; }
.team-badge-fallback-box { background:linear-gradient(145deg,var(--team-badge-bg),var(--soft-fill));color:color-mix(in srgb,var(--text) 70%,var(--lime)); }
.team-badge-fallback-icon { width:20px;height:20px;display:grid;place-items:center;color:inherit;text-indent:0; }
.team-badge-fallback-icon svg { width:20px;height:20px;display:block; }
.team b { width:100%;height:22px;min-height:22px;font-size:13px !important;line-height:22px !important;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;grid-row:2;display:block;-webkit-text-size-adjust:100%;text-size-adjust:100%; }
.team-no-badge { grid-template-rows:1fr;height:auto;min-height:58px;align-items:center;justify-items:center;gap:0; }
.team-no-badge b { grid-row:1;height:auto;min-height:0;max-height:42px;font-size:14px !important;line-height:20px !important;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:clip;overflow:hidden; }
.business-card { padding:13px 12px 14px; }
.business-card .match-meta { margin-bottom:10px; }
.business-match-main { grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);gap:10px;min-height:62px;align-items:center; }
.business-team-cell { min-width:0;min-height:54px;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 2px; }
.business-team-cell b { max-width:100%;color:var(--text);font-size:15px;line-height:20px;font-weight:900;letter-spacing:.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word; }
.business-team-home { justify-content:flex-end;text-align:right; }
.business-team-away { justify-content:flex-start;text-align:left; }
.business-card .score { min-width:64px;display:grid;place-items:center;text-align:center; }
.business-card .score strong { font-size:22px;line-height:1.1;letter-spacing:.5px;white-space:nowrap; }
.match-live-note { margin-top:9px;padding-top:8px;border-top:1px solid var(--line);color:var(--amber);font-size:11px;text-align:center; }
.score strong { display: block; font-size: 25px; letter-spacing: 2px; }
.score-default strong { color:var(--muted); }
.score-live strong { color:var(--green); }
.score-finished strong { color:var(--red); }
.score small { color: var(--muted); font-size:11px; }
.score-breakdown { display:block;margin-top:2px;color:var(--muted);font-size:10px;line-height:1.25;font-weight:800;letter-spacing:0;white-space:nowrap; }
.list-state { min-height:190px;display:grid;place-items:center;align-content:center;gap:7px;text-align:center;border:1px dashed var(--line);border-radius:16px;color:var(--muted); }
.list-state i { width:28px;height:28px;border:3px solid var(--bar-bg);border-top-color:var(--lime);border-radius:50%; }
.list-state-loading i { animation:spin .8s linear infinite; }.list-state-empty i,.list-state-error i { border:0;background:var(--soft-fill);animation:none; }
.list-state b { color:var(--text);font-size:12px; }.list-state p { max-width:230px;margin:0;font-size:11px;line-height:1.6; }
.state-action,.load-more { border:1px solid var(--accent-soft);background:var(--accent-soft);color:var(--lime);border-radius:10px;padding:9px 14px;font-size:11px; }
.load-more { width:100%; }.list-state .state-action { margin-top:3px; }
.zucai-board { display:grid;gap:10px; }
.issue-board { gap:0; }
.zucai-issue-section { display:grid;gap:0;margin-bottom:12px; }
.zucai-issue-section:last-child { margin-bottom:0; }
.issue-board .zucai-list { display:grid;gap:9px; }
.issue-current-tag { position:sticky;top:88px;z-index:27;display:flex;align-items:center;gap:7px;width:100%;max-width:100%;padding:8px 10px;border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;background:linear-gradient(90deg,var(--surface),var(--surface-2));color:var(--muted);font-size:10px;box-shadow:0 8px 16px rgba(0,0,0,.14), inset 0 0 0 1px var(--accent-soft);backdrop-filter:blur(14px);isolation:isolate; }
.issue-current-tag:before { content:"";position:absolute;z-index:-1;left:-14px;right:-14px;top:-18px;height:18px;background:var(--bg);pointer-events:none; }
.issue-current-tag b { color:var(--text);font-size:12px;font-weight:800; }
.issue-current-tag em { font-style:normal;color:var(--lime);font-size:11px; }
.issue-board .match-day-divider { top:118px;margin:0;border-radius:0 0 10px 10px; }
.zucai-hero { display:flex;justify-content:space-between;align-items:center;padding:14px;background:linear-gradient(135deg,var(--accent-soft),transparent 62%),var(--card-bg); }
.zucai-hero h2 { margin:7px 0 5px;font-size:18px; }
.zucai-hero p { margin:0;color:var(--muted);font-size:10px; }
.zucai-hero > b { min-width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--soft-fill);color:var(--lime);font-size:15px; }
.zucai-type-tabs,.zucai-issues { display:flex;gap:6px;overflow-x:auto;scrollbar-width:none; }
.zucai-type-tabs::-webkit-scrollbar,.zucai-issues::-webkit-scrollbar { display:none; }
.zucai-type-tabs button,.zucai-issues button { flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:var(--soft-fill);color:var(--muted);padding:8px 12px;font-size:12px; }
.zucai-type-tabs .active,.zucai-issues .active { background:var(--lime);color:var(--accent-on);border-color:transparent;font-weight:800; }
.zucai-table-head,.zucai-row { display:grid;grid-template-columns:28px minmax(0,1fr) 82px 42px;gap:8px;align-items:center; }
.zucai-table-head { padding:0 9px;color:var(--muted);font-size:11px; }
.zucai-row { padding:11px 9px;border-radius:13px;background:var(--card-bg);border:1px solid var(--line);box-shadow:var(--card-shadow); }
.zucai-num { width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--soft-fill);color:var(--lime);font-weight:800;font-size:12px; }
.zucai-main { min-width:0; }
.zucai-main div { display:flex;gap:7px;align-items:center;min-width:0;font-size:12px; }
.zucai-main b { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.zucai-main span { color:var(--muted);font-size:11px; }
.zucai-main p { margin:4px 0 0;color:var(--muted);font-size:11px; }
.zucai-odds { display:grid;grid-template-columns:repeat(3,1fr);gap:3px;text-align:center;font-size:10px;color:var(--text); }
.zucai-odds span { padding:4px 0;border-radius:6px;background:var(--soft-fill); }
.zucai-result { text-align:center;color:var(--lime);font-weight:800;font-size:12px; }
.zucai-card-odds { display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;text-align:center; }
.zucai-card-odds.compact { grid-template-columns:1fr; }
.zucai-card-odds span { padding:6px;border-radius:8px;background:var(--soft-fill); }
@keyframes spin { to { transform:rotate(360deg); } }
.match-prediction { margin-top: 13px; padding-top: 10px; border-top: 1px solid var(--line); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; font-size: 10px; color: var(--muted); }
.mini-bar, .prob-bar { overflow: hidden; background: var(--bar-bg); border-radius: 10px; display: flex; }
.mini-bar { height: 5px; }
.mini-bar i, .prob-bar i { display: block; height: 100%; }
.win { background: var(--green); }.draw { background: var(--amber); }.loss { background: var(--red); }
.model-hero { padding: 15px; background: linear-gradient(145deg, #1d3e29, #101b16); margin-bottom: 18px; }
.model-hero-head, .section-head, .prediction-head { display: flex; align-items: center; justify-content: space-between; }
.pill { display: inline-flex; align-items: center; border-radius: 99px; font-size:11px; padding: 4px 7px; font-weight: 700; }
.pill.lime { background: var(--lime); color: var(--accent-on); }
.pill.red { background: var(--danger-soft); color: var(--muted-danger); }
.pill.light { background: var(--soft-fill); color: var(--text); }
.metric-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 16px 0 12px; }
.metric-grid div { background: rgba(0,0,0,.17); border-radius: 12px; padding: 10px; }
.metric-grid span,.metric-grid strong,.metric-grid small { display: block; }
.metric-grid span { color: #a7b3aa; font-size: 8px; }
.metric-grid strong { font-size: 18px; margin: 5px 0 2px; }
.metric-grid small { color: var(--muted); font-size: 8px; }
.metric-grid .positive { color: var(--green); }
.model-hero p { margin: 0; color: #a7b3aa; font-size: 10px; line-height: 1.6; }
.section-head { margin: 18px 1px 10px; }
.text-button { border: 0; background: transparent; color: var(--lime); font-size: 10px; padding: 4px; }
.prediction-card { padding: 13px; }
.prediction-head span { font-size: 10px; color: var(--muted); }
.prediction-head b { font-size: 12px; }
.confidence { color: var(--green); font-size:11px; }
.versus-row { display: flex; justify-content: space-between; align-items: center; margin: 13px 0; }
.versus-row div { display: flex; gap: 7px; align-items: center; font-size: 12px; }
.versus-row strong { color: var(--muted); }
.probabilities { display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; }
.probabilities div { background: var(--soft-fill); padding: 8px; border-radius: 9px; text-align: center; }
.probabilities span,.probabilities b { display:block; }
.probabilities span { color: var(--muted); font-size: 8px; }
.probabilities b { margin-top: 3px; font-size: 13px; }
.key-factors { margin-top: 10px; display: flex; gap: 5px; overflow: hidden; }
.key-factors span { white-space: nowrap; padding: 4px 6px; border-radius: 6px; background: var(--accent-soft); color: var(--lime); font-size: 8px; }
.model-catalog { display:grid;gap:12px;margin-bottom:10px; }
.model-catalog-intro { --catalog-green-rgb:45,142,67;position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 122px;min-height:154px;padding:18px;background:linear-gradient(128deg,var(--card-bg) 0%,var(--soft-fill-2) 59%,var(--accent-soft) 148%);border-color:rgba(var(--catalog-green-rgb),.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 10px 28px rgba(14,42,26,.07); }
.model-catalog-intro:before { content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(circle at 5% 0%,rgba(var(--catalog-green-rgb),.16),transparent 35%),linear-gradient(90deg,transparent 48%,rgba(var(--catalog-green-rgb),.05)); }
.model-catalog-intro:after { content:"";position:absolute;z-index:-1;left:18px;right:18px;bottom:0;height:1px;background:linear-gradient(90deg,rgba(var(--catalog-green-rgb),.38),transparent 78%); }
.model-catalog-intro-copy { position:relative;z-index:2;min-width:0;display:flex;flex-direction:column;align-items:flex-start; }
.model-catalog-intro-copy .model-catalog-intro-eyebrow { display:inline-flex;align-items:center;gap:6px;color:var(--green);font-size:10px;font-weight:1000;letter-spacing:.14em; }
.model-catalog-intro-copy .model-catalog-intro-eyebrow:before { content:"";width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(var(--catalog-green-rgb),.09); }
.model-catalog-intro-copy h2 { margin:7px 0 7px;color:var(--text);font-size:23px;letter-spacing:-.8px;line-height:1.08; }
.model-catalog-intro-copy p { max-width:278px;margin:0;color:var(--muted);font-size:11px;line-height:1.62; }
.model-catalog-intro-footer { display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:11px;color:var(--green); }
.model-catalog-intro-footer i { width:18px;height:1px;background:linear-gradient(90deg,var(--lime),transparent); }
.model-catalog-intro-footer b { font-size:9px;letter-spacing:.04em;font-weight:900; }
.model-catalog-intro-visual { position:absolute;right:-5px;top:8px;width:138px;height:138px;pointer-events:none; }
.model-catalog-orbit { position:absolute;border:1px solid rgba(var(--catalog-green-rgb),.26);border-radius:50%; }
.model-catalog-orbit:after { content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px rgba(var(--catalog-green-rgb),.6); }
.model-catalog-orbit.orbit-one { inset:19px;transform:rotate(-27deg) scaleX(.62); }
.model-catalog-orbit.orbit-one:after { right:7px;top:20px; }
.model-catalog-orbit.orbit-two { inset:36px 11px;transform:rotate(50deg) scaleX(.56);border-color:rgba(var(--catalog-green-rgb),.17); }
.model-catalog-orbit.orbit-two:after { left:5px;bottom:11px;width:5px;height:5px;background:var(--green); }
.model-catalog-core { position:absolute;left:50%;top:50%;width:38px;height:38px;transform:translate(-50%,-50%) rotate(-10deg);display:flex;align-items:flex-end;justify-content:center;gap:4px;padding:8px 7px;border-radius:14px;background:linear-gradient(145deg,rgba(var(--catalog-green-rgb),.30),rgba(var(--catalog-green-rgb),.08));border:1px solid rgba(var(--catalog-green-rgb),.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 10px 22px rgba(var(--catalog-green-rgb),.17); }
.model-catalog-core i { display:block;width:4px;border-radius:99px 99px 2px 2px;background:linear-gradient(180deg,var(--lime),var(--green));box-shadow:0 0 9px rgba(var(--catalog-green-rgb),.3); }
.model-catalog-core i:nth-child(1) { height:8px; }.model-catalog-core i:nth-child(2) { height:16px; }.model-catalog-core i:nth-child(3) { height:12px; }
.model-catalog-spark { position:absolute;width:3px;height:3px;border-radius:50%;background:var(--green);opacity:.64; }
.model-catalog-spark.spark-one { top:22px;left:34px; }.model-catalog-spark.spark-two { right:23px;bottom:32px;width:5px;height:5px;background:var(--lime); }.model-catalog-spark.spark-three { right:17px;top:39px; }
body[data-theme="light"] .model-catalog-intro { background:linear-gradient(128deg,#ffffff 0%,#f5f8ef 61%,#e9f7dc 150%);box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 10px 28px rgba(46,83,35,.08); }
.model-catalog-filter { position:sticky;top:calc(62px + env(safe-area-inset-top));z-index:29;display:flex;gap:8px;overflow-x:auto;margin:0 -14px 2px;padding:9px 14px 12px;background:linear-gradient(180deg,var(--bg),var(--bg));box-shadow:0 11px 18px rgba(0,0,0,.14);scrollbar-width:none;isolation:isolate;transform:translateZ(0); }
.model-catalog-filter::-webkit-scrollbar { display:none; }
.model-catalog-filter:after { content:"";position:absolute;pointer-events:none;left:0;right:0;bottom:-11px;height:11px;background:linear-gradient(180deg,var(--bg),transparent); }
.model-catalog-filter button { flex:0 0 auto;padding:8px 11px;border-radius:999px;border:1px solid var(--line);background:var(--soft-fill);color:var(--muted);font-size:11px;font-weight:900;white-space:nowrap; }
.model-catalog-filter button.active { border-color:rgba(182,246,49,.55);background:linear-gradient(135deg,var(--lime),var(--green));color:var(--accent-on);box-shadow:0 8px 22px rgba(182,246,49,.14); }
.model-category-empty { display:grid;gap:5px;padding:16px;text-align:center; }
.model-category-empty b { color:var(--text);font-size:14px; }
.model-category-empty span { color:var(--muted);font-size:11px; }
.model-category-section { display:grid;gap:9px; }
.model-category-head { display:flex;align-items:center;gap:10px;padding:2px 2px 0; }
.model-category-head > i { flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:13px;background:var(--soft-fill);color:var(--lime);font-size:15px;font-style:normal;font-weight:1000; }
.model-category-head div { min-width:0;flex:1; }
.model-category-head h3 { margin:0;color:var(--text);font-size:16px;letter-spacing:-.2px; }
.model-category-head p { margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.45; }
.model-category-head > b { flex:0 0 auto;padding:5px 8px;border-radius:999px;background:var(--soft-fill);color:var(--lime);font-size:11px; }
.model-catalog-summary { display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:9px; }
.model-catalog-summary div { padding:9px 6px;border-radius:12px;background:var(--soft-fill);text-align:center; }
.model-catalog-summary span,.model-catalog-summary b { display:block; }
.model-catalog-summary span { color:var(--muted);font-size:8px; }
.model-catalog-summary b { margin-top:3px;color:var(--lime);font-size:18px; }
.model-access-banner { display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;background:linear-gradient(145deg,var(--accent-soft),var(--card-bg)); }
.model-access-banner span,.model-access-banner b,.model-access-banner p { display:block; }
.model-access-banner span { color:var(--lime);font-size:8px;font-weight:900; }
.model-access-banner b { margin:3px 0;color:var(--text);font-size:12px; }
.model-access-banner p { margin:0;color:var(--muted);font-size:11px;line-height:1.55; }
.model-access-banner em { flex:0 0 auto;padding:6px 8px;border-radius:999px;background:var(--soft-fill);color:var(--lime);font-size:8px;font-style:normal;font-weight:900; }
.model-result-disclaimer { margin:4px 4px 12px;color:var(--muted);font-size:11px;line-height:1.6;text-align:left; }
.model-catalog-grid { display:grid;grid-template-columns:1fr;gap:10px; }
.model-catalog-card { --model-icon-color:#1da7ef;--model-icon-rgb:29,167,239;--model-icon-accent:#78e4ff;position:relative;overflow:hidden;min-width:0;text-align:left;border:1px solid rgba(var(--model-icon-rgb),.18);border-radius:20px;background:radial-gradient(circle at 12% 0%,rgba(var(--model-icon-rgb),.20),transparent 38%),radial-gradient(circle at 92% 8%,rgba(255,255,255,.08),transparent 30%),linear-gradient(145deg,var(--card-bg),var(--soft-fill-2));padding:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 26px rgba(0,0,0,.08);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.model-catalog-card:before { content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--model-icon-rgb),.88),transparent);opacity:.52; }
.model-catalog-card:after { content:"";position:absolute;right:-36px;top:-44px;width:116px;height:116px;border-radius:999px;background:radial-gradient(circle,rgba(var(--model-icon-rgb),.20),transparent 68%);opacity:.9;pointer-events:none; }
.model-catalog-main { position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:flex-start;gap:12px; }
.model-catalog-main > i { position:relative;isolation:isolate;overflow:hidden;flex:0 0 50px;width:50px;height:50px;display:grid;place-items:center;border-radius:17px;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.58),transparent 18%),linear-gradient(145deg,rgba(var(--model-icon-rgb),.34),rgba(var(--model-icon-rgb),.12) 58%,rgba(0,0,0,.10));border:1px solid rgba(var(--model-icon-rgb),.36);color:var(--model-icon-color,var(--lime));font-style:normal;font-size:18px;font-weight:1000;box-shadow:inset 0 1px 0 rgba(255,255,255,.30),inset 0 -12px 24px rgba(0,0,0,.08),0 10px 22px rgba(var(--model-icon-rgb),.14),0 8px 18px rgba(0,0,0,.08); }
.model-catalog-main > i:before { content:"";position:absolute;inset:7px;border-radius:13px;border:1px solid rgba(255,255,255,.18);opacity:.8;z-index:0; }
.model-catalog-main > i:after { content:"";position:absolute;left:-18%;right:-18%;top:-48%;height:72%;background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,0));transform:rotate(-12deg);opacity:.74;z-index:0; }
.model-catalog-main > i.model-icon-frame { color:var(--model-icon-color,var(--lime)); }
.model-icon-frame svg { position:relative;z-index:2;width:33px;height:33px;display:block;fill:none;stroke:currentColor;stroke-width:2.45;stroke-linecap:round;stroke-linejoin:round;filter:saturate(1.85) contrast(1.36) brightness(.78) drop-shadow(0 5px 9px rgba(var(--model-icon-rgb),.44)); }
.model-icon-frame svg circle,.model-icon-frame svg rect,.model-icon-frame svg path { vector-effect:non-scaling-stroke; }
.model-icon-visual { position:relative;z-index:2;width:31px;height:31px;display:block;filter:saturate(1.42) contrast(1.18) drop-shadow(0 5px 11px rgba(var(--model-icon-rgb),.32)); }
.model-icon-visual:before,.model-icon-visual:after,.model-icon-visual span { content:"";position:absolute;display:block;box-sizing:border-box; }
.model-icon-visual span { background:var(--model-icon-color);box-shadow:0 0 12px rgba(var(--model-icon-rgb),.36); }
.model-icon-visual-distribution:before { inset:4px;border-radius:999px;border:3px solid rgba(var(--model-icon-rgb),.42);border-top-color:var(--model-icon-color);border-right-color:var(--model-icon-accent);transform:rotate(-22deg); }
.model-icon-visual-distribution span { width:6px;height:6px;border-radius:999px; }
.model-icon-visual-distribution span:nth-child(1) { left:7px;top:18px;opacity:.78; }
.model-icon-visual-distribution span:nth-child(2) { left:13px;top:11px;width:7px;height:7px; }
.model-icon-visual-distribution span:nth-child(3) { right:6px;top:7px;width:5px;height:5px;background:var(--model-icon-accent); }
.model-icon-visual-distribution span:nth-child(4) { right:9px;bottom:7px;width:4px;height:4px;opacity:.68; }
.model-icon-visual-linked:before { left:5px;right:5px;top:15px;height:2px;background:linear-gradient(90deg,var(--model-icon-color),var(--model-icon-accent));transform:rotate(-22deg);border-radius:999px; }
.model-icon-visual-linked:after { left:8px;right:8px;top:15px;height:2px;background:rgba(255,255,255,.45);transform:rotate(22deg);border-radius:999px; }
.model-icon-visual-linked span { width:8px;height:8px;border-radius:999px;border:2px solid rgba(255,255,255,.46); }
.model-icon-visual-linked span:nth-child(1) { left:3px;top:17px; }
.model-icon-visual-linked span:nth-child(2) { right:4px;top:6px;background:var(--model-icon-accent); }
.model-icon-visual-linked span:nth-child(3) { left:7px;top:4px;width:6px;height:6px;opacity:.72; }
.model-icon-visual-linked span:nth-child(4) { right:6px;bottom:4px;width:6px;height:6px;opacity:.72; }
.model-icon-visual-scatter span { border-radius:999px; }
.model-icon-visual-scatter span:nth-child(1) { left:5px;bottom:5px;width:6px;height:6px;opacity:.65; }
.model-icon-visual-scatter span:nth-child(2) { left:12px;top:13px;width:8px;height:8px;background:var(--model-icon-accent); }
.model-icon-visual-scatter span:nth-child(3) { right:4px;top:5px;width:5px;height:5px; }
.model-icon-visual-scatter span:nth-child(4) { right:6px;bottom:8px;width:4px;height:4px;opacity:.55; }
.model-icon-visual-scatter:before { left:4px;bottom:4px;width:22px;height:18px;border-left:2px solid rgba(var(--model-icon-rgb),.58);border-bottom:2px solid rgba(var(--model-icon-rgb),.58);border-radius:0 0 0 6px; }
.model-icon-visual-zone:before { inset:5px;border-radius:8px;border:2px solid rgba(var(--model-icon-rgb),.58);background:linear-gradient(135deg,rgba(var(--model-icon-rgb),.24),transparent); }
.model-icon-visual-zone span { height:3px;border-radius:999px;left:8px;right:8px; }
.model-icon-visual-zone span:nth-child(1) { top:9px;background:var(--model-icon-accent); }
.model-icon-visual-zone span:nth-child(2) { top:15px;opacity:.74; }
.model-icon-visual-zone span:nth-child(3) { top:21px;width:12px;right:auto;opacity:.58; }
.model-icon-visual-market span { bottom:5px;width:5px;border-radius:999px 999px 3px 3px;background:linear-gradient(180deg,var(--model-icon-accent),var(--model-icon-color)); }
.model-icon-visual-market span:nth-child(1) { left:5px;height:9px; }
.model-icon-visual-market span:nth-child(2) { left:13px;height:16px; }
.model-icon-visual-market span:nth-child(3) { left:21px;height:23px; }
.model-icon-visual-market:after { left:4px;right:4px;top:7px;height:2px;border-radius:999px;background:var(--model-icon-accent);transform:rotate(-22deg);transform-origin:left center; }
.model-icon-visual-rating:before { inset:5px;border-radius:10px;clip-path:polygon(50% 0,100% 28%,88% 100%,12% 100%,0 28%);background:linear-gradient(145deg,rgba(var(--model-icon-rgb),.38),rgba(var(--model-icon-rgb),.12));border:1px solid rgba(var(--model-icon-rgb),.58); }
.model-icon-visual-rating:after { left:8px;right:8px;top:14px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--model-icon-color),var(--model-icon-accent));box-shadow:0 6px 0 rgba(var(--model-icon-rgb),.62),0 -6px 0 rgba(var(--model-icon-rgb),.36); }
.model-icon-visual-trend:before { left:5px;right:5px;bottom:8px;height:2px;border-radius:999px;background:linear-gradient(90deg,rgba(var(--model-icon-rgb),.42),var(--model-icon-color));transform:rotate(-24deg);transform-origin:left center; }
.model-icon-visual-trend span { width:5px;height:5px;border-radius:999px; }
.model-icon-visual-trend span:nth-child(1) { left:5px;bottom:7px; }
.model-icon-visual-trend span:nth-child(2) { left:13px;bottom:12px;background:var(--model-icon-accent); }
.model-icon-visual-trend span:nth-child(3) { right:5px;top:6px; }
.model-icon-visual-data:before { inset:5px;border-radius:9px;border:1px solid rgba(var(--model-icon-rgb),.56);background:linear-gradient(90deg,transparent 47%,rgba(var(--model-icon-rgb),.40) 48% 52%,transparent 53%),linear-gradient(0deg,transparent 47%,rgba(var(--model-icon-rgb),.40) 48% 52%,transparent 53%); }
.model-icon-visual-data span { width:5px;height:5px;border-radius:999px; }
.model-icon-visual-data span:nth-child(1) { left:8px;top:8px; }
.model-icon-visual-data span:nth-child(2) { right:8px;top:8px;background:var(--model-icon-accent); }
.model-icon-visual-data span:nth-child(3) { left:8px;bottom:8px;background:var(--model-icon-accent); }
.model-icon-visual-data span:nth-child(4) { right:8px;bottom:8px; }
.model-icon-visual-machine:before { inset:4px;border-radius:10px;border:2px solid rgba(var(--model-icon-rgb),.52);background:radial-gradient(circle at 50% 50%,rgba(var(--model-icon-rgb),.30),transparent 45%); }
.model-icon-visual-machine:after { left:6px;right:6px;top:15px;height:2px;border-radius:999px;background:rgba(255,255,255,.44);box-shadow:0 -7px 0 rgba(var(--model-icon-rgb),.44),0 7px 0 rgba(var(--model-icon-rgb),.44); }
.model-icon-visual-machine span { width:6px;height:6px;border-radius:999px; }
.model-icon-visual-machine span:nth-child(1) { left:5px;top:6px; }
.model-icon-visual-machine span:nth-child(2) { right:5px;top:6px;background:var(--model-icon-accent); }
.model-icon-visual-machine span:nth-child(3) { left:5px;bottom:6px;background:var(--model-icon-accent); }
.model-icon-visual-machine span:nth-child(4) { right:5px;bottom:6px; }
.model-icon-visual-calendar:before { inset:6px;border-radius:7px;border:2px solid rgba(var(--model-icon-rgb),.56);background:linear-gradient(180deg,var(--model-icon-color) 0 32%,transparent 33%); }
.model-icon-visual-calendar:after { left:10px;right:10px;top:16px;height:3px;border-radius:999px;background:var(--model-icon-accent);box-shadow:0 6px 0 rgba(var(--model-icon-rgb),.58); }
.model-icon-visual-pulse:before { left:4px;right:4px;top:15px;height:2px;background:var(--model-icon-color);clip-path:polygon(0 50%,22% 50%,31% 6%,42% 92%,53% 28%,63% 50%,100% 50%,100% 75%,62% 75%,56% 62%,43% 100%,31% 35%,26% 75%,0 75%); }
.model-icon-visual-pulse:after { right:5px;top:6px;width:8px;height:8px;border-radius:999px;background:var(--model-icon-accent);box-shadow:0 0 0 4px rgba(var(--model-icon-rgb),.28); }
.model-icon-visual-orb:before { inset:5px;border-radius:999px;background:conic-gradient(from 140deg,var(--model-icon-color),var(--model-icon-accent),rgba(var(--model-icon-rgb),.16),var(--model-icon-color)); }
.model-icon-visual-orb:after { inset:11px;border-radius:999px;background:var(--card-bg);opacity:.72; }
.model-catalog-main section { min-width:0;display:block;padding:0;background:transparent;border-radius:0;margin:0; }
.model-catalog-main em { margin-left:auto;flex:0 0 auto;padding:5px 8px;border-radius:999px;background:var(--soft-fill);color:var(--lime);font-size:10px;font-style:normal;font-weight:900;white-space:nowrap; }
.model-catalog-main b,.model-catalog-main small,.model-catalog-card p { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.model-catalog-main b { color:var(--text);font-size:17px;letter-spacing:-.35px; }
.model-catalog-main small { margin-top:5px;color:var(--lime);font-size:11px;font-weight:800; }
.model-catalog-card p { margin:11px 0 0;color:var(--muted);font-size:10px;line-height:1.55;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical; }
.model-catalog-card:active { transform:scale(.99); }
.model-catalog-category-goal { --model-icon-color:#1da7ef;--model-icon-rgb:29,167,239;--model-icon-accent:#78e4ff; }
.model-catalog-category-strength { --model-icon-color:#85d92b;--model-icon-rgb:133,217,43;--model-icon-accent:#cbff77; }
.model-catalog-category-market { --model-icon-color:#ef9f2d;--model-icon-rgb:239,159,45;--model-icon-accent:#ffd07b; }
.model-catalog-category-data { --model-icon-color:#8c7cff;--model-icon-rgb:140,124,255;--model-icon-accent:#c8bdff; }
.model-catalog-category-machine { --model-icon-color:#30cfa0;--model-icon-rgb:48,207,160;--model-icon-accent:#8fffe1; }
.model-catalog-card-bivariate_poisson { --model-icon-color:#20c6ff;--model-icon-rgb:32,198,255;--model-icon-accent:#a7efff; }
.model-catalog-card-negative_binomial { --model-icon-color:#8a6dff;--model-icon-rgb:138,109,255;--model-icon-accent:#c7b8ff; }
.model-catalog-card-total_goals_zone { --model-icon-color:#25d3c2;--model-icon-rgb:37,211,194;--model-icon-accent:#a1fff4; }
.model-catalog-card-market,.model-catalog-card-market_divergence,.model-catalog-card-kelly_internal { --model-icon-color:#f1a52d;--model-icon-rgb:241,165,45;--model-icon-accent:#ffdb8a; }
.model-catalog-card-handicap_matrix { --model-icon-color:#ff7358;--model-icon-rgb:255,115,88;--model-icon-accent:#ffc0a8; }
.model-catalog-card-elo,.model-catalog-card-recent_form,.model-catalog-card-attack_defense { --model-icon-color:#7fdc34;--model-icon-rgb:127,220,52;--model-icon-accent:#caff82; }
.model-catalog-card-pi_rating,.model-catalog-card-glicko2,.model-catalog-card-pagerank_strength,.model-catalog-card-spi_power { --model-icon-color:#2ad06f;--model-icon-rgb:42,208,111;--model-icon-accent:#9bffc0; }
.model-catalog-card-random_forest,.model-catalog-card-xgboost_catboost,.model-catalog-card-ordered_logit,.model-catalog-card-svm_classifier { --model-icon-color:#24c7a5;--model-icon-rgb:36,199,165;--model-icon-accent:#94ffe7; }
.model-catalog-card-disabled { opacity:.72;filter:saturate(.58); }
.model-catalog-card-disabled .model-catalog-main > i { border-color:rgba(var(--model-icon-rgb),.20);color:var(--muted);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 6px 14px rgba(0,0,0,.04); }
.model-catalog-card-disabled .model-icon-frame svg { filter:grayscale(.3) contrast(1.08) opacity(.72); }
.model-catalog-card-disabled .model-catalog-main b { color:var(--muted);font-weight:800; }
.model-catalog-card-disabled .model-catalog-main small { color:var(--muted);font-weight:700; }
.model-catalog-card-disabled .model-catalog-main em { color:var(--muted); }
body[data-theme="light"] .model-catalog-card { border-color:rgba(var(--model-icon-rgb),.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 24px rgba(26,45,31,.08); }
body[data-theme="light"] .model-catalog-filter { background:linear-gradient(180deg,var(--bg),rgba(245,247,241,.98));box-shadow:0 11px 18px rgba(35,55,40,.10); }
body[data-theme="light"] .model-catalog-main > i { background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.85),transparent 18%),linear-gradient(145deg,rgba(var(--model-icon-rgb),.28),rgba(var(--model-icon-rgb),.08) 58%,rgba(255,255,255,.36));box-shadow:inset 0 1px 0 rgba(255,255,255,.72),inset 0 -12px 20px rgba(0,0,0,.035),0 10px 20px rgba(var(--model-icon-rgb),.16),0 8px 18px rgba(25,55,36,.08); }
body[data-theme="light"] .model-catalog-card-disabled .model-catalog-main > i { background:linear-gradient(145deg,rgba(225,235,226,.86),rgba(246,250,244,.86));border-color:rgba(126,142,130,.20);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 8px 16px rgba(31,46,35,.05); }
.model-missing-line { margin-top:10px;padding:8px 10px;border-radius:12px;background:var(--soft-fill);color:var(--muted);font-size:10px;line-height:1.45; }
.model-match-board { position:relative;display:grid;gap:10px; }
.model-sticky-stack { position:sticky;top:calc(66px + env(safe-area-inset-top));z-index:40;display:grid;gap:10px;margin:0 -14px;padding:0 14px 10px;background:var(--bg);box-shadow:0 12px 18px rgba(0,0,0,.18);isolation:isolate;transform:translateZ(0);backface-visibility:hidden;will-change:transform;contain:paint; }
.page.model-detail-active { padding-top:calc(66px + env(safe-area-inset-top)); }
.model-detail-active .model-sticky-stack { top:calc(56px + env(safe-area-inset-top));padding-top:0; }
.model-detail-active .model-match-board { margin-top:-8px; }
.model-sticky-stack:before,.model-sticky-stack:after { content:none; }
.model-sticky-info { padding:13px;background:radial-gradient(circle at 12% 0%,var(--accent-soft),transparent 58%),linear-gradient(180deg,var(--surface),var(--surface-2));box-shadow:0 8px 18px rgba(0,0,0,.18); }
.model-sticky-info .model-detail-head { margin-bottom:11px; }
.model-date-card { padding:9px;overflow:hidden;background:linear-gradient(180deg,var(--surface),var(--surface-2));box-shadow:0 8px 16px rgba(0,0,0,.16); }
.model-detail-panel { padding:13px;margin-bottom:10px; }
.model-match-board > .model-detail-panel { margin-top:2px; }
.model-detail-head { display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:11px; }
.model-detail-head span,.model-detail-head p { color:var(--muted);font-size:11px;line-height:1.55; }
.model-detail-head h3 { margin:3px 0 5px;font-size:17px; }
.model-detail-head b { flex:0 0 auto;padding:5px 8px;border-radius:999px;background:var(--success-soft);color:var(--green);font-size:11px; }
.model-capability-list,.model-limit-copy,.model-score-tags,.model-factor-line { display:flex;gap:6px;overflow-x:auto;scrollbar-width:none; }
.model-capability-list::-webkit-scrollbar,.model-limit-copy::-webkit-scrollbar,.model-score-tags::-webkit-scrollbar,.model-factor-line::-webkit-scrollbar { display:none; }
.model-capability-list span { flex:0 0 auto;padding:6px 9px;border-radius:999px;background:var(--accent-soft);color:var(--lime);font-size:11px;font-weight:800; }
.model-limit-copy { margin-top:8px; }
.model-limit-copy span { flex:0 0 auto;color:var(--muted);font-size:8px; }
.model-stat-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0; }
.model-stat-grid div { padding:10px 7px;border-radius:12px;background:var(--soft-fill);border:1px solid var(--tile-border);text-align:center; }
.model-stat-grid span,.model-stat-grid strong,.model-stat-grid small { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.model-stat-grid span,.model-stat-grid small { color:var(--muted);font-size:7px; }
.model-stat-grid strong { margin:4px 0 2px;color:var(--text);font-size:13px; }
.model-section-head { margin:6px 0 9px; }
.model-inline-refresh { margin-left:auto;border:1px solid var(--line);border-radius:999px;background:var(--soft-fill);color:var(--lime);font-size:11px;font-weight:900;padding:5px 9px; }
.model-calculability-note { display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px;padding:9px 10px;border:1px solid var(--line);border-radius:14px;background:rgba(182,246,49,.06);font-size:12px;color:var(--muted); }
.model-calculability-note span { color:var(--accent);font-weight:1000; }
.model-calculability-note b { color:var(--text);font-size:12px; }
.model-calculability-note em { font-style:normal;color:var(--muted); }
.model-match-list { display:grid;gap:7px; }
.model-match-row-pending { opacity:.72; }
.model-match-pending { margin-top:7px;color:var(--muted);font-size:10px;text-align:center; }
.model-match-loading { display:grid;justify-items:center;gap:8px;padding:28px 12px;border:1px dashed var(--line);border-radius:18px;background:var(--soft-fill);text-align:center; }
.model-match-loading i { width:26px;height:26px;border-radius:50%;border:3px solid var(--accent-soft);border-top-color:var(--lime);animation:spin .8s linear infinite; }
.model-match-loading b { color:var(--text);font-size:15px;letter-spacing:.08em; }
.model-match-loading p { margin:0;color:var(--muted);font-size:11px;line-height:1.5; }
.model-match-loading em { position:relative;width:min(220px,76%);height:7px;overflow:hidden;border-radius:999px;background:var(--soft-fill);border:1px solid var(--line); }
.model-match-loading em:before { content:"";position:absolute;inset:0 auto 0 0;width:42%;border-radius:999px;background:linear-gradient(90deg,transparent,var(--lime),var(--green));animation:loadingSlide 1.05s ease-in-out infinite; }
@keyframes loadingSlide { 0% { transform:translateX(-115%); } 100% { transform:translateX(255%); } }
.model-match-row { padding:10px 11px;border-radius:14px;background:linear-gradient(145deg,var(--soft-fill),var(--soft-fill-2)); }
.model-match-row:active { transform:scale(.99); }
.model-match-row-meta { display:flex;align-items:center;gap:6px;margin-bottom:7px;min-width:0;color:var(--muted);font-size:8px; }
.model-match-row-meta span,.model-match-row-meta small { min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.model-match-row-meta span { color:var(--lime);font-weight:800; }
.model-match-row-meta small { flex:1; }
.model-match-row-meta b { flex:0 0 auto;padding:2px 5px;border-radius:999px;background:var(--accent-soft);color:var(--lime);font-size:8px; }
.model-match-row-main { display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);align-items:center;gap:8px;text-align:center; }
.model-match-row-main em { color:var(--muted);font-size:13px;font-style:normal;font-weight:900;letter-spacing:.05em; }
.model-match-row-main em.score-live { color:var(--green); }
.model-match-row-main em.score-finished { color:var(--red); }
.model-match-row-main em.score-default { color:var(--text); }
.model-pull-refresh { position:fixed;left:50%;top:calc(12px + env(safe-area-inset-top));z-index:2000;transform:translate(-50%,-140%);padding:8px 13px;border-radius:999px;background:rgba(8,28,17,.94);border:1px solid var(--line);box-shadow:0 14px 40px rgba(0,0,0,.25);color:var(--lime);font-size:12px;font-weight:1000;opacity:0;transition:transform .18s ease,opacity .18s ease;pointer-events:none; }
.model-pull-refresh.active { opacity:1;transform:translate(-50%,0); }
.model-row-team { min-width:0;display:grid;justify-items:center;gap:5px; }
.model-row-team img { width:34px;height:34px;object-fit:contain;display:block;padding:3px;border-radius:12px;background:var(--team-badge-bg);border:1px solid var(--team-badge-border);box-shadow:var(--team-badge-shadow);filter:drop-shadow(0 1px 1px rgba(0,0,0,.32)); }
.model-row-team .team-badge-placeholder { width:34px;height:34px;border-radius:12px; }
.model-row-team strong { max-width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);font-size:12px; }
.model-match-row .model-row-team-no-badge { min-height:46px;align-content:center; }
.model-match-row .model-row-team-no-badge strong { font-size:14px;line-height:20px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:clip; }
.model-match-hit-row { display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:9px; }
.model-match-hit-row span { padding:4px 7px;border-radius:999px;background:rgba(255,106,106,.14);border:1px solid rgba(255,106,106,.26);color:var(--red);font-size:9px;font-weight:1000; }
.model-match-row-foot { display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;font-size:8px; }
.model-match-row-foot span { color:var(--lime);font-weight:900; }
.model-match-row-foot b { color:var(--muted);font-weight:700; }
.model-match-card { padding:12px; }
.model-match-card:active { transform:scale(.988); }
.model-match-head { display:flex;justify-content:space-between;gap:8px;margin-bottom:10px;color:var(--muted);font-size:11px; }
.model-match-head span { min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.model-match-head b { flex:0 0 auto;color:var(--lime);font-size:11px; }
.model-match-teams { display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:center;text-align:center;gap:8px;margin-bottom:10px; }
.model-match-teams strong { min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);font-size:13px; }
.model-match-teams em { color:var(--text);font-style:normal;font-size:16px;font-weight:900; }
.model-card-summary { display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:7px;margin:-2px 0 10px;padding:8px 9px;border-radius:12px;background:var(--soft-fill-2);border:1px solid var(--line); }
.model-card-summary strong { min-width:0;color:var(--lime);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.model-card-summary span,.model-card-summary small { flex:0 0 auto;color:var(--muted);font-size:8px; }
.model-card-summary span { padding:3px 6px;border-radius:999px;background:var(--soft-fill); }
.model-prob-bars { display:grid;gap:7px; }
.model-prob-row { display:grid;grid-template-columns:34px 1fr 44px;align-items:center;gap:8px;color:var(--muted);font-size:8px; }
.model-prob-row div { height:7px;border-radius:999px;background:var(--bar-bg);overflow:hidden; }
.model-prob-row i { display:block;height:100%;border-radius:inherit;background:var(--lime); }
.model-prob-row b { text-align:right;color:var(--text);font-size:11px; }
.model-prob-home i { background:var(--green); }
.model-prob-draw i { background:var(--amber); }
.model-prob-away i { background:var(--red); }
.model-readiness-line { display:flex;align-items:center;gap:7px;margin:-2px 0 10px;min-width:0; }
.model-readiness-line small { min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:8px; }
.model-readiness-pill { flex:0 0 auto;padding:4px 7px;border-radius:999px;background:var(--soft-fill);font-size:8px;font-weight:900; }
.readiness-strong { color:var(--green);background:var(--success-soft); }
.readiness-usable { color:var(--lime);background:var(--accent-soft); }
.readiness-weak,.readiness-unavailable { color:var(--amber);background:rgba(255,193,7,.12); }
.model-score-tags { margin-top:10px; }
.model-score-tags span { flex:0 0 auto;padding:5px 8px;border-radius:999px;background:var(--soft-fill);color:var(--text);font-size:8px; }
.model-score-tags b { color:var(--lime); }
.model-factor-line { margin-top:8px; }
.model-factor-line span { flex:0 0 auto;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:8px; }
.model-performance-empty { margin:8px 0 12px;padding:10px;border-radius:12px;background:var(--soft-fill-2);border:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.5; }
.model-date-strip { display:grid;grid-auto-flow:column;grid-auto-columns:minmax(70px,1fr);gap:6px;overflow-x:auto;scrollbar-width:none;margin:0;padding-bottom:0; }
.model-date-strip::-webkit-scrollbar { display:none; }
.model-date-strip button { border:1px solid var(--line);background:var(--soft-fill-2);color:var(--muted);border-radius:13px;padding:8px 5px;text-align:center; }
.model-date-strip span,.model-date-strip b,.model-date-strip small { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.model-date-strip span { font-size:8px; }
.model-date-strip b { margin:2px 0;color:var(--text);font-size:13px; }
.model-date-strip small { font-size:7px; }
.model-date-strip button.active { background:var(--lime);border-color:var(--lime);color:var(--accent-on); }
.model-date-strip button.active b { color:var(--accent-on); }
.model-performance-panel { margin:8px 0 12px; }
.model-replay-list { display:grid;gap:6px; }
.model-replay-row { display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border-radius:10px;background:var(--soft-fill-2);border:1px solid var(--line); }
.model-replay-row span { min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);font-size:11px;font-weight:700; }
.model-replay-row b { flex:0 0 auto;font-size:8px; }
.model-replay-row b.hit { color:var(--green); }
.model-replay-row b.miss { color:var(--muted-danger); }
.model-performance-note { margin:8px 1px 0;color:var(--muted);font-size:8px;line-height:1.5; }
.model-result-page { display:grid;gap:10px; }
.model-result-hero { padding:13px;background:linear-gradient(145deg,var(--card-bg),var(--soft-fill-2)); }
.model-result-match-card { padding:13px;background:radial-gradient(circle at 50% -20%,var(--accent-soft),transparent 62%),linear-gradient(145deg,var(--card-bg),var(--soft-fill-2)); }
.model-result-match-card p { margin:10px 0 0;color:var(--muted);font-size:11px;line-height:1.5;text-align:center; }
.model-result-teams { display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:center;gap:10px;text-align:center; }
.model-result-teams div { min-width:0;display:grid;justify-items:center;gap:6px; }
.model-result-teams img { width:44px;height:44px;object-fit:contain;display:block;padding:4px;border-radius:14px;background:var(--team-badge-bg);border:1px solid var(--team-badge-border);box-shadow:var(--team-badge-shadow);filter:drop-shadow(0 1px 1px rgba(0,0,0,.32)); }
.model-result-teams strong { max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);font-size:13px; }
.model-result-teams em { color:var(--text);font-style:normal;font-size:18px;font-weight:1000;letter-spacing:.04em; }
.model-result-teams em.score-live { color:var(--green); }
.model-result-teams em.score-finished { color:var(--red); }
.model-result-center { min-width:0;display:grid;justify-items:center;gap:6px; }
.model-result-odds-row { display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:center;justify-items:center;gap:10px;margin-top:6px; }
.model-result-odd { min-width:38px;padding:3px 8px;border-radius:999px;background:rgba(183,255,49,.13);border:1px solid rgba(183,255,49,.18);color:var(--lime);font-size:11px;font-weight:1000;line-height:1;text-align:center; }
.model-core-result-panel { display:grid;gap:10px; }
.model-result-mini { display:grid;gap:7px; }
.model-result-mini h4 { margin:0;color:var(--text);font-size:12px;letter-spacing:.08em; }
.detail-model-list { display:grid;gap:8px; }
.detail-model-row { width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:13px;background:var(--tile-bg);text-align:left;color:var(--text); }
.detail-model-row div { min-width:0;display:grid;gap:4px; }
.detail-model-row b,.detail-model-row span { min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.detail-model-row b { color:var(--text);font-size:12px; }
.detail-model-row span { color:var(--muted);font-size:11px; }
.detail-model-row em { justify-self:end;padding:5px 8px;border-radius:999px;background:var(--accent-soft);color:var(--lime);font-size:8px;font-style:normal;font-weight:900; }
.detail-model-row strong { grid-column:1 / -1;color:var(--text);font-size:11px;font-weight:800; }
.detail-model-row.disabled { opacity:.58; }
.detail-model-row.disabled em { color:var(--muted);background:var(--soft-fill); }
.model-summary-card { padding:14px;background:radial-gradient(circle at 14% 0%,var(--accent-soft),transparent 55%),var(--card-bg); }
.model-summary-head { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px; }
.model-summary-head span { color:var(--muted);font-size:11px;font-weight:800; }
.model-summary-head b { color:var(--lime);font-size:18px;white-space:nowrap; }
.model-summary-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:10px; }
.model-summary-grid.compact { margin:10px 0 0; }
.model-summary-grid div { padding:8px 5px;border:1px solid var(--line);border-radius:11px;background:var(--soft-fill);text-align:center; }
.model-summary-grid span,.model-summary-grid strong { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.model-summary-grid span { color:var(--muted);font-size:7px; }
.model-summary-grid strong { margin-top:3px;color:var(--text);font-size:10px; }
.model-summary-card p { margin:0 0 10px;color:var(--text);font-size:10px;line-height:1.65; }
.model-summary-factors { display:flex;gap:6px;overflow-x:auto;scrollbar-width:none; }
.model-summary-factors::-webkit-scrollbar { display:none; }
.model-summary-factors span { flex:0 0 auto;max-width:245px;padding:5px 8px;border-radius:999px;background:var(--soft-fill-2);color:var(--muted);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.model-score-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:7px; }
.model-score-grid div { padding:10px 8px;border-radius:12px;background:var(--soft-fill);border:1px solid var(--tile-border);text-align:center; }
.model-score-grid strong,.model-score-grid span { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.model-score-grid strong { color:var(--text);font-size:15px; }
.model-score-grid span { margin-top:4px;color:var(--lime);font-size:11px; }
.model-score-grid div.model-hit,
.model-total-goals div.model-hit,
.matrix-cell.model-hit { border-color:rgba(255,106,106,.55);background:linear-gradient(145deg,rgba(255,106,106,.18),rgba(255,255,255,.035));box-shadow:0 0 0 1px rgba(255,106,106,.14) inset; }
.model-score-grid div.model-hit strong,
.model-score-grid div.model-hit span,
.model-total-goals div.model-hit span,
.model-total-goals div.model-hit b,
.matrix-cell.model-hit b,
.matrix-cell.model-hit span { color:var(--red); }
.model-score-grid div em,
.model-total-goals div em { display:block;margin-top:4px;color:var(--red);font-size:8px;font-style:normal;font-weight:1000; }
.model-total-goals { display:grid;grid-template-columns:repeat(4,1fr);gap:6px; }
.model-total-goals.full { grid-template-columns:repeat(4,minmax(0,1fr)); }
.model-total-goals div { padding:8px 6px;border-radius:10px;background:var(--soft-fill-2);text-align:center; }
.model-total-goals span,.model-total-goals b { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.model-total-goals span { color:var(--muted);font-size:8px; }
.model-total-goals b { margin-top:3px;color:var(--text);font-size:11px; }
.model-score-matrix { display:grid;grid-template-columns:42px repeat(7,52px);gap:4px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px; }
.model-score-matrix-compact { grid-template-columns:repeat(5,minmax(0,1fr));overflow-x:visible; }
.model-score-matrix::-webkit-scrollbar { display:none; }
.matrix-corner,.matrix-head,.matrix-cell { min-width:0;border-radius:9px;text-align:center; }
.matrix-corner,.matrix-head { padding:8px 4px;background:var(--soft-fill-2);color:var(--muted);font-size:8px;font-weight:900; }
.matrix-cell { padding:7px 4px;border:1px solid var(--tile-border);background:var(--soft-fill); }
.matrix-cell b,.matrix-cell span { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.matrix-cell b { color:var(--text);font-size:11px; }
.matrix-cell span { margin-top:3px;color:var(--muted);font-size:7px; }
.matrix-cell.home span { color:var(--green); }
.matrix-cell.draw span { color:var(--amber); }
.matrix-cell.away span { color:var(--red); }
.matrix-other-row { margin-top:8px;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--tile-border);border-radius:12px;background:var(--soft-fill); }
.matrix-other-row span { color:var(--muted);font-size:12px;font-weight:800; }
.matrix-other-row b { color:var(--accent);font-size:13px; }
.model-factor-block { display:grid;gap:6px; }
.model-factor-block p { margin:0;padding:8px 9px;border-radius:10px;background:var(--soft-fill-2);color:var(--muted);font-size:11px;line-height:1.5; }
.model-explain-list,.model-scope-group { display:grid;gap:7px; }
.model-audit-mini { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:10px; }
.model-audit-mini div { padding:9px 8px;border-radius:11px;background:var(--soft-fill);border:1px solid var(--tile-border);text-align:center; }
.model-audit-mini span,.model-audit-mini b { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.model-audit-mini span { color:var(--muted);font-size:7px; }
.model-audit-mini b { margin-top:4px;color:var(--text);font-size:12px; }
.model-explain-list div,.model-scope-group div { padding:9px 10px;border-radius:11px;background:var(--soft-fill-2);border:1px solid var(--line); }
.model-explain-list span,.model-scope-group span { display:block;color:var(--lime);font-size:8px;font-weight:900;margin-bottom:4px; }
.model-explain-list p,.model-scope-group p { margin:0;color:var(--muted);font-size:11px;line-height:1.5; }
.model-scope-group { margin-top:10px; }
.model-scope-group h4 { margin:0;color:var(--text);font-size:12px; }
.model-scope-group.muted span { color:var(--muted); }
.model-formula-card { margin-bottom:10px;padding:10px;border-radius:12px;background:var(--accent-soft);border:1px solid var(--line); }
.model-formula-card strong,.model-formula-card span { display:block; }
.model-formula-card strong { color:var(--lime);font-size:12px;letter-spacing:.2px; }
.model-formula-card span { margin-top:5px;color:var(--muted);font-size:8px;line-height:1.5; }
.model-variable-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px; }
.model-variable-row { min-width:0;padding:9px 8px;border-radius:11px;background:var(--soft-fill);border:1px solid var(--tile-border); }
.model-variable-row span,.model-variable-row b,.model-variable-row small { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.model-variable-row span { color:var(--muted);font-size:7px; }
.model-variable-row b { margin:4px 0 2px;color:var(--text);font-size:13px; }
.model-variable-row small { color:var(--muted);font-size:7px; }
.model-boundary-block { margin-top:10px; }
.model-readiness-card { padding: 13px; border-color: var(--accent-soft); background: linear-gradient(145deg,var(--tile-bg),var(--soft-fill-2)); }
.model-readiness-head { display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px; }
.model-readiness-head span,.model-readiness-head small { display:block;color:var(--muted);font-size:8px; }
.model-readiness-head h3 { margin:3px 0;font-size:15px;line-height:1.25; }
.model-readiness-head b { flex:0 0 auto;padding:5px 8px;border-radius:999px;background:var(--soft-fill);font-size:11px; }
.model-status-ready { color:var(--green); }
.model-status-partial { color:var(--amber); }
.model-status-missing { color:var(--muted-danger); }
.model-audit-copy { margin:6px 0 0;color:var(--muted);font-size:11px;line-height:1.55; }
.model-audit-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0; }
.model-audit-grid div { padding:9px 7px;border-radius:11px;background:var(--soft-fill);border:1px solid var(--tile-border);text-align:center; }
.model-audit-grid span,.model-audit-grid strong,.model-audit-grid small { display:block; }
.model-audit-grid span,.model-audit-grid small { color:var(--muted);font-size:7px; }
.model-audit-grid strong { margin:4px 0 2px;font-size:17px;color:var(--text); }
.model-product-summary { display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-bottom:10px; }
.model-product-row { display:flex;align-items:center;justify-content:space-between;gap:5px;padding:8px;border-radius:10px;background:var(--soft-fill-2);border:1px solid var(--line); }
.model-product-row span { color:var(--text);font-size:11px;font-weight:700; }
.model-product-row b { color:var(--lime);font-size:10px; }
.model-product-row em { color:var(--muted);font-size:7px;font-style:normal; }
.model-workbench { display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0; }
.model-workbench-col { min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--soft-fill-2);overflow:hidden; }
.model-workbench-head { display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px;border-bottom:1px solid var(--line); }
.model-workbench-head span { color:var(--muted);font-size:7px; }
.model-workbench-head b { color:var(--text);font-size:13px; }
.model-workbench-ready .model-workbench-head b { color:var(--green); }
.model-workbench-review .model-workbench-head b { color:var(--lime); }
.model-workbench-blocked .model-workbench-head b { color:var(--amber); }
.model-workbench-row { padding:7px 8px;border-bottom:1px solid var(--line); }
.model-workbench-row:last-child { border-bottom:0; }
.model-workbench-row strong,.model-workbench-row small { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.model-workbench-row strong { color:var(--text);font-size:8px; }
.model-workbench-row small { margin-top:3px;color:var(--muted);font-size:7px; }
.model-workbench-empty { padding:16px 6px;text-align:center;color:var(--muted);font-size:8px; }
.model-backfill-plan { margin:10px 0;padding:9px;border:1px solid var(--warning-soft);border-radius:12px;background:linear-gradient(145deg,var(--warning-soft),var(--soft-fill-2)); }
.model-backfill-head { display:flex;align-items:center;justify-content:space-between;margin-bottom:6px; }
.model-backfill-head span { color:var(--amber);font-size:11px;font-weight:800; }
.model-backfill-head b { color:var(--amber);font-size:16px; }
.model-backfill-row { display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--line); }
.model-backfill-row:first-of-type { border-top:0; }
.model-backfill-row strong,.model-backfill-row small { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.model-backfill-row strong { color:var(--text);font-size:8px; }
.model-backfill-row small { margin-top:3px;color:var(--muted);font-size:7px; }
.model-backfill-row em { color:var(--amber);font-style:normal;font-size:8px;white-space:nowrap; }
.model-matrix { margin:10px 0;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--soft-fill-2); }
.model-matrix-row { display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--line); }
.model-matrix-row:first-of-type { border-top:0; }
.model-matrix-row span b,.model-matrix-row span small { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.model-matrix-row span b { color:var(--text);font-size:8px; }
.model-matrix-row span small { margin-top:3px;color:var(--muted);font-size:7px; }
.model-matrix-row em { font-style:normal;font-size:8px;white-space:nowrap;color:var(--muted); }
.matrix-prematch em { color:var(--green); }
.matrix-prematch_optional em { color:var(--lime); }
.matrix-postmatch_only em,.matrix-review_only em { color:var(--amber); }
.matrix-unstable em { color:var(--muted-danger); }
.model-field-list { display:grid;gap:7px;margin-top:8px; }
.model-field-row { display:grid;grid-template-columns:62px 1fr 42px;align-items:center;gap:8px;font-size:8px;color:var(--muted); }
.model-field-row span { color:var(--text);font-weight:700; }
.model-field-row b { text-align:right;color:var(--muted);font-size:8px; }
.model-field-bar { height:6px;overflow:hidden;border-radius:999px;background:var(--bar-bg); }
.model-field-bar i { display:block;height:100%;border-radius:inherit;background:var(--muted); }
.model-field-ready .model-field-bar i { background:var(--green); }
.model-field-partial .model-field-bar i { background:var(--amber); }
.model-field-missing .model-field-bar i { background:var(--muted-danger); }
.model-risk-list { margin-top:10px;padding-top:9px;border-top:1px solid var(--line); }
.model-risk-list span { display:block;margin-bottom:6px;color:var(--muted);font-size:8px; }
.model-risk-list p { display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:6px 0;border-bottom:1px solid var(--line);color:var(--text);font-size:8px; }
.model-risk-list p:last-child { border-bottom:0; }
.model-risk-list b { color:var(--amber);font-weight:700; }
.model-audit-error { border-color:var(--danger-soft); }
.notice { margin: 16px 2px 0; padding: 11px 12px; border-left: 2px solid var(--amber); background: var(--warning-soft); }
.notice b { color: var(--amber); font-size: 10px; }
.notice p { color: var(--muted); font-size:11px; margin: 4px 0 0; line-height: 1.5; }
.quality-hero { display: flex; justify-content: space-between; align-items: center; margin: 4px 0 12px; padding: 16px; border-radius: 16px; background: var(--success-soft); border: 1px solid var(--success-soft); }
.quality-hero > div span,.quality-hero > div strong,.quality-hero > div small,.quality-hero > b small { display: block; }
.quality-hero span,.quality-hero small { color: var(--muted); font-size:11px; }
.quality-hero strong { margin: 4px 0; font-size: 20px; color: var(--green); }
.quality-hero > b { text-align: right; color: var(--lime); font-size: 24px; }
.quality-hero > b small { margin-top: 2px; font-size: 8px; font-weight: 500; }
.quality-hero.quality-warning { background: var(--warning-soft); border-color: var(--warning-soft); }
.quality-hero.quality-warning strong { color: var(--amber); }
.quality-hero.quality-degraded { background: var(--danger-soft); border-color: var(--danger-soft); }
.quality-hero.quality-degraded strong { color: var(--muted-danger); }
.quality-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-bottom: 10px; }
.quality-grid div { padding: 11px; border: 1px solid var(--line); border-radius: 13px; background: var(--soft-fill-2); }
.quality-grid span,.quality-grid strong { display: block; }
.quality-grid span { color: var(--muted); font-size: 8px; }
.quality-grid strong { margin-top: 4px; font-size: 17px; }
.quality-error { color: var(--muted-danger); }.quality-warning { color: var(--amber); }.quality-ok { color: var(--green); }
.audit-summary-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:8px; }
.audit-summary-grid div { padding:9px 7px;border-radius:10px;background:var(--soft-fill-2);text-align:center;border:1px solid var(--tile-border); }
.audit-summary-grid span,.audit-summary-grid b { display:block; }
.audit-summary-grid span { color:var(--muted);font-size:7px; }
.audit-summary-grid b { margin-top:4px;color:var(--text);font-size:13px; }
.data-foundation-overview { border:1px solid var(--accent-soft);background:linear-gradient(145deg,var(--soft-fill),var(--soft-fill-2)); }
.data-foundation-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:9px; }
.data-foundation-card { min-height:78px;padding:9px;border-radius:11px;border:1px solid var(--line);background:var(--tile-bg); }
.data-foundation-card b,.data-foundation-card span,.data-foundation-card small,.data-foundation-card em { display:block; }
.data-foundation-card b { color:var(--text);font-size:11px; }
.data-foundation-card span { margin-top:4px;color:var(--muted);font-size:8px; }
.data-foundation-card small { margin-top:4px;color:var(--lime);font-size:7px;line-height:1.35; }
.data-foundation-card em { margin-top:4px;color:var(--muted);font-size:7px;font-style:normal;line-height:1.35; }
.data-foundation-card.audit-ready { border-color:var(--success-soft);background:linear-gradient(145deg,var(--success-soft),var(--tile-bg)); }
.data-foundation-card.audit-missing { border-color:var(--warning-soft); }
.data-foundation-card.audit-unreliable { border-color:var(--warning-soft);background:var(--warning-soft); }
.binding-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:0 0 8px; }
.binding-grid div { min-width:0;padding:8px;border-radius:9px;background:var(--soft-fill); }
.binding-grid span,.binding-grid b { display:block; }
.binding-grid span { color:var(--muted);font-size:7px; }
.binding-grid b { margin-top:4px;color:var(--text);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.binding-warnings { display:grid;gap:5px;margin:0 0 8px; }
.binding-warnings span { padding:7px 8px;border-radius:8px;background:var(--warning-soft);color:var(--amber);font-size:8px;line-height:1.45; }
.audit-row { display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:10px 0;border-top:1px solid var(--line); }
.audit-row span b,.audit-row span small { display:block; }
.audit-row span b { color:var(--text);font-size:11px; }
.audit-row span small { margin-top:3px;color:var(--muted);font-size:7px;line-height:1.45; }
.audit-row em { padding:4px 7px;border-radius:999px;background:var(--soft-fill-2);color:var(--muted);font-style:normal;font-size:8px;white-space:nowrap; }
.audit-ready em { color:var(--green);background:var(--success-soft); }
.audit-empty em { color:var(--muted);background:var(--soft-fill-2); }
.audit-missing em,.audit-unavailable em { color:var(--amber);background:var(--warning-soft); }
.audit-unreliable em { color:var(--red);background:rgba(255,107,107,.12); }
.quota-track { height: 5px; overflow: hidden; margin: 8px 0 10px; border-radius: 99px; background: var(--bar-bg); }
.quota-track i { display: block; height: 100%; border-radius: inherit; background: var(--green); }
.quality-match { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; }
.quality-match:last-child { border-bottom: 0; }.quality-match span b,.quality-match span small { display: block; }
.quality-match span b { font-size: 10px; }.quality-match span small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.quality-match > strong { color: var(--amber); font-size: 12px; }
.acceptance-match { width:100%;display:grid;gap:8px;padding:10px 0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left; }
.acceptance-match:last-child { border-bottom:0; }.acceptance-match div:first-child b,.acceptance-match div:first-child small { display:block; }
.acceptance-match div:first-child b { font-size:10px; }.acceptance-match div:first-child small { margin-top:3px;color:var(--muted);font-size:8px; }
.acceptance-checks { display:grid;grid-template-columns:repeat(2,1fr);gap:4px; }.acceptance-checks span { padding:5px 6px;border-radius:6px;background:var(--soft-fill);color:var(--muted);font-size:7px; }
.acceptance-checks .check-ready { color:var(--green);background:var(--success-soft); }.acceptance-checks .check-missing { color:var(--muted-danger); }.acceptance-checks .check-waiting { color:var(--amber); }
.audit-match { width:100%;display:grid;gap:8px;padding:10px 0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left; }
.audit-match:last-child { border-bottom:0; }
.audit-match div:first-child b,.audit-match div:first-child small { display:block; }
.audit-match div:first-child b { font-size:10px; }
.audit-match div:first-child small { margin-top:3px;color:var(--muted);font-size:8px; }
.audit-match > div:nth-child(2) { display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font-size:8px; }
.audit-match > div:nth-child(2) strong { color:var(--amber);font-size:12px; }
.audit-ready > div:nth-child(2) strong { color:var(--green); }
.worldcup-hero { min-height: 164px; position: relative; overflow: hidden; border-radius: 24px; padding: 18px; background: radial-gradient(circle at 15% 8%,rgba(184,240,60,.28),transparent 38%),linear-gradient(135deg,rgba(24,62,42,.96),rgba(11,42,29,.98)); color: var(--text); border:1px solid var(--line); box-shadow: var(--shadow); }
.hero-copy { position: relative; z-index: 2; }
.hero-copy h2 { font-size: 24px; line-height: 1.14; margin: 12px 0 8px; letter-spacing:.02em; }
.hero-copy p { max-width:250px;color:var(--muted);font-size:11px;line-height:1.65;font-weight: 600; }
.primary-button { border: 0; border-radius: 10px; background: var(--primary-button-bg); color:var(--primary-button-text); padding: 10px 13px; font-size: 10px; font-weight: 700; }
.hero-ball { position: absolute; width: 142px; height: 142px; right: -35px; bottom: -42px; border: 22px solid rgba(184,240,60,.13); border-radius: 50%; display: grid; place-items: center; color: rgba(184,240,60,.28); font-size: 58px; font-weight: 900; transform: rotate(-16deg); }
.feature-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; }
.feature-grid button { border: 1px solid var(--line); background: linear-gradient(180deg,var(--card-bg),var(--surface)); padding: 12px 5px; border-radius: 16px; box-shadow:0 10px 22px rgba(0,0,0,.12); }
.feature-grid i,.feature-grid b,.feature-grid span { display: block; font-style: normal; }
.feature-grid i { width:32px;height:32px;margin:0 auto;display:grid;place-items:center;border-radius:12px;background:var(--accent-soft);color: var(--lime); font-size: 18px;font-weight:900; }
.feature-grid b { color:var(--text);font-size: 11px; margin: 7px 0 2px; }
.feature-grid span { color: var(--muted); font-size: 9px; }
.spotlight { padding: 13px; }
.spotlight-top,.spotlight-footer { display: flex; align-items: center; justify-content: space-between; font-size:11px; color: var(--muted); }
.spotlight-teams { display: grid; grid-template-columns: 1fr 70px 1fr; margin: 16px 0; align-items: center; text-align: center; }
.spotlight-teams div { display: grid; gap: 3px; }
.spotlight-teams .flag { font-size: 27px; }
.spotlight-teams b { font-size: 12px; }.spotlight-teams small { font-size: 8px; color: var(--muted); }
.spotlight-teams strong { font-size: 23px; }.spotlight-teams strong span { color: var(--muted); font-size: 14px; }
.spotlight-footer { background: var(--soft-fill); margin: 0 -4px -4px; padding: 8px; border-radius: 10px; }
.spotlight-footer b { color: var(--lime); }
.worldcup-spotlight { background:radial-gradient(circle at 50% 0%,var(--accent-soft),transparent 68%),var(--card-bg); }
.worldcup-spotlight .spotlight-teams img { width:42px;height:42px;object-fit:contain;margin:0 auto 4px;display:block;padding:4px;border-radius:14px;background:var(--team-badge-bg);border:1px solid var(--team-badge-border);box-shadow:var(--team-badge-shadow);filter:drop-shadow(0 1px 1px rgba(0,0,0,.32)); }
.worldcup-spotlight .spotlight-teams .flag,
.worldcup-spotlight .spotlight-teams div > span { width:40px;height:40px;margin:0 auto 4px;border-radius:13px;display:grid;place-items:center;background:var(--soft-fill);color:var(--lime);font-size:15px;font-weight:900; }
.worldcup-prob-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px; }
.worldcup-prob-grid div { border:1px solid var(--line);border-radius:12px;background:var(--soft-fill);padding:8px 6px;text-align:center; }
.worldcup-prob-grid span { display:block;color:var(--muted);font-size:8px; }
.worldcup-prob-grid b { display:block;margin-top:3px;font-size:13px;color:var(--text); }
.worldcup-prob-empty,.worldcup-empty-copy { color:var(--muted);font-size:10px;line-height:1.7;padding:12px; }
.worldcup-nav-summary { display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0 0 10px;padding:8px;background:var(--card-bg); }
.worldcup-nav-summary div { min-width:0;padding:10px 5px;border-radius:13px;background:var(--soft-fill);text-align:center;border:1px solid var(--line); }
.worldcup-nav-summary span,.worldcup-nav-summary b { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.worldcup-nav-summary span { color:var(--muted);font-size:9px; }
.worldcup-nav-summary b { margin-top:4px;color:var(--lime);font-size:14px;font-weight:900; }
.worldcup-poster-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:12px; }
.worldcup-poster-card { border:1px solid var(--line);padding:14px;text-align:left;background:radial-gradient(circle at 15% 8%,var(--accent-soft),transparent 52%),var(--card-bg); }
.worldcup-poster-card span,.worldcup-poster-card b,.worldcup-poster-card small { display:block; }
.worldcup-poster-card span { color:var(--lime);font-size:10px;font-weight:900;letter-spacing:.08em; }
.worldcup-poster-card b { margin-top:8px;color:var(--text);font-size:16px;line-height:1.25; }
.worldcup-poster-card small { margin-top:8px;color:var(--muted);font-size:10px;line-height:1.6; }
.worldcup-schedule { padding:6px 12px; overflow:hidden; }
.worldcup-date-block { border-bottom:1px solid var(--line);padding:7px 0; }
.worldcup-date-block:last-child { border-bottom:0; }
.worldcup-date-head { display:flex;align-items:center;justify-content:space-between;margin:0 0 3px;padding:6px 2px 5px; }
.worldcup-date-head div { display:flex;align-items:baseline;gap:7px; }
.worldcup-date-head b { color:var(--text);font-size:15px;letter-spacing:.02em; }
.worldcup-date-head span { color:var(--lime);font-size:10px;font-weight:900; }
.worldcup-date-head em { color:var(--muted);font-size:10px;font-style:normal;font-weight:800; }
.worldcup-schedule-full { margin:0;background:transparent;box-shadow:none;border:0; }
.worldcup-match-row { width:100%;display:grid;grid-template-columns:94px 1fr 76px;gap:8px;align-items:center;border:0;border-bottom:1px solid var(--line);background:transparent;padding:13px 2px;text-align:left; }
.worldcup-match-row:last-child { border-bottom:0; }
.worldcup-match-row span b,.worldcup-match-row span small { display:block; }
.worldcup-match-row span b { color:var(--lime);font-size:12px; }
.worldcup-match-row span small { margin-top:3px;color:var(--muted);font-size:10px; }
.worldcup-match-row strong { min-width:0;color:var(--text);font-size:13px;line-height:1.5; }
.worldcup-match-row em { display:inline-block;min-width:34px;text-align:center;font-style:normal;font-size:14px;font-weight:900; }
.worldcup-match-row i { color:var(--muted);font-size:10px;font-style:normal;text-align:right;line-height:1.4; }
.worldcup-table-source { overflow:hidden; }
.worldcup-table-source .worldcup-note { margin:8px 0 10px;color:var(--muted);font-size:11px;line-height:1.6; }
.worldcup-notice { margin-top:10px; }
.worldcup-groups-grid { display:grid;gap:10px;margin:0 0 14px; }
.worldcup-group-card { padding:12px;overflow:hidden; }
.worldcup-group-head { display:flex;align-items:center;justify-content:space-between;margin-bottom:9px; }
.worldcup-group-head b { display:block;color:var(--text);font-size:15px; }
.worldcup-group-head span { display:block;margin-top:3px;color:var(--muted);font-size:8px; }
.worldcup-group-head em { font-style:normal;color:var(--lime);font-size:11px;font-weight:900;padding:5px 8px;border-radius:999px;background:var(--accent-soft); }
.worldcup-team-logo { flex:0 0 auto;width:44px;height:44px;border-radius:14px;border:1px solid var(--team-badge-border);background:var(--team-badge-bg);box-shadow:var(--team-badge-shadow);display:grid;place-items:center;overflow:hidden; }
.worldcup-team-logo img { width:34px;height:34px;object-fit:contain;display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.32)); }
.worldcup-team-logo > span { width:100%;height:100%;margin:0;display:grid;place-items:center;color:var(--lime);font-size:14px;font-weight:900;background:transparent; }
.worldcup-group-table { border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--soft-fill); }
.worldcup-group-row { display:grid;grid-template-columns:34px 1fr 28px 38px 34px;gap:5px;align-items:center;min-height:42px;padding:8px 9px;border-bottom:1px solid var(--line);font-size:10px; }
.worldcup-group-row:last-child { border-bottom:0; }
.worldcup-group-row > span { color:var(--muted);font-weight:900;text-align:center; }
.worldcup-group-row > strong { min-width:0;display:flex;align-items:center;gap:7px;color:var(--text); }
.worldcup-group-row > strong img,
.worldcup-group-row > strong > span { flex:0 0 auto;width:24px;height:24px;object-fit:contain;border-radius:8px;display:grid;place-items:center;background:transparent;color:var(--lime);font-size:10px;font-weight:900; }
.worldcup-group-row > strong b { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px; }
.worldcup-group-row > strong small { flex:0 0 auto;color:var(--muted);font-size:7px;border:1px solid var(--line);border-radius:999px;padding:2px 5px; }
.worldcup-group-row > i { color:var(--text);font-style:normal;text-align:center;font-weight:800; }
.worldcup-group-title { min-height:30px;background:rgba(255,255,255,.03); }
.worldcup-group-title strong,.worldcup-group-title i,.worldcup-group-title span { color:var(--muted);font-size:8px;font-weight:800; }
.worldcup-group-advance { background:linear-gradient(90deg,rgba(184,240,60,.12),transparent 70%); }
.worldcup-group-advance > span { color:var(--lime); }
.worldcup-group-chasing > strong small { color:#f2c94c; }
.worldcup-group-risk > strong small { color:var(--muted); }
.worldcup-advance-strip { margin-top:9px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:8px; }
.worldcup-advance-strip span { color:var(--lime);font-weight:900;padding:4px 8px;border-radius:999px;background:var(--accent-soft); }
.worldcup-advance-strip i { font-style:normal;color:var(--muted); }
.worldcup-bracket-card { padding:13px;margin-bottom:14px;background:radial-gradient(circle at 8% 0%,var(--accent-soft),transparent 45%),var(--card-bg); }
.worldcup-bracket-head { display:flex;align-items:center;justify-content:space-between;margin-bottom:10px; }
.worldcup-bracket-head span { color:var(--lime);font-size:8px;font-weight:900;letter-spacing:.08em; }
.worldcup-bracket-head h3 { margin:3px 0 0;color:var(--text);font-size:15px; }
.worldcup-bracket-head b { color:var(--lime);font-size:18px; }
.worldcup-bracket-flow { display:grid;gap:8px; }
.worldcup-bracket-pair { display:grid;grid-template-columns:1fr 34px 1fr;align-items:center;gap:7px;padding:9px;border-radius:14px;border:1px solid var(--line);background:var(--soft-fill); }
.worldcup-bracket-pair span { min-width:0;color:var(--text);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.worldcup-bracket-pair span:last-child { text-align:right; }
.worldcup-bracket-pair small { display:block;margin-bottom:2px;color:var(--muted);font-size:8px;font-weight:800; }
.worldcup-bracket-pair b { height:28px;border-radius:999px;display:grid;place-items:center;background:var(--accent-soft);color:var(--lime);font-size:11px; }
.worldcup-bracket-card p { margin:10px 0 0;color:var(--muted);font-size:11px;line-height:1.6; }
.worldcup-advance-board { padding:13px;margin-bottom:14px; }
.worldcup-board-head { display:flex;align-items:center;justify-content:space-between;margin-bottom:10px; }
.worldcup-board-head b { color:var(--text);font-size:15px; }
.worldcup-board-head span { color:var(--muted);font-size:10px; }
.worldcup-advance-list { display:grid;grid-template-columns:repeat(2,1fr);gap:7px; }
.worldcup-advance-list div { min-width:0;display:grid;grid-template-columns:28px 30px 1fr auto;gap:6px;align-items:center;padding:8px;border-radius:13px;background:var(--soft-fill);border:1px solid var(--line); }
.worldcup-advance-list img,
.worldcup-advance-list div > span:first-child { width:24px;height:24px;object-fit:contain;border-radius:8px;display:grid;place-items:center;background:transparent;color:var(--lime);font-weight:900; }
.worldcup-advance-list div > span { color:var(--lime);font-size:9px;font-weight:900; }
.worldcup-advance-list b { min-width:0;color:var(--text);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.worldcup-advance-list em { color:var(--muted);font-size:9px;font-style:normal; }
.standings { padding: 5px 12px; }
.standings > div { display: grid; grid-template-columns: 25px 1fr 30px 38px 30px; align-items: center; min-height: 36px; border-bottom: 1px solid var(--line); font-size: 10px; }
.standings > div:last-child { border:0; }
.standings-title { color: var(--muted); font-size: 8px !important; }
.standings strong { color: var(--lime); }
.profile-card { display: grid; grid-template-columns: 52px minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 16px; margin-bottom: 10px; }
.profile-login-entry { min-width:0;display:block;text-align:left;border:0;background:transparent;color:inherit;padding:0; }
.profile-login-entry h2,
.profile-login-entry p { pointer-events:none; }
.avatar { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 18px; background: linear-gradient(145deg,var(--lime),var(--green)); color: var(--accent-on); font-size: 20px; font-weight: 800; }
.profile-avatar-button { border:0;padding:0;overflow:hidden;box-shadow:0 8px 18px rgba(0,0,0,.12); }
.profile-avatar-button img,
.profile-edit-avatar img { width:100%;height:100%;object-fit:cover;display:block; }
.profile-card h2 { font-size: 15px; }.profile-card p { color: var(--muted); font-size:11px; margin: 4px 0 0; }
.profile-access-badge { min-width:58px;display:grid;justify-items:center;gap:2px;padding:2px 0;text-align:center;background:transparent;border:0;box-shadow:none; }
.profile-access-badge span { width:auto;height:auto;display:block;border-radius:0;background:transparent;color:var(--muted);font-size:16px;font-weight:1000;line-height:1; }
.profile-access-badge b { display:none; }
.profile-access-badge small { color:var(--muted);font-size:10px;line-height:1.2;white-space:nowrap;font-weight:900; }
.profile-access-badge.active { background:transparent;border:0;box-shadow:none; }
.profile-access-badge.active span { background:transparent;color:var(--lime); }
.profile-access-badge.active small { color:var(--lime); }
.profile-access-badge.access-card-day span,.profile-access-badge.access-card-day small { color:#d99a00; }
.profile-access-badge.access-card-week span,.profile-access-badge.access-card-week small { color:#43aeea; }
.profile-access-badge.access-card-month span,.profile-access-badge.access-card-month small { color:#a87cff; }
.profile-access-badge.access-card-permanent span,.profile-access-badge.access-card-permanent small { color:var(--lime); }
@media (max-width: 360px) {
  .profile-card { grid-template-columns:48px minmax(0,1fr); }
  .profile-access-badge { grid-column:1 / -1;grid-template-columns:auto 1fr;justify-items:start;text-align:left;min-width:0; }
  .profile-access-badge small { justify-self:end; }
}
.phone-login-button { border:0;background:linear-gradient(135deg,var(--lime),var(--green));color:var(--accent-on);padding:8px 10px;border-radius:10px;font-size:11px;font-weight:900;white-space:nowrap; }
.outline-button { border: 1px solid var(--accent-soft); background: var(--accent-soft); color: var(--lime); padding: 7px 9px; border-radius: 9px; font-size:11px; }
.outline-button.danger { color:#ff7878;background:rgba(255,120,120,.1);border-color:rgba(255,120,120,.22); }
.account-sync-card { display:grid;gap:6px;padding:13px 14px;margin-bottom:10px; }
.account-sync-card span { color:var(--muted);font-size:11px; }
.account-sync-card b { color:var(--text);font-size:12px;line-height:1.5; }
.account-sync-card p { margin:0;color:var(--muted);font-size:11px;line-height:1.6; }
.access-status-card { display:grid;gap:10px;padding:14px;margin-bottom:10px; }
.access-status-head { display:flex;align-items:center;justify-content:space-between;gap:10px; }
.access-status-head span { color:var(--muted);font-size:11px;font-weight:800; }
.access-status-head b { color:var(--lime);font-size:16px;letter-spacing:.04em; }
.access-status-bar { height:8px;border-radius:999px;background:var(--soft-fill);overflow:hidden;border:1px solid var(--line); }
.access-status-bar i { display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--lime),var(--green));transition:width .2s ease; }
.access-status-card p { margin:0;color:var(--muted);font-size:11px;line-height:1.6; }
.access-status-actions { display:flex;align-items:center;justify-content:flex-end;gap:8px; }
.menu-card { padding: 4px 12px; margin-bottom: 10px; }
.menu-card button { width: 100%; display: grid; grid-template-columns: 26px 1fr auto; align-items: center; text-align: left; border: 0; border-bottom: 1px solid var(--line); background: transparent; padding: 13px 2px; }
.menu-card button:last-child { border: 0; }.menu-card b { font-size:12px; }.menu-card i { color: var(--muted); font-size: 18px; font-style: normal; }
.menu-card i { max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px; }
.menu-icon { width: 24px; height: 24px; display: grid; place-items: center; color: var(--menu-icon-color, var(--lime)); font-size: 18px; background: transparent; border: 0; box-shadow: none; }
.menu-icon .app-icon { width: 1em; height: 1em; }
.menu-icon-id { --menu-icon-color:#40a6ff; }
.menu-icon-access { --menu-icon-color:#b58cff; }
.menu-icon-invite { --menu-icon-color:#f3a83b; }
.menu-icon-theme { --menu-icon-color:#8a6cff; }
.menu-icon-feedback { --menu-icon-color:#18b88f; }
.menu-icon-service { --menu-icon-color:#2dcae8; }
.profile-service-label { color: var(--lime); }
.menu-icon-help { --menu-icon-color:#f06b75; }
.menu-icon-settings { --menu-icon-color:#7b8794; }
.version { text-align: center; color: #536158; font-size: 8px; margin-top: 20px; }
.app-shell.login-active .bottom-nav,
.app-shell.login-active .topbar { display:none; }
.login-page { padding:0 !important;min-height:100vh;background:#11180f; }
.login-page #loginContent { min-height:100vh;display:grid;align-items:stretch; }
.login-panel { display:grid;gap:16px;padding:22px 18px;margin-top:8px;position:relative; }
.native-login-panel { min-height:100vh;box-sizing:border-box;margin:0;padding:calc(52px + env(safe-area-inset-top)) 28px 30px;border:0;border-radius:0;background:#151c13;color:#f4f8ef;align-content:start;grid-auto-rows:max-content; }
.password-login-panel { margin:18px 14px; }
.login-page-back { position:absolute;left:18px;top:calc(16px + env(safe-area-inset-top));width:38px;height:38px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.05);color:#f4f8ef;font-size:28px;line-height:1;display:grid;place-items:center;z-index:2; }
.password-login-panel .login-page-back { color:var(--text);background:var(--soft-fill);border-color:var(--line); }
.native-login-panel .login-brand { margin-top:9vh;gap:8px; }
.login-brand { display:grid;justify-items:center;text-align:center;gap:9px; }
.login-logo { width:68px;height:68px;border-radius:23px;object-fit:cover;box-shadow:0 18px 36px rgba(0,0,0,.22); }
.login-app-name { margin:2px 0 8px !important;color:rgba(244,248,239,.62) !important;font-size:12px !important;letter-spacing:.06em; }
.login-brand .avatar { width:58px;height:58px;border-radius:20px;font-size:22px; }
.login-brand h2 { margin:0;color:var(--text);font-size:20px;letter-spacing:.08em; }
.native-login-panel .login-brand h2 { color:#f4f8ef;font-size:22px;font-weight:500;letter-spacing:.02em;margin-bottom:18px; }
.login-brand p { margin:0;color:var(--muted);font-size:12px;line-height:1.7; }
.login-status-row { display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:15px;background:var(--soft-fill); }
.login-status-row span { color:var(--muted);font-size:11px; }
.login-status-row b { color:var(--lime);font-size:12px;letter-spacing:.04em; }
.login-feature-list { display:grid;gap:8px; }
.login-feature-list div { display:grid;gap:3px;padding:11px 12px;border-radius:15px;background:rgba(255,255,255,.035);border:1px solid var(--line); }
.login-feature-list b { color:var(--text);font-size:12px; }
.login-feature-list span { color:var(--muted);font-size:11px;line-height:1.5; }
.phone-auth-main { width:100%;border:0;border-radius:18px;background:linear-gradient(135deg,var(--lime),var(--green));color:var(--accent-on);display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;font-weight:1000;box-shadow:0 14px 28px rgba(161,245,43,.18); }
.native-login-panel .phone-auth-main { border-radius:999px;background:#006607;color:#fff;padding:15px 18px;box-shadow:none;margin-top:0; }
.phone-auth-main:disabled { opacity:.68;filter:saturate(.7);box-shadow:none; }
.phone-auth-main.disabled { opacity:.62;background:var(--soft-fill);color:var(--muted);box-shadow:none; }
.phone-auth-main span { width:24px;height:24px;border-radius:999px;background:rgba(16,32,23,.16);display:grid;place-items:center;font-size:13px; }
.phone-auth-main b { font-size:15px;letter-spacing:.04em; }
.login-muted-tip { margin:-6px 0 0;color:var(--muted);font-size:11px;line-height:1.6;text-align:center; }
.phone-password-auth { display:grid;gap:11px; }
.phone-password-tabs { display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:5px;border:1px solid var(--line);border-radius:16px;background:var(--soft-fill); }
.phone-password-tabs button { border:0;border-radius:12px;background:transparent;color:var(--muted);padding:9px 10px;font-size:12px;font-weight:900;letter-spacing:.08em; }
.phone-password-tabs button.active { color:var(--accent-on);background:linear-gradient(135deg,var(--lime),var(--green));box-shadow:0 8px 18px rgba(161,245,43,.14); }
.phone-password-auth label { display:grid;gap:6px; }
.phone-password-auth label span { color:var(--muted);font-size:11px;font-weight:900; }
.phone-password-auth input { width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);padding:12px 13px;font-size:14px;outline:none; }
.phone-password-auth input:focus { border-color:var(--accent-soft);box-shadow:0 0 0 3px rgba(161,245,43,.08); }
.phone-dev-login { display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--soft-fill); }
.phone-dev-login span { grid-column:1 / -1;color:var(--muted);font-size:11px;font-weight:800; }
.phone-dev-login input { min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);padding:10px 11px;font-size:13px;outline:none; }
.phone-dev-login input:focus { border-color:var(--accent-soft);box-shadow:0 0 0 3px rgba(161,245,43,.08); }
.login-agreement { display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:11px;line-height:1.6; }
.native-login-panel .login-agreement { justify-content:center;color:rgba(244,248,239,.48);margin-top:14px; }
.login-agreement input { margin-top:3px;accent-color:var(--lime); }
.native-login-panel .login-agreement input { width:16px;height:16px;accent-color:#6dbdff; }
.login-agreement button { border:0;background:transparent;color:var(--lime);font-size:11px;font-weight:900;padding:0; }
.native-login-panel .login-agreement button { color:#55b95b; }
.login-guest-button { justify-self:center; }
.login-main-button { width:100%;justify-content:center;text-align:center; }
.bottom-nav { position: fixed; z-index: 48; bottom: 0; left: 50%; transform: translateX(-50%); width: min(100%,430px); display: grid; grid-template-columns: repeat(3,1fr); padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); background: var(--nav-bg); backdrop-filter: blur(18px); border-top: 1px solid var(--line); }
.bottom-nav button { border: 0; background: transparent; color: #6e7b73; padding: 4px; font-weight:500; transition:color .16s ease,font-weight .16s ease; }
.bottom-nav i,.bottom-nav span { display:block;font-style:normal;transition:font-size .16s ease,font-weight .16s ease,color .16s ease,transform .16s ease,filter .16s ease; }
.bottom-nav i { width:28px;height:26px;margin:0 auto;display:grid;place-items:center;font-size:21px; }
.bottom-nav .nav-app-icon { font-size:21px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.08)); }
.bottom-nav span { font-size:8px;margin-top:3px; }
.bottom-nav .active { color: var(--lime); font-weight:900; }
.bottom-nav .active i,.bottom-nav .active .nav-app-icon { font-size:23px;font-weight:900;transform:translateY(-1px);filter:drop-shadow(0 3px 6px rgba(69,150,67,.26)); }
.bottom-nav .active span { font-size:10px; font-weight:900; }
body[data-theme="light"] .model-hero { background: linear-gradient(145deg,#ffffff,#eaf5dd); border:1px solid var(--line); }
body[data-theme="light"] .model-hero p,
body[data-theme="light"] .metric-grid span,
body[data-theme="light"] .metric-grid small { color:var(--muted); }
body[data-theme="light"] .metric-grid div { background:rgba(18,43,27,.045); }
body[data-theme="light"] .worldcup-hero { background:radial-gradient(circle at 15% 8%,rgba(81,151,32,.16),transparent 38%),linear-gradient(135deg,#f7fbf2,#e3f0d8); color:#102017; }
body[data-theme="light"] .worldcup-hero p { color:#516250; }
body[data-theme="light"] .primary-button { box-shadow:0 8px 18px rgba(16,32,23,.12); }
body[data-theme="light"] .bottom-nav button { color:#7d897f; }
body[data-theme="light"] .bottom-nav .active { color:var(--green); }
body[data-theme="light"] .version { color:#7e8a80; }
body[data-theme="light"] .favorite-star { text-shadow:none; }
body[data-theme="light"] .favorite-star.active { text-shadow:0 0 8px rgba(189,122,25,.18); }
body[data-theme="light"] .team-badge-box,
body[data-theme="light"] .model-row-team img,
body[data-theme="light"] .model-result-teams img,
body[data-theme="light"] .worldcup-spotlight .spotlight-teams img,
body[data-theme="light"] .detail-team span { background:linear-gradient(145deg,rgba(16,32,23,.18),rgba(16,32,23,.09)); }
body[data-theme="light"] .team-badge-box img,
body[data-theme="light"] .model-row-team img,
body[data-theme="light"] .model-result-teams img,
body[data-theme="light"] .worldcup-spotlight .spotlight-teams img,
body[data-theme="light"] .detail-team img { filter:drop-shadow(0 1px 1px rgba(0,0,0,.45)) drop-shadow(0 0 2px rgba(0,0,0,.20)); }
body[data-theme="light"] .detail-page-top { box-shadow:0 10px 22px rgba(44,66,38,.08); }
body[data-theme="light"] .detail-scoreboard { box-shadow:0 14px 28px rgba(44,66,38,.10); }
body[data-theme="light"] .detail-tabs { box-shadow:0 8px 18px rgba(44,66,38,.08); }
body[data-theme="light"] .detail-tabs .active { box-shadow:0 8px 16px rgba(22,139,79,.10); }
body[data-theme="light"] .odds-current { background:linear-gradient(90deg,var(--accent-soft),rgba(255,255,255,.62)); }
body[data-theme="light"] .odds-analysis-head { background:linear-gradient(90deg,var(--soft-fill-2),rgba(255,255,255,.55)); }
body[data-theme="light"] .detail-panel-ai-strategy .detail-empty,
body[data-theme="light"] .detail-panel-ai-model .detail-empty { background:linear-gradient(145deg,var(--accent-soft),rgba(255,255,255,.70)); }
body[data-theme="light"] .metric-grid strong,
body[data-theme="light"] .prediction-head b,
.drawer-backdrop { display:none; }
.drawer-backdrop.open { display:none; }
.detail-drawer { position: fixed; z-index: 44; inset:0 auto 0 50%; transform: translate(50%,0); width: min(100%,430px); min-height:100vh; overflow-y: auto; scrollbar-width:none; -ms-overflow-style:none; background: var(--detail-bg); border:0; border-radius:0; padding: 0 14px calc(96px + env(safe-area-inset-bottom)); transition: .28s ease; box-shadow:var(--detail-shadow); isolation:isolate; }
.detail-drawer.open:before { content:"";position:fixed;top:0;left:50%;transform:translateX(-50%);width:min(100%,430px);height:260px;background:var(--detail-bg);z-index:19;pointer-events:none; }
.detail-drawer.simple-drawer.open:before { display:none; }
.detail-drawer::-webkit-scrollbar { display:none; }
.detail-drawer.open { transform: translate(-50%,0); }
.drawer-handle { display:none; }
.detail-sticky-header { position:sticky;top:0;z-index:20;margin:0 -14px 8px;padding:calc(34px + env(safe-area-inset-top)) 14px 9px;background:var(--detail-bg);box-shadow:0 12px 24px rgba(0,0,0,.20);isolation:isolate;overflow:visible; }
.detail-sticky-header:before { content:"";position:absolute;z-index:-1;left:0;right:0;top:-120px;height:120px;background:var(--detail-bg);pointer-events:none; }
.detail-sticky-header:after { content:"";position:absolute;left:0;right:0;bottom:-18px;height:18px;background:linear-gradient(180deg,var(--detail-bg),rgba(7,21,16,0));pointer-events:none; }
.detail-sticky-header > * { position:relative;z-index:1; }
.detail-content { position:relative;z-index:0;padding-top:0; }
.simple-drawer .detail-content { padding-top:10px; }
.detail-page-top { position:sticky;top:0;z-index:24;display:grid;place-items:center;margin:0 -14px 2px;padding:2px 14px;min-height:30px;background:var(--detail-bg);box-shadow:0 10px 20px rgba(0,0,0,.12); }
.detail-back { position:absolute;left:14px;bottom:-2px;z-index:3;width:34px;height:34px;border:1px solid var(--line);border-radius:12px;background:var(--soft-fill);color:var(--text);font-size:23px;line-height:1;display:grid;place-items:center; }
.detail-page-top div { min-width:0;width:100%;padding:0 48px;text-align:center; }
.detail-page-top p,.detail-page-top h2 { margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.detail-page-top p { color:var(--lime);font-size:8px;font-weight:800;letter-spacing:1.4px; }
.detail-page-top h2 { margin-top:0;color:var(--text);font-size:13px;letter-spacing:1.8px;font-weight:900; }
.detail-sticky-header .detail-page-top { position:relative;top:auto;margin:0 0 -18px;padding:0;min-height:30px;background:transparent;box-shadow:none;transform:translateY(-20px); }
.detail-scoreboard { display:grid;grid-template-columns:minmax(0,1fr) 104px minmax(0,1fr);align-items:center;gap:8px 7px;margin:0 -2px 8px;padding:11px 12px 15px;text-align:center;background:radial-gradient(circle at 50% 0%,var(--accent-soft),transparent 62%),linear-gradient(180deg,var(--card-bg),var(--card-bg));background-color:var(--card-bg);overflow:hidden;border-radius:20px;box-shadow:0 14px 26px rgba(0,0,0,.22);isolation:isolate;position:relative; }
.detail-scoreboard:before { content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 32%,rgba(255,255,255,.07) 48%,transparent 72%);pointer-events:none; }
.detail-scoreboard > * { position:relative;z-index:1; }
.detail-scoreboard-meta { grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;margin-bottom:3px;text-align:left;color:var(--muted);font-size:10px; }
.detail-scoreboard-meta div { display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap; }
.detail-scoreboard-meta .league-tag { max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.detail-scoreboard-meta > span { flex:0 0 auto;max-width:52%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.detail-team { display:grid;justify-items:center;align-content:start;gap:7px;min-width:0; }
.detail-team span { width:52px;height:52px;display:grid;place-items:center;background:var(--team-badge-bg);border:1px solid var(--team-badge-border);border-radius:16px;box-shadow:var(--team-badge-shadow); }
.detail-team img { width:44px;height:44px;object-fit:contain;background:transparent;filter:drop-shadow(0 1px 1px rgba(0,0,0,.32)); }
.detail-team b { width:100%;font-size:13px;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.detail-team small { color:var(--muted);font-size:8px; }
.detail-scoreboard-text-only .detail-team span { display:none; }
.detail-scoreboard-text-only .detail-team { align-content:center;min-height:72px; }
.detail-scoreboard-text-only .detail-team b { font-size:15px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical; }
.detail-score strong { display:block;font-size:28px;letter-spacing:1.4px;font-variant-numeric:tabular-nums; }
.detail-score-live strong { color:var(--green); }
.detail-score-finished strong { color:var(--red); }
.detail-score-default strong { color:var(--text); }
.detail-score small { display:block;margin-top:4px;color:var(--muted);font-size:11px; }
.detail-score .score-breakdown { margin-top:3px;font-size:10px;color:var(--muted);line-height:1.25; }
.detail-score em { display:inline-block;margin-top:7px;padding:4px 8px;border-radius:999px;background:var(--soft-fill);color:var(--lime);font-size:8px;font-style:normal; }
.detail-basic-meta { grid-column:1 / -1;display:grid;grid-template-columns:1fr .8fr 1.25fr;gap:6px;margin-top:3px;padding-top:10px;border-top:1px solid var(--line); }
.detail-basic-meta div { min-width:0;padding:7px 8px;border-radius:10px;background:var(--soft-fill);text-align:left; }
.detail-basic-meta span,.detail-basic-meta b { display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.detail-basic-meta span { color:var(--muted);font-size:8px;line-height:1.2; }
.detail-basic-meta b { margin-top:3px;color:var(--text);font-size:11px;line-height:1.25;font-weight:800; }
.detail-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.detail-head button { border:0; background:var(--soft-fill); border-radius:50%; width:30px;height:30px; }
.detail-tabs { display:flex;overflow-x:auto;gap:6px;margin:0 -2px 0;padding:5px;background:var(--detail-bg);border-radius:999px;scrollbar-width:none;backdrop-filter:blur(14px);box-shadow:0 8px 18px rgba(0,0,0,.18); }
.detail-tabs button { flex:1;min-width:max-content;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:999px;padding:8px 12px;white-space:nowrap;font-size:10px;transition:.16s ease; }
.detail-tabs .active { background:var(--lime);color:var(--accent-on);font-weight:900;font-size:12px;box-shadow:0 8px 16px rgba(184,240,60,.12); }
.detail-panel { display: none; animation: fade .2s ease; }
.detail-panel.active { display: block; }
.detail-panel > .detail-section:first-child { margin-top:0; }
.detail-panel-odds .detail-section:first-child,
.detail-panel-data .data-foundation-overview,
.detail-panel-ai-strategy .detail-section:first-child,
.detail-panel-ai-model .detail-section:first-child { border-color:var(--accent-soft); }
.detail-panel-ai-strategy .detail-empty,
.detail-panel-ai-model .detail-empty { min-height:108px;background:linear-gradient(145deg,var(--accent-soft),var(--soft-fill-2));border-color:var(--accent-soft); }
.detail-panel-ai-strategy .detail-empty b,
.detail-panel-ai-model .detail-empty b { color:var(--lime); }
.ai-article { display:grid;gap:9px; }
.ai-article p { margin:0;color:var(--text);font-size:10px;line-height:1.85; }
.live-overview-card { border-color:var(--success-soft);background:linear-gradient(145deg,var(--success-soft),var(--soft-fill-2)); }
.detail-status { display: grid; grid-template-columns:auto 1fr; gap:3px 8px; align-items:center; margin:12px 0 4px; padding:10px 11px; border-radius:11px; background:var(--soft-fill); border-left:2px solid var(--green); }
.detail-status b { color:var(--green);font-size:10px; }.detail-status span { color:var(--text);font-size:11px; }.detail-status small { grid-column:2;color:var(--muted);font-size:8px; }
.detail-status-postponed,.detail-status-suspended,.detail-status-unknown { border-color:var(--amber); }.detail-status-postponed b,.detail-status-suspended b,.detail-status-unknown b { color:var(--amber); }
.detail-status-cancelled { border-color:var(--muted-danger); }.detail-status-cancelled b { color:var(--muted-danger); }
.snapshot-notice { margin:10px 0;padding:8px 10px;border-radius:9px;background:var(--warning-soft);color:var(--amber);font-size:8px;line-height:1.5; }
.detail-refreshing { color:var(--green);background:var(--success-soft); }
.live-snapshot { margin:9px 0;padding:11px;border-radius:13px;background:linear-gradient(145deg,var(--success-soft),var(--soft-fill-2));border:1px solid var(--success-soft); }
.live-snapshot-head { display:flex;align-items:center;justify-content:space-between;gap:8px; }.live-snapshot-head span,.live-snapshot-head b { display:block; }.live-snapshot-head span { color:var(--green);font-size:8px; }.live-snapshot-head b { margin-top:2px;font-size:20px;letter-spacing:1px; }.live-snapshot-head button { border:1px solid var(--accent-soft);background:var(--accent-soft);color:var(--lime);border-radius:7px;padding:6px 8px;font-size:7px; }
.live-score-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:9px; }.live-score-grid div { padding:6px 3px;border-radius:7px;background:var(--soft-fill);text-align:center; }.live-score-grid span,.live-score-grid b { display:block; }.live-score-grid span { color:var(--muted);font-size:6px; }.live-score-grid b { margin-top:3px;font-size:11px; }
.availability-row { display:grid;grid-template-columns:repeat(2,1fr);gap:4px;margin-top:7px; }.availability-row div { display:flex;justify-content:space-between;padding:5px 6px;border-radius:6px;background:var(--soft-fill-2);color:var(--muted);font-size:7px; }.availability-row span.available { color:var(--green); }.availability-row span.waiting { color:var(--amber); }
.detail-section { background:linear-gradient(145deg,var(--soft-fill),var(--soft-fill-2));padding:12px;border:1px solid var(--line);border-radius:15px;margin-bottom:10px; }
.detail-section h3 { color:var(--text);font-size:12px;margin:0 0 10px;letter-spacing:.01em; }
.detail-coordinator-card { border-color:var(--accent-soft);background:linear-gradient(145deg,var(--soft-fill-2),var(--tile-bg)); }
.detail-tab-status-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:9px; }
.tab-status { min-width:0;padding:8px 4px;border-radius:10px;background:var(--tile-bg);border:1px solid var(--tile-border);text-align:center; }
.tab-status b,.tab-status span,.tab-status small { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.tab-status b { color:var(--text);font-size:8px; }
.tab-status span { margin-top:3px;font-size:8px;font-weight:800; }
.tab-status small { margin-top:3px;color:var(--muted);font-size:6px; }
.tab-status-ready span { color:var(--green); }
.tab-status-missing span { color:var(--amber); }
.tab-status-waiting span { color:var(--muted); }
.tab-status-unavailable span { color:var(--muted-danger); }
.section-title-row { display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px; }
.section-title-row h3 { margin:0; }
.section-title-row span { color:var(--lime);font-size:8px; }
.section-title-stack { align-items:flex-start; }
.section-meta-line { display:flex;flex-wrap:wrap;gap:5px;margin:-3px 0 10px; }
.section-meta-line i { padding:4px 6px;border-radius:999px;background:var(--soft-fill-2);color:var(--muted);font-size:7px;font-style:normal; }
.detail-subtabs,.odds-market-tabs,.ai-strategy-tabs { display:flex;gap:6px;margin:2px 0 10px;padding:4px;border-radius:999px;background:var(--soft-fill);overflow-x:auto;scrollbar-width:none; }
.detail-subtabs span,.odds-market-tabs span,.odds-market-tabs button,.ai-strategy-tabs button { flex:1;min-width:max-content;text-align:center;border-radius:999px;padding:8px 12px;color:var(--muted);font-size:10px;border:0;background:transparent; }
.detail-subtabs .active,.odds-market-tabs .active,.ai-strategy-tabs .active { background:var(--accent-soft);color:var(--lime);font-weight:800; }
.summary-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:7px; }
.summary-tile { min-height:60px;padding:10px;border-radius:12px;background:var(--tile-bg);border:1px solid var(--tile-border); }
.summary-tile span,.summary-tile b,.summary-tile small { display:block; }
.summary-tile span { color:var(--muted);font-size:8px; }
.summary-tile b { margin-top:5px;color:var(--text);font-size:15px;line-height:1.2; }
.summary-tile small { margin-top:4px;color:var(--muted);font-size:7px; }
.feature-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:8px; }
.page[data-page="worldcup"] .feature-grid { grid-template-columns:repeat(4,1fr);gap:7px; }
.page[data-page="worldcup"] .feature-grid button { border: 1px solid var(--line); background: linear-gradient(180deg,var(--card-bg),var(--surface)); padding: 12px 5px; border-radius: 16px; box-shadow:0 10px 22px rgba(0,0,0,.12); }
.page[data-page="worldcup"] .feature-grid i { width:32px;height:32px;margin:0 auto;display:grid;place-items:center;border-radius:12px;background:var(--accent-soft);color: var(--lime); font-size: 18px;font-weight:900; }
.page[data-page="worldcup"] .feature-grid b { color:var(--text);font-size: 11px; margin: 7px 0 2px; }
.page[data-page="worldcup"] .feature-grid span { color: var(--muted); font-size: 9px; }
.feature-card { padding:10px;border-radius:12px;background:var(--tile-bg);border:1px solid var(--tile-border); }
.feature-card h4 { margin:0 0 8px;color:var(--lime);font-size:10px; }
.feature-line { display:grid;grid-template-columns:42px 1fr;gap:5px;align-items:end;padding:7px 0;border-top:1px solid var(--line); }
.feature-line:first-of-type { border-top:0;padding-top:0; }
.feature-line span { color:var(--muted);font-size:7px; }
.feature-line b { color:var(--text);font-size:12px;line-height:1.2;text-align:right; }
.feature-line small { grid-column:1 / -1;color:var(--muted);font-size:7px;text-align:right; }
.feature-extra { margin-top:8px; }
.detail-empty { min-height:118px;display:grid;place-items:center;align-content:center;gap:7px;text-align:center;border:1px dashed var(--line);border-radius:13px;color:var(--muted);background:var(--soft-fill-2);line-height:1.6;padding:16px 12px; }
.detail-empty b { color:var(--text);font-size:12px; }.detail-empty span { max-width:250px;font-size:11px; }
.capability-notice { border-color:var(--warning-soft);background:linear-gradient(145deg,var(--warning-soft),var(--soft-fill)); }
.capability-notice .detail-empty { min-height:96px;border-color:rgba(255,183,74,.18);background:rgba(255,183,74,.05); }
.capability-notice .detail-empty b { color:var(--amber); }
.detail-copy { margin:0;color:var(--text);font-size:10px;line-height:1.8;white-space:pre-wrap; }
.ai-strategy-tabs { margin:0 0 10px; }
.ai-strategy-panel { display:none; }
.ai-strategy-panel.active { display:block; }
.ai-boundary-text { margin:4px 4px 10px;color:var(--muted);font-size:11px;line-height:1.7;text-align:center; }
.prob-row { display:grid;grid-template-columns:40px 1fr 35px;gap:7px;align-items:center;font-size:11px;margin:8px 0; }
.prob-bar { height:6px; }.factor-row { display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:9px 0;font-size:11px;color:var(--muted); }
.factor-row b { color:var(--text);text-align:right;line-height:1.35; }.favorite-button { width:100%;border:0;border-radius:12px;background:var(--lime);color:var(--accent-on);font-weight:800;padding:12px;margin-top:4px;font-size:12px; }
.table-section { padding:0;overflow:hidden;border:1px solid var(--line);background:var(--soft-fill); }
.table-section h3,.table-section .section-title-row { padding:12px 12px 0; }
.table-section .section-meta-line { padding:0 12px;margin:0 0 10px; }
.match-table,.odds-table { width:100%;font-size:11px; }
.match-table-head,.match-table-row { display:grid;grid-template-columns:1.45fr .9fr 50px .9fr;align-items:center;gap:6px;padding:9px 12px;border-top:1px solid var(--line); }
.match-table-head,.odds-table-head { color:var(--muted);background:var(--soft-fill-2); }
.match-table-row span b,.match-table-row span small { display:block; }
.match-table-row span b { color:var(--text);font-size:11px; }
.match-table-row span small { margin-top:2px;color:var(--muted);font-size:7px; }
.match-table-row strong { min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);font-size:11px;font-weight:700; }
.match-table-row strong.table-score-home-win { color:var(--red); }
.match-table-row strong.table-score-home-loss { color:var(--green); }
.match-table-row strong.table-score-draw { color:#4ea1ff; }
.match-table-row em { color:var(--text);font-style:normal;font-weight:800;text-align:center; }
.match-table-row em.table-score-pending { color:var(--muted); }
.match-table-row em small { display:block;margin-top:2px;color:var(--muted);font-size:7px;font-weight:500; }
.match-table-empty { padding:18px 12px;text-align:center;color:var(--muted);border-top:1px solid var(--line);font-size:11px; }
.schedule-table-head,.schedule-table-row { grid-template-columns:1.15fr 1fr 1fr 42px; }
.schedule-table-row em { color:var(--muted); }
.schedule-table-row.schedule-current-row em,
.schedule-table-row .schedule-focus-team { color:var(--red); }
.odds-market-tabs { margin:8px 12px 10px; }
.official-odds-section .odds-market-tabs { margin:0 0 10px; }
.odds-market-panel { display:none; }
.odds-market-panel.active { display:block; }
.odds-analysis-section { padding:12px; }
.odds-analysis-section .section-title-row { padding:0;margin-bottom:10px; }
.odds-analysis-section .odds-market-tabs { margin:0 0 12px;padding:5px;background:var(--soft-fill-2); }
.odds-analysis-section .odds-market-tabs button { font-size:10px;padding:8px 14px; }
.official-odds-meta { display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;color:var(--muted);font-size:8px; }
.official-odds-meta span { color:var(--lime);font-weight:800; }
.official-odds-meta b { color:var(--muted);font-weight:600; }
.official-company-table { overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--tile-bg);font-size:10px; }
.official-company-row { display:grid;grid-template-columns:82px 42px repeat(var(--odds-cols), minmax(58px,1fr));align-items:center;border-top:1px solid var(--line); }
.official-company-row:first-child { border-top:0; }
.official-company-row > * { min-width:0;padding:11px 7px;text-align:center;border-left:1px solid color-mix(in srgb,var(--line) 70%,transparent); }
.official-company-row > *:first-child { border-left:0;text-align:left; }
.official-company-row b { color:var(--lime);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.official-company-row b em { display:inline-block;margin-left:5px;padding:2px 5px;border-radius:6px;background:rgba(255,107,107,.16);color:var(--red);font-style:normal;font-size:8px;vertical-align:middle; }
.official-company-row span { color:var(--muted);font-weight:700; }
.official-company-head { background:var(--soft-fill-2); }
.official-company-head b,.official-company-head span { color:var(--muted); }
.official-company-current { background:linear-gradient(90deg,var(--accent-soft),var(--soft-fill-2)); }
.official-combined-list { display:grid;gap:12px; }
.official-combined-market { display:grid;gap:8px; }
.official-bonus-list { display:grid;gap:10px; }
.official-bonus-block { padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--tile-bg); }
.official-bonus-title { display:flex;align-items:center;justify-content:space-between;margin-bottom:9px; }
.official-bonus-title b { color:var(--text);font-size:12px; }
.official-bonus-title span { color:var(--muted);font-size:8px; }
.odds-bonus-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px; }
.odds-bonus-crs { grid-template-columns:repeat(3,minmax(0,1fr)); }
.odds-bonus-hafu { grid-template-columns:repeat(3,minmax(0,1fr)); }
.odds-bonus-cell { min-width:0;padding:9px 5px;border-radius:9px;background:var(--soft-fill-2);text-align:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02); }
.odds-bonus-cell span { display:block;margin-bottom:4px;color:var(--muted);font-size:11px; }
.odds-bonus-cell .odds-value { font-size:12px; }
.odds-analysis-card { overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--tile-bg); }
.odds-analysis-head { display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,var(--soft-fill-2),transparent); }
.odds-analysis-head b,.odds-analysis-head small { display:block; }
.odds-analysis-head b { color:var(--text);font-size:12px; }
.odds-analysis-head small { margin-top:4px;color:var(--muted);font-size:8px;line-height:1.45; }
.odds-line-chip { flex:0 0 auto;border-radius:999px;padding:5px 8px;background:var(--accent-soft);color:var(--lime);font-size:8px;font-weight:800; }
.odds-scroll { overflow-x:auto;scrollbar-width:none; }
.odds-scroll::-webkit-scrollbar { display:none; }
.odds-analysis-table { min-width:max(100%, calc(110px + var(--odds-cols) * 60px));font-size:10px; }
.odds-analysis-row { display:grid;grid-template-columns:76px 34px repeat(var(--odds-cols), minmax(56px,1fr));align-items:center;border-top:1px solid var(--line); }
.odds-analysis-row:first-child { border-top:0; }
.odds-analysis-row > * { min-width:0;padding:10px 7px;text-align:center;border-left:1px solid color-mix(in srgb,var(--line) 70%,transparent); }
.odds-analysis-row > *:first-child { border-left:0;text-align:left; }
.odds-analysis-row b { color:var(--lime);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.odds-analysis-row em { color:var(--muted);font-style:normal;font-weight:800; }
.odds-analysis-row span { color:var(--text); }
.odds-analysis-row-head { background:var(--warning-soft);color:var(--muted);position:sticky;top:0;z-index:1; }
.odds-analysis-row-head b { color:var(--muted); }
.odds-current { background:linear-gradient(90deg,var(--accent-soft),var(--soft-fill-2)); }
.odds-value.rise { color:var(--red);font-weight:800; }
.odds-value.fall { color:var(--green);font-weight:800; }
.odds-value.flat { color:var(--text);font-weight:800; }
.odds-table-head,.odds-table-row { display:grid;grid-template-columns:.72fr 1.15fr 1.15fr 44px;align-items:center;gap:7px;padding:8px 12px;border-top:1px solid var(--line); }
.odds-table-row b { color:var(--text); }
.odds-table-row span { color:var(--muted); }
.odds-table-row strong { color:var(--red);font-weight:800; }
.odds-table-row em { color:var(--green);font-style:normal;text-align:right; }
.generic-odds-table { width:100%;font-size:11px; }
.generic-odds-head,.generic-odds-row { display:grid;grid-template-columns:.78fr .9fr 1.45fr;align-items:center;gap:7px;padding:9px 12px;border-top:1px solid var(--line); }
.generic-odds-head { color:var(--muted);background:var(--soft-fill-2); }
.generic-odds-row b { min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--lime); }
.generic-odds-row span { min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted); }
.generic-odds-row strong { color:var(--text);font-weight:800;line-height:1.45; }
.odds-collapsible { padding:0;overflow:hidden; }
.odds-collapsible summary { display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;padding:12px;cursor:pointer; }
.odds-collapsible summary::-webkit-details-marker { display:none; }
.odds-collapsible summary span b,.odds-collapsible summary span small { display:block; }
.odds-collapsible summary span b { color:var(--text);font-size:12px; }
.odds-collapsible summary span small { margin-top:4px;color:var(--muted);font-size:8px;line-height:1.5; }
.odds-collapsible summary em { flex:0 0 auto;padding:5px 8px;border-radius:999px;background:var(--accent-soft);color:var(--lime);font-size:8px;font-style:normal; }
.odds-collapsible[open] summary em { color:var(--accent-on);background:var(--lime); }
.developer-detail-panel { padding:0;overflow:hidden;border:1px dashed var(--line);background:var(--soft-fill-2); }
.developer-detail-panel summary { display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;padding:12px;cursor:pointer; }
.developer-detail-panel summary::-webkit-details-marker { display:none; }
.developer-detail-panel summary span b,.developer-detail-panel summary span small { display:block; }
.developer-detail-panel summary span b { color:var(--muted);font-size:10px; }
.developer-detail-panel summary span small { margin-top:4px;color:var(--muted);font-size:8px; }
.developer-detail-panel summary em { flex:0 0 auto;padding:5px 8px;border-radius:999px;background:var(--soft-fill);color:var(--muted);font-size:8px;font-style:normal; }
.developer-detail-panel[open] summary em { color:var(--lime);background:var(--accent-soft); }
.developer-detail-panel > .detail-section { margin:0 12px 12px;background:var(--soft-fill); }
.generic-provider-strip { display:flex;gap:6px;overflow-x:auto;padding:0 12px 10px;scrollbar-width:none; }
.generic-provider-strip span { flex:0 0 auto;padding:5px 8px;border-radius:999px;background:var(--soft-fill-2);color:var(--muted);font-size:8px; }
.odds-chart { height: 145px; position: relative; margin-top: 8px; padding: 10px 4px 20px; border-radius: 11px; background: linear-gradient(180deg,var(--accent-soft),transparent); overflow:hidden; }
.odds-chart svg { width: 100%; height: 100%; overflow: visible; }
.odds-chart line { stroke: var(--chart-grid); stroke-width: 1; }
.odds-chart polyline { fill:none; stroke:var(--lime); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.odds-chart circle { fill:var(--lime); stroke:var(--chart-dot-stroke); stroke-width:1.5; }
.chart-labels { position:absolute; left:7px; right:7px; bottom:5px; display:flex; justify-content:space-between; color:var(--muted); font-size:7px; }
.chart-summary { display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px; }
.chart-summary div { padding:7px;background:var(--soft-fill);border-radius:8px;text-align:center; }
.chart-summary span,.chart-summary b { display:block; }.chart-summary span { color:var(--muted);font-size:7px; }.chart-summary b { font-size:10px;margin-top:3px; }
.pitch { position:relative; min-height:300px; border:1px solid var(--pitch-line); border-radius:14px; background:var(--pitch-bg); overflow:hidden; margin-top:8px; }
.pitch:before { content:"";position:absolute;inset:50% 0 auto;border-top:1px solid var(--pitch-line); }
.pitch:after { content:"";position:absolute;width:74px;height:74px;border:1px solid var(--pitch-line);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%); }
.pitch-box { position:absolute;left:27%;right:27%;height:42px;border:1px solid var(--pitch-line); }
.pitch-box.top { top:-1px;border-top:0; }.pitch-box.bottom { bottom:-1px;border-bottom:0; }
.player-dot { position:absolute;z-index:2;transform:translate(-50%,-50%);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--player-home-bg);color:var(--player-text);font-size:7px;font-weight:800;box-shadow:0 3px 9px rgba(0,0,0,.3);text-align:center;line-height:1; }
.player-dot.away { background:var(--player-away-bg); }
.formation-labels { display:flex;justify-content:space-between;color:var(--muted);font-size:8px;margin-top:8px; }
.lineup-section { display:grid;grid-template-columns:1fr;gap:12px; }
.lineup-list h4 { margin:0 0 4px;color:var(--text);font-size:12px; }
.lineup-player { display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:7px;padding:7px 0;border-top:1px solid var(--line); }
.lineup-player > b { width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--lime);font-size:8px; }
.lineup-player span strong,.lineup-player span small { display:block; }.lineup-player span strong { font-size:11px; }.lineup-player span small { margin-top:2px;color:var(--muted);font-size:7px; }
.lineup-player em { padding:3px 5px;border-radius:5px;background:var(--soft-fill);color:var(--muted);font-size:7px;font-style:normal; }
.stats-head,.stat-row > div:first-child { display:grid;grid-template-columns:1fr 1.4fr 1fr;align-items:center;text-align:center; }
.stats-head { padding:2px 0 9px;color:var(--muted);font-size:8px; }.stats-head b:first-child,.stat-row b:first-child { text-align:left; }.stats-head b:last-child,.stat-row b:last-child { text-align:right; }
.stat-row { padding:9px 0;border-top:1px solid var(--line); }.stat-row div:first-child { font-size:11px; }.stat-row span { color:var(--muted); }.stat-bar { display:flex;gap:3px;height:4px;margin-top:7px;overflow:hidden;border-radius:10px;background:var(--soft-fill-2); }.stat-bar i,.stat-bar em { display:block;height:100%; }.stat-bar i { background:var(--lime); }.stat-bar em { background:var(--stat-away-bar); }
.event-timeline { position:relative;padding-left:14px; }
.event-timeline:before { content:"";position:absolute;left:4px;top:4px;bottom:4px;border-left:1px solid var(--accent-soft); }
.event-item { position:relative;display:grid;grid-template-columns:34px 18px 1fr auto;align-items:center;gap:5px;padding:8px 0;border-bottom:1px solid var(--line);font-size:11px; }
.event-item:before { content:"";position:absolute;left:-13px;top:11px;width:7px;height:7px;background:var(--lime);border:2px solid var(--event-dot-border);border-radius:50%; }
.event-item i,.event-item em { font-style:normal; }.event-item span strong,.event-item span small { display:block; }.event-item span small { margin-top:2px;color:var(--muted);font-size:8px; }.event-item em { color:var(--muted);font-size:8px; }
.event-yellow:before { background:#ffd84a; }.event-red:before { background:var(--red); }.event-sub:before { background:var(--sub-blue); }
.empty-visual { min-height:125px;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:11px;border:1px dashed var(--line);border-radius:11px;line-height:1.8; }
.toast { position: fixed; z-index: 120; left: 50%; bottom: 90px; transform: translate(-50%,20px); opacity: 0; background: var(--toast-bg); color: var(--toast-text); padding: 9px 14px; border-radius: 9px; font-size: 10px; transition: .25s; pointer-events:none; }
.toast.show { opacity:1; transform:translate(-50%,0); }
.package-update-modal[hidden] { display:none; }
.package-update-modal { position:fixed;z-index:96;inset:0;display:grid;place-items:end center;padding:18px 12px calc(18px + env(safe-area-inset-bottom)); }
.package-update-backdrop { position:absolute;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(10px); }
.package-update-panel { position:relative;width:min(100%,406px);padding:18px;border-radius:24px;background:radial-gradient(circle at 18% 0%,var(--accent-soft),transparent 58%),var(--surface);box-shadow:0 24px 56px rgba(0,0,0,.46); }
.package-update-close { position:absolute;right:14px;top:12px;width:30px;height:30px;border:1px solid var(--line);border-radius:999px;background:var(--soft-fill);color:var(--muted);font-size:18px; }
.package-update-panel h2 { margin:12px 36px 8px 0;color:var(--text);font-size:22px;letter-spacing:.06em; }
.package-update-panel p { margin:0;color:var(--muted);font-size:13px;font-weight:800;line-height:1.7; }
.package-update-meta { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px; }
.package-update-meta div { display:grid;gap:4px;min-width:0;padding:12px;border-radius:16px;background:var(--soft-fill);border:1px solid var(--line); }
.package-update-meta span { color:var(--muted);font-size:11px;font-weight:900; }
.package-update-meta b { color:var(--text);font-size:14px;word-break:break-all; }
.package-update-meta i { color:var(--lime);font-style:normal;font-size:10px;line-height:1.4;word-break:break-all; }
.package-update-progress { display:grid;gap:8px;margin-top:12px;padding:12px;border-radius:16px;background:var(--soft-fill);border:1px solid var(--line); }
.package-update-progress[hidden] { display:none; }
.package-update-progress-track { height:9px;border-radius:999px;overflow:hidden;background:rgba(142,154,142,.18); }
.package-update-progress-track span { display:block;height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,var(--lime),#42d77a);transition:width .22s ease; }
.package-update-progress-text { color:var(--muted);font-size:12px;font-weight:900;line-height:1.4; }
.package-update-actions { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px; }
.package-update-actions.single { grid-template-columns:1fr; }
.package-update-actions button { justify-content:center;text-align:center; }
body[data-theme="light"] .package-update-panel { box-shadow:0 24px 56px rgba(49,92,38,.18); }
.access-modal[hidden] { display:none; }
.access-modal { position:fixed;z-index:80;inset:0;display:grid;place-items:end center;padding:18px 12px calc(18px + env(safe-area-inset-bottom)); }
.access-modal-backdrop { position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(10px); }
.access-modal-panel { position:relative;width:min(100%,406px);padding:18px;border-radius:24px;background:radial-gradient(circle at 15% 0%,var(--accent-soft),transparent 58%),var(--surface);box-shadow:0 22px 50px rgba(0,0,0,.42); }
.access-modal-close { position:absolute;right:14px;top:12px;width:30px;height:30px;border:1px solid var(--line);border-radius:999px;background:var(--soft-fill);color:var(--muted);font-size:18px; }
.access-modal-panel h2 { margin:4px 36px 7px 0;color:var(--text);font-size:20px;letter-spacing:.06em; }
.access-modal-panel p { margin:0;color:var(--lime);font-size:13px;font-weight:900;line-height:1.6; }
.access-modal-guest-hero { position:relative;min-height:128px;margin:16px 0 14px;overflow:hidden;border-radius:22px;border:1px solid rgba(174,255,48,.2);background:radial-gradient(circle at 18% 12%,rgba(174,255,48,.28),transparent 31%),linear-gradient(135deg,rgba(174,255,48,.14),rgba(20,66,42,.22));box-shadow:inset 0 1px 0 rgba(255,255,255,.08); }
.access-modal-guest-hero:before { content:"";position:absolute;inset:10px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(255,255,255,.06),transparent 58%); }
.access-modal-guest-hero:after { content:"模型权限";position:absolute;right:16px;bottom:14px;color:rgba(255,255,255,.18);font-size:28px;font-weight:1000;letter-spacing:.08em; }
.access-hero-orb { position:absolute;left:50%;top:50%;width:94px;height:94px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 34% 28%,#f3ff8a,#aefe30 45%,#228d4d 72%,rgba(34,141,77,0));box-shadow:0 18px 42px rgba(174,255,48,.2); }
.access-hero-orb:before,.access-hero-orb:after { content:"";position:absolute;inset:18px;border:2px solid rgba(4,24,15,.38);border-radius:50%; }
.access-hero-orb:after { inset:34px;background:rgba(4,24,15,.5);border:0; }
.access-hero-card { position:absolute;z-index:1;display:grid;gap:4px;min-width:92px;padding:12px 13px;border-radius:18px;background:rgba(10,32,22,.72);border:1px solid rgba(174,255,48,.24);backdrop-filter:blur(12px);box-shadow:0 14px 30px rgba(0,0,0,.24); }
.access-hero-card b { color:var(--text);font-size:18px;letter-spacing:.08em; }
.access-hero-card span { color:var(--lime);font-size:12px;font-weight:900; }
.access-hero-card-main { left:18px;bottom:18px; }
.access-hero-card-side { right:18px;top:18px;transform:rotate(2deg); }
.access-modal-quota { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding:12px;border-radius:16px;background:var(--soft-fill);border:1px solid var(--line); }
.access-modal-quota span { color:var(--muted);font-size:11px;font-weight:800; }
.access-modal-quota b { color:var(--text);font-size:14px; }
.access-modal-actions { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px; }
.access-modal-actions.single { grid-template-columns:1fr; }
.access-modal-actions button { justify-content:center;text-align:center; }
.access-service-block { display:grid;grid-template-columns:86px 1fr;align-items:center;gap:12px;margin-top:12px;padding:12px;border-radius:18px;background:var(--soft-fill);border:1px solid var(--line); }
.access-service-block img,.access-qr-placeholder { width:86px;height:86px;border-radius:16px;background:#fff;object-fit:cover;padding:6px;box-sizing:border-box; }
.access-qr-placeholder { display:grid;place-items:center;background:rgba(182,246,49,.12);border:1px dashed rgba(182,246,49,.45);color:var(--lime);font-size:11px;font-weight:900; }
.access-service-block div:last-child { display:grid;gap:6px; }
.access-service-block b { color:var(--text);font-size:14px; }
.access-service-block span { color:var(--muted);font-size:12px;line-height:1.5;word-break:break-all; }
.wechat-copy-row { display:flex;align-items:center;gap:8px;flex-wrap:wrap; }
.wechat-copy-row i { color:var(--muted);font-style:normal;font-size:12px;line-height:1.5;word-break:break-all; }
.copy-wechat-button { border:1px solid rgba(174,255,48,.28);background:rgba(174,255,48,.12);color:var(--lime);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:900;line-height:1; }
.copy-wechat-button:active { transform:scale(.96); }
body[data-theme="light"] .access-modal-guest-hero { border-color:rgba(71,146,17,.18);background:radial-gradient(circle at 18% 12%,rgba(106,186,33,.25),transparent 31%),linear-gradient(135deg,rgba(106,186,33,.12),rgba(235,247,229,.9)); }
body[data-theme="light"] .access-modal-guest-hero:after { color:rgba(54,103,32,.16); }
body[data-theme="light"] .access-hero-card { background:rgba(255,255,255,.76);border-color:rgba(71,146,17,.16);box-shadow:0 14px 30px rgba(49,92,38,.14); }
.account-uuid { display:grid;gap:4px;margin-top:4px;padding:10px;border-radius:13px;background:var(--soft-fill);border:1px solid var(--line); }
.account-uuid span { color:var(--muted);font-size:10px;font-weight:800; }
.account-uuid strong { color:var(--lime);font-size:11px;line-height:1.5;word-break:break-all; }
.profile-info-modal[hidden] { display:none; }
.profile-info-modal { position:fixed;z-index:82;inset:0;display:grid;place-items:end center;padding:18px 12px calc(18px + env(safe-area-inset-bottom)); }
.profile-info-backdrop { position:absolute;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(10px); }
.profile-info-panel { position:relative;width:min(100%,406px);max-height:72vh;overflow:auto;padding:18px;border-radius:24px;background:radial-gradient(circle at 12% 0%,var(--accent-soft),transparent 56%),var(--surface);box-shadow:0 22px 50px rgba(0,0,0,.42); }
.profile-info-close { position:absolute;right:14px;top:12px;width:30px;height:30px;border:1px solid var(--line);border-radius:999px;background:var(--soft-fill);color:var(--muted);font-size:18px; }
.profile-info-panel h2 { margin:4px 36px 12px 0;color:var(--text);font-size:18px;letter-spacing:.08em; }
.profile-info-panel p { margin:0 0 10px;color:var(--muted);font-size:12px;line-height:1.8; }
.profile-info-panel p:last-child { margin-bottom:0; }
.feedback-form { display:grid;gap:10px;margin-top:12px; }
.feedback-form textarea { width:100%;min-height:116px;resize:vertical;border:1px solid var(--line);border-radius:16px;background:var(--soft-fill);color:var(--text);padding:12px;font-size:13px;line-height:1.6;outline:none; }
.feedback-upload { display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px dashed var(--line-strong);border-radius:15px;background:var(--soft-fill-2);padding:12px;color:var(--text);font-weight:900;font-size:12px; }
.feedback-upload input { display:none; }
.feedback-upload b { color:var(--muted);font-size:11px; }
.feedback-preview { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;min-height:42px; }
.feedback-preview span { grid-column:1 / -1;color:var(--muted);font-size:11px;padding:10px;border-radius:12px;background:var(--soft-fill);text-align:center; }
.feedback-preview figure { min-width:0;margin:0;border:1px solid var(--line);border-radius:13px;background:var(--soft-fill);overflow:hidden; }
.feedback-preview img { display:block;width:100%;height:70px;object-fit:cover; }
.feedback-preview figcaption { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px;color:var(--muted);font-size:10px; }
.feedback-submit { width:100%;justify-content:center;text-align:center; }
.settings-actions { display:grid;gap:10px;margin-top:14px; }
.settings-actions button { width:100%;justify-content:center;text-align:center;padding:11px 12px;border-radius:14px;font-size:13px; }
.settings-actions .settings-link { display:grid;grid-template-columns:26px 1fr auto;align-items:center;justify-content:stretch;text-align:left;border:1px solid var(--line);background:var(--soft-fill);color:var(--text); }
.settings-actions .settings-link span { width:22px;height:22px;border-radius:8px;background:transparent;color:var(--lime);display:grid;place-items:center;font-size:13px;font-weight:900; }
.settings-actions .settings-link .settings-icon-privacy { color:#36a7ff; }
.settings-actions .settings-link .settings-icon-disclaimer { color:#f0a43a; }
.settings-actions .settings-link .settings-icon-about { color:#8ddc2a; }
.settings-actions .settings-link b { font-size:12px; }
.settings-actions .settings-link i { color:var(--muted);font-style:normal;font-size:16px; }
.uuid-detail-card { display:grid;gap:10px;margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:16px;background:var(--soft-fill); }
.uuid-detail-card span { color:var(--muted);font-size:11px;font-weight:800; }
.uuid-detail-card strong { color:var(--lime);font-size:20px;letter-spacing:.05em;word-break:break-all; }
.uuid-detail-card small { color:var(--muted);font-size:11px;line-height:1.6;word-break:break-all; }
.uuid-detail-card button { width:100%;justify-content:center;text-align:center; }
.invite-card { display:grid;gap:11px;margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:18px;background:radial-gradient(circle at top right,rgba(182,246,49,.16),transparent 48%),var(--soft-fill); }
.invite-card span { color:var(--muted);font-size:11px;font-weight:900; }
.invite-card strong { color:var(--text);font-size:16px;line-height:1.4; }
.invite-card p { margin:0;color:var(--muted);font-size:12px;line-height:1.7; }
.invite-code-box { display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:14px;background:rgba(182,246,49,.08);border:1px dashed rgba(182,246,49,.32); }
.invite-code-box small { color:var(--muted);font-size:11px;font-weight:800; }
.invite-code-box b { color:var(--lime);font-size:17px;letter-spacing:.08em; }
.invite-card button { width:100%;justify-content:center;text-align:center; }
.invite-card em { color:var(--lime);font-size:11px;font-style:normal;font-weight:800; }
.invite-page { display:none; }
.invite-page.active { display:grid;gap:14px;align-content:start;min-height:calc(100vh - 96px); }
.invite-page-poster { display:grid;gap:12px; }
.invite-page-poster .invite-poster { margin:0; }
.invite-page-login { width:100%;justify-content:center;text-align:center;min-height:50px; }
.invite-page-stored { padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:var(--soft-fill);color:var(--lime);font-size:11px;font-style:normal;font-weight:800; }
.referral-redeem-card { display:grid;gap:12px;margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:18px;background:radial-gradient(circle at top right,rgba(92,180,255,.14),transparent 48%),var(--soft-fill); }
.referral-redeem-card strong { color:var(--text);font-size:15px;line-height:1.5; }
.referral-redeem-card p { margin:0;color:var(--muted);font-size:12px;line-height:1.7; }
.referral-redeem-card label { display:grid;gap:7px; }
.referral-redeem-card label span { color:var(--muted);font-size:11px;font-weight:800; }
.referral-redeem-card input { width:100%;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);padding:12px;font-size:15px;font-weight:900;letter-spacing:.08em;outline:none;text-transform:uppercase; }
.referral-redeem-card button { width:100%;justify-content:center;text-align:center; }
.invite-download-tip { color:var(--muted);font-size:10px;line-height:1.5;word-break:break-all; }
.invite-poster-wrap { margin-top:2px; }
.invite-poster { display:grid;gap:12px;padding:16px;border-radius:22px;background:radial-gradient(circle at 75% 10%,rgba(182,246,49,.28),transparent 36%),linear-gradient(160deg,#06150f,#0f2c20);border:1px solid rgba(182,246,49,.28);box-shadow:0 16px 34px rgba(0,0,0,.24); }
.invite-poster-rule { display:grid;gap:5px;text-align:center;padding:6px 10px 2px; }
.invite-poster-rule span { color:#b8ff2f;font-size:11px;font-weight:900;letter-spacing:.12em; }
.invite-poster-rule strong { display:grid;gap:2px;color:#f4fff4;font-size:19px;line-height:1.4;letter-spacing:.03em; }
.invite-poster-rule strong span { color:inherit;font:inherit;letter-spacing:inherit; }
.invite-poster-brand { display:grid;gap:4px;text-align:center; }
.invite-poster-brand span { color:#f4fff4;font-size:18px;font-weight:900;letter-spacing:.08em; }
.invite-poster-brand b { color:#b7c8bb;font-size:11px; }
.invite-poster-main { display:grid;justify-items:center;gap:10px;padding:14px;border-radius:18px;background:rgba(244,255,244,.96); }
.invite-poster-main strong { color:#071510;font-size:16px; }
.invite-poster-main img { width:172px;height:172px;object-fit:contain;border-radius:14px;background:#fff; }
.invite-poster-main small { color:#55655a;font-size:11px; }
.invite-poster-code { display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:15px;background:rgba(182,246,49,.12);border:1px dashed rgba(182,246,49,.34); }
.invite-poster-code span { color:#b7c8bb;font-size:11px;font-weight:900; }
.invite-poster-code b { color:#b8ff2f;font-size:20px;letter-spacing:.1em; }
.invite-poster p { margin:0;color:#b7c8bb;font-size:11px;line-height:1.7;text-align:center; }
.profile-edit-form { display:grid;gap:11px;margin-top:12px; }
.profile-edit-avatar { width:74px;height:74px;display:grid;place-items:center;justify-self:center;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,var(--lime),var(--green));color:var(--accent-on);font-size:24px;font-weight:900;box-shadow:0 12px 24px rgba(0,0,0,.18); }
.profile-edit-field { display:grid;gap:7px; }
.profile-edit-field span { color:var(--muted);font-size:11px;font-weight:800; }
.profile-edit-field input { width:100%;border:1px solid var(--line);border-radius:14px;background:var(--soft-fill);color:var(--text);padding:12px;font-size:13px;outline:none; }
.profile-save-button { width:100%;justify-content:center;text-align:center; }
.profile-service-content { display:grid;gap:12px;margin-top:12px; }
.profile-service-content img { width:168px;height:168px;object-fit:cover;justify-self:center;border-radius:20px;background:#fff;padding:8px; }
.profile-service-content div { display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:14px;background:var(--soft-fill);padding:12px; }
.profile-service-content span { color:var(--muted);font-size:11px;font-weight:800; }
.profile-service-content b { color:var(--lime);font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.profile-service-row b { flex:1; }
.access-full-button { width:100%;justify-content:center;text-align:center; }
@media (min-width: 700px) {
  body { padding: 24px 0; }
  .app-shell { min-height: calc(100vh - 48px); border-radius: 28px; box-shadow: var(--app-shadow); }
  .bottom-nav { bottom: 24px; border-radius: 0 0 28px 28px; }
  .detail-drawer { min-height: calc(100vh - 48px); top:24px; bottom:24px; border-radius:28px; }
}