body{background-color:#0a0a0c;color:#e2e8f0}body.light-mode{background-color:#f8f9fa;color:#1a1a1a}body.light-mode ::-webkit-scrollbar-track{background:#e9ecef}body.light-mode ::-webkit-scrollbar-thumb{background:#adb5bd;border-radius:4px}body.light-mode ::-webkit-scrollbar-thumb:hover{background:#868e96}body.high-contrast{background-color:#000;color:gold}body.high-contrast ::-webkit-scrollbar-track{background:#000}body.high-contrast ::-webkit-scrollbar-thumb{background:gold;border-radius:4px}body.high-contrast ::-webkit-scrollbar-thumb:hover{background:orange}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#121216}::-webkit-scrollbar-thumb{background:#2d3748;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#4a5568}*:focus-visible{outline:2px solid currentColor;outline-offset:2px}body.high-contrast *:focus-visible{outline:3px solid #ffd700;outline-offset:3px}body.light-mode *:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}.skip-to-content{position:absolute;top:-40px;left:0;background:#000;color:#fff;padding:8px;text-decoration:none;z-index:100}.skip-to-content:focus{top:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.search-bar{display:flex;flex-direction:column;gap:.5rem;width:100%}.search-bar-container{position:relative;display:flex;align-items:center;width:100%}.search-icon{position:absolute;left:.75rem;color:var(--text-secondary);pointer-events:none;z-index:1}.search-input{width:100%;padding:.625rem 2.5rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}.search-input::placeholder{color:var(--text-secondary);opacity:.6}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-transparent)}.search-loading{position:absolute;right:2.5rem;display:flex;align-items:center;justify-content:center;color:var(--accent)}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.search-clear{position:absolute;right:.5rem;padding:.25rem;background:transparent;border:none;border-radius:.25rem;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s,color .2s}.search-clear:hover{background:var(--hover-bg);color:var(--text-primary)}.search-clear:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.search-hint{font-size:.75rem;color:var(--text-secondary);opacity:.8;display:flex;align-items:center;gap:.25rem}.search-hint kbd{padding:.125rem .375rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:.25rem;font-size:.7rem;font-family:Courier New,monospace;box-shadow:0 1px 2px #0000001a}body.high-contrast .search-input{border-width:2px}body.high-contrast .search-input:focus{border-color:gold;box-shadow:0 0 0 3px #ffd7004d}body.high-contrast .search-hint kbd{border-width:2px;font-weight:700}body.light-mode .search-input{background:#fff;border-color:#d1d5db}body.light-mode .search-input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}body.light-mode .search-clear:hover{background:#f3f4f6}body.light-mode .search-hint kbd{background:#f9fafb;border-color:#d1d5db}mark{background:var(--accent-transparent);color:var(--accent);padding:.125rem .25rem;border-radius:.25rem;font-weight:600}body.high-contrast mark{background:gold;color:#000;font-weight:700}body.light-mode mark{background:#4f46e51a;color:#4f46e5}.search-highlight{animation:search-pulse 2s ease-in-out}@keyframes search-pulse{0%,to{box-shadow:none}50%{box-shadow:0 0 0 4px var(--accent-transparent),0 0 20px var(--accent-transparent)}}body.high-contrast .search-highlight{animation:search-pulse-hc 2s ease-in-out}@keyframes search-pulse-hc{0%,to{box-shadow:none}50%{box-shadow:0 0 0 4px #ffd70080,0 0 20px #ffd7004d}}.animate-fade-in{animation:fade-in .2s ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tab-content-enter{animation:tab-fade-in .3s ease-out}@keyframes tab-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.transition-smooth{transition:all .2s ease-in-out}.transition-colors-smooth{transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.success-pulse{animation:success-pulse .6s ease-out}@keyframes success-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.error-shake{animation:error-shake .4s ease-in-out}@keyframes error-shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}@media(max-width:768px){button,[role=button],a,input[type=checkbox],input[type=radio]{min-height:44px;min-width:44px}button:not(.tab-btn):not(.list-item-btn){padding:.75rem}input[type=text],input[type=number],input[type=email],textarea,select{font-size:16px;padding:.75rem}body{font-size:16px;line-height:1.6}.modal-content{max-height:90vh;width:95vw}.mobile-sticky-header{position:sticky;top:0;z-index:10}.mobile-scroll-container{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}}@media(min-width:769px)and (max-width:1024px){button{min-height:40px;min-width:40px}}@media(max-width:896px)and (orientation:landscape){header{min-height:60px}.stat-block-container{gap:.5rem}}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.border{border-width:.5px}}.btn-press{transition:transform .1s ease-out,box-shadow .1s ease-out}.btn-press:active{transform:scale(.95);box-shadow:inset 0 2px 4px #0003}.hover-scale{transition:transform .2s ease-out}.hover-scale:hover{transform:scale(1.02)}.focus-ring{transition:box-shadow .2s ease-out,outline .2s ease-out}.focus-ring:focus-visible{outline:2px solid currentColor;outline-offset:2px;animation:focus-pulse 1.5s ease-out infinite}@keyframes focus-pulse{0%,to{outline-opacity:1}50%{outline-opacity:.5}}.checkbox-bounce{transition:transform .3s cubic-bezier(.68,-.55,.265,1.55)}.checkbox-bounce:checked{animation:checkbox-check .3s ease-out}@keyframes checkbox-check{0%{transform:scale(.8)}50%{transform:scale(1.1)}to{transform:scale(1)}}.input-glow{transition:box-shadow .2s ease-out,border-color .2s ease-out}.input-glow:focus{animation:input-glow-pulse 2s ease-out infinite}@keyframes input-glow-pulse{0%,to{box-shadow:0 0 #3b82f666}50%{box-shadow:0 0 0 4px #3b82f61a}}.card-hover{transition:transform .2s ease-out,box-shadow .2s ease-out}.card-hover:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s ease-out,height .6s ease-out,opacity .6s ease-out;opacity:0}.ripple:active:after{width:200px;height:200px;opacity:1;transition:0s}.color-transition{transition:color .2s ease-out,background-color .2s ease-out,border-color .2s ease-out,fill .2s ease-out,stroke .2s ease-out}.icon-rotate:hover svg{animation:icon-spin .5s ease-out}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.slide-up{animation:slide-up .3s ease-out}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.bounce-attention{animation:bounce-attention .6s ease-out}@keyframes bounce-attention{0%,to{transform:translateY(0)}25%{transform:translateY(-8px)}50%{transform:translateY(-4px)}75%{transform:translateY(-2px)}}.shimmer{position:relative;overflow:hidden}.shimmer:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer-slide 2s infinite}@keyframes shimmer-slide{0%{left:-100%}to{left:100%}}.expand-collapse{transition:max-height .3s ease-out,opacity .3s ease-out,padding .3s ease-out;overflow:hidden}@keyframes number-increment{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.number-change{animation:number-increment .3s ease-out}.input-enhanced{transition:all .2s ease-out;position:relative}.input-enhanced:hover{border-color:currentColor;opacity:.9}.input-enhanced:focus{outline:2px solid currentColor;outline-offset:2px;transform:scale(1.01)}.input-valid{border-color:#10b981!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2310b981'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 13l4 4L19 7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1.25rem;padding-right:2.5rem}.input-invalid{border-color:#ef4444!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23ef4444'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 18L18 6M6 6l12 12'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1.25rem;padding-right:2.5rem;animation:error-shake .4s ease-in-out}.floating-label-container{position:relative}.floating-label{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);transition:all .2s ease-out;pointer-events:none;font-size:1rem;opacity:.6}.floating-label-container input:focus~.floating-label,.floating-label-container input:not(:placeholder-shown)~.floating-label{top:-.5rem;font-size:.75rem;opacity:1;background:inherit;padding:0 .25rem}.input-helper-text{font-size:.75rem;margin-top:.25rem;opacity:.7;transition:all .2s ease-out}.input-helper-text.error{color:#ef4444;opacity:1;animation:slide-up .2s ease-out}.input-helper-text.success{color:#10b981;opacity:1}.char-counter{position:absolute;right:.5rem;bottom:-1.5rem;font-size:.75rem;opacity:.5;transition:opacity .2s ease-out}.char-counter.warning{color:#f59e0b;opacity:1}.char-counter.error{color:#ef4444;opacity:1;font-weight:600}.input-focus-glow:focus{box-shadow:0 0 0 3px #3b82f61a,0 0 20px #3b82f626}textarea.auto-resize{resize:vertical;min-height:3rem;transition:height .2s ease-out}.required-indicator:after{content:"*";color:#ef4444;margin-left:.25rem;font-weight:700}.input-group{position:relative;display:flex;flex-direction:column;gap:.5rem}.input-group label{font-weight:500;font-size:.875rem;display:flex;align-items:center;gap:.5rem}::placeholder{opacity:.5;transition:opacity .2s ease-out}:focus::placeholder{opacity:.3}select.enhanced-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1.25rem;padding-right:2.5rem;appearance:none}select.enhanced-select:hover{background-color:#0000000d}.input-loading{position:relative}.input-loading:after{content:"";position:absolute;right:.75rem;top:50%;transform:translateY(-50%);width:1rem;height:1rem;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}
