.app{display:flex;flex-direction:column;height:100%;overflow:hidden;background:#f6f1e8}.app.theme-dark{background:#1c1917}.toolbar{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid #d7d0c4;background:#f6f1e8}.app.theme-dark .toolbar{border-bottom-color:#44403c;background:#1c1917}.toolbar-cluster,.toolbar-group{display:inline-flex;align-items:center;gap:4px}.toolbar-divider{width:1px;height:20px;margin-inline:4px;background:#d7d0c4}.app.theme-dark .toolbar-divider{background:#44403c}.toolbar button.toolbar-btn{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;background:transparent;color:#1c1917;cursor:pointer}.app.theme-dark .toolbar button.toolbar-btn{color:#e7e5e4}.toolbar button.toolbar-btn:hover{background:#ebe4d6}.app.theme-dark .toolbar button.toolbar-btn:hover{background:#292524}.toolbar button.toolbar-btn:focus-visible{outline:none;border-color:#1c1917}.app.theme-dark .toolbar button.toolbar-btn:focus-visible{border-color:#e7e5e4}.toolbar button.toolbar-btn.active{background:#1c1917;color:#f6f1e8}.app.theme-dark .toolbar button.toolbar-btn.active{background:#e7e5e4;color:#1c1917}.toolbar button.toolbar-btn:disabled{opacity:.45;cursor:default}.toolbar-tooltip{position:absolute;top:calc(100% + 8px);left:50%;z-index:5;display:flex;flex-direction:column;gap:2px;min-width:max-content;max-width:28ch;padding:6px 8px;border:1px solid #d7d0c4;border-radius:6px;background:#f6f1e8;color:#1c1917;box-shadow:0 4px 12px #1c191714;pointer-events:none;opacity:0;transform:translate(-50%);transition:opacity .12s ease;transition-delay:0s}.app.theme-dark .toolbar-tooltip{border-color:#44403c;background:#1c1917;color:#e7e5e4;box-shadow:0 4px 12px #00000059}.toolbar button.toolbar-btn:hover .toolbar-tooltip,.toolbar button.toolbar-btn:focus-visible .toolbar-tooltip{opacity:1;transition-delay:.2s}.toolbar-tooltip-name{font-size:12px;font-weight:600;line-height:1.25}.toolbar-tooltip-desc{font-size:11px;font-weight:400;line-height:1.3;color:#57534e}.app.theme-dark .toolbar-tooltip-desc{color:#a8a29e}.toolbar-spinner{animation:toolbar-spin .8s linear infinite}@keyframes toolbar-spin{to{transform:rotate(360deg)}}.toolbar .status{margin-left:8px;padding:0 8px;font-size:13px;font-variant-numeric:tabular-nums;color:#57534e}.toolbar .sheet-size{display:inline-flex;align-items:center;gap:4px;margin-left:8px;font-size:13px;color:#57534e}.toolbar .sheet-size input{width:64px;padding:4px 6px;border:1px solid #d7d0c4;border-radius:4px;background:#fff;color:#1c1917;font-variant-numeric:tabular-nums}.app.theme-dark .toolbar .sheet-size{color:#a8a29e}.app.theme-dark .toolbar .sheet-size input{border-color:#44403c;background:#1c1917;color:#e7e5e4}.app.theme-dark .toolbar .status{color:#a8a29e}.stage{position:relative;flex:1 1 auto;min-height:0;width:100%}.stage canvas{display:block;width:100%;height:100%;touch-action:none}.props-panel{position:absolute;top:12px;right:12px;z-index:2;width:200px;max-height:calc(100% - 24px);overflow:auto;padding:10px 12px;border:1px solid #d7d0c4;border-radius:8px;background:#f6f1e8f5;color:#1c1917;box-shadow:0 8px 24px #1c191714;font-size:13px;pointer-events:none}.app.theme-dark .props-panel{border-color:#44403c;background:#1c1917f5;color:#e7e5e4;box-shadow:0 8px 24px #00000059}.props-panel-header{margin-bottom:8px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#78716c}.app.theme-dark .props-panel-header{color:#a8a29e}.props-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.props-kind{margin-bottom:4px;font-weight:600}.props-fields{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}.props-fields>div{display:flex;justify-content:space-between;gap:8px;min-width:0}.props-fields dt{margin:0;color:#78716c;font-weight:500}.app.theme-dark .props-fields dt{color:#a8a29e}.props-fields dd{margin:0;font-variant-numeric:tabular-nums;text-align:right}.props-item+.props-item{padding-top:10px;border-top:1px solid #e7e0d4}.app.theme-dark .props-item+.props-item{border-top-color:#44403c}.commit-log{flex:0 0 auto;display:flex;flex-direction:column;border-top:1px solid #d7d0c4;background:#f6f1e8;color:#1c1917;font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;position:relative}.app.theme-dark .commit-log{border-top-color:#44403c;background:#1c1917;color:#f6f1e8}.commit-log-resize{flex:0 0 6px;margin-top:-3px;height:6px;cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;background:transparent}.commit-log-resize:hover,.commit-log-dragging .commit-log-resize{background:#d7d0c4}.app.theme-dark .commit-log-resize:hover,.app.theme-dark .commit-log-dragging .commit-log-resize{background:#57534e}.commit-log-dragging{-webkit-user-select:none;user-select:none}.commit-log-dragging .commit-log-body{pointer-events:none}.commit-log-header{flex:0 0 28px;display:flex;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid #e7e0d4}.app.theme-dark .commit-log-header{border-bottom-color:#292524}.commit-log-collapsed .commit-log-header{border-bottom:none}.commit-log-title{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#78716c}.app.theme-dark .commit-log-title{color:#a8a29e}.commit-log-actions{margin-left:auto;display:inline-flex;gap:4px}.commit-log-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:4px;background:transparent;color:#57534e;font:inherit;font-size:11px;padding:2px 6px;cursor:pointer}.commit-log-btn:hover{background:#ebe4d6}.app.theme-dark .commit-log-btn{color:#a8a29e}.app.theme-dark .commit-log-btn:hover{background:#292524}.commit-log-body{overflow:auto;padding:6px 10px 8px}.commit-log-empty{color:#a8a29e;font-size:11px;padding:4px 0}.commit-log-entry{margin-bottom:10px}.commit-log-cmd{color:#1c1917;white-space:pre-wrap;word-break:break-all}.app.theme-dark .commit-log-cmd{color:#f6f1e8}.commit-log-plan{margin:2px 0 4px;padding:4px 6px;border:1px solid #d7d0c4;border-radius:4px;background:#ebe4d6;color:#44403c;font:inherit;font-size:11px;line-height:1.35;white-space:pre-wrap;word-break:break-word;max-height:140px;overflow:auto}.app.theme-dark .commit-log-plan{border-color:#44403c;background:#292524;color:#d6d3d1}.commit-log-resp{color:#78716c;padding-left:.5ch;white-space:pre-wrap;word-break:break-all}.app.theme-dark .commit-log-resp{color:#a8a29e}.commit-log-error .commit-log-resp{color:#57534e}.app.theme-dark .commit-log-error .commit-log-resp{color:#d6d3d1}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:IBM Plex Sans,ui-sans-serif,system-ui,sans-serif;background:#f6f1e8;color:#1c1917}button,input{font:inherit}
