:root {
    --color-primary: #0284c7;
    --color-sky-300: #7dd3fc;
    --color-sky-400: #38bdf8;
    --color-slate-900: #0f172a;
    --spring-easing: cubic-bezier(0.34, 1.56, 0.64, 1);
    --smooth-out: cubic-bezier(0.4, 0, 0.2, 1);
}

* { 
    -webkit-tap-highlight-color: transparent;
    outline: none; 
}

body { 
    font-family: 'Plus Jakarta Sans', sans-serif;
    background: #f8fafc; 
    color: var(--color-slate-900);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    padding-bottom: env(safe-area-inset-bottom);
}

nav.glass-panel { 
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(20px); 
    -webkit-backdrop-filter: blur(20px); 
    padding-top: env(safe-area-inset-top); 
}

button:active { 
    transform: scale(0.96);
}

.artistic-lehrjahr {
    font-family: 'Dancing Script', cursive;
    position: absolute;
    color: rgba(186, 230, 253, 0.4); 
    font-size: 1.2rem;
    transform: rotate(-18deg);
    white-space: nowrap;
    pointer-events: none;
    z-index: 5;
    text-shadow: 0 0 10px rgba(2, 132, 199, 0.2);
}
@media (min-width: 768px) {
    .artistic-lehrjahr { font-size: 1.8rem; }
}

#network-press, #network-associations {
    transition: opacity 0.7s var(--smooth-out), filter 0.7s var(--smooth-out), transform 0.7s var(--spring-easing);
    will-change: opacity, transform, filter;
}

.rotate-out { opacity: 0; filter: blur(8px); transform: scale(0.96) translateY(10px); }
.rotate-in { opacity: 1; filter: blur(0); transform: scale(1) translateY(0); }

@keyframes frost-thaw-cycle {
    0%, 100% { background-color: #e0f2fe; color: #0369a1; filter: brightness(1.1) contrast(1.2); border-color: #bae6fd; }
    50% { background-color: #0f172a; color: #ffffff; filter: brightness(1) contrast(1); border-color: #1e293b; }
}

@keyframes fire-glow {
    0% { box-shadow: 0 0 10px #f97316, 0 0 20px #ea580c, inset 0 0 10px #facc15; border-color: #fb923c; }
    100% { box-shadow: 0 0 20px #ea580c, 0 0 40px #ef4444, inset 0 0 15px #f59e0b; border-color: #f87171; }
}

.btn-quiz-dynamic {
    animation: frost-thaw-cycle 8s infinite ease-in-out;
    border: 2px solid transparent;
    transition: border-color 0.4s ease, transform 0.3s var(--spring-easing);
}

.btn-quiz-dynamic:hover {
    animation-play-state: paused !important;
    animation: fire-glow 1s infinite alternate ease-in-out !important;
    transform: scale(1.03);
    z-index: 20;
}

@keyframes subtle-glide-rotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.chart-glide-smooth { animation: subtle-glide-rotate 40s linear infinite; will-change: transform; }

.ice-hover-effect {
    color: #bae6fd;
    text-shadow: 0 0 8px rgba(186, 230, 253, 0.6);
    transition: all 0.6s var(--spring-easing);
    text-decoration: none;
}
.ice-hover-effect:hover {
    color: #ffffff;
    text-shadow: 0 0 20px #fff, 0 0 40px #7dd3fc, 0 0 60px #38bdf8;
    filter: brightness(1.3);
    transform: scale(1.02);
}

.blue-hole-container { 
    position: absolute; width: clamp(90px, 12vw, 120px); height: clamp(90px, 12vw, 120px); 
    filter: drop-shadow(0 0 45px rgba(2, 132, 199, 0.6)); transition: transform 1s ease, opacity 2s ease; 
    z-index: 5; display: flex; align-items: center; justify-content: center; pointer-events: none;
}
.blue-hole-core { 
    width: 35%; height: 35%; border-radius: 50%; 
    background: radial-gradient(circle, #000 30%, #0284c7 70%, transparent 100%);
    box-shadow: inset 0 0 20px rgba(56, 189, 248, 0.8); 
}
.accretion-disk { 
    position: absolute; width: 100%; height: 100%; border-radius: 50%; 
    border: 2px solid rgba(56, 189, 248, 0.1); border-top: 10px solid rgba(186, 230, 253, 0.5);
    animation: spin 1s linear infinite; filter: blur(8px); 
}
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

@keyframes gamma-burst {
    0% { transform: scale(0); opacity: 0; }
    10% { transform: scale(2); opacity: 1; }
    100% { transform: scale(15); opacity: 0; }
}
.gamma-flash { 
    background: radial-gradient(circle, #fff 10%, #bae6fd 50%, transparent 70%);
    animation: gamma-burst 0.8s var(--spring-easing) forwards; 
    position: absolute; pointer-events: none; width: 100px; height: 100px; z-index: 50;
}

.nav-desktop-item { 
    font-size: 0.85rem; padding: 0.6rem 1.2rem; font-weight: 700; color: #475569; 
    transition: all 0.4s var(--spring-easing); border-radius: 99px;
}
.nav-desktop-item.active-pill { 
    background: var(--color-primary); color: white !important; box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.3);
}

.fade-section { display: none; opacity: 0; transform: translateY(20px); transition: 0.7s var(--spring-easing); }
.fade-section.active { display: block; opacity: 1; transform: translateY(0); }

.card-supreme { 
    background: white; border-radius: 2.2rem; border: 1px solid rgba(226, 232, 240, 0.6); 
    transition: all 0.5s var(--spring-easing); display: flex; flex-direction: column;
    box-shadow: 0 4px 10px -2px rgba(0, 0, 0, 0.03); overflow: hidden; position: relative; z-index: 10;
}
@media (hover: hover) { 
    .card-supreme:hover { transform: translateY(-8px); box-shadow: 0 35px 70px -15px rgba(0, 0, 0, 0.08); border-color: #bae6fd; } 
}

.action-container { position: absolute; top: 1.2rem; right: 1.2rem; display: flex; gap: 0.6rem; z-index: 40; }
.action-btn { 
    width: 3rem; height: 3rem; background: #f8fafc; border-radius: 1rem; 
    display: flex; align-items: center; justify-content: center; font-size: 1.2rem;
    box-shadow: 0 4px 10px rgba(0,0,0,0.04); transition: all 0.3s var(--spring-easing); border: 1px solid #e2e8f0;
}

#kryos-sidebar-dock { 
    position: fixed; z-index: 9999; touch-action: none; 
    transition: left 0.6s cubic-bezier(0.28, 0.84, 0.42, 1), right 0.6s cubic-bezier(0.28, 0.84, 0.42, 1), transform 0.4s cubic-bezier(0.28, 0.84, 0.42, 1), opacity 0.4s ease; 
    width: 64px; height: 64px; 
}
#kryos-sidebar-dock.tucked-left { left: -32px !important; }
#kryos-sidebar-dock.tucked-right { right: -32px !important; }

#kryos-trigger { 
    width: 100%; height: 100%; background: rgba(15, 23, 42, 0.95); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    border-radius: 50%; box-shadow: 0 10px 30px rgba(0,0,0,0.5); border: 1px solid rgba(51, 65, 85, 0.6); 
    display: flex; align-items: center; justify-content: center; transition: all 0.3s cubic-bezier(0.28, 0.84, 0.42, 1); cursor: grab; overflow: hidden; padding: 12px;
}
#kryos-trigger:active { cursor: grabbing; transform: scale(0.92); }

#kryos-chat-window { 
    width: min(420px, 92vw); height: min(650px, 80vh); display: none; background: white; border-radius: 2.5rem; 
    box-shadow: 0 50px 100px -20px rgba(0,0,0,0.3); border: 1px solid #f1f5f9; flex-direction: column; overflow: hidden; position: fixed; z-index: 10000; 
}
#kryos-chat-window.open { display: flex; animation: springReveal 0.7s var(--spring-easing); }
@keyframes springReveal { from { opacity: 0; transform: scale(0.9) translateY(40px); } to { opacity: 1; transform: scale(1) translateY(0); } }

.active-pill { background: var(--color-primary) !important; color: white !important; box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.3); }

.footer-glow { background: radial-gradient(circle at top, rgba(2, 132, 199, 0.05) 0%, transparent 70%); }
.content-normalized { min-height: 240px; width: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; }

#cookie-banner { position: fixed; bottom: 2rem; left: 50%; transform: translateX(-50%); width: calc(100% - 2rem); max-width: 900px; z-index: 12000; display: none; }
.cookie-glass { background: rgba(255, 255, 255, 0.98); backdrop-filter: blur(24px); border: 1px solid rgba(226, 232, 240, 1); border-radius: 2.5rem; box-shadow: 0 50px 100px -20px rgba(0,0,0,0.2); }

#mobile-menu-overlay { 
    display: none; position: fixed; inset: 0; z-index: 110; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(20px); 
    flex-direction: column; align-items: center; justify-content: center; gap: 2.5rem; transform: translateX(100%); transition: transform 0.6s var(--spring-easing); 
}
#mobile-menu-overlay.open { display: flex; transform: translateX(0); }

.hero-title { font-size: clamp(1.8rem, 8vw, 3.75rem) !important; }
.hero-desc { font-size: clamp(0.95rem, 4vw, 1.25rem) !important; }

.quiz-option { border: 1px solid #e2e8f0; transition: all 0.3s var(--spring-easing); cursor: pointer; }
.quiz-option:hover { border-color: var(--color-primary); background: #f0f9ff; transform: scale(1.02); }

.ticker-link { text-decoration: none; transition: all 0.3s var(--spring-easing); }
.ticker-link:hover { background-color: #f0f9ff; border-color: #bae6fd; transform: scale(1.01); }

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* DIE NEUE SOFT-FLOAT ANIMATION FÜR DAS QUIZ (35% sanfter & langsamer) */
@keyframes soft-float {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-8px) scale(1.02); }
}
.animate-soft-float {
    animation: soft-float 2.5s ease-in-out infinite;
}