.section-item-enter{animation:slideInFromLeft .3s cubic-bezier(.4,0,.2,1)}.section-item-exit{animation:slideOutToRight .2s cubic-bezier(.4,0,.2,1)}.section-container{background:white;border:1px solid rgba(0,0,0,.1);border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1)}.section-container:hover{box-shadow:0 4px 12px rgba(0,0,0,.15);border-color:rgba(0,0,0,.2)}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-20px) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes slideOutToRight{0%{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(20px) scale(.95)}}.section-skeleton{background:linear-gradient(90deg,rgba(0,0,0,.1) 25%,rgba(0,0,0,.05) 50%,rgba(0,0,0,.1) 75%);background-size:200% 100%;animation:shimmer 2s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.section-button{transition:all .2s cubic-bezier(.4,0,.2,1);transform-origin:center}.section-button:hover{transform:scale(1.05)}.section-button:active{transform:scale(.95)}.section-button:disabled{transform:none;opacity:.5}.section-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.section-empty-indicator{animation:gentlePulse 2s ease-in-out infinite}@keyframes gentlePulse{0%,to{opacity:1}50%{opacity:.7}}.section-empty-dot{animation:bounce 1s ease-in-out infinite;animation-delay:.5s}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.section-focus-ring{box-shadow:0 0 0 2px rgba(59,130,246,.5);transition:box-shadow .2s cubic-bezier(.4,0,.2,1)}.section-modal-backdrop{animation:fadeIn .2s cubic-bezier(.4,0,.2,1)}.section-modal-content{animation:modalSlideIn .2s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.section-button,.section-focus-ring,.section-modal-backdrop,.section-modal-content{transition:none;animation:none}.section-item-enter,.section-item-exit{animation:none}.section-skeleton{animation:none;background:rgba(0,0,0,.1)}.section-empty-dot,.section-empty-indicator{animation:none}.section-spinner{animation:spin 1s linear infinite}}@media (prefers-contrast:high){.section-skeleton{background:rgba(0,0,0,.2)}}@media (prefers-color-scheme:dark){.section-skeleton{background:linear-gradient(90deg,rgba(255,255,255,.1) 25%,rgba(255,255,255,.05) 50%,rgba(255,255,255,.1) 75%)}}[data-rfd-draggable-context-id]{height:auto!important;min-height:auto!important}.ingredient-dragging{opacity:.6!important;transform:scale(1.05)!important;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)!important;border:2px solid hsl(var(--primary))!important;border-radius:.5rem!important;background:hsl(var(--card))!important;z-index:50!important;cursor:grabbing!important}.ingredient-placeholder{background:hsl(var(--muted)/.3);border:2px dashed hsl(var(--border));border-radius:.5rem;min-height:60px;transition:all .2s ease-in-out}.drop-target-valid{background:hsl(var(--accent)/.3)!important;border:2px solid hsl(var(--primary))!important;border-radius:.5rem!important;box-shadow:0 0 0 4px hsl(var(--primary)/.1)!important;transition:all .2s ease-in-out!important}.drop-target-invalid{cursor:not-allowed!important;opacity:.5}.drop-indicator{height:4px;background:hsl(var(--primary));border-radius:2px;margin:.5rem 0;animation:pulse-indicator 1.5s ease-in-out infinite}@keyframes pulse-indicator{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.6;transform:scaleY(1.5)}}.cursor-grab{cursor:grab}.cursor-grab:active{cursor:grabbing}.cursor-no-drop{cursor:no-drop!important}.ingredient-drop-animation{animation:drop-settle .3s cubic-bezier(.2,0,0,1)}@keyframes drop-settle{0%{transform:scale(1.05);opacity:.6}50%{transform:scale(.98)}to{transform:scale(1);opacity:1}}.ingredient-fade-in{animation:fade-in .3s ease-in-out}@keyframes fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.section-drag-over{background:hsl(var(--accent)/.2)!important;border-color:hsl(var(--primary))!important;box-shadow:0 0 0 4px hsl(var(--primary)/.1)!important;transition:all .2s ease-in-out!important}.section-highlight-pulse{animation:section-pulse 2s ease-in-out infinite}@keyframes section-pulse{0%,to{box-shadow:0 0 0 0 hsl(var(--primary)/.4)}50%{box-shadow:0 0 0 8px hsl(var(--primary)/0)}}.dark .ingredient-dragging{box-shadow:0 20px 25px -5px rgba(0,0,0,.4),0 10px 10px -5px rgba(0,0,0,.2)!important}.dark .ingredient-placeholder{background:hsl(var(--muted)/.2);border-color:hsl(var(--border)/.5)}.dark .drop-target-valid{background:hsl(var(--accent)/.2)!important;box-shadow:0 0 0 4px hsl(var(--primary)/.2)!important}.drag-handle:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px;border-radius:.25rem}.drag-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.drop-target-valid,.ingredient-dragging,.ingredient-drop-animation{will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden}@media (hover:none) and (pointer:coarse){.drag-handle{min-width:44px;min-height:44px;padding:12px}.ingredient-dragging{transform:scale(1.1)!important;opacity:.7!important;box-shadow:0 25px 30px -5px rgba(0,0,0,.2),0 15px 15px -5px rgba(0,0,0,.1)!important}.drop-target-valid{box-shadow:0 0 0 6px hsl(var(--primary)/.15)!important;border-width:3px!important}.drop-indicator{height:6px;margin:.75rem 0}.touch-device{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.delete-button{min-width:44px;min-height:44px}}.touch-device .drag-handle{position:relative}.touch-device .drag-handle:after{content:"";position:absolute;inset:0;border-radius:.25rem;background:hsl(var(--primary)/.1);opacity:0;transition:opacity .2s ease-in-out}.touch-device .drag-handle:active:after{opacity:1}.dragging-active{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}.touch-drag-cancel-zone{position:fixed;inset:0;background:hsl(var(--destructive)/.1);pointer-events:none;z-index:40;animation:cancel-zone-pulse 1s ease-in-out infinite}@keyframes cancel-zone-pulse{0%,to{opacity:.3}50%{opacity:.5}}.touch-feedback-indicator{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);background:hsl(var(--primary));color:hsl(var(--primary-foreground));padding:.75rem 1.5rem;border-radius:.5rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);z-index:50;pointer-events:none;animation:slide-up .3s ease-out}@keyframes slide-up{0%{transform:translateX(-50%) translateY(100%);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}@keyframes long-press-feedback{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}.touch-device .drag-handle:active{animation:long-press-feedback .2s ease-in-out}.touch-device.dragging-active{overflow:hidden;position:fixed;width:100%}@media (hover:none) and (pointer:coarse){.section-drag-over{background:hsl(var(--accent)/.3)!important;border-width:3px!important;box-shadow:0 0 0 6px hsl(var(--primary)/.15)!important}}