body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.animate-pulse{animation:pulse 2s ease-in-out infinite}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.floating-toolbar-button{transition:all .2s ease}.floating-toolbar-button:not(:disabled):hover{transform:scale(1.05)}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-rotate{animation:rotate 1s linear infinite}a,button,input,select,textarea{transition:all .2s ease}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #6366f1;outline-offset:2px}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:none}::selection{background:#6366f1;color:#fff}::-moz-selection{background:#6366f1;color:#fff}.no-select{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-crosshair{cursor:crosshair}.z-toolbar{z-index:20}.z-panel{z-index:30}.z-modal{z-index:40}.z-tooltip{z-index:50}.z-notification{z-index:60}@media (max-width:768px){.floating-toolbar{bottom:10px;padding:10px 15px}.floating-toolbar button{padding:8px}}@media print{.feedback-button,.floating-toolbar,.help-button,.promo-sidebar,.side-panel{display:none!important}body{background:#fff}}*{box-sizing:border-box}body,html{margin:0;max-width:100vw;overflow-x:hidden;padding:0}html{font-size:16px;scroll-behavior:smooth}@media (max-width:1280px){html{font-size:15px}}@media (max-width:1024px){html{font-size:14px}}@media (max-width:768px){html{font-size:14px}input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],select,textarea{font-size:16px!important}}.genogram-canvas{-webkit-touch-callout:none;touch-action:none;user-select:none;-webkit-user-select:none}@media (max-width:1024px){.genogram-canvas{touch-action:pan-x pan-y pinch-zoom}}.modal-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}@media (max-width:640px){.modal-overlay{backdrop-filter:none;-webkit-backdrop-filter:none;padding:0!important}.modal-content{animation:slideUp .3s ease-out!important;border-radius:16px 16px 0 0!important;margin:0;max-height:90vh!important}}.tooltip{pointer-events:none}@media (max-width:768px){.tooltip{display:none!important}}.button,button{min-height:36px;min-width:36px}@media (max-width:1024px){.button,button{min-height:44px;min-width:44px}}input,select,textarea{max-width:100%;width:100%}@media (max-width:768px){table{display:block;overflow-x:auto;white-space:nowrap}}.grid-responsive{grid-gap:1rem;display:grid;gap:1rem}@media (min-width:640px){.grid-responsive{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid-responsive{grid-template-columns:repeat(3,1fr)}}.text-responsive{word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}@media (max-width:768px){::-webkit-scrollbar{height:4px;width:4px}::-webkit-scrollbar-thumb{background:#0003}}.floating-element{position:fixed}@media (max-width:768px){.floating-element{bottom:20px!important;left:50%!important;position:fixed!important;transform:translateX(-50%)!important}}@media print{.context-menu,.feedback-button,.floating-toolbar,.help-button,.modal-overlay,.promo-sidebar,.side-panel,button[aria-label*=Close],button[aria-label*=Toggle]{display:none!important}.genogram-canvas{height:auto!important;page-break-inside:avoid;width:100%!important}*{background:#fff!important;color:#000!important}body{font-size:12pt!important;line-height:1.5!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.p-responsive{padding:1rem}@media (min-width:640px){.p-responsive{padding:1.25rem}}@media (min-width:1024px){.p-responsive{padding:1.5rem}}:focus{outline:2px solid #6366f1;outline-offset:2px}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid #6366f1;outline-offset:2px}@media (pointer:coarse){a,button,input,select,textarea{min-height:44px;min-width:44px}}@media (max-height:500px) and (orientation:landscape){.modal-content{max-height:95vh!important}.floating-toolbar{top:10px!important}}@media (prefers-contrast:high){*{border-width:2px!important}button,input,select,textarea{border:2px solid!important}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}*{scrollbar-color:#cbd5e1 #f1f5f9;scrollbar-width:thin}.z-canvas{z-index:1}.z-shapes{z-index:10}.z-ui{z-index:20}.z-toolbar{z-index:30}.z-panel{z-index:40}.z-modal{z-index:50}.z-tooltip{z-index:60}.z-context-menu{z-index:70}.z-notification{z-index:80}.z-top{z-index:999}body{font-family:Arial,sans-serif;margin:0;padding:0}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}.animate-sparkle{animation:sparkle 2s ease-in-out infinite}body.embed-mode{margin:0;overflow:hidden;padding:0}.embed-mode .feedback-button,.embed-mode .footer,.embed-mode .header,.embed-mode .help-button,.embed-mode .promo-sidebar,.embed-mode .tutorial-overlay{display:none!important}.embed-mode #genogram-canvas{height:100vh!important;width:100vw!important}.embed-save-button{align-items:center;background-color:#2563eb;border:none;border-radius:8px;bottom:20px;box-shadow:0 4px 6px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;position:fixed;right:20px;transition:background-color .2s,transform .1s;z-index:40}.embed-save-button:hover{background-color:#1d4ed8;transform:translateY(-1px)}.embed-save-button:active{transform:translateY(0)}.embed-mode .floating-toolbar{left:20px!important;top:20px!important}.embed-mode .side-panel{max-height:calc(100vh - 40px);top:20px}.embed-mode .modal-backdrop{inset:0;position:fixed;z-index:9999}@media (max-width:768px){.embed-mode .floating-toolbar{bottom:80px!important;left:50%!important;top:auto!important;transform:translateX(-50%)}.embed-save-button{bottom:10px;font-size:14px;padding:10px 20px;right:10px}}.embed-mode ::-webkit-scrollbar{height:8px;width:8px}.embed-mode ::-webkit-scrollbar-track{background:#f1f1f1}.embed-mode ::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.embed-mode ::-webkit-scrollbar-thumb:hover{background:#555}.embed-loading{align-items:center;background-color:#ffffffe6;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.embed-loading-spinner{animation:spin .8s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top-color:#2563eb;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.embed-notification{animation:slideDown .3s ease-out;background-color:#10b981;border-radius:8px;box-shadow:0 4px 6px #0000001a;color:#fff;font-size:14px;font-weight:500;left:50%;padding:12px 24px;position:fixed;top:20px;transform:translateX(-50%);z-index:50}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-100%)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.embed-mode[data-theme=dark]{background-color:#1f2937;color:#f3f4f6}.embed-mode[data-theme=dark] .floating-toolbar,.embed-mode[data-theme=dark] .modal-content,.embed-mode[data-theme=dark] .side-panel{background-color:#374151;color:#f3f4f6}.embed-mode.compact .floating-toolbar{transform:scale(.9)}.embed-mode.compact .side-panel{width:280px}.embed-mode.compact .embed-save-button{font-size:14px;padding:8px 16px}.embed-toolbar{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;gap:8px;padding:8px;position:fixed;right:20px;top:20px;z-index:30}.embed-toolbar button{align-items:center;background:#0000;border:none;border-radius:6px;cursor:pointer;display:flex;height:36px;justify-content:center;transition:background-color .2s;width:36px}.embed-toolbar button:hover{background-color:#f3f4f6}.read-only-mode .add-person-button,.read-only-mode .embed-save-button,.read-only-mode .floating-toolbar{opacity:.5;pointer-events:none}.read-only-mode .side-panel{opacity:.8}.read-only-mode:after{background:#fbbf24;border-radius:6px;color:#92400e;content:"Read Only";font-size:12px;font-weight:600;left:20px;padding:6px 12px;position:fixed;top:20px;z-index:50}.collaboration-presence{align-items:center;background:#fff;border-radius:8px;bottom:20px;box-shadow:0 2px 8px #0000001a;display:flex;font-size:14px;gap:8px;left:20px;padding:8px 16px;position:fixed;z-index:30}.presence-dot{animation:pulse 2s infinite;background:#10b981;border-radius:50%;height:8px;width:8px}.remote-cursor{pointer-events:none;position:absolute;transition:transform .1s ease-out;z-index:9999}.cursor-label{background:#000c;border-radius:4px;color:#fff;font-size:12px;left:10px;padding:4px 8px;position:absolute;top:20px;white-space:nowrap}.embed-notification.save-success{background-color:#10b981}.embed-notification.read-only{background-color:#f59e0b;color:#fff}.watermark-text{pointer-events:none;-webkit-user-select:none;user-select:none}@media (max-width:640px){.embed-toolbar{bottom:80px;left:50%;right:auto;top:auto;transform:translateX(-50%)}.collaboration-presence{font-size:12px;padding:6px 12px}}.embed-mode button:focus,.embed-mode:focus-within{outline:2px solid #2563eb;outline-offset:2px}@media print{.embed-mode .collaboration-presence,.embed-mode .embed-save-button,.embed-mode .embed-toolbar,.embed-mode .floating-toolbar{display:none!important}.embed-mode #genogram-canvas{background:#fff!important}}
/*# sourceMappingURL=main.737a838c.css.map*/