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}body{background-color:#f0f2f5;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0;padding:12px}.App{border-radius:8px;box-shadow:0 4px 12px #0000001a;margin:0 auto;max-width:980px}.App,header{background-color:#fff}header{border-bottom:1px solid #ffffff1a;color:#000;padding:10px 16px;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:100}header h1{font-size:1.4em;margin:0 0 6px}.app-header{text-align:left;text-align:initial}.header-top{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.app-title{align-items:center;display:inline-flex;gap:8px}.app-icon{display:inline-block;filter:drop-shadow(0 1px 0 rgba(0,0,0,.2));height:120px;width:120px}.header-separator{background:linear-gradient(90deg,#fff0,#ffffff8c,#fff0);border-radius:999px;height:8px;margin:4px 0 8px}main{grid-gap:16px;display:grid;margin-top:24px;padding:12px 16px 20px}section{border:1px solid #e8e8e8;border-radius:6px;padding:12px}section h2{border-bottom:1px solid #f0f2f5;color:#4a4a4a;margin-bottom:10px;margin-top:0;padding-bottom:6px}button,input,select{border:1px solid #ccc;border-radius:4px;font-size:.95em;margin:4px;padding:6px 10px;transition:all .2s ease-in-out}button{background-color:#007bff;border-color:#007bff;color:#fff;cursor:pointer}button:hover{background-color:#0056b3}button:disabled{background-color:#ccc;cursor:not-allowed}input[type=number],select{background-color:#fff}input[type=number]{-moz-appearance:textfield;box-sizing:border-box;font-family:inherit;font-size:.9rem;max-width:4ch;padding:.12rem .25rem;text-align:right;width:4ch}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.setup-section div{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.cabinet-grid,.items-container{align-items:stretch;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.speaker{align-items:center;background-color:#f9f9f9;border:2px solid #ccc;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;padding:8px;transition:all .2s ease-in-out;width:120px}.speaker.selected{background-color:#e7f3ff;border-color:#007bff;box-shadow:0 0 10px #007bff80}.speaker-graphic{align-items:center;background-color:#333;border:3px solid #555;border-radius:50%;cursor:pointer;display:flex;height:56px;justify-content:center;margin-bottom:8px;position:relative;width:56px}.cone{background-color:#444;height:46px;width:46px}.cone,.dust-cap{border-radius:50%;position:absolute}.dust-cap{background-color:#222;height:16px;width:16px;z-index:1}.speaker-id{color:#fff;font-size:1em;font-weight:700;opacity:.6;position:absolute;z-index:2}.speaker-controls{align-items:center;cursor:default;display:flex;flex-direction:column;gap:6px}.impedance-label,.select-label{align-items:center;display:flex;gap:4px}.select-label input[type=checkbox]{height:16px;width:16px}.wiring-instructions{color:#666;font-style:italic;margin-bottom:8px;text-align:center}.wiring-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:10px}.selection-status{background-color:#e7f3ff;border:1px solid #007bff;border-radius:6px;color:#0056b3;font-weight:700;padding:10px;text-align:center}.wiring-inline{margin-top:8px}.selection-controls{display:flex;justify-content:center;margin-bottom:6px}.group{align-items:center;background-color:#e7f3ff;border:2px solid #007bff;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;min-width:170px;padding:10px;transition:all .2s ease-in-out}.group.selected{border-color:#ff8c00;box-shadow:0 0 10px #ff8c00b3}.group[role=button]:hover{box-shadow:0 2px 10px #0000001f}.group.series{background-color:#d3202000}.group.parallel{background-color:#0a84ff00}.group-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px;text-align:center;width:100%}.group-title h3{font-size:1em;margin:0}.group-title p{font-size:.9em;margin:2px 0 0}.wiring-badge{align-items:center;background:#00000014;border-radius:999px;display:inline-flex;font-size:.85em;gap:6px;line-height:1;margin-left:8px;padding:2px 6px}.wiring-badge.series{background:rgba(201,0,0,.178);border:1px solid #c9000059;color:#470101}.wiring-badge.parallel{background:#0a84ff1f;border:1px solid #0a84ff59;color:#053d75}.wiring-badge .wiring-label{text-transform:capitalize}.btn-icon{margin-right:6px;vertical-align:-2px}.group-controls{align-items:center;border-top:1px solid #ccc;display:flex;justify-content:center;margin-top:10px;padding-top:8px}.group-select-label{align-items:center;cursor:pointer;display:flex;font-size:.85em;gap:4px}.group-select-label input[type=checkbox]{height:16px;width:16px}.delete-group-btn{background-color:#ff4d4f;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:14px;font-weight:700;height:22px;line-height:22px;padding:0;width:22px}.delete-group-btn:hover{background-color:#d9363e}.group-speakers-container{align-items:flex-start;border:1px dashed #0000;border-radius:6px;display:flex;flex-wrap:wrap;gap:6px;padding:6px}.group-speakers-container.parallel,.group-speakers-container.series{flex-direction:row}.group-speaker{background-color:#ffffffb3;border:1px solid #0000001a;border-radius:6px;box-sizing:border-box;flex-direction:column;gap:4px;min-width:96px;padding:6px}.group-speaker,.group-speaker-graphic{align-items:center;display:flex;position:relative}.group-speaker-graphic{background-color:#333;border:2px solid #555;border-radius:50%;height:56px;justify-content:center;width:56px}.cone-small{background-color:#444;height:46px;width:46px}.cone-small,.dust-cap-small{border-radius:50%;position:absolute}.dust-cap-small{background-color:#222;height:16px;width:16px;z-index:1}.group .impedance-label{font-size:.9em}.group-speaker-labels{color:#fff;font-size:.8em;gap:6px;position:absolute;text-align:center;z-index:2}.delete-speaker-btn{position:absolute;right:-10px;top:-10px}.remove-speaker-btn{background-color:#ff4d4f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8em;padding:4px 8px}.remove-speaker-btn:hover{background-color:#d9363e}.nested-group{align-items:center;background-color:#d1ecf1;border:1px solid #bee5eb;border-radius:4px;display:flex;justify-content:center;margin:2px;padding:8px}.nested-group-label{color:#0c5460;font-size:.8em;font-weight:700;text-align:center}.cabinet-container{background:#c57d12;border:1px solid #d3d3d3;border-radius:12px;box-shadow:0 4px 14px #00000026;color:#333;padding:10px}.cabinet-header{background:linear-gradient(180deg,#fafafa,#e9e9e9);border:1px solid #d5d5d5;border-radius:10px;margin-bottom:10px;padding:8px 12px}.cabinet-header h2{color:#333;font-size:1.1em;margin:0}.cabinet-ohms{color:#111;font-weight:700}.cabinet-body{background-color:#f5d980;background-image:linear-gradient(45deg,#00000008 25%,#0000 0,#0000 75%,#00000008 0,#00000008),linear-gradient(45deg,#00000008 25%,#0000 0,#0000 75%,#00000008 0,#00000008);background-position:0 0,6px 6px;background-size:12px 12px;border:1px solid #dcdcdc;border-radius:10px;box-shadow:inset 0 0 0 2px #ffffffe6,inset 0 0 0 4px #d0d0d0;padding:12px}.toasts-container{bottom:20px;display:flex;flex-direction:column;gap:10px;position:fixed;right:20px;z-index:1000}.toast{background:#000000d9;border-radius:6px;box-shadow:0 2px 8px #0000004d;color:#fff;font-size:.9em;padding:8px 12px}.app-footer{padding:10px 16px 16px}.legal-notice-section{background:#fafafa;border:1px dashed #00000026;border-radius:6px;color:#444;font-size:.8em;padding:12px}.legal-notice-header{align-items:center;display:flex;gap:8px;justify-content:space-between}.legal-notice-section h2{color:#666;font-size:1.05em;margin:24px 0 8px}.legal-notice-toggle{background:#666;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:.9em;padding:4px 10px}.legal-notice-toggle:hover{background:#b8b8b8}.legal-notice-content{overflow:hidden;transition:max-height .25s ease-in-out,opacity .25s ease-in-out}.legal-notice-content.closed{max-height:0;opacity:0}.legal-notice-content.open{max-height:800px;opacity:1}.legal-notice-section p{line-height:1.45;margin:8px 0}.group .group{border:2px dashed #00000026;margin-top:10px;padding:5px}.group.series{border-color:#c9000073}.group.parallel{border-color:#0a84ff73}
/*# sourceMappingURL=main.83d058e0.css.map*/