*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;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}.App{display:flex;flex-direction:column;height:100vh;overflow:hidden}.App-header{background-color:#282c34;color:#fff;padding:12px;text-align:center}.App-header h1{font-size:1.5rem;margin-bottom:.25rem}.App-header p{color:#b0b0b0;font-size:.85rem}.App-main{background-color:#f5f5f5;flex:1 1;padding:0}.App-main,.dashboard{display:flex;min-height:0;overflow:hidden}.dashboard{flex-direction:column;gap:12px;height:100%;padding:20px;width:100%}.dashboard-bottom,.dashboard-top{display:flex;flex:0 0 50%;gap:12px;min-height:0}.dashboard-box{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:20px}.dashboard-box h3{color:#333;font-size:1.2rem;margin:0 0 15px}.chart-header,.dashboard-box h3{border-bottom:2px solid #3498db;padding-bottom:10px}.chart-header{justify-content:space-between;margin-bottom:15px}.chart-header,.header-controls{align-items:center;display:flex}.header-controls{gap:15px}.chart-header h3{border-bottom:none;margin:0;padding-bottom:0}.info-button-wrapper{cursor:default;position:relative}.info-button{align-items:center;border:1px solid #3498db;border-radius:50%;color:#3498db;cursor:default;display:inline-flex;font-size:1.2rem;font-style:italic;font-weight:400;height:1.2rem;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:1.2rem}.info-tooltip{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 8px #00000026;color:#333;font-size:.85rem;line-height:1.4;margin-top:5px;max-width:400px;opacity:0;padding:12px;pointer-events:none;position:absolute;right:0;top:100%;transition:opacity .2s;white-space:normal;width:400px;z-index:1000}.info-button-wrapper:hover .info-tooltip{opacity:1}.glyph-toggle-button{background:#fff;border:1px solid #3498db;border-radius:4px;color:#3498db;cursor:pointer;font-size:.9rem;padding:6px 12px;transition:background-color .2s,color .2s,border-color .2s;white-space:nowrap}.glyph-toggle-button:hover{background-color:#3498db;color:#fff}.dashboard-box p{color:#666;font-style:italic}.clustering-box{flex:1 1}.clustering-content{display:flex;flex:1 1;gap:15px;min-height:0}.clustering-control-panel{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;flex-direction:column;gap:15px;min-width:120px;padding:12px}.control-section{display:flex;flex-direction:column;gap:6px}.control-label{color:#666;font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.feature-toggle-group{display:flex;flex-direction:column;gap:4px}.feature-toggle-btn{background:#fff;border:1px solid #ccc;border-radius:4px;color:#555;cursor:pointer;font-size:.8rem;padding:6px 10px;text-align:left;transition:all .2s}.feature-toggle-btn:hover{border-color:#3498db;color:#3498db}.feature-toggle-btn.active{background:#3498db;border-color:#3498db;color:#fff}.control-select{background:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:.85rem;padding:6px 8px}.control-select:focus{border-color:#3498db;outline:none}.selected-county-display{color:#333;font-size:.85rem;font-weight:500;padding:4px 0}.clustering-plot-container{flex:1 1;min-height:0;min-width:0}.cluster-controls{display:flex;gap:20px;margin-bottom:15px}.county-selector,.feature-selector,.year-selector{align-items:center;display:flex;gap:10px}.county-selector{margin-bottom:15px}.county-selector label,.feature-selector label,.year-selector label{color:#555;font-weight:600}.county-selector select,.feature-selector select,.year-selector select{background-color:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 12px;transition:border-color .2s}.county-selector select:hover,.feature-selector select:hover,.year-selector select:hover{border-color:#3498db}.county-selector select:focus,.feature-selector select:focus,.year-selector select:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.map-box,.metric-box{flex:1 1}.map-container{display:flex;flex:1 1;min-height:0;overflow:hidden}@media (max-width:1024px){.dashboard-bottom,.dashboard-top{flex-direction:column}.dashboard-bottom,.dashboard-top{height:auto}}.county-map-container{align-items:center;display:flex;height:100%;justify-content:center;min-height:0;overflow:hidden;position:relative;width:100%}.county-map{cursor:grab;display:block;transition:transform .3s ease}.county-map:active{cursor:grabbing}.county{transition:fill .2s ease,stroke-width .2s ease}.county:hover{cursor:pointer}.county-label{fill:#888;font-size:9px;font-weight:400;pointer-events:none}.county-label-selected{fill:#000;font-weight:700}.zoom-button{align-items:center;background:#fff;border:1px solid #ccc;border-radius:4px;bottom:10px;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:flex;font-size:18px;height:30px;justify-content:center;position:absolute;right:10px;transition:background-color .2s,border-color .2s;width:30px;z-index:10}.zoom-in-button{bottom:50px}.zoom-out-button{bottom:10px}.zoom-button:hover{background-color:#f0f0f0;border-color:#999}.rotate-button{align-items:center;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;position:absolute;right:10px;top:10px;transition:background-color .2s,border-color .2s;width:32px;z-index:10}.rotate-button:hover{background-color:#f0f0f0;border-color:#999}.county-glyph{transition:transform .2s ease}.county-glyph path.petal{transition:opacity .3s ease}.chart-container{height:100%;min-height:0;overflow:hidden;position:relative;width:100%}.chart-container.frequency-chart-container{overflow:visible;padding-top:40px}.chart-container svg{display:block}.chart-container .placeholder{color:#888;font-style:italic;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.axis line,.axis path{fill:none;stroke:#ccc;shape-rendering:crispEdges}.axis text{fill:#555;font-size:10px}.line{stroke-width:2px}.bar{transition:fill .2s ease}.bar:hover{fill:#2980b9}.touchpoint-selector{background-color:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:12px;padding:4px 8px;position:absolute;right:0;top:5px;transition:border-color .2s;z-index:10}.touchpoint-selector:hover{border-color:#3498db}.touchpoint-selector:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}
/*# sourceMappingURL=main.cdb015e6.css.map*/