.toolbar[data-v-041d111c]{gap:.5rem;margin:0 auto;max-width:95%;padding:.75rem 1rem;width:-moz-fit-content;width:fit-content}.toolbar[data-v-041d111c],.toolbar-btn[data-v-041d111c]{align-items:center;display:flex;justify-content:center}.toolbar-btn[data-v-041d111c]{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;font-size:.95rem;font-weight:500;min-height:40px;min-width:40px;padding:.5rem .75rem;transition:all .2s ease}@media (max-width:768px){.toolbar[data-v-041d111c]{gap:.375rem;max-width:calc(100% - 1rem);padding:.625rem .75rem}.toolbar-btn[data-v-041d111c]{min-height:36px;min-width:36px;padding:.5rem}}@media (max-width:480px){.toolbar[data-v-041d111c]{gap:.25rem;max-width:calc(100% - .75rem);padding:.5rem}.toolbar-btn[data-v-041d111c]{min-height:32px;min-width:32px;padding:.375rem}}@media (min-width:769px){.toolbar-btn[data-v-041d111c]:first-child,.toolbar-btn[data-v-041d111c]:nth-child(2){padding-left:1rem;padding-right:1rem}}.toolbar-btn[data-v-041d111c]:hover{background:var(--color-primary);border-color:var(--color-primary)}.toolbar-btn.active[data-v-041d111c],.toolbar-btn[data-v-041d111c]:hover{box-shadow:var(--shadow-md);color:var(--color-surface)}.toolbar-btn.active[data-v-041d111c]{background:var(--color-accent);border-color:var(--color-accent)}.component-icon[data-v-041d111c],.notes-icon[data-v-041d111c]{font-size:1rem}@media (min-width:769px){.component-icon[data-v-041d111c],.notes-icon[data-v-041d111c]{margin-right:.375rem}}.mobile-only[data-v-041d111c]{display:none}.desktop-only[data-v-041d111c]{display:inline}@media (max-width:768px){.mobile-only[data-v-041d111c]{display:inline}.desktop-only[data-v-041d111c]{display:none}}.postit-note[data-v-7cf8df80]{align-items:flex-start;background:var(--color-secondary);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);color:var(--color-primary-dark);display:flex;font-family:var(--font-main);justify-content:flex-start;max-height:180px;max-width:220px;min-height:60px;min-width:120px;outline:none;padding:.7em .8em .6em;position:relative}.postit-textarea[data-v-7cf8df80]{background:transparent;border:none;box-shadow:none;color:var(--color-text);font-family:inherit;font-size:1.05em;height:100%;margin:0;outline:none;padding:0;resize:none;width:100%}.vue-flow{direction:ltr;height:100%;overflow:hidden;position:relative;width:100%;z-index:0}.vue-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{pointer-events:none;transform-origin:0 0;z-index:2}.vue-flow__viewport{overflow:clip;z-index:4}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{overflow:visible;pointer-events:none}.vue-flow__connection-path,.vue-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.vue-flow__edge{cursor:pointer;pointer-events:visibleStroke}.vue-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__edge.animated path.vue-flow__edge-interaction{stroke-dasharray:none;animation:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{border:1px solid #bbb}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{border:1px solid #555;outline:none}.vue-flow__node{box-sizing:border-box;cursor:default;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.vue-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{min-height:5px;min-width:5px;pointer-events:none;position:absolute}.vue-flow__handle.connectable{cursor:crosshair;pointer-events:all}.vue-flow__handle-bottom{bottom:0;left:50%;transform:translate(-50%,50%)}.vue-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.vue-flow__handle-left{left:0;top:50%;transform:translate(-50%,-50%)}.vue-flow__handle-right{right:0;top:50%;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{margin:15px;position:absolute;z-index:5}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}:root{--vf-node-bg:#fff;--vf-node-text:#222;--vf-connection-path:#b1b1b7;--vf-handle:#555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{background-color:var(--vf-node-bg);border-color:var(--vf-node-color);border-radius:3px;border-style:solid;border-width:1px;color:var(--vf-node-text);font-size:12px;padding:10px;text-align:center;width:150px}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color:var(--vf-node-color,#0041d0);--vf-handle:var(--vf-node-color,#0041d0);--vf-box-shadow:var(--vf-node-color,#0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color,#0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{border:1px solid var(--vf-node-color,#0041d0);outline:none}.vue-flow__node-default{--vf-handle:var(--vf-node-color,#1a192b);--vf-box-shadow:var(--vf-node-color,#1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color,#1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{border:1px solid var(--vf-node-color,#1a192b);outline:none}.vue-flow__node-output{--vf-handle:var(--vf-node-color,#ff0072);--vf-box-shadow:var(--vf-node-color,#ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color,#ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{border:1px solid var(--vf-node-color,#ff0072);outline:none}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{background:var(--vf-handle);border:1px solid #fff;border-radius:100%;height:6px;width:6px}.edge-label-foreignobject[data-v-1df91695]{overflow:visible;pointer-events:all}.edge-label-wrapper[data-v-1df91695]{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.vue-flow__edge-label-input[data-v-1df91695]{background-color:var(--color-surface);border:1.5px solid var(--color-border);box-sizing:border-box;font-size:.85em;padding:2px 5px;text-align:center;width:100%}.edge-label[data-v-1df91695],.vue-flow__edge-label-input[data-v-1df91695]{border-radius:var(--radius-sm);box-shadow:var(--shadow-md);color:var(--color-text)}.edge-label[data-v-1df91695]{background:var(--color-surface);cursor:pointer;font-size:14px;padding:4px 5px}.nodrag[data-v-1df91695],.nopan[data-v-1df91695]{-webkit-user-drag:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}.whiteboard[data-v-d26b04c2]{display:flex;flex-direction:column;gap:.5rem;height:100%;width:100%}.canvas-area[data-v-d26b04c2]{background:#fff;border:1.5px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);height:100%;min-height:400px;width:100%}[data-v-d26b04c2] .vue-flow__node,[data-v-d26b04c2] .vue-flow__node-default{border:none!important;box-shadow:none!important}[data-v-d26b04c2] .vue-flow__node:not(:has(.postit-note)),[data-v-d26b04c2] .vue-flow__node-default:not(:has(.postit-note)){background:var(--color-surface)!important;border:1.5px solid var(--color-primary)!important;border-radius:var(--radius-sm)!important;box-shadow:0 2px 4px #2563eb1a!important}@media (max-width:768px){.whiteboard[data-v-d26b04c2]{gap:.75rem}.canvas-area[data-v-d26b04c2]{min-height:350px}[data-v-d26b04c2] .vue-flow__node{font-size:14px;min-height:32px;min-width:60px;padding:6px 8px}}@media (min-width:1024px){.canvas-area[data-v-d26b04c2]{min-height:600px;min-width:100%}}.problem-panel[data-v-d0377716]{background:var(--color-surface);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin:0 0 .5rem;padding:.5rem 0 1.5rem}.problem-title[data-v-d0377716]{color:var(--color-primary-dark);font-family:var(--font-main);font-size:1.22rem;font-weight:600;letter-spacing:.01em;margin-bottom:.2rem}.problem-description[data-v-d0377716]{align-items:flex-start;background:none;border:none;border-radius:0;box-shadow:none;color:var(--color-text);display:flex;font-size:1.04rem;gap:.4rem;line-height:1.7;padding:.1rem 0 0}.problem-label[data-v-d0377716]{color:var(--color-primary);flex-shrink:0;font-size:1.01em;font-weight:600;letter-spacing:.05em}@media (max-width:768px){.problem-panel[data-v-d0377716]{border-width:1px;margin-left:auto;margin-right:auto;max-width:96vw;padding:.18rem 0 .7rem}.problem-title[data-v-d0377716]{font-size:1rem;margin-bottom:.12rem}.problem-description[data-v-d0377716]{flex-direction:column;font-size:.93rem;gap:.12rem;padding:.05rem 0 0;word-break:break-word}.problem-label[data-v-d0377716]{font-size:.99em;min-width:60px}}.difficulty-tag[data-v-d0377716]{background:var(--color-primary);border-radius:.5em;color:#fff;display:inline-block;font-size:.85em;font-weight:600;letter-spacing:.04em;margin-right:.5em;padding:.1em .7em;vertical-align:middle}svg[data-v-d49cdceb]{color:var(--color-primary);display:inline-block;height:1.8rem;width:1.8rem}.app-header[data-v-d03d2910]{align-items:center;background:var(--color-surface);box-shadow:var(--shadow-md);box-sizing:border-box;display:flex;justify-content:center;padding:1rem 1.5rem;position:sticky;top:0;width:100%;z-index:100}.brand-title[data-v-d03d2910]{font-family:Poppins,Inter,sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;line-height:1.1;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.brand-icon[data-v-d03d2910],.brand-title[data-v-d03d2910]{color:var(--color-primary)}.brand-icon[data-v-d03d2910]{display:inline-flex;flex-shrink:0;height:1.8rem;margin-right:.75rem;width:1.8rem}@media (min-width:768px){.brand-title[data-v-d03d2910]{font-size:1.75rem}}@media (max-width:900px){.app-header[data-v-d03d2910]{padding:1rem .5rem}}@media (max-width:480px){.app-header[data-v-d03d2910]{padding:.75rem .375rem}}.app-footer[data-v-d9bf3d15]{align-items:center;background:var(--color-surface);box-shadow:var(--shadow-md);color:var(--color-muted);display:flex;flex-direction:column;font-family:var(--font-main);font-weight:400;gap:.25rem;letter-spacing:.01em;margin-top:2.5rem;opacity:.97;padding:1.1rem 0;text-align:center;width:100%}.footer-row[data-v-d9bf3d15]{flex-direction:row;gap:.6rem}.footer-logo[data-v-d9bf3d15],.footer-row[data-v-d9bf3d15]{align-items:center;display:flex;justify-content:center}.footer-brand[data-v-d9bf3d15],.footer-logo[data-v-d9bf3d15]{margin-bottom:.1rem}.footer-brand[data-v-d9bf3d15]{color:var(--color-primary);font-family:var(--font-fancy);font-size:1.08rem;font-weight:600;letter-spacing:.02em}.footer-meta[data-v-d9bf3d15]{color:var(--color-muted);font-family:var(--font-main);font-size:.98rem;font-weight:400;opacity:.85}.copy-btn[data-v-3d5d18d8]{align-items:center;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);color:var(--color-primary);cursor:pointer;display:flex;font-family:var(--font-main);font-size:1.08rem;gap:.5rem;justify-content:center;min-height:44px;min-width:44px;outline:none;padding:.5rem 1.1rem;position:relative;transition:box-shadow var(--transition),background var(--transition),color var(--transition),border-color var(--transition)}.copy-btn[data-v-3d5d18d8]:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary),0 1px 4px #1e40af0f}.copy-btn[data-v-3d5d18d8]:disabled{cursor:not-allowed;opacity:.5}.copy-btn[data-v-3d5d18d8]:active:not(:disabled),.copy-btn[data-v-3d5d18d8]:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary-dark);box-shadow:var(--shadow-lg);color:var(--color-surface)}.clipboard-icon[data-v-3d5d18d8]{color:inherit;display:block;height:1.25em;margin:0;width:1.25em}.visually-hidden[data-v-3d5d18d8]{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.action-btn-grid[data-v-af7f076f]{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;margin-top:.25rem;padding:.25rem 0}.submit-btn[data-v-af7f076f]{background:var(--color-primary);border:1.5px solid var(--color-primary);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);color:var(--color-surface);cursor:pointer;font-family:var(--font-main);font-size:1rem;font-weight:600;letter-spacing:.01em;min-height:40px;min-width:40px;outline:none;padding:.6rem 1.2rem;transition:box-shadow .2s,background .2s,border-color .2s}.submit-btn[data-v-af7f076f]:focus-visible{border-color:var(--color-primary-dark);box-shadow:0 0 0 2px var(--color-primary),var(--shadow-md)}.submit-btn[data-v-af7f076f]:active:not(:disabled),.submit-btn[data-v-af7f076f]:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:var(--shadow-lg)}.submit-btn[data-v-af7f076f]:disabled{background:var(--color-border);border-color:var(--color-border);box-shadow:none;color:var(--color-muted);cursor:not-allowed}@media (max-width:768px){.action-btn-grid[data-v-af7f076f]{gap:.7rem;padding:.7rem}.submit-btn[data-v-af7f076f]{font-size:.98rem;padding:.65rem 1.2rem}}.feedback-history[data-v-fad1007d]{background:var(--color-bg);background-image:none;border-left:2.5px solid var(--color-primary);box-sizing:border-box;font-family:var(--font-main);height:100vh;max-width:420px;min-width:320px;overflow-y:auto;padding:var(--space-lg) var(--space-md);position:fixed;right:0;top:0;width:33.333vw;z-index:100}.feedback-history h2[data-v-fad1007d]{background:none;border:none;border-radius:0;box-shadow:none;color:var(--color-primary-dark);display:block;font-family:var(--font-main);font-size:1.22rem;font-weight:600;letter-spacing:.01em;margin-bottom:.2rem;margin-top:0;padding:0;text-shadow:none}.feedback-list[data-v-fad1007d]{display:flex;flex-direction:column;gap:var(--space-md)}.feedback-bubble[data-v-fad1007d]{background:var(--color-surface);border:none;border-radius:var(--radius-md);box-shadow:none;color:var(--color-text);font-family:var(--font-main);font-size:1rem;margin-bottom:.5rem;padding:1rem;transition:border .18s}.feedback-bubble strong[data-v-fad1007d]{color:var(--color-primary);font-family:var(--font-main);font-weight:600;letter-spacing:.01em;margin-right:.5em;text-shadow:none;text-transform:none}.problem-select[data-v-fc8b7825]{align-items:center;background:var(--color-surface);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:flex;gap:.75rem;margin-bottom:1rem;padding:.75rem 1.25rem}.problem-label[data-v-fc8b7825]{font-weight:600;margin-right:.5rem}.problem-dropdown[data-v-fc8b7825],.problem-label[data-v-fc8b7825]{color:var(--color-text);font-size:1rem}.problem-dropdown[data-v-fc8b7825]{background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);flex:1;outline:none;padding:.5rem 1rem;transition:border-color .2s}.problem-dropdown[data-v-fc8b7825]:focus{background:var(--color-surface);border-color:var(--color-primary)}@media (max-width:600px){.problem-select[data-v-fc8b7825]{align-items:stretch;flex-direction:column;padding:.5rem .75rem}.problem-label[data-v-fc8b7825]{margin-bottom:.25rem;margin-right:0}}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{background-color:#333;border-radius:4px;color:#fff;font-size:14px;line-height:1.4;outline:0;position:relative;transition-property:transform,visibility,opacity;white-space:normal}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{border-top-color:initial;border-width:8px 8px 0;bottom:-7px;left:0;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:initial;border-width:0 8px 8px;left:0;top:-7px;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-left-color:initial;border-width:8px 0 8px 8px;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{border-right-color:initial;border-width:8px 8px 8px 0;left:-7px;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{color:#333;height:16px;width:16px}.tippy-arrow:before{border-color:#0000;border-style:solid;content:"";position:absolute}.tippy-content{padding:5px 9px;position:relative;z-index:1}.main-2col[data-v-66e72048]{display:flex;flex-direction:row;height:100%;min-height:100vh;width:100%}.main-left[data-v-66e72048]{flex:2 1 0%;flex-direction:column}.main-left[data-v-66e72048],.main-right[data-v-66e72048]{display:flex;min-width:0}.main-right[data-v-66e72048]{background:var(--color-bg);flex:1 1 0%;flex-direction:column;height:100vh;max-width:420px}.app-container[data-v-66e72048]{background:var(--color-bg);display:flex;flex-direction:column;font-family:var(--font-main);min-height:100vh;overflow-x:hidden;width:100%}.main-content[data-v-66e72048]{background:var(--color-surface);box-sizing:border-box;display:flex;flex:1;flex-direction:column;margin:0 auto;max-width:1100px;padding:2rem 1.5rem 1.5rem;width:100%}.help-icon[data-v-66e72048]{align-items:center;background:var(--color-primary,#007bff);border-radius:50%;box-shadow:0 1px 3px #00000014;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;height:20px;justify-content:center;margin-left:2px;position:absolute;right:8px;top:5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:20px}@media (max-width:900px){.main-content[data-v-66e72048]{padding:1rem .5rem}}@media (max-width:480px){.main-content[data-v-66e72048]{padding:.375rem}}
