code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background-color:#f5f5f5;min-height:100vh;padding:20px 0;text-align:center}*,.App{box-sizing:border-box}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;margin:0}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--light-page-bg-color:#e6dfd6;--light-paper-bg-color:#f9fafb;--light-accent-color:#b96f4d;--light-accent-contrast-text-color:#f9fafb;--light-text-color:#5e4728;--light-text-secondary-color:#8b7355;--light-button-hover-bg-color:#9a5a3d;--light-border-color:#5e472833;--light-header-bg-color:#f9fafb;--light-grid-color:#5e472826;--light-tick-color:#8b7355;--dark-page-bg-color:#1a1410;--dark-paper-bg-color:#2d241c;--dark-accent-color:#b96f4d;--dark-accent-contrast-text-color:#f9fafb;--dark-text-color:#e6dfd6;--dark-text-secondary-color:#a89580;--dark-button-hover-bg-color:#9a5a3d;--dark-border-color:#b96f4d4d;--dark-header-bg-color:#251d16;--dark-grid-color:#b96f4d33;--dark-tick-color:#a89580;--light-pocket-pair-bg:#f5e6d3;--light-pocket-pair-border:#b96f4d;--light-suited-bg:#e8dfd0;--light-offsuit-bg:#f0ebe4;--dark-pocket-pair-bg:#3d2f1a;--dark-pocket-pair-border:#b96f4d;--dark-suited-bg:#2d261e;--dark-offsuit-bg:#262320}.hand-matrix-container{--page-bg-color:var(--light-page-bg-color);--paper-bg-color:var(--light-paper-bg-color);--accent-color:var(--light-accent-color);--accent-contrast-text-color:var(--light-accent-contrast-text-color);--text-color:var(--light-text-color);--text-secondary-color:var(--light-text-secondary-color);--button-hover-bg-color:var(--light-button-hover-bg-color);--border-color:var(--light-border-color);--header-bg-color:var(--light-header-bg-color);--grid-color:var(--light-grid-color);--tick-color:var(--light-tick-color);--pocket-pair-bg:var(--light-pocket-pair-bg);--pocket-pair-border:var(--light-pocket-pair-border);--suited-bg:var(--light-suited-bg);--offsuit-bg:var(--light-offsuit-bg);background-color:var(--page-bg-color);color:var(--text-color);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.hand-matrix-container.dark-theme{--page-bg-color:var(--dark-page-bg-color);--paper-bg-color:var(--dark-paper-bg-color);--accent-color:var(--dark-accent-color);--accent-contrast-text-color:var(--dark-accent-contrast-text-color);--text-color:var(--dark-text-color);--text-secondary-color:var(--dark-text-secondary-color);--button-hover-bg-color:var(--dark-button-hover-bg-color);--border-color:var(--dark-border-color);--header-bg-color:var(--dark-header-bg-color);--grid-color:var(--dark-grid-color);--tick-color:var(--dark-tick-color);--pocket-pair-bg:var(--dark-pocket-pair-bg);--pocket-pair-border:var(--dark-pocket-pair-border);--suited-bg:var(--dark-suited-bg);--offsuit-bg:var(--dark-offsuit-bg)}.hand-matrix-container{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column;height:100vh;margin:0 auto;max-width:1400px;padding:20px;transition:background-color .3s ease,color .3s ease}.matrix-header{margin-bottom:20px;text-align:center}.matrix-header h2{color:var(--text-color);font-size:24px;margin:0}.main-layout{display:flex;flex:1 1;gap:20px;min-height:0}.left-panel{display:flex;flex:0 0 300px;flex-direction:column;gap:10px;overflow-y:auto;padding-right:10px}.center-panel{align-items:center;display:flex;flex:0 0 auto;flex-direction:column;justify-content:flex-start;min-width:0}.right-panel{display:flex;flex:0 0 300px;flex-direction:column;gap:15px;overflow-y:auto;padding-left:10px}.controls-section{background-color:var(--paper-bg-color);border:1px solid var(--border-color);border-radius:6px;padding:12px}.controls-section h3{color:var(--text-color);font-size:14px;margin:0 0 8px;text-align:center}.controls{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto}.control-btn{border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 12px;transition:background-color .2s;width:100%}.clear-btn{background-color:var(--text-secondary-color);color:var(--page-bg-color)}.clear-btn:hover{background-color:var(--text-color)}.select-all-btn{background-color:var(--accent-color);color:var(--accent-contrast-text-color)}.select-all-btn:hover{background-color:var(--button-hover-bg-color)}.selected-count{background-color:var(--header-bg-color);border:1px solid var(--border-color);border-radius:4px;color:var(--accent-color);font-size:13px;font-weight:600;grid-column:1/-1;margin-top:8px;padding:8px 12px;text-align:center}.percentage-selector{background-color:var(--paper-bg-color);border:1px solid var(--border-color);border-radius:6px;padding:12px}.percentage-selector h3{color:var(--text-color);font-size:14px;margin:0 0 8px;text-align:center}.slider-container{display:flex;flex-direction:column;gap:6px}.percentage-slider{-webkit-appearance:none;background:var(--border-color);border-radius:3px;height:6px;outline:none;width:100%}.percentage-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent-color);border:2px solid var(--page-bg-color);border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:18px;width:18px}.percentage-slider::-moz-range-thumb{background:var(--accent-color);border:2px solid var(--page-bg-color);border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:18px;width:18px}.percentage-slider::-webkit-slider-track{background:linear-gradient(to right,var(--accent-color) 0,var(--accent-color) 50%,var(--text-secondary-color) 100%);border-radius:3px;height:6px;width:100%}.percentage-slider::-moz-range-track{background:linear-gradient(to right,var(--accent-color) 0,var(--accent-color) 50%,var(--text-secondary-color) 100%);border:none;border-radius:3px;height:6px;width:100%}.slider-labels{align-items:center;color:var(--text-secondary-color);display:flex;font-size:11px;justify-content:space-between}.current-percentage{color:var(--accent-color);font-size:12px;font-weight:700}.preset-selections{background-color:var(--paper-bg-color);border:1px solid var(--border-color);border-radius:6px;flex:1 1;min-height:0;overflow-y:auto;padding:12px}.preset-selections h3{color:var(--text-color);font-size:14px;margin:0 0 8px;text-align:center}.preset-buttons{display:flex;flex-direction:column;gap:4px}.preset-btn{background-color:var(--paper-bg-color);border:1px solid var(--border-color);border-radius:3px;box-shadow:0 1px 2px #0000001a;color:var(--text-color);cursor:pointer;font-size:11px;font-weight:500;padding:6px 10px;position:relative;text-align:center;transition:all .2s ease;width:100%}.preset-btn:hover{background-color:var(--accent-color);box-shadow:0 2px 4px #00000026;color:var(--accent-contrast-text-color);transform:translateY(-1px)}.preset-btn:active{box-shadow:0 1px 2px #0000001a;transform:translateY(0)}.preset-btn.active{background-color:var(--accent-color);border:2px solid var(--accent-color);box-shadow:0 0 0 1px var(--page-bg-color),0 0 0 3px var(--accent-color),0 1px 4px #00000026;color:var(--accent-contrast-text-color);transform:translateY(-1px)}.preset-btn.active:after{align-items:center;background-color:var(--page-bg-color);border:1px solid var(--accent-color);border-radius:50%;color:var(--accent-color);content:"✓";font-size:8px;font-weight:700;height:12px;position:absolute;right:1px;top:1px;width:12px}.legend,.preset-btn.active:after{display:flex;justify-content:center}.legend{background-color:var(--paper-bg-color);border-radius:8px;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding:15px}.legend-item{align-items:center;color:var(--text-color);display:flex;font-size:14px;font-weight:500;gap:8px}.legend-color{border:1px solid var(--border-color);border-radius:3px;height:20px;width:20px}.hand-matrix{background-color:var(--page-bg-color);border:2px solid var(--border-color);border-radius:8px;box-shadow:0 4px 6px #0000001a;display:inline-block;overflow:hidden}.hand-cell,.matrix-row{display:flex}.hand-cell{align-items:center;background-color:var(--page-bg-color);border:1px solid var(--grid-color);color:var(--text-color);cursor:pointer;font-size:12px;font-weight:700;height:50px;justify-content:center;position:relative;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:50px}.hand-cell:hover{background-color:var(--accent-color);box-shadow:0 2px 8px #0003;color:var(--accent-contrast-text-color);transform:scale(1.05);z-index:1}.hand-cell.dragging{cursor:crosshair}.hand-cell.dragging.adding:hover{box-shadow:0 0 0 3px #8b451399}.hand-cell.dragging.removing:hover{box-shadow:0 0 0 3px var(--text-secondary-color);opacity:.7}.hand-cell.pocket-pair{color:var(--text-color);font-weight:600}.hand-cell.pocket-pair,.legend-color.pocket-pair{background-color:var(--pocket-pair-bg);border:2px solid var(--pocket-pair-border)}.hand-cell.suited{border:1px solid var(--border-color);color:var(--text-color);font-style:italic}.hand-cell.suited,.legend-color.suited{background-color:var(--suited-bg)}.hand-cell.offsuit{color:var(--text-color)}.hand-cell.offsuit,.legend-color.offsuit{background-color:var(--offsuit-bg);border:1px solid var(--grid-color)}.hand-cell.selected{background-color:var(--accent-color)!important;border:2px solid var(--accent-color)!important;box-shadow:0 2px 8px #8b451366;color:var(--accent-contrast-text-color)!important;font-weight:700;transform:scale(1.05)}.usage-instructions{background-color:var(--paper-bg-color);border-left:4px solid var(--accent-color);border-radius:8px;padding:15px}.usage-instructions h4{color:var(--text-color);font-size:16px;margin:0 0 10px}.usage-instructions ul{margin:0;padding-left:20px;text-align:left}.usage-instructions li{color:var(--text-secondary-color);font-size:14px;line-height:1.4;margin-bottom:8px}.selected-hands{background-color:var(--paper-bg-color);border:1px solid var(--border-color);border-radius:8px;margin-top:16px;padding:16px}.selected-hands h3{color:var(--text-color);font-size:16px;font-weight:600;margin:0 0 12px}.range-stats{background-color:var(--header-bg-color);border:1px solid var(--border-color);border-radius:8px;gap:20px;justify-content:space-around;margin-bottom:16px;padding:16px 20px}.range-stats,.stat-item{align-items:center;display:flex}.stat-item{flex:1 1;flex-direction:column;gap:6px;text-align:center}.stat-label{color:var(--text-secondary-color);font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.stat-value{color:var(--accent-color);font-size:24px;font-weight:700;line-height:1}.notation-section h4{color:var(--text-color);font-size:14px;font-weight:600;margin:0 0 8px}.notation-display{word-wrap:break-word;background-color:var(--header-bg-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);font-family:Inter,monospace;font-size:13px;line-height:1.5;max-height:200px;overflow-y:auto;padding:12px}.theme-toggle{background-color:var(--accent-color);border:none;border-radius:20px;box-shadow:0 2px 4px #0000001a;color:var(--accent-contrast-text-color);cursor:pointer;font-size:12px;font-weight:500;padding:8px 12px;position:absolute;right:20px;top:20px;transition:all .2s ease}.theme-toggle:hover{background-color:var(--button-hover-bg-color);box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}@media (max-width:1400px){.main-layout{flex-direction:column;gap:20px}.left-panel,.right-panel{flex:none;max-height:none;overflow-y:visible}.left-panel{order:1}.center-panel{order:2}.right-panel{order:3}.preset-buttons{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.controls{flex-direction:row;gap:10px}.control-btn{flex:1 1}.selected-hands{max-height:200px}.notation-display{font-size:12px}}@media (max-width:768px){.hand-matrix-container{height:auto;padding:10px}.main-layout{gap:15px}.preset-buttons{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.preset-btn{font-size:12px;padding:8px 12px}.hand-cell{font-size:10px;height:35px;width:35px}.legend{flex-direction:column;gap:8px}.legend-item{justify-content:center}.usage-instructions{padding:12px}.usage-instructions h4{font-size:14px}.usage-instructions li{font-size:12px;margin-bottom:6px}.selected-hands h3{font-size:16px}.theme-toggle{font-size:11px;padding:6px 10px;right:10px;top:10px}}body.light-theme{background-color:#e6dfd6;background-color:var(--light-page-bg-color);color:#5e4728;color:var(--light-text-color)}body.dark-theme,body.light-theme{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}body.dark-theme{background-color:#1a1410;background-color:var(--dark-page-bg-color);color:#e6dfd6;color:var(--dark-text-color)}.save-btn{background-color:var(--accent-color);color:var(--accent-contrast-text-color)}.save-btn:hover{background-color:var(--button-hover-bg-color)}.load-btn{background-color:var(--paper-bg-color);border:1px solid var(--accent-color);color:var(--text-color)}.load-btn:hover{background-color:var(--accent-color);color:var(--accent-contrast-text-color)}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:var(--paper-bg-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #0003;max-height:80vh;max-width:600px;min-width:400px;overflow-y:auto;padding:24px}.modal-content h3{color:var(--text-color);font-size:20px;font-weight:600;margin:0 0 20px}.modal-body{margin-bottom:20px}.range-preview{background-color:var(--header-bg-color);border:1px solid var(--border-color);border-radius:8px;margin-bottom:16px;padding:16px}.preview-stats{color:var(--accent-color);display:flex;font-weight:600;gap:20px;margin-bottom:12px}.preview-notation{word-wrap:break-word;font-family:Inter,monospace}.preview-notation,.range-name-input{color:var(--text-color);font-size:14px}.range-name-input{background-color:var(--page-bg-color);border:1px solid var(--border-color);border-radius:6px;font-family:Montserrat,sans-serif;padding:12px;width:100%}.range-name-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px #d2b48c33;outline:none}.saved-ranges-list{max-height:400px;overflow-y:auto}.saved-range-item{align-items:center;background-color:var(--header-bg-color);border:1px solid var(--border-color);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:12px;padding:16px}.range-info{flex:1 1}.range-name{color:var(--text-color);font-size:16px}.range-details,.range-name{font-weight:600;margin-bottom:4px}.range-details{color:var(--accent-color);font-size:12px}.range-notation{font-family:Inter,monospace;font-size:12px;margin-bottom:4px}.range-notation,.range-timestamp{color:var(--text-secondary-color)}.range-timestamp{font-size:11px}.range-actions{display:flex;gap:8px}.action-btn{border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s ease}.load-action-btn{background-color:var(--accent-color);color:var(--accent-contrast-text-color)}.load-action-btn:hover{background-color:var(--button-hover-bg-color)}.delete-btn{background-color:initial;border:1px solid var(--border-color);color:var(--text-secondary-color)}.delete-btn:hover{background-color:#dc3545;border-color:#dc3545;color:#fff}.modal-buttons{display:flex;gap:12px;justify-content:flex-end}.modal-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.modal-btn.cancel-btn{background-color:initial;border:1px solid var(--border-color);color:var(--text-secondary-color)}.modal-btn.cancel-btn:hover{background-color:var(--header-bg-color)}.modal-btn.save-btn{background-color:var(--accent-color);color:var(--accent-contrast-text-color)}.modal-btn.save-btn:hover{background-color:var(--button-hover-bg-color)}.no-ranges{color:var(--text-secondary-color);font-style:italic;padding:40px 20px;text-align:center}
/*# sourceMappingURL=main.5eecd073.css.map*/