:root{--white:#fff;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--blue-500:#3b82f6;--blue-600:#2563eb;--sky-100:#e0f2fe;--sky-500:#0ea5e9;--sky-600:#0284c7;--emerald-500:#10b981;--rose-500:#f43f5e;--red-50:#fef2f2;--red-600:#dc2626;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, Consolas, monospace}*{box-sizing:border-box}body{font-family:var(--font-sans);background-color:var(--slate-50);color:var(--slate-800);height:100vh;margin:0;overflow:hidden}#app,.app{background-color:var(--slate-50);height:100%;box-shadow:none;border:none;border-radius:0;flex-direction:column;margin:0;padding:0;display:flex;overflow:hidden}.titlebar{border-bottom:1px solid var(--slate-200);-webkit-user-select:none;user-select:none;background-color:#fff;flex-shrink:0;justify-content:flex-start;align-items:center;padding:4px 10px;display:flex}@media (display-mode:standalone),(display-mode:fullscreen),(display-mode:minimal-ui){body:not(.wco-active) .titlebar{display:none}}@media (display-mode:window-controls-overlay){.titlebar{height:calc(env(titlebar-area-height,34px) + 4px);min-height:calc(env(titlebar-area-height,34px) + 4px);padding-left:calc(env(titlebar-area-x,0px) + 10px);padding-right:calc(100vw - env(titlebar-area-x,0px) - env(titlebar-area-width,100vw) + 10px);-webkit-app-region:drag;app-region:drag;padding-top:0;padding-bottom:0;display:flex}.titlebar *{-webkit-app-region:no-drag;app-region:no-drag}}body.wco-active .titlebar{height:calc(env(titlebar-area-height,34px) + 4px);min-height:calc(env(titlebar-area-height,34px) + 4px);padding-left:calc(env(titlebar-area-x,0px) + 10px);padding-right:calc(100vw - env(titlebar-area-x,0px) - env(titlebar-area-width,100vw) + 10px);-webkit-app-region:drag;app-region:drag;padding-top:0;padding-bottom:0;display:flex!important}body.wco-active .titlebar *{-webkit-app-region:no-drag;app-region:no-drag}.titlebar-left{align-items:center;gap:8px;display:flex}body.os-mac .titlebar{justify-content:center}.app-icon{justify-content:center;align-items:center;width:18px;height:18px;display:flex}.app-icon img{border-radius:3px;width:18px;height:18px}.app-title{color:var(--slate-700);font-size:12px;font-weight:600}.menubar{border-bottom:1px solid var(--slate-200);-webkit-user-select:none;user-select:none;background-color:#fff;flex-shrink:0;padding:2px 4px;font-size:12px;display:flex}.menubar-drawer{display:contents}.menu-item{color:var(--slate-600);cursor:default;border-radius:3px;padding:2px 8px;transition:background-color .15s;position:relative}.menu-item:hover{background-color:var(--slate-100);color:var(--slate-900)}.menu-accel{color:var(--slate-600);transition:color .1s}body.accesskey-mode .menu-accel{color:#2563eb}.install-item{display:none}.install-item.is-visible{display:block}@media (width<=640px){.install-item{display:none!important}}.menu-dropdown{border:1px solid var(--slate-300);z-index:200;background:#fff;border-radius:6px;min-width:160px;padding:3px 0;display:none;position:absolute;top:100%;left:0;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.menu-dropdown.open{display:block}.dropdown-item{color:var(--slate-700);cursor:pointer;white-space:nowrap;padding:4px 10px;font-size:12px;transition:background-color .1s}.dropdown-item:hover{background-color:var(--slate-100);color:var(--slate-900)}.dropdown-item.disabled,.toolbar-btn.disabled{opacity:.4;pointer-events:none}.dropdown-item.has-submenu{justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.dropdown-arrow{color:var(--slate-400)}.submenu-header{flex:1;justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.menu-submenu{border:1px solid var(--slate-300);z-index:220;background:#fff;border-radius:6px;min-width:140px;padding:3px 0;display:none;position:absolute;top:-4px;left:100%;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.dropdown-item.has-submenu:hover>.menu-submenu,.dropdown-item.has-submenu.open>.menu-submenu{display:block}.dropdown-separator{background-color:var(--slate-200);height:1px;margin:3px 0}.dropdown-item:has(.menu-soon-icon){align-items:center;gap:8px;display:flex}.menu-soon-icon{cursor:help;color:var(--amber-500,#f59e0b);flex-shrink:0;margin-left:auto;display:inline-flex;position:relative}.menu-soon-icon .icon{width:12px;height:12px}.menu-soon-icon:after{content:"coming soon";color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:300;background:#0f172a;border-radius:4px;padding:3px 8px;font-size:11px;line-height:1.2;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 2px 6px #0003}.menu-soon-icon:hover:after{opacity:1}.toolbar{border-bottom:1px solid var(--slate-200);-webkit-user-select:none;user-select:none;background-color:#fff;flex-shrink:0;align-items:center;gap:2px;padding:3px 6px;display:flex}.toolbar-btn{cursor:pointer;width:24px;height:24px;color:var(--slate-600);border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.toolbar-btn .icon{width:16px;height:16px}.toolbar-btn:hover{background-color:var(--slate-200);color:var(--slate-900)}.toolbar-btn.active{background-color:var(--sky-100);color:var(--sky-600)}.toolbar-sep{background-color:var(--slate-200);width:1px;height:16px;margin:0 4px}.toolbar-icon-error{color:var(--rose-500)}.toolbar-icon-help{color:var(--blue-500)}.toolbar-zoom{-webkit-user-select:none;user-select:none;align-items:center;gap:2px;margin-left:auto;display:flex}.zoom-step-btn{cursor:pointer;width:22px;height:22px;color:var(--slate-500);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s;display:flex}.zoom-step-btn .icon{width:14px;height:14px}.zoom-step-btn:hover{background-color:var(--slate-100);color:var(--slate-900)}.zoom-step-btn:active{background-color:var(--slate-200)}.zoom-slider{appearance:none;cursor:pointer;background:0 0;width:76px;height:16px;margin:0 2px}.zoom-slider:focus{outline:none}.zoom-slider::-webkit-slider-runnable-track{background:var(--slate-300);border-radius:1px;height:2px;transition:background-color .15s}.zoom-slider:hover::-webkit-slider-runnable-track{background:var(--slate-400)}.zoom-slider::-webkit-slider-thumb{appearance:none;background:var(--slate-600);width:10px;height:10px;box-shadow:none;border:none;border-radius:50%;margin-top:-4px;transition:background-color .15s,transform .15s}.zoom-slider:hover::-webkit-slider-thumb{background:var(--slate-800)}.zoom-slider::-webkit-slider-thumb:active{background:var(--sky-600);transform:scale(1.15)}.zoom-slider::-moz-range-track{background:var(--slate-300);border:none;border-radius:1px;height:2px;transition:background-color .15s}.zoom-slider:hover::-moz-range-track{background:var(--slate-400)}.zoom-slider::-moz-range-thumb{background:var(--slate-600);width:10px;height:10px;box-shadow:none;border:none;border-radius:50%;transition:background-color .15s,transform .15s}.zoom-slider:hover::-moz-range-thumb{background:var(--slate-800)}.zoom-slider::-moz-range-thumb:active{background:var(--sky-600);transform:scale(1.15)}.zoom-value{font-family:var(--font-sans);color:var(--slate-600);text-align:right;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:none;border-radius:3px;min-width:36px;padding:2px;font-size:11px;transition:color .15s}.zoom-value:hover{color:var(--slate-900)}.workspace{background-color:var(--slate-100);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;flex:1;min-height:0;padding:8px;display:flex;position:relative;overflow:hidden}.workspace-grid{border:1px solid var(--slate-200);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;background-color:#f8fafc;border-radius:8px;flex:1;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000d}.workspace-grid::-webkit-scrollbar{display:none}.workspace::-webkit-scrollbar{display:none}.graph-area{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;background-color:#fff;background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100\" height=\"100\"><defs><pattern id=\"minor\" width=\"10\" height=\"10\" patternUnits=\"userSpaceOnUse\"><path d=\"M 10 0 L 0 0 0 10\" fill=\"none\" stroke=\"%23e2e8f0\" stroke-width=\"1\" stroke-dasharray=\"1 3\"/></pattern></defs><rect width=\"100\" height=\"100\" fill=\"url(%23minor)\"/><path d=\"M 100 0 L 0 0 0 100\" fill=\"none\" stroke=\"%2394a3b8\" stroke-width=\"1\" stroke-dasharray=\"4 4\"/></svg>");background-size:100px 100px;width:601px;min-width:601px;height:601px;min-height:601px;position:relative;box-shadow:0 1px 3px #0000000f}.plot-svg{z-index:10;cursor:default;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;background:0 0;outline:none;width:400px;min-width:0;height:300px;min-height:0;display:block;position:absolute;overflow:visible}.plot-svg *,.plot-overlay *{touch-action:none}.plot-svg:focus,.plot-svg:focus-visible{outline:none}.plot-svg text{-webkit-user-select:none;user-select:none}.plot-svg .handle{fill:#0000;pointer-events:all;touch-action:none}.plot-svg .handle-move{cursor:move}.plot-svg .handle-top{cursor:n-resize}.plot-svg .handle-bottom{cursor:ns-resize}.plot-svg .handle-left,.plot-svg .handle-right{cursor:ew-resize}.plot-svg .handle-top-left{cursor:nwse-resize}.plot-svg .handle-top-right,.plot-svg .handle-bottom-left{cursor:nesw-resize}.plot-svg .handle-bottom-right{cursor:nwse-resize}.plot-overlay.plot-overlay-selected{box-sizing:border-box;border:1px solid #0ff}.plot-overlay{z-index:10;pointer-events:none;box-sizing:border-box;position:absolute;overflow:visible}.ov-box-multi{pointer-events:auto;box-sizing:border-box;cursor:move;background:0 0;border:1px solid #0ff;position:absolute}.ov-line{pointer-events:auto;cursor:move;border-top:1px solid #0ff;height:0;position:absolute}.ov-handle{pointer-events:auto;cursor:crosshair;z-index:12;background:#0ff;border:none;width:4px;height:4px;position:absolute}.ov-box{pointer-events:auto;cursor:move;background:0 0;border:1px solid #0ff;position:absolute}.ov-box-corner{pointer-events:auto;background:#0ff;border:none;width:3px;height:3px;position:absolute}.ov-rot-wrap{transform-origin:0 0;position:absolute}.ov-dot{pointer-events:none;background:#0ff;border:none;width:6px;height:6px;position:absolute}.ov-trans-box{pointer-events:auto;box-sizing:border-box;z-index:14;background:0 0;border:1px solid #0ff;position:absolute}.ov-trans-handle{pointer-events:auto;z-index:16;box-sizing:border-box;background:#0ff;border:none;position:absolute}.ov-trans-handle-h{width:10px;height:5px}.ov-trans-handle-v{width:5px;height:10px}.workspace-right{width:50%;height:100%}.scrollbar-v{background-color:var(--slate-50);border-left:1px solid var(--slate-200);z-index:50;flex-direction:column;width:16px;display:flex;position:absolute;top:0;bottom:16px;right:0}.scrollbar-v-track{background-color:#f1f5f9;flex:1;width:100%;position:relative}.scrollbar-v-thumb{cursor:pointer;background-color:#cbd5e1;border-radius:2px;height:40px;min-height:20px;position:absolute;top:0;left:1px;right:1px}.scrollbar-v-thumb:hover,.scrollbar-v-thumb:active{background-color:#94a3b8}.scrollbar-h{background-color:var(--slate-50);border-top:1px solid var(--slate-200);z-index:50;height:16px;display:flex;position:absolute;bottom:0;left:0;right:16px}.scrollbar-h-track{background-color:#f1f5f9;flex:1;height:100%;position:relative}.scrollbar-h-thumb{cursor:pointer;background-color:#cbd5e1;border-radius:2px;width:40px;min-width:20px;position:absolute;top:1px;bottom:1px;left:0}.scrollbar-h-thumb:hover,.scrollbar-h-thumb:active{background-color:#94a3b8}.scroll-btn{background-color:var(--slate-200);width:16px;height:16px;color:var(--slate-600);cursor:pointer;justify-content:center;align-items:center;transition:background-color .15s;display:flex}.scroll-btn:hover{background-color:var(--slate-300)}.scroll-btn .icon{width:12px;height:12px}.context-menu{border:1px solid var(--slate-200);z-index:100;background:#fff;border-radius:8px;min-width:180px;padding:4px 0;display:none;position:fixed;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.context-menu.open{display:block}.context-menu-item{cursor:default;color:var(--slate-700);justify-content:space-between;align-items:center;padding:8px 16px;font-size:13px;transition:background-color .1s;display:flex}.context-menu-item:hover{background-color:var(--slate-100);color:var(--slate-900)}.context-menu-item .icon{width:14px;height:14px;color:var(--slate-400)}.context-separator{background-color:var(--slate-200);height:1px;margin:4px 0}.marquee-selection-box{pointer-events:none;z-index:99;box-sizing:border-box;background-color:#00ffff1f;border:1px solid #0ff;position:absolute}.marquee-export-box{pointer-events:none;z-index:99;box-sizing:border-box;background-color:#00ffff0f;background-image:repeating-linear-gradient(45deg,#00ffff59 0 4px,#0000 4px 10px);border:1px dashed #0ff;position:absolute}.trim-selection-box{pointer-events:none;cursor:crosshair;z-index:99;box-sizing:border-box;background-color:#ff950026;border:1px solid #ff9500;position:absolute}.graph-area.trimming-mode,.graph-area.trimming-mode *{cursor:crosshair!important}.statusbar{border-top:1px solid var(--slate-200);color:var(--slate-600);background-color:#fff;flex-shrink:0;align-items:center;gap:8px;padding:4px 8px;font-size:11px;display:flex}.status-file{border-right:1px solid var(--slate-200);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;width:33.33%;padding-right:8px;display:flex;overflow:hidden}.status-dot{background-color:var(--emerald-500);border-radius:9999px;flex-shrink:0;width:8px;height:8px}.status-dot-idle{background-color:var(--slate-400)}.status-coords{border-right:1px solid var(--slate-200);width:128px;font-family:var(--font-mono);padding-right:8px}.status-pos{white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-mono);color:var(--slate-500);flex:1;overflow:hidden}.icon{width:18px;height:18px;-webkit-mask:var(--icon-url) center / contain no-repeat;-webkit-mask:var(--icon-url) center / contain no-repeat;mask:var(--icon-url) center / contain no-repeat;background-color:currentColor;flex-shrink:0;display:inline-block}.icon-photo-sensor-3{--icon-url:url(../icons/photo-sensor-3.svg)}.icon-menu{--icon-url:url(../icons/menu.svg)}.icon-minus{--icon-url:url(../icons/minus.svg)}.icon-plus{--icon-url:url(../icons/plus.svg)}.icon-square{--icon-url:url(../icons/square.svg)}.icon-x{--icon-url:url(../icons/x.svg)}.icon-chevron-right{--icon-url:url(../icons/chevron-right.svg)}.icon-file-text{--icon-url:url(../icons/file-text.svg)}.icon-square-plus-2{--icon-url:url(../icons/square-plus-2.svg)}.icon-circle-dashed-letter-c{--icon-url:url(../icons/circle-dashed-letter-c.svg)}.icon-folder-open{--icon-url:url(../icons/folder-open.svg)}.icon-device-floppy{--icon-url:url(../icons/device-floppy.svg)}.icon-printer{--icon-url:url(../icons/printer.svg)}.icon-arrow-back-up{--icon-url:url(../icons/arrow-back-up.svg)}.icon-arrow-forward-up{--icon-url:url(../icons/arrow-forward-up.svg)}.icon-trash{--icon-url:url(../icons/trash.svg)}.icon-zoom-in{--icon-url:url(../icons/zoom-in.svg)}.icon-copy{--icon-url:url(../icons/copy.svg)}.icon-alert-triangle{--icon-url:url(../icons/alert-triangle.svg)}.icon-help{--icon-url:url(../icons/help.svg)}.icon-abc{--icon-url:url(../icons/abc.svg)}.icon-arrow-down-left-circle{--icon-url:url(../icons/arrow-down-left-circle.svg)}.icon-chevron-up{--icon-url:url(../icons/chevron-up.svg)}.icon-chevron-down{--icon-url:url(../icons/chevron-down.svg)}.icon-chevron-left{--icon-url:url(../icons/chevron-left.svg)}.icon-arrow-up{--icon-url:url(../icons/arrow-up.svg)}.icon-arrow-down{--icon-url:url(../icons/arrow-down.svg)}.icon-target{--icon-url:url(../icons/target.svg)}.icon-bookmark{--icon-url:url(../icons/bookmark.svg)}.icon-calculator{--icon-url:url(../icons/calculator.svg)}.icon-chevrons-left{--icon-url:url(../icons/chevrons-left.svg)}.icon-chevrons-right{--icon-url:url(../icons/chevrons-right.svg)}.icon-brand-github{--icon-url:url(../icons/brand-github.svg)}.data-manager-dialog{flex-direction:column;width:360px;max-width:92vw;height:auto;max-height:85vh;display:flex;overflow:hidden}.data-manager-body{background-color:var(--slate-50);box-sizing:border-box;gap:10px;padding:10px;display:flex}.dm-list-box{border:1px solid var(--slate-300);-webkit-user-select:none;user-select:none;box-sizing:border-box;background:#fff;border-radius:4px;outline:none;flex:1;height:156px;padding:3px;overflow-y:auto;box-shadow:inset 0 1px 2px #0000000d}.dm-list-box:focus{border-color:var(--blue-500)}.dm-list-item{color:var(--slate-700);cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:4px 6px;font-size:12px;transition:background-color .1s;display:flex}.dm-list-item:hover{background-color:var(--slate-100)}.dm-list-item.selected{background-color:var(--blue-600);color:#fff;font-weight:600}.dm-series-icon{flex-shrink:0;width:24px;height:14px}.dm-item-text{font-family:var(--font-sans);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dm-action-sidebar{flex-direction:column;justify-content:flex-start;gap:6px;width:86px;display:flex}.dm-btn-group{flex-direction:column;gap:4px;display:flex}.dm-btn-group-bottom{flex-direction:column;gap:4px;margin-top:4px;display:flex}.dm-action-btn{border:1px solid var(--slate-300);width:100%;height:23px;color:var(--slate-700);cursor:pointer;text-align:center;font-size:11px;font-weight:500;font-family:var(--font-sans);box-sizing:border-box;background:#fff;border-radius:4px;justify-content:center;align-items:center;padding:0 6px;transition:all .12s;display:inline-flex}.dm-action-btn:hover{background-color:var(--slate-100);color:var(--slate-900);border-color:var(--slate-400)}.dm-action-btn.btn-primary{background-color:var(--blue-600);color:#fff;border-color:var(--blue-600);font-weight:600}.dm-action-btn.btn-primary:hover{background-color:var(--blue-500);border-color:var(--blue-500)}.modal-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;z-index:1000;pointer-events:none;background-color:#0000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.property-dialog,.data-manager-dialog,.axis-dialog,.title-dialog,.arrow-dialog,.rectangle-dialog,.read-value-dialog,.dialog-window{pointer-events:auto;border:1px solid var(--slate-300);background:#fff;border-radius:8px;flex-direction:column;animation:.15s cubic-bezier(.16,1,.3,1) modalPopIn;display:flex;position:absolute;overflow:hidden;box-shadow:0 20px 30px -10px #0f172a40,0 4px 12px -2px #0f172a1f,0 0 0 1px #0f172a14}.read-value-dialog{width:320px;height:auto;max-height:92vh}.property-dialog{width:400px;height:480px;max-height:92vh}.data-manager-dialog{width:360px;height:auto;max-height:85vh}.axis-dialog{width:420px;height:440px;max-height:92vh}.title-dialog{width:520px;height:auto;max-height:80vh}.arrow-dialog{width:440px;height:340px;max-height:90vh}.rectangle-dialog{width:340px;height:auto;max-height:92vh}.rect-dialog-body{background-color:#fff;flex-direction:column;gap:12px;padding:12px 16px;font-size:12px;display:flex}.rect-coord-box{background-color:var(--slate-50);border:1px solid var(--slate-200);border-radius:6px;padding:8px 10px}.rect-coord-grid{grid-template-columns:48px 1fr 1fr;align-items:center;gap:6px 8px;display:grid}.rect-coord-grid .form-input-num{width:100%}.rect-coord-header{color:var(--slate-700);text-align:center;font-size:12px;font-weight:600}.rect-props-grid{flex-direction:column;gap:10px;padding:4px 0;display:flex}.rect-prop-row{grid-template-columns:1fr 1fr;align-items:center;gap:12px;display:grid}.rect-prop-row.span-2{align-items:center;display:flex}.rect-field-group{flex:1;align-items:center;gap:6px;display:flex}.rect-field-group .color-picker-box{flex:1;width:100%;height:28px}.rect-field-group .form-input-num{flex:1;width:100%}.rect-field-label{color:var(--slate-700);white-space:nowrap;font-size:12px;font-weight:500}.rect-field-label.width-label{flex-shrink:0;width:62px}.rect-actions{border-top:1px solid var(--slate-200);flex-direction:column;gap:6px;margin-top:4px;padding-top:10px;display:flex}.rect-btn-row{justify-content:flex-end;gap:8px;display:flex}.text-right{text-align:right}.flex-1{flex:1}.title-dialog-body{flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px 14px;display:flex;overflow-y:auto}.title-form-row{align-items:flex-start;gap:10px;display:flex}.title-field-label{color:var(--slate-700);min-width:42px;font-size:11px;font-weight:500}.title-textarea{border:1px solid var(--slate-300);resize:none;background-color:var(--white);border-radius:4px;flex:1;min-height:58px;padding:6px;font-family:inherit;font-size:12px;overflow:hidden}.title-symbol-panel{z-index:1010;pointer-events:auto;background:var(--white);border:1px solid var(--slate-300);border-radius:8px;flex-direction:column;width:300px;animation:.15s cubic-bezier(.16,1,.3,1) modalPopIn;display:flex;position:absolute;overflow:hidden;box-shadow:0 20px 30px -10px #0f172a40,0 4px 12px -2px #0f172a1f,0 0 0 1px #0f172a14}.title-symbol-search{border:1px solid var(--slate-300);background-color:var(--white);border-radius:4px;margin:8px 8px 0;padding:5px 8px;font-family:inherit;font-size:12px}.title-symbol-search:focus{border-color:var(--slate-500);outline:none}.title-symbol-grid{flex:1;grid-template-columns:repeat(5,1fr);gap:4px;min-height:0;padding:8px;display:grid;overflow-y:auto}.title-symbol-cell{border:1px solid var(--slate-200);background:var(--slate-50);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;justify-content:center;align-items:center;height:30px;font-family:Cambria Math,Times New Roman,Times,serif;font-size:16px;display:flex}.title-symbol-cell:hover{background:var(--slate-200);border-color:var(--slate-400)}.title-grid-row{gap:16px;display:flex}.title-col-left{flex-direction:column;gap:6px;width:180px;display:flex}.title-col-right{flex-direction:column;flex:1;gap:8px;display:flex}.title-inline-group{align-items:center;gap:6px;font-size:11px;display:flex}.title-alignment-fieldset{border:1px solid var(--slate-300);border-radius:4px;padding:6px 8px;font-size:11px}.title-font-grid{gap:10px;display:flex}.title-button-matrix{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.title-symbol-btn-span{grid-column:span 2}.axis-scale-top-row{justify-content:space-between;margin-bottom:8px;display:flex}.axis-fieldset{border:1px solid var(--slate-300);background:#fafafa;border-radius:4px;margin-top:6px;padding:8px 10px}.axis-fieldset legend{color:var(--slate-700);padding:0 4px;font-size:11px;font-weight:600}.axis-radio-grid{flex-wrap:wrap;gap:8px 16px;margin-top:4px;display:flex}.axis-scale-bottom-opts{flex-direction:column;gap:4px;margin-top:8px;display:flex}.axis-tick-row{align-items:center;gap:6px;margin-bottom:4px;font-size:12px;display:flex}.width-sm{width:54px!important}.width-md{width:110px!important}.axis-label-grid-2col{grid-template-columns:1fr 1fr;gap:8px;display:grid}.axis-label-col{flex-direction:column;gap:4px;display:flex}@keyframes modalPopIn{0%{opacity:0;transform:scale(.97)translateY(-6px)}to{opacity:1;transform:scale(1)translateY(0)}}.dialog-header{background-color:var(--slate-100);border-bottom:1px solid var(--slate-200);cursor:move;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:space-between;align-items:center;padding:4px 10px;display:flex}.dialog-title{color:var(--slate-800);letter-spacing:-.01em;font-size:12px;font-weight:600}.dialog-close-btn{width:22px;height:22px;color:var(--slate-500);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .12s;display:inline-flex}.dialog-close-btn .icon{width:12px;height:12px}.dialog-close-btn:hover{color:var(--slate-900);background-color:var(--slate-200)}.dialog-tabs{background-color:var(--slate-100);border-bottom:1px solid var(--slate-200);gap:4px;padding:4px 12px 0;display:flex}.tab-btn{color:var(--slate-600);cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:6px 6px 0 0;padding:5px 14px;font-size:12px;font-weight:500;transition:all .12s}.tab-btn:hover{color:var(--slate-900)}.tab-btn.active{color:var(--blue-600);border-color:var(--slate-200);background:#fff;font-weight:600}.dialog-content{flex-direction:column;flex:1;padding:12px 14px;display:flex;overflow:hidden}.tab-content{height:100%;display:none}.tab-content.active{flex-direction:column;gap:10px;height:100%;display:flex}.file-banner-row{align-items:center;gap:8px;width:100%;display:flex}.file-path-banner{background-color:var(--slate-50);border:1px solid var(--slate-200);min-width:0;font-family:var(--font-mono);color:var(--slate-700);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;flex:1;padding:5px 10px;font-size:11px;overflow:hidden}.banner-actions{flex-shrink:0;gap:6px;display:flex}.prop-grid-2col{grid-template-columns:1fr 1fr;gap:12px;width:100%;display:grid}.prop-grid-3col{grid-template-columns:1fr 1fr 1fr;gap:12px;width:100%;display:grid}.prop-grid-2col.align-end{align-items:end}.form-field-stacked{flex-direction:column;gap:4px;width:100%;display:flex}.full-width{width:100%!important}.prop-form-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.prop-inline-group{color:var(--slate-700);align-items:center;gap:10px;font-size:12px;display:flex}.checkbox-label,.radio-label{color:var(--slate-700);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;font-size:12px;display:inline-flex}.column-selection-container{gap:24px;display:flex}.col-field-group{flex-direction:column;gap:4px;width:100%;display:flex}.field-title{color:var(--slate-700);font-size:11px;font-weight:600}.vertical-radio-group{background-color:var(--slate-50);border:1px solid var(--slate-200);border-radius:4px;flex-direction:column;gap:4px;margin-top:4px;padding:6px 8px;display:flex}.data-preview-box{border:2px inset var(--slate-300);font-family:var(--font-mono);background-color:#fff;border-radius:4px;flex:1;min-height:120px;font-size:11px;overflow:auto;box-shadow:inset 0 1px 3px #0000000f}.preview-data-rows{flex-direction:column;min-width:max-content;display:flex}.preview-row{color:var(--slate-600);border-bottom:1px solid var(--slate-100);font-family:var(--font-mono);white-space:nowrap;gap:16px;padding:3px 8px;font-size:11px;display:flex}.preview-row span{min-width:100px;display:inline-block}.preview-row:hover{background-color:var(--slate-50)}.line-sample-preview-box{background-color:var(--slate-50);border:1px solid var(--slate-300);box-sizing:border-box;border-radius:4px;justify-content:center;align-items:center;width:100%;height:28px;padding:0 12px;display:flex}.line-sample-preview-box .dm-series-icon{width:100%;height:100%}.form-field-inline{color:var(--slate-700);align-items:center;gap:6px;font-size:12px;display:flex}.math-trans-section{flex-direction:column;gap:8px;display:flex}.trans-row{align-items:center;gap:12px;display:flex}.trans-row .checkbox-label{flex-shrink:0;min-width:78px}.form-select,.form-input-num,.form-input-text,.color-picker-box,.btn,.btn-sm{box-sizing:border-box;height:28px;font-family:var(--font-sans);border:1px solid var(--slate-300);border-radius:4px;outline:none;font-size:12px;transition:all .12s}.form-select,.form-input-num,.form-input-text{color:var(--slate-800);background-color:#fff;padding:0 8px}.form-input-num,.form-input-text{font-family:var(--font-mono)}.form-select:focus,.form-input-num:focus,.form-input-text:focus{border-color:var(--blue-500);box-shadow:0 0 0 2px #3b82f626}.form-select.no-label-select{letter-spacing:2px;width:140px;font-weight:600}.color-picker-box{cursor:pointer;border:1px solid var(--slate-300);background:#fff;border-radius:4px;width:28px;height:28px;padding:2px}.color-picker-box.full-width{width:100%}.form-input-num{width:52px}.form-input-num.full-width{width:100%}.btn,.btn-sm{color:var(--slate-700);cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#fff;justify-content:center;align-items:center;padding:0 12px;font-weight:500;display:inline-flex}.btn:hover,.btn-sm:hover{background-color:var(--slate-100);color:var(--slate-900);border-color:var(--slate-400)}.btn-sm{min-width:65px;padding:0 10px}.btn-primary{background-color:var(--blue-600);color:#fff;border-color:var(--blue-600)}.btn-primary:hover{background-color:var(--blue-500);border-color:var(--blue-500);color:#fff}.btn-secondary{color:var(--slate-700);border-color:var(--slate-300);background-color:#fff}.dialog-footer{background-color:var(--slate-50);border-top:1px solid var(--slate-200);justify-content:flex-end;gap:8px;padding:8px 14px;display:flex}.confirm-dialog{pointer-events:auto;border:1px solid var(--slate-300);background:#fff;border-radius:8px;flex-direction:column;width:380px;animation:.15s cubic-bezier(.16,1,.3,1) modalPopIn;display:flex;position:absolute;overflow:hidden;box-shadow:0 20px 30px -10px #0f172a40,0 4px 12px -2px #0f172a1f,0 0 0 1px #0f172a14}.about-dialog{width:360px;height:auto;max-height:90vh}.about-body{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:20px 24px 18px;display:flex;overflow-y:auto}.about-icon{border:1px solid var(--slate-200);border-radius:14px;width:64px;height:64px;overflow:hidden;box-shadow:0 2px 10px #0f172a1f}.about-icon img{width:100%;height:100%;display:block}.about-body .dialog-title{margin-top:8px}.about-body .btn{margin-top:14px}.about-buttons{gap:8px;display:flex}.normal-text{color:var(--slate-700);font-size:12px}.confirm-body{color:var(--slate-700);padding:16px 18px;font-size:13px;line-height:1.5}.confirm-footer{border-top:1px solid var(--slate-200);background-color:var(--slate-50);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.smp-latex-item{vertical-align:top;white-space:pre-line;line-height:1.2;display:inline-block}body.shape-drawing,body.shape-drawing *{cursor:crosshair!important}.pwa-update-toast{background-color:var(--slate-900);color:var(--white);z-index:9999;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:12px;padding:10px 14px;font-size:12px;display:flex;position:fixed;bottom:42px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0f172a59}.pwa-update-text{flex-direction:column;gap:2px;display:flex}.pwa-update-note{opacity:.7;font-size:11px}.pwa-update-actions{gap:6px;display:flex}.color-picker-dialog{-webkit-user-select:none;user-select:none;width:476px}.color-picker-body{gap:14px;padding:12px 14px;display:flex}.color-palette-section{flex-direction:column;flex-shrink:0;width:228px;display:flex}.color-section-title{color:var(--slate-700);margin-bottom:4px;font-size:11px;font-weight:600}.color-grid{grid-template-columns:repeat(8,1fr);gap:4px;display:grid}.color-swatch-box{cursor:pointer;box-sizing:border-box;border:1px solid #71717a;border-radius:2px;width:25px;height:22px;transition:transform 50ms;box-shadow:inset 1px 1px #00000040,inset -1px -1px #fff6}.color-swatch-box:hover{outline:2px solid var(--blue-500);z-index:2;transform:scale(1.08)}.color-swatch-box.selected-slot{outline:2px solid var(--blue-600);outline-offset:1px;z-index:1}.color-custom-section{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.color-picker-visuals{align-items:stretch;gap:8px;width:100%;display:flex}.color-sb-container{flex:1;min-width:0;position:relative}.color-sb-box{aspect-ratio:1;border:1px solid var(--slate-400);cursor:crosshair;-webkit-user-select:none;user-select:none;box-sizing:border-box;background-color:red;border-radius:2px;width:100%;height:170px;position:relative;box-shadow:inset 0 1px 3px #0003}.color-sb-white{pointer-events:none;background:linear-gradient(90deg,#fff,#fff0);position:absolute;inset:0}.color-sb-black{pointer-events:none;background:linear-gradient(#0000,#000);position:absolute;inset:0}.color-sb-handle{pointer-events:none;border:1.5px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #000}.color-hue-container{flex-shrink:0;width:20px;position:relative}.color-hue-bar{border:1px solid var(--slate-400);cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;background:linear-gradient(red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);border-radius:2px;width:100%;height:170px;position:relative;box-shadow:inset 0 1px 3px #0003}.color-hue-handle{pointer-events:none;background:#fff;border:1.5px solid #000;border-radius:1px;height:4px;position:absolute;left:-2px;right:-2px;transform:translateY(-50%);box-shadow:0 1px 2px #0006}.color-details-card{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:4px;flex-direction:column;gap:6px;padding:6px 8px;display:flex}.color-top-bar{border-bottom:1px solid var(--slate-200);justify-content:space-between;align-items:center;gap:8px;padding-bottom:5px;display:flex}.color-preview-wrapper{align-items:center;display:flex}.color-preview-swatch{border:1px solid var(--slate-400);background-color:#000;border-radius:2px;width:64px;height:24px;box-shadow:inset 0 1px 2px #00000026}.color-hex-group{align-items:center;gap:4px;display:flex}.color-hex-group .color-input-label{color:var(--slate-700);font-size:11px;font-weight:600}.color-hex-group .form-input-text{height:24px;padding:0 6px}.color-channels-grid{gap:12px;display:flex}.color-channel-col{flex-direction:column;flex:1;gap:3px;display:flex}.color-input-row{color:var(--slate-700);justify-content:space-between;align-items:center;gap:4px;font-size:11px;display:flex}.color-input-label{color:var(--slate-600);min-width:28px;font-size:11px}.color-channel-col .form-input-num{text-align:right;width:52px;height:22px;padding:0 4px;font-size:11px}.color-picker-footer{background:var(--slate-50);border-top:1px solid var(--slate-200);justify-content:flex-end;gap:8px;padding:8px 14px;display:flex}.touch-hold-indicator{pointer-events:none;z-index:999999;background:#2563eb1a;border:4px solid #2563ebb3;border-radius:50%;width:64px;height:64px;margin-top:-32px;margin-left:-32px;animation:.9s cubic-bezier(.22,1,.36,1) forwards touchRingFade;position:fixed}@keyframes touchRingFade{0%{opacity:.9;transform:scale(.2)}to{opacity:0;transform:scale(1.6)}}@media (width<=640px){html{height:-webkit-fill-available}body{-webkit-text-size-adjust:100%;height:100dvh;min-height:-webkit-fill-available;overflow:hidden}#app,.app{height:100dvh}.titlebar,.menubar,.statusbar,.toolbar,.scrollbar-v,.scrollbar-h{display:none!important}.mobile-header{border-bottom:1px solid var(--slate-200);z-index:700;background:#fff;flex-shrink:0;align-items:center;gap:2px;height:48px;padding:0 6px;display:flex}.mobile-header-btn{width:36px;height:36px;color:var(--slate-600);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}.mobile-header-btn:active{background:var(--slate-100);color:var(--slate-900)}.mobile-header-sep{background:var(--slate-200);flex-shrink:0;width:1px;height:22px;margin:0 4px}.menubar.menu-drawer-open{z-index:600;animation:.18s forwards mobileMenuIn;position:fixed;inset:48px 0 auto;display:block!important}@keyframes mobileMenuIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.menubar.menu-drawer-open .menubar-drawer{border:1px solid var(--slate-200);background:#fff;border-radius:10px;flex-direction:column;width:40%;max-height:60dvh;padding:4px;display:flex;overflow:hidden auto;box-shadow:0 10px 24px #0f172a24}.menubar.menu-drawer-open .menu-item{text-align:left;border-radius:0;justify-content:space-between;align-items:center;gap:8px;padding:12px 10px;font-size:13px;font-weight:500;display:flex;position:static}.menubar.menu-drawer-open .menu-item:after{content:"";background-color:var(--slate-400);width:14px;height:14px;-webkit-mask:var(--icon-url) center / contain no-repeat;-webkit-mask:var(--icon-url) center / contain no-repeat;mask:var(--icon-url) center / contain no-repeat;--icon-url:url(../icons/chevron-right.svg);flex-shrink:0}.menubar.menu-drawer-open .menu-item:has(.menu-dropdown.open){background:var(--sky-100);color:var(--sky-600)}.menubar.menu-drawer-open .menu-dropdown{z-index:-1;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border:1px solid var(--slate-200);background:#fff;border-radius:10px;min-width:0;max-height:60dvh;animation:.18s forwards mobileMenuIn;position:absolute;inset:0 0 auto 40%;overflow:hidden auto;box-shadow:0 10px 24px #0f172a24}.menubar.menu-drawer-open .dropdown-item{white-space:normal;text-align:left;min-height:36px;padding:8px 14px;font-size:13px;line-height:1.2}.menubar.menu-drawer-open .dropdown-separator{margin:4px 0}.menubar.menu-drawer-open .dropdown-item.has-submenu{padding:0;display:block;background:0 0!important}.menubar.menu-drawer-open .submenu-header{cursor:pointer;justify-content:space-between;align-items:center;min-height:36px;padding:8px 14px;transition:background-color .1s;display:flex}.menubar.menu-drawer-open .submenu-header:hover,.menubar.menu-drawer-open .submenu-header:active{background:var(--slate-100);color:var(--slate-900)}.menubar.menu-drawer-open .dropdown-item.has-submenu.open>.submenu-header{background:var(--slate-100)}.menubar.menu-drawer-open .menu-submenu{box-shadow:none;background:0 0;border:none;border-radius:0;width:100%;min-width:0;padding:0;display:none;position:static}.menubar.menu-drawer-open .dropdown-item.has-submenu:hover>.menu-submenu{display:none}.menubar.menu-drawer-open .dropdown-item.has-submenu.open>.menu-submenu{animation:.15s forwards mobileSubmenuIn;display:block}.menubar.menu-drawer-open .menu-submenu .dropdown-item{white-space:normal;text-align:left;min-height:36px;padding-left:28px;font-size:13px}@keyframes mobileSubmenuIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.menubar.menu-drawer-open .submenu-header .dropdown-arrow{flex-shrink:0;transition:transform .15s}.menubar.menu-drawer-open .dropdown-item.has-submenu.open>.submenu-header .dropdown-arrow{transform:rotate(90deg)}.toolbar-btn{border-radius:6px;flex-shrink:0;width:36px;height:36px}.toolbar-btn .icon{width:18px;height:18px}.workspace{min-height:0;padding:0;padding-bottom:max(var(--sheet-h,0px), 56px);flex:1;transition:padding-bottom .28s cubic-bezier(.32,.72,0,1)}.workspace-grid{border:none;border-radius:0}.mobile-nav{border-top:1px solid var(--slate-200);z-index:500;height:56px;padding-bottom:env(safe-area-inset-bottom,0px);-webkit-user-select:none;user-select:none;background:#fff;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -1px 8px #0f172a12}.mobile-nav-btn{cursor:pointer;height:100%;color:var(--slate-500);font-size:10px;font-family:var(--font-sans);letter-spacing:.02em;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:4px 6px;font-weight:500;transition:color .15s,background-color .15s;display:flex}.mobile-nav-btn .icon{width:22px;height:22px}.mobile-nav-btn:active,.mobile-nav-btn.active{color:var(--sky-600);background-color:var(--sky-100)}.mobile-nav-label{white-space:nowrap;font-size:9.5px;line-height:1}.modal-overlay{z-index:1000;pointer-events:none;background:0 0;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.property-dialog,.data-manager-dialog,.axis-dialog,.title-dialog,.arrow-dialog,.rectangle-dialog,.read-value-dialog,.about-dialog,.dialog-window,.color-picker-dialog{flex-direction:column;height:30dvh;min-height:auto;max-height:82dvh;display:flex;overflow:hidden;border:none!important;border-top:1px solid var(--slate-200)!important;border-radius:0!important;width:100%!important;max-width:100%!important;animation:.28s cubic-bezier(.32,.72,0,1) forwards mobileSheetSlideUp!important;position:relative!important;inset:auto!important;box-shadow:0 -4px 32px #0f172a2e,0 -1px #0f172a0f!important}@keyframes mobileSheetSlideUp{0%{opacity:.6;transform:translateY(100%)}to{opacity:1;transform:translateY(0%)}}.dialog-header:before{content:"";background:var(--slate-300);pointer-events:none;border-radius:2px;width:32px;height:3.5px;display:block;position:absolute;top:5px;left:50%;transform:translate(-50%)}.dialog-header{-webkit-user-select:none;user-select:none;touch-action:none;min-height:28px;position:relative;cursor:ns-resize!important;padding:12px 10px 4px!important}.title-symbol-panel .dialog-header{cursor:default!important}.dialog-title{font-weight:600;font-size:12px!important}.dialog-close-btn{width:22px!important;height:22px!important}.dialog-content,.data-manager-body,.title-dialog-body,.rect-dialog-body,.arrow-dialog-body,.color-picker-body,.confirm-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;gap:6px;min-height:0;padding:8px 10px;overflow:hidden auto}.form-select,.form-input-num,.form-input-text,.btn,.btn-sm{border-radius:4px;height:28px!important;padding:0 6px!important;font-size:11.5px!important}.field-title,.title-field-label,.rect-field-label{font-size:10.5px;font-weight:600}.checkbox-label,.radio-label{gap:4px;padding:1px 0;font-size:11.5px}.checkbox-label input[type=checkbox],.radio-label input[type=radio]{flex-shrink:0;width:14px;height:14px}.dialog-tabs{gap:3px;padding:2px 8px 0}.tab-btn{border-radius:5px 5px 0 0;min-height:28px;padding:4px 10px;font-size:11.5px}.dialog-footer{padding:6px 10px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));gap:6px}.dialog-footer .btn{border-radius:5px;flex:1;height:30px!important;min-height:30px!important;font-size:12px!important}.file-banner-row{gap:6px;margin-bottom:2px}.file-path-banner{border-radius:4px;padding:3px 6px;font-size:10.5px}.banner-actions .btn{height:26px!important;min-height:26px!important;padding:0 8px!important;font-size:11px!important}.prop-grid-2col{grid-template-columns:1fr 1fr;gap:4px 8px;display:grid}.prop-grid-3col{grid-template-columns:1fr 1fr 1fr;gap:4px 6px;display:grid}.data-preview-box{border-width:1px;min-height:60px;max-height:95px;font-size:10px}.preview-row{gap:10px;padding:1.5px 6px;font-size:10px}.preview-row span{min-width:70px}.vertical-radio-group{border-radius:4px;gap:2px;margin-top:2px;padding:3px 6px}.color-picker-box{height:26px!important}.trans-row{gap:6px;font-size:11px}.title-dialog-body{gap:5px;padding:8px 10px}.title-form-row{gap:6px}.title-textarea{border-radius:4px;min-height:36px;padding:4px 6px;font-size:11.5px}.title-grid-row{flex-direction:column;gap:5px;display:flex}.title-col-left,.title-col-right{gap:5px;width:100%}.title-inline-group{gap:4px;font-size:11px}.title-alignment-fieldset{margin-top:2px;padding:3px 6px;font-size:10.5px}.title-alignment-fieldset .radio-group-inline{gap:8px;display:inline-flex}.title-font-grid{grid-template-columns:1fr 2fr 2fr;gap:4px;display:grid}.title-button-matrix{grid-template-columns:repeat(3,1fr);gap:4px;margin-top:4px;display:grid}.title-button-matrix .btn{padding:0 4px;height:28px!important;min-height:28px!important;font-size:11px!important}.title-symbol-panel{border-radius:16px 16px 0 0;max-height:48dvh;width:100%!important;animation:.28s cubic-bezier(.32,.72,0,1) forwards mobileSheetSlideUp!important;position:fixed!important;inset:auto 0 0!important}.title-symbol-grid{grid-template-columns:repeat(6,1fr);gap:3px;padding:6px;display:grid}.title-symbol-cell{height:28px;font-size:14px}.arrow-dialog-body{gap:5px!important;padding:8px 10px!important}.arrow-form-row{grid-template-columns:1fr 1fr 1fr 1.4fr 1fr!important;align-items:flex-end!important;gap:4px!important;display:grid!important}.arrow-xy-grid{margin-top:4px!important}.arrow-xy-row{font-size:11px;gap:6px!important;margin-top:2px!important}.arrow-xy-row .title-field-label{font-size:10.5px;width:34px!important}.arrow-units-row{gap:6px!important;margin-top:4px!important}.arrow-units-row .axis-fieldset{font-size:10.5px;margin:0!important;padding:3px 6px!important}.arrow-shape-row{grid-template-columns:2fr 1fr 1fr!important;gap:4px!important;margin-top:4px!important;display:grid!important}.arrow-button-row{grid-template-columns:repeat(5,1fr)!important;gap:4px!important;margin-top:6px!important;display:grid!important}.arrow-button-row .btn{height:28px!important;min-height:28px!important;padding:0 2px!important;font-size:11px!important}.rect-dialog-body{gap:5px!important;padding:8px 10px!important}.rect-coord-box{padding:4px 6px!important}.rect-coord-grid{grid-template-columns:36px 1fr 1fr!important;gap:3px 6px!important}.rect-props-grid{gap:4px!important;padding:0!important}.rect-prop-row{grid-template-columns:1fr 1fr!important;gap:6px!important}.rect-field-group{gap:4px!important}.rect-field-label.width-label{width:44px!important;font-size:10.5px!important}.rect-actions{gap:4px!important;margin-top:4px!important;padding-top:4px!important}.rect-btn-row{grid-template-columns:repeat(4,1fr)!important;gap:4px!important;display:grid!important}.rect-btn-row .btn{height:28px!important;min-height:28px!important;padding:0 2px!important;font-size:11px!important}.color-picker-body{flex-direction:column;gap:5px;padding:8px 10px}.color-palette-section{width:100%}.color-section-title{margin-bottom:2px;font-size:10.5px;font-weight:600}.color-grid.basic-grid,.color-grid.custom-grid{grid-template-columns:repeat(8,1fr);gap:3px;display:grid}.color-swatch-box{height:18px}#colorAddCustomBtn{height:26px!important;min-height:26px!important;margin-top:4px!important;font-size:11px!important}.color-custom-section{gap:5px}.color-picker-visuals{gap:6px}.color-sb-box,.color-hue-bar{height:100px!important}.color-details-card{gap:3px;padding:4px 6px}.color-top-bar{gap:6px;padding-bottom:3px}.color-preview-swatch{width:48px;height:20px}.color-hex-group .form-input-text{width:68px!important;height:22px!important;font-size:10px!important}.color-channels-grid{gap:6px}.color-channel-col{gap:2px}.color-input-row{gap:2px;font-size:10.5px}.color-input-label{min-width:22px;font-size:10px}.color-channel-col .form-input-num{width:40px!important;height:20px!important;padding:0 3px!important;font-size:10px!important}.axis-scale-top-row{margin-bottom:3px}.axis-tick-row{flex-wrap:nowrap;align-items:center;gap:4px;margin-bottom:2px;font-size:11px;display:flex}.axis-tick-row .form-input-num{width:44px!important}.axis-fieldset{margin-top:3px;padding:4px 6px}.axis-fieldset legend{padding:0 2px;font-size:10.5px}.axis-radio-grid{gap:3px 6px;margin-top:2px}.axis-label-grid-2col{gap:4px}.data-manager-body{flex-direction:column;gap:6px;padding:8px 10px}.dm-list-box{height:auto;min-height:90px;max-height:140px}.dm-list-item{min-height:26px;padding:4px 6px;font-size:11px}.dm-action-sidebar{flex-flow:wrap;gap:4px;width:100%}.dm-btn-group,.dm-btn-group-bottom{flex-flow:wrap;gap:4px}.dm-action-btn{flex:1;min-width:60px;height:28px!important;font-size:11.5px!important}.read-value-dialog{max-height:72dvh}.context-menu{max-width:calc(100vw - 24px)}.context-menu-item{min-height:38px;padding:10px 14px;font-size:13px}.pwa-update-toast{bottom:calc(56px + env(safe-area-inset-bottom,8px) + 8px);width:auto;max-width:calc(100vw - 32px)}.confirm-dialog{flex-direction:column;height:30dvh;display:flex;overflow:hidden;border:none!important;border-radius:0!important;width:100%!important;max-width:100%!important;animation:.28s cubic-bezier(.32,.72,0,1) forwards mobileSheetSlideUp!important;position:relative!important;inset:auto!important}.confirm-body{padding:10px 12px;font-size:12px}.confirm-footer{padding:6px 10px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));gap:6px;display:flex}.confirm-footer .btn{flex:1;height:30px!important;min-height:30px!important;font-size:12px!important}#saveAsFileNameInput{border-radius:4px!important;height:28px!important;min-height:28px!important;padding:2px 6px!important;font-size:12px!important}}@media (width>=641px){.mobile-header,.mobile-nav{display:none!important}}.custom-select-button{appearance:none;cursor:pointer;text-align:left;white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;position:relative;overflow:hidden;padding-right:26px!important}.custom-select-button:after{content:"";border-right:1.6px solid var(--slate-500);border-bottom:1.6px solid var(--slate-500);pointer-events:none;width:7px;height:7px;position:absolute;top:50%;right:9px;transform:translateY(-70%)rotate(45deg)}.custom-select-button.open{border-color:var(--blue-500);box-shadow:0 0 0 2px #3b82f626}.custom-select-popup{border:1px solid var(--slate-200);z-index:1010;overscroll-behavior:contain;box-sizing:border-box;background:#fff;border-radius:8px;max-width:min(340px,100vw - 16px);max-height:264px;padding:4px 0;display:none;position:fixed;overflow-y:auto;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.custom-select-popup.open{display:block}.custom-select-popup::-webkit-scrollbar{width:10px}.custom-select-popup::-webkit-scrollbar-track{background-color:var(--slate-50);border-radius:0 8px 8px 0}.custom-select-popup::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:2px}.custom-select-popup::-webkit-scrollbar-thumb:hover{background-color:#94a3b8}.custom-select-item{cursor:default;color:var(--slate-700);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;padding:7px 12px;font-size:13px;transition:background-color .1s;display:flex;overflow:hidden}.custom-select-symbol{color:var(--slate-700);flex-shrink:0;display:block}.custom-select-button .custom-select-symbol{vertical-align:middle;display:inline-block}.custom-select-item:hover,.custom-select-item.active{background-color:var(--slate-100);color:var(--slate-900)}.custom-select-item.selected{color:var(--blue-600);font-weight:600}
