*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#0a0e27,#1a1f3a);min-height:100vh;color:#e0e0e0}.app{max-width:1400px;margin:0 auto;padding:20px}.header{background:#1e2538;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 4px 12px #0006;border:1px solid #2a3142}.header h1{color:#5b9cf5;margin-bottom:8px;font-size:2rem;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.3)}.subtitle{text-align:center;color:#b0b8c8;font-size:.875rem;margin-bottom:16px}.subtitle a{color:#5b9cf5;text-decoration:none;font-weight:500}.subtitle a:hover{text-decoration:underline}.warning-banner{background:#ffc10726;border:1px solid #ffc107;border-radius:6px;padding:12px 16px;margin-bottom:16px;color:#ffc107;text-align:center;font-weight:500}.pre-event-banner{background:#5b9cf533;border:1px solid #5b9cf5;border-radius:6px;padding:12px 16px;margin-bottom:16px;color:#5b9cf5;text-align:center;font-weight:600;font-size:1.05rem}.now-playing{background:#5b9cf533;border:1px solid #5b9cf5;border-radius:6px;padding:12px 16px;margin-bottom:16px;color:#5b9cf5;text-align:center}.override-indicator{background:#5b9cf526;border:1px solid #4a8cd9;border-radius:6px;padding:12px 16px;margin-bottom:16px;color:#8bb5f0;text-align:center;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.clear-button{background:#e74c3c;color:#fff;border:none;border-radius:4px;padding:6px 12px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s}.clear-button:hover{background:#c0392b}.controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:center;margin-bottom:16px}.control-group{display:flex;align-items:center;gap:8px}.control-group label{font-weight:500;color:#b0b8c8}.control-group select{padding:8px 12px;border:1px solid #3a4256;border-radius:6px;background:#2a3142;color:#e0e0e0;font-size:.875rem;cursor:pointer}.control-group select:focus{outline:none;border-color:#5b9cf5}.search-input{padding:8px 12px;border:1px solid #3a4256;border-radius:6px;background:#2a3142;color:#e0e0e0;font-size:.875rem;min-width:250px}.search-input:focus{outline:none;border-color:#5b9cf5}.search-input::placeholder{color:#6a7280}.search-count{padding:6px 12px;background:#5b9cf533;border:1px solid #5b9cf5;border-radius:4px;color:#5b9cf5;font-size:.813rem;font-weight:600}.search-count.no-results{background:#e74c3c33;border-color:#e74c3c;color:#e74c3c}.next-button{background:#5b9cf5;color:#fff;border:none;border-radius:4px;padding:6px 12px;cursor:pointer;font-size:.813rem;font-weight:500;transition:background .2s}.next-button:hover{background:#4a8cd9}.current-time{padding:8px 16px;background:#5b9cf526;border:1px solid #5b9cf5;border-radius:6px;color:#5b9cf5;font-weight:600;font-size:.875rem;min-width:200px;text-align:center}.jump-button,.override-button{background:#5b9cf5;color:#fff;border:none;border-radius:6px;padding:10px 20px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s;box-shadow:0 2px 4px #0003}.jump-button:hover,.override-button:hover{background:#4a8cd9}.override-form{background:#252b3d;border:1px solid #3a4256;border-radius:6px;padding:16px;margin-top:16px}.form-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.form-group{display:flex;flex-direction:column;gap:4px;flex:1;min-width:200px}.form-group label{font-size:.875rem;font-weight:500;color:#b0b8c8}.form-group input{padding:8px 12px;border:1px solid #3a4256;border-radius:4px;font-size:.875rem;background:#1e2538;color:#e0e0e0}.form-group input:focus{outline:none;border-color:#5b9cf5}.apply-button{background:#5b9cf5;color:#fff;border:none;border-radius:4px;padding:10px 20px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s}.apply-button:hover{background:#4a8cd9}.form-help{margin-top:12px;font-size:.813rem;color:#8a92a6;font-style:italic}.schedule-container{background:#1e2538;border-radius:12px;padding:16px;box-shadow:0 4px 12px #0006;overflow-x:auto;max-height:70vh;overflow-y:auto;border:1px solid #2a3142}.schedule-table{width:100%;border-collapse:collapse;font-size:.875rem}.schedule-table thead{position:sticky;top:0;background:#252b3d;z-index:10}.schedule-table th{text-align:left;padding:12px 16px;font-weight:600;color:#5b9cf5;border-bottom:2px solid #3a4256;white-space:nowrap}.schedule-table th.indicator-header{width:30px;padding:12px 8px}.schedule-table td{padding:12px 16px;border-bottom:1px solid #2a3142;color:#c8d0e0}.schedule-table tbody tr{transition:background .2s}.schedule-table tbody tr:hover{background:#5b9cf514}.schedule-table tbody tr.current{background:#5b9cf540;font-weight:600}.schedule-table tbody tr.current td{color:#5b9cf5}.schedule-table tbody tr.greyed-out{opacity:.3}.schedule-table tbody tr.search-highlight{background:#ffc10740;opacity:1}.schedule-table tbody tr.search-highlight td{color:#ffc107;font-weight:600}.schedule-table td.indicator{width:30px;padding:12px 8px;text-align:center;color:#5b9cf5;font-size:1rem}.footer{background:#1e2538;border-radius:12px;padding:16px;margin-top:24px;text-align:center;color:#8a92a6;font-size:.813rem;box-shadow:0 4px 12px #0006;border:1px solid #2a3142}.error-banner{background:#e74c3c26;border:1px solid #e74c3c;border-radius:6px;padding:16px;color:#e74c3c;margin:20px}.loading{text-align:center;padding:40px;font-size:1.25rem;color:#5b9cf5}.early-message{background:linear-gradient(135deg,#1e2538,#2a3450);border-radius:16px;padding:60px 40px;margin:40px auto;max-width:700px;text-align:center;box-shadow:0 8px 24px #00000080;border:2px solid #5b9cf5}.early-message h1{color:#5b9cf5;font-size:2.5rem;margin-bottom:24px;text-shadow:0 2px 8px rgba(91,156,245,.3)}.early-message h2{color:#e0e0e0;font-size:1.8rem;margin-bottom:20px;font-weight:600}.early-message p{color:#b0b8c8;font-size:1.1rem;margin-bottom:12px}.early-message .start-time{background:#5b9cf526;border:2px solid #5b9cf5;border-radius:8px;padding:20px 30px;margin:24px 0;font-size:1.5rem;font-weight:700;color:#5b9cf5;text-shadow:0 2px 4px rgba(0,0,0,.3)}.early-message .timezone-note{color:#8a92a6;font-size:.9rem;font-style:italic;margin-top:16px}@media (max-width: 768px){.header h1{font-size:1.5rem}.controls,.control-group{flex-direction:column;align-items:stretch}.form-row{flex-direction:column}.schedule-table{font-size:.75rem}.schedule-table th,.schedule-table td{padding:8px}}
