@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Fira+Code:wght@400;500&display=swap);:root{--aside-bg:linear-gradient(180deg,#fff,#f8fafc);--aside-border:#e2e8f0;--aside-shadow:0 4px 20px #00000014;--text-main:#1e293b;--text-muted:#64748b;--text-subtle:#94a3b8;--block-bg:#fff;--block-border:#e2e8f0;--block-shadow:0 2px 8px #0000000a;--block-shadow-hover:0 8px 24px #0000001f;--hover-bg:linear-gradient(135deg,#f1f5f9,#e2e8f0);--hover-border:#cbd5e1;--category-border:linear-gradient(90deg,#0ea5e9,#8b5cf6);--transition-time:0.3s;--transition-bounce:0.5s cubic-bezier(0.34,1.56,0.64,1);--btn-primary:#0ea5e9;--btn-primary-hover:#0284c7;--btn-secondary:#64748b;--btn-secondary-hover:#475569}.dark-mode{--aside-bg:linear-gradient(180deg,#1e293b,#0f172a);--aside-border:#334155;--aside-shadow:0 4px 20px #0000004d;--text-main:#f1f5f9;--text-muted:#94a3b8;--text-subtle:#64748b;--block-bg:#1e293b;--block-border:#334155;--block-shadow:0 2px 8px #0003;--block-shadow-hover:0 8px 24px #0006;--hover-bg:linear-gradient(135deg,#334155,#1e293b);--hover-border:#475569;--category-border:linear-gradient(90deg,#38bdf8,#a78bfa)}.aside-container{background:linear-gradient(180deg,#fff,#f8fafc);background:var(--aside-bg);border-right:1px solid #e2e8f0;border-right:1px solid var(--aside-border);box-shadow:0 4px 20px #00000014;box-shadow:var(--aside-shadow);box-sizing:border-box;color:#1e293b;color:var(--text-main);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;height:calc(100vh - 70px);max-width:520px;min-width:60px;overflow:hidden;position:relative;transition:width .3s ease,background .3s,border-color .3s,box-shadow .3s;transition:width var(--transition-time) ease,background var(--transition-time),border-color var(--transition-time),box-shadow var(--transition-time)}.aside-container.resizing{transition:none!important}.aside-container.collapsed{width:60px}.resizer{background:linear-gradient(90deg,#0000,#0ea5e933);bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .15s ease;transition:background var(--transition-fast,.15s ease);width:6px;z-index:10}.resizer:active,.resizer:hover{background:linear-gradient(90deg,#0000,#0ea5e980)}.aside-inner{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:16px}.collapse-container{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--aside-border);display:flex;justify-content:flex-end;margin-bottom:16px;padding-bottom:12px}.collapse-button{align-items:center;border:1px solid #e2e8f0;border:1px solid var(--block-border);border-radius:10px;box-shadow:0 2px 8px #0000000a;box-shadow:var(--block-shadow);color:#64748b;color:var(--text-muted);display:flex;font-size:14px;height:36px;justify-content:center;transition:all .3s;transition:all var(--transition-time);width:36px}.aside-container.collapsed .collapse-button{transform:rotate(180deg)}.collapse-button:hover{background:linear-gradient(135deg,#0ea5e9,#0284c7);border-color:#0284c7;box-shadow:0 4px 12px #0ea5e966;color:#fff;transform:scale(1.08)}.aside-container.collapsed .collapse-button:hover{transform:rotate(180deg) scale(1.1)}.collapse-button:active{transform:scale(.95)}.dark-mode .collapse-button:hover{transform:scale(1.08)}.dark-mode .aside-container.collapsed .collapse-button:hover{transform:rotate(180deg) scale(1.1)}.palette-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0ea5e9,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:#1e293b;color:var(--text-main);font-size:1.1rem;font-weight:700;letter-spacing:.5px;margin:0 0 20px;text-align:center;text-transform:uppercase}.blocks-container{flex:1 1;margin-right:-8px;overflow-x:hidden;overflow-y:auto;padding:4px}.blocks-container::-webkit-scrollbar{width:4px}.blocks-container::-webkit-scrollbar-track{background:#0000}.blocks-container::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#cbd5e1,#94a3b8);border-radius:4px}.block-category{border-bottom:2px solid;border-image:linear-gradient(90deg,#0ea5e9,#8b5cf6) 1;border-image:var(--category-border) 1;color:#94a3b8;color:var(--text-subtle);font-size:.75rem;font-weight:700;letter-spacing:1px;margin:20px 0 12px;padding-bottom:8px;text-transform:uppercase}.block-category:first-child{margin-top:0}.dndblock{align-items:center;background:#fff;background:var(--block-bg);border:1px solid #e2e8f0;border:1px solid var(--block-border);border-radius:12px;box-shadow:0 2px 8px #0000000a;box-shadow:var(--block-shadow);cursor:grab;display:flex;flex-wrap:wrap;margin:8px 0;max-width:100%;overflow:hidden;padding:12px 14px;position:relative;transition:all .3s;transition:all var(--transition-time)}.dndblock:before{background:linear-gradient(135deg,#0000,#0ea5e908);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s;transition:opacity var(--transition-time)}.dndblock:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);background:var(--hover-bg);border-color:#cbd5e1;border-color:var(--hover-border);box-shadow:0 8px 24px #0000001f;box-shadow:var(--block-shadow-hover);transform:translateY(-3px) scale(1.02)}.dndblock:hover:before{opacity:1}.dndblock:active{cursor:grabbing;transform:translateY(-1px) scale(1.01)}.dndblock.dragging{box-shadow:0 4px 12px #0ea5e94d;opacity:.6;transform:scale(.98)}.dndblock .icon{align-items:center;background:linear-gradient(135deg,#0ea5e91a,#8b5cf61a);border-radius:8px;color:#0ea5e9;display:flex;flex-shrink:0;height:32px;justify-content:center;line-height:0;transition:all .3s;transition:all var(--transition-time);width:32px}.dndblock:hover .icon{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;transform:scale(1.1)}.dndblock span{color:#1e293b;color:var(--text-main);font-size:.9rem;font-weight:600;line-height:1.3;margin-left:12px;margin-top:2px;transition:color .3s;transition:color var(--transition-time);white-space:normal}.dndblock:hover span{color:#0ea5e9}.dndblock svg:not(.MuiSvgIcon-root){height:1.1em;margin-right:0;vertical-align:middle;width:1.1em}.dndblock svg.MuiSvgIcon-root{height:1.2em;vertical-align:middle;width:1.2em}.dndblock.start-block .icon{background:linear-gradient(135deg,#10b98126,#05966926);color:#10b981}.dndblock.start-block:hover .icon{background:linear-gradient(135deg,#10b981,#059669)}.dndblock.end-block .icon{background:linear-gradient(135deg,#ef444426,#dc262626);color:#ef4444}.dndblock.end-block:hover .icon{background:linear-gradient(135deg,#ef4444,#dc2626)}.dndblock.if-block .icon,.dndblock.whileStart-block .icon{background:linear-gradient(135deg,#8b5cf626,#7c3aed26);color:#8b5cf6}.dndblock.if-block:hover .icon,.dndblock.whileStart-block:hover .icon{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.dndblock.input-block .icon,.dndblock.output-block .icon{background:linear-gradient(135deg,#f59e0b26,#d9770626);color:#f59e0b}.dndblock.input-block:hover .icon,.dndblock.output-block:hover .icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.dndblock.move-block .icon,.dndblock.rotate-block .icon{background:linear-gradient(135deg,#ec489926,#db277726);color:#ec4899}.dndblock.move-block:hover .icon,.dndblock.rotate-block:hover .icon{background:linear-gradient(135deg,#ec4899,#db2777)}.dndblock.createVariable-block .icon,.dndblock.updateVariable-block .icon{background:linear-gradient(135deg,#3b82f626,#2563eb26);color:#3b82f6}.dndblock.createVariable-block:hover .icon,.dndblock.updateVariable-block:hover .icon{background:linear-gradient(135deg,#3b82f6,#2563eb)}@media (max-width:768px){.aside-container{max-width:320px;min-width:50px}.palette-title{font-size:.9rem}.dndblock{padding:10px 12px}.dndblock span{font-size:.8rem}}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.dndblock{animation:slideIn .3s ease-out forwards;animation-delay:0s;animation-delay:calc(var(--index, 0)*.05s);opacity:0}.react-flow{direction:ltr}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;left:50%;top:auto;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{left:-4px;top:50%;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translateX(-50%)}.react-flow__attribution{background:#ffffff80;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{align-items:center;background:#fefefe;border-bottom:1px solid #eee;box-sizing:initial;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;height:4px;transform:translate(-50%,-50%);width:4px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.help-modal-overlay{animation:overlay-fade-in .2s ease-out;background:#0f172a99;bottom:0;padding:20px;right:0;z-index:1300}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.help-modal-content{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;max-height:80vh;max-width:640px;overflow-y:auto;padding:32px;text-align:left;width:100%}.help-modal-title{border-bottom:2px solid;border-image:linear-gradient(90deg,#0ea5e9,#8b5cf6) 1;color:#1e293b;font-size:1.625rem;font-weight:700;margin:0 0 20px;padding-bottom:12px}.help-modal-body{color:#475569;font-size:1rem;line-height:1.75;margin-bottom:24px;white-space:pre-wrap}.help-modal-close{display:block;margin:0 auto;padding:12px 24px;width:120px}.dark-mode .help-modal-overlay{background:#000000b3}.dark-mode .help-modal-content{background:linear-gradient(180deg,#1e293b,#0f172a);border-color:#38bdf833;box-shadow:0 25px 50px -12px #0009,0 0 0 1px #38bdf81a}.dark-mode .help-modal-title{color:#f1f5f9}.dark-mode .help-modal-body{color:#94a3b8}.dark-mode .help-modal-close{background:linear-gradient(135deg,#38bdf8,#0ea5e9)}.dark-mode .help-modal-close:hover{background:linear-gradient(135deg,#0ea5e9,#0284c7)}@media (max-width:640px){.help-modal-content{border-radius:20px;max-width:100%;padding:24px;width:100%}.help-modal-title{font-size:1.25rem}.help-modal-body{font-size:.9375rem}.help-modal-close{padding:14px 24px;width:100%}}:root{--rt-color-white:#fff;--rt-color-dark:#222;--rt-color-success:#8dc572;--rt-color-error:#be6464;--rt-color-warning:#f0ad4e;--rt-color-info:#337ab7;--rt-opacity:0.9;--rt-transition-show-delay:0.15s;--rt-transition-closing-delay:0.15s;--rt-arrow-size:8px}.core-styles-module_tooltip__3vRRp{left:0;opacity:0;pointer-events:none;position:absolute;top:0;will-change:opacity}.core-styles-module_fixed__pcSol{position:fixed}.core-styles-module_arrow__cvMwQ{background:inherit;position:absolute;z-index:-1}.core-styles-module_noArrow__xock6{display:none}.core-styles-module_clickable__ZuTTB{pointer-events:auto}.core-styles-module_show__Nt9eE{opacity:.9;opacity:var(--rt-opacity);transition:opacity .15s ease-out;transition:opacity var(--rt-transition-show-delay) ease-out}.core-styles-module_closing__sGnxF{opacity:0;transition:opacity .15s ease-in;transition:opacity var(--rt-transition-closing-delay) ease-in}.styles-module_tooltip__mnnfp{border-radius:3px;font-size:90%;padding:8px 16px;width:-webkit-max-content;width:max-content}.styles-module_arrow__K0L3T{height:8px;height:var(--rt-arrow-size);width:8px;width:var(--rt-arrow-size)}[class*=react-tooltip__place-top]>.styles-module_arrow__K0L3T{transform:rotate(45deg)}[class*=react-tooltip__place-right]>.styles-module_arrow__K0L3T{transform:rotate(135deg)}[class*=react-tooltip__place-bottom]>.styles-module_arrow__K0L3T{transform:rotate(225deg)}[class*=react-tooltip__place-left]>.styles-module_arrow__K0L3T{transform:rotate(315deg)}.styles-module_dark__xNqje{background:#222;background:var(--rt-color-dark);color:#fff;color:var(--rt-color-white)}.styles-module_light__Z6W-X{background-color:#fff;background-color:var(--rt-color-white);color:#222;color:var(--rt-color-dark)}.styles-module_success__A2AKt{background-color:#8dc572;background-color:var(--rt-color-success);color:#fff;color:var(--rt-color-white)}.styles-module_warning__SCK0X{background-color:#f0ad4e;background-color:var(--rt-color-warning);color:#fff;color:var(--rt-color-white)}.styles-module_error__JvumD{background-color:#be6464;background-color:var(--rt-color-error);color:#fff;color:var(--rt-color-white)}.styles-module_info__BWdHW{background-color:#337ab7;background-color:var(--rt-color-info);color:#fff;color:var(--rt-color-white)}:root{--blk-less-content-width:240px;--blk-conditional-width:340px;--blk-bg-start:linear-gradient(135deg,#d1fae5,#a7f3d0);--blk-bg-end:linear-gradient(135deg,#fee2e2,#fecaca);--blk-bg-if:linear-gradient(135deg,#ede9fe,#ddd6fe);--blk-bg-while:linear-gradient(135deg,#fef3c7,#fde68a);--blk-bg-input:linear-gradient(135deg,#fce7f3,#fbcfe8);--blk-bg-output:linear-gradient(135deg,#ffedd5,#fed7aa);--blk-bg-createVariable:linear-gradient(135deg,#e0e7ff,#c7d2fe);--blk-bg-updateVariable:linear-gradient(135deg,#cffafe,#a5f3fc);--blk-bg-move:linear-gradient(135deg,#dcfce7,#bbf7d0);--blk-bg-rotate:linear-gradient(135deg,#fef9c3,#faf089);--blk-bg-default:linear-gradient(135deg,#f8fafc,#f1f5f9);--blk-border:#cbd5e1;--blk-selected-bg:#0ea5e926;--blk-selected-border:#0ea5e9;--blk-replacement-bg:#fef08a;--blk-handle-bg:#38bdf8;--blk-shadow:#00000014;--blk-shadow-hover:#00000026;--blk-transition-time:0.3s;--blk-operand-width:120px;--blk-operator-width:70px;--blk-font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif}.dark-mode{--blk-border:#475569;--blk-selected-bg:#38bdf833;--blk-selected-border:#38bdf8;--blk-handle-bg:#38bdf8;--blk-shadow:#0000004d;--blk-shadow-hover:#00000080;--blk-bg-start:linear-gradient(135deg,#064e3b,#065f46);--blk-bg-end:linear-gradient(135deg,#7f1d1d,#991b1b);--blk-bg-if:linear-gradient(135deg,#4c1d95,#5b21b6);--blk-bg-while:linear-gradient(135deg,#78350f,#92400e);--blk-bg-input:linear-gradient(135deg,#831843,#9d174d);--blk-bg-output:linear-gradient(135deg,#9a3412,#c2410c);--blk-bg-createVariable:linear-gradient(135deg,#3730a3,#4338ca);--blk-bg-updateVariable:linear-gradient(135deg,#164e63,#155e75);--blk-bg-move:linear-gradient(135deg,#14532d,#166534);--blk-bg-rotate:linear-gradient(135deg,#713f12,#854d0e);--blk-bg-default:linear-gradient(135deg,#1e293b,#0f172a)}.block-container{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);background:var(--blk-bg-default);border:2px solid #cbd5e1;border:2px solid var(--blk-border);border-radius:16px;box-shadow:0 4px 12px #00000014,0 0 0 1px #00000005;box-shadow:0 4px 12px var(--blk-shadow),0 0 0 1px #00000005;display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--blk-font-family);font-weight:600;margin-bottom:14px;overflow:visible;padding:14px 18px;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--blk-transition-time) cubic-bezier(.4,0,.2,1);width:240px;width:var(--blk-less-content-width);z-index:2}.block-container:hover{box-shadow:0 8px 24px #00000026,0 0 0 1px #0ea5e91a;box-shadow:0 8px 24px var(--blk-shadow-hover),0 0 0 1px #0ea5e91a;transform:translateY(-3px) scale(1.01)}.block-container.selected{box-shadow:0 12px 32px #00000026;box-shadow:0 12px 32px var(--blk-shadow-hover);position:relative}.block-container.selected:before{animation:border-dance .5s linear infinite;background-image:linear-gradient(90deg,#0ea5e9 50%,#0000 0),linear-gradient(90deg,#0ea5e9 50%,#0000 0),linear-gradient(0deg,#0ea5e9 50%,#0000 0),linear-gradient(0deg,#0ea5e9 50%,#0000 0);background-image:linear-gradient(90deg,var(--blk-selected-border) 50%,#0000 50%),linear-gradient(90deg,var(--blk-selected-border) 50%,#0000 50%),linear-gradient(0deg,var(--blk-selected-border) 50%,#0000 50%),linear-gradient(0deg,var(--blk-selected-border) 50%,#0000 50%);background-position:0 0,100% 100%,0 100%,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:16px 4px,16px 4px,4px 16px,4px 16px;border-radius:inherit;bottom:-3px;content:"";left:-3px;opacity:.8;pointer-events:none;position:absolute;right:-3px;top:-3px}.block-container.start-block{background:linear-gradient(135deg,#d1fae5,#a7f3d0);background:var(--blk-bg-start);border-color:#10b981}.block-container.end-block{background:linear-gradient(135deg,#fee2e2,#fecaca);background:var(--blk-bg-end);border-color:#ef4444}.block-container.if-block{background:linear-gradient(135deg,#ede9fe,#ddd6fe);background:var(--blk-bg-if);border-color:#8b5cf6;width:340px;width:var(--blk-conditional-width)}.block-container.whileStart-block{background:linear-gradient(135deg,#fef3c7,#fde68a);background:var(--blk-bg-while);border-color:#f59e0b;width:340px;width:var(--blk-conditional-width)}.block-container.input-block{background:linear-gradient(135deg,#fce7f3,#fbcfe8);background:var(--blk-bg-input);border-color:#ec4899}.block-container.output-block{background:linear-gradient(135deg,#ffedd5,#fed7aa);background:var(--blk-bg-output);border-color:#f97316}.block-container.createVariable-block{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);background:var(--blk-bg-createVariable);border-color:#6366f1}.block-container.updateVariable-block{background:linear-gradient(135deg,#cffafe,#a5f3fc);background:var(--blk-bg-updateVariable);border-color:#06b6d4}.block-container.move-block{background:linear-gradient(135deg,#dcfce7,#bbf7d0);background:var(--blk-bg-move);border-color:#22c55e}.block-container.rotate-block{background:linear-gradient(135deg,#fef9c3,#faf089);background:var(--blk-bg-rotate);border-color:#eab308}.dummy-block{align-items:center;background:#f8fafc80;border:2px dashed #cbd5e1;border:2px dashed var(--blk-border);border-radius:16px;display:flex;justify-content:center;min-height:36px;width:260px}.dark-mode .dummy-block{background:#1e293b80}.join-block .block-header{align-items:center;display:flex;flex-direction:column}.dark-mode .block-container{color:#f1f5f9}.handle-source-square,.handle-target-circle{box-shadow:0 2px 6px #0003;cursor:pointer;height:14px;position:absolute;transition:all .3s;transition:all var(--blk-transition-time);width:14px;z-index:-1}.handle-target-circle{background:linear-gradient(135deg,#38bdf8,#0ea5e9);border:2px solid #fff;border-radius:50%;left:50%;top:0;transform:translate(-50%,-50%)}.handle-target-circle:hover{box-shadow:0 0 12px #38bdf899;transform:translate(-50%,-50%) scale(1.3)}.handle-source-square{background:linear-gradient(135deg,#38bdf8,#0ea5e9);border:2px solid #fff;border-radius:4px;left:50%;transform:translate(-50%)}.handle-source-square:hover{box-shadow:0 0 12px #38bdf899;transform:translate(-50%) scale(1.3)}.block-input{background:#ffffffb3;border:2px solid #0000;border-radius:10px;box-sizing:border-box;color:#1e293b;font-size:.9375rem;font-weight:500;margin-top:12px;padding:10px 14px;text-align:center;transition:all .3s;transition:all var(--blk-transition-time);width:100%}.dark-mode .block-input{background:#0000004d;color:#f1f5f9}.block-input:focus{background:#fffffff2;border-color:#0ea5e9;border-color:var(--blk-selected-border);box-shadow:0 0 0 3px #0ea5e933;outline:none}.block-input::placeholder{color:#94a3b8;font-style:italic}.dark-mode .block-input::placeholder{color:#64748b}.operand-input{background:#ffffffb3;border:2px solid #0000;border-radius:8px;box-sizing:border-box;color:#1e293b;font-size:.9375rem;font-weight:500;margin-right:0;padding:8px 12px;text-align:center;transition:all .3s;transition:all var(--blk-transition-time);width:120px;width:var(--blk-operand-width)}.dark-mode .operand-input{background:#0000004d;color:#f1f5f9}.operand-input:focus{background:#fffffff2;border-color:#0ea5e9;border-color:var(--blk-selected-border);box-shadow:0 0 0 3px #0ea5e933;outline:none}.operator-select{background:#ffffffb3;border:2px solid #0000;border-radius:8px;box-sizing:border-box;color:#1e293b;cursor:pointer;font-size:.9375rem;font-weight:500;margin-right:0;padding:8px 12px;text-align:center;transition:all .3s;transition:all var(--blk-transition-time);width:70px;width:var(--blk-operator-width)}.dark-mode .operator-select{background:#0000004d;color:#f1f5f9}.operator-select:focus{border-color:#0ea5e9;border-color:var(--blk-selected-border);outline:none}.operator-input-wrapper{align-items:center;display:flex;gap:8px;justify-content:center;margin-top:12px}.operator-input-wrapper input,.operator-input-wrapper select{background:#ffffffb3;border:2px solid #0000;border-radius:10px;box-sizing:border-box;color:#1e293b;display:inline-block;font-size:.9375rem;font-weight:500;line-height:1.3;margin-top:0;padding:10px 14px;text-align:center;transition:all .3s;transition:all var(--blk-transition-time);vertical-align:middle}.dark-mode .operator-input-wrapper input,.dark-mode .operator-input-wrapper select{background:#0000004d;color:#f1f5f9}.operator-input-wrapper select{width:70px;width:var(--blk-operator-width)}.operator-input-wrapper input:focus,.operator-input-wrapper select:focus{border-color:#0ea5e9;border-color:var(--blk-selected-border);box-shadow:0 0 0 3px #0ea5e933;outline:none}.operator-input-wrapper .block-input{width:100%}.createVariable-input-wrapper{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);margin-top:12px;width:100%}.createVariable-input-wrapper .set-label,.createVariable-input-wrapper .to-label{color:#1e293b;font-size:.9rem;font-weight:700;white-space:nowrap}.dark-mode .createVariable-input-wrapper .set-label,.dark-mode .createVariable-input-wrapper .to-label{color:#f1f5f9}.createVariable-input-wrapper .operand-input{min-width:0;width:100%}@media (max-width:520px){.createVariable-input-wrapper{grid-template-columns:auto minmax(100px,1fr)}}.condition-container{grid-gap:6px;align-items:center;display:grid;gap:6px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);margin-top:12px;width:100%}.condition-container .operand-input{min-width:0;width:100%}.condition-container .operator-select{min-width:58px;width:auto}.help-button{align-items:center;background:#fffc;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;left:4px;position:absolute;top:6px;transition:all .3s;transition:all var(--blk-transition-time);width:24px}.dark-mode .help-button{background:#0000004d;color:#94a3b8}.help-button:hover{animation:helpBounce .6s ease forwards;background:#0ea5e9;background:var(--blk-selected-border);color:#fff;transform:scale(1.1)}@keyframes helpBounce{0%{transform:translateY(0) scale(1)}25%{transform:translateY(-4px) scale(1.1)}50%{transform:translateY(0) scale(1)}75%{transform:translateY(-2px) scale(1.05)}to{transform:translateY(0)}}.block-icon{align-items:center;display:flex;justify-content:center;margin-bottom:8px}.block-icon svg{height:24px;width:24px}.toggle-type-button{background:#fffc;border:2px solid #cbd5e1;border-radius:8px;color:#64748b;cursor:pointer;font-size:12px;font-weight:600;padding:4px 8px;position:absolute;right:6px;top:6px;transition:all .3s;transition:all var(--blk-transition-time)}.dark-mode .toggle-type-button{background:#0000004d;border-color:#475569;color:#94a3b8}.toggle-type-button:hover{background:#0ea5e9;background:var(--blk-selected-border);border-color:#0ea5e9;border-color:var(--blk-selected-border);color:#fff;transform:scale(1.05)}.block-container.executing{animation:blockPulse .6s ease-out}@keyframes blockPulse{0%{box-shadow:0 0 0 0 #0ea5e999;transform:scale(1)}50%{box-shadow:0 0 20px 8px #0ea5e966;transform:scale(1.05)}to{box-shadow:0 0 0 0 #0ea5e900;transform:scale(1)}}.react-flow__edges{z-index:1000}.dummy-replaceable{animation:pulse 2s infinite;border-color:#10b981}.dummy-fixed{animation:none;border:2px solid #0ea5e9;border:2px solid var(--blk-selected-border)}@keyframes flash{0%{background-color:initial;transform:scale(1)}50%{background-color:#fef08a;background-color:var(--blk-replacement-bg);transform:scale(1.15)}to{background-color:initial;transform:scale(1)}}.replacement-success{animation:flash .8s ease-out forwards;transform-origin:center center}@media (max-width:640px){.block-container{padding:12px 14px;width:200px}.block-container.if-block,.block-container.whileStart-block{width:260px}.operand-input{width:90px}.operator-select{width:60px}}.custom-block-wrapper{position:relative}.custom-block-wrapper.error-highlight:before{animation:border-dance .4s linear infinite;background-image:linear-gradient(90deg,#ef4444 50%,#0000 0),linear-gradient(90deg,#ef4444 50%,#0000 0),linear-gradient(0deg,#ef4444 50%,#0000 0),linear-gradient(0deg,#ef4444 50%,#0000 0);background-position:0 0,100% 100%,0 100%,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:16px 3px,16px 3px,3px 16px,3px 16px;border-radius:18px;bottom:-5px;content:"";left:-5px;pointer-events:none;position:absolute;right:-5px;top:-5px;z-index:100}@keyframes border-dance{0%{background-position:0 0,100% 100%,0 100%,100% 0}to{background-position:left 16px top,right 16px bottom,left bottom 16px,right top 16px}}.error-snackbar{animation:errorSlideIn .3s ease-out;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:10px;bottom:-36px;box-shadow:0 4px 12px #ef444466;color:#fff;font-size:.8125rem;font-weight:600;left:50%;padding:8px 16px;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:10}@keyframes errorSlideIn{0%{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.dark-mode .custom-block-wrapper.error-highlight:before{background-image:linear-gradient(90deg,#f87171 50%,#0000 0),linear-gradient(90deg,#f87171 50%,#0000 0),linear-gradient(0deg,#f87171 50%,#0000 0),linear-gradient(0deg,#f87171 50%,#0000 0)}.dark-mode .error-snackbar{background:linear-gradient(135deg,#f87171,#ef4444)}.react-flow__edge-path{transition:stroke .3s ease,stroke-width .3s ease}.react-flow__edge-path:hover{stroke:#0ea5e9;stroke-width:3.5}.react-flow__edge-path.selected{stroke:#8b5cf6!important;stroke-width:4!important;stroke-dasharray:8 8;animation:edge-dash 1s linear infinite}.react-flow__edge-path.executing{stroke:#10b981;stroke-width:4;animation:edge-pulse .6s ease-in-out infinite}.react-flow__edge{transition:opacity .3s ease}.react-flow__edge:hover{opacity:1}.dark-mode .react-flow__edge-path{stroke:#64748b}.dark-mode .react-flow__edge-path:hover{stroke:#38bdf8}.dark-mode .react-flow__edge-path.selected{stroke:#a78bfa!important}.dark-mode .react-flow__edge-path.executing{stroke:#34d399}@keyframes edge-dash{0%{stroke-dashoffset:16}to{stroke-dashoffset:0}}@keyframes edge-pulse{0%{stroke-width:3;opacity:1}50%{stroke-width:6;opacity:.5}to{stroke-width:3;opacity:1}}.edge-label{fill:#64748b;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.edge-label-loop{fill:#a855f7}.edge-label-loop,.edge-label-true{font-family:Inter,sans-serif;font-size:12px;font-weight:700}.edge-label-true{fill:#10b981}.edge-label-false{fill:#ef4444;font-family:Inter,sans-serif;font-size:12px;font-weight:700}.dark-mode .edge-label{fill:#94a3b8}.dark-mode .edge-label-loop{fill:#c084fc}.dark-mode .edge-label-true{fill:#34d399}.dark-mode .edge-label-false{fill:#f87171}.react-flow__handle{background:linear-gradient(135deg,#38bdf8,#0ea5e9);border:2px solid #fff;box-shadow:0 2px 6px #0003;height:12px;width:12px}.react-flow__handle:hover{box-shadow:0 0 10px #38bdf880;transform:scale(1.3)}.dark-mode .react-flow__handle{background:linear-gradient(135deg,#38bdf8,#0ea5e9);border-color:#1e293b}.react-flow__edge-path.react-flow__edge-path-smoothstep{stroke-linejoin:round}.react-flow__edge-path.react-flow__edge-path-bezier{stroke-linecap:round}.palette-overlay{animation:overlay-slide-in .3s ease-out;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(180deg,#fffffff2,#f8fafcf2);border:1px solid #0ea5e933;border-radius:20px;box-shadow:0 20px 40px #0003,0 0 0 1px #0000000d;max-height:70vh;overflow-y:auto;padding:16px;position:absolute;z-index:1000}@keyframes overlay-slide-in{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.close-button{align-items:center;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:none;border-radius:10px;color:#64748b;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;margin:0 auto 12px;transition:all .2s ease;width:36px}.close-button:hover{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;transform:scale(1.05)}.palette-overlay .aside-container{background:#0000;border:none;box-shadow:none;max-width:280px!important;width:280px!important}.palette-overlay .aside-container.collapsed{max-width:80px!important;width:80px!important}.dark-mode .palette-overlay{background:linear-gradient(180deg,#1e293bf2,#0f172af2);border-color:#38bdf833;box-shadow:0 20px 40px #00000080,0 0 0 1px #ffffff0d}.dark-mode .palette-overlay .close-button{background:linear-gradient(135deg,#334155,#1e293b);color:#94a3b8}.dark-mode .palette-overlay .close-button:hover{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.dark-mode .palette-overlay .aside-container{background-color:initial;border:none}.dark-mode .palette-overlay .aside-container .collapse-button{background:linear-gradient(135deg,#334155,#1e293b);border-color:#475569;color:#e2e8f0}.dark-mode .palette-overlay .dndblock{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:#334155}.dark-mode .palette-overlay .dndblock span{color:#e2e8f0}.palette-overlay-header{align-items:center;border-bottom:1px solid #00000014;cursor:move;display:flex;justify-content:space-between;margin-bottom:8px;padding:8px}.dark-mode .palette-overlay-header{border-color:#ffffff14}@media (max-width:640px){.palette-overlay{border-radius:16px;left:5%!important;max-width:320px!important;padding:12px;right:5%!important;width:90%!important}.palette-overlay .aside-container{max-width:100%!important;width:100%!important}}.input-modal-body{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.input-modal-prompt{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0;padding-bottom:1rem;text-align:center}.dark-mode .input-modal-prompt{color:#f1f5f9}.input-modal-input{background:#fff;border:2px solid #e2e8f0;border-radius:12px;color:#1e293b;font-size:1rem;max-width:320px;padding:14px 20px;text-align:center;transition:all .2s ease;width:100%}.input-modal-input:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e933;outline:none}.input-modal-input::placeholder{color:#94a3b8}.dark-mode .input-modal-input{background:#1e293b;border-color:#334155;color:#f1f5f9}.dark-mode .input-modal-input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf833}.input-modal-footer{align-items:center;display:flex;gap:16px;justify-content:center;padding:1rem}.input-modal-footer .submit-btn{align-items:center;background:linear-gradient(135deg,#0ea5e9,#0284c7);border:none;border-radius:12px;box-shadow:0 4px 12px #0ea5e94d;color:#fff;cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;font-weight:600;justify-content:center;margin-top:1rem;padding:14px 28px;transition:all .2s ease}.input-modal-footer .submit-btn:hover{background:linear-gradient(135deg,#0284c7,#0369a1);box-shadow:0 6px 20px #0ea5e966;transform:translateY(-2px)}.input-modal-footer .submit-btn:active{transform:translateY(0)}.input-modal-footer .cancel-btn{align-items:center;background:#0000;border:2px solid #e2e8f0;border-radius:12px;color:#64748b;cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;font-weight:600;justify-content:center;margin-top:1rem;padding:14px 28px;transition:all .2s ease}.input-modal-footer .cancel-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.dark-mode .input-modal-footer .cancel-btn{border-color:#334155;color:#94a3b8}.dark-mode .input-modal-footer .cancel-btn:hover{background:#334155;border-color:#475569;color:#e2e8f0}@media (max-width:640px){.input-modal-prompt{font-size:1.125rem}.input-modal-input{font-size:.9375rem;padding:12px 16px}.input-modal-footer .cancel-btn,.input-modal-footer .submit-btn{font-size:.9375rem;padding:12px 20px}}.help-modal-overlay{align-items:center;animation:fade-in .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ab3;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1200}.flowchart-container .react-flow__renderer{background:radial-gradient(circle at 20% 15%,#0ea5e914 0,#0000 35%),radial-gradient(circle at 80% 80%,#8b5cf612 0,#0000 35%)}.dark-mode .flowchart-container .react-flow__renderer{background:radial-gradient(circle at 20% 15%,#38bdf814 0,#0000 35%),radial-gradient(circle at 80% 80%,#a78bfa17 0,#0000 35%)}.flowchart-container .react-flow__controls{background:#ffffffeb;border:1px solid #94a3b859;border-radius:14px;box-shadow:0 10px 24px #0f172a26;overflow:hidden}.flowchart-container .react-flow__controls-button{background:#0000;border:none;color:#334155}.flowchart-container .react-flow__controls-button:hover{background:#0ea5e924}.dark-mode .flowchart-container .react-flow__controls{background:#0f172ae6;border-color:#334155cc;box-shadow:0 10px 24px #02061773}.dark-mode .flowchart-container .react-flow__controls-button{color:#f1f5f9}.dark-mode .flowchart-container .react-flow__controls-button svg{fill:currentColor}.dark-mode .flowchart-container .react-flow__controls-button:hover{background:#38bdf829}.dark-mode .flowchart-container .react-flow__controls-button:disabled{color:#475569}.flowchart-container .react-flow__minimap{border:1px solid #94a3b866;border-radius:14px;box-shadow:0 10px 24px #0f172a33;overflow:hidden}.proximity-temp-edge path{stroke-dasharray:6 6;stroke-width:2.5;animation:proximity-dash .5s linear infinite}.proximity-edge path{stroke:#0ea5e9;stroke-width:2.5}.dark-mode .proximity-edge path{stroke:#38bdf8}@keyframes proximity-dash{to{stroke-dashoffset:-12}}.help-modal-content{animation:modal-slide-in .3s ease-out;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #0ea5e933;border-radius:24px;box-shadow:0 25px 50px -12px #00000059,0 0 0 1px #0ea5e91a;max-width:440px;padding:2rem;text-align:center;width:90%}.help-modal-content h3{color:#1e293b;font-size:1.5rem;font-weight:700;margin-bottom:1rem;margin-top:0}.help-modal-content p{color:#64748b;font-size:1rem;line-height:1.7;margin:1rem 0}.help-modal-close{background:linear-gradient(135deg,#0ea5e9,#0284c7);border:none;border-radius:12px;box-shadow:0 4px 12px #0ea5e94d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 28px;transition:all .2s ease}.help-modal-close:hover{box-shadow:0 6px 20px #0ea5e966;transform:translateY(-2px)}.help-modal-close:active{transform:translateY(0)}.canvas-container{background:radial-gradient(circle at 50% 50%,#0ea5e908 0,#0000 50%),linear-gradient(90deg,#00000005 1px,#0000 0),linear-gradient(#00000005 1px,#0000 0);background-size:100% 100%,24px 24px,24px 24px;height:100%;position:relative;width:100%}.dark-mode .canvas-container{background:radial-gradient(circle at 50% 50%,#0ea5e90d 0,#0000 50%),linear-gradient(90deg,#ffffff05 1px,#0000 0),linear-gradient(#ffffff05 1px,#0000 0);background-size:100% 100%,24px 24px,24px 24px}.canvas-toolbar{align-items:center;background:#ffffffeb;border-bottom:1px solid #94a3b866;box-shadow:0 6px 18px #0f172a14;display:flex;gap:12px;justify-content:space-between;left:0;padding:10px 16px;pointer-events:none;position:-webkit-sticky;position:sticky;right:0;top:0;z-index:20}.canvas-toolbar>*{pointer-events:auto}.toolbar-btn,.toolbar-group{display:flex;gap:8px}.toolbar-btn{align-items:center;background:linear-gradient(180deg,#fff,#f8fafc);border:none;border-radius:12px;box-shadow:0 2px 8px #00000014,0 0 0 1px #0000000d;color:#64748b;cursor:pointer;height:40px;justify-content:center;min-width:40px;padding:0 12px;position:relative;transition:all .2s ease;width:auto}.toolbar-btn:hover{box-shadow:0 4px 12px #0000001f,0 0 0 1px #0ea5e933;color:#0ea5e9;transform:translateY(-2px)}.toolbar-btn.primary{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 6px 16px #10b98159;color:#fff}.toolbar-btn.primary:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 8px 20px #10b98173;color:#fff}.toolbar-btn.danger{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 6px 16px #ef444459;color:#fff}.toolbar-btn.danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 8px 20px #ef444473;color:#fff}.toolbar-label{font-size:.78rem;font-weight:700;letter-spacing:.01em}.toolbar-btn:after{background:#0f172aeb;border-radius:8px;bottom:-34px;color:#e2e8f0;content:attr(data-tooltip);font-size:.7rem;font-weight:700;left:50%;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;transform:translateX(-50%);transform-origin:top center;transition:opacity .15s ease,transform .15s ease;white-space:nowrap}.toolbar-btn:hover:after{opacity:1;transform:translateX(-50%) translateY(2px)}.dark-mode .toolbar-btn:after{background:#020617f2;color:#e2e8f0}.toolbar-btn:active{transform:translateY(0)}.toolbar-btn.active{background:linear-gradient(135deg,#0ea5e9,#0284c7);box-shadow:0 4px 12px #0ea5e966;color:#fff}.dark-mode .toolbar-btn{background:linear-gradient(180deg,#334155,#1e293b);box-shadow:0 2px 8px #0000004d,0 0 0 1px #ffffff0d;color:#94a3b8}.dark-mode .toolbar-btn.primary{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 6px 16px #10b98159;color:#fff}.dark-mode .toolbar-btn.primary:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 8px 20px #10b98173;color:#fff}.dark-mode .toolbar-btn.danger{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 6px 16px #ef444459;color:#fff}.dark-mode .toolbar-btn.danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 8px 20px #ef444473;color:#fff}.dark-mode .canvas-toolbar{background:#0f172aeb;border-bottom-color:#334155b3;box-shadow:0 6px 18px #02061766}.dark-mode .toolbar-btn:hover{box-shadow:0 4px 12px #0006,0 0 0 1px #38bdf833;color:#38bdf8}.zoom-controls{background:linear-gradient(180deg,#fff,#f8fafc);border-radius:16px;bottom:24px;box-shadow:0 4px 16px #0000001a,0 0 0 1px #0000000d;display:flex;flex-direction:column;gap:4px;left:24px;padding:8px;position:absolute;z-index:10}.dark-mode .zoom-controls{background:linear-gradient(180deg,#334155,#1e293b);box-shadow:0 4px 16px #0006,0 0 0 1px #ffffff0d}.zoom-btn{align-items:center;background:#0000;border:none;border-radius:10px;color:#64748b;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .15s ease;width:36px}.zoom-btn:hover{background:#0ea5e91a;color:#0ea5e9}.zoom-btn:active{transform:scale(.95)}.zoom-level{border-bottom:1px solid #0000000d;border-top:1px solid #0000000d;color:#94a3b8;font-size:.75rem;font-weight:600;margin:4px 0;padding:4px 0;text-align:center}.dark-mode .zoom-level{border-color:#ffffff0d;color:#64748b}.minimap-container{border:2px solid #ffffff1a;border-radius:16px;bottom:24px;box-shadow:0 4px 16px #00000026;overflow:hidden;position:absolute;right:24px;z-index:10}.selection-box{background:#0ea5e91a;border:2px dashed #0ea5e980;border-radius:8px;pointer-events:none;position:absolute;z-index:100}.node-context-menu{background:#fffffff5;border:1px solid #94a3b873;border-radius:10px;box-shadow:0 10px 24px #0f172a33;display:flex;flex-direction:column;gap:4px;min-width:160px;padding:6px;position:fixed;z-index:1300}.node-context-menu button{background:#0000;border:none;border-radius:8px;color:#334155;cursor:pointer;font-size:.875rem;font-weight:600;padding:8px 10px;text-align:left}.node-context-menu button:hover:not(:disabled){background:#0ea5e91f}.node-context-menu button:disabled{cursor:not-allowed;opacity:.55}.node-context-menu button.danger{color:#dc2626}.node-context-menu button.danger:hover{background:#ef44441f}.dark-mode .node-context-menu{background:#0f172af7;border-color:#475569e6;box-shadow:0 10px 24px #02061773}.dark-mode .node-context-menu button{color:#e2e8f0}.dark-mode .node-context-menu button:hover:not(:disabled){background:#38bdf829}.dark-mode .node-context-menu button.danger{color:#f87171}.dark-mode .node-context-menu button.danger:hover{background:#f8717129}.canvas-edge{stroke:#94a3b8;stroke-width:2;transition:stroke .2s ease,stroke-width .2s ease}.canvas-edge:hover{stroke:#0ea5e9;stroke-width:3}.canvas-edge.selected{stroke:#8b5cf6;stroke-width:3}.dark-mode .canvas-edge{stroke:#64748b}.dark-mode .canvas-edge:hover{stroke:#38bdf8}.dark-mode .canvas-edge.selected{stroke:#a78bfa}.handle{background:linear-gradient(135deg,#fff,#e2e8f0);border:2px solid #94a3b8;border-radius:50%;box-shadow:0 2px 4px #0000001a;height:12px;transition:all .15s ease;width:12px}.handle:hover{border-color:#0ea5e9;box-shadow:0 0 8px #0ea5e966;transform:scale(1.3)}.handle.connecting{animation:pulse 1s infinite;background:linear-gradient(135deg,#0ea5e9,#0284c7);border-color:#0ea5e9}.dark-mode .handle{background:linear-gradient(135deg,#475569,#334155);border-color:#64748b}.dark-mode .handle:hover{border-color:#38bdf8}.dragging-overlay{align-items:center;background:#0ea5e90d;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:1000}.dragging-indicator{align-items:center;animation:float 2s ease-in-out infinite;background:linear-gradient(180deg,#fff,#f8fafc);border-radius:16px;box-shadow:0 8px 32px #00000026;display:flex;gap:12px;padding:16px 24px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.dragging-indicator-text{color:#1e293b;font-size:1rem;font-weight:600}.dark-mode .dragging-overlay{background:#0ea5e91a}.dark-mode .dragging-indicator{background:linear-gradient(180deg,#334155,#1e293b)}.dark-mode .dragging-indicator-text{color:#f1f5f9}.empty-canvas{left:50%;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:1}.empty-canvas-icon{color:#cbd5e1;height:80px;margin:0 auto 24px;opacity:.6;width:80px}.empty-canvas-title{color:#64748b;font-size:1.5rem;font-weight:700;margin-bottom:8px}.empty-canvas-description{color:#94a3b8;font-size:1rem;line-height:1.6;max-width:320px}.dark-mode .empty-canvas-icon{color:#475569}.dark-mode .empty-canvas-title{color:#94a3b8}.dark-mode .empty-canvas-description{color:#64748b}.executing-node{animation:node-highlight .6s ease-out}@keyframes node-highlight{0%{box-shadow:0 0 0 0 #0ea5e980;transform:scale(1)}50%{box-shadow:0 0 20px 5px #0ea5e966;transform:scale(1.02)}to{box-shadow:0 0 0 0 #0ea5e900;transform:scale(1)}}.context-menu{animation:context-menu-fade-in .15s ease-out;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 24px #00000026;min-width:180px;padding:8px;position:absolute;z-index:1100}@keyframes context-menu-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{align-items:center;border-radius:8px;color:#1e293b;cursor:pointer;display:flex;font-size:.9375rem;font-weight:500;gap:12px;padding:10px 14px;transition:all .15s ease}.context-menu-item:hover{background:#0ea5e91a;color:#0ea5e9}.context-menu-item.danger:hover{background:#ef44441a;color:#ef4444}.context-menu-divider{background:#e2e8f0;height:1px;margin:8px 0}.dark-mode .context-menu{background:linear-gradient(180deg,#334155,#1e293b);border-color:#475569}.dark-mode .context-menu-item{color:#f1f5f9}.dark-mode .context-menu-item:hover{background:#38bdf826;color:#38bdf8}.dark-mode .context-menu-divider{background:#475569}@media (max-width:768px){.canvas-toolbar{left:12px;right:12px;top:12px}.toolbar-btn{height:36px;padding:0 10px;width:36px}.toolbar-label{display:none}.zoom-controls{bottom:16px;left:16px}.minimap-container{bottom:16px;right:16px}.help-modal-content{border-radius:20px;padding:1.5rem}}.darkmode-btn-custom,.modal-backdrop,.modal-content,.navbar,.signin-dropdown,.user-dropdown{--brand-gradient:linear-gradient(135deg,#0ea5e9,#8b5cf6 50%,#ec4899);--brand-primary:#0ea5e9;--brand-secondary:#8b5cf6;--brand-accent:#ec4899;--navbar-bg:linear-gradient(180deg,#0f172afa,#1e293bfa);--navbar-surface:#33415599;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--hover-bg:#ffffff1a;--hover-border:#0ea5e980;--active-bg:#0ea5e933;--shadow-lg:0 10px 15px -3px #0000004d;--shadow-glow:0 0 20px #0ea5e94d;--navbar-height:70px;--navbar-padding:1.5rem;--font-primary:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-brand:"Outfit",sans-serif}.btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-size:.9375rem;font-weight:600;gap:.5rem;justify-content:center;line-height:1;outline:none;padding:.625rem 1.25rem;text-decoration:none;transition:all var(--transition-base);white-space:nowrap}.account-settings-title svg,.btn svg,.dropdown-item svg,.modal-btn svg,.navbar-menu-item svg,.signin-dropdown-item svg{display:inline-block;height:1.125em;vertical-align:middle;width:1.125em}.navbar{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--navbar-bg);box-shadow:var(--shadow-lg),0 0 0 1px #ffffff0d;min-height:var(--navbar-height);padding:0 var(--navbar-padding);position:relative;z-index:100}.navbar,.navbar-container{align-items:center;display:flex;justify-content:space-between}.navbar-container{margin:0 auto;max-width:1600px;width:100%}.navbar-brand{align-items:center;color:var(--text-primary);display:flex;gap:.75rem;text-decoration:none;transition:transform var(--transition-base)}.navbar-brand:hover{transform:scale(1.02)}.navbar-logo{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));height:42px;width:auto}.navbar-title{-webkit-text-fill-color:#0000;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;font-family:var(--font-brand);font-size:1.625rem;font-weight:700;letter-spacing:-.5px}.navbar-menu{left:50%;position:absolute;transform:translateX(-50%)}.navbar-menu-list{align-items:center;display:flex;gap:.5rem;list-style:none}.navbar-menu-item{align-items:center;background:#0000;border:1px solid #0000;border-radius:10px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:.9375rem;font-weight:500;gap:.5rem;justify-content:center;overflow:hidden;padding:.625rem 1rem;position:relative;transition:all var(--transition-base)}.navbar-menu-item:before{background:var(--brand-gradient);content:"";inset:0;opacity:0;position:absolute;transition:opacity var(--transition-base)}.navbar-menu-item:focus,.navbar-menu-item:hover{background:var(--hover-bg);border-color:var(--hover-border);box-shadow:0 4px 12px #0ea5e940;color:var(--text-primary);outline:none;transform:translateY(-2px)}.navbar-menu-item:focus:before,.navbar-menu-item:hover:before{opacity:.1}.navbar-menu-item.active{background:var(--active-bg);border-color:var(--brand-primary);color:var(--text-primary)}.navbar-auth{align-items:center;display:flex;gap:1rem}.user-avatar{background:var(--brand-gradient);border:2px solid #0000;border-radius:12px;cursor:pointer;height:42px;object-fit:cover;padding:2px;transition:all var(--transition-base);width:42px}.user-avatar:focus,.user-avatar:hover{border-color:var(--brand-primary);box-shadow:var(--shadow-glow);outline:none;transform:translateY(-3px) scale(1.05)}.signin-btn{background:var(--brand-gradient);border:1px solid #0000;color:#fff}.signin-btn:focus,.signin-btn:hover{box-shadow:var(--shadow-glow);color:#fff;outline:none;transform:translateY(-2px)}.signin-btn svg{color:#fff}.signin-dropdown,.user-dropdown{animation:dropdownFadeIn .2s ease-out;background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid #ffffff1a;border-radius:16px;box-shadow:var(--shadow-lg),0 0 40px #0ea5e926;min-width:220px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item,.signin-dropdown-item{align-items:center;background:#0000;border:none;color:#e2e8f0;cursor:pointer;display:flex;font-size:.9375rem;font-weight:500;gap:.75rem;padding:.875rem 1.25rem;text-align:left;transition:all var(--transition-fast);width:100%}.dropdown-item:focus,.dropdown-item:hover,.signin-dropdown-item:focus,.signin-dropdown-item:hover{background:linear-gradient(90deg,#0ea5e933,#0000);color:var(--brand-primary);outline:none;transform:translateX(4px)}.dropdown-header{border-bottom:1px solid #ffffff1a;color:var(--text-muted);font-size:.875rem;padding:1rem 1.25rem}.modal-backdrop{align-items:center;animation:backdropFadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:1100}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:modal-slide-in .3s ease-out;background:linear-gradient(180deg,#1e293b,#0f172a);border-radius:24px;box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff1a;color:#f8fafc;max-width:480px;padding:2rem;text-align:center;width:90%}@keyframes modal-slide-in{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-title{color:#f8fafc;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.modal-subtitle{color:#e2e8f0;font-size:1rem;font-weight:700;letter-spacing:.4px;margin:.75rem 0 1rem}.modal-section{display:flex;justify-content:center;margin-bottom:1rem}.modal-input{background:#ffffff0d;border:1px solid #ffffff26;border-radius:12px;box-sizing:border-box;color:#fff;display:block;font-size:1rem;margin:0 auto 1rem;max-width:360px;padding:14px 18px;text-align:center;transition:all var(--transition-base);width:100%}.modal-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #0ea5e933,var(--shadow-glow);outline:none}.modal-input::placeholder{color:#cbd5e1}.modal-btn{border:none;border-radius:12px;box-shadow:var(--shadow-lg);cursor:pointer;font-size:1rem;font-weight:600;margin:.5rem;padding:14px 28px;text-transform:none;transition:all var(--transition-base);vertical-align:middle}.modal-button-group.save-button-group{align-items:stretch;flex-direction:column;gap:.85rem;justify-content:flex-start}.modal-button-group.save-button-group .modal-btn{max-width:360px}.modal-button-group.signin-button-group{align-items:stretch;flex-direction:column;gap:.85rem;justify-content:flex-start}.modal-button-group.signin-button-group .modal-btn{max-width:360px;width:100%}.file-btn,.import-btn,.load-example-btn{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff}.account-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.image-btn{background:linear-gradient(135deg,#ec4899,#db2777);color:#fff}.cancel-btn{background:linear-gradient(135deg,#475569,#334155);border:1px solid #fff3;color:#f8fafc}.account-btn:hover,.cancel-btn:hover,.file-btn:hover,.image-btn:hover,.import-btn:hover,.load-example-btn:hover{filter:brightness(1.08);transform:translateY(-2px)}.signin-btn-custom{background:var(--brand-gradient);color:#fff}.signin-btn-custom:focus,.signin-btn-custom:hover{box-shadow:var(--shadow-glow);transform:translateY(-3px) scale(1.02)}.forgot-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.forgot-btn:focus,.forgot-btn:hover{box-shadow:0 0 20px #f59e0b66;transform:translateY(-3px)}.newuser-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.newuser-btn:focus,.newuser-btn:hover{box-shadow:0 0 20px #8b5cf666;transform:translateY(-3px)}.delete-btn{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 28px;transition:all var(--transition-base)}.delete-btn:focus,.delete-btn:hover{box-shadow:0 0 20px #ef444466;outline:none;transform:translateY(-3px)}.project-list{list-style:none;margin:0;max-height:320px;overflow-y:auto;padding:0}.project-list-item{align-items:center;border-bottom:1px solid #ffffff14;display:flex;justify-content:space-between;padding:1rem 1.25rem;transition:background var(--transition-fast)}.project-list-item:hover{background:#ffffff0d}.project-actions{display:flex;gap:.5rem}.project-load-btn{background:linear-gradient(135deg,#0ea5e9,#0284c7);border-radius:8px;color:#fff;font-size:.875rem;font-weight:600;padding:8px 16px;transition:all var(--transition-base)}.project-load-btn:focus,.project-load-btn:hover{box-shadow:0 0 15px #0ea5e966;transform:translateY(-2px)}.project-delete-btn{background:linear-gradient(135deg,#64748b,#475569);border-radius:8px;color:#fff;font-size:.875rem;font-weight:600;padding:8px 16px;transition:all var(--transition-base)}.project-delete-btn:focus,.project-delete-btn:hover{background:linear-gradient(135deg,#ef4444,#dc2626);transform:translateY(-2px)}.no-projects{color:#cbd5e1;padding:2rem;text-align:center}.project-list-item>span{color:#e2e8f0;font-weight:600}.example-list{list-style:none;margin:0 auto;max-width:560px;padding:0;text-align:center}.example-list-item{border-bottom:1px solid #ffffff14;border-radius:12px;margin:1.25rem auto;padding:1.25rem;transition:all var(--transition-base)}.example-list-item:hover{background:#ffffff0d;transform:translateX(4px)}.example-list-item h4{color:#f8fafc;margin-bottom:.5rem}.example-list-item p{color:#cbd5e1;font-size:.9375rem;margin-bottom:.75rem}.hint-modal .modal-content{max-width:560px}.hint-list{list-style:none;padding:0;text-align:left}.hint-list li{color:#e2e8f0;margin-bottom:1rem;padding-left:1.5rem;position:relative}.hint-list li:before{color:var(--brand-primary);content:"→";left:0;position:absolute}.settings-section{align-items:center;background:#ffffff08;border-radius:12px;display:flex;flex-direction:column;margin-bottom:1.5rem;padding:1rem}.delete-account-title,.theme-title{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin-bottom:1rem;margin-top:1rem}.user-menu-container{position:relative}.user-menu-button{align-items:center;background:var(--brand-gradient);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;transition:all var(--transition-base);width:44px}.user-menu-button:focus,.user-menu-button:hover{box-shadow:var(--shadow-glow);transform:translateY(-3px)}@media (max-width:768px){.navbar{min-height:60px;padding:0 1rem}.navbar-title{font-size:1.25rem}.navbar-logo{height:32px}.navbar-menu{align-items:flex-start;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--navbar-bg);flex-direction:column;height:100%;left:0;padding:5rem 1.5rem 2rem;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease;width:280px;z-index:1200}.navbar-menu.open{transform:translateX(0)}.navbar-menu-list{flex-direction:column;gap:.5rem;width:100%}.navbar-menu-item{justify-content:flex-start;padding:1rem;width:100%}.navbar-auth{display:none}.modal-content{border-radius:20px;padding:1.5rem}.modal-btn{font-size:.9375rem;padding:12px 20px}}.modal-content,.navbar-menu,.user-dropdown{animation:fade-in .3s ease-out}.btn:hover{transform:translateY(-2px)}.dropdown-item:hover,.signin-dropdown-item:hover{transform:translateX(4px)}.animated-btn:hover{transform:scale(1.05)}.darkmode-btn-custom{background:linear-gradient(135deg,#334155,#1e293b);border:1px solid var(--brand-primary);color:var(--text-primary);transition:all var(--transition-base)}.darkmode-btn-custom svg{color:#fff}.theme-mode-label{color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.02em;margin-left:.4rem}.darkmode-btn-custom:focus,.darkmode-btn-custom:hover{border-color:var(--brand-accent);box-shadow:0 0 15px #ec48994d;transform:scale(1.05)}.darkmode-btn-custom:focus svg,.darkmode-btn-custom:hover svg{color:#fff}.character-container{display:inline-block}.character-container .character-image{height:81px;object-fit:contain;transition:transform var(--transition-base);width:100px}.character-container:hover .character-image{transform:scale(1.05)}.message-bubble{animation:bubble-slide-in .3s ease-out;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;bottom:calc(100% + 12px);box-shadow:0 8px 24px #0000001f,0 0 0 1px #0000000d;color:#1e293b;font-size:.9375rem;font-weight:500;left:50%;line-height:1.5;max-width:20rem;min-width:12rem;overflow-wrap:break-word;padding:12px 20px;position:absolute;text-align:center;transform:translateX(-50%) translateY(-.5rem);white-space:normal;z-index:10}@keyframes bubble-slide-in{0%{opacity:0;transform:translateX(-50%) translateY(8px) scale(.95)}to{opacity:1;transform:translateX(-50%) translateY(-.5rem) scale(1)}}.message-bubble:after{border-color:#fff #0000 #0000;border-style:solid;border-width:10px 10px 0;content:"";filter:drop-shadow(0 2px 2px rgba(0,0,0,.08));left:50%;position:absolute;top:100%;transform:translateX(-50%)}.dark-mode .message-bubble{background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid #ffffff1a;box-shadow:0 8px 24px #0006}.dark-mode .message-bubble:after{border-color:#1e293b #0000 #0000}@media (max-width:640px){.message-bubble{font-size:.875rem;max-width:16rem;min-width:10rem;padding:10px 16px}}.console-header{align-items:center;border-bottom:2px solid;border-image:linear-gradient(90deg,#0ea5e9,#8b5cf6) 1;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:10px}.console-header h3{align-items:center;color:#1e293b;display:flex;font-size:.875rem;font-weight:700;gap:8px;letter-spacing:.5px;margin:0;text-transform:uppercase}.console-header h3:before{color:#10b981;content:">";font-weight:800}.dark-mode .console-header h3{color:#f1f5f9}.console-toggle-button{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:10px;box-shadow:0 2px 8px #8b5cf64d;color:#fff;cursor:pointer;font-size:.8125rem;font-weight:600;padding:8px 16px;transition:all .2s ease}.console-toggle-button:hover{box-shadow:0 4px 12px #8b5cf666;transform:translateY(-2px)}.console-toggle-button:active{transform:translateY(0)}.code-preview{display:flex;flex-direction:column;overflow:hidden;padding:16px}.code-preview .console-pre,.console .console-pre{background:#0000;border:none;border-radius:0;color:#10b981;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.8125rem;height:150px;line-height:1.7;margin:0;opacity:1;overflow-y:auto;padding:0;transition:height .3s ease,opacity .3s ease,padding .3s ease}.code-preview.minimized .console-pre,.console.minimized .console-pre{height:0;opacity:0;padding:0}.error-line{background:#ef44441a;border-radius:4px;color:#ef4444;font-weight:600;padding:2px 6px}.dark-mode .error-line{background:#ef444433}.console{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:12px;box-shadow:inset 0 1px 4px #0f172a14;color:#0f172a;display:flex;flex-direction:column;max-height:200px;overflow-y:auto;padding:16px;position:relative}.console:before{color:#0f172a4d;content:"OUTPUT";font-size:.625rem;font-weight:700;letter-spacing:1px;position:absolute;right:12px;top:8px}.dark-mode .console{color:#e2e8f0}.dark-mode .code-preview,.dark-mode .console{background:linear-gradient(135deg,#0f172a,#1e293b);border:1px solid #ffffff1a;box-shadow:inset 0 2px 8px #0000004d}.dark-mode .code-preview:before,.dark-mode .console:before{color:#ffffff26}.console-line.success{color:#10b981}.code-preview::-webkit-scrollbar,.console::-webkit-scrollbar{width:6px}.code-preview::-webkit-scrollbar-track,.console::-webkit-scrollbar-track{background:#0000}.code-preview::-webkit-scrollbar-thumb,.console::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#475569,#334155);border-radius:3px}@media (max-width:640px){.console-header{margin-bottom:8px;padding-bottom:8px}.console-header h3{font-size:.75rem}.console-toggle-button{font-size:.75rem;padding:6px 12px}.code-preview .console-pre,.console .console-pre{font-size:.75rem;height:120px}.console{max-height:160px}}.right-panel{--panel-bg:linear-gradient(180deg,#fff,#f8fafc);--panel-surface:#fff;--panel-overlay:#fffc;--panel-border:#e2e8f0;--panel-border-hover:#cbd5e1;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--hover-bg:#f1f5f9;--active-bg:#e2e8f0;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--panel-width:340px;--panel-collapsed:60px}.dark-mode .right-panel{--panel-bg:linear-gradient(180deg,#1e293b,#0f172a);--panel-surface:#1e293b;--panel-overlay:#1e293bcc;--panel-border:#334155;--panel-border-hover:#475569;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--hover-bg:#334155;--active-bg:#475569;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000080}.right-panel{-webkit-overflow-scrolling:touch;background:var(--panel-bg);border-left:1px solid var(--panel-border);box-sizing:border-box;display:flex;flex-direction:column;gap:16px;height:100%;max-width:600px;min-width:80px;overflow-x:auto;padding:20px;position:relative;transition:width var(--transition-base),background var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base);width:var(--panel-width)}.right-panel.resizing{transition:none!important}.right-panel.collapsed{padding:20px 12px;width:var(--panel-collapsed)}.resizer-left{background:linear-gradient(90deg,#0ea5e91a,#0000);bottom:0;cursor:ew-resize;left:0;position:absolute;top:0;transition:background var(--transition-fast);width:6px;z-index:10}.resizer-left:active,.resizer-left:hover{background:linear-gradient(90deg,#0ea5e966,#0000)}.collapse-button{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow-sm);color:var(--text-secondary);cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.9375rem;font-weight:600;line-height:1;margin-bottom:16px;padding:10px;text-align:center;transition:all var(--transition-base);width:100%}.dark-mode .collapse-button{background:linear-gradient(135deg,#334155,#1e293b);border-color:#475569}.right-panel.collapsed .collapse-button{transform:rotate(180deg)}.right-panel .collapse-button:hover{background:linear-gradient(135deg,#0ea5e9,#0284c7);border-color:#0284c7;box-shadow:0 4px 12px #0ea5e94d;color:#fff;transform:scale(1.05)}.right-panel.collapsed .collapse-button:hover{transform:rotate(180deg) scale(1.1)}.panel-section{animation:slide-in-right .3s ease-out forwards;background:var(--panel-surface);border:1px solid var(--panel-border);border-radius:16px;box-shadow:var(--shadow-sm);padding:20px;transition:all var(--transition-base)}.panel-section:hover{border-color:var(--panel-border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.panel-section-header{align-items:center;border-bottom:1px solid var(--panel-border);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.panel-section-title{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;font-weight:700;gap:8px;letter-spacing:.5px;text-transform:uppercase}.panel-section-title:before{background:linear-gradient(180deg,#0ea5e9,#8b5cf6);border-radius:2px;content:"";height:16px;width:4px}.character-area{border-radius:16px;flex-direction:column;padding:24px}.character-display-container{background:var(--panel-surface);border:1px solid var(--panel-border);border-radius:20px;box-shadow:var(--shadow-md);padding:24px 32px;text-align:center;transition:all var(--transition-slow)}.character-display-container:hover{border-color:#0ea5e94d;box-shadow:var(--shadow-lg),0 0 30px #0ea5e926;transform:translateY(-4px)}.character-position{color:var(--text-muted);font-family:JetBrains Mono,Fira Code,monospace;font-size:.875rem;margin-top:8px}.character-position span{color:#0ea5e9;font-weight:600}.console-output{background:linear-gradient(135deg,#0f172a,#1e293b);border:1px solid #ffffff1a;border-radius:12px;box-shadow:inset 0 2px 8px #0000004d;color:#10b981;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8125rem;line-height:1.7;max-height:160px;overflow-x:auto;overflow-y:auto;padding:16px 20px;position:relative}.console-output:before{color:#fff3;content:"TERMINAL";font-size:.625rem;font-weight:700;letter-spacing:1px;position:absolute;right:12px;top:8px}.console-line{display:block;margin-bottom:4px}.console-line.error{color:#ef4444}.console-line.warning{color:#f59e0b}.console-line.info{color:#3b82f6}.code-preview{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:12px;box-shadow:inset 0 1px 4px #0f172a14;color:#0f172a;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8125rem;line-height:1.7;max-height:180px;overflow-x:auto;overflow-y:auto;padding:16px 20px;position:relative}.code-preview:before{color:#0f172a4d;content:"CODE";font-size:.625rem;font-weight:700;letter-spacing:1px;position:absolute;right:12px;top:8px}.code-line{display:block}.code-keyword{color:#c084fc;font-weight:600}.code-string{color:#34d399}.code-number{color:#fbbf24}.code-comment{color:#64748b;font-style:italic}.blocks-list{list-style:none;margin:0;padding:0}.blocks-list-item{align-items:center;background:var(--hover-bg);border-radius:10px;cursor:pointer;display:flex;gap:12px;margin-bottom:8px;padding:12px 16px;transition:all var(--transition-base)}.blocks-list-item:hover{background:linear-gradient(135deg,#0ea5e91a,#8b5cf61a);transform:translateX(4px)}.block-type-indicator{border-radius:50%;flex-shrink:0;height:8px;width:8px}.block-type-indicator.start{background:#10b981}.block-type-indicator.end{background:#ef4444}.block-type-indicator.if{background:#8b5cf6}.block-type-indicator.while{background:#f59e0b}.block-type-indicator.input{background:#3b82f6}.block-type-indicator.output{background:#ec4899}.block-type-indicator.move{background:#14b8a6}.block-type-indicator.rotate{background:#f97316}.block-type-indicator.variable{background:#6366f1}.block-info{flex:1 1;min-width:0}.block-label{color:var(--text-primary);font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-details{color:var(--text-muted);font-size:.75rem;margin-top:2px}.right-panel::-webkit-scrollbar{width:6px}.right-panel::-webkit-scrollbar-track{background:#0000}.right-panel::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#cbd5e1,#94a3b8);border-radius:3px}.right-panel::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#94a3b8,#64748b)}.dark-mode.right-panel::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#475569,#334155)}.dark-mode.right-panel::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#64748b,#475569)}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.empty-state-icon{color:var(--text-muted);height:64px;margin-bottom:16px;opacity:.5;width:64px}.empty-state-title{color:var(--text-secondary);font-size:1rem;font-weight:600;margin-bottom:8px}.empty-state-description{color:var(--text-muted);font-size:.875rem}@keyframes slide-in-right{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.panel-section:nth-child(2){animation-delay:.1s}.panel-section:nth-child(3){animation-delay:.2s}.panel-section:nth-child(4){animation-delay:.3s}@media (max-width:1200px){.right-panel{min-width:60px;width:300px}}@media (max-width:768px){.right-panel{border-left:none;border-top:1px solid var(--panel-border);height:auto;max-height:50vh;max-width:none;width:100%}.panel-section{padding:16px}}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74d3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-container-width:fit-content;--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-padding:14px;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-toast-shadow:0px 4px 12px #0000001a;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:0.2}.Toastify__toast-container{box-sizing:border-box;color:#fff;display:flex;flex-direction:column;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:-webkit-fit-content;width:fit-content;width:var(--toastify-container-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--top-center{align-items:center;left:50%;top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top);transform:translateX(-50%)}.Toastify__toast-container--top-right{align-items:end;right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--bottom-left{bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{align-items:center;bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{align-items:end;bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right)}.Toastify__toast{--y:0;align-items:center;border-radius:6px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px #0000001a;box-shadow:var(--toastify-toast-shadow);box-sizing:border-box;display:flex;flex:1 1 auto;font-family:sans-serif;font-family:var(--toastify-font-family);margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);padding:14px;padding:var(--toastify-toast-padding);position:relative;touch-action:none;width:320px;width:var(--toastify-toast-width);word-break:break-word;z-index:0}@media only screen and (max-width:480px){.Toastify__toast-container{left:env(safe-area-inset-left);margin:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:env(safe-area-inset-right)}.Toastify__toast{--toastify-toast-width:100%;border-radius:0;margin-bottom:0}}.Toastify__toast-container[data-stacked=true]{width:320px;width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s;width:100%}.Toastify__toast--stacked[data-collapsed] .Toastify__close-button,.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{bottom:100%;content:"";height:calc(var(--g)*1px);left:0;position:absolute;right:0}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{bottom:0;content:"";height:100%;left:0;position:absolute;right:0;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{-webkit-margin-end:10px;display:flex;flex-shrink:0;margin-inline-end:10px;width:22px}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74d3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74d3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;position:absolute;right:6px;top:6px;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:auto}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:100%;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:1}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{border-bottom-left-radius:0;left:auto;right:0;transform-origin:right}.Toastify__progress-bar--wrp{border-bottom-left-radius:6px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:6px;border-bottom-right-radius:var(--toastify-toast-bd-radius);bottom:0;height:5px;left:0;overflow:hidden;position:absolute;width:100%}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{height:100%;opacity:.2;opacity:var(--toastify-color-progress-bgo);width:100%}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{opacity:1;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg)}to{opacity:0;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(-110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-duration:.3s;animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-duration:.3s;animation-name:Toastify__slideOutRight;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-duration:.3s;animation-name:Toastify__slideOutUp;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-duration:.3s;animation-name:Toastify__slideOutDown;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--primary-50:#f0f9ff;--primary-100:#e0f2fe;--primary-200:#bae6fd;--primary-300:#7dd3fc;--primary-400:#38bdf8;--primary-500:#0ea5e9;--primary-600:#0284c7;--primary-700:#0369a1;--primary-800:#075985;--primary-900:#0c4a6e;--accent-500:#8b5cf6;--accent-600:#7c3aed;--accent-pink:#ec4899;--success-500:#10b981;--success-600:#059669;--warning-500:#f59e0b;--warning-600:#d97706;--error-500:#ef4444;--error-600:#dc2626;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--surface-elevated:#fff;--surface-overlay:#fffc;--text-secondary:#475569;--shadow-glow-primary:0 0 20px #0ea5e94d;--shadow-glow-accent:0 0 20px #8b5cf64d;--radius-sm:0.375rem;--transition-bounce:500ms cubic-bezier(0.34,1.56,0.64,1);--navbar-height:70px;--sidebar-width:320px;--right-panel-width:320px}*,:after,:before{margin:0;padding:0}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f8fafc,#e2e8f0);background:linear-gradient(135deg,var(--bg-primary) 0,#e2e8f0 100%);color:#1e293b;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;line-height:1.6;overflow:hidden}.App{background:linear-gradient(180deg,#f8fafc,#f9fafb);background:linear-gradient(180deg,var(--bg-primary) 0,var(--gray-50) 100%);display:flex;flex-direction:column;height:100vh;width:100%}.app-container{display:flex;flex:1 1;gap:0;overflow:hidden;padding:0;position:relative}.BlockPalette{flex-shrink:0}.BlockPalette>*{overflow-x:hidden;overflow-y:auto}.flowchart-container{display:flex;flex:1 1;flex-direction:column;height:100%;position:relative}.reactflow-wrapper{background:#fff;background:var(--surface-elevated);border-radius:1rem;border-radius:var(--radius-xl);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a,inset 0 0 0 1px #0000000d;box-shadow:var(--shadow-lg),inset 0 0 0 1px #0000000d;flex:1 1;margin:16px 16px 16px 0;overflow:hidden}.flowchart-wrapper,.reactflow-wrapper{height:100%;position:relative;width:100%}.flowchart-wrapper{background:radial-gradient(circle at 50% 50%,#0ea5e908 0,#0000 50%),linear-gradient(90deg,#00000005 1px,#0000 0),linear-gradient(#00000005 1px,#0000 0);background-size:100% 100%,20px 20px,20px 20px}.right-panel>*{color:#475569;color:var(--text-secondary);overflow-y:auto}.character-area{align-items:center;background:linear-gradient(135deg,#0ea5e90d,#8b5cf60d);border-radius:.75rem;border-radius:var(--radius-lg);display:flex;flex:1 1;justify-content:center;padding:16px;position:relative}.CharacterDisplay{background:#fff;background:var(--surface-elevated);border:1px solid #0ea5e933;border-radius:1rem;border-radius:var(--radius-xl);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a,0 0 20px #0ea5e94d;box-shadow:var(--shadow-lg),var(--shadow-glow-primary);padding:20px 24px;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-slow)}.CharacterDisplay:hover{box-shadow:var(--shadow-xl),0 0 20px #0ea5e94d;box-shadow:var(--shadow-xl),var(--shadow-glow-primary);transform:translateY(-4px)}.delete-button,.reset-button,.run-button{align-items:center;border:none;border-radius:.75rem;border-radius:var(--radius-lg);color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;overflow:hidden;padding:10px 20px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.run-button{background:linear-gradient(135deg,#10b981,#059669);box-shadow:var(--shadow-md),0 0 0 0 #10b98166}.run-button:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a,0 0 20px #10b98166;box-shadow:var(--shadow-lg),0 0 20px #10b98166;transform:translateY(-2px)}.run-button:active{transform:translateY(0)}.reset-button{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:var(--shadow-md),0 0 0 0 #f59e0b66}.reset-button:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a,0 0 20px #f59e0b66;box-shadow:var(--shadow-lg),0 0 20px #f59e0b66;transform:translateY(-2px)}.delete-button{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:var(--shadow-md),0 0 0 0 #ef444466}.delete-button:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a,0 0 20px #ef444466;box-shadow:var(--shadow-lg),0 0 20px #ef444466;transform:translateY(-2px)}.character-container{position:relative}.panel{background:#fff;background:var(--surface-elevated);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:.75rem;border-radius:var(--radius-lg);box-sizing:border-box;overflow:auto;padding:16px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.panel:hover{border-color:#7dd3fc;border-color:var(--primary-300);box-shadow:var(--shadow-md)}.CodePreview{background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid #ffffff1a;border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 10px 15px -3px #0000001a,inset 0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg) inset;color:#e2e8f0;font-family:Fira Code,JetBrains Mono,Courier New,monospace;font-size:13px;line-height:1.7;max-height:180px;overflow-x:auto;padding:16px 20px;position:relative}.CodePreview:before{content:"";display:flex;gap:6px;left:12px;position:absolute;top:8px}.CodePreview .line-number{color:#6b7280;color:var(--gray-500);display:inline-block;margin-right:16px;min-width:24px;-webkit-user-select:none;user-select:none}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f3f4f6;background:var(--gray-100);border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#d1d5db,#9ca3af);background:linear-gradient(180deg,var(--gray-300) 0,var(--gray-400) 100%);-webkit-transition:background .2s cubic-bezier(.4,0,.2,1);transition:background .2s cubic-bezier(.4,0,.2,1);-webkit-transition:background var(--transition-base);transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#9ca3af,#6b7280);background:linear-gradient(180deg,var(--gray-400) 0,var(--gray-500) 100%)}@media (max-width:1024px){.app-container{flex-direction:column;overflow:auto}.BlockPalette,.right-panel{max-width:none;width:100%}.reactflow-wrapper{height:400px;margin:8px}:root{--navbar-height:60px}}@media (max-width:640px){.delete-button,.reset-button,.run-button{font-size:12px;padding:8px 14px}.CodePreview{font-size:12px;padding:12px}}.dark-mode{background:linear-gradient(180deg,#0f172a,#1e293b);color:#e2e8f0}.dark-mode .navbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(180deg,#0f172af2,#1e293bf2);border-bottom:1px solid #ffffff1a}.dark-mode .hint-list li{color:#e2e8f0}.dark-mode .btn{background-color:#374151;background-color:var(--gray-700);color:#e2e8f0}.dark-mode .BlockPalette{border-color:#ffffff1a}.dark-mode .right-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(180deg,#1e293bf2,#0f172af2);border-color:#ffffff1a;color:#e2e8f0}.dark-mode .block-container{border:2px solid #4b5563;border:2px solid var(--gray-600);box-shadow:0 4px 8px #00000080}.dark-mode .console{background:linear-gradient(180deg,#1e293b,#0f172a);border-color:#ffffff1a}.dark-mode .console-header h3{color:#e2e8f0}.dark-mode .console .console-pre{background-color:initial;color:#10b981}.dark-mode .code-preview{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:#ffffff1a}.dark-mode .collapse-button{background-color:#374151;background-color:var(--gray-700);color:#e2e8f0}.dark-mode .delete-account-title,.dark-mode .settings-section,.dark-mode .theme-title{color:#e2e8f0}.dark-mode .modal-content,.dark-mode .modal-input,.dark-mode .modal-title{background-color:#1e293b;border-color:#ffffff1a;color:#e2e8f0}.dark-mode .project-list{background:linear-gradient(180deg,#1e293b,#0f172a);color:#e2e8f0}.dark-mode .modal-subtitle{color:#e2e8f0}.dark-mode .project-actions .btn{transition:transform .3s ease,box-shadow .3s ease}.dark-mode .project-delete-btn:hover,.dark-mode .project-load-btn:hover{background-color:#334155;transform:scale(1.05)}.dark-mode .modal-btn{background:linear-gradient(135deg,#374151,#4b5563);background:linear-gradient(135deg,var(--gray-700) 0,var(--gray-600) 100%);border:1px solid #fff3;color:#e2e8f0}.dark-mode .file-btn,.dark-mode .import-btn,.dark-mode .load-example-btn{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff}.dark-mode .account-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.dark-mode .image-btn{background:linear-gradient(135deg,#ec4899,#db2777);color:#fff}.dark-mode .cancel-btn{background:linear-gradient(135deg,#475569,#334155);color:#f8fafc}.dark-mode .modal-btn:hover{background:linear-gradient(135deg,#4b5563,#6b7280);background:linear-gradient(135deg,var(--gray-600) 0,var(--gray-500) 100%);transform:scale(1.05)}.dark-mode .flowchart-container,.dark-mode .flowchart-wrapper{background:linear-gradient(180deg,#0f172a,#1e293b)}.dark-mode .reactflow-wrapper{background:#1e293b;border-color:#ffffff1a}.dark-mode .react-flow__background{fill:#0f172a}.dark-mode .block-input,.dark-mode .operand-input,.dark-mode .operator-select{background-color:#334155;border-color:#475569;color:#f1f5f9}.dark-mode .block-input::placeholder{color:#94a3b8}.dark-mode .message-bubble{background:#374151;background:var(--gray-700);color:#f1f5f9}.dark-mode .message-bubble p{color:inherit}.dark-mode .character-area{background:linear-gradient(135deg,#0ea5e91a,#8b5cf61a)}.dark-mode .CharacterDisplay{background:linear-gradient(180deg,#1e293b,#0f172a);border-color:#0ea5e94d;color:#e2e8f0}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fade-in-up .4s ease-out forwards}:focus-visible{outline:2px solid var(--primary-500)}*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body,html{height:100%}body{background:linear-gradient(135deg,#f8fafc,#e2e8f0 50%,#f1f5f9);color:#1e293b;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:1rem;font-size:var(--text-base);line-height:1.5;min-height:100vh;overflow:hidden}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}#root{height:100%;isolation:isolate;width:100%}:root{--brand-primary:#0ea5e9;--brand-secondary:#8b5cf6;--brand-accent:#ec4899;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--bg-body:#f8fafc;--bg-surface:#fff;--bg-elevated:#fff;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--text-inverse:#fff;--border-light:#e2e8f0;--border-medium:#cbd5e1;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"Fira Code","JetBrains Mono","Courier New",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070}::selection{background:#0ea5e94d;color:#1e293b;color:var(--text-primary)}:focus-visible{outline:2px solid #0ea5e9;outline:2px solid var(--brand-primary);outline-offset:2px}h1,h2,h3,h4,h5,h6{color:#1e293b;color:var(--text-primary);font-weight:600;font-weight:var(--font-semibold);line-height:1.25}h1{font-size:2.25rem;font-size:var(--text-4xl)}h2{font-size:1.875rem;font-size:var(--text-3xl)}h3{font-size:1.5rem;font-size:var(--text-2xl)}h4{font-size:1.25rem;font-size:var(--text-xl)}h5{font-size:1.125rem;font-size:var(--text-lg)}h6{font-size:1rem;font-size:var(--text-base)}p{color:#64748b;color:var(--text-secondary);margin-bottom:1rem;margin-bottom:var(--space-4)}a{color:#0ea5e9;color:var(--brand-primary);text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast)}a:hover{color:#8b5cf6;color:var(--brand-secondary)}button,input,select,textarea{font-family:inherit;font-size:inherit}button{background:none;border:none;cursor:pointer}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#cbd5e1,#94a3b8);background-clip:padding-box;border:2px solid #0000;border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#94a3b8,#64748b);background-clip:padding-box}*{scrollbar-color:#94a3b8 #0000;scrollbar-width:thin}.sr-only{border-width:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;padding:0;position:absolute;width:1px}.sr-only,.truncate{overflow:hidden;white-space:nowrap}.truncate{text-overflow:ellipsis}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-5%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:translateY(0)}}.animate-spin{animation:spin 1s linear infinite}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s infinite}.loading-dots:after{animation:dots 1.5s steps(4) infinite;content:""}@keyframes dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.react-flow__node,.toast-container{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans)}.react-flow__edge-path{stroke-width:2}.react-flow__controls{border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg);overflow:hidden}.react-flow__controls-button{background:#fff;background:var(--bg-surface);border:none;color:#64748b;color:var(--text-secondary);transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.react-flow__controls-button:hover{background:#fff;background:var(--bg-elevated);color:#0ea5e9;color:var(--brand-primary)}.react-flow__minimap{background:#fff;background:var(--bg-surface);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg)}.react-flow__attribution{font-size:10px;opacity:.5}@media print{body{background:#fff}.no-print{display:none!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
/*# sourceMappingURL=main.f6e53b81.css.map*/