*{box-sizing:border-box;margin:0;padding:0}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;color:#1a202c;background-color:#fff}#root{min-height:100vh}a{color:#667eea;text-decoration:none}a:hover{color:#5a67d8}button{font-family:inherit}.setup-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:#1a202c}.setup-card{background:#2d3748;border-radius:12px;padding:1.5rem 2.5rem 2.5rem;max-width:600px;width:100%;box-shadow:0 20px 60px #00000080;border:1px solid #4a5568}.setup-card h1{margin:0 0 .5rem;color:#f7fafc;font-size:2rem;text-align:center}.logo{display:block;width:15rem;height:auto;margin:0 auto -1rem;transform:scale(1.4,.8);transform-origin:center top}@media(max-width:768px){.logo{width:11rem}.setup-container{padding:1rem}.setup-card{padding:1.5rem}}.subtitle{text-align:center;color:#a0aec0;margin:0 0 1.5rem}.progress-bar{display:flex;gap:1rem;margin-bottom:2rem;justify-content:center}.progress-step{padding:.5rem 1rem;border-radius:20px;background:#e2e8f0;color:#718096;font-size:.875rem;font-weight:500;transition:all .3s}.progress-step.active{background:#667eea;color:#fff}.form-section,.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#e2e8f0;font-weight:500}.form-group input{width:100%;padding:.75rem;border:2px solid #4a5568;border-radius:8px;font-size:1rem;transition:border-color .3s;background:#1a202c;color:#e2e8f0}.form-group input:focus{outline:none;border-color:#667eea}.form-group input::placeholder{color:#718096}.form-group small{display:block;margin-top:.25rem;color:#a0aec0;font-size:.875rem}.info-message{background:#4299e11a;border-left:4px solid #4299e1;padding:1rem;margin-bottom:1.5rem;border-radius:4px;color:#90cdf4;border:1px solid rgba(66,153,225,.3)}.error-message{background:#f565651a;border-left:4px solid #f56565;padding:1rem;margin-bottom:1.5rem;border-radius:4px;color:#fc8181;border:1px solid rgba(245,101,101,.3)}.info-box{background:#f7fafc;border-radius:8px;padding:1.5rem;margin-top:1.5rem}.info-box h3{margin:0 0 1rem;color:#2d3748;font-size:1.25rem}.info-box p{margin:.5rem 0;color:#4a5568}.button-group{display:flex;gap:1rem;margin-top:2rem}.btn{flex:1;padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary:disabled{background:#cbd5e0;cursor:not-allowed}.button-with-indicator{position:relative;flex:1;display:flex;align-items:center;gap:1rem}.credential-indicator-outside{display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1.5em;width:32px;height:32px;border-radius:50%;transition:all .3s ease;flex-shrink:0}.credential-indicator-outside.valid{color:#48bb78;background:#48bb781a;animation:checkPulse .5s ease-out}.credential-indicator-outside.invalid{color:#f56565;background:#f565651a;opacity:.8}@keyframes checkPulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.btn-secondary{background:#e2e8f0;color:#4a5568}.btn-secondary:hover{background:#cbd5e0}.parsed-info{background:#48bb781a;border:2px solid #48bb78;border-radius:8px;padding:1rem;margin:1rem 0;display:flex;gap:2rem;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.parsed-item{display:flex;flex-direction:column;gap:.25rem}.parsed-label{font-size:.75rem;color:#9ae6b4;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.parsed-value{font-size:1rem;color:#48bb78;font-weight:700}.recent-leagues-section{margin-bottom:1.5rem;border:2px solid #4a5568;border-radius:8px;overflow:hidden;animation:slideIn .3s ease-out}.recent-leagues-toggle{width:100%;padding:.875rem 1rem;background:#1a202c;border:none;text-align:left;font-weight:600;color:#e2e8f0;cursor:pointer;transition:background .2s;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.recent-leagues-toggle:hover{background:#2d3748}.recent-leagues-list{display:flex;flex-direction:column;gap:0;border-top:2px solid #4a5568;overflow:hidden;max-height:800px;opacity:1;transition:max-height .3s ease-out,opacity .3s ease-out}.recent-leagues-list.closing{max-height:0;opacity:0}.recent-league-item{padding:1rem;background:#2d3748;border:none;border-bottom:1px solid #4a5568;text-align:left;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:.25rem}.recent-league-item:last-child{border-bottom:none}.recent-league-item:hover{background:#1a202c;padding-left:1.25rem}.recent-league-name{font-size:1rem;font-weight:600;color:#e2e8f0;display:flex;align-items:center;gap:.5rem}.private-badge{font-size:.875rem;opacity:.7}.recent-league-meta{font-size:.875rem;color:#a0aec0}.credential-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;gap:1rem;flex-wrap:wrap}.cookie-help-link{background:none;border:none;color:#667eea;text-decoration:underline;cursor:pointer;font-size:.875rem;padding:.5rem 0;transition:color .2s}.cookie-help-link:hover{color:#5a67d8}.clear-credentials-link{background:none;border:none;color:#e53e3e;text-decoration:underline;cursor:pointer;font-size:.875rem;padding:.5rem 0;transition:color .2s}.clear-credentials-link:hover{color:#c53030}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:16px;padding:2rem;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 25px 50px #00000080;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{margin:0 0 1.5rem;color:#1a202c;font-size:1.75rem;padding-right:2rem}.modal-close{position:absolute;top:1rem;right:1rem;background:#e2e8f0;border:none;border-radius:50%;width:36px;height:36px;font-size:24px;line-height:1;cursor:pointer;color:#4a5568;transition:all .2s;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#cbd5e0;transform:rotate(90deg)}.modal-body{margin-bottom:1.5rem}.cookie-instructions h3{color:#2d3748;font-size:1.25rem;margin:0 0 1rem}.cookie-instructions ol{color:#4a5568;line-height:1.8;padding-left:1.5rem}.cookie-instructions li{margin-bottom:.75rem}.cookie-instructions ul{margin-top:.5rem;padding-left:1.5rem}.cookie-instructions ul li{margin-bottom:.25rem}.cookie-instructions code{background:#f7fafc;padding:.2rem .4rem;border-radius:4px;font-family:Courier New,monospace;color:#667eea;font-size:.9em}.cookie-instructions strong{color:#2d3748}.cookie-instructions a{color:#667eea;text-decoration:none}.cookie-instructions a:hover{text-decoration:underline}.cookie-demo{margin:1.5rem 0;background:#1a202c;border-radius:8px;padding:1rem;text-align:center;display:flex;align-items:center;justify-content:center}.demo-placeholder{color:#718096;font-size:1.125rem;margin:0}.cookie-video{width:100%;max-width:100%;border-radius:8px;box-shadow:0 4px 12px #0000004d;cursor:pointer}.cookie-demo img{max-width:100%;border-radius:8px;box-shadow:0 4px 12px #0000001a;cursor:pointer}.cookie-warning{background:#fffbeb;border:2px solid #fbbf24;border-radius:8px;padding:1rem;color:#92400e;font-size:.875rem;margin-top:1.5rem}.cookie-warning strong{display:block;margin-bottom:.25rem;color:#78350f}.loading-bars-wrapper{width:100%;height:120px;position:relative;margin-top:2rem}.vignette{display:none}.bars-container{width:100%;perspective:2200px;padding:10px 0;position:relative;height:100%;display:flex;align-items:center;justify-content:center}.bars-pos{width:464px;margin:0 auto}.cube{width:18px;height:80px;position:relative;margin-right:11px;float:left;transform-style:preserve-3d;box-shadow:0 0 3px #0003;animation:animCube 1s ease-in-out infinite}.cube div{position:absolute;display:block;width:18px;height:80px}.cube .center{width:18px;box-shadow:0 0 2px #0000004d,inset 0 1px #ffffff0d;animation:animCenter 1s ease-in-out infinite;background-color:#2b2830;background-image:linear-gradient(to top,#fff0,#ffffff26)}.cube .bottom{width:18px;height:6px;bottom:0;transform:rotateX(90deg);transform-origin:center bottom;animation:animBottom 1s ease-in-out infinite;background-color:#1f1d23;background-image:linear-gradient(to bottom,#fff0,#ffffff1a)}.cube .left{left:0;transform:rotateY(90deg);transform-origin:left center;animation:animSide 1s ease-in-out infinite;background-color:#2b2830;background-image:linear-gradient(to top,#fff0,#ffffff1a)}.cube .right{right:0;transform:rotateY(-90deg);transform-origin:right center;animation:animSide 1s ease-in-out infinite;background-color:#2b2830;background-image:linear-gradient(to top,#fff0,#ffffff1a)}.cube:nth-child(1),.cube:nth-child(1) div{animation-delay:42ms}.cube:nth-child(2),.cube:nth-child(2) div{animation-delay:84ms}.cube:nth-child(3),.cube:nth-child(3) div{animation-delay:.126s}.cube:nth-child(4),.cube:nth-child(4) div{animation-delay:.168s}.cube:nth-child(5),.cube:nth-child(5) div{animation-delay:.21s}.cube:nth-child(6),.cube:nth-child(6) div{animation-delay:.252s}.cube:nth-child(7),.cube:nth-child(7) div{animation-delay:.294s}.cube:nth-child(8),.cube:nth-child(8) div{animation-delay:.336s}.cube:nth-child(9),.cube:nth-child(9) div{animation-delay:.378s}.cube:nth-child(10),.cube:nth-child(10) div{animation-delay:.42s}.cube:nth-child(11),.cube:nth-child(11) div{animation-delay:.462s}.cube:nth-child(12),.cube:nth-child(12) div{animation-delay:.504s}.cube:nth-child(13),.cube:nth-child(13) div{animation-delay:.546s}.cube:nth-child(14),.cube:nth-child(14) div{animation-delay:.588s}.cube:nth-child(15),.cube:nth-child(15) div{animation-delay:.63s}.cube:nth-child(16),.cube:nth-child(16) div{animation-delay:.672s}.cube:nth-child(1),.cube:nth-child(1) div{z-index:1}.cube:nth-child(2),.cube:nth-child(2) div{z-index:2}.cube:nth-child(3),.cube:nth-child(3) div{z-index:3}.cube:nth-child(4),.cube:nth-child(4) div{z-index:4}.cube:nth-child(5),.cube:nth-child(5) div{z-index:5}.cube:nth-child(6),.cube:nth-child(6) div{z-index:6}.cube:nth-child(7),.cube:nth-child(7) div{z-index:7}.cube:nth-child(8),.cube:nth-child(8) div{z-index:8}.cube:nth-child(9),.cube:nth-child(9) div{z-index:9}.cube:nth-child(10),.cube:nth-child(10) div{z-index:10}.cube:nth-child(11),.cube:nth-child(11) div{z-index:11}.cube:nth-child(12),.cube:nth-child(12) div{z-index:12}.cube:nth-child(13),.cube:nth-child(13) div{z-index:13}.cube:nth-child(14),.cube:nth-child(14) div{z-index:14}.cube:nth-child(15),.cube:nth-child(15) div{z-index:15}.cube:nth-child(16),.cube:nth-child(16) div{z-index:16}@keyframes animCube{30%{transform:translateZ(80px) translate(0) translateY(0) rotateX(3deg) rotateY(0) rotate(0);box-shadow:0 0 15px #00000080,0 8px 15px 1px #00000080}to{transform:translateZ(0) rotate(0);box-shadow:0 0 20px #00000080,0 0 #0000}}@keyframes animSide{30%{width:60px;background-color:#1d1c1f}95%{width:6px}}@keyframes animBottom{30%{height:60px}95%{height:6px}}@keyframes animCenter{20%{background-color:#6a6371;box-shadow:0 0 3px #ffffff26,inset 0 1px #ffffff80}65%{box-shadow:0 0 3px #fff0,inset 0 1px #ffffff40}}@media(max-width:768px){.bars-pos{width:100%;max-width:340px;display:flex;justify-content:center}.cube{width:14px;height:60px;margin-right:7px}.cube div{width:14px;height:60px}.cube .center{width:14px}.cube .bottom{width:14px;height:5px}.cube:nth-child(13),.cube:nth-child(14),.cube:nth-child(15),.cube:nth-child(16){display:none}}.game-loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#1a202c,#2d3748);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.game-loading-content{max-width:800px;width:90%;text-align:center}.game-loading-title{font-size:2.5rem;color:#f7fafc;margin-bottom:3rem;font-weight:700;text-shadow:0 0 20px rgba(102,126,234,.5)}.loading-bars-wrapper-game{margin-bottom:3rem}.loading-messages{min-height:100px;max-height:100px;overflow:hidden;text-align:left;margin-bottom:2rem;padding:1.5rem;background:#1a202c80;border-radius:12px;border:1px solid #4a5568;display:flex;align-items:center;justify-content:flex-start}.loading-message-single{font-size:1rem;color:#e2e8f0;display:flex;align-items:center;gap:.75rem;font-family:Courier New,monospace;letter-spacing:.5px;transition:opacity .5s ease-in-out}.loading-message-single.fade-in{opacity:1}.loading-message-single.fade-out{opacity:0}.message-icon{color:#667eea;font-size:1.25rem;animation:blink 1.5s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@media(max-width:768px){.game-loading-title{font-size:1.75rem;margin-bottom:2rem}.loading-bars-wrapper-game{margin-bottom:2rem}.loading-messages{min-height:80px;max-height:80px;padding:1rem}.loading-message-single{font-size:.875rem}}.team-selection-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:#1a202c}.team-selection-card{background:#2d3748;border-radius:12px;padding:2.5rem;max-width:1400px;width:100%;box-shadow:0 20px 60px #00000080;position:relative;border:1px solid #4a5568}.back-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:.95rem;margin-bottom:1rem;padding:0;display:inline-flex;align-items:center;gap:.25rem;transition:color .3s}.back-link:hover{color:#5a67d8}.team-selection-card h1{margin:0 0 .5rem;color:#f7fafc;font-size:2rem;text-align:center}.subtitle{color:#a0aec0;margin-bottom:2rem;font-size:.9rem;text-align:center}.teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin:2rem 0}.team-card{background:#1a202c;border:2px solid #4a5568;border-radius:8px;padding:1rem;cursor:pointer;transition:all .3s}.team-card:hover{border-color:#667eea;transform:translateY(-4px);box-shadow:0 8px 24px #667eea33}.team-card.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#5a67d8;box-shadow:0 8px 24px #667eea66}.team-card-header{margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #4a5568}.team-card.selected .team-card-header{border-bottom-color:#ffffff4d}.team-card-name{margin:0 0 .25rem;font-size:1rem;color:#e2e8f0;font-weight:700;line-height:1.3}.team-card.selected .team-card-name{color:#fff}.team-card-owner{font-size:.75rem;color:#a0aec0;font-weight:500}.team-card.selected .team-card-owner{color:#ffffffe6}.team-card-stats{display:flex;justify-content:space-between;gap:1rem}.team-card-stat{display:flex;flex-direction:column;gap:.25rem;flex:1}.team-card-stat .stat-label{font-size:.65rem;color:#a0aec0;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.team-card.selected .team-card-stat .stat-label{color:#fffc}.team-card-stat .stat-value{font-size:1rem;color:#e2e8f0;font-weight:700}.team-card.selected .team-card-stat .stat-value{color:#fff}.button-spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;display:inline-block;margin-right:.5rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;justify-content:center;margin:0 auto}.btn-primary:hover:not(:disabled){background:#5a67d8;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-primary:disabled{background:#cbd5e0;cursor:not-allowed;transform:none}.error-message{background:#2d1f1f;border-left:4px solid #f56565;padding:1rem;margin-bottom:1.5rem;border-radius:4px;color:#fc8181;border:1px solid #742a2a}.team-card.skeleton{pointer-events:none;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-text{background:#4a5568;border-radius:4px;height:1rem;animation:shimmer 2s infinite;background:linear-gradient(90deg,#4a5568,#5a6778,#4a5568);background-size:200% 100%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-title{width:80%;height:1rem;margin-bottom:.5rem}.skeleton-owner{width:60%;height:.75rem}.skeleton-stat-label{width:40%;height:.65rem;margin-bottom:.25rem}.skeleton-stat-value{width:70%;height:1rem}@media(max-width:768px){.team-selection-container{padding:1rem}.team-selection-card{padding:1.5rem}.team-selection-card h1{font-size:1.5rem}.teams-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin:1.5rem 0}.team-card{padding:.75rem}.team-card-header{margin-bottom:.5rem;padding-bottom:.5rem}.team-card-name{font-size:.875rem;min-height:2.6em;display:flex;align-items:center}.team-card-owner{font-size:.65rem}.team-card-stats{justify-content:center}.team-card-stat:not(:first-child){display:none}.team-card-stat:first-child{align-items:center}.team-card-stat .stat-value{font-size:.95rem}}.calculate-button-sticky{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:100;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translate(-50%) translateY(100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.calculate-button-sticky button{padding:1rem 2rem;font-size:1rem;font-weight:600;border-radius:50px;box-shadow:0 8px 24px #667eea80,0 4px 12px #667eea4d,0 0 0 1px #667eea33;border:2px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap}.calculate-button-sticky button:hover{transform:translateY(-2px);box-shadow:0 12px 32px #667eea99,0 6px 16px #667eea66,0 0 0 1px #667eea4d}.desktop-only{display:block}.mobile-only{display:none}@media(max-width:768px){.desktop-only{display:none}.mobile-only{display:block}.team-selection-container{padding-bottom:6rem}.calculate-button-sticky button{padding:.875rem 1.5rem;font-size:.95rem}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.results-container{min-height:100vh;background:#1a202c;padding:2rem;color:#e2e8f0}.results-header{max-width:1400px;margin:0 auto 2rem}.back-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:.95rem;margin-bottom:1rem;padding:0;display:inline-flex;align-items:center;gap:.25rem;transition:color .3s}.back-button:hover{color:#5a67d8}.results-header h1{margin:0;color:#f7fafc;font-size:2.5rem}.results-content{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:400px 1fr;gap:2rem;align-items:start}.stats-panel{background:#2d3748;border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000004d;height:fit-content;border:1px solid #4a5568}.team-header{text-align:center;margin-bottom:2rem}.team-header h2{margin:0 0 .5rem;color:#f7fafc;font-size:1.75rem}.record{display:inline-block;background:#4a5568;color:#e2e8f0;padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:1.125rem;margin-bottom:.75rem}.share-button{display:inline-flex;align-items:center;gap:.5rem;background:#667eea;color:#fff;border:none;padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s;margin-top:.5rem}.share-button:hover{background:#5a67d8;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.share-button svg{width:18px;height:18px}.main-stat{text-align:center;padding:2rem 0}.stat-label{font-size:.875rem;color:#718096;font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.stat-value{font-size:4rem;font-weight:700;line-height:1;margin:.5rem 0}.stat-sublabel{font-size:.875rem;color:#718096;margin-top:.5rem}.divider{height:1px;background:#4a5568;margin:2rem 0}.seeding-breakdown h3{margin:0 0 1.5rem;color:#f7fafc;font-size:1.25rem}.seed-bar{margin-bottom:1.5rem}.seed-info{display:flex;justify-content:space-between;margin-bottom:.5rem}.seed-label{font-weight:600;color:#e2e8f0}.seed-pct{font-weight:700;color:#a5b4fc}.bar-container{height:24px;background:#1a202c;border-radius:12px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .6s ease;border-radius:12px}.simulation-info{background:#1a202c;border-radius:8px;padding:1rem;margin-top:2rem;border:1px solid #4a5568}.info-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #4a5568}.info-row:last-child{border-bottom:none}.info-row span:first-child{color:#a0aec0;font-size:.875rem}.info-row span:last-child{color:#e2e8f0;font-weight:600;font-size:.875rem}.scenarios-panel{background:#2d3748;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000004d;border:1px solid #4a5568;max-width:600px}.scenarios-title{margin:0 0 .5rem;color:#f7fafc;font-size:1.25rem}.scenarios-explanation{margin:0 0 1rem;color:#a0aec0;font-size:.875rem;line-height:1.5;padding:.75rem;background:#1a202c;border-radius:6px;border-left:3px solid #667eea}.scenarios-accordion{display:flex;flex-direction:column;gap:.5rem}.scenario-item{background:#1a202c;border:1px solid #4a5568;border-radius:6px;overflow:hidden;transition:all .2s}.scenario-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;cursor:pointer;transition:background .2s}.scenario-header:hover{background:#2d3748}.scenario-header-left{display:flex;align-items:center;gap:.75rem}.scenario-number{font-weight:700;color:#a5b4fc;font-size:.875rem}.scenario-probability{font-weight:700;color:#48bb78;font-size:1rem}.scenario-count{font-size:.8rem;color:#a0aec0}.scenario-content{padding:0 1rem 1rem;border-top:1px solid #4a5568;background:#0f1419}.conditions-list{margin:.75rem 0 0;padding-left:1.5rem;list-style:disc}.conditions-list li{color:#e2e8f0;font-size:.875rem;line-height:1.6;margin-bottom:.5rem}.conditions-list li:last-child{margin-bottom:0}.edge-case-message{padding:2rem;text-align:center;border-radius:8px;border:2px solid;animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.edge-case-message.eliminated{background:linear-gradient(135deg,#f565651a,#dc26261a);border-color:#f56565}.edge-case-message.clinched{background:linear-gradient(135deg,#48bb781a,#22c55e1a);border-color:#48bb78}.edge-case-message h4{margin:0 0 1rem;color:#f7fafc;font-size:1.5rem;font-weight:700}.edge-case-message p{margin:.5rem 0;color:#e2e8f0;font-size:1rem;line-height:1.6}.edge-case-detail{margin-top:1rem;color:#a0aec0;font-size:.875rem;font-style:italic}.flow-panel{background:#2d3748;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000004d;border:1px solid #4a5568}.flow-header{padding:1.5rem 2rem;border-bottom:1px solid #4a5568}.flow-header h3{margin:0;color:#f7fafc;font-size:1.25rem}.flow-hint{margin:.5rem 0 0;color:#a0aec0;font-size:.875rem}.flow-container{height:700px;background:#1a202c}.error-card{background:#2d3748;border-radius:12px;padding:3rem;text-align:center;max-width:500px;margin:4rem auto;box-shadow:0 4px 12px #0000004d;border:1px solid #4a5568}.error-card h2{margin:0 0 1rem;color:#f7fafc}.error-card p{color:#a0aec0;margin-bottom:2rem}.btn{padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.info-icon-wrapper{position:relative;display:inline-block;margin-left:.5rem;vertical-align:middle}.info-icon{display:inline-block;width:16px;height:16px;color:#a0aec0;cursor:help;transition:all .2s;vertical-align:middle}.info-icon:hover{color:#667eea;transform:scale(1.15)}.info-tooltip{visibility:hidden;opacity:0;position:absolute;bottom:130%;left:50%;transform:translate(-50%);background:#1a202c;color:#e2e8f0;padding:.75rem 1rem;border-radius:6px;font-size:.75rem;line-height:1.4;white-space:normal;width:220px;text-align:center;border:1px solid #4a5568;box-shadow:0 4px 12px #0006;transition:opacity .2s,visibility .2s;pointer-events:none;z-index:10;font-weight:400;text-transform:none;letter-spacing:normal}.info-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1a202c}.info-icon-wrapper:hover .info-tooltip{visibility:visible;opacity:1}@media(max-width:1200px){.results-content{grid-template-columns:1fr}.flow-container{height:500px}}.shared-result-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:#1a202c}.shared-result-loading,.shared-result-error{background:#2d3748;border-radius:12px;padding:3rem;text-align:center;max-width:500px;width:100%;box-shadow:0 20px 60px #00000080;border:1px solid #4a5568}.shared-result-loading h2,.shared-result-error h2{margin:1rem 0;color:#f7fafc;font-size:1.5rem}.shared-result-loading p{color:#a0aec0;margin-bottom:0;font-size:.875rem}.shared-result-error p{color:#fc8181;margin-bottom:2rem;font-size:1rem}.loading-spinner{width:50px;height:50px;border:4px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.error-icon{width:64px;height:64px;margin:0 auto 1rem;color:#f56565}.error-icon svg{width:100%;height:100%}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5a67d8;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}
