:root {
    --bg-dark: #05040a; --bg-panel: #110f1e; --accent-purple: #9333ea;
    --accent-blue: #3b82f6; --text-light: #f3f4f6; --text-muted: #9ca3af;
}
html { font-family: 'Inter', sans-serif; }
body { background-color: var(--bg-dark); color: var(--text-light); overflow-x: hidden; }
.glow-effect { position: absolute; filter: blur(150px); z-index: -1; pointer-events: none; opacity: 0.15; transition: opacity 0.5s; }
.text-gradient-dynamic { background: linear-gradient(90deg, var(--accent-purple), var(--accent-blue)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; text-fill-color: transparent; }

@keyframes blink { 50% { opacity: 0; } }
.typing-container .typing-cursor { color: var(--accent-purple); animation: blink 0.7s step-end infinite; }

.faq-item .faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.5s cubic-bezier(0.22, 1, 0.36, 1); }
.faq-item.active .faq-answer { max-height: 200px; }
.faq-item .faq-toggle { transition: transform 0.3s ease; }
.faq-item.active .faq-toggle { transform: rotate(45deg); }

@keyframes continuous-scroll { to { transform: translateX(calc(-50% - 0.75rem)); } }
.scroller-inner { display: flex; flex-wrap: nowrap; gap: 1.5rem; animation: continuous-scroll 60s linear infinite; }
.scroller:hover .scroller-inner { animation-play-state: paused; }

@keyframes ticker-scroll-endless { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.ticker-wrapper { overflow: hidden; }
.ticker-content { display: flex; flex-shrink: 0; animation: ticker-scroll-endless 40s linear infinite; }
.ticker-content span { flex-shrink: 0; }

@keyframes fade-in-out { 0%, 100% { opacity: 0; transform: translateY(1rem); } 10%, 90% { opacity: 1; transform: translateY(0); } }
.purchase-notification { 
    animation: fade-in-out 6s ease-in-out forwards;
    background-color: rgba(17, 15, 30, 0.7);
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}

.scribble-highlight { position: relative; display: inline-block; }
.scribble-svg { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -52%); width: calc(100% + 40px); height: calc(100% + 50px); pointer-events: none; z-index: 1; }
.scribble-path { stroke-width: 4.5px; stroke-linecap: round; stroke-linejoin: round; fill: none; stroke: url(#scribble-gradient); stroke-dasharray: var(--scribble-length, 1000); stroke-dashoffset: var(--scribble-length, 1000); }
#enem-focus.is-visible .scribble-path { animation: draw-scribble 1s cubic-bezier(0.76, 0, 0.24, 1) 0.3s forwards; }
@keyframes draw-scribble { to { stroke-dashoffset: 0; } }

#cosmic-container {
    position: relative;
    background-color: var(--bg-dark);
    border-radius: 1.5rem;
    padding: 3.5rem 2rem;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 450px;
    background-image: radial-gradient(ellipse 50% 50% at 50% 50%, rgba(17, 15, 30, 0.9), var(--bg-dark) 70%);
}
#cosmic-canvas {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: 1; opacity: 0.7;
}
.cosmic-content {
    position: relative;
    z-index: 2;
    text-shadow: 0 0 15px rgba(0,0,0,0.7);
}