:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f4f6f8;--surface:#fff;--surface-muted:#eef2f5;--border:#d7dee6;--text:#17202a;--muted:#617081;--accent:#b92121;--accent-muted:#f3d6d6;--top-row-bg:#c8d8bf;--favorite-row-bg:#c9a83a;--favorite-row-text:#17130b;--own-marker:#f0d000;--tip-points:#c01f1f;--position-up:#1e8f52;--position-down:#c01f1f;--hover-overlay:#1b5d921f;--shadow:0 1px 3px #0f172a1a}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#15191f;--surface:#20262e;--surface-muted:#2a323c;--border:#3a4652;--text:#eef3f8;--muted:#a3afbd;--accent:#f36f5c;--accent-muted:#5a2d2a;--top-row-bg:#365139;--favorite-row-bg:#6c5416;--favorite-row-text:#f7f1dc;--own-marker:#f4d400;--tip-points:#ff6a5e;--position-up:#67d58c;--position-down:#ff6a5e;--hover-overlay:#89b8dd2e;--shadow:none}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#15191f;--surface:#20262e;--surface-muted:#2a323c;--border:#3a4652;--text:#eef3f8;--muted:#a3afbd;--accent:#f36f5c;--accent-muted:#5a2d2a;--top-row-bg:#365139;--favorite-row-bg:#6c5416;--favorite-row-text:#f7f1dc;--own-marker:#f4d400;--tip-points:#ff6a5e;--position-up:#67d58c;--position-down:#ff6a5e;--hover-overlay:#89b8dd2e;--shadow:none}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{background:var(--background);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,select,input{font:inherit}.app-shell{flex-direction:column;gap:10px;height:100dvh;padding:10px;display:flex;overflow:hidden}.top-status{justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:0 4px;display:flex}.top-status h1{margin:0;font-size:20px;font-weight:720;line-height:1.1}.brand-block{align-items:center;gap:10px;min-width:0;display:flex}.brand-logo{width:42px;height:42px;box-shadow:var(--shadow);border-radius:9px;flex:none}.own-tipper-status{border:1px solid var(--border);border-left:4px solid var(--own-marker);background:var(--surface);min-width:320px;box-shadow:var(--shadow);border-radius:6px;flex:none;grid-template-columns:auto auto auto;justify-content:center;align-items:center;gap:2px 12px;padding:6px 12px 7px;display:grid}.top-status .own-tipper-name{color:var(--muted);text-transform:uppercase;grid-column:1/-1;font-size:11px;font-weight:800;line-height:1}.own-rank-block,.own-points-block{gap:1px;display:grid}.own-rank-block{justify-items:start}.own-points-block{justify-items:end}.top-status .own-current-rank{color:var(--accent);font-size:28px;font-weight:900;line-height:.95}.top-status .own-previous-rank,.top-status .own-total-points{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:700;line-height:1.05}.top-status .own-position-delta{border-radius:5px;justify-content:center;align-items:center;gap:4px;min-width:42px;padding:3px 6px;font-size:15px;font-weight:900;line-height:1;display:inline-flex}.top-status .own-position-delta-up{color:var(--position-up);background:color-mix(in srgb, var(--position-up) 14%, transparent)}.top-status .own-position-delta-down{color:var(--position-down);background:color-mix(in srgb, var(--position-down) 13%, transparent)}.top-status .own-position-delta-same{color:var(--muted);background:color-mix(in srgb, var(--muted) 12%, transparent)}.own-position-delta-up .position-delta-icon{border-bottom:8px solid;border-left:5px solid #0000;border-right:5px solid #0000}.own-position-delta-down .position-delta-icon{border-top:8px solid;border-left:5px solid #0000;border-right:5px solid #0000}.own-position-delta-same .position-delta-icon{background:currentColor;border-radius:50%;width:6px;height:6px}.top-status .own-matchday-points{color:var(--text);white-space:nowrap;font-size:18px;font-weight:900;line-height:1}.own-tipper-status.is-empty{border-left-color:var(--border);grid-template-columns:auto auto;min-width:230px}.top-status .own-tipper-status.is-empty .own-current-rank,.top-status span,.panel-header span,.muted{color:var(--muted)}.top-status strong{color:var(--accent);font-size:13px}.top-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.mobile-header-actions{display:none}.toolbar-select{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.toolbar-select select{border:1px solid var(--border);background:var(--surface);max-width:210px;min-height:30px;color:var(--text);border-radius:5px;padding:4px 7px}.icon-text-button{border:1px solid var(--border);background:var(--surface);min-height:30px;color:var(--text);cursor:pointer;border-radius:5px;padding:5px 9px}.icon-text-button:hover{border-color:var(--accent)}.icon-text-button:disabled,.toolbar-select select:disabled{cursor:not-allowed;opacity:.55}.simulation-button.active{border-color:var(--accent);background:var(--accent);color:#fff}.desktop-dashboard{--live-match-timeline-height:50px;--live-match-timeline-gap:8px;flex:1;min-height:0;display:grid;position:relative;overflow:hidden}.matchday-pane{grid-area:1/1;min-width:0;min-height:0}.league-pane{grid-area:3/1;min-width:0;min-height:0}.ranking-pane{grid-area:5/1;min-width:0;min-height:0}.tips-pane{grid-area:1/3/6;min-width:0;min-height:0}.insights-pane{grid-area:1/5/6;min-width:0;min-height:0}.live-match-timeline-pane{z-index:6;top:0;right:0;left:calc(var(--left-width,0px) + 8px);height:var(--live-match-timeline-height);min-width:0;position:absolute}.live-match-timeline-pane .live-match-timeline,.mobile-live-match-timeline .live-match-timeline{border:1px solid var(--border);height:100%;box-shadow:var(--shadow);border-radius:6px}.desktop-dashboard.has-live-match-timeline .tips-pane,.desktop-dashboard.has-live-match-timeline .insights-pane,.desktop-dashboard.has-live-match-timeline .resize-handle-insights{padding-top:calc(var(--live-match-timeline-height) + var(--live-match-timeline-gap))}.panel{background:var(--surface);border:1px solid var(--border);min-width:0;height:100%;min-height:0;box-shadow:var(--shadow);border-radius:6px;flex-direction:column;display:flex;overflow:hidden}.panel-header{border-bottom:1px solid var(--border);background:var(--surface-muted);justify-content:space-between;align-items:center;gap:10px;min-height:40px;padding:8px 10px;display:flex}.panel-header>div:first-child{min-width:0}.panel-header h2{margin:0;font-size:14px;line-height:1.1}.panel-header span{margin-top:2px;font-size:11px;display:block}.panel-actions{flex:none}.panel-select{border:1px solid var(--border);background:var(--surface);max-width:190px;min-height:28px;color:var(--text);border-radius:5px;padding:3px 7px;font-size:11px}.panel-body{flex:1;min-height:0;overflow:hidden}.table-scroll{width:100%;height:100%;overflow-y:auto}.horizontal-scroll{overflow-x:auto}.tips-content-layout{flex-direction:column;gap:8px;width:100%;height:100%;min-height:0;display:flex}.tips-content-layout.with-comparison-panel{gap:0;display:grid}.tips-table-area{flex:auto;min-height:0}.tips-content-layout.with-comparison-panel .tips-table-area{min-height:0}.tips-table-area>.table-scroll{height:100%}.live-match-timeline{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface-muted) 58%, var(--surface));flex:0 0 50px;align-items:center;height:50px;max-height:50px;padding:4px 12px;display:flex;overflow:hidden}.live-match-timeline-track{flex:auto;min-width:0;height:100%;margin:0 12px;position:relative}.live-match-timeline-line{background:#050505;border-radius:999px;height:2px;position:absolute;top:18px;left:0;right:0}.live-match-timeline-pause-range{background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--accent) 22%, transparent) 0 4px, transparent 4px 8px);pointer-events:none;border-radius:999px;height:9px;position:absolute;top:14px}.live-match-timeline-scale{pointer-events:none;height:18px;position:absolute;bottom:0;left:0;right:0}.live-match-timeline-scale-tick{--tick-shift:-50%;min-width:34px;max-width:88px;transform:translateX(var(--tick-shift));color:var(--muted);white-space:nowrap;text-align:center;font-size:8px;line-height:1.05;position:absolute;bottom:0}.live-match-timeline-scale-tick:before{content:"";background:color-mix(in srgb, var(--muted) 70%, transparent);width:1px;height:5px;margin:0 auto 1px;display:block}.live-match-timeline-scale-tick span,.live-match-timeline-scale-tick small{text-overflow:ellipsis;display:block;overflow:hidden}.live-match-timeline-scale-tick span{color:var(--text);font-weight:720}.live-match-timeline-scale-tick small{font-size:8px}.live-match-timeline-marker{--lane-offset:0px;top:calc(18px + var(--lane-offset));border:1px solid var(--border);background:var(--surface);width:20px;height:20px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 2px #0f172a24}.live-match-timeline-marker:hover,.live-match-timeline-marker:focus-visible{border-color:var(--accent);outline:none}.live-match-timeline-marker svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.live-match-timeline-marker-goal,.live-match-timeline-marker-score{color:#050505;background:#fff;border-color:#050505}.live-match-timeline-marker-fulltime{border-color:color-mix(in srgb, var(--position-down) 72%, var(--border));color:var(--position-down)}.live-match-timeline-tooltip .timeline-tooltip-table th:first-child,.live-match-timeline-tooltip .timeline-tooltip-table td:first-child{width:22%}.live-match-timeline-tooltip .timeline-tooltip-table th:nth-child(2),.live-match-timeline-tooltip .timeline-tooltip-table td:nth-child(2){width:18%}.live-match-timeline-tooltip .timeline-tooltip-table th:nth-child(3),.live-match-timeline-tooltip .timeline-tooltip-table td:nth-child(3){text-align:right;width:15%}.live-match-timeline-tooltip .timeline-tooltip-table th:nth-child(4),.live-match-timeline-tooltip .timeline-tooltip-table td:nth-child(4){text-align:left;width:45%}.tips-detail-resize-handle{cursor:row-resize;touch-action:none;min-height:8px;padding:2px 0}.tips-detail-resize-handle:after{content:"";background:var(--border);opacity:.9;border-radius:3px;width:100%;height:4px;display:block}.tips-detail-resize-handle:hover:after{background:var(--accent)}.tipper-comparison-panel{border-top:1px solid var(--border);flex-direction:column;gap:8px;min-height:0;padding-top:6px;display:flex;overflow:auto}.comparison-header{flex:none;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.comparison-header h3{margin:0;font-size:13px;line-height:1.2}.comparison-header span,.comparison-note,.comparison-empty{color:var(--muted);font-size:11px}.comparison-header strong{color:var(--accent);font-size:12px}.tipper-comparison-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;min-height:0;display:grid}.tipper-comparison-card{border:1px solid var(--border);background:var(--surface-muted);border-radius:6px;min-width:0;padding:8px}.tipper-comparison-card header{border-bottom:1px solid var(--border);padding-bottom:6px}.tipper-comparison-card h4{margin:0;font-size:12px;line-height:1.2}.tipper-comparison-card header span{color:var(--muted);font-size:11px}.comparison-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;margin:7px 0 0;display:grid}.comparison-metrics div{justify-content:space-between;gap:7px;min-width:0;display:flex}.comparison-metrics dt{color:var(--muted);font-size:10px}.comparison-metrics dd{text-align:right;margin:0;font-size:10px;font-weight:780}.comparison-empty{border:1px dashed var(--border);background:var(--surface-muted);border-radius:6px;padding:12px}.matrix-table-layout{flex-direction:column;gap:6px;width:100%;height:100%;min-height:0;display:flex}.matrix-table-layout .table-scroll{flex:1;min-height:0}.matrix-table-toolbar{color:var(--muted);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:0 2px;font-size:11px;display:flex}.matrix-table-toolbar span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.overall-matrix-table .missing-matchday-column{text-align:center;width:28px;min-width:28px;max-width:28px;color:var(--muted);letter-spacing:1px;font-size:10px;font-weight:850;position:relative;overflow:hidden;padding:0!important}.overall-matrix-table .missing-matchday-before{box-shadow:inset 1px 0 0 var(--border);background:linear-gradient(90deg, transparent, var(--border))!important}.overall-matrix-table .missing-matchday-after{box-shadow:inset -1px 0 0 var(--border);background:linear-gradient(90deg, var(--border), transparent)!important}.overall-matrix-table .missing-matchday-column span{z-index:1;opacity:.65;position:relative}.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px;line-height:1.25}.data-table th,.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap;padding:5px 7px}.data-table th{z-index:2;background:var(--surface-muted);color:var(--muted);text-align:left;font-size:11px;font-weight:700;position:sticky;top:0}.data-table tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--surface-muted) 45%, transparent)}.data-table tbody tr:hover td,.data-table tbody tr.is-linked-hover td{box-shadow:inset 0 0 0 9999px var(--hover-overlay)}.data-table tbody tr.is-favorite-tipper{--row-bg:var(--favorite-row-bg);color:var(--favorite-row-text)}.data-table tbody tr.is-top-points{--row-bg:var(--top-row-bg)}.data-table tbody tr.is-favorite-tipper td,.data-table tbody tr.is-top-points td{background:var(--row-bg)}.data-table tbody tr.is-own-tipper td:first-child{border-left:5px solid var(--own-marker);padding-left:2px}.ranking-table tbody tr.is-rank-up td:first-child,.tips-table tbody tr.is-rank-up td:first-child,.league-table tbody tr.is-rank-up td:first-child{border-left:4px solid var(--position-up);padding-left:3px}.ranking-table tbody tr.is-rank-down td:first-child,.tips-table tbody tr.is-rank-down td:first-child,.league-table tbody tr.is-rank-down td:first-child{border-left:4px solid var(--position-down);padding-left:3px}.ranking-table tbody tr.is-own-tipper td:first-child{border-left:5px solid var(--own-marker);padding-left:2px}.matchday-table tbody tr.is-active-match td,.league-table tbody tr.is-active-match td{font-weight:850}.matchday-table tbody tr.is-active-match .score-cell{font-weight:900}.matchday-table,.league-table{table-layout:fixed}.matchday-table th:first-child,.matchday-table td:first-child{font-variant-numeric:tabular-nums;width:94px;min-width:94px;overflow:visible}.matchday-table .score-column,.matchday-table .score-cell{width:58px}.league-table .number-column{width:38px}.league-table th:nth-child(5),.league-table td:nth-child(5){width:56px}.matchday-team-cell,.league-team-column{min-width:0;overflow:hidden}.matchday-team-label{grid-template-columns:3ch 18px minmax(0,1fr);align-items:center;gap:4px;width:100%;min-width:0;display:grid}.matchday-team-logo-slot{justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.matchday-team-logo,.league-team-logo{object-fit:contain;flex:none;width:16px;height:16px}.matchday-team-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.matchday-team-position{width:3ch;color:color-mix(in srgb, var(--muted) 58%, var(--surface));font-variant-numeric:tabular-nums;text-align:right;justify-self:end;font-size:10px;font-weight:650}.data-table tbody tr.is-simulation-edited td,.tip-cell.is-simulation-edited{box-shadow:inset 0 0 0 9999px color-mix(in srgb, var(--accent) 10%, transparent)}.number-column{width:1%;text-align:right!important}.ranking-matchday-column{width:1%;min-width:38px;text-align:right!important}.ranking-name-cell{align-items:center;gap:6px;display:flex}.tipper-name-cell,.league-team-cell{align-items:center;gap:6px;min-width:0;display:inline-flex}.league-team-cell{width:100%;display:flex}.tipper-name-cell>span:first-child,.league-team-cell>span:first-child,.ranking-name-cell>span:first-child,.league-team-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ranking-change-badges{flex:none;align-items:center;gap:4px;display:inline-flex}.rank-change-badge,.points-change-badge{border-radius:4px;align-items:center;gap:3px;min-height:17px;padding:1px 4px;font-size:10px;font-weight:850;line-height:1;display:inline-flex}.rank-change-up{color:var(--position-up);background:color-mix(in srgb, var(--position-up) 14%, transparent)}.rank-change-down{color:var(--position-down);background:color-mix(in srgb, var(--position-down) 13%, transparent)}.rank-change-up .position-delta-icon{border-bottom:7px solid;border-left:4px solid #0000;border-right:4px solid #0000}.rank-change-down .position-delta-icon{border-top:7px solid;border-left:4px solid #0000;border-right:4px solid #0000}.points-change-badge{color:var(--tip-points);background:color-mix(in srgb, var(--tip-points) 14%, transparent);animation:4.2s ease-out points-flash}.ranking-points-cell.is-points-changed,.ranking-matchday-column.is-points-changed,.tip-matchday-points-cell.is-points-changed,.tip-total-points-cell.is-points-changed,.league-points-cell.is-points-changed,.league-diff-cell.is-points-changed{color:var(--tip-points);font-weight:900;animation:4.2s ease-out points-flash}@keyframes points-flash{0%{background:color-mix(in srgb, var(--tip-points) 40%, transparent);box-shadow:inset 0 0 0 9999px color-mix(in srgb, var(--tip-points) 16%, transparent)}55%{background:color-mix(in srgb, var(--tip-points) 16%, transparent);box-shadow:inset 0 0 0 9999px color-mix(in srgb, var(--tip-points) 8%, transparent)}to{box-shadow:none;background:0 0}}.score-column{text-align:center!important}.score-cell{text-align:center;min-width:44px;color:var(--accent);font-weight:800}.score-editor,.tip-score-editor{justify-content:center;align-items:center;gap:2px;display:inline-flex}.score-input{appearance:textfield;border:1px solid var(--border);background:var(--surface);width:18px;min-height:24px;color:var(--text);text-align:center;border-radius:4px;padding:1px;font-size:10px;font-weight:800}.score-input::-webkit-outer-spin-button{appearance:none;margin:0}.score-input::-webkit-inner-spin-button{appearance:none;margin:0}.score-input:focus{border-color:var(--accent);outline:2px solid color-mix(in srgb, var(--accent) 22%, transparent)}.score-separator{color:var(--muted);font-weight:850}.strong{font-weight:780}.nowrap{white-space:nowrap}.sticky-name{z-index:1;text-overflow:ellipsis;background:var(--row-bg,var(--surface));min-width:150px;max-width:210px;position:sticky;left:0;overflow:hidden}th.sticky-name{z-index:3;background:var(--surface-muted)}.tips-table,.overall-matrix-table{width:max-content}.ranking-table{width:max-content;min-width:100%}.tips-table th,.tips-table td,.overall-matrix-table th,.overall-matrix-table td{padding-inline:8px}.delta-column{width:42px;min-width:42px;text-align:center!important}.compare-select-column{width:30px;min-width:30px;text-align:center!important}.compare-select-control{justify-content:center;align-items:center;display:inline-flex}.compare-select-control input{width:15px;height:15px;accent-color:var(--accent);margin:0}.compare-select-control input:disabled{opacity:.35;cursor:not-allowed}.tips-table tbody tr.is-comparison-selected td{box-shadow:inset 0 0 0 9999px color-mix(in srgb, var(--accent) 8%, transparent)}.position-delta{justify-content:center;align-items:center;gap:3px;min-width:28px;font-size:11px;font-weight:800;display:inline-flex}.position-delta-up{color:var(--position-up)}.position-delta-down{color:var(--position-down)}.position-delta-same{color:var(--muted)}.position-delta-icon{width:0;height:0;display:inline-block}.position-delta-up .position-delta-icon{border-bottom:8px solid;border-left:5px solid #0000;border-right:5px solid #0000}.position-delta-down .position-delta-icon{border-top:8px solid;border-left:5px solid #0000;border-right:5px solid #0000}.position-delta-same .position-delta-icon{background:currentColor;border-radius:50%;width:6px;height:6px}.tip-column{min-width:58px;max-width:66px;text-align:center!important}.tip-header-stack{grid-template-rows:repeat(3,auto);justify-items:center;gap:1px;min-width:36px;line-height:1.05;display:grid}.tip-header-stack span,.tip-header-stack strong{display:block}.tip-header-stack strong{color:var(--text);font-size:10px}.tip-cell{text-align:center;min-width:58px}.tip-score{font-weight:620}.tip-input{width:16px;min-height:22px;font-size:9px}.tip-points{color:var(--tip-points);margin-left:2px;font-size:.72em;font-weight:800;line-height:0;position:relative;top:.48em}.summary-column{width:48px;min-width:48px;text-align:right!important}.matchday-value-column{min-width:38px;text-align:right!important}.overall-matrix-table th.matchday-value-column.is-focus-matchday{color:var(--text);box-shadow:inset 0 -2px 0 var(--own-marker);background:color-mix(in srgb, var(--own-marker) 35%, var(--surface-muted))!important}.overall-matrix-table td.matchday-value-column.is-focus-matchday{box-shadow:inset 1px 0 0 color-mix(in srgb, var(--own-marker) 45%, transparent), inset -1px 0 0 color-mix(in srgb, var(--own-marker) 45%, transparent);font-weight:850;background:color-mix(in srgb, var(--own-marker) 18%, var(--row-bg,var(--surface)))!important}.top-points-value{color:var(--tip-points);font-weight:900}.resize-handle{touch-action:none;background:0 0}.resize-handle:after{content:"";background:var(--border);opacity:.9;border-radius:3px;width:100%;height:100%;display:block}.resize-handle:hover:after{background:var(--accent)}.resize-handle-vertical{cursor:col-resize;grid-area:1/2/6}.resize-handle-insights{cursor:col-resize;grid-area:1/4/6}.resize-handle-left-top{cursor:row-resize;grid-area:2/1}.resize-handle-left-bottom{cursor:row-resize;grid-area:4/1}.matchday-actions{align-items:center;gap:5px;font-size:12px;display:inline-flex}.matchday-actions span{min-width:22px;color:var(--text);text-align:center;margin:0;font-weight:750}.compact-button{border:1px solid var(--border);background:var(--surface);min-width:28px;min-height:26px;color:var(--text);cursor:pointer;border-radius:5px;padding:2px 7px}.compact-button:hover:not(:disabled){border-color:var(--accent)}.compact-button:disabled{cursor:not-allowed;opacity:.45}.compact-button-current{min-width:56px}.segmented-control{border:1px solid var(--border);border-radius:5px;display:inline-flex;overflow:hidden}.segmented-control button,.mobile-tabs button{color:var(--text);cursor:pointer;background:0 0;border:0}.segmented-control button{padding:4px 8px;font-size:11px}.segmented-control button.active,.mobile-tabs button.active{background:var(--accent);color:#fff}.empty-state{color:var(--muted);padding:16px;font-size:13px}.rules-panel,.openliga-panel{height:100%;padding:10px;font-size:12px;overflow-y:auto}.rules-summary,.openliga-summary{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;display:grid}.rule-item,.rule-list-row{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-muted) 55%, transparent);border-radius:6px}.rule-item{gap:5px;padding:8px;display:grid}.rule-item span,.rules-section h3,.rule-list-row span{color:var(--muted)}.rule-item strong{font-weight:680;line-height:1.35}.rules-section{margin-top:14px}.rules-section h3{margin:0 0 7px;font-size:12px;line-height:1.2}.rules-table-wrap{border:1px solid var(--border);border-radius:6px;max-height:260px}.rules-table{width:100%}.openliga-match-list{gap:8px;display:grid}.openliga-match-card{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-muted) 55%, transparent);border-radius:6px;gap:7px;padding:8px;display:grid}.openliga-match-card header{justify-content:space-between;align-items:center;gap:8px;display:flex}.openliga-match-card header span,.openliga-match-card small,.openliga-source span{color:var(--muted)}.openliga-match-card header strong{font-size:14px}.openliga-match-teams{gap:5px;display:grid}.openliga-team-identity{grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;display:inline-grid}.openliga-team-identity img,.openliga-team-placeholder{object-fit:contain;width:18px;height:18px}.openliga-team-placeholder{background:var(--border);border-radius:50%}.openliga-team-identity span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.openliga-team-identity small{color:var(--muted);font-size:10px}.openliga-match-card ul{gap:3px;margin:0;padding-left:18px;display:grid}.openliga-table-wrap{border:1px solid var(--border);border-radius:6px;max-height:260px}.openliga-source{color:var(--muted);align-items:center;gap:8px;margin-top:12px;font-size:11px;display:flex}.openliga-source a{color:var(--accent);text-decoration:none}.recommendations-panel{flex-direction:column;gap:12px;height:100%;min-height:0;display:flex;position:relative}.recommendation-calculation-overlay{z-index:45;background:color-mix(in srgb, var(--surface) 86%, transparent);color:var(--text);text-align:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:6px;place-content:center;justify-items:center;gap:7px;padding:18px;display:grid;position:absolute;inset:0}.recommendation-calculation-overlay strong{font-size:14px;font-weight:880}.recommendation-calculation-overlay span{color:var(--muted);font-size:12px}.recommendation-calculation-gear{width:42px;height:42px;color:var(--accent);animation:1.1s linear infinite recommendation-gear-spin}@keyframes recommendation-gear-spin{to{transform:rotate(360deg)}}.recommendation-settings{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-muted) 55%, transparent);border-radius:6px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:9px;display:grid}.recommendation-settings label{gap:4px;min-width:0;display:grid}.recommendation-settings span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:780}.recommendation-setting-head{align-items:center;gap:5px;min-width:0;display:flex}.recommendation-setting-head span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.recommendation-setting-head i{border:1px solid var(--border);width:14px;height:14px;color:var(--accent);background:var(--surface);cursor:help;border-radius:50%;flex:none;place-items:center;font-size:9px;font-style:normal;line-height:1;display:inline-grid}.recommendation-setting-note{color:var(--muted);font-size:10px;line-height:1.3}.recommendation-settings select,.recommendation-settings input[type=range]{width:100%;min-width:0}.recommendation-settings select{border:1px solid var(--border);background:var(--surface);min-height:28px;color:var(--text);border-radius:5px;padding:3px 6px;font-size:11px}.recommendation-range{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 6px!important}.recommendation-range span,.recommendation-range input,.recommendation-range .recommendation-setting-head,.recommendation-range .recommendation-setting-note,.recommendation-range b,.recommendation-settings-check .recommendation-setting-head,.recommendation-settings-check .recommendation-setting-note{grid-column:1/-1}.recommendation-range b{color:var(--text);justify-self:end;font-size:11px;font-weight:850}.recommendation-settings-check{grid-template-columns:minmax(0,1fr) auto;align-items:center}.recommendation-settings-check input{justify-self:end}.recommendation-hints{gap:6px;display:grid}.recommendation-hints span{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent-muted) 48%, transparent);color:var(--text);border-radius:5px;padding:6px 8px;font-size:11px;line-height:1.35}.recommendation-backtest{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-muted) 55%, transparent);border-radius:6px;gap:7px;padding:9px;display:grid}.recommendation-backtest header{gap:3px;display:grid}.recommendation-backtest header div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.recommendation-backtest header span,.recommendation-backtest header small,.recommendation-backtest article small{color:var(--muted);font-size:11px;line-height:1.35}.recommendation-backtest header span{text-transform:uppercase;font-weight:800}.recommendation-backtest header strong{font-size:12px}.recommendation-backtest>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.recommendation-backtest article{border:1px solid var(--border);background:var(--surface);border-radius:5px;gap:2px;min-width:0;padding:6px;display:grid}.recommendation-backtest article.is-best{border-color:var(--position-up);background:color-mix(in srgb, var(--position-up) 12%, var(--surface))}.recommendation-backtest article strong,.recommendation-backtest article span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.recommendation-backtest article strong{font-size:11px}.recommendation-backtest article span{color:var(--accent);font-size:12px;font-weight:860}.recommendation-list{flex:auto;align-content:start;gap:10px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.recommendation-card{border:1px solid var(--border);background:var(--surface);border-radius:6px;gap:9px;padding:10px;display:grid}.recommendation-card header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.recommendation-card header div{gap:1px;min-width:0;display:grid}.recommendation-card header span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:780;overflow:hidden}.recommendation-card header small,.recommendation-card footer{color:var(--muted);font-size:11px}.recommendation-card header strong{color:var(--accent);white-space:nowrap;font-size:24px;font-weight:920;line-height:1}.recommendation-meta,.recommendation-candidates,.recommendation-probable{flex-wrap:wrap;gap:6px;display:flex}.recommendation-meta span,.recommendation-candidates span,.recommendation-probable b,.recommendation-probable>span{background:var(--surface-muted);min-height:22px;color:var(--muted);border-radius:5px;align-items:baseline;gap:4px;padding:3px 6px;font-size:11px;font-weight:720;display:inline-flex}.recommendation-candidates span.is-primary{background:var(--accent-muted);color:var(--accent)}.recommendation-candidates b{color:inherit;font-size:13px}.recommendation-candidates small{color:inherit;opacity:.8}.recommendation-probable>span{color:var(--muted);text-transform:uppercase}.recommendation-probable b{color:var(--text);font-size:11px;font-weight:840}.recommendation-probable small{color:var(--muted);font-size:10px}.recommendation-freeze-chip{color:var(--accent)!important}.recommendation-confidence-high{color:var(--position-up)!important}.recommendation-confidence-medium{color:var(--accent)!important}.recommendation-confidence-low{color:var(--muted)!important}.recommendation-tendencies{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.recommendation-tendencies div{background:var(--surface-muted);border-radius:5px;min-width:0;padding:5px 6px 7px;position:relative;overflow:hidden}.recommendation-tendencies span,.recommendation-tendencies strong{z-index:1;display:block;position:relative}.recommendation-tendencies span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:760}.recommendation-tendencies strong{font-size:13px;font-weight:850}.recommendation-tendencies i{background:var(--accent);height:3px;position:absolute;bottom:0;left:0}.recommendation-factors{gap:4px;margin:0;display:grid}.recommendation-factors div{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.recommendation-factors dt,.recommendation-factors dd{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:11px;overflow:hidden}.recommendation-factors dt{color:var(--muted)}.recommendation-factors dd{font-weight:800}.recommendation-explanation{border-top:1px solid var(--border);padding-top:7px}.recommendation-explanation summary{cursor:pointer;color:var(--accent);font-size:11px;font-weight:840}.recommendation-explanation p{color:var(--muted);margin:6px 0;font-size:11px;line-height:1.4}.recommendation-explanation dl{gap:6px;margin:0;display:grid}.recommendation-explanation dl div{grid-template-columns:minmax(86px,.42fr) minmax(0,1fr);gap:8px;display:grid}.recommendation-explanation dt,.recommendation-explanation dd{min-width:0;margin:0;font-size:11px;line-height:1.35}.recommendation-explanation dt{color:var(--muted)}.recommendation-explanation dd{gap:2px;display:grid}.recommendation-explanation dd strong{color:var(--text);font-weight:850}.recommendation-explanation dd span{color:var(--muted)}.rules-list{gap:7px;display:grid}.rule-list-row{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:8px;display:grid}.rule-list-row strong{color:var(--accent)}.rule-list-row p{color:var(--text);grid-column:1/-1;margin:0;line-height:1.35}.insights-combined-panel{height:100%;overflow-y:auto}.insights-combined-panel .insights-panel{height:auto;overflow:visible}.live-timeline{padding:10px 10px 0;font-size:12px}.live-timeline header{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:7px;display:flex}.live-timeline h3{color:var(--muted);margin:0;font-size:12px;line-height:1.2}.live-timeline header span,.live-timeline-empty,.live-timeline-main small{color:var(--muted)}.live-timeline-empty{border:1px dashed var(--border);background:color-mix(in srgb, var(--surface-muted) 52%, transparent);border-radius:6px;margin:0;padding:8px;line-height:1.35}.live-timeline-list{gap:6px;display:grid}.live-timeline-item{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-muted) 52%, transparent);width:100%;color:var(--text);text-align:left;cursor:pointer;border-radius:6px;grid-template-columns:10px 36px minmax(0,1fr);gap:7px;padding:7px;display:grid;position:relative}.live-timeline-item:hover,.live-timeline-item:focus-visible{border-color:var(--accent);outline:none}.live-timeline-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;margin-top:4px}.live-timeline-time{color:var(--muted);font-size:11px;font-weight:850;line-height:1.25}.live-timeline-main{gap:3px;min-width:0;display:grid}.live-timeline-main strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;line-height:1.2;overflow:hidden}.live-timeline-main small{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;line-height:1.15;overflow:hidden}.live-timeline-chips{flex-wrap:wrap;gap:3px;display:flex}.timeline-chip{background:var(--surface);min-width:0;max-width:100%;color:var(--muted);border-radius:999px;padding:2px 5px;font-size:10px;font-weight:850;line-height:1.15}.timeline-chip-positive{color:var(--position-up);background:color-mix(in srgb, var(--position-up) 12%, var(--surface))}.timeline-chip-negative{color:var(--position-down);background:color-mix(in srgb, var(--position-down) 12%, var(--surface))}.timeline-tooltip{z-index:1200;border:1px solid var(--border);background:var(--surface);max-height:min(540px,100vh - 16px);color:var(--text);pointer-events:none;border-radius:7px;padding:9px;position:fixed;overflow-y:auto;box-shadow:0 16px 38px #0f172a38}.timeline-tooltip header{border-bottom:1px solid var(--border);padding-bottom:7px}.timeline-tooltip h4,.timeline-tooltip h5{margin:0}.timeline-tooltip h4{font-size:13px;line-height:1.2}.timeline-tooltip header span{color:var(--muted);font-size:11px}.timeline-tooltip section{margin-top:8px}.timeline-tooltip h5{color:var(--muted);font-size:11px}.timeline-tooltip-positive{color:var(--position-up)}.timeline-tooltip-negative{color:var(--position-down)}.timeline-tooltip-table{border-collapse:collapse;table-layout:fixed;width:100%;margin-top:5px;font-size:10.5px}.timeline-tooltip-table th,.timeline-tooltip-table td{border-bottom:1px solid color-mix(in srgb, var(--border) 72%, transparent);text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:3px 5px;overflow:hidden}.timeline-tooltip-table th{color:var(--muted);text-align:left;font-size:9.5px;font-weight:760}.timeline-tooltip-table th:first-child,.timeline-tooltip-table td:first-child{width:31%}.timeline-tooltip-table th:nth-child(2),.timeline-tooltip-table td:nth-child(2){width:27%}.timeline-tooltip-table th:nth-child(3),.timeline-tooltip-table th:nth-child(4),.timeline-tooltip-table th:nth-child(5),.timeline-tooltip-table td:nth-child(3),.timeline-tooltip-table td:nth-child(4),.timeline-tooltip-table td:nth-child(5){text-align:right;font-variant-numeric:tabular-nums;width:14%}.timeline-tooltip-table td:first-child{font-weight:720}.timeline-tooltip-table td:nth-child(5){font-weight:820}.insights-panel{height:100%;padding:10px;font-size:12px;overflow-y:auto}.insight-hero,.insight-card,.insight-list-row{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-muted) 52%, transparent);border-radius:6px}.insight-hero{gap:4px;padding:9px;display:grid}.insight-hero span,.insight-card span,.insight-section h3,.insight-list-row p,.insight-empty{color:var(--muted)}.insight-hero strong{font-size:15px;line-height:1.2}.insight-card-grid{gap:8px;margin-top:9px;display:grid}.insight-sortable-block{cursor:grab;min-width:0}.insight-sortable-block:active{cursor:grabbing}.insight-sortable-block.is-dragging{opacity:.48}.insight-sortable-block[draggable=true] .insight-card,.insight-sortable-block[draggable=true] .insight-section{outline-offset:2px;outline:1px solid #0000}.insight-sortable-block[draggable=true]:hover .insight-card,.insight-sortable-block[draggable=true]:hover .insight-section{outline-color:color-mix(in srgb, var(--accent) 34%, transparent)}.insight-card{border-left:4px solid var(--border);gap:5px;padding:9px 54px 9px 9px;display:grid;position:relative}.insight-card-accent{border-left-color:var(--accent)}.insight-card-good{border-left-color:var(--position-up)}.insight-card-warning{border-left-color:var(--position-down)}.insight-card strong{font-size:14px;line-height:1.2}.insight-card p,.insight-empty{margin:0;line-height:1.35}.insight-help,.insight-hide{border:1px solid var(--border);background:var(--surface);width:18px;height:18px;color:var(--muted);border-radius:50%;place-items:center;padding:0;font-size:11px;font-weight:850;line-height:1;display:inline-grid;position:absolute;top:7px}.insight-help{cursor:help;right:7px}.insight-hide{cursor:pointer;right:29px}.insight-help:hover,.insight-help:focus-visible,.insight-hide:hover,.insight-hide:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}.insight-tooltip-overlay{z-index:1000;border:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;white-space:normal;pointer-events:none;border-radius:5px;padding:7px 8px;font-size:11px;font-weight:520;line-height:1.35;position:fixed;box-shadow:0 8px 20px #0f172a29}.insight-section{margin-top:12px;position:relative}.insight-card-grid .insight-section{margin-top:0}.insight-section h3{margin:0 0 7px;padding-right:54px;font-size:12px;line-height:1.2}.insight-list{gap:7px;display:grid}.insight-list-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:8px;display:grid}.insight-list-row strong,.insight-list-row span{min-width:0}.insight-list-row span{color:var(--accent);font-weight:850}.insight-list-row p{grid-column:1/-1;margin:0;line-height:1.35}.hover-dialog{z-index:18;pointer-events:none;border:1px solid var(--border);background:var(--surface);width:484px;max-height:calc(100vh - 16px);color:var(--text);border-radius:6px;padding:9px;position:fixed;overflow:hidden;box-shadow:0 12px 28px #0f172a2e}.hover-dialog header{border-bottom:1px solid var(--border);padding-bottom:6px}.hover-dialog h3{margin:0;font-size:13px;line-height:1.2}.hover-dialog header span,.hover-dialog p,.hover-dialog-loading{color:var(--muted);font-size:11px}.hover-dialog dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px;margin:7px 0 0;display:grid}.hover-dialog dl div{justify-content:space-between;gap:12px;display:flex}.hover-dialog dt{color:var(--muted);font-size:11px}.hover-dialog dd{text-align:right;margin:0;font-size:11px;font-weight:760}.hover-dialog p{margin:6px 0 0}.hover-dialog-loading{padding-top:9px}.hover-roster{border-top:1px solid var(--border);margin-top:8px;padding-top:7px}.hover-roster-header{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:5px;display:flex}.hover-roster-header strong{font-size:11px}.hover-roster-header span{min-width:0;color:var(--muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.hover-roster ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 12px;max-height:160px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden auto}.hover-roster li{grid-template-columns:22px minmax(0,1fr);align-items:baseline;gap:0 6px;min-width:0;display:grid}.hover-roster-number{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:10px}.hover-roster li strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;overflow:hidden}.hover-roster li small{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:2;font-size:9px;line-height:1.15;overflow:hidden}.hover-charts{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;margin-top:8px;padding-top:7px;display:grid}.hover-charts section{min-height:58px}.hover-charts h4{color:var(--muted);margin:0 0 3px;font-size:11px;line-height:1.1}.hover-charts canvas{display:block;width:100%!important;height:48px!important}.hover-charts .hover-chart-tall{min-height:58px}.hover-charts .hover-chart-tall canvas{height:48px!important}.options-backdrop{z-index:20;background:#080d1261;justify-content:flex-end;display:flex;position:fixed;inset:0}.options-panel{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;gap:14px;width:min(380px,100vw);height:100%;padding:14px;display:flex;overflow-y:auto;box-shadow:-8px 0 28px #0f172a29}.options-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.options-header h2,.options-section h3,.favorites-options h3{margin:0;font-size:16px}.field{gap:5px;font-size:13px;display:grid}.field span,.options-section h3,.favorites-options h3{color:var(--muted)}.field select,.field input[type=number]{border:1px solid var(--border);background:var(--surface-muted);width:100%;min-height:34px;color:var(--text);border-radius:5px;padding:5px 7px}.options-section{gap:8px;display:grid}.options-subsection,.options-checkbox-group{gap:7px;display:grid}.options-subsection{padding-top:4px}.options-subsection h4,.options-checkbox-group>span{color:var(--muted);margin:0;font-size:13px;font-weight:800}.switch-row,.color-row{border:1px solid var(--border);background:var(--surface-muted);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;min-height:34px;padding:6px 8px;font-size:13px;display:flex}.switch-row input{width:42px;height:22px;accent-color:var(--accent);margin:0}.color-row input{border:1px solid var(--border);background:0 0;border-radius:5px;width:48px;height:28px;padding:0}.favorites-options{gap:8px;display:grid}.favorites-list{border:1px solid var(--border);border-radius:6px;min-height:118px;max-height:260px;overflow-y:auto}.insight-options-list{border:1px solid var(--border);border-radius:6px;min-height:118px;max-height:190px;overflow-y:auto}.checkbox-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;min-height:32px;padding:5px 8px;font-size:13px;display:flex}.checkbox-row:last-child{border-bottom:0}.checkbox-row input{flex:none}.mobile-dashboard{display:none}.mobile-live-match-timeline{flex:0 0 50px;min-height:50px}@media (width<=1100px){.app-shell{padding:8px;overflow:hidden}.top-status{flex-wrap:nowrap;align-items:center;gap:8px;min-height:44px}.top-status h1{font-size:18px}.brand-block{flex:auto;min-width:0}.brand-block>div{min-width:0}.brand-block span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.brand-logo{border-radius:8px;width:36px;height:36px}.own-tipper-status,.desktop-header-actions{display:none}.mobile-header-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.mobile-matchday-actions{gap:7px;font-size:14px}.mobile-matchday-actions .compact-button{min-width:42px;min-height:40px;padding:6px 10px;font-size:16px;font-weight:850}.mobile-matchday-actions .compact-button-current{min-width:72px;font-size:13px}.mobile-matchday-actions span{min-width:28px;font-size:15px}.mobile-action-menu{position:relative}.mobile-action-menu summary{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;padding:6px 11px;font-size:13px;font-weight:750;list-style:none;display:inline-flex}.mobile-action-menu summary::-webkit-details-marker{display:none}.mobile-action-menu[open] summary{border-color:var(--accent)}.mobile-action-menu-panel{z-index:35;border:1px solid var(--border);background:var(--surface);border-radius:7px;gap:8px;width:min(280px,100vw - 16px);padding:10px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 30px #0f172a38}.mobile-action-menu-panel .icon-text-button,.mobile-action-menu-panel .toolbar-select select{width:100%;max-width:none}.mobile-action-menu-panel .toolbar-select{flex-direction:column;align-items:stretch;gap:4px}.desktop-dashboard{display:none}.mobile-dashboard{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.mobile-tabs{border:1px solid var(--border);background:var(--surface);border-radius:6px;grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid;overflow:hidden}.mobile-tabs button{border-right:1px solid var(--border);min-height:38px;font-size:13px}.mobile-tabs button:last-child{border-right:0}.mobile-dashboard .panel{flex:1}.recommendation-settings,.recommendation-backtest>div{grid-template-columns:repeat(2,minmax(0,1fr))}.hover-dialog{display:none}.data-table{font-size:11px}.data-table th,.data-table td{padding:5px 6px}}
