/* Noctra — Bootstrap dark theme + global reset */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{background:#08080C;scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:#08080C;color:#d4d4d8;line-height:1.6;overflow-x:hidden;padding-top:68px}
a{color:#a78bfa;text-decoration:none}a:hover{color:#c4b5fd}
img{max-width:100%;height:auto;display:block}
button{cursor:pointer;font-family:inherit}
::selection{background:#8B5CF6;color:#fff}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(139,92,246,.25);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:rgba(139,92,246,.45)}

:root,[data-bs-theme=dark]{--bs-body-bg:#08080C;--bs-body-color:#d4d4d8;--bs-border-color:rgba(255,255,255,.06);--bs-heading-color:#fff;--bs-link-color:#a78bfa;--bs-link-hover-color:#c4b5fd;--bs-primary:#8B5CF6;--bs-primary-rgb:139,92,246;--bs-font-sans-serif:'Inter',system-ui,sans-serif}

/* Botão primário no roxo do site (Bootstrap hardcoda o azul) */
.btn-primary{--bs-btn-bg:#8B5CF6;--bs-btn-border-color:#8B5CF6;--bs-btn-hover-bg:#7C3AED;--bs-btn-hover-border-color:#7C3AED;--bs-btn-active-bg:#6D28D9;--bs-btn-active-border-color:#6D28D9;--bs-btn-disabled-bg:#8B5CF6;--bs-btn-disabled-border-color:#8B5CF6;--bs-btn-focus-shadow-rgb:139,92,246}

.container{max-width:1160px;padding-left:20px;padding-right:20px}
@media(min-width:1400px){.container{max-width:1240px}}

/* Background effects (shared across all pages) */
.bg-glow{position:fixed;inset:0;pointer-events:none;z-index:0}
.bg-glow-orb{position:absolute;border-radius:50%;filter:blur(120px);opacity:.12}
.bg-glow-1{width:800px;height:800px;background:radial-gradient(circle,rgba(139,92,246,.6),transparent 70%);top:-200px;left:-200px}
.bg-glow-2{width:600px;height:600px;background:radial-gradient(circle,rgba(139,92,246,.4),transparent 70%);bottom:-100px;right:-100px}
.bg-glow-3{width:500px;height:500px;background:radial-gradient(circle,rgba(109,40,217,.3),transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%)}
.bg-grid{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.02;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:60px 60px}

@keyframes discLeftFt  { 0% { transform: translateX(0); } 100% { transform: translateX(-64px); } }
@keyframes discRightFt { 0% { transform: translateX(-64px); } 100% { transform: translateX(0); } }
