:root{--primary-color: #5e81ac;--secondary-color: #2e3440;--background-color: #1e2328;--card-background: #2c313c;--text-color: #e0e4f0;--accent-color: #bf616a;--code-highlight: #3b4252;--border-color: #4c566a}*{box-sizing:border-box;margin:0;padding:0;scrollbar-color:var(--primary-color) var(--card-background)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--background-color);line-height:1.6;color:var(--text-color);transition:background-color .3s ease}.code-flow-container{max-width:1100px;margin:2rem auto;padding:2rem;background-color:var(--card-background);border-radius:16px;box-shadow:0 15px 35px #0003;border:1px solid var(--border-color)}.header{text-align:center;margin-bottom:2rem}.header h1{font-size:2.5rem;color:var(--primary-color);font-weight:700;margin-bottom:.5rem;text-shadow:0 4px 6px rgba(0,0,0,.2)}.header p{color:var(--text-color);opacity:.7;max-width:600px;margin:0 auto}.input-section{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}textarea{width:100%;min-height:250px;padding:1rem;background-color:var(--code-highlight);color:var(--text-color);border:2px solid var(--border-color);border-radius:10px;font-family:Fira Code,monospace;font-size:.9rem;resize:vertical;transition:all .3s ease}textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #5e81ac4d}.visualize-btn{align-self:center;padding:.75rem 1.5rem;background-color:var(--primary-color);color:var(--text-color);border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 6px 10px #0003}.visualize-btn:hover{background-color:var(--accent-color);transform:translateY(-3px);box-shadow:0 8px 15px #0000004d}.visualization-area{display:flex;gap:1.5rem}.flow-diagram{flex:2;position:relative;height:500px;background-color:var(--secondary-color);border-radius:12px;overflow:auto;border:1px solid var(--border-color);box-shadow:inset 0 5px 15px #0003}.flow-diagram::-webkit-scrollbar{width:10px}.flow-diagram::-webkit-scrollbar-track{background:var(--card-background)}.flow-diagram::-webkit-scrollbar-thumb{background-color:var(--primary-color);border-radius:6px}.flow-diagram-content{position:relative;min-width:900px;min-height:100%}.flow-node{position:absolute;padding:.75rem;background-color:var(--primary-color);color:var(--text-color);border-radius:8px;cursor:pointer;transition:all .4s cubic-bezier(.25,.1,.25,1);font-size:.85rem;box-shadow:0 6px 12px #0003;max-width:250px;word-wrap:break-word;opacity:.9;z-index:10;border:1px solid rgba(255,255,255,.1)}.flow-node:hover{transform:scale(1.05) translateY(-5px);box-shadow:0 10px 20px #0000004d;opacity:1;background-color:var(--accent-color)}.flow-node.highlighted{background-color:var(--accent-color);transform:scale(1.1) rotate(3deg);box-shadow:0 15px 25px #0006}.flow-connection{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5}.flow-connection line{transition:all .3s ease;stroke:var(--primary-color)}.node-details{flex:1;background-color:var(--code-highlight);border-radius:12px;padding:1rem;border:1px solid var(--border-color);box-shadow:0 10px 20px #0003}.node-details h3{color:var(--primary-color);margin-bottom:.5rem;border-bottom:2px solid var(--border-color);padding-bottom:.5rem}.node-details pre{background-color:var(--secondary-color);color:var(--text-color);padding:.5rem;border-radius:6px;overflow-x:auto;max-height:300px}@media (max-width: 768px){.visualization-area{flex-direction:column}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes flowConnection{0%{stroke-dashoffset:20}to{stroke-dashoffset:0}}.textarea-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-bottom:.5rem}.textarea-actions button{background-color:var(--card-background);border:1px solid var(--border-color);color:var(--text-color);padding:.5rem;border-radius:6px;cursor:pointer;transition:all .3s ease}.textarea-actions button:hover{background-color:var(--primary-color);color:#fff}.diagram-controls{position:absolute;top:10px;right:10px;display:flex;gap:.5rem;z-index:20}.diagram-controls button{background-color:var(--card-background);border:1px solid var(--border-color);color:var(--text-color);padding:.5rem;border-radius:6px;cursor:pointer;transition:all .3s ease}.diagram-controls button:hover{background-color:var(--primary-color);color:#fff}.sidebar{flex:1;display:flex;flex-direction:column;gap:1rem}.node-characteristics{display:flex;gap:.5rem;margin-top:.5rem}.badge{padding:.25rem .5rem;border-radius:4px;font-size:.7rem;background-color:var(--secondary-color);color:var(--text-color);opacity:.5;display:flex;align-items:center;gap:.25rem}.badge.active{background-color:var(--primary-color);opacity:1}.flow-node.function-node{background-color:#5e81ac}.flow-node.loop-node{background-color:#a3be8c}.flow-node.conditional-node{background-color:#bf616a}.animated-connection{animation:flowConnection 1s linear infinite}.code-statistics{background-color:var(--code-highlight);border-radius:12px;padding:1rem;border:1px solid var(--border-color)}.code-statistics h3{color:var(--primary-color);margin-bottom:.5rem;border-bottom:2px solid var(--border-color);padding-bottom:.5rem}.stat-item{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.stat-item:last-child{border-bottom:none}.stat-item span:first-child{opacity:.7}.stat-item span:last-child{font-weight:700;color:var(--primary-color)}
