body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}body,code{font-family:Noto Sans JP,sans-serif}.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;font-size:10px;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:none;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%}.confirm-modal-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.confirm-modal-content{background:#fff;border-radius:12px;box-shadow:0 5px 15px #0000004d;max-width:450px;padding:25px 30px;width:100%;z-index:1001}.confirm-modal-header h2{color:#333;font-size:22px;margin-bottom:10px;margin-top:0}.confirm-modal-body p{color:#666;font-size:16px;line-height:1.5;margin-bottom:20px;margin-top:0;white-space:pre-wrap}.confirm-modal-actions{display:flex;gap:10px;justify-content:flex-end}.confirm-modal-actions button{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:700;padding:10px 20px;transition:background-color .2s ease}.confirm-modal-actions .btn-cancel{background-color:#f0f0f0;color:#333}.confirm-modal-actions .btn-cancel:hover{background-color:#e0e0e0}.confirm-modal-actions .btn-confirm{background-color:#dc3545;color:#fff}.confirm-modal-actions .btn-confirm:hover{background-color:#c82333}.user-menu-container{display:inline-block;position:relative}.user-menu-button{align-items:center;background:none;border:1px solid #ccc;border-radius:50%;color:#555;cursor:pointer;display:flex;justify-content:center;padding:6px}.user-menu-button:hover{background-color:#f5f5f5}.user-menu-dropdown{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:hidden;position:absolute;right:0;top:120%;width:220px;z-index:110}.dropdown-header{border-bottom:1px solid #f0f0f0;padding:12px 16px}.dropdown-user-email{word-wrap:break-word;color:#333;font-size:14px;font-weight:500;margin:0}.dropdown-list{list-style:none;margin:0;padding:8px 0}.dropdown-item{color:#333;cursor:pointer;font-size:14px;padding:10px 16px}.dropdown-item:hover{background-color:#f5f5f5}.dropdown-item-danger{color:#dc3545}.dropdown-item-danger:hover{background-color:#f8d7da;color:#721c24}.appHeader{align-items:center;background-color:#fff;border-bottom:1px solid #e0e0e0;box-sizing:border-box;display:flex;flex-shrink:0;height:60px;justify-content:space-between;padding:0 24px;width:100%}.appTitle{color:#333;font-size:22px;font-weight:600;margin:0}.headerLeft{align-items:center;display:flex;flex:1 1}.headerCenter{display:flex;flex:1 1;justify-content:center}.headerRight{align-items:center;display:flex;flex:1 1;gap:16px;justify-content:flex-end}.title-separator{color:#e0e0e0;font-size:24px;margin:0 10px}.chart-title-input{background:#0000;border:1px solid #e0e0e0;border-radius:4px;color:#333;font-size:16px;font-weight:500;margin-left:24px;padding:5px;transition:all .2s ease;width:200px}.chart-title-input:hover{background-color:#f8f9fa}.chart-title-input:focus{background-color:#fff;outline:none}.viewSwitcher{background-color:#e9ecef;border-radius:8px;display:flex;padding:4px}.switchButton{background-color:initial;border:none;border-radius:6px;color:#495057;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s ease,color .2s ease}.switchButton.active{background-color:#fff;box-shadow:0 1px 3px #0000001a;color:#007bff}.generateButtonHeader{background-color:#007bff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:9px 20px;transition:background-color .3s ease}.generateButtonHeader:hover:not(:disabled){background-color:#0056b3}.generateButtonHeader:disabled{background-color:#a0c7e4;cursor:not-allowed}.separator{background-color:#e0e0e0;height:24px;width:1px}.user-info{align-items:center;display:flex;gap:12px}.user-email{color:#555}.header-btn,.user-email{font-size:14px;font-weight:500}.header-btn{background-color:initial;border:1px solid #ccc;border-radius:6px;cursor:pointer;padding:6px 12px;transition:background-color .2s,color .2s}.header-btn:hover{background-color:#f5f5f5}.login-btn{background-color:#007bff;border-color:#007bff;color:#fff}.login-btn:hover{background-color:#0056b3;color:#fff}.sidePanel{background-color:#fff;border-right:1px solid #dee2e6;box-shadow:2px 0 10px #00000014;box-sizing:border-box;display:flex;flex-direction:column;flex-shrink:0;height:calc(100vh - 60px);padding:15px;position:fixed;transform:translateX(0);transition:transform .3s ease-in-out;width:220px;z-index:20}.sidePanel.hidden{transform:translateX(-100%)}.sidePanel.deleteZone{align-items:center;background-color:#fff3cd;border:3px dashed #ffc107;justify-content:center;transition:background-color .2s ease,border-color .2s ease}.sidePanel.deleteZone.drag-over{background-color:#fdd;border-color:#dc3545}.deleteZoneContent{color:#856404;font-size:16px;font-weight:700;text-align:center;transition:color .2s ease}.drag-over .deleteZoneContent{color:#721c24}.deleteZoneOverlay{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.sidePanel h2{color:#212529;font-family:Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:22px;margin:0 0 15px}.sidePanel h2,.sidePanelButton{font-weight:700;text-align:center}.sidePanelButton{border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:12px 20px;transition:all .2s ease;width:100%}.sidePanelButton:hover:not(:disabled){transform:translateY(-2px)}.sidePanelButton:active:not(:disabled){transform:translateY(0)}.btnPrimary{background-image:linear-gradient(45deg,#007bff,#0056b3);box-shadow:0 4px 15px #007bff33;margin-bottom:5px}.btnPrimary:hover:not(:disabled){box-shadow:0 6px 20px #007bff4d}.btnSecondary{background-color:#6c757d;box-shadow:0 4px 15px #6c757d33;margin-top:15px}.btnSecondary:hover:not(:disabled){background-color:#5a6268;box-shadow:0 6px 20px #6c757d4d}.sidePanelContent{display:flex;flex-direction:column;gap:12px;height:100%}.sidePanel h3{border-top:1px solid #dee2e6;color:#495057;font-size:14px;font-weight:600;margin:10px 0 5px;padding-top:15px;text-align:center}.paletteNodeContainer{display:flex;flex-direction:column;gap:10px}.paletteNode{background:#fff;border:1px solid #dee2e6;border-left:5px solid #ccc;border-radius:8px;color:#343a40;cursor:grab;font-size:14px;font-weight:600;padding:12px 15px;text-align:left;transition:all .2s ease}.paletteNode:hover{background-color:#f8f9fa;border-color:#adb5bd;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.palette-toggle-button{align-items:center;background-color:#fff;border:1px solid #dee2e6;border-left:none;border-radius:0 8px 8px 0;box-shadow:none;cursor:pointer;display:flex;height:60px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:left .3s ease-in-out,background-color .2s ease,box-shadow .2s ease;width:28px;z-index:25}.palette-toggle-button.closed{box-shadow:2px 0 5px #0000000d}.palette-toggle-button:hover{background-color:#f8f9fa}.palette-toggle-button.closed:hover{box-shadow:2px 0 8px #00000014}.divider{background-color:#dee2e6;border:none;height:1px;margin:10px 0}.save-button-container{background-image:linear-gradient(45deg,#007bff,#0056b3);border-radius:8px;box-shadow:0 4px 15px #007bff33;display:flex;position:relative;transition:transform .2s ease,box-shadow .2s ease;width:100%}.save-button-container:hover{box-shadow:0 6px 20px #007bff4d;transform:translateY(-2px)}.save-button-container .sidePanelButton{background-color:initial;background-image:none;box-shadow:none;margin-bottom:0;transform:none;transition:none}.save-button-container .sidePanelButton:hover:not(:disabled){box-shadow:none;transform:none}.save-button-container .sidePanelButton:active:not(:disabled){transform:none}.save-button-single{border-radius:8px;width:100%}.save-button-main{border-bottom-right-radius:0;border-right:1px solid #ffffff4d;border-top-right-radius:0;flex-grow:1}.save-button-dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0;flex-shrink:0;padding:0;width:30px}.dropdown-arrow{border:solid #fff;border-width:0 2px 2px 0;display:inline-block;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.save-button-dropdown{background-color:#4a4a4a;border:1px solid #666;border-radius:5px;box-shadow:0 4px 8px #0003;list-style:none;margin-top:4px;padding:0;position:absolute;right:0;top:100%;width:150px;z-index:100}.save-button-dropdown ul{list-style:none;margin:0;padding:0}.save-button-dropdown li{color:#fff;cursor:pointer;font-size:14px;padding:10px 15px}.save-button-dropdown li:hover{background-color:#5a5a5a}@keyframes pulse{0%{box-shadow:0 0 0 0 #ff0072b3}70%{box-shadow:0 0 0 10px #ff007200}to{box-shadow:0 0 0 0 #ff007200}}.node-pulse{animation:pulse 2s infinite}.textViewContainer{background-color:#fff;box-sizing:border-box;display:flex;height:calc(100vh - 80px);padding:40px;width:100%}.textViewTextarea{border:1px solid #dee2e6;border-radius:8px;box-sizing:border-box;font-family:Noto Sans JP,Menlo,Monaco,Courier New,monospace;font-size:16px;height:100%;line-height:1.7;margin-left:0;padding:20px;resize:none;width:calc(100vw - 80px)}.textViewTextarea:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.loading-indicator-floating{align-items:center;animation:slideInUp .3s cubic-bezier(.25,.46,.45,.94);background-color:#2d3748;border-radius:12px;bottom:24px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;color:#fff;display:flex;gap:16px;min-width:250px;padding:16px 20px;position:fixed;right:24px;z-index:2000}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.spinner-container{flex-shrink:0;height:28px;margin-right:5px;margin-top:-4px;position:relative;width:28px}.modern-spinner{animation:modernSpin 1s linear infinite;border:3px solid #fff3;border-radius:50%;border-top-color:#63b3ed;height:100%;width:100%}@keyframes modernSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.text-section{align-items:flex-start;display:flex;flex-direction:column;gap:2px}.loading-text{font-size:16px;font-weight:600;margin:0;white-space:nowrap}.loading-subtext{font-size:13px;font-weight:400;margin:0;opacity:.7;white-space:nowrap}.modal-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 5px 15px #0000004d;font-family:sans-serif;max-width:400px;padding:30px;position:relative;text-align:center;width:100%}.modal-close-btn{background:none;border:none;color:#aaa;cursor:pointer;font-size:28px;position:absolute;right:15px;top:10px}.modal-content h2{color:#333;margin-bottom:20px;margin-top:0}.modal-error{background-color:#ffd2d2;border:1px solid #d8000c;border-radius:4px;color:#d8000c}.modal-error,.modal-message{font-size:14px;margin-bottom:15px;padding:10px;white-space:pre-wrap}.modal-message{background-color:#dff2bf;border:1px solid #4f8a10;border-radius:4px;color:#4f8a10}.form-group{margin-bottom:15px;text-align:left}.form-group label{color:#555;display:block;font-size:14px;margin-bottom:5px}.form-group input{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;padding:10px;width:100%}.modal-btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:16px;gap:10px;justify-content:center;padding:12px;transition:background-color .2s;width:100%}.modal-btn.primary{background-color:#007bff;color:#fff}.modal-btn.primary:hover{background-color:#0056b3}.modal-btn.primary:disabled{background-color:#a0c7e4;cursor:not-allowed}.modal-btn.google{background-color:#fff;border:1px solid #ccc;color:#444;margin-top:10px}.modal-btn.google:hover{background-color:#f5f5f5}.modal-btn.google:disabled{background-color:#f5f5f5;cursor:not-allowed}.modal-btn.google img{height:18px;width:18px}.modal-divider{color:#aaa;margin:20px 0;position:relative;text-align:center}.modal-divider:after,.modal-divider:before{background:#ccc;content:"";height:1px;position:absolute;top:50%;width:40%}.modal-divider:before{left:0}.modal-divider:after{right:0}.modal-switch{color:#555;font-size:14px;margin-top:20px}.modal-switch button{background:none;border:none;color:#007bff;cursor:pointer;font-size:14px;padding:0 5px}.modal-switch button:hover{text-decoration:underline}.modal-content-charts{background:#fff;border-radius:12px;box-shadow:0 5px 15px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:600px;padding:30px;position:relative;width:100%}.modal-content-charts h2{color:#333;margin-bottom:20px;margin-top:0;text-align:center}.charts-list{flex-grow:1;max-height:500px;overflow-y:auto;padding-right:10px}.chart-item{align-items:center;border-bottom:1px solid #eee;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:15px;transition:background-color .2s ease-in-out}.chart-item:hover{background-color:#f9f9f9}.chart-item:last-child{border-bottom:none}.chart-info{display:flex;flex-direction:column;gap:4px}.chart-name{color:#333;font-weight:600}.chart-date{color:#888;font-size:12px}.chart-actions{display:flex;gap:10px}.action-btn{border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 12px;transition:background-color .2s}.action-btn.delete{background-color:#dc3545;border-color:#dc3545;color:#fff}.action-btn.delete:hover{background-color:#c82333}.prompt-modal-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.prompt-modal-content{background:#fff;border-radius:12px;box-shadow:0 5px 15px #0000004d;max-width:450px;padding:25px 30px;width:100%;z-index:1001}.prompt-modal-content h2{color:#333;font-size:22px;margin-bottom:10px;margin-top:0}.prompt-modal-content p{color:#666;font-size:16px;line-height:1.5;margin-bottom:20px;margin-top:0;white-space:pre-wrap}.prompt-modal-content input[type=text]{border:1px solid #ccc;border-radius:8px;box-sizing:border-box;font-size:16px;margin-bottom:20px;padding:12px;width:100%}.prompt-modal-actions{display:flex;gap:10px;justify-content:flex-end}.prompt-modal-actions button{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:700;padding:10px 20px;transition:background-color .2s ease}.prompt-modal-actions .btn-cancel{background-color:#f0f0f0;color:#333}.prompt-modal-actions .btn-cancel:hover{background-color:#e0e0e0}.prompt-modal-actions .btn-submit{background-color:#007bff;color:#fff}.prompt-modal-actions .btn-submit:hover{background-color:#0056b3}.verify-page-container{align-items:center;background-color:#0009;bottom:0;display:flex;font-family:sans-serif;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.verify-card{background:#fff;border-radius:12px;box-shadow:0 5px 15px #0000004d;max-width:420px;padding:40px;text-align:center;width:100%}.verify-card .message{color:#333;font-size:18px;line-height:1.6;margin-bottom:20px}.verify-card .countdown{color:#007bff;font-size:24px;font-weight:700}.verify-card.error .countdown,.verify-card.error .message{color:#d8000c}.redirect-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-top:20px;padding:10px 20px;transition:background-color .2s ease-in-out}.redirect-button:hover{background-color:#0056b3}
/*# sourceMappingURL=main.5df98b8c.css.map*/