*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#000;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.visual-tester{background:#000;color:#fff;display:flex;flex-direction:column;height:100vh}.tester-header{align-items:center;background:#111;border-bottom:2px solid #333;display:flex;justify-content:space-between;padding:1rem 2rem}.header-left h1{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#0f8,#0af);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;margin-bottom:.5rem}.connection-info{align-items:center;display:flex;font-size:.9rem;gap:1rem}.status-dot{background:#444;border-radius:50%;height:8px;width:8px}.status-dot.connected{animation:pulse 2s infinite;background:#0f8}.status-dot.disconnected{background:#f44}.seat-count{background:#333;border-radius:12px;color:#0f8;font-weight:700;padding:.25rem .5rem}.header-tabs{display:flex;gap:.5rem}.tab-button{background:#333;border:none;border-radius:6px;color:#ccc;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.tab-button.active{background:linear-gradient(45deg,#0f8,#0af);color:#000;font-weight:700}.tab-button:hover:not(.active){background:#444;color:#fff}.tester-content{flex:1 1;overflow:hidden}.controls-only-layout{display:flex;height:100%;justify-content:center;overflow-y:auto;padding:1rem}.controls-only-layout .control-panel{max-width:1200px;width:100%}.visualizer-layout{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 350px;height:100%;padding:1rem}.stadium-container{overflow:hidden;position:relative}.control-container,.stadium-container{background:#111;border:1px solid #333;border-radius:12px}.control-container{overflow-y:auto}@media (max-width:1200px){.visualizer-layout{grid-template-columns:1fr;grid-template-rows:1fr auto}.control-container{max-height:300px}}.connection-mode-selector{background:#1a1a1a;border:1px solid #333;border-radius:8px;margin-bottom:1rem;padding:1rem}.connection-mode-selector h4{color:#0f8;font-size:1.1rem;margin:0 0 1rem}.seat-count-selector{margin-bottom:1rem}.seat-count-selector label{align-items:center;color:#ccc;display:flex;font-size:.9rem;gap:.5rem}.seat-count-select{background:#333;border:1px solid #555;border-radius:4px;color:#fff;font-size:.9rem;padding:.5rem}.mode-options{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.mode-option{background:#222;border:2px solid #333;border-radius:8px;cursor:pointer;padding:.75rem;transition:all .2s}.mode-option:hover{background:#2a2a2a;border-color:#555}.mode-option.selected{background:#2a2a2a;box-shadow:0 0 10px #2196f34d}.mode-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.25rem}.mode-icon{font-size:1.2rem}.mode-name{color:#fff;font-size:.95rem;font-weight:700}.mode-description{color:#ccc;font-size:.8rem;margin-bottom:.25rem}.mode-specs{color:#888;font-family:monospace;font-size:.75rem}.start-connection-btn{align-items:center;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:700;gap:.5rem;justify-content:center;margin-bottom:1rem;padding:.75rem 1rem;transition:all .2s;width:100%}.start-connection-btn:hover:not(:disabled){box-shadow:0 4px 12px #0000004d;transform:translateY(-1px)}.start-connection-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-icon{font-size:1.1rem}.connection-tips{background:#111;border:1px solid #333;border-radius:6px;padding:.75rem}.connection-tips h5{color:#0af;font-size:.9rem;margin:0 0 .5rem}.connection-tips ul{color:#ccc;font-size:.8rem;margin:0;padding-left:1rem}.connection-tips li{margin-bottom:.25rem}.connection-tips strong{color:#fff}.connection-mode-active{background:#1a1a1a;border:1px solid #333;border-radius:8px;margin-bottom:1rem;padding:1rem}.active-mode{align-items:center;color:#0f8;display:flex;font-weight:700;gap:.5rem}.active-mode .mode-icon{animation:pulse 2s infinite;font-size:1.2rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.performance-monitor{background:#1a1a1a;border:1px solid #333;border-radius:8px;margin-bottom:1rem;padding:1rem}.performance-monitor h3{align-items:center;color:#0af;display:flex;font-size:1.1rem;gap:.5rem;margin:0 0 1rem}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:1.5rem}.stat-item{background:#222;border:1px solid #333;border-radius:6px;padding:.75rem;text-align:center}.stat-label{color:#888;font-size:.8rem;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.stat-value{color:#0f8;font-size:1.5rem;margin-bottom:.25rem}.stat-value.grade{font-size:2rem}.stat-subtitle{color:#666;font-size:.7rem}.stat-progress{background:#333;border-radius:2px;height:4px;margin-top:.25rem;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#0f8,#0af);border-radius:2px;transition:width .3s ease}.benchmark-section{background:#111;border:1px solid #333;border-radius:6px;margin-bottom:1rem;padding:1rem}.benchmark-button{align-items:center;background:linear-gradient(45deg,#ff9800,#f57c00);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-weight:700;gap:.5rem;justify-content:center;margin-bottom:1rem;padding:.75rem 1rem;transition:all .2s;width:100%}.benchmark-button:hover:not(:disabled){box-shadow:0 4px 12px #ff98004d;transform:translateY(-1px)}.benchmark-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.benchmark-results{background:#222;border-left:3px solid #0af;border-radius:4px;padding:.75rem}.result-item{align-items:center;color:#ccc;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:.25rem}.result-item:last-child{margin-bottom:0}.result-item strong{color:#fff}.performance-tips{background:#111;border:1px solid #333;border-radius:6px;padding:1rem}.performance-tips h4{color:#0af;font-size:.9rem;margin:0 0 .75rem}.performance-tips ul{list-style:none;margin:0;padding-left:1rem}.performance-tips li{color:#ccc;font-size:.8rem;margin-bottom:.5rem;padding-left:.5rem;position:relative}.performance-tips li:before{color:#0af;content:"•";font-weight:700;left:-.5rem;position:absolute}.performance-tips li:last-child{margin-bottom:0}.performance-tips strong{color:#fff}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.result-item{align-items:flex-start;flex-direction:column;gap:.25rem}}.cluster-monitor{background:#1a1a1a;border:1px solid #333;border-radius:8px;margin-bottom:1rem;padding:1rem}.cluster-monitor h3{align-items:center;color:#0af;display:flex;font-size:1.1rem;gap:.5rem;margin:0 0 1rem}.cluster-summary{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:1.5rem}.summary-item{background:#222;border:1px solid #333;border-radius:6px;padding:.75rem;text-align:center}.summary-label{color:#888;font-size:.8rem;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.summary-value{color:#0f8;font-size:1.2rem;font-weight:700}.summary-value.efficiency{font-size:1.4rem}.efficiency-bar{margin-bottom:1.5rem}.efficiency-label{color:#ccc;font-size:.9rem;margin-bottom:.5rem}.progress-container{background:#333;border-radius:12px;height:24px;overflow:hidden;position:relative}.progress-fill{border-radius:12px;height:100%;transition:width .3s ease,background .3s ease}.progress-text{color:#fff;font-size:.8rem;font-weight:700;left:50%;position:absolute;text-shadow:0 1px 2px #000c;top:50%;transform:translate(-50%,-50%)}.rooms-grid{background:#111;border:1px solid #333;border-radius:6px;padding:1rem}.rooms-grid,.rooms-header{margin-bottom:1rem}.rooms-header h4{color:#0f8;font-size:.95rem;margin:0}.rooms-list{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.room-item{background:#222;border:1px solid #333;border-radius:6px;padding:.75rem}.room-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.room-id{color:#0af;font-size:.85rem;font-weight:700}.room-fill{font-size:.8rem;font-weight:700}.room-progress{background:#333;border-radius:3px;height:6px;margin-bottom:.5rem;overflow:hidden}.room-progress-fill{border-radius:3px;height:100%;transition:width .3s ease,background .3s ease}.room-efficiency{color:#888;font-size:.75rem;text-align:center}.cluster-benefits{background:#111;border:1px solid #333;border-radius:6px;padding:1rem}.cluster-benefits h4{color:#0af;font-size:.9rem;margin:0 0 .75rem}.benefits-list{display:flex;flex-direction:column;gap:.5rem}.benefit-item{align-items:flex-start;color:#ccc;display:flex;font-size:.8rem;gap:.5rem}.benefit-item:before{color:#0af;content:"•";flex-shrink:0;font-weight:700}.benefit-item strong{color:#fff}@media (max-width:768px){.cluster-summary{grid-template-columns:repeat(2,1fr)}.rooms-list{grid-template-columns:1fr}}.pattern-controller{background:#1a1a1a;border:1px solid #333;border-radius:8px;margin-bottom:1rem;padding:1rem}.pattern-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.pattern-header h3{align-items:center;color:#f60;font-size:1.1rem;margin:0}.control-btn,.pattern-actions,.pattern-header h3{display:flex;gap:.5rem}.control-btn{align-items:center;padding:.5rem 1rem;transition:all .2s ease}.control-btn:hover{box-shadow:0 4px 8px #0000004d;transform:translateY(-1px)}.control-btn.stop-all{background:#f44;color:#fff}.control-btn.stop-all:hover{background:#f66}.active-patterns{background:#111;border:1px solid #333;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.active-patterns h4{color:#0f8;font-size:.95rem;margin:0 0 1rem}.patterns-list{display:flex;flex-direction:column;gap:.75rem}.active-pattern-item{align-items:center;background:#222;border:1px solid #444;border-radius:6px;display:flex;gap:1rem;padding:.75rem}.pattern-info{flex:1 1;min-width:0}.pattern-name{color:#fff;font-size:.9rem;font-weight:700;margin-bottom:.25rem}.pattern-time{color:#888;font-size:.8rem}.pattern-progress-container{background:#333;border-radius:10px;flex:2 1;height:20px;margin:0 1rem;overflow:hidden;position:relative}.pattern-progress-bar{border-radius:10px;height:100%;transition:width .3s ease,background .3s ease}.progress-percentage{color:#fff;font-size:.75rem;font-weight:700;left:50%;position:absolute;text-shadow:0 1px 2px #000c;top:50%;transform:translate(-50%,-50%)}.stop-pattern-btn{align-items:center;background:#f44;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;min-width:36px;padding:.5rem;transition:background .2s ease}.stop-pattern-btn:hover{background:#f66}.pattern-presets{margin-bottom:1.5rem}.pattern-presets h4{color:#0af;font-size:.95rem;margin:0 0 1rem}.presets-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.preset-btn{align-items:center;background:#222;border:1px solid #444;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;padding:.75rem;text-align:center;transition:all .2s ease}.preset-btn:hover{background:#333;border-color:#0af;transform:translateY(-2px)}.preset-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.preset-icon{font-size:1.2rem;margin-bottom:.25rem}.preset-name{color:#fff;font-size:.8rem;font-weight:500;line-height:1.2}.preset-duration{color:#888;font-size:.7rem;margin-top:.25rem}.pattern-info{align-items:center;background:#111;border:1px solid #333;border-radius:6px;display:flex;flex-wrap:wrap;gap:1rem;padding:1rem}.info-item{font-size:.85rem}.info-item strong{margin-right:.5rem}.info-item.warning{align-items:center;color:#fa0;display:flex;gap:.5rem}@media (max-width:768px){.pattern-header{align-items:stretch;flex-direction:column;gap:1rem}.pattern-actions{justify-content:center}.presets-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.active-pattern-item{align-items:stretch;flex-direction:column;gap:.75rem}.pattern-progress-container{margin:0}.pattern-info{align-items:stretch;flex-direction:column;text-align:center}}@media (max-width:480px){.presets-grid{grid-template-columns:repeat(2,1fr)}}.control-panel{display:flex;flex-direction:column;gap:1.5rem;height:100%;overflow-y:auto;padding:1rem}.panel-section{background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:1rem}.panel-section h3{border-bottom:1px solid #333;color:#0f8;font-size:1.1rem;margin:0 0 1rem;padding-bottom:.5rem}.connection-stats{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.stat{align-items:center;display:flex;font-size:.9rem;justify-content:space-between}.stat-value.connected{color:#0f8}.stat-value.disconnected{color:#f44}.auto-connect-controls{display:flex;gap:.5rem}.control-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;letter-spacing:.5px;padding:.6rem 1rem;text-transform:uppercase;transition:all .2s;width:100%}.control-btn.primary{background:linear-gradient(45deg,#0f8,#0af);color:#000}.control-btn.secondary{background:#444;border:1px solid #666;color:#fff}.control-btn.danger{background:#f44;color:#fff}.control-btn.clear{background:#666;color:#fff}.control-btn.test-pattern{background:#333;border:1px solid #555;color:#ccc;font-size:.8rem;text-transform:none}.control-btn:hover:not(:disabled){box-shadow:0 4px 12px #0000004d;transform:translateY(-1px)}.control-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.color-controls{display:flex;flex-direction:column;gap:1rem}.color-picker-group{align-items:center;display:flex;gap:.5rem}.color-picker{border:none;border-radius:4px;cursor:pointer;flex-shrink:0;height:40px;width:50px}.color-picker-group .control-btn{min-width:100px;width:auto}.predefined-colors{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(6,1fr)}.color-btn{border:2px solid #0000;border-radius:4px;cursor:pointer;height:30px;transition:all .2s;width:100%}.color-btn:hover:not(:disabled){border-color:#fff;transform:scale(1.1)}.color-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.pulse-description{color:#888;font-size:.8rem;margin-bottom:1rem;text-align:center}.pulse-colors{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(4,1fr)}.pulse-btn{align-items:center;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;font-weight:700;height:50px;justify-content:center;position:relative;transition:all .3s ease;width:100%}.pulse-btn:hover:not(:disabled){border-color:#fff;box-shadow:0 0 15px #ffffff4d;transform:scale(1.05)}.pulse-btn:active:not(:disabled){animation:pulse-flash .6s ease-out}.pulse-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.pulse-key{background:#ffffffe6;border-radius:4px;color:#000;font-size:1.2rem;font-weight:700;min-width:1.5rem;padding:.2rem .4rem;text-align:center;text-shadow:1px 1px 2px #fffc}@keyframes pulse-flash{0%{box-shadow:0 0 5px #ffffff80}50%{box-shadow:0 0 30px #fffc,0 0 60px currentColor;transform:scale(1.1)}to{box-shadow:0 0 5px #ffffff80;transform:scale(1.05)}}.effects-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr}.effect-btn{background:#333;border:1px solid #555;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:.2rem;padding:.8rem;text-align:left;transition:all .2s}.effect-btn:hover:not(:disabled){background:#444;border-color:#0f8}.effect-btn:disabled{cursor:not-allowed;opacity:.5}.effect-name{color:#0f8;font-size:.9rem;font-weight:700}.effect-details{color:#888;font-size:.8rem}.test-patterns{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr}.test-patterns .control-btn{font-size:.8rem;padding:.5rem}.performance-stats{display:flex;flex-direction:column;gap:.5rem}.performance-stats .stat-value{color:#0af}.control-panel::-webkit-scrollbar{width:6px}.control-panel::-webkit-scrollbar-track{background:#111}.control-panel::-webkit-scrollbar-thumb{background:#333;border-radius:3px}.control-panel::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:768px){.predefined-colors{grid-template-columns:repeat(4,1fr)}.pulse-colors{grid-template-columns:repeat(3,1fr)}.test-patterns{grid-template-columns:1fr}.color-picker-group{align-items:stretch;flex-direction:column}}.emoji-description{color:#ccc;font-size:.9rem;line-height:1.4;margin:0 0 1rem}.emoji-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(8,1fr)}.emoji-btn{align-items:center;aspect-ratio:1;background:#333;border:2px solid #555;border-radius:8px;cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;padding:.5rem;transition:all .2s ease;-webkit-user-select:none;user-select:none}.emoji-btn:hover:not(:disabled){background:#444;border-color:#0f8;box-shadow:0 0 10px #00ff884d;transform:scale(1.1)}.emoji-btn:active:not(:disabled){background:#555;transform:scale(1.05)}.emoji-btn:disabled{cursor:not-allowed;filter:grayscale(1);opacity:.5;transform:none}@media (max-width:768px){.emoji-grid{grid-template-columns:repeat(6,1fr)}.emoji-btn{font-size:1.3rem}}@media (max-width:480px){.emoji-grid{grid-template-columns:repeat(4,1fr)}.emoji-btn{font-size:1.2rem;padding:.4rem}}.stadium-configurator{height:100%;overflow-y:auto;padding:1rem}.configurator-header{align-items:center;border-bottom:2px solid #333;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.configurator-header h2{color:#0f8;font-size:1.5rem;margin:0}.header-actions{display:flex;gap:.5rem}.action-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.action-btn.primary{background:linear-gradient(45deg,#0f8,#0af);color:#000}.action-btn.secondary{background:#444;border:1px solid #666;color:#fff}.action-btn:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-1px)}.configurator-content{display:flex;flex-direction:column;gap:2rem}.stadium-overview{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.overview-card{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1.5rem}.overview-card h3{color:#0f8;font-size:1.2rem;margin:0 0 1rem}.stadium-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.stat-item{align-items:center;border-bottom:1px solid #333;display:flex;justify-content:space-between;padding:.5rem 0}.stat-label{color:#ccc;font-size:.9rem}.stat-value{color:#0af;font-size:1rem;font-weight:700}.field-info{background:#222;border-left:4px solid #0f8;border-radius:8px;padding:1rem}.field-info h4{color:#0f8;margin:0 0 .5rem}.field-info p{color:#ccc;font-size:.9rem;margin:.25rem 0}.sections-grid h3{color:#0f8;font-size:1.2rem;margin:0 0 1rem}.sections-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.section-card{background:#1a1a1a;border:1px solid #333;border-radius:12px;cursor:pointer;padding:1rem;transition:all .2s}.section-card:hover{border-color:#0f8;box-shadow:0 4px 20px #00ff881a;transform:translateY(-2px)}.section-card.selected{background:#222;border-color:#0f8;box-shadow:0 0 20px #0f83}.section-header{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.section-color{border:2px solid #fff;border-radius:4px;flex-shrink:0;height:20px;width:20px}.section-title h4{color:#fff;font-size:1.1rem;margin:0}.section-id{color:#888;font-size:.8rem}.section-details{display:flex;flex-direction:column;gap:.3rem}.detail-row{align-items:center;display:flex;font-size:.9rem;justify-content:space-between}.detail-row span:first-child{color:#ccc}.detail-row span:last-child{color:#fff;font-weight:500}.shape-badge{background:#333!important;border-radius:12px!important;color:#0af!important;font-size:.8rem!important;padding:.2rem .5rem!important}.seat-mapping-section{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1.5rem}.section-header-with-toggle{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.section-header-with-toggle h3{color:#0f8;font-size:1.2rem;margin:0}.toggle-btn{background:#333;border:none;border-radius:6px;color:#ccc;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.toggle-btn:hover{background:#444;color:#fff}.seat-list-container{margin-top:1rem}.seat-search{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.search-input{background:#222;border:1px solid #444;border-radius:6px;color:#fff;flex:1 1;font-size:.9rem;min-width:250px;padding:.75rem}.search-input:focus{border-color:#0f8;box-shadow:0 0 10px #0f83;outline:none}.search-info{color:#888;font-size:.8rem;white-space:nowrap}.seat-list{grid-gap:.5rem;background:#222;border-radius:8px;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-height:400px;overflow-y:auto;padding:.5rem}.seat-item{background:#333;border-left:3px solid #0af;border-radius:6px;font-size:.8rem;padding:.75rem}.seat-number{color:#0f8;font-weight:700;margin-bottom:.25rem}.seat-pixel,.seat-position{color:#ccc;font-size:.75rem}.selected-section-detail{background:#1a1a1a;border:1px solid #333;border-left:4px solid #0f8;border-radius:12px;padding:1.5rem}.selected-section-detail h3{color:#0f8;font-size:1.2rem;margin:0 0 1.5rem}.section-visualization{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:auto 1fr}.section-preview{background:#111;border:1px solid #333;border-radius:8px;padding:1rem;position:relative}.section-rectangle{border:2px solid #666;border-radius:4px;position:relative}.section-grid{grid-gap:1px;display:grid;gap:1px;grid-template-columns:repeat(10,1fr);grid-template-columns:repeat(var(--seats-per-row,10),1fr);left:50%;padding:2px;position:absolute;top:50%;transform:translate(-50%,-50%)}.seat-dot{background:#fff;border-radius:50%;height:3px;opacity:.7;width:3px}.section-info{background:#222;border-radius:8px;padding:1rem}.section-info h4{color:#0af;margin:0 0 1rem}.info-list{display:flex;flex-direction:column;gap:.5rem}.info-item{color:#ccc;font-size:.9rem}.info-item strong{color:#fff}.seat-list::-webkit-scrollbar,.stadium-configurator::-webkit-scrollbar{width:6px}.seat-list::-webkit-scrollbar-track,.stadium-configurator::-webkit-scrollbar-track{background:#111}.seat-list::-webkit-scrollbar-thumb,.stadium-configurator::-webkit-scrollbar-thumb{background:#333;border-radius:3px}.seat-list::-webkit-scrollbar-thumb:hover,.stadium-configurator::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:1200px){.section-visualization{gap:1rem;grid-template-columns:1fr}}@media (max-width:768px){.configurator-header{align-items:stretch;flex-direction:column;gap:1rem}.sections-list,.stadium-stats{grid-template-columns:1fr}.seat-search{align-items:stretch;flex-direction:column}.search-input{min-width:auto}}.stadium-visualizer{display:flex;flex-direction:column;height:100%;position:relative}.visualizer-controls{align-items:center;background:#1a1a1a;border-bottom:1px solid #333;display:flex;justify-content:space-between;padding:1rem}.zoom-controls{align-items:center;display:flex;gap:.5rem}.zoom-controls button{background:#333;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:.25rem .5rem}.zoom-controls button:hover{background:#444}.zoom-controls span{color:#ccc;font-size:.9rem;min-width:50px;text-align:center}.stadium-info{align-items:flex-end;color:#ccc;display:flex;flex-direction:column;font-size:.9rem}.stadium-info span:first-child{color:#0f8;font-weight:700}canvas{background:#000;border:1px solid #333;flex:1 1}.seat-tooltip{background:#000000e6;border:1px solid #0f8;border-radius:6px;color:#fff;font-size:.8rem;max-width:200px;padding:.5rem;pointer-events:none;position:absolute;z-index:1000}.tooltip-content{display:flex;flex-direction:column;gap:.2rem}.tooltip-content strong{color:#0f8;font-size:.9rem}.legend{background:#000c;border:1px solid #333;border-radius:8px;bottom:1rem;flex-direction:column;font-size:.8rem;left:1rem;padding:1rem;position:absolute}.legend,.legend-item{display:flex;gap:.5rem}.legend-item{align-items:center}.color-box{border-radius:2px;height:12px;width:12px}.color-box.border-only{background:#0000;border:1px solid #444}@media (max-width:768px){.visualizer-controls{flex-direction:column;gap:.5rem;padding:.5rem}.stadium-info{align-items:center}.legend{flex-direction:row;flex-wrap:wrap;justify-content:center;margin:.5rem;position:static}}
/*# sourceMappingURL=main.e8681775.css.map*/