@charset "UTF-8";:root{--drawer-pointer-events: all}@font-face{font-family:Ubuntu;src:url(/assets/Ubuntu-Regular-c3bc1227.woff2) format("woff2");font-weight:400;font-style:normal}.drawer-container{--drawer-primary: #646cff;--drawer-primary-active: #5a62ff;--drawer-primary-text: #1823ff;--drawer-on-primary: #fff;--drawer-hover-bg: #e8e9ff;--drawer-text: #1e1e1e;--drawer-text-muted: #6b6b6b;--drawer-surface: #fff;--drawer-subtle-bg: #f3f3f6;--drawer-border: #e4e4e9;--drawer-danger: #bb4040;--drawer-danger-hover: #a83939;--drawer-danger-hover-bg: #f7e8e8;--drawer-on-danger: #fff;--drawer-shadow: 0 1px 4px rgba(0, 0, 0, .18);--drawer-shadow-lg: 0 4px 16px rgba(0, 0, 0, .16);position:relative;width:fit-content;outline:none;color:var(--drawer-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:.875rem}.drawer-container *,.drawer-container *:before,.drawer-container *:after{box-sizing:border-box}.drawer-container html,.drawer-container body,.drawer-container div,.drawer-container span,.drawer-container object,.drawer-container iframe,.drawer-container figure,.drawer-container h1,.drawer-container h2,.drawer-container h3,.drawer-container h4,.drawer-container h5,.drawer-container h6,.drawer-container p,.drawer-container blockquote,.drawer-container pre,.drawer-container a,.drawer-container code,.drawer-container em,.drawer-container img,.drawer-container small,.drawer-container strike,.drawer-container strong,.drawer-container sub,.drawer-container sup,.drawer-container tt,.drawer-container b,.drawer-container u,.drawer-container i,.drawer-container ol,.drawer-container ul,.drawer-container li,.drawer-container fieldset,.drawer-container form,.drawer-container label,.drawer-container table,.drawer-container caption,.drawer-container tbody,.drawer-container tfoot,.drawer-container thead,.drawer-container tr,.drawer-container th,.drawer-container td,.drawer-container main,.drawer-container canvas,.drawer-container embed,.drawer-container footer,.drawer-container header,.drawer-container nav,.drawer-container section,.drawer-container video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;text-size-adjust:none}.drawer-container footer,.drawer-container header,.drawer-container nav,.drawer-container section,.drawer-container main{display:block}.drawer-container ol,.drawer-container ul{list-style:none}.drawer-container blockquote,.drawer-container q{quotes:none}.drawer-container blockquote:before,.drawer-container blockquote:after,.drawer-container q:before,.drawer-container q:after{content:"";content:none}.drawer-container table{border-collapse:collapse;border-spacing:0}.drawer-container button,.drawer-container input,.drawer-container select{margin:0;font:inherit;color:inherit}.drawer-container input{-webkit-appearance:none;border-radius:0}.drawer-container.drawer-dark{--drawer-primary: #a8a5ff;--drawer-primary-active: #9996ff;--drawer-primary-text: #c6c4ff;--drawer-on-primary: #1e1e2e;--drawer-hover-bg: #3e3d54;--drawer-text: #e3e3e8;--drawer-text-muted: #a4a4ae;--drawer-surface: #232329;--drawer-subtle-bg: #2e2d39;--drawer-border: #3d3d4a;--drawer-danger: #ff8a8a;--drawer-danger-hover: #ff7171;--drawer-danger-hover-bg: #443238;--drawer-on-danger: #1e1e1e;--drawer-shadow: 0 1px 4px rgba(0, 0, 0, .5);--drawer-shadow-lg: 0 4px 16px rgba(0, 0, 0, .5);color-scheme:dark}.drawer-container.drawer-dark .konvajs-content,.drawer-container.drawer-dark .drawer-text-editor{filter:invert(93%) hue-rotate(180deg)}.drawer-container.drawer-keyboard-focus:focus:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid var(--drawer-primary);pointer-events:none}.drawer-container.is-zen .drawer-zen-hidden{display:none!important}.drawer-container .tool{background-color:var(--drawer-surface);border-radius:8px;box-shadow:var(--drawer-shadow);-webkit-user-select:none;user-select:none}.drawer-container .text-muted{color:var(--drawer-text-muted)}.drawer-container .title{align-self:start;color:var(--drawer-text-muted);font-size:.75rem;font-weight:500}.drawer-container hr{width:100%;margin:.25rem 0;border:0;border-top:1px solid var(--drawer-border)}.drawer-container input[role=switch]{flex-shrink:0;width:2rem;height:1.125rem;margin:0;border-radius:1rem;background:radial-gradient(circle closest-side,var(--drawer-surface) calc(100% - 3px),transparent calc(100% - 2px)) left center/1.125rem 1.125rem no-repeat var(--drawer-text-muted);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:background-color .15s ease,background-position .15s ease}.drawer-container input[role=switch]:checked{background-image:radial-gradient(circle closest-side,var(--drawer-on-primary) calc(100% - 3px),transparent calc(100% - 2px));background-color:var(--drawer-primary);background-position:right center}.drawer-container input[role=switch]:disabled{opacity:.5;cursor:default}.drawer-container input[role=switch]:focus-visible{outline:2px solid var(--drawer-primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){.drawer-container input[role=switch]{transition:none}}@media (forced-colors: active){.drawer-container input[role=switch]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background:none}}.drawer-container .drawer-button{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:.5rem;border:0;border-radius:6px;background-color:var(--drawer-surface);color:var(--drawer-text);cursor:pointer;-webkit-user-select:none;user-select:none;pointer-events:var(--drawer-pointer-events);transition:background-color .15s ease,color .15s ease}.drawer-container .drawer-button svg{flex-shrink:0;width:18px;height:18px}.drawer-container .drawer-button:hover:not(.disabled,.active){background-color:var(--drawer-hover-bg)}.drawer-container .drawer-button.active{background-color:var(--drawer-primary-active);color:var(--drawer-on-primary)}.drawer-container .drawer-button.disabled{cursor:not-allowed;opacity:.4}.drawer-container .drawer-button:focus-visible{outline:2px solid var(--drawer-primary);outline-offset:2px}.drawer-container .drawer-button-neutral.active{background-color:var(--drawer-hover-bg);color:var(--drawer-primary-text)}.drawer-container .drawer-button-primary{background-color:var(--drawer-primary-active);color:var(--drawer-on-primary)}.drawer-container .drawer-button-primary:hover:not(.disabled){background-color:var(--drawer-primary-text)}.drawer-container .drawer-button-danger{background-color:var(--drawer-danger);color:var(--drawer-on-danger)}.drawer-container .drawer-button-danger:hover:not(.disabled){background-color:var(--drawer-danger-hover)}.drawer-container .drawer-link{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;background-color:var(--drawer-subtle-bg);color:var(--drawer-text);text-decoration:none;cursor:pointer;transition:background-color .15s ease}.drawer-container .drawer-link svg{width:16px;height:16px}.drawer-container .drawer-link:hover{background-color:var(--drawer-hover-bg)}.drawer-container .drawer-link.disabled{pointer-events:none}.drawer-container .drawer-link:focus-visible{outline:2px solid var(--drawer-primary);outline-offset:2px}.drawer-container:not(.is-full) .konvajs-content{width:fit-content;border-radius:8px;box-shadow:var(--drawer-shadow)}.drawer-container:not(.is-full) .konvajs-content canvas{border-radius:8px}.drawer-container .drawer-header-container{position:absolute;top:0;left:0;z-index:2;display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;pointer-events:none}.drawer-container .drawer-footer-container{position:absolute;bottom:0;left:0;display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:end;width:100%;padding:.75rem;overflow-x:auto;cursor:default;pointer-events:none}.drawer-container .drawer-footer-container .drawer-footer-left{display:flex;gap:.75rem;align-items:flex-end}.drawer-container .drawer-footer-container .drawer-help-container{display:flex;align-items:center;width:fit-content;justify-self:end}.drawer-container .drawer-footer-container .drawer-help-container .drawer-button{border-radius:0}.drawer-container .drawer-footer-container .drawer-help-container .drawer-button+.drawer-button{border-left:1px solid var(--drawer-border)}.drawer-container .drawer-footer-container .drawer-help-container .drawer-button:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.drawer-container .drawer-footer-container .drawer-help-container .drawer-button:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.drawer-container .drawer-toolbar-container{display:flex;align-items:center;justify-content:center}.drawer-container .drawer-toolbar-root{display:flex;gap:.25rem;width:fit-content;padding:.25rem}.drawer-container .drawer-toolbar-root .drawer-button{position:relative}.drawer-container .drawer-toolbar-root .drawer-toolbar-separator{align-self:stretch;width:1px;margin:.25rem 0;background-color:var(--drawer-border)}.drawer-container .drawer-toolbar-root .tool-key-shortcut{position:absolute;right:3px;bottom:2px;font-size:.6875rem;line-height:1;opacity:.65}.drawer-container .drawer-toolbar-root .drawer-tool-group{position:relative}.drawer-container .drawer-toolbar-root .drawer-tool-group-indicator{position:absolute;top:3px;right:3px;width:8px;height:8px;opacity:.65;transform:rotate(-90deg)}.drawer-container .drawer-toolbar-root .drawer-tool-group-menu{position:fixed;z-index:2;display:flex;gap:.25rem;padding:.25rem}.drawer-container .drawer-toolbar-root .drawer-tool-group-menu[hidden]{display:none}.drawer-container .drawer-overlay-container{position:absolute;top:.75rem;right:.75rem;display:none;flex-direction:column;gap:.25rem;width:fit-content;min-width:100px;max-height:70%;padding:.5rem;-webkit-user-select:none;user-select:none;pointer-events:var(--drawer-pointer-events)}.drawer-container .drawer-overlay-container.show{display:flex}.drawer-container .drawer-overlay-container .overlay-picker-container,.drawer-container .drawer-overlay-container .opacity-container{display:flex;flex-direction:column;width:100%;padding:.25rem}.drawer-container .drawer-overlay-container .overlay-picker-container .title,.drawer-container .drawer-overlay-container .opacity-container .title{margin-bottom:.5rem}.drawer-container .drawer-overlay-container .overlay-picker-btn-container{display:flex;align-items:center;gap:.5rem;width:100%}.drawer-container .drawer-overlay-container .overlay-picker__button{font-family:Ubuntu,sans-serif}.drawer-container .drawer-overlay-container .overlay-picker__button:not(.drawer-button){width:1.5rem;height:1.5rem;padding:0;border:1px solid var(--drawer-border);border-radius:6px;cursor:pointer;pointer-events:var(--drawer-pointer-events)}.drawer-container .drawer-overlay-container .overlay-picker__button:not(.drawer-button).active{border:2px solid var(--drawer-surface);box-shadow:0 0 0 2px var(--drawer-primary)}.drawer-container .drawer-overlay-container .overlay-picker__button:not(.drawer-button):focus-visible{outline:2px solid var(--drawer-primary);outline-offset:2px}.drawer-container .drawer-overlay-container .overlay-picker__button.drawer-button{width:2rem;height:2rem;border:1px solid var(--drawer-border)}.drawer-container .drawer-overlay-container .overlay-picker__button.drawer-button.active{border-color:var(--drawer-primary-active)}.drawer-container .drawer-overlay-container .overlay-picker__input{width:4.5rem;height:2rem;padding:0 .5rem;border:1px solid var(--drawer-border);border-radius:6px;background-color:var(--drawer-surface);color:var(--drawer-text);font:inherit;pointer-events:var(--drawer-pointer-events)}.drawer-container .drawer-overlay-container .overlay-picker__input:focus-visible{outline:2px solid var(--drawer-primary);outline-offset:2px}.drawer-container .drawer-overlay-container input[type=range]{width:100%;margin:0;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;accent-color:var(--drawer-primary);cursor:pointer}.drawer-container .drawer-overlay-container input[type=range]:focus-visible{outline:2px solid var(--drawer-primary);outline-offset:2px}.drawer-container .drawer-color-swatch{background-color:var(--swatch-color)}.drawer-container.drawer-dark .drawer-color-swatch{background-color:var(--swatch-dark-color)}.drawer-container .drawer-color-transparent{background:linear-gradient(to top right,transparent calc(50% - 1px),var(--drawer-danger) calc(50% - 1px),var(--drawer-danger) calc(50% + 1px),transparent calc(50% + 1px)),var(--drawer-surface)}.drawer-container .drawer-color-input{width:1.5rem;height:1.5rem;padding:0;border:1px solid var(--drawer-border);border-radius:6px;cursor:pointer;pointer-events:var(--drawer-pointer-events);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:conic-gradient(#e03131,#f08c00,#fab005,#2f9e44,#1971c2,#9c36b5,#e03131)}.drawer-container .drawer-color-input.active{border:2px solid var(--drawer-surface);box-shadow:0 0 0 2px var(--drawer-primary)}.drawer-container .drawer-color-input:focus-visible{outline:2px solid var(--drawer-primary);outline-offset:2px}.drawer-container .drawer-color-input::-webkit-color-swatch-wrapper{padding:0}.drawer-container .drawer-color-input::-webkit-color-swatch{border:0;border-radius:3px;opacity:0}.drawer-container .drawer-color-input::-moz-color-swatch{border:0;border-radius:3px;opacity:0}.drawer-container .drawer-color-input.active::-webkit-color-swatch{opacity:1}.drawer-container .drawer-color-input.active::-moz-color-swatch{opacity:1}.drawer-container .drawer-text-overlay{overflow-y:auto}.drawer-container .drawer-text-overlay .overlay-picker__select{width:100%;padding:.25rem .5rem;border:1px solid var(--drawer-border);border-radius:6px;background-color:var(--drawer-surface);color:var(--drawer-text);cursor:pointer;pointer-events:var(--drawer-pointer-events)}.drawer-container .drawer-text-overlay .overlay-picker__select:focus-visible{outline:2px solid var(--drawer-primary);outline-offset:2px}.drawer-container .drawer-text-overlay .text-style-bold{font-weight:700}.drawer-container .drawer-text-overlay .text-style-italic{font-style:italic}.drawer-container .drawer-text-overlay .text-style-underline{text-decoration:underline}.drawer-container .drawer-text-overlay .text-style-line-through{text-decoration:line-through}.drawer-container .drawer-modal-export{width:min(90%,40rem);max-width:90%}.drawer-container .drawer-modal-export .drawer-modal-body{display:flex;flex-direction:column;gap:.75rem}.drawer-container .drawer-modal-export .drawer-export-preview{display:flex;align-items:center;justify-content:center;height:16rem;max-height:40vh;padding:.5rem;border:1px solid var(--drawer-border);border-radius:6px;background:repeating-conic-gradient(var(--drawer-subtle-bg) 0 25%,var(--drawer-surface) 0 50%) 0 0/16px 16px}.drawer-container .drawer-modal-export .drawer-export-preview canvas{max-width:100%;max-height:100%;object-fit:contain}.drawer-container .drawer-modal-export .drawer-export-preview [hidden]{display:none}.drawer-container .drawer-modal-export .drawer-export-options,.drawer-container .drawer-modal-export .drawer-export-scales{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.drawer-container .drawer-modal-export .drawer-export-scales{gap:.75rem;margin-left:auto}.drawer-container .drawer-modal-export label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.drawer-container .drawer-modal-export label[hidden]{display:none}.drawer-container .drawer-modal-export input[type=radio]{margin:0;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;accent-color:var(--drawer-primary);cursor:pointer}.drawer-container .drawer-modal-export input[type=radio]:focus-visible{outline:2px solid var(--drawer-primary);outline-offset:2px}.drawer-container .drawer-modal-export .drawer-modal-footer{flex-wrap:wrap}.drawer-container .drawer-modal-export .drawer-modal-footer .drawer-button{width:auto;padding:.5rem .75rem}.drawer-container .drawer-modal-export .drawer-modal-footer .drawer-button-neutral{border:1px solid var(--drawer-border)}.drawer-container .backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;background-color:#00000040;opacity:0;visibility:hidden;transition:opacity .2s ease}.drawer-container .backdrop.show{opacity:1;visibility:visible}.drawer-container .drawer-modal{background-color:var(--drawer-surface);border-radius:8px;box-shadow:var(--drawer-shadow-lg);position:absolute;z-index:4;display:none;flex-direction:column;max-width:60%;max-height:80%;padding:1rem;-webkit-user-select:none;user-select:none}.drawer-container .drawer-modal.show{display:flex}.drawer-container .drawer-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--drawer-border)}.drawer-container .drawer-modal-title{font-size:1.125rem;font-weight:600}.drawer-container .btn-close{display:flex;align-items:center;justify-content:center;padding:.25rem;border:0;border-radius:6px;background-color:transparent;color:var(--drawer-text-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease}.drawer-container .btn-close svg{width:20px;height:20px}.drawer-container .btn-close:hover{background-color:var(--drawer-hover-bg);color:var(--drawer-text)}.drawer-container .btn-close:focus-visible{outline:2px solid var(--drawer-primary);outline-offset:2px}.drawer-container .drawer-modal-body{height:100%;padding:.25rem;overflow:auto}.drawer-container .drawer-modal-body::-webkit-scrollbar{width:6px}.drawer-container .drawer-modal-body::-webkit-scrollbar-thumb{border-radius:6px;background-color:var(--drawer-border)}.drawer-container .drawer-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding-top:.75rem}.drawer-container .drawer-modal-commands{top:12%;width:min(34rem,100% - 2 * .75rem);max-width:none;max-height:70%;padding:.5rem}.drawer-container .drawer-modal-commands .drawer-modal-body{display:flex;flex-direction:column;flex:1;min-height:0;height:auto;padding:0;overflow:hidden}.drawer-container .drawer-modal-commands .drawer-commands-search{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--drawer-border);color:var(--drawer-text-muted)}.drawer-container .drawer-modal-commands .drawer-commands-search:focus-within{border-bottom-color:var(--drawer-primary)}.drawer-container .drawer-modal-commands .drawer-commands-search svg{flex-shrink:0;width:18px;height:18px}.drawer-container .drawer-modal-commands .drawer-commands-input{flex:1;min-width:0;padding:.25rem 0;border:0;outline:0;background-color:transparent;color:var(--drawer-text);font-size:1.125rem}.drawer-container .drawer-modal-commands .drawer-commands-input::placeholder{color:var(--drawer-text-muted)}.drawer-container .drawer-modal-commands .drawer-commands-list{flex:1;min-height:0;padding-top:.25rem;overflow-y:auto}.drawer-container .drawer-modal-commands .drawer-commands-group{padding:.5rem .75rem .25rem;color:var(--drawer-text-muted);font-size:.75rem;font-weight:600}.drawer-container .drawer-modal-commands .drawer-commands-option{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;cursor:pointer}.drawer-container .drawer-modal-commands .drawer-commands-option[aria-selected=true]{background-color:var(--drawer-hover-bg)}.drawer-container .drawer-modal-commands .drawer-commands-icon{display:flex;flex-shrink:0;width:18px;height:18px}.drawer-container .drawer-modal-commands .drawer-commands-icon svg{width:100%;height:100%}.drawer-container .drawer-modal-commands .drawer-commands-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-container .drawer-modal-commands .drawer-commands-check{display:flex;color:var(--drawer-primary-text)}.drawer-container .drawer-modal-commands .drawer-commands-check svg{width:16px;height:16px}.drawer-container .drawer-modal-commands .drawer-commands-shortcut{padding:.125rem .5rem;border:1px solid var(--drawer-border);border-bottom-width:2px;border-radius:6px;background-color:var(--drawer-subtle-bg);color:var(--drawer-text-muted);font-family:inherit;font-size:.75rem;font-weight:600;white-space:nowrap}.drawer-container .drawer-modal-commands .drawer-commands-empty{padding:1rem;text-align:center}.drawer-container .drawer-modal-preferences{width:min(90%,26rem);max-width:90%}.drawer-container .drawer-modal-preferences .drawer-modal-body{display:flex;flex-direction:column;gap:1rem}.drawer-container .drawer-modal-preferences section{display:flex;flex-direction:column;gap:.5rem}.drawer-container .drawer-modal-preferences h3{color:var(--drawer-text-muted);font-size:.75rem;font-weight:600}.drawer-container .drawer-modal-preferences label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.drawer-container .drawer-modal-preferences .drawer-preferences-themes{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:0;padding:0;border:0}.drawer-container .drawer-modal-preferences .drawer-preferences-themes legend{float:left;margin-right:.5rem;padding:0}.drawer-container .drawer-modal-preferences .drawer-preferences-field{justify-content:space-between;cursor:default}.drawer-container .drawer-modal-preferences .drawer-preferences-field select,.drawer-container .drawer-modal-preferences .drawer-preferences-field input{width:15rem;max-width:60%;padding:.25rem .5rem;border:1px solid var(--drawer-border);border-radius:6px;background-color:var(--drawer-surface);color:var(--drawer-text)}.drawer-container .drawer-modal-preferences .drawer-preferences-field select:focus-visible,.drawer-container .drawer-modal-preferences .drawer-preferences-field input:focus-visible{outline:2px solid var(--drawer-primary);outline-offset:2px}.drawer-container .drawer-modal-preferences .drawer-preferences-switch span{flex:1}.drawer-container .drawer-modal-preferences .drawer-modal-footer .drawer-button{width:auto;padding:.5rem .75rem}.drawer-container .drawer-modal-preferences .drawer-modal-footer .drawer-button-neutral{border:1px solid var(--drawer-border)}.drawer-container .drawer-modal-preferences input[type=radio]{margin:0;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;accent-color:var(--drawer-primary);cursor:pointer}.drawer-container .drawer-modal-preferences input[type=radio]:focus-visible{outline:2px solid var(--drawer-primary);outline-offset:2px}.drawer-container .drawer-modal-preferences .drawer-preferences-shortcut{padding:.125rem .5rem;border:1px solid var(--drawer-border);border-bottom-width:2px;border-radius:6px;background-color:var(--drawer-subtle-bg);color:var(--drawer-text-muted);font-family:inherit;font-size:.75rem;font-weight:600}.drawer-container .drawer-zoom-container{display:flex;align-items:center;width:fit-content}.drawer-container .drawer-zoom-container .drawer-button{border-radius:0}.drawer-container .drawer-zoom-container .drawer-button+.drawer-button{border-left:1px solid var(--drawer-border)}.drawer-container .drawer-zoom-container .drawer-button:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.drawer-container .drawer-zoom-container .drawer-button:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.drawer-container .drawer-zoom-container .reset-zoom{gap:.25rem;width:auto;padding:0 .5rem}.drawer-container .drawer-position-container{display:flex;align-items:center;height:2.5rem}.drawer-container .drawer-position-container .drawer-position-coordinates{display:flex;align-items:baseline;gap:.25rem;padding:0 .75rem;white-space:nowrap;font-variant-numeric:tabular-nums}.drawer-container .drawer-position-container .drawer-position-value{min-width:4ch}.drawer-container .drawer-position-container .drawer-button{border-left:1px solid var(--drawer-border);border-radius:0 8px 8px 0}.drawer-container .drawer-modal-help{width:75%;max-width:75%;height:80%}.drawer-container .drawer-modal-help h3{margin-bottom:.5rem;font-size:1rem;font-weight:600}.drawer-container .drawer-modal-help h4{margin-bottom:.5rem;font-weight:600}.drawer-container .drawer-modal-help .drawer-modal-body{display:flex;flex-direction:column;gap:1rem}.drawer-container .drawer-modal-help .drawer-modal-help-links{display:flex;flex-wrap:wrap;gap:.5rem}.drawer-container .drawer-modal-help .drawer-modal-help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}.drawer-container .drawer-modal-help .drawer-modal-help-shortcut-container{border:1px solid var(--drawer-border);border-radius:6px}.drawer-container .drawer-modal-help .drawer-modal-help-shortcut{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--drawer-border)}.drawer-container .drawer-modal-help .drawer-modal-help-shortcut:last-of-type{border-bottom:0}.drawer-container .drawer-modal-help .drawer-modal-help-kdb{padding:.125rem .5rem;border:1px solid var(--drawer-border);border-bottom-width:2px;border-radius:6px;background-color:var(--drawer-subtle-bg);font-family:inherit;font-size:.75rem;font-weight:600;white-space:nowrap}.drawer-container .drawer-modal-collaboration{width:min(90%,28rem);max-width:90%}.drawer-container .drawer-modal-collaboration .drawer-modal-body{display:flex;flex-direction:column;gap:.75rem}.drawer-container .drawer-modal-collaboration .drawer-collaboration-field{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem}.drawer-container .drawer-modal-collaboration .drawer-collaboration-field label{width:100%;color:var(--drawer-text-muted);font-size:.75rem;font-weight:500}.drawer-container .drawer-modal-collaboration .drawer-collaboration-field input{flex:1;min-width:0;padding:.5rem;border:1px solid var(--drawer-border);border-radius:6px;background-color:var(--drawer-surface)}.drawer-container .drawer-modal-collaboration .drawer-collaboration-field input:focus-visible{outline:2px solid var(--drawer-primary);outline-offset:2px}.drawer-container .drawer-modal-collaboration .drawer-collaboration-field .drawer-button{width:auto;padding:.5rem .75rem;border:1px solid var(--drawer-border)}.drawer-container .drawer-modal-collaboration .drawer-collaboration-session{display:flex;flex-direction:column;gap:.75rem}.drawer-container .drawer-modal-collaboration .drawer-collaboration-qrcode{align-self:center;width:8rem;height:8rem}.drawer-container .drawer-modal-collaboration .drawer-collaboration-qrcode svg{width:100%;height:100%}.drawer-container .drawer-modal-collaboration .drawer-collaboration-new-users{display:flex;align-items:center;gap:.5rem;cursor:pointer}.drawer-container .drawer-modal-collaboration .drawer-collaboration-users{margin-bottom:-.5rem;color:var(--drawer-text-muted);font-size:.75rem;font-weight:500}.drawer-container .drawer-modal-collaboration .drawer-collaboration-members{display:flex;flex-direction:column;max-height:10rem;overflow:auto;border:1px solid var(--drawer-border);border-radius:6px}.drawer-container .drawer-modal-collaboration .drawer-collaboration-members li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem}.drawer-container .drawer-modal-collaboration .drawer-collaboration-members li+li{border-top:1px solid var(--drawer-border)}.drawer-container .drawer-modal-collaboration .drawer-collaboration-members label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.drawer-container .drawer-modal-collaboration .drawer-modal-footer .drawer-button{width:auto;padding:.5rem 1rem}.drawer-container .drawer-modal-collaboration [hidden]{display:none}.drawer-container .drawer-dropdown-container{position:relative;pointer-events:none}.drawer-container .drawer-dropdown-container .drawer-button-dropdown{border-radius:8px}.drawer-container .drawer-dropdown-container .drawer-dropdown{background-color:var(--drawer-surface);border-radius:8px;box-shadow:var(--drawer-shadow-lg);position:absolute;top:100%;left:0;display:none;width:max-content;margin-top:.5rem;padding:.25rem;overflow:auto;pointer-events:var(--drawer-pointer-events)}.drawer-container .drawer-dropdown-container .drawer-dropdown.show{display:block}.drawer-container .drawer-dropdown-container .drawer-dropdown-list{display:flex;flex-direction:column;gap:2px}.drawer-container .drawer-dropdown-container .drawer-dropdown-list-item{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;width:100%;height:auto;padding:.5rem .75rem;border:0;border-radius:6px;background-color:transparent;text-align:start;white-space:nowrap}.drawer-container .drawer-dropdown-container .drawer-dropdown-list-item[hidden]{display:none}.drawer-container .drawer-dropdown-setting .text-muted{margin-left:auto;padding-left:1rem;font-size:.75rem}.drawer-container .drawer-dropdown-setting .drawer-language{cursor:default}.drawer-container .drawer-dropdown-setting .drawer-language svg{flex-shrink:0;width:18px;height:18px}.drawer-container .drawer-dropdown-setting .drawer-language select{margin-left:auto;padding:.25rem .5rem;border:1px solid var(--drawer-border);border-radius:6px;background-color:var(--drawer-surface);color:var(--drawer-text);cursor:pointer}.drawer-container .drawer-dropdown-setting .drawer-language select:focus-visible{outline:2px solid var(--drawer-primary);outline-offset:2px}.drawer-container .drawer-dropdown-setting .color-picker-container{display:flex;flex-direction:column;width:100%;padding:.25rem;padding:.5rem .75rem}.drawer-container .drawer-dropdown-setting .color-picker-container .title{margin-bottom:.5rem}.drawer-container .drawer-dropdown-setting .color-picker-btn-container{display:flex;gap:.5rem}.drawer-container .drawer-dropdown-setting .color-picker__button{width:1.5rem;height:1.5rem;padding:0;border:1px solid var(--drawer-border);border-radius:6px;cursor:pointer;pointer-events:var(--drawer-pointer-events)}.drawer-container .drawer-dropdown-setting .color-picker__button.active{border:2px solid var(--drawer-surface);box-shadow:0 0 0 2px var(--drawer-primary)}.drawer-container .drawer-dropdown-setting .color-picker__button:focus-visible{outline:2px solid var(--drawer-primary);outline-offset:2px}.drawer-container .drawer-modal-confirm .p-2{padding:.5rem}.drawer-container .drawer-modal-confirm .drawer-modal-footer .drawer-button{width:auto;padding:.5rem 1rem}.drawer-container .drawer-modal-confirm .drawer-button-neutral{border:1px solid var(--drawer-border)}.drawer-container .drawer-undoredo-container{display:flex;align-items:center;width:fit-content}.drawer-container .drawer-undoredo-container .drawer-button{border-radius:0}.drawer-container .drawer-undoredo-container .drawer-button+.drawer-button{border-left:1px solid var(--drawer-border)}.drawer-container .drawer-undoredo-container .drawer-button:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.drawer-container .drawer-undoredo-container .drawer-button:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.drawer-container .drawer-context-menu{background-color:var(--drawer-surface);border-radius:8px;box-shadow:var(--drawer-shadow-lg);position:absolute;top:0;left:0;z-index:2;visibility:hidden;min-width:220px;padding:.25rem}.drawer-container .drawer-context-menu.show{visibility:visible}.drawer-container .drawer-context-menu .drawer-context-menu-list,.drawer-container .drawer-context-menu .drawer-context-menu-section{display:flex;flex-direction:column;gap:2px}.drawer-container .drawer-context-menu .drawer-context-menu-section[hidden]{display:none}.drawer-container .drawer-context-menu .drawer-context-menu-section.is-separated{margin-top:.25rem;padding-top:.25rem;border-top:1px solid var(--drawer-border)}.drawer-container .drawer-context-menu .drawer-context-menu-list-item{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;width:100%;height:auto;border:0;border-radius:6px;background-color:transparent;text-align:start;white-space:nowrap;position:relative;justify-content:space-between;padding-block:.375rem;padding:.5rem .75rem .5rem 1.75rem}.drawer-container .drawer-context-menu .drawer-context-menu-list-item[hidden]{display:none}.drawer-container .drawer-context-menu .drawer-context-menu-list-item.active:before{content:"✓";position:absolute;left:.5rem}.drawer-container .drawer-context-menu .drawer-context-menu-item__shortcut{padding-left:1rem;color:var(--drawer-text-muted);font-family:inherit;font-size:.75rem}.drawer-container .drawer-selection-menu{position:absolute;z-index:1;display:none;align-items:center;gap:.25rem;padding:.25rem;pointer-events:var(--drawer-pointer-events)}.drawer-container .drawer-selection-menu.show{display:flex}.drawer-container .drawer-selection-menu .drawer-button{width:2rem;height:2rem}.drawer-container .drawer-selection-menu .drawer-button[hidden]{display:none}.drawer-container .drawer-selection-menu .drawer-selection-menu-separator{align-self:stretch;width:1px;margin:.25rem 0;background-color:var(--drawer-border)}.drawer-container .drawer-selection-menu .drawer-selection-menu-delete:hover:not(.disabled){background-color:var(--drawer-danger-hover-bg);color:var(--drawer-danger)}.drawer-container .drawer-layers-button-container{display:flex}.drawer-container .drawer-layers-button-container .drawer-button{border-radius:8px}.drawer-container .drawer-layers-panel{position:absolute;top:4rem;left:.75rem;z-index:1;display:none;flex-direction:column;width:18rem;max-width:calc(100% - 1.5rem);max-height:calc(100% - 8.75rem);padding:.5rem;pointer-events:var(--drawer-pointer-events)}.drawer-container .drawer-layers-panel.show{display:flex}.drawer-container .drawer-layers-panel .drawer-layers-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 .5rem .5rem}.drawer-container .drawer-layers-panel .drawer-layers-header .drawer-button{width:2rem;height:2rem}.drawer-container .drawer-layers-panel .drawer-layers-header-actions{display:flex;gap:.25rem}.drawer-container .drawer-layers-panel .drawer-layers-title{margin:0;font-size:.875rem;font-weight:600}.drawer-container .drawer-layers-panel .drawer-layers-list{position:relative;display:flex;flex-direction:column;gap:1px;margin:0;padding:0;overflow-y:auto;list-style:none}.drawer-container .drawer-layers-panel .drawer-layers-empty{margin:0;padding:.5rem;font-size:.75rem}.drawer-container .drawer-layers-panel .drawer-layers-hint{display:flex;flex-direction:column;gap:.25rem;margin:.25rem 0 0;padding:.5rem .5rem 0;border-top:1px solid var(--drawer-border);font-size:.75rem}.drawer-container .drawer-layers-panel .drawer-layers-hint[hidden]{display:none}.drawer-container .drawer-layers-panel .drawer-layers-hint kbd{padding:0 .25rem;border:1px solid var(--drawer-border);border-bottom-width:2px;border-radius:6px;background-color:var(--drawer-subtle-bg);font-family:inherit;font-weight:600;white-space:nowrap}.drawer-container .drawer-layers-panel .drawer-layers-hint-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem .5rem}.drawer-container .drawer-layers-panel .drawer-layers-hint-keys{display:flex;gap:.25rem;margin-left:auto}.drawer-container .drawer-layers-panel .drawer-layers-item{display:flex;align-items:center;gap:.25rem;padding:0 .25rem 0 calc(.25rem + var(--depth, 0) * .75rem);border-radius:6px}.drawer-container .drawer-layers-panel .drawer-layers-item:hover{background-color:var(--drawer-subtle-bg)}.drawer-container .drawer-layers-panel .drawer-layers-item.is-selected{background-color:var(--drawer-hover-bg)}.drawer-container .drawer-layers-panel .drawer-layers-item.is-dragged{opacity:.5}.drawer-container .drawer-layers-panel .drawer-layers-item.drop-before{box-shadow:inset 0 2px 0 var(--drawer-primary)}.drawer-container .drawer-layers-panel .drawer-layers-item.drop-after{box-shadow:inset 0 -2px 0 var(--drawer-primary)}.drawer-container .drawer-layers-panel .drawer-layers-item.is-hidden .drawer-layers-name,.drawer-container .drawer-layers-panel .drawer-layers-item.is-locked .drawer-layers-name,.drawer-container .drawer-layers-panel .drawer-layers-item.is-muted .drawer-layers-name{color:var(--drawer-text-muted)}.drawer-container .drawer-layers-panel .drawer-layers-toggle{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:1rem;height:2rem;padding:0;border:0;border-radius:6px;background-color:transparent;color:var(--drawer-text-muted)}.drawer-container .drawer-layers-panel .drawer-layers-toggle svg{width:14px;height:14px;transition:transform .15s ease}.drawer-container .drawer-layers-panel .drawer-layers-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.drawer-container .drawer-layers-panel .drawer-layers-toggle:focus-visible{outline:2px solid var(--drawer-primary);outline-offset:2px}.drawer-container .drawer-layers-panel button.drawer-layers-toggle{cursor:pointer}.drawer-container .drawer-layers-panel .drawer-layers-grip{display:flex;flex-shrink:0;color:var(--drawer-text-muted);cursor:grab;touch-action:none}.drawer-container .drawer-layers-panel .drawer-layers-grip svg{width:16px;height:16px}.drawer-container .drawer-layers-panel.read-only .drawer-layers-grip{visibility:hidden}.drawer-container .drawer-layers-panel .drawer-layers-name{display:flex;flex:1;align-items:center;gap:.5rem;min-width:0;height:2rem;padding:0 .25rem;border:0;border-radius:6px;background-color:transparent;color:var(--drawer-text);font:inherit;font-size:.875rem;text-align:start;cursor:pointer}.drawer-container .drawer-layers-panel .drawer-layers-name:focus-visible{outline:2px solid var(--drawer-primary);outline-offset:2px}.drawer-container .drawer-layers-panel .drawer-layers-icon{display:flex;flex-shrink:0}.drawer-container .drawer-layers-panel .drawer-layers-icon svg{width:16px;height:16px}.drawer-container .drawer-layers-panel .drawer-layers-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-container .drawer-layers-panel .drawer-layers-input{flex:1;min-width:0;height:2rem;padding:0 .25rem;border:1px solid var(--drawer-primary);border-radius:6px;font:inherit;font-size:.875rem}.drawer-container .drawer-layers-panel .drawer-layers-action{flex-shrink:0;width:2rem;height:2rem;background-color:transparent}.drawer-container .drawer-layers-panel .drawer-layers-action svg{width:16px;height:16px}@media (hover: hover){.drawer-container .drawer-layers-panel .drawer-layers-item:not(:hover,:focus-within) .drawer-layers-action:not(.active){opacity:0}}.drawer-container .drawer-save-button-container{display:flex}.drawer-container .drawer-save-button-container[hidden]{display:none}.drawer-container .drawer-save-button-container .drawer-button{position:relative;border-radius:8px}.drawer-container .drawer-save-button-container .is-unsaved:after{content:"";position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background-color:var(--drawer-primary)}.drawer-container .drawer-toasts{position:absolute;top:.75rem;left:50%;z-index:5;display:flex;flex-direction:column;align-items:center;gap:.5rem;max-width:calc(100% - 1.5rem);transform:translate(-50%);pointer-events:none}.drawer-container .drawer-toast{display:flex;align-items:center;justify-content:center;gap:.5rem;min-width:250px;padding:.75rem 1rem;border-radius:8px;box-shadow:var(--drawer-shadow-lg);background-color:#343a40;color:#fff;text-align:center;visibility:hidden}.drawer-container .drawer-toast svg{flex-shrink:0;width:18px;height:18px}.drawer-container .drawer-toast.show{visibility:visible;animation:drawer-toast-in .3s ease}.drawer-container .drawer-toast.hide{animation:drawer-toast-out .3s ease forwards}.drawer-container .drawer-toast.info{background-color:#1971c2}.drawer-container .drawer-toast.warning{background-color:#f59f00;color:var(--drawer-text)}.drawer-container .drawer-toast.error,.drawer-container .drawer-toast.danger{background-color:var(--drawer-danger)}@keyframes drawer-toast-in{0%{opacity:0;transform:translateY(-.5rem)}}@keyframes drawer-toast-out{to{opacity:0;transform:translateY(-.5rem)}}:root{--app-primary: #646cff;--app-on-primary: #fff;--app-hover-bg: #e8e9ff;--app-text: #1e1e1e;--app-text-muted: #6b6b6b;--app-surface: #fff;--app-subtle-bg: #f3f3f6;--app-border: #e4e4e9;--app-danger: #bb4040;--app-shadow-lg: 0 4px 16px rgba(0, 0, 0, .16);color-scheme:light}body.app-dark{--app-primary: #a8a5ff;--app-on-primary: #1e1e2e;--app-hover-bg: #3a3950;--app-text: #e3e3e8;--app-text-muted: #a4a4ae;--app-surface: #232329;--app-subtle-bg: #2e2d39;--app-border: #3d3d4a;--app-danger: #ff8a8a;--app-shadow-lg: 0 4px 16px rgba(0, 0, 0, .5);color-scheme:dark}body{margin:0;background-color:var(--app-surface);color:var(--app-text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:.875rem}.app{display:flex;flex-direction:column;height:100vh}.app-bar{display:flex;flex-shrink:0;align-items:center;gap:.5rem;height:3rem;padding:0 .75rem;border-bottom:1px solid var(--app-border)}.app-logo{display:flex;align-items:center;gap:.5rem;font-weight:600}.app-name{width:16rem;min-width:0;padding:.25rem .5rem;border:1px solid transparent;border-radius:6px;background:none;color:inherit;font:inherit}.app-name:hover{border-color:var(--app-border)}.app-name:focus-visible{border-color:var(--app-primary);outline:none}.app-spacer{flex:1}.text-muted{color:var(--app-text-muted)}.app-save-state.is-error{color:var(--app-danger)}.app-toggle{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;border:0;border-radius:6px;background:none;color:var(--app-text-muted);font:inherit;white-space:nowrap;cursor:pointer}.app-toggle:hover{background-color:var(--app-hover-bg)}.app-toggle-track{position:relative;width:1.75rem;height:1rem;border-radius:999px;background-color:var(--app-border);transition:background-color .15s}.app-toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:calc(1rem - 4px);height:calc(1rem - 4px);border-radius:50%;background-color:var(--app-surface);transition:transform .15s}.app-toggle[aria-checked=true] .app-toggle-track{background-color:var(--app-primary)}.app-toggle[aria-checked=true] .app-toggle-track:after{transform:translate(.75rem)}.app-main{flex:1;min-height:0;overflow:hidden}.app-main .drawer-container:not(.is-full) .konvajs-content,.app-main .drawer-container:not(.is-full) .konvajs-content canvas{border-radius:0;box-shadow:none}.app-button,.app-icon-button,.app-drawing-open,.app-link{border:0;border-radius:6px;background:none;color:inherit;font:inherit;cursor:pointer}.app-button{padding:.375rem .75rem;border:1px solid var(--app-border);white-space:nowrap}.app-button:hover,.app-icon-button:hover,.app-drawing-open:hover{background-color:var(--app-hover-bg)}.app-button-primary{border-color:var(--app-primary);background-color:var(--app-primary);color:var(--app-on-primary)}.app-button-primary:hover{background-color:var(--app-primary);opacity:.9}.app-button:disabled{opacity:.6;cursor:default}.app-icon-button{display:flex;padding:.375rem;color:var(--app-text-muted)}.app-icon-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.app-link{padding:.25rem;color:var(--app-primary);text-decoration:underline}:where(.app-bar,.app-dialog) :focus-visible{outline:2px solid var(--app-primary);outline-offset:2px}.app-dialog{width:min(24rem,calc(100% - 2rem));padding:1rem;border:0;border-radius:8px;background-color:var(--app-surface);color:var(--app-text);box-shadow:var(--app-shadow-lg)}.app-dialog::backdrop{background-color:#00000040}.app-dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.app-dialog h2{margin:0;font-size:1.125rem}.app-dialog p{margin:0}.app-form{display:flex;flex-direction:column;gap:.75rem}.app-form label{display:flex;flex-direction:column;gap:.25rem}.app-form label[hidden]{display:none}.app-form input{padding:.5rem;border:1px solid var(--app-border);border-radius:6px;background-color:var(--app-surface);color:inherit;font:inherit}.app-error{color:var(--app-danger)}.app-error:empty,.app-success:empty{display:none}.app-success{color:var(--app-text-muted)}.app-button-danger{border-color:var(--app-danger);color:var(--app-danger)}.app-profile h3{margin:0;font-size:.9375rem}.app-profile :is(form,.app-profile-section)+:is(form,.app-profile-section){margin-top:1rem;padding-top:1rem;border-top:1px solid var(--app-border)}.app-profile-section{display:flex;flex-direction:column}.app-drawings{width:min(30rem,calc(100% - 2rem))}.app-drawings p[data-local]{margin-bottom:.75rem}.app-drawings-list{display:flex;flex-direction:column;gap:2px;max-height:60vh;margin:.75rem 0 0;padding:0;overflow-y:auto;list-style:none}.app-drawings-list li{display:flex;align-items:center;gap:.25rem;border-radius:6px}.app-drawings-list li[aria-current]{background-color:var(--app-subtle-bg)}.app-drawing-open{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:.125rem;min-width:0;padding:.5rem;text-align:start}.app-drawing-open span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
