.skip-links{position:absolute;top:0;left:0;z-index:9999}.skip-link{position:absolute;top:-1px;left:6px;background:#000;color:#fff;padding:8px 16px;text-decoration:none;border:none;border-radius:0 0 4px 4px;font-weight:600;transform:translateY(-100%);transition:transform .2s ease-in-out;cursor:pointer}.skip-link:focus{transform:translateY(0)!important;outline:3px solid #ffbf47;outline-offset:2px}[data-high-contrast=true]{--color-background:#000000;--color-foreground:#ffffff;--color-primary:#ffff00;--color-secondary:#00ffff;--color-accent:#ff00ff;--color-border:#ffffff;--color-input-bg:#000000;--color-input-border:#ffffff;--color-button-bg:#ffffff;--color-button-text:#000000;--color-link:#ffff00;--color-link-hover:#ffbf47;--color-error:#ff6b6b;--color-success:#51cf66;--color-warning:#ffd43b}[data-high-contrast=true] *{background-color:var(--color-background)!important;color:var(--color-foreground)!important;border-color:var(--color-border)!important}[data-high-contrast=true] .button,[data-high-contrast=true] button{background-color:var(--color-button-bg)!important;color:var(--color-button-text)!important;border:2px solid var(--color-border)!important}[data-high-contrast=true] a{color:var(--color-link)!important;text-decoration:underline!important}[data-high-contrast=true] a:focus,[data-high-contrast=true] a:hover{color:var(--color-link-hover)!important;background-color:var(--color-button-text)!important}[data-high-contrast=true] input,[data-high-contrast=true] select,[data-high-contrast=true] textarea{background-color:var(--color-input-bg)!important;color:var(--color-foreground)!important;border:2px solid var(--color-input-border)!important}[data-font-size=small]{font-size:14px}[data-font-size=medium]{font-size:16px}[data-font-size=large]{font-size:18px}[data-font-size=extra-large]{font-size:22px}[data-font-size=large] h1{font-size:2.5rem}[data-font-size=large] h2{font-size:2rem}[data-font-size=large] h3{font-size:1.75rem}[data-font-size=large] h4{font-size:1.5rem}[data-font-size=large] h5{font-size:1.25rem}[data-font-size=large] h6{font-size:1.125rem}[data-font-size=extra-large] h1{font-size:3rem}[data-font-size=extra-large] h2{font-size:2.5rem}[data-font-size=extra-large] h3{font-size:2rem}[data-font-size=extra-large] h4{font-size:1.75rem}[data-font-size=extra-large] h5{font-size:1.5rem}[data-font-size=extra-large] h6{font-size:1.25rem}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}[data-reduced-motion=true] *,[data-reduced-motion=true] :after,[data-reduced-motion=true] :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-color-blindness=protanopia]{filter:url(#protanopia-filter)}[data-color-blindness=deuteranopia]{filter:url(#deuteranopia-filter)}[data-color-blindness=tritanopia]{filter:url(#tritanopia-filter)}[data-dyslexia-friendly=true]{font-family:OpenDyslexic,Arial,sans-serif;letter-spacing:.12em;word-spacing:.16em;line-height:1.8}[data-dyslexia-friendly=true] div,[data-dyslexia-friendly=true] p,[data-dyslexia-friendly=true] span{text-align:left}:focus{outline:3px solid #ffbf47;outline-offset:2px}[tabindex]:focus,a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:3px solid #ffbf47;outline-offset:2px;box-shadow:0 0 0 6px rgba(255,191,71,.2)}.keyboard-user :focus{outline:3px solid #ffbf47;outline-offset:2px;box-shadow:0 0 0 6px rgba(255,191,71,.3)}.mouse-user :focus{outline:none;box-shadow:none}[data-simplified-mode=true]{--simplified-spacing:1.5rem;--simplified-border-radius:8px;--simplified-font-weight:500}[data-simplified-mode=true] *{border-radius:var(--simplified-border-radius)!important;font-weight:var(--simplified-font-weight)!important}[data-simplified-mode=true] .complex-animation,[data-simplified-mode=true] .decorative-element,[data-simplified-mode=true] .non-essential{display:none!important}[data-simplified-mode=true] .button,[data-simplified-mode=true] button{min-height:48px;min-width:120px;padding:12px 24px;font-size:16px;border:2px solid transparent}[data-simplified-mode=true] input,[data-simplified-mode=true] select,[data-simplified-mode=true] textarea{min-height:48px;padding:12px 16px;font-size:16px;border:2px solid #ccc}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.sr-only-focusable:focus{position:static!important;width:auto!important;height:auto!important;padding:inherit!important;margin:inherit!important;overflow:visible!important;clip:auto!important;white-space:inherit!important}.error-message{color:#d73a49;font-weight:600;margin-top:4px;display:flex;align-items:center;gap:8px}.error-message:before{content:"⚠️";aria-hidden:"true"}[aria-invalid=true]{border-color:#d73a49!important;box-shadow:0 0 0 2px rgba(215,58,73,.2)!important}.success-message{color:#28a745;font-weight:600;margin-top:4px;display:flex;align-items:center;gap:8px}.success-message:before{content:"✅";aria-hidden:"true"}.loading-indicator{display:inline-flex;align-items:center;gap:8px}.loading-spinner{width:16px;height:16px;border:2px solid #e9ecef;border-top-color:#007bff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}[data-reduced-motion=true] .loading-spinner{animation:none;border-top-color:transparent}[data-reduced-motion=true] .loading-spinner:after{content:"...";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}@media (pointer:coarse){.button,a,button,input[type=button],input[type=reset],input[type=submit]{min-height:44px;min-width:44px}}@media print{.focus-indicator,.loading-indicator,.skip-links{display:none!important}*{background:transparent!important;color:black!important;box-shadow:none!important;text-shadow:none!important}a:after{content:" (" attr(href) ")"}}[dir=rtl] .skip-links{left:auto;right:0}[dir=rtl] .skip-link{left:auto;right:6px;border-radius:0 0 4px 4px}.tooltip{position:relative;display:inline-block}.tooltip .tooltip-text{visibility:hidden;width:120px;background-color:#333;color:#fff;text-align:center;border-radius:6px;padding:8px;position:absolute;z-index:1;bottom:125%;left:50%;margin-left:-60px;opacity:0;transition:opacity .3s;font-size:14px}.tooltip:focus .tooltip-text,.tooltip:hover .tooltip-text{visibility:visible;opacity:1}.tooltip .tooltip-text:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-top-color:#333}.text-muted{color:#6c757d!important}.text-primary{color:#007bff!important}.text-success{color:#28a745!important}.text-danger{color:#dc3545!important}.text-warning{color:#ffc107!important}.text-info{color:#17a2b8!important}[data-high-contrast=true] .text-muted{color:#ffffff!important}[data-high-contrast=true] .text-primary{color:#ffff00!important}[data-high-contrast=true] .text-success{color:#00ff00!important}[data-high-contrast=true] .text-danger{color:#ff0000!important}[data-high-contrast=true] .text-warning{color:#ffff00!important}[data-high-contrast=true] .text-info{color:#00ffff!important}.ai-sidebar-scroll::-webkit-scrollbar{width:6px}.ai-sidebar-scroll::-webkit-scrollbar-track{background:transparent}.ai-sidebar-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#a855f7,#3b82f6);border-radius:3px;opacity:.5}.ai-sidebar-scroll::-webkit-scrollbar-thumb:hover{opacity:.8}.glass-effect{background:rgba(255,255,255,.05);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-gradient{background-size:200% 200%;animation:gradient-shift 3s ease infinite}.glow-purple{box-shadow:0 0 20px rgba(168,85,247,.3),0 0 40px rgba(168,85,247,.2),0 0 60px rgba(168,85,247,.1)}.glow-blue{box-shadow:0 0 20px rgba(59,130,246,.3),0 0 40px rgba(59,130,246,.2),0 0 60px rgba(59,130,246,.1)}@keyframes soft-pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-soft-pulse{animation:soft-pulse 2s ease-in-out infinite}.shimmer-effect:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:shimmer 2s infinite}.message-bubble-assistant:before{left:-6px;border:inherit;border-right:none;border-bottom:none;transform:rotate(45deg)}.message-bubble-assistant:before,.message-bubble-user:before{content:"";position:absolute;top:10px;width:12px;height:12px;background:inherit}.message-bubble-user:before{right:-6px;border:inherit;border-left:none;border-bottom:none;transform:rotate(-45deg)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:float 3s ease-in-out infinite}.writing-mode-vertical-rl{writing-mode:vertical-rl;text-orientation:mixed}.focus-glow:focus-within{box-shadow:0 0 0 2px rgba(168,85,247,.2),0 0 20px rgba(168,85,247,.2)}.premium-button{position:relative;overflow:hidden}.premium-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.2);transform:translate(-50%,-50%);transition:width .6s,height .6s}.premium-button:hover:before{width:300px;height:300px}*{transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (prefers-color-scheme:dark){.glass-effect{background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.05)}.shimmer-effect:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent)}}.draggable{will-change:transform;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.draggable:hover{cursor:grab}.draggable:active{cursor:grabbing}body.dragging-card{cursor:copy!important}body.repositioning-card{cursor:move!important}body.dragging-card *,body.repositioning-card *{cursor:inherit!important}.drop-zone-active{position:relative;transition:all .3s ease}.drop-zone-active:before{inset:0;border:2px dashed rgba(139,92,246,.4);background:linear-gradient(135deg,rgba(139,92,246,.05),rgba(236,72,153,.05));animation:pulse-border 2s ease-in-out infinite}.drop-zone-active:after,.drop-zone-active:before{content:"";position:absolute;border-radius:.75rem;pointer-events:none}.drop-zone-active:after{inset:-4px;background:linear-gradient(135deg,rgba(139,92,246,.2),rgba(236,72,153,.2));filter:blur(8px);opacity:0;animation:glow-pulse 2s ease-in-out infinite}@keyframes glow-pulse{0%,to{opacity:0}50%{opacity:.6}}@keyframes pulse-border{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.01)}}.dragging-source{opacity:.5;transform:translateZ(0) scale(.95);transition:transform .2s ease,opacity .2s ease;will-change:transform,opacity}.drop-indicator-line{position:relative;height:3px;width:100%;overflow:hidden;border-radius:2px}.drop-indicator-line:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{to{left:100%}}.proximity-zone{position:absolute;left:-60px;top:50%;transform:translateY(-50%);width:60px;height:100%;pointer-events:none}.proximity-zone.active{background:linear-gradient(90deg,transparent,rgba(139,92,246,.1))}.drag-preview{position:fixed;pointer-events:none;z-index:9999;opacity:.8;transform:translateZ(0) rotate(2deg) scale(.9);filter:drop-shadow(0 10px 20px rgba(0,0,0,.2));transition:transform .2s ease,opacity .2s ease;will-change:transform}@keyframes drop-success{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}to{transform:scale(1);opacity:1}}.drop-success{animation:drop-success .4s ease}.drop-invalid{cursor:not-allowed!important;position:relative}.drop-invalid:after{content:"";position:absolute;inset:0;background:rgba(239,68,68,.1);border:2px dashed rgba(239,68,68,.4);border-radius:.75rem;pointer-events:none}.card-drag-hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);transition:all .2s ease}.drag-hint{position:relative}.drag-hint:before{content:attr(data-hint);position:absolute;top:-30px;left:50%;transform:translateX(-50%);background:rgba(139,92,246,.95);color:white;padding:4px 12px;border-radius:4px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s ease}.drag-hint:hover:before{opacity:1}.drag-handle-pulse{animation:handle-pulse 2s ease-in-out infinite}@keyframes handle-pulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.1);opacity:1}}.draggable-area{position:relative;transition:all .3s ease}.draggable-area:hover{background:linear-gradient(135deg,rgba(139,92,246,.02),rgba(236,72,153,.02))}.edit-mode .draggable-card{cursor:move;position:relative}.edit-mode .draggable-card:after{content:"";position:absolute;inset:-2px;border:2px dashed transparent;border-radius:12px;transition:all .3s ease;pointer-events:none}.edit-mode .draggable-card:hover:after{border-color:rgba(139,92,246,.3);background:rgba(139,92,246,.02)}*{transition:cursor .15s ease}.drag-handle{z-index:1000}.drop-indicator{z-index:1001}.drop-overlay{z-index:999}.draggable-item:focus{outline:2px solid #8b5cf6;outline-offset:2px}.drop-zone:focus-within{outline:2px dashed #8b5cf6;outline-offset:-2px}.drag-active *{animation-play-state:paused!important;transition:none!important}.image-card{contain:layout style paint}.image-card.dragging{will-change:transform}.virtual-list{contain:strict;overflow-y:auto;-webkit-overflow-scrolling:touch}.drag-container{contain:layout;isolation:isolate}@media (max-width:768px){.draggable{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.drag-preview{filter:none;transform:translateZ(0) scale(.95)}@keyframes pulse-border{0%,to{opacity:.3}50%{opacity:.5}}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.drop-indicator-line:after{animation:none}}