*{margin:0;padding:0;box-sizing:border-box}body{display:flex;height:100vh;overflow:hidden;position:relative}.left-side-panel{width:250px;background-color:#fff;color:#000;font-size:20px;padding-left:10px;padding-right:10px;font-family:Arial;display:flex;flex-direction:column}.welcome-message{margin-top:20px;margin-right:20px;font-size:14px;color:#333;line-height:1.4;padding:10px;text-align:justify;border:1px solid rgb(255,112,112);border-radius:10px;background-color:#fbebeb}.patreon-message{margin-top:20px;margin-right:20px;font-size:14px;color:#333;line-height:1.4;padding:10px;text-align:justify;border:1px solid rgb(94,132,255);border-radius:10px;background-color:#c7c7fa}.right-side-panel{width:250px;background-color:#fff}#drawingArea{flex:1;background-color:#fff;cursor:crosshair;position:relative;border-left:1px solid lightgrey;border-right:1px solid lightgrey;padding:0}svg{width:100%;height:100%}.app-branding{display:flex;align-items:flex-end;gap:8px;margin:20px 0}.app-branding .app-logo{margin:0}.app-branding .app-name{margin:0;line-height:1}.file-name-display-wrapper{margin-left:0;margin-bottom:10px;width:100%;background-color:#fff;border:1px solid transparent;border-radius:6px;padding:6px 0;transition:border-color .2s ease,box-shadow .2s ease}.file-controller-panel{margin-top:auto;margin-bottom:20px}.file-name-display-wrapper.active{border:1px solid #4a90e2;box-shadow:0 0 0 2px #4a90e233}.file-name-display{display:block;width:100%;cursor:text;font-size:18px;color:#333;-webkit-user-select:none;user-select:none;padding:0}.file-name-input{display:none;width:100%;border:0;outline:none;font-size:18px;color:#333;background:transparent;padding:0;box-sizing:border-box}.file-name-input::placeholder{color:#999}.file-name-display-wrapper.active .file-name-input{padding-left:10px;padding-right:10px}.info-panel{display:none;flex-direction:column;width:230px;height:220px;flex-shrink:0;flex-grow:0;margin:10px 10px 0;padding:10px;border:1px solid #d0d0d0;border-radius:6px;background-color:#fafafa;font-family:Arial,sans-serif;font-size:12px;color:#333;box-shadow:0 1px 2px #0000000d}.info-panel.is-visible{display:flex}.info-panel-title{font-size:14px;font-weight:600;margin-bottom:6px}.info-table-container{flex:1;overflow-y:auto;overflow-x:hidden;border-top:1px solid #e0e0e0;padding-top:6px;position:relative;max-height:200px}.info-table{width:100%;border-collapse:collapse}.info-table td{padding:4px 0;vertical-align:middle}.info-table td:first-child{width:40%;color:#555;padding-right:6px;font-weight:500}.info-table input[type=text],.info-table input[type=number]{width:100%;padding:4px 6px;border:1px solid #c0c0c0;border-radius:4px;font-size:12px;background-color:#fff}.info-table input[type=text]:focus,.info-table input[type=number]:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233}.info-panel-empty{margin-top:6px;font-size:12px;color:#888}.info-table-scroll-indicator{position:sticky;bottom:0;left:0;right:0;padding:12px 0 4px;text-align:center;font-size:11px;color:#555;background:linear-gradient(to bottom,rgba(250,250,250,0),rgba(250,250,250,.95));opacity:0;visibility:hidden;transition:opacity .2s ease;pointer-events:none}.info-table-scroll-indicator.is-visible{opacity:1;visibility:visible}.info-selected line,.info-selected rect,.info-selected circle,.info-selected ellipse,.info-selected polygon,.info-selected path,g.info-selected line,g.info-selected rect,g.info-selected circle,g.info-selected ellipse,g.info-selected polygon,g.info-selected path{stroke:#1976d2!important}.info-selected text,g.info-selected text{fill:#1976d2!important}.app-logo{width:30px;height:30px;display:inline-block;vertical-align:middle;margin-top:20px;margin-bottom:20px}h3{font-size:12px;font-weight:400;font-family:Arial;color:#000}.tool-button:after,.snap-button:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .1s ease-out 0s;margin-bottom:5px;z-index:2}.tool-button:hover:after,.snap-button:hover:after{opacity:1;transition:opacity .3s ease-in 1.5s}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.tool-button-container{display:flex;flex-direction:column;width:200px;background-color:#fff}.tool-button-row{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.tool-button-row:last-child{margin-bottom:0}.canvas-controller-button-container,.file-controller-button-container{display:flex;justify-content:flex-start;flex-direction:row;gap:2px;padding:0}.tool-button,.snap-button{padding:0;font-size:14px;border:0px solid #f0f0f0;border-radius:5px;background:#ffffff;cursor:pointer;transition:background .2s;width:30px;height:30px;display:flex;align-items:center;justify-content:center;position:relative}.tool-button:disabled,.snap-button:disabled{opacity:.45;cursor:not-allowed}.tool-button:disabled img,.snap-button:disabled img{filter:grayscale(1)}.tool-button img,.snap-button img{width:20px;height:20px;object-fit:contain}.tool-button:hover,.snap-button:hover{background:#e0e0e0;border:0px solid #f0f0f0;border-radius:5px}.tool-button.active,.snap-button.active{background:#0095ff;color:#fff;border-color:#0095ff;border-radius:5px}.tool-button.active img,.snap-button.active img{filter:brightness(0) invert(1)}#svgCanvas line{vector-effect:non-scaling-stroke}#svgCanvas g.dimension *,#svgCanvas g.dimension-preview *,#svgCanvas g.angle-dimension *,#svgCanvas g.angle-preview *,#svgCanvas .snap-indicator *,#svgCanvas .temporary,#svgCanvas .construction,#svgCanvas .dimension-extension-line{vector-effect:non-scaling-stroke}#show-action-button,#show-snap-button,#show-stroke-button,#show-fill-button,#show-text-button,#show-scale-button,#show-dimension-button,#show-info-button{padding:8px;cursor:pointer;background-color:#fff;font-size:12px;font-weight:400;border:none;color:#7f7f7f;font-family:Arial;height:30px;border-radius:8px}#show-action-button:hover,#show-snap-button:hover,#show-stroke-button:hover,#show-fill-button:hover,#show-text-button:hover,#show-scale-button:hover,#show-dimension-button:hover,#show-info-button:hover{background:#f5f5f5}#show-action-button.active,#show-snap-button.active,#show-stroke-button.active,#show-fill-button.active,#show-text-button.active,#show-scale-button.active,#show-dimension-button.active,#show-info-button.active{background:#f5f5f5;color:#000}.op-content-div{display:none;padding:0;margin-left:10px;margin-top:10px;border:none;border-radius:0}.op-content-div.visible{display:block}.scale-mode-button-group{display:flex;gap:4px}.scale-mode-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid transparent;border-radius:0;background:#f1f1f1;cursor:pointer;padding:3px;transition:background-color .2s ease,border-color .2s ease}.scale-mode-button:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.scale-mode-button:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.scale-mode-button:hover{background:#e6e6e6}.scale-mode-button.active{background:#dcdcdc}.scale-mode-button img{width:14px;height:14px;pointer-events:none}.scale-mode-button:focus-visible{outline:2px solid #4a90e2;outline-offset:2px}.scale-settings-div{overflow-y:scroll}.constraint-input{position:absolute;width:60px;height:20px;font-size:12px;border:none;background:#f0f0f0;z-index:1000;outline:none;text-align:center;border:1px solid transparent;transform-origin:50% 50%;pointer-events:auto}.constraint-input:invalid{border-color:red;background:#ffe6e6}.constraint-input:focus{background:#ffffff;box-shadow:none}.constraint-input-field{width:100%;height:100%;border:none;background:transparent;outline:none;font-size:inherit;text-align:inherit;transform-origin:50% 50%;pointer-events:auto}input:focus,select:focus,textarea:focus{outline:none;box-shadow:none}select{box-shadow:none;background:#ffffff;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 8px}
