.high-contrast{--bg-primary:#000;--bg-secondary:#fff;--text-primary:#fff;--text-secondary:#000;--border-color:#fff;--accent-color:#ff0;--error-color:red;--success-color:#0f0;--warning-color:#ff0;--info-color:#0ff}.high-contrast body{background:var(--bg-primary);color:var(--text-primary)}.high-contrast *{border-color:var(--border-color)!important}.high-contrast a{color:var(--accent-color);text-decoration:underline}.high-contrast button{background:var(--bg-secondary);color:var(--text-secondary);border:2px solid var(--border-color)}.high-contrast input,.high-contrast select,.high-contrast textarea{background:var(--bg-primary);color:var(--text-primary);border:2px solid var(--border-color)}.focus-visible,.focus-visible:focus{outline-offset:2px;outline:2px solid #06c}.high-contrast .focus-visible:focus{outline-offset:3px;outline:3px solid #ff0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:2px solid #06c}.high-contrast button:focus-visible,.high-contrast input:focus-visible,.high-contrast select:focus-visible,.high-contrast textarea:focus-visible,.high-contrast a:focus-visible,.high-contrast [tabindex]:focus-visible{outline-offset:3px;outline:3px solid #ff0}.reduced-motion *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-font-size=small]{font-size:.875rem}[data-font-size=medium]{font-size:1rem}[data-font-size=large]{font-size:1.125rem}[data-font-size=small] h1{font-size:1.5rem}[data-font-size=small] h2{font-size:1.25rem}[data-font-size=small] h3{font-size:1.125rem}[data-font-size=small] h4{font-size:1rem}[data-font-size=medium] h1{font-size:2rem}[data-font-size=medium] h2{font-size:1.5rem}[data-font-size=medium] h3{font-size:1.25rem}[data-font-size=medium] h4{font-size:1.125rem}[data-font-size=large] h1{font-size:2.25rem}[data-font-size=large] h2{font-size:1.75rem}[data-font-size=large] h3{font-size:1.5rem}[data-font-size=large] h4{font-size:1.25rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only-focusable:focus{width:auto;height:auto;padding:inherit;margin:inherit;clip:auto;white-space:inherit;position:static;overflow:visible}.skip-link{color:#fff;white-space:nowrap;z-index:9999;background:#000;border:2px solid #fff;border-radius:4px;padding:8px;font-size:14px;font-weight:500;text-decoration:none;transition:top .3s ease-in-out;position:absolute;top:-40px;left:6px;box-shadow:0 2px 4px #0003}.skip-link:focus{top:6px}.skip-link:hover{background:#333;text-decoration:underline}.high-contrast .skip-link{color:#fff;background:#000;border:3px solid #fff;box-shadow:0 0 0 3px #000}@media (prefers-color-scheme:dark){.skip-link{color:#000;background:#fff;border-color:#000}.skip-link:hover{background:#f0f0f0}}[aria-live]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.focus-trap-active{position:relative}.focus-trap-active:before{content:"";pointer-events:none;border:2px solid #06c;border-radius:6px;position:absolute;inset:-4px}.high-contrast .focus-trap-active:before{border-width:3px;border-color:#ff0}.keyboard-navigation :focus{outline-offset:2px!important;outline:2px solid #06c!important}.touch-target{min-width:44px;min-height:44px}.touch-target-large{min-width:48px;min-height:48px}.contrast-improved{color:#000;background:#fff}.contrast-improved a{color:#06c;text-decoration:underline}.contrast-improved a:hover{color:#049}.error-state{background-color:#fef2f2!important;border-color:#dc2626!important}.error-state:focus{outline-color:#dc2626!important}.error-message{color:#dc2626;margin-top:.25rem;font-size:.875rem}.success-state{background-color:#f0fdf4!important;border-color:#16a34a!important}.warning-state{background-color:#fffbeb!important;border-color:#d97706!important}.info-state{background-color:#eff6ff!important;border-color:#2563eb!important}.disabled-state{opacity:.6;cursor:not-allowed}.disabled-state *{pointer-events:none}.loading-state{pointer-events:none;position:relative}.loading-state:after{content:"";border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:20px;height:20px;margin:-10px 0 0 -10px;animation:1s linear infinite spin;position:absolute;top:50%;left:50%}.reduced-motion .loading-state:after{border-top-color:#e5e7eb;animation:none}@media (prefers-reduced-motion:reduce){.loading-state:after{border-top-color:#e5e7eb;animation:none}}@keyframes spin{to{transform:rotate(360deg)}}@media print{.skip-link,[aria-live],.sr-only{display:none!important}*{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}}@media (prefers-contrast:high){:root{--bg-primary:#000;--bg-secondary:#fff;--text-primary:#fff;--text-secondary:#000;--border-color:#fff;--accent-color:#ff0}*{border-color:var(--border-color)!important}a{color:var(--accent-color)!important;text-decoration:underline!important}button{background:var(--bg-secondary)!important;color:var(--text-secondary)!important;border:2px solid var(--border-color)!important}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.tutorial-highlight{position:relative;z-index:45!important;border-radius:8px!important;transition:all .3s!important;box-shadow:0 0 0 4px #3b82f680,0 0 20px #3b82f64d!important}.tutorial-highlight:before{content:"";pointer-events:none;border:2px solid #3b82f6;border-radius:10px;animation:2s ease-in-out infinite tutorial-pulse;position:absolute;inset:-4px}.tutorial-highlight:after{content:"";pointer-events:none;background:radial-gradient(circle,#3b82f61a 0%,#0000 70%);border-radius:12px;animation:2s ease-in-out infinite tutorial-glow;position:absolute;inset:-8px}@keyframes tutorial-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes tutorial-glow{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.1;transform:scale(1.1)}}.tutorial-tooltip{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border:1px solid #e5e7eb;border-radius:12px;max-width:400px;position:fixed;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.dark .tutorial-tooltip{color:#f9fafb;background:#1f2937;border-color:#374151}.tutorial-tooltip-arrow{background:inherit;border:inherit;width:12px;height:12px;position:absolute;transform:rotate(45deg)}.tutorial-tooltip-arrow.top{border-bottom:none;border-right:none;top:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.tutorial-tooltip-arrow.bottom{border-top:none;border-left:none;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.tutorial-tooltip-arrow.left{border-bottom:none;border-right:none;top:50%;left:-6px;transform:translateY(-50%)rotate(45deg)}.tutorial-tooltip-arrow.right{border-top:none;border-left:none;top:50%;right:-6px;transform:translateY(-50%)rotate(45deg)}.tutorial-hotspot{cursor:pointer;transition:all .3s;position:relative}.tutorial-hotspot:hover{transform:scale(1.05)}.tutorial-hotspot-pulse{border-radius:inherit;animation:2s ease-in-out infinite hotspot-pulse;position:absolute;inset:0}@keyframes hotspot-pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.tutorial-hotspot-ring{border-radius:inherit;border:2px solid #3b82f6;animation:2s ease-in-out infinite hotspot-ring;position:absolute;inset:-4px}@keyframes hotspot-ring{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}.tutorial-progress-bar{background:#e5e7eb;border-radius:9999px;position:relative;overflow:hidden}.dark .tutorial-progress-bar{background:#374151}.tutorial-progress-fill{background:linear-gradient(90deg,#3b82f6 0%,#8b5cf6 100%);border-radius:9999px;height:100%;transition:width .5s;position:relative;overflow:hidden}.tutorial-progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);animation:2s infinite progress-shine;position:absolute;inset:0}@keyframes progress-shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.tutorial-achievement{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-radius:9999px;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;animation:.5s ease-out achievement-pop;display:inline-flex;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}@keyframes achievement-pop{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.tutorial-achievement-icon{margin-right:.5rem;animation:1s ease-in-out infinite alternate achievement-shine}@keyframes achievement-shine{0%{filter:brightness()}to{filter:brightness(1.2)}}.tutorial-help-button{transition:all .3s;position:relative}.tutorial-help-button:hover{transform:scale(1.1)}.tutorial-help-button.pulse{animation:2s infinite help-button-pulse}@keyframes help-button-pulse{0%{box-shadow:0 0 #3b82f6b3}70%{box-shadow:0 0 0 10px #3b82f600}to{box-shadow:0 0 #3b82f600}}.tutorial-card{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem;transition:all .3s}.dark .tutorial-card{background:#1f2937;border-color:#374151}.tutorial-card:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.tutorial-card.completed{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border-color:#10b981}.dark .tutorial-card.completed{background:linear-gradient(135deg,#064e3b 0%,#065f46 100%)}.tutorial-card.featured{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border-color:#f59e0b}.dark .tutorial-card.featured{background:linear-gradient(135deg,#78350f 0%,#92400e 100%)}.tutorial-search-highlight{color:#92400e;background:#fef3c7;border-radius:.25rem;padding:.125rem .25rem;font-weight:500}.dark .tutorial-search-highlight{color:#fef3c7;background:#92400e}.tutorial-loading{position:relative;overflow:hidden}.tutorial-loading:after{content:"";background:linear-gradient(90deg,#0000,#fffc,#0000);width:100%;height:100%;animation:1.5s infinite loading-shimmer;position:absolute;top:0;left:-100%}@keyframes loading-shimmer{0%{left:-100%}to{left:100%}}@media (max-width:640px){.tutorial-tooltip{max-width:280px;font-size:.875rem}.tutorial-hotspot-ring{inset:-2px}.tutorial-progress-bar{height:.5rem}}@media (prefers-reduced-motion:reduce){.tutorial-highlight:before,.tutorial-highlight:after,.tutorial-hotspot-pulse,.tutorial-hotspot-ring,.tutorial-progress-fill:after,.tutorial-achievement,.tutorial-help-button.pulse,.tutorial-loading:after{animation:none}.tutorial-card:hover{transform:none}}@media (prefers-contrast:high){.tutorial-highlight{box-shadow:0 0 0 4px #000,0 0 0 8px #fff!important}.tutorial-tooltip{border-width:2px}.tutorial-progress-fill{background:#000}}.tutorial-focusable:focus,.tutorial-focusable:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}@media print{.tutorial-tooltip,.tutorial-spotlight,.tutorial-hotspot,.tutorial-help-button{display:none!important}}
