*{margin:0;padding:0;box-sizing:border-box}body{font-family:"Arial","Helvetica",sans-serif;background:linear-gradient(135deg, #0f2027 0%, #203a43 50%, #2c5364 100%);color:#fff;overflow:hidden;width:100vw;height:100vh}#tv-display{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center}#slides-container{width:100%;height:100%;transition:opacity .5s ease-in-out}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem}.spinner{width:80px;height:80px;border:8px solid rgba(255,255,255,.3);border-top:8px solid #fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.loading p{font-size:2rem;color:rgba(255,255,255,.8)}.slide{width:100%;height:100%;display:flex;flex-direction:column;padding:2rem 4rem}.slide-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:3px solid rgba(255,255,255,.3);flex-shrink:0;position:sticky;top:0;background:linear-gradient(135deg, #0f2027 0%, #203a43 50%, #2c5364 100%);z-index:10}.slide-header h1{font-size:5rem;font-weight:bold;text-transform:uppercase;letter-spacing:.1em;text-shadow:2px 2px 8px rgba(0,0,0,.5)}.slide-header h2{font-size:3rem;margin-top:1rem;color:rgba(255,255,255,.9)}.slide-body{flex:1;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden;position:relative;padding-bottom:2rem;min-height:0}.upcoming-race .slide-header{background:linear-gradient(90deg, rgba(52,152,219,.3), rgba(41,128,185,.3));border-color:#3498db}.upcoming-race .race-name{font-size:6rem;font-weight:bold;text-align:center;margin-bottom:3rem;color:#3498db;text-shadow:3px 3px 10px rgba(0,0,0,.5)}.upcoming-race .race-details{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1200px;margin:0 auto}.upcoming-race .detail-item{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.1);padding:2rem 3rem;border-radius:1rem;border-left:5px solid #3498db}.upcoming-race .label{font-size:3rem;font-weight:bold;color:#3498db}.upcoming-race .value{font-size:3.5rem;font-weight:bold}.upcoming-race .race-notes{margin-top:2rem;padding:2rem;background:rgba(241,196,15,.2);border:2px solid #f39c12;border-radius:1rem;font-size:2.5rem;text-align:center;color:#f39c12}.race-result .slide-header{background:linear-gradient(90deg, rgba(46,204,113,.3), rgba(39,174,96,.3));border-color:#27ae60}.results-table{width:100%;border-collapse:collapse;font-size:2.5rem}.results-table thead{background:rgba(46,204,113,.3)}.results-table th{padding:2rem;text-align:left;font-weight:bold;border-bottom:3px solid #27ae60;text-transform:uppercase;letter-spacing:.05em}.results-table tbody tr{border-bottom:1px solid rgba(255,255,255,.2);transition:background .3s ease}.results-table tbody tr:hover{background:rgba(255,255,255,.1)}.results-table td{padding:1.5rem 2rem}.results-table .position{font-size:3rem;font-weight:bold;color:#f39c12;width:100px}.results-table tbody tr:nth-child(1) .position{color:#f1c40f}.results-table tbody tr:nth-child(2) .position{color:#bdc3c7}.results-table tbody tr:nth-child(3) .position{color:#cd7f32}.results-table .sailor-name{font-weight:bold;font-size:2.8rem}.results-table .boat-number{color:#3498db;font-weight:bold}.results-table .points{font-weight:bold;color:#27ae60}.change-notice .slide-header.alert{background:linear-gradient(90deg, rgba(231,76,60,.3), rgba(192,57,43,.3));border-color:#e74c3c;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%, 100%{opacity:1}50%{opacity:.8}}.change-notice .notice-description{font-size:4rem;text-align:center;line-height:1.6;padding:3rem;background:rgba(231,76,60,.2);border:3px solid #e74c3c;border-radius:1rem;margin-bottom:2rem}.change-notice .notice-time{font-size:2.5rem;text-align:center;color:rgba(255,255,255,.7);font-style:italic}.additional-info .slide-header{background:linear-gradient(90deg, rgba(155,89,182,.3), rgba(142,68,173,.3));border-color:#9b59b6}.additional-info .info-type{display:inline-block;margin-top:1rem;padding:.5rem 2rem;background:rgba(155,89,182,.3);border-radius:2rem;font-size:2rem;text-transform:uppercase;letter-spacing:.1em}.additional-info .info-image{max-width:800px;max-height:400px;margin:0 auto 2rem;border-radius:1rem;box-shadow:0 10px 30px rgba(0,0,0,.5)}.additional-info .info-content{font-size:3.5rem;text-align:center;line-height:1.8;padding:2rem}.error-message{text-align:center;padding:4rem}.error-message h1{font-size:5rem;color:#e74c3c;margin-bottom:2rem}.error-message p{font-size:3rem;color:rgba(255,255,255,.7)}@media (prefers-contrast: high){body{background:#000}.slide-header{border-color:#fff}.slide-body{color:#fff}}.slide *{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}