.popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.popup-overlay.active{opacity:1;visibility:visible}.popup-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2000}.popup{position:absolute;min-width:300px;background:white;border-radius:8px;box-shadow:0 10px 25px #00000026;pointer-events:auto;opacity:0;transform:scale(.9);transition:opacity .3s ease,transform .3s ease;border:1px solid #e0e0e0;max-height:calc(100vh - 40px);display:flex;flex-direction:column}.popup.active{opacity:1;transform:scale(1)}.popup.dragging{-webkit-user-select:none;user-select:none;cursor:grabbing;transition:none}.popup.focused{z-index:1001;box-shadow:0 15px 35px #0003}.popup-tooltip{z-index:2100}.popup-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#f8f9fa;border-bottom:1px solid #e9ecef;border-radius:8px 8px 0 0;cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0}.popup-header:active{cursor:grabbing}.popup-title{font-size:16px;font-weight:600;margin:0;color:#333}.popup-controls{display:flex;gap:8px}.popup-btn{width:24px;height:24px;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:background-color .2s ease}.popup-minimize{background:#ffc107;color:#fff}.popup-minimize:hover{background:#e0a800}.popup-close{background:#dc3545;color:#fff}.popup-close:hover{background:#c82333}.popup-body{padding:20px;color:#555;line-height:1.6;overflow-y:auto;flex:1;min-height:0}.popup.minimized{height:auto!important;min-height:auto!important}.popup.minimized .popup-body{display:none}.popup.minimized .popup-minimize{background:#28a745}.popup.minimized .popup-minimize:hover{background:#218838}.demo-buttons{margin-bottom:20px}.demo-buttons button{margin:5px;padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.demo-buttons button:hover{background:#0056b3}@media (max-width: 768px){.popup{min-width:280px;max-width:95vw}.popup-header{padding:12px 16px}.popup-body{padding:16px}}@keyframes popupSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.popup.slide-in{animation:popupSlideIn .3s ease-out}
