.function-diagram-page[data-v-d86bcb10]{min-height:100vh;background:linear-gradient(135deg,#f5f7ff,#fff);padding:80px 24px 80px}.page-header[data-v-d86bcb10]{text-align:center;margin-bottom:50px;margin-top:20px}.page-title[data-v-d86bcb10]{font-size:2.5rem;color:#2c3e50;margin-bottom:16px;font-weight:700}.page-subtitle[data-v-d86bcb10]{font-size:1.15rem;color:#555;line-height:1.8;display:flex;align-items:center;justify-content:center;gap:8px}.page-subtitle i[data-v-d86bcb10]{color:#3498db;font-size:1.2rem}.step-bar[data-v-d86bcb10]{display:flex;align-items:center;justify-content:center;margin-bottom:40px;max-width:600px;margin-left:auto;margin-right:auto}.step[data-v-d86bcb10]{display:flex;flex-direction:column;align-items:center;gap:8px}.step-number[data-v-d86bcb10]{width:48px;height:48px;border-radius:50%;background:#e0e0e0;color:#999;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;transition:all .3s}.step.active .step-number[data-v-d86bcb10]{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;box-shadow:0 4px 15px rgba(52,152,219,.3)}.step-label[data-v-d86bcb10]{font-size:.9rem;color:#999;transition:color .3s}.step.active .step-label[data-v-d86bcb10]{color:#3498db;font-weight:600}.step-line[data-v-d86bcb10]{width:80px;height:2px;background:#e0e0e0;margin:0 16px;transition:background .3s}.step-line.active[data-v-d86bcb10]{background:#3498db}.main-content[data-v-d86bcb10]{display:grid;grid-template-columns:420px 1fr;gap:24px;max-width:1600px;margin:0 auto}.content-card[data-v-d86bcb10]{background:#fff;border-radius:16px;box-shadow:0 4px 15px rgba(0,0,0,.05);border:2px solid #f5f7ff;overflow:hidden}.card-header[data-v-d86bcb10]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:#fff;border-bottom:2px solid #f0f0f0;color:#2c3e50}.card-header i[data-v-d86bcb10]{font-size:1.3rem;margin-right:10px;color:#3498db}.card-header .header-left[data-v-d86bcb10]{display:flex;align-items:center}.card-title[data-v-d86bcb10]{font-size:1.2rem;font-weight:600;margin:0;color:#2c3e50}.input-section[data-v-d86bcb10]{height:-moz-fit-content;height:fit-content}.input-body[data-v-d86bcb10]{padding:24px}.description-input[data-v-d86bcb10]{margin-bottom:20px}.description-input[data-v-d86bcb10] .el-textarea__inner{font-family:Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6;border-radius:8px;transition:all .3s}.description-input[data-v-d86bcb10] .el-textarea__inner:focus{border-color:#3498db;box-shadow:0 0 0 2px rgba(52,152,219,.1)}.button-group[data-v-d86bcb10]{display:flex;gap:12px}.generate-button[data-v-d86bcb10]{flex:1;background:linear-gradient(135deg,#3498db,#2980b9);border:none;color:#fff;font-weight:600;transition:all .3s}.generate-button[data-v-d86bcb10]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(52,152,219,.3);background:linear-gradient(135deg,#2980b9,#21618c)}.clear-button[data-v-d86bcb10]{background:#fff;border:2px solid #f0f0f0;color:#666;font-weight:600}.clear-button[data-v-d86bcb10]:hover:not(:disabled){border-color:#e74c3c;color:#e74c3c;transform:translateY(-2px)}.result-section[data-v-d86bcb10]{min-height:500px}.diagram-actions[data-v-d86bcb10]{display:flex;gap:12px;align-items:center}.operation-tips[data-v-d86bcb10]{display:flex;gap:10px;padding:6px 12px;background:#f5f7fa;border-radius:6px;margin-right:8px}.operation-tips i[data-v-d86bcb10]{font-size:16px;color:#3498db;cursor:help;transition:transform .2s}.operation-tips i[data-v-d86bcb10]:hover{transform:scale(1.2);color:#2980b9}.zoom-level[data-v-d86bcb10]{font-size:14px;font-weight:600;color:#3498db;min-width:50px;text-align:center;background:#f5f7fa;padding:6px 12px;border-radius:6px}.zoom-hint[data-v-d86bcb10]{font-size:12px;color:#999;margin-left:8px}.diagram-container[data-v-d86bcb10]{position:relative;background:#fff;min-height:600px;overflow:hidden;cursor:grab}.diagram-container[data-v-d86bcb10]:active{cursor:grabbing}.function-tree-svg[data-v-d86bcb10]{position:absolute;top:0;left:0;will-change:transform;transition:transform .1s ease-out;transform-origin:0 0;shape-rendering:geometricPrecision;text-rendering:geometricPrecision;image-rendering:optimizeQuality}[data-v-d86bcb10] .node{transition:opacity .2s}[data-v-d86bcb10] .node.dragging{opacity:.7;cursor:grabbing!important}[data-v-d86bcb10] .node rect{transition:box-shadow .2s}[data-v-d86bcb10] .node:hover rect{box-shadow:0 4px 12px rgba(0,0,0,.15)}.empty-state[data-v-d86bcb10]{text-align:center;padding:120px 24px;color:#95a5a6}.empty-state i[data-v-d86bcb10]{font-size:5rem;margin-bottom:24px;color:#ddd}.empty-state p[data-v-d86bcb10]{font-size:1.1rem;color:#999}.loading-state[data-v-d86bcb10]{text-align:center;padding:100px 24px;color:#666}.loading-spinner[data-v-d86bcb10]{margin-bottom:24px}.loading-spinner i[data-v-d86bcb10]{font-size:3rem;color:#3498db;animation:rotating-d86bcb10 1.5s linear infinite}@keyframes rotating-d86bcb10{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-text[data-v-d86bcb10]{font-size:1.1rem;color:#555;margin-bottom:24px;font-weight:500}.loading-progress[data-v-d86bcb10]{max-width:300px;height:4px;background:#e0e0e0;border-radius:2px;margin:0 auto;overflow:hidden;position:relative}.progress-bar[data-v-d86bcb10]{height:100%;background:linear-gradient(90deg,#3498db,#2980b9);border-radius:2px;animation:progress-d86bcb10 2s ease-in-out infinite}@keyframes progress-d86bcb10{0%{width:0;margin-left:0}50%{width:60%;margin-left:20%}to{width:0;margin-left:100%}}@media (max-width:1024px){.main-content[data-v-d86bcb10]{grid-template-columns:1fr}}.floating-buttons[data-v-d86bcb10]{position:fixed;bottom:30px;right:30px;display:flex;flex-direction:column;gap:12px;z-index:1000}.video-bubble{&[data-v-d86bcb10]{width:50px;height:50px;background:linear-gradient(135deg,#e74c3c,#c0392b);border-radius:50%;box-shadow:0 4px 15px rgba(231,76,60,.4);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:all .3s cubic-bezier(.4,0,.2,1);animation:float-d86bcb10 3s ease-in-out infinite;animation-delay:.5s}&[data-v-d86bcb10]:hover{transform:translateY(-3px) scale(1.1);box-shadow:0 8px 25px rgba(231,76,60,.6)}&[data-v-d86bcb10]:active{transform:translateY(-2px) scale(1.05)}.bubble-icon{&[data-v-d86bcb10]{font-size:16px;color:#fff}i[data-v-d86bcb10]{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}}.bubble-text[data-v-d86bcb10]{font-size:8px;color:#fff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.2);letter-spacing:.3px}}.example-bubble{&[data-v-d86bcb10]{width:50px;height:50px;background:linear-gradient(135deg,#3498db,#2980b9);border-radius:50%;box-shadow:0 4px 15px rgba(52,152,219,.4);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:all .3s cubic-bezier(.4,0,.2,1);animation:float-d86bcb10 3s ease-in-out infinite}&[data-v-d86bcb10]:hover{transform:translateY(-3px) scale(1.1);box-shadow:0 8px 25px rgba(52,152,219,.6)}&[data-v-d86bcb10]:active{transform:translateY(-2px) scale(1.05)}.bubble-icon{&[data-v-d86bcb10]{font-size:16px;color:#fff}i[data-v-d86bcb10]{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}}.bubble-text[data-v-d86bcb10]{font-size:8px;color:#fff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.2);letter-spacing:.3px}}@keyframes float-d86bcb10{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}[data-v-d86bcb10] .example-dialog{.el-dialog{border-radius:16px;overflow:hidden;max-width:1200px}.el-dialog__header{&{background:linear-gradient(135deg,#3498db,#2980b9);padding:20px 24px;margin:0}.el-dialog__title{color:#fff;font-size:1.25rem;font-weight:600}.el-dialog__headerbtn{&{top:20px;right:24px}.el-dialog__close{&{color:#fff;font-size:20px;font-weight:700}&:hover{color:hsla(0,0%,100%,.8)}}}}.el-dialog__body{padding:0;background:#f5f7fa}}.example-content{&[data-v-d86bcb10]{padding:24px;display:flex;justify-content:center;align-items:center;background:#f5f7fa}.example-image{&[data-v-d86bcb10]{max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.1);transition:transform .3s ease}&[data-v-d86bcb10]:hover{transform:scale(1.02)}}}@media (max-width:768px){.floating-buttons[data-v-d86bcb10]{bottom:20px;right:20px;gap:10px}.example-bubble,.video-bubble{&[data-v-d86bcb10]{width:45px;height:45px}.bubble-icon[data-v-d86bcb10]{font-size:14px}.bubble-text[data-v-d86bcb10]{font-size:7px}}[data-v-d86bcb10] .example-dialog{.el-dialog{width:95%!important;margin:0 auto}}.example-content[data-v-d86bcb10]{padding:12px}}