@tailwind base;@tailwind components;@tailwind utilities;*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#e3f2fd;background-image:linear-gradient(135deg,#e3f2fd,#bbdefb,#90caf9);background-attachment:fixed;min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative}body:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="2" fill="%23ffffff20"/><circle cx="80" cy="80" r="2" fill="%23ffffff20"/><circle cx="50" cy="50" r="2" fill="%23ffffff20"/><circle cx="80" cy="20" r="2" fill="%23ffffff20"/><circle cx="20" cy="80" r="2" fill="%23ffffff20"/></svg>') repeat;background-size:100px 100px;opacity:.3;pointer-events:none;will-change:transform}.pool-container{width:95vw;height:95vh;background:#fff;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.1),0 2px 10px rgba(0,0,0,.05);overflow:hidden;display:flex;flex-direction:column;position:relative;contain:layout style paint;will-change:auto}.main-pool{flex:1;display:flex;flex-direction:column;background:#fafafa}.toolbar{background:linear-gradient(to bottom,#fff,#fafafa);padding:16px 24px;display:flex;gap:32px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-bottom:2px solid #e3f2fd;box-shadow:0 2px 8px rgba(0,0,0,.05);min-height:72px}.tool-group{display:flex;gap:12px;align-items:center;position:relative}.tool-group:after{content:"";position:absolute;right:-16px;top:50%;transform:translateY(-50%);width:1px;height:32px;background:linear-gradient(to bottom,transparent,#e0e0e0,transparent)}.node-palette{display:flex;align-items:center;gap:16px;flex:1;justify-content:center;padding:0 32px}.node-palette label{font-size:13px;font-weight:600;color:#546e7a;text-transform:uppercase;letter-spacing:.5px;margin-right:8px}.draggable-node{display:flex;align-items:center;justify-content:center;padding:10px 18px;background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;border-radius:24px;cursor:grab;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:14px;font-weight:500;box-shadow:0 2px 8px rgba(33,150,243,.25);position:relative;overflow:hidden;min-width:80px}.draggable-node:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.draggable-node:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 6px 20px rgba(33,150,243,.35)}.draggable-node:hover:before{left:100%}.draggable-node.dragging{opacity:.5;cursor:grabbing}.draggable-step{cursor:grab!important;transition:all .3s cubic-bezier(.4,0,.2,1)}.draggable-step:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(33,150,243,.3)}.draggable-step.dragging{opacity:.5;cursor:grabbing!important}.draggable-node .icon{font-size:16px}.swimlane.drop-target{fill:rgba(79,195,247,.3)!important;stroke:#29b6f6!important;stroke-width:2!important;stroke-dasharray:5,5;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:.8}50%{opacity:1}}.connection-anchor{transition:all .2s ease}.connection-anchor:hover{r:10!important;fill:#1565c0!important;filter:drop-shadow(0 0 4px rgba(33,150,243,.5))}.process-node:hover .connection-anchor{opacity:.8!important}.connection-anchor.active{fill:#1976d2!important;r:10!important;animation:anchorPulse 1s infinite}@keyframes anchorPulse{0%,to{filter:drop-shadow(0 0 4px rgba(33,150,243,.5))}50%{filter:drop-shadow(0 0 8px rgba(33,150,243,.8))}}.node-tooltip{position:fixed;background:rgba(37,37,37,.95);color:#fff;padding:8px 12px;border-radius:6px;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;max-width:250px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:10000;pointer-events:none;display:none;animation:tooltipFadeIn .2s ease;backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1);line-height:1.4}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.tool-group:last-child:after{display:none}.node-palette:after{display:none}.pool-btn{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;border:none;padding:10px 20px;border-radius:24px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px rgba(33,150,243,.25);position:relative;overflow:hidden}.pool-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.3);transform:translate(-50%,-50%);transition:width .4s,height .4s}.pool-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(33,150,243,.35)}.pool-btn:hover:before{width:300px;height:300px}.pool-btn:active{transform:translateY(0);box-shadow:0 2px 4px rgba(33,150,243,.25)}.pool-btn.secondary{background:linear-gradient(135deg,#78909c,#546e7a);box-shadow:0 2px 8px rgba(96,125,139,.25)}.pool-btn.secondary:hover{box-shadow:0 4px 16px rgba(96,125,139,.35)}.pool-btn.danger{background:linear-gradient(135deg,#ef5350,#e53935);box-shadow:0 2px 8px rgba(244,67,54,.25)}.pool-btn.danger:hover{box-shadow:0 4px 16px rgba(244,67,54,.35)}.pool-btn .icon{font-size:18px}.diagram-area{flex:1;position:relative;overflow:hidden;background:#fff}.drop-zone{position:absolute;top:20px;right:20px;bottom:20px;left:20px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:16px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 12px rgba(33,150,243,.1)}.drop-zone.drag-over{background:linear-gradient(135deg,#bbdefb,#90caf9);box-shadow:inset 0 4px 20px rgba(33,150,243,.2);transform:scale(.98)}.drop-content{text-align:center;position:relative}.drop-icon{font-size:64px;display:block;margin-bottom:24px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.drop-content h2{color:#1565c0;font-size:32px;margin-bottom:12px;font-weight:600;background:linear-gradient(135deg,#2196f3,#1565c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.drop-content p{color:#546e7a;font-size:16px;margin-bottom:24px;font-weight:400}.initial-controls{display:flex;gap:12px;justify-content:center;align-items:center;margin-top:8px}.swimlane-canvas{width:100%;height:100%;position:relative;overflow:hidden;background:linear-gradient(180deg,#fafafa,#f5f5f5);padding:24px;box-shadow:inset 0 0 20px rgba(0,0,0,.02)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:500px;box-shadow:0 20px 60px rgba(0,0,0,.15),0 4px 20px rgba(0,0,0,.1);overflow:hidden;animation:modalSlideIn .3s cubic-bezier(.4,0,.2,1)}@keyframes modalSlideIn{0%{transform:translateY(-20px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-header{background:linear-gradient(135deg,#2196f3,#1976d2);border-bottom:none;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px rgba(33,150,243,.2)}.modal-header h3{font-size:20px;font-weight:600;color:#fff;margin:0;letter-spacing:.3px}.close-btn{background:rgba(255,255,255,.1);border:none;color:#fff;font-size:24px;cursor:pointer;transition:all .2s ease;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}.close-btn:hover{background:rgba(255,255,255,.2);transform:rotate(90deg)}.modal-body{padding:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;color:#333;font-weight:500;font-size:14px}.pool-input,.pool-select{width:100%;padding:10px 14px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:all .2s ease;background:#fff}.pool-input:focus,.pool-select:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px rgba(33,150,243,.1);transform:translateY(-1px)}.modal-footer{background:#fafafa;padding:16px 24px;display:flex;gap:12px;justify-content:flex-end;border-top:1px solid #e0e0e0}.swimlane{fill:#fff;stroke:#e0e0e0;stroke-width:1}.lane-divider{stroke:#e0e0e0;stroke-width:1;stroke-dasharray:none}.lane-label{fill:#333;font-size:14px;font-weight:500;text-anchor:start}.process-node{cursor:move;transition:opacity .2s ease;contain:layout;will-change:transform}.process-node:hover{opacity:.9}.node-start{fill:#4caf50}.node-process{fill:#2196f3}.node-decision{fill:#ffc107}.node-end{fill:#9e9e9e}.node-text{fill:#fff;font-size:13px;text-anchor:middle;pointer-events:none;font-weight:400}.connection-line{stroke:#757575;stroke-width:1.5;fill:none;cursor:pointer;pointer-events:stroke}.connection-line:hover{stroke:#424242;stroke-width:2.5}.connection-risks-container,.risks-container{pointer-events:all}.risk-badge{cursor:pointer;opacity:1;pointer-events:all}.risk-badge:hover{filter:brightness(1.2)}.risk-badge path{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.connection-risk-badge{cursor:pointer}.connection-risk-badge text{pointer-events:none;user-select:none}.connection-label{fill:#616161;font-size:11px;text-anchor:middle;background:#fff;cursor:pointer;pointer-events:all}.connection-label:hover{fill:#212121;font-weight:500}#diagramSvg{background:url(/pool.png) center/cover no-repeat;border:1px solid #e0e0e0;border-radius:4px}.node-dragging{opacity:.7;cursor:grabbing!important}.connection-preview{stroke:#2196f3;stroke-width:1.5;stroke-dasharray:4,4;fill:none;pointer-events:none}.resize-handle{cursor:pointer;fill:#f5f5f5;stroke:#bdbdbd;stroke-width:1;rx:4;transition:all .2s ease}.resize-handle:hover{fill:#e0e0e0;stroke:#757575;box-shadow:0 2px 4px rgba(0,0,0,.1)}
