@keyframes ambient-glow{0%,to{opacity:.95;transform:scale(1)}50%{opacity:1;transform:scale(1.002)}}@keyframes subtle-hue-shift{0%,to{filter:hue-rotate()}50%{filter:hue-rotate(6deg)}}@keyframes accent-hue-shift{0%,to{filter:hue-rotate()}50%{filter:hue-rotate(8deg)}}@keyframes gentle-gradient-shift{0%,to{opacity:.95;background-position:0%}50%{opacity:1;background-position:100%}}@keyframes card-background-breathe{0%,to{opacity:.95;transform:scale(1)}50%{opacity:1;transform:scale(1.001)}}@keyframes overlay-gradient-shift{0%,to{background-position:0 0}25%{background-position:100% 0}50%{background-position:100% 100%}75%{background-position:0 100%}}.effects-on .ambient-glow{will-change:transform,opacity;animation:60s ease-in-out infinite ambient-glow}.effects-on .ambient-hue{will-change:filter;animation:45s ease-in-out infinite accent-hue-shift}.effects-on .ambient-card{will-change:transform,opacity;animation:35s ease-in-out infinite card-background-breathe;position:relative}.effects-on .ambient-card:before{content:"";background:linear-gradient(135deg,hsl(var(--primary)/.01)0%,transparent 50%,hsl(var(--accent-1)/.015)100%);border-radius:inherit;pointer-events:none;opacity:.15;background-size:150% 150%;animation:55s ease-in-out infinite overlay-gradient-shift;position:absolute;inset:0}.effects-on .hero-section,.effects-on .page-header{position:relative;overflow:hidden}.effects-on .hero-section:after,.effects-on .page-header:after{content:"";background:linear-gradient(45deg,transparent 40%,hsl(var(--primary)/.02)50%,transparent 60%);pointer-events:none;opacity:.5;background-size:200% 200%;animation:40s ease-in-out infinite gentle-gradient-shift;position:absolute;inset:-50%}.effects-on input.ambient-input:focus,.effects-on textarea.ambient-input:focus,.effects-on select.ambient-input:focus{will-change:filter;animation:50s ease-in-out infinite subtle-hue-shift}@media (prefers-reduced-motion:reduce){.effects-on *,.effects-on :before,.effects-on :after{will-change:auto!important;transition:none!important;animation:none!important}}.dark.effects-on .ambient-card:before{opacity:.2}[data-theme=neon].effects-on .ambient-hue,.dark[data-theme=neon].effects-on .ambient-hue{animation:40s ease-in-out infinite accent-hue-shift}[data-theme=high-contrast].effects-on *,.dark[data-theme=high-contrast].effects-on *{will-change:auto!important;animation:none!important}.effects-off .effects-on *,.effects-off.effects-on *{will-change:auto!important;transition:none!important;animation:none!important}
.react-grid-layout{transition:height .2s;position:relative}.react-grid-item{transition:left .2s,top .2s,width .2s,height .2s}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{z-index:1;will-change:width,height;transition:none}.react-grid-item.react-draggable-dragging{z-index:3;will-change:transform;transition:none}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{opacity:.2;z-index:2;-webkit-user-select:none;user-select:none;background:red;transition-duration:.1s}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{opacity:0;width:20px;height:20px;position:absolute}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";border-bottom:2px solid #0006;border-right:2px solid #0006;width:5px;height:5px;position:absolute;bottom:3px;right:3px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;top:0;left:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;top:0;right:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;margin-left:-10px;left:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}
.react-resizable{position:relative}.react-resizable-handle{box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:100% 100%;background-repeat:no-repeat;background-origin:content-box;width:20px;height:20px;padding:0 3px 3px 0;position:absolute}.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0;transform:rotate(90deg)}.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-resizable-handle-nw{cursor:nw-resize;top:0;left:0;transform:rotate(180deg)}.react-resizable-handle-ne{cursor:ne-resize;top:0;right:0;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{cursor:ew-resize;margin-top:-10px;top:50%}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize;margin-left:-10px;left:50%}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}
