:root{--bg-app-root: #1a1a1a;--bg-panel-main: #242424;--bg-panel-header: #2c2c2c;--bg-table-header: #242424;--bg-hover: #333333;--bg-active: #4a4a4a;--bg-surface-3: #3a3a3a;--bg-highlight-subtle: rgba(255, 255, 255, .03);--bg-highlight-medium: rgba(255, 255, 255, .06);--bg-highlight-strong: rgba(255, 255, 255, .15);--bg-standings-group-header: #242424;--bg-standings-group-hover: rgba(255, 255, 255, .05);--bg-standings-group-placeholder: rgba(0, 0, 0, .15);--bg-control-glass: rgba(44, 44, 44, .8);--bg-control-glass-hover: rgba(60, 60, 60, .9);--bg-banner-error: rgba(211, 58, 58, .6);--bg-banner-success: rgba(65, 136, 67, .9);--bg-overlay: rgba(0, 0, 0, .6);--bg-modal: #2c2c2c;--bg-modal-header: #333333;--bg-tooltip: rgba(44, 44, 44, .95);--bg-row-selected: #4f4f4f;--bg-input: #222222;--bg-toggle-off: #555555;--text-primary: rgba(255, 255, 255, .87);--text-secondary: #e0e0e0;--text-muted: #a0a0a0;--text-dark: #888888;--text-ghost: #bdbdbd;--text-placeholder: #aaaaaa;--text-inverse: #ffffff;--border-subtle: #555555;--border-hover: #777777;--border-focus: #a0a0a0;--border-strong: #666666;--border-time-machine-divider: #444444;--accent-primary: #00aaff;--time-machine-primary: #00aaff;--time-machine-primary-rgb: 0, 170, 255;--time-machine-border: #cceeff;--link-primary: #8ab4f8;--bg-link: rgba(138, 180, 248, .1);--bg-link-hover: rgba(138, 180, 248, .2);--status-success: #4caf50;--status-success-hover: #45a049;--status-success-pale: #68d19a;--status-success-border: #a5f3c6;--status-danger: #ff4f4f;--status-error-text: #ff8a8a;--status-live: #ff6b6b;--status-warning: #ffc107;--status-warning-hover: #ffca2c;--data-good: #64cc7a;--data-neutral: #dddddd;--data-bad: #ff8a8a;--data-good-rgb: 100, 204, 122;--data-neutral-rgb: 221, 221, 221;--data-bad-rgb: 255, 138, 138;--shadow-default: rgba(0, 0, 0, .5);--spinner-track: rgba(255, 255, 255, .3);--flash-bg: rgba(255, 255, 255, .4);font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:var(--text-primary);background-color:var(--bg-panel-main);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body,html,#root{margin:0;padding:0;width:100vw;height:100vh;overflow:hidden}body.is-dragging-timeline{cursor:grabbing!important;-webkit-user-select:none;user-select:none}body.is-dragging-timeline *{cursor:grabbing!important;pointer-events:none!important}body.is-dragging-slider{cursor:ew-resize!important;-webkit-user-select:none;user-select:none}body.is-dragging-slider *{cursor:ew-resize!important;pointer-events:none!important}.app-selector{background-color:var(--bg-panel-header);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:5px;padding:4px 8px;font-size:14px;cursor:pointer;height:30px;-webkit-user-select:none;user-select:none;font-weight:700;text-transform:uppercase;outline:none}.app-selector:hover{border-color:var(--border-hover);background-color:var(--bg-hover)}.app-selector:focus{border-color:var(--border-focus)}.time-machine-slider-line{stroke:var(--time-machine-primary);stroke-width:2;stroke-dasharray:4 4}.time-machine-slider-handle rect{fill:var(--time-machine-primary);fill-opacity:.9;stroke:var(--time-machine-border);stroke-width:1px}.time-machine-slider-text{fill:var(--text-inverse);font-family:monospace;font-size:11px;font-weight:700;-webkit-user-select:none;user-select:none;pointer-events:none}.slider-control-btn{cursor:pointer;transition:opacity .2s ease;opacity:.6}.slider-control-btn:hover{opacity:1}.slider-btn-rect{fill:var(--time-machine-primary);fill-opacity:.6;stroke:var(--time-machine-border);stroke-width:1px}.slider-control-btn:hover .slider-btn-rect{fill:var(--time-machine-primary);fill-opacity:.9}.slider-control-btn.active .slider-btn-rect{fill:var(--status-success-pale);stroke:var(--status-success-border)}.slider-btn-icon{fill:var(--text-inverse);font-size:9px;font-weight:700;pointer-events:none;-webkit-user-select:none;user-select:none}@keyframes highlight-game-node-fill{0%{fill:var(--time-machine-primary);fill-opacity:.8}to{fill:var(--time-machine-primary);fill-opacity:0}}.game-node-highlight-flash{fill:transparent;fill-opacity:0;pointer-events:none}.game-node-group.game-node-changed .game-node-highlight-flash{animation:highlight-game-node-fill 1s linear forwards}.game-node-casing{fill:var(--bg-panel-main);transition:fill .2s ease}@keyframes pulse-svg{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.onboarding-bubble-svg-content{opacity:0;transform-origin:78px 0;animation:bounce-in-svg .5s .5s forwards,pulse-svg .7s ease-in-out 1.2s infinite}@keyframes bounce-in-svg{0%{opacity:0;transform:scale(.8)}70%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.game-tooltip{position:fixed;z-index:1500;background-color:var(--bg-tooltip);border:1px solid var(--border-subtle);border-radius:8px;padding:12px;width:280px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;box-shadow:0 4px 12px var(--shadow-default);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:var(--text-secondary);font-size:14px;will-change:opacity;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}.tooltip-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--border-strong);padding-bottom:8px;margin-bottom:8px;font-weight:500;color:var(--text-muted);flex-shrink:0}.header-right{display:flex;flex-direction:column;align-items:flex-end;line-height:1.3}.header-datetime{text-align:right;font-size:12px}@keyframes time-blink{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.time-remaining{font-size:1rem;color:var(--status-success-pale);font-weight:500;animation:time-blink 1s infinite ease-in-out;will-change:opacity}.live-indicator{color:var(--status-live);font-weight:700;font-size:1rem;animation:time-blink .5s infinite ease-in-out;text-align:right;will-change:opacity}.tooltip-body{display:flex;flex-direction:column;gap:8px;flex-shrink:0;background-color:transparent;padding:0}.team-info{display:flex;align-items:center;gap:10px}.tooltip-logo{width:24px;height:24px;object-fit:contain}.team-name{flex-grow:1;font-weight:600;font-size:14px;color:var(--text-secondary)}.team-score{font-size:16px;font-weight:700;min-width:25px;text-align:right;white-space:nowrap;flex-shrink:0;font-family:inherit;color:var(--text-secondary)}.home-icon{margin-right:5px}.tooltip-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:8px;border-top:1px solid var(--border-subtle);margin-top:8px;flex-shrink:0;background-color:transparent}.postponed-info{color:var(--status-warning);font-size:.8rem;font-weight:700;text-transform:uppercase;background:none;border:none;box-shadow:none}.video-link{color:var(--link-primary);text-decoration:none;background-color:var(--bg-link);padding:3px 8px;border-radius:4px;transition:background-color .2s ease;border:none;font-weight:400}.video-link:hover{background-color:var(--bg-link-hover);text-decoration:underline}.tooltip-events{margin-top:10px;border-top:1px solid var(--border-strong);padding-top:8px;overflow:hidden;display:flex;flex-direction:column;min-height:0;background-color:transparent}.details-toggle{background:var(--bg-surface-3);border:1px solid var(--border-subtle);color:var(--text-ghost);padding:4px 8px;border-radius:4px;cursor:pointer;width:100%;text-align:left;font-size:12px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;letter-spacing:normal;text-transform:none}.details-toggle:hover{background:var(--bg-active);color:var(--text-inverse)}.details-toggle .arrow{border:solid var(--text-ghost);border-width:0 2px 2px 0;display:inline-block;padding:3px;transition:transform .2s ease;margin:0}.details-toggle .arrow.down{transform:rotate(45deg)}.details-toggle .arrow.up{transform:rotate(-135deg)}.tooltip-events-scrollable{max-height:var(--max-events-height, 150px);overflow-y:auto;margin-top:8px;padding-right:5px;background-color:transparent;scrollbar-width:thin;scrollbar-color:var(--border-strong) var(--bg-hover)}.tooltip-events-scrollable::-webkit-scrollbar{width:6px}.tooltip-events-scrollable::-webkit-scrollbar-track{background:var(--bg-hover)}.tooltip-events-scrollable::-webkit-scrollbar-thumb{background-color:var(--border-strong);border-radius:6px;border:none}.period-section{margin-bottom:5px;border-bottom:none}.period-section:last-child{margin-bottom:0}.period-header{font-weight:700;font-size:13px;color:var(--text-inverse);padding:8px 4px 4px;display:flex;justify-content:space-between;align-items:center;border-radius:4px;background-color:var(--bg-highlight-strong);border-bottom:none;text-transform:none}.period-header .label{color:var(--text-inverse)}.period-score{font-family:inherit;font-size:13px;font-weight:700;color:var(--text-inverse);text-align:right;line-height:1.2}.period-score .home,.period-score .away{color:var(--text-inverse)}.period-score .home-icon{margin-right:5px}.events-table{width:100%;border-collapse:separate;border-spacing:0 5px;margin-bottom:8px;display:table}.event-stripe{background-color:var(--bg-highlight-medium);border-bottom:none}.events-table tr.event-stripe{border-radius:4px}.period-section:last-child .events-table{margin-bottom:0}.event-type-col{width:55px;text-align:left;vertical-align:top;padding:4px 0 4px 4px;font-weight:700;font-size:13px;white-space:nowrap;display:table-cell;color:inherit}.event-type-col .minute{font-size:11px;font-weight:400;color:var(--text-muted);font-family:inherit}.event-home-icon{opacity:.8;margin-left:5px;font-size:inherit}.event-comment-col{padding:4px 4px 4px 8px;vertical-align:top;font-size:13px;color:var(--text-ghost);word-break:break-word;line-height:1.4;display:table-cell}.event-comment-col strong{color:inherit}.standings-header-row{display:flex;align-items:flex-start;height:40px;border-bottom:1px solid var(--border-subtle);background-color:var(--bg-table-header);font-size:11px;font-weight:700;color:var(--text-dark);padding-left:0;box-sizing:border-box;overflow:hidden}.standings-header-group-container{display:flex;flex-direction:column;height:100%;border-right:1px solid var(--border-subtle);box-sizing:border-box}.standings-header-group-container.collapsed{background-color:var(--bg-standings-group-header);cursor:pointer}.standings-header-group{display:flex;align-items:center;justify-content:center;width:100%;cursor:pointer;background-color:var(--bg-standings-group-header);box-sizing:border-box;-webkit-user-select:none;user-select:none}.standings-header-group:hover{background-color:var(--bg-standings-group-hover);color:var(--text-inverse)}.standings-header-group.expanded{height:20px;border-bottom:1px solid var(--border-subtle)}.standings-header-group.collapsed{height:100%;writing-mode:vertical-lr;text-orientation:mixed;transform:rotate(180deg);font-size:10px}.standings-header-columns-row{display:flex;height:20px;width:100%}.standings-header-cell{text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;padding:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;justify-content:center;height:100%;font-size:10px}.standings-header-cell:hover{color:var(--text-inverse);background-color:var(--bg-hover)}.standings-header-cell.active-sort{color:var(--text-inverse);border-bottom:2px solid var(--border-strong)}.standings-table-inner{position:relative;height:100%}.standings-row{position:absolute;left:0;display:flex;align-items:center;border-right:4px solid transparent;cursor:pointer;font-family:Roboto Mono,monospace;font-size:13px;box-sizing:border-box;width:100%;will-change:top,height,background-color;-webkit-user-select:none;user-select:none}.standings-row:hover{z-index:5}.standings-cell{text-align:center;color:inherit;font-weight:500;padding:0 4px;display:flex;align-items:center;justify-content:center;height:100%;overflow:hidden;white-space:nowrap}.standings-group-placeholder{height:100%;border-right:1px solid var(--border-subtle);box-sizing:border-box;background-color:var(--bg-standings-group-placeholder)}.standings-cell.changed,.standings-cell.changed-neutral{animation:flash .6s ease-out}.standings-cell.changed-good{animation:flash-good .6s ease-out}.standings-cell.changed-bad{animation:flash-bad .6s ease-out}@keyframes flash{0%{background-color:rgba(var(--time-machine-primary-rgb),.7);color:var(--text-inverse)}to{background-color:transparent;color:inherit}}@keyframes flash-good{0%{background-color:rgba(var(--data-good-rgb),.7);color:var(--text-inverse)}to{background-color:transparent;color:inherit}}@keyframes flash-bad{0%{background-color:rgba(var(--data-bad-rgb),.7);color:var(--text-inverse)}to{background-color:transparent;color:inherit}}.announcement-bell-container{display:contents}.announcement-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--bg-overlay);z-index:2998;pointer-events:auto}.announcement-modal{position:fixed;bottom:15px;right:75px;width:350px;max-height:400px;background-color:var(--bg-modal);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:0 5px 15px var(--shadow-default);z-index:2999;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto}.announcement-modal-header{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;border-bottom:1px solid var(--border-subtle);background-color:var(--bg-modal-header)}.announcement-modal-header h3{margin:0;font-size:16px;color:var(--text-secondary)}.clear-button{background:none;border:1px solid var(--border-strong);color:var(--text-muted);font-size:12px;cursor:pointer;padding:4px 8px;border-radius:4px;margin-left:auto;margin-right:10px;transition:background-color .2s ease,color .2s ease}.clear-button:hover{background-color:var(--border-subtle);color:var(--text-inverse)}.close-button{background:none;border:none;color:var(--text-muted);font-size:24px;cursor:pointer;padding:0;line-height:1}.close-button:hover{color:var(--text-inverse)}.announcement-modal-body{padding:15px;overflow-y:auto;color:var(--text-secondary);display:flex;flex-direction:column;gap:15px}.announcement-item{border-bottom:1px solid var(--border-subtle);padding-bottom:10px;padding-left:10px;position:relative}.announcement-item:last-child{border-bottom:none;padding-bottom:0}.announcement-item.new:before{content:"";position:absolute;left:0;top:5px;bottom:15px;width:3px;background-color:var(--status-danger);border-radius:2px}.announcement-item h4{margin:0 0 5px;font-size:15px;color:var(--text-inverse)}.announcement-item p{margin:0 0 8px;font-size:14px;line-height:1.4;color:var(--text-ghost)}.announcement-item small{font-size:12px;color:var(--text-dark)}.announcement-error{color:var(--status-error-text);padding:10px;background-color:var(--bg-banner-error);border:1px solid var(--status-danger);border-radius:4px}.league-selector-container{height:40px;background-color:var(--bg-panel-header);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;width:100%;padding:0 5px;box-sizing:border-box}.league-selector-override{width:100%;text-align:center;text-align-last:center}.league-selector-loading{color:var(--text-dark);font-size:11px}.left-panel-header-spacer{height:40px;background-color:var(--bg-table-header);border-bottom:1px solid var(--border-subtle);width:100%}.vertical-text{writing-mode:vertical-lr;transform:rotate(180deg);text-align:center;font-size:10px;font-weight:700;letter-spacing:1px;color:var(--text-primary)}.app-container{display:flex;flex-direction:column;width:100%;height:100%;background-color:var(--bg-app-root);overflow:hidden;position:relative}.header-area{height:40px;flex-shrink:0;display:flex;flex-direction:row;background-color:var(--bg-panel-header);border-bottom:1px solid var(--border-subtle);overflow:hidden;-webkit-user-select:none;user-select:none}.main-area{display:flex;flex-direction:row;flex-grow:1;height:1px;overflow:hidden}.new-time-machine-toggle{position:absolute;top:50%;transform:translateY(-50%);width:25px;height:auto;background-color:var(--time-machine-primary);border:1px solid var(--time-machine-border);border-left:none;border-radius:0 8px 8px 0;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;z-index:1000;opacity:.4;transition:opacity .2s ease-in-out,background-color .2s ease;letter-spacing:2px}.new-time-machine-toggle:hover{opacity:1;background-color:var(--time-machine-primary)}.new-time-machine-toggle span{color:var(--text-inverse);font-weight:700;writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;white-space:nowrap;letter-spacing:.5px;padding:12px 0}.left-panel{width:10vw;min-width:50px;max-width:150px;padding:0;display:flex;flex-direction:row;background-color:var(--bg-panel-main);flex-shrink:0;overflow:hidden;-webkit-user-select:none;user-select:none;height:100%}.panel-column{display:flex;flex-direction:column;height:100%}.conference-column,.division-column{width:25%}.team-logo-column-main{width:50%;position:relative;background-color:transparent}.column-label{display:flex;align-items:center;justify-content:center;overflow:hidden;transition:height .3s ease-in-out;will-change:height;flex-shrink:0}.column-label span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:clamp(.6rem,1.5vmin,1rem);font-weight:700;color:var(--text-muted);text-transform:uppercase;white-space:nowrap}.panel-column.back-button{width:100%;height:100%;display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:var(--bg-hover);transition:background-color .2s ease}.panel-column.back-button:hover{background-color:var(--border-subtle)}.panel-column.back-button span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:clamp(.7rem,1.5vmin,1.1rem);font-weight:700;color:var(--text-muted);white-space:nowrap;letter-spacing:2px}.left-panel.is-sorted .conference-column{width:50%}.left-panel.is-sorted .division-column{width:0;display:none}.left-panel.is-sorted .team-logo-column-main{width:50%}.team-item{display:flex;justify-content:center;align-items:center;width:100%;cursor:pointer;transition:top .3s ease-in-out,height .3s ease-in-out,background-color .2s ease-in-out,opacity .3s ease-in-out,border-color .2s ease-in-out;border-right:.3vmin solid transparent;border-left:.3vmin solid transparent;position:absolute;left:0;will-change:top}.app-container.no-sort-animation .team-item{transition-property:height,background-color,opacity,border-color}.team-item img{display:block;aspect-ratio:1 / 1;max-height:80%;max-width:80%;transition:max-height .3s ease-in-out,max-width .3s ease-in-out;object-fit:contain;height:auto;width:auto}.team-item:hover img,.team-item.forced-hover img{max-height:90%;max-width:90%}.standings-area{width:0px;flex-shrink:0;height:100%;background-color:var(--bg-panel-main);overflow:hidden;box-sizing:content-box}.standings-table{width:100%;height:100%;position:relative;overflow:hidden}.central-area{flex-grow:1;background-color:var(--bg-panel-main);overflow:hidden;display:flex;flex-direction:column;position:relative;height:100%}.header-left-pane{display:flex;flex-direction:row;flex-shrink:0;align-items:center}.header-leftpanel-spacer{width:10vw;min-width:50px;max-width:150px;flex-shrink:0;height:100%}.header-standings{display:flex;flex-shrink:0;width:0px;overflow:hidden;box-sizing:border-box}.header-standings-cell{width:32px;flex-shrink:0;color:var(--text-muted);font-size:13px;font-weight:700;text-align:center;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:background-color .2s ease}.header-standings-cell:hover{background-color:var(--border-subtle)}.header-standings-cell.active{background-color:var(--bg-active);color:var(--text-inverse)}.header-standings-cell .sort-arrow{font-size:10px;opacity:0;transition:opacity .2s ease;padding-left:3px}.header-standings-cell:hover .sort-arrow{opacity:1;color:var(--text-secondary)}.header-standings-cell.active .sort-arrow{opacity:1;color:var(--text-inverse)}.header-timeline{flex-grow:1;overflow:hidden;position:relative}.week-headers-scroll-wrapper{position:absolute;top:0;bottom:0;left:0;display:flex;align-items:center;flex-direction:row}.week-label-item{flex-shrink:0;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:clamp(.7rem,1.5vmin,1rem);font-weight:700;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:0 15px;box-sizing:border-box}.top-right-controls{position:absolute;top:50%;transform:translateY(-50%);right:15px;z-index:1001;display:flex;gap:10px;align-items:center}.bottom-right-controls{position:absolute;bottom:15px;right:15px;z-index:1001;display:flex;flex-direction:column;gap:10px;align-items:flex-end;pointer-events:none}.control-button{background-color:var(--bg-control-glass);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:50%;padding:0;cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;width:48px;height:48px;transition:background-color .2s ease,border-color .2s ease;position:relative;pointer-events:auto}.control-button:hover{background-color:var(--bg-control-glass-hover);border-color:var(--border-hover)}.control-indicator{position:absolute;top:4px;right:4px;width:12px;height:12px;background-color:var(--status-danger);border:2px solid var(--bg-panel-header);border-radius:50%}.data-source-container{margin-top:5px;pointer-events:auto;-webkit-user-select:none;user-select:none}.data-source-container .data-source-link{font-size:13px;color:var(--text-dark);text-decoration:none;transition:color .2s ease}.data-source-container .data-source-link:hover{color:var(--text-ghost);text-decoration:underline}.onboarding-bubble{position:absolute;z-index:1400;background-color:var(--time-machine-primary);color:var(--text-inverse);padding:10px 15px;border-radius:10px;font-weight:700;font-size:16px;box-shadow:0 4px 12px var(--shadow-default);pointer-events:none;opacity:0;transform:scale(.8);animation:bounce-in .5s .5s forwards,pulse-html .7s ease-in-out 1.2s infinite}.onboarding-bubble.toggle-helper{top:50%}.onboarding-bubble:before{content:"";position:absolute;top:50%;left:-8px;margin-top:-8px;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:8px solid var(--time-machine-primary)}@keyframes bounce-in{0%{opacity:0;transform:translateY(-50%) scale(.8)}70%{opacity:1;transform:translateY(-50%) scale(1.1)}to{opacity:1;transform:translateY(-50%) scale(1)}}@keyframes pulse-html{0%{transform:translateY(-50%) scale(1)}50%{transform:translateY(-50%) scale(1.05)}to{transform:translateY(-50%) scale(1)}}.timeline-wrapper{width:100%;height:100%;overflow-x:scroll;overflow-y:hidden;cursor:grab}.timeline-wrapper::-webkit-scrollbar{display:none}.timeline-wrapper{-ms-overflow-style:none;scrollbar-width:none}.team-life-thread{transition:stroke .3s ease}.game-node{transition:r .2s ease-out,fill .2s ease-out,stroke .2s ease-out,stroke-width .2s ease-out}.hidden{opacity:0;pointer-events:none}@keyframes thread-pulse{0%{stroke-opacity:1;opacity:1}50%{stroke-opacity:.4;opacity:.4}to{stroke-opacity:1;opacity:1}}@keyframes lane-pulse{0%{opacity:.3}50%{opacity:.1}to{opacity:.3}}@keyframes now-pulse{0%{stroke-opacity:1;opacity:1}50%{stroke-opacity:.6;opacity:.6}to{stroke-opacity:1;opacity:1}}@keyframes error-pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.pulsing .team-life-thread{animation:thread-pulse 1.5s ease-in-out infinite;will-change:opacity}.lane-pulsing{animation:lane-pulse 1.5s ease-in-out infinite;will-change:opacity}@keyframes halo-pulse{0%{stroke-opacity:.1;stroke-width:1px}50%{stroke-opacity:.8;stroke-width:15px}to{stroke-opacity:.1;stroke-width:1px}}.game-node-halo{fill:none;stroke:var(--status-danger);stroke-opacity:0;pointer-events:none;transition:stroke-opacity .2s ease-out}.blinking-halo .game-node-halo{animation:halo-pulse .7s infinite ease-in-out;will-change:stroke-opacity}.live-game-node .game-node{animation:thread-pulse .5s ease-in-out infinite;will-change:filter}.message-overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:row;font-size:1.5rem;color:var(--text-muted);background-color:var(--bg-panel-main);z-index:1000;text-align:center}.message-overlay.error{color:var(--status-error-text)}.update-link-forced{display:inline-block;margin-top:20px;padding:10px 20px;background-color:var(--status-success);color:var(--text-inverse);text-decoration:none;border-radius:5px;font-size:1rem;font-weight:700}.update-link-forced:hover{background-color:var(--status-success-hover)}.present-line{stroke:var(--text-muted);stroke-width:2;stroke-dasharray:4 4}.present-line-group{animation:now-pulse 1.5s ease-in-out infinite;will-change:opacity;pointer-events:none}.present-line-text{fill:var(--text-muted);font-weight:400;font-size:13px;-webkit-user-select:none;user-select:none;stroke:var(--bg-panel-main);stroke-width:5px;stroke-linejoin:round;paint-order:stroke fill}.fetch-error-banner{position:absolute;top:0;left:0;right:0;background-color:var(--bg-banner-error);color:var(--text-inverse);padding:3px 15px;text-align:center;font-size:14px;font-weight:500;z-index:999;pointer-events:none;animation:error-pulse 2s infinite ease-in-out}.fetch-error-banner.reconnecting-banner{z-index:1001}.fetch-error-banner.restored-banner{background-color:var(--bg-banner-success);z-index:1002;animation:fade-in-out 2s ease-in-out forwards}@keyframes fade-in-out{0%{opacity:0}10%{opacity:1}85%{opacity:1}to{opacity:0}}.fetch-error-banner.outdated-banner{display:flex;justify-content:center;align-items:center;gap:15px}.outdated-update-link{color:var(--text-inverse);background-color:var(--status-success);padding:2px 8px;border-radius:4px;text-decoration:none;font-weight:700;white-space:nowrap;transition:background-color .2s ease;pointer-events:auto}.outdated-update-link:hover{background-color:var(--status-success-hover)}.spinner{width:20px;height:20px;border:3px solid var(--spinner-track);border-radius:50%;border-top-color:var(--text-inverse);animation:spin 1s ease-in-out infinite;margin-right:15px}@keyframes spin{to{transform:rotate(360deg)}}.team-tooltip{position:fixed;z-index:1500;background-color:var(--bg-tooltip);border:1px solid var(--border-subtle);border-radius:8px;padding:12px;width:260px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;box-shadow:0 4px 12px var(--shadow-default);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:var(--text-secondary);font-size:14px;pointer-events:auto;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;gap:10px}.team-tooltip-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-strong);padding-bottom:8px}.team-tooltip-title-block{display:flex;align-items:center;gap:10px}.team-tooltip-logo{width:32px;height:32px;object-fit:contain}.team-tooltip-text{display:flex;flex-direction:column}.team-tooltip-name{font-weight:700;font-size:16px;color:var(--text-inverse);line-height:1.2}.team-tooltip-subtitle{font-size:11px;color:var(--text-muted);font-weight:400;margin-top:2px}.team-tooltip-star{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-dark);transition:transform .2s ease,color .2s ease;display:flex;align-items:center;justify-content:center}.team-tooltip-star:hover{transform:scale(1.1);color:var(--text-ghost)}.team-tooltip-context{font-size:11px;color:var(--text-dark);text-transform:uppercase;letter-spacing:.5px;margin-top:-4px;margin-bottom:2px;font-weight:700}.team-tooltip-body{display:flex;flex-direction:column;gap:6px}.stats-group{display:flex;flex-direction:row;background-color:var(--bg-highlight-subtle);border-radius:6px;padding:6px 8px 6px 4px;margin-bottom:4px}.stats-group-label{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:var(--border-hover);letter-spacing:1px;writing-mode:vertical-rl;transform:rotate(180deg);margin-right:8px;text-transform:uppercase}.stats-group-values{flex:1;display:flex;flex-direction:column;gap:3px;border-left:1px solid var(--border-subtle);padding-left:10px}.stat-row{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;line-height:1.4}.stat-label-container{display:flex;align-items:baseline;overflow:hidden;white-space:nowrap;flex:1;margin-right:8px}.stat-label{color:var(--text-ghost);font-weight:500}.stat-desc{font-size:12px;color:var(--text-dark);margin-left:6px;opacity:.7;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-value{font-weight:700;color:var(--text-inverse);font-family:Roboto Mono,monospace;flex-shrink:0}.stat-value.good{color:var(--data-good)}.stat-value.bad{color:var(--data-bad)}.warning-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--bg-overlay);z-index:3000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.warning-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--bg-modal);border:1px solid var(--status-warning);border-radius:8px;padding:20px;width:320px;max-width:90vw;z-index:3001;box-shadow:0 10px 25px var(--shadow-default);color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;text-align:center;outline:none}.warning-content{margin-bottom:20px}.warning-icon{font-size:32px;margin-bottom:10px}.warning-content p{margin:0;font-size:14px;line-height:1.5}.warning-ok-button{background-color:var(--status-warning);color:var(--bg-app-root);border:none;border-radius:4px;padding:8px 24px;font-size:14px;font-weight:700;cursor:pointer;transition:background-color .2s ease;min-width:80px}.warning-ok-button:hover{background-color:var(--status-warning-hover)}.warning-ok-button:focus-visible{outline:2px solid var(--text-inverse);outline-offset:2px}
