*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden;width:100%;max-width:100vw;position:relative}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#0a0a0f;color:#fff;line-height:1.6;min-height:100vh}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}*{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0a0a0f}::-webkit-scrollbar-thumb{background:#2a2a3a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#8a2be2}*{scrollbar-width:thin;scrollbar-color:#2A2A3A #0A0A0F}.scrollbar-tiny::-webkit-scrollbar{width:4px;height:4px}.scrollbar-tiny{scrollbar-width:thin;scrollbar-color:#2A2A3A #0A0A0F}.scrollbar-nearly-invisible::-webkit-scrollbar{width:2px;height:2px}.scrollbar-nearly-invisible::-webkit-scrollbar-track{background:transparent}.scrollbar-nearly-invisible::-webkit-scrollbar-thumb{background:#2a2a3a59;border-radius:2px}.scrollbar-nearly-invisible{scrollbar-width:thin;scrollbar-color:rgba(42,42,58,.35) transparent}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-left{padding-left:env(safe-area-inset-left)}.safe-area-right{padding-right:env(safe-area-inset-right)}@media(max-width:768px){.mobile-content{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}@media(max-width:768px){button,a,input[type=button],input[type=submit],[role=button],[tabindex="0"]{min-height:44px;min-width:44px;touch-action:manipulation}button{touch-action:manipulation}}@media(max-width:768px){input,textarea,select{font-size:16px;-webkit-appearance:none;appearance:none}input:focus,textarea:focus,select:focus{font-size:16px}}img,video,canvas,svg{max-width:100%;height:auto;display:block}@media(max-width:640px){h1{font-size:clamp(2rem,8vw,3rem)}h2{font-size:clamp(1.75rem,6vw,2.5rem)}h3{font-size:clamp(1.5rem,5vw,2rem)}h4{font-size:clamp(1.25rem,4vw,1.75rem)}h5{font-size:clamp(1.1rem,3vw,1.5rem)}h6{font-size:clamp(1rem,2.5vw,1.25rem)}}@media(max-width:768px){.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive table{min-width:600px}}@media(max-width:640px){.mobile-stack{flex-direction:column}.mobile-full-width{width:100%!important}}@media(max-width:768px){[role=dialog],.modal,.overlay{max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch}}@media(max-width:768px){.mobile-nav-bottom{position:fixed;bottom:0;left:0;right:0;z-index:50;padding-bottom:env(safe-area-inset-bottom)}.desktop-nav{display:none}}@media(max-width:640px){.card,.container,.section{padding-left:1rem;padding-right:1rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.animate-smooth{will-change:transform;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.no-scroll{overflow:hidden;position:fixed;width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media(prefers-color-scheme:dark){:root{color-scheme:dark}}@media print{body{background:#fff;color:#000}.no-print{display:none!important}}:focus-visible{outline:2px solid #8A2BE2;outline-offset:2px}:focus:not(:focus-visible){outline:none}@media(prefers-contrast:high){*{border-color:currentColor!important}}@media(max-width:900px)and (orientation:landscape){.landscape-hide{display:none}body{height:100vh;overflow-y:auto}}@supports (-webkit-touch-callout: none){body,.ios-fix{min-height:-webkit-fill-available}}@media screen and (max-width:768px){.full-height{min-height:calc(100vh - 56px)}}
