.game-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background-color:#fff;border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 4px #0000001a}.game-header h1{margin:0;font-size:1.5rem;color:#333;display:flex;align-items:center;gap:.5rem}.badge.program-complete{background-color:#4caf50;color:#fff;padding:.15rem .5rem;border-radius:999px;font-size:.85rem;letter-spacing:.5px}.header-controls{display:flex;gap:1rem}.header-controls .btn{padding:.5rem 1rem;border:none;border-radius:4px;font-weight:700;cursor:pointer;transition:background-color .2s}.header-controls .btn.generate-btn{background-color:#e0e0e0;color:#333}.header-controls .btn.generate-btn:hover{background-color:#d0d0d0}.header-controls .btn.generate-btn:disabled{background-color:#d0d0d0;cursor:not-allowed}.header-controls .btn.start-btn{background-color:#4caf50;color:#fff}.header-controls .btn.start-btn:hover{background-color:#43a047}.header-controls .btn.start-btn:disabled{background-color:#d0d0d0;cursor:not-allowed}.color-indicator{width:20px;height:20px;display:inline-block;margin-top:4px}.race-track{display:flex;align-items:center;gap:1rem;height:48px;background-color:#5b5b60;margin-top:4px;position:relative}.horse-name-background{position:absolute;top:-26%;left:45px;font-size:8px;font-weight:700;color:#fff;pointer-events:none;background:#5b5b60;z-index:0;white-space:nowrap;padding:0 3px;-webkit-user-select:none;user-select:none;border-top-left-radius:4px;border-top-right-radius:4px}.horse-position{font-weight:700;font-size:1.2rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;writing-mode:vertical-lr;text-orientation:mixed;background-color:#34c759;padding:.5rem;height:100%;max-height:30px;margin:0}.lane{position:relative;flex:1;height:40px;overflow:hidden}.lane .racing-horse{position:absolute;left:0;top:0;will-change:transform}.race-track-container{display:flex;flex-direction:column;gap:10px;overflow:auto;max-height:634px;min-height:634px;position:relative;padding-bottom:0;padding-right:40px}.race-track-container:after{content:"";position:absolute;top:0;bottom:0;right:40px;width:8px;background:#e03a3a}.race-track-container:before{content:"Please generate the race program";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#111;font-weight:700;text-align:center}.finish-label{position:absolute;top:50%;right:8px;transform:translateY(-50%);writing-mode:vertical-rl;text-orientation:mixed;color:#111;background:transparent;font-weight:700;letter-spacing:1px;z-index:10;pointer-events:none}.distance-label{background-color:#9e9e9e;color:#fff;padding:5px 10px;border-radius:4px;font-weight:700;pointer-events:none;text-align:center}.race-results{display:flex;flex-direction:column;overflow:auto;max-height:700px}.race-results__lap{font-weight:700;margin-bottom:1rem}.race-program{display:flex;flex-direction:column;overflow:auto;max-height:700px}.race-program__lap{font-weight:700;margin-bottom:1rem}.race-info-container[data-v-976bc727]{display:flex;gap:20px}.race-component[data-v-976bc727]{flex:1}.game-container[data-v-b6e87acf]{display:flex;flex-direction:column;background-color:#f5f5f5;padding:1rem;box-sizing:border-box}.game-content[data-v-b6e87acf]{display:grid;grid-template-columns:260px 1fr 400px;gap:1rem;flex:1;overflow:hidden}.horse-list-section[data-v-b6e87acf]{background-color:#fff;border-radius:8px;padding:1rem;box-shadow:0 2px 4px #0000001a;overflow:hidden;display:flex;flex-direction:column}.horse-list-section h2[data-v-b6e87acf]{background-color:#ffeb3b;color:#333;margin:-1rem -1rem 1rem;padding:.5rem 1rem;font-size:1.1rem}.track-section[data-v-b6e87acf]{background-color:#fff;border-radius:8px;padding:1rem;box-shadow:0 2px 4px #0000001a;overflow:hidden;display:flex;flex-direction:column}.info-section[data-v-b6e87acf]{display:flex;flex-direction:column;gap:1rem}.info-section[data-v-b6e87acf]>*{background-color:#fff;border-radius:8px;padding:1rem;box-shadow:0 2px 4px #0000001a;flex:1;overflow:hidden}.info-section>* h2[data-v-b6e87acf]{margin-top:0;padding-bottom:.5rem;border-bottom:2px solid #eee}.info-section>* h2.program-header[data-v-b6e87acf]{color:#2196f3}.info-section>* h2.results-header[data-v-b6e87acf]{color:#4caf50}@media (max-width: 1200px){.game-content[data-v-b6e87acf]{grid-template-columns:1fr 2fr 1fr}}@media (max-width: 900px){.game-content[data-v-b6e87acf]{grid-template-columns:1fr;grid-template-rows:auto auto auto}.info-section[data-v-b6e87acf]{flex-direction:row}.info-section[data-v-b6e87acf]>*{flex:1}}@media (max-width: 600px){.info-section[data-v-b6e87acf]{flex-direction:column}.header-controls[data-v-b6e87acf]{flex-direction:column;gap:.5rem;width:100%}.header-controls .btn[data-v-b6e87acf]{width:100%}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0}h1{font-size:3.2em;line-height:1.1}h2{font-size:2em}h3{font-size:1.2em;margin-bottom:4px;margin-top:4px}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}table{border-collapse:collapse;width:100%}thead{background-color:#4caf50;color:#4b4a4a;font-weight:700;font-size:14px;text-align:center}th,td{padding:2px;text-align:center;border-bottom:1px solid #ddd;font-size:11px}th{background-color:#4caf50;color:#4b4a4a}tr:nth-child(2n){background-color:#f2f2f2}@media (prefers-color-scheme: light){th{background-color:#ccc}}
