*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#f0f0f0;overflow:hidden}canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;outline:none;display:block}body.webgl-error-page{color:#111827;background:#f8fafc;min-height:100vh;font-family:Arial,Helvetica,sans-serif;overflow:auto}.webgl-error{background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:min(680px,100% - 32px);margin:64px auto;padding:24px;box-shadow:0 12px 32px #0f172a1f}.webgl-error h1{margin-bottom:12px;font-size:24px;line-height:1.2}.webgl-error p{margin-bottom:16px;font-size:15px;line-height:1.5}.webgl-error ul{padding-left:20px}.webgl-error li{margin:8px 0;line-height:1.45}#sideControl{background:#ffffffe6;border:1px solid #ccc;border-radius:8px;padding:10px;font-family:Arial;display:block}#sideControl.active{opacity:1}#sideControl.passive{opacity:.45}#sideControl.passive input{cursor:not-allowed}#sideControl.active input{cursor:pointer}#unFoldControl{background:#ffffffe6;border:1px solid #ccc;border-radius:8px;padding:10px;font-family:Arial;display:block}#sideSlider,#unFoldSlider{width:120px;min-width:120px;max-width:120px}#unFoldControl.active{opacity:1}#unFoldControl.passive{opacity:.45}#unFoldControl.passive input{cursor:not-allowed}#unFoldControl.active input{cursor:pointer}#rightControls{z-index:10;flex-direction:column;align-items:stretch;gap:8px;display:flex;position:fixed;top:12px;right:76px}.tool-toast{z-index:30;color:#fff;text-align:left;opacity:0;pointer-events:none;background:#111827eb;border-radius:8px;max-width:min(420px,100vw - 32px);padding:12px 16px;font:600 15px/1.35 Arial,Helvetica,sans-serif;transition:opacity .18s,transform .18s;position:fixed;bottom:28px;left:50%;transform:translate(-50%,12px);box-shadow:0 12px 28px #0f172a38}.tool-toast-title,.tool-toast-message{display:block}.tool-toast-title{letter-spacing:0;margin-bottom:4px;font-size:13px}.tool-toast-message{font-weight:500}.tool-toast.is-visible{opacity:1;transform:translate(-50%)}#made-signature{z-index:2000;color:#5f6368;letter-spacing:0;opacity:.72;font:italic 600 13px Segoe Script,Bradley Hand ITC,Comic Sans MS,cursive;text-decoration:none;position:fixed;bottom:56px;left:44px}#made-signature:hover{opacity:1;text-decoration:none}#made-signature:hover .made-highlight{color:#1a73e8}@media (width<=640px){.tool-toast{border-radius:8px;width:calc(100% - 24px);max-width:calc(100% - 24px);bottom:12px}}.close-toolbar{z-index:10;background:#ffffffe6;border:1px solid #ccc;border-radius:8px;flex-direction:column;align-items:stretch;padding:8px;display:flex;position:fixed;top:12px;left:12px;overflow:hidden}.close-toolbar-button{cursor:pointer;opacity:1;background:#fff;border:1px solid #bbb;border-radius:6px;justify-content:center;align-items:center;width:38px;height:38px;min-height:38px;margin:0 0 6px;padding:0;font-size:18px;transition:height .18s,min-height .18s,margin .18s,padding .18s,border-width .18s,opacity .16s,transform .18s,background-color .16s,border-color .16s;display:flex;overflow:hidden;transform:translateY(0)}.close-toolbar-button:last-child{margin-bottom:0}.close-toolbar-button:hover{background:#eee}.close-toolbar-button.active,.close-toolbar-button.is-primary{color:#14532d;background:#bbf7d0;border-color:#22c55e}.close-toolbar-button .toolbar-icon{pointer-events:none;width:32px;height:32px;display:block}.close-toolbar.is-closed .close-toolbar-button:not(.is-primary){opacity:0;pointer-events:none;border-width:0;height:0;min-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;transform:translateY(-10px)}.close-toolbar.is-closed .close-toolbar-button.is-primary{margin-bottom:0}.close-toolbar.is-open .close-toolbar-button{transition-delay:calc(var(--tool-index,0) * 18ms)}.close-toolbar.is-closed .close-toolbar-button{transition-delay:0s}.right-toolbar{z-index:10;background:#ffffffe6;border:1px solid #ccc;border-radius:8px;flex-direction:column;gap:0;padding:8px;display:flex;position:fixed;top:12px;right:12px;overflow:hidden}.right-toolbar.is-open{gap:6px}.right-toolbar button{background:#fff;border:1px solid #bbb;border-radius:6px;justify-content:center;align-items:center;width:38px;height:38px;padding:0;font-size:18px;display:flex}.right-toolbar button:hover{background:#eee}.right-toolbar-accordion-button{cursor:pointer;flex:0 0 38px}.right-toolbar-accordion-icon{pointer-events:none;transform-origin:50%;width:22px;height:22px;transition:transform .18s;display:block}.right-toolbar.is-closed .right-toolbar-accordion-icon{transform:rotate(90deg)}.right-toolbar.is-open .right-toolbar-accordion-icon{transform:rotate(180deg)}.right-toolbar .right-toolbar-action{transition:opacity .18s,transform .18s,max-height .18s,margin .18s;overflow:hidden}.right-toolbar.is-open .right-toolbar-action{opacity:1;pointer-events:auto;border-width:1px;height:38px;max-height:38px;padding:0;transform:translateY(0)}.right-toolbar.is-closed .right-toolbar-action{opacity:0;pointer-events:none;border-width:0;height:0;min-height:0;max-height:0;margin:0;padding:0;transform:translateY(-8px)}.right-toolbar.is-open .right-toolbar-action:nth-of-type(2){transition-delay:20ms}.right-toolbar.is-open .right-toolbar-action:nth-of-type(3){transition-delay:40ms}.right-toolbar.is-open .right-toolbar-action:nth-of-type(4){transition-delay:60ms}.right-toolbar.is-open .right-toolbar-action:nth-of-type(5){transition-delay:80ms}.right-toolbar.is-open .right-toolbar-action:nth-of-type(6){transition-delay:.1s}.right-toolbar.is-open .right-toolbar-action:nth-of-type(7){transition-delay:.12s}.right-toolbar.is-closed .right-toolbar-action{transition-delay:0s}.right-toolbar .toolbar-icon{pointer-events:none;width:32px;height:32px;display:block}.right-toolbar .delete-icon{pointer-events:none;width:22px;height:22px;display:block}#deleteButton.active{cursor:pointer;background:#fff;border-color:#bbb}#hideButton.active{cursor:pointer;background:#e5e7eb;border-color:#6b7280}#showButton.active{cursor:pointer;background:#dbeafe;border-color:#2563eb}#showButton.active .toolbar-icon{filter:none;opacity:1}#hideButton.active .toolbar-icon{filter:grayscale();opacity:.82}#deleteButton.active .delete-icon{filter:none;opacity:1}#deleteButton.passive,#deleteButton:disabled,#showButton:disabled,#hideButton:disabled,#undoButton:disabled,#redoButton:disabled{cursor:not-allowed;background:#f3f4f6;border-color:#d1d5db}#deleteButton.passive:hover,#deleteButton:disabled:hover,#showButton:disabled:hover,#hideButton:disabled:hover,#undoButton:disabled:hover,#redoButton:disabled:hover{background:#f3f4f6}#deleteButton.passive .delete-icon,#deleteButton:disabled .delete-icon,#showButton:disabled .toolbar-icon,#hideButton:disabled .toolbar-icon,#undoButton:disabled .toolbar-icon,#redoButton:disabled .toolbar-icon{filter:grayscale();opacity:.42}#undoButton.active,#redoButton.active{cursor:pointer;background:#eef2ff;border-color:#4f46e5}#deleteButton{color:#b91c1c;font-size:24px;line-height:1}
