html,body{-webkit-overscroll-behavior:contain;-ms-overscroll-behavior:contain;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;height:100%;margin:0;overflow:hidden}#sidebar{z-index:1;background-color:#f1f1f1;border:1px solid #d3d3d3;width:250px;position:absolute;top:0;left:0;overflow:hidden}#sidebar-header{cursor:move;z-index:10;color:#fff;background-color:#2196f3;padding:10px;display:flex}#sidebar-header-title{flex:1}#sidebar-header-button{cursor:pointer;flex:0 0 20px}#sidebar-content{overflow:hidden auto}#sidebar input[type=range]{pointer-events:none;width:240px}#sidebar input[type=range]::-webkit-slider-thumb{pointer-events:auto}#sidebar input[type=range]::-moz-range-thumb{pointer-events:auto}#main{width:100%;height:100%;margin:0;overflow:hidden}#canvas{overscroll-behavior:contain}.ratio-finder-overlay{z-index:100;background-color:#00000080;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.ratio-finder-overlay.visible{display:block}.ratio-finder-modal{z-index:101;background-color:#fff;border-radius:8px;flex-direction:column;width:90%;max-width:700px;max-height:90vh;display:none;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 4px 20px #0000004d}.ratio-finder-modal.visible{display:flex}.ratio-finder-header{color:#fff;cursor:move;background-color:#2196f3;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.ratio-finder-header h2{margin:0;font-size:1.1em;font-weight:400}.ratio-finder-close{color:#fff;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.4em;line-height:1}.ratio-finder-close:hover{opacity:.8}.ratio-finder-inputs{background-color:#f9f9f9;border-bottom:1px solid #ddd}.ratio-finder-inputs-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:12px 16px;font-weight:500;display:flex}.ratio-finder-inputs-header:hover{background-color:#eee}.ratio-finder-inputs-header .collapse-icon{font-size:.8em;transition:transform .2s}.ratio-finder-inputs.collapsed .collapse-icon{transform:rotate(-90deg)}.ratio-finder-inputs-content{max-height:500px;padding:0 16px 16px;transition:max-height .3s,padding .3s;overflow:hidden}.ratio-finder-inputs.collapsed .ratio-finder-inputs-content{max-height:0;padding-top:0;padding-bottom:0}.ratio-finder-input-grid{gap:8px;display:grid}.ratio-finder-input-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ratio-finder-input-row label{min-width:130px;font-size:.9em}.range-inputs{align-items:center;gap:6px;display:flex}.range-inputs input[type=number]{border:1px solid #ccc;border-radius:4px;width:60px;padding:4px 6px;font-size:.9em}.range-inputs span{color:#666;font-size:.85em}.ratio-finder-input-row input[type=checkbox]{margin:0}.hint{color:#666;font-size:.8em}.ratio-finder-results{flex:1;min-height:150px;max-height:350px;padding:12px 16px;overflow-y:auto}.ratio-finder-results .placeholder,.ratio-finder-results .no-results{color:#666;text-align:center;padding:30px;font-size:.9em}.ratio-finder-table{border-collapse:collapse;width:100%;font-size:.85em}.ratio-finder-table th,.ratio-finder-table td{text-align:left;border-bottom:1px solid #eee;padding:6px 8px}.ratio-finder-table th{background-color:#f5f5f5;font-weight:700;position:sticky;top:0}.ratio-finder-table .result-row{cursor:pointer;transition:background-color .15s}.ratio-finder-table .result-row:hover{background-color:#e3f2fd}.ratio-finder-table .result-row td:first-child{font-weight:700}.ratio-finder-table .expand-icon{width:16px;transition:transform .2s;display:inline-block}.ratio-finder-table .result-row.expanded .expand-icon{transform:rotate(90deg)}.ratio-finder-table .cog-details{background-color:#fafafa;display:none}.ratio-finder-table .cog-details.visible{display:table-row}.ratio-finder-table .cog-details td{border-bottom:1px solid #f0f0f0;padding:4px 8px 4px 32px}.ratio-finder-table .cog-detail-row{cursor:pointer}.ratio-finder-table .cog-detail-row:hover{background-color:#e8f5e9}.ratio-finder-table .cog-invalid{color:#999}.more-results{text-align:center;color:#666;background-color:#f5f5f5;border-radius:4px;margin-top:8px;padding:8px;font-size:.8em}.ratio-finder-footer{background-color:#f5f5f5;border-top:1px solid #ddd;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.ratio-finder-btn{cursor:pointer;background-color:#fff;border:1px solid #ccc;border-radius:4px;padding:8px 16px;font-size:.9em}.ratio-finder-btn.primary{color:#fff;background-color:#2196f3;border-color:#2196f3}.ratio-finder-btn:hover{opacity:.9}.ratio-finder-open-btn{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:4px;width:100%;margin-top:10px;padding:8px;font-size:.9em}.ratio-finder-open-btn:hover{background-color:#45a049}
