:root {
    --pink: #ff2d78;
    --blue: #00c3ff;
    --purple: #9b30ff;
    --white: #ffffff;
    --dark: #05050f;

    --glow-pink: 0 0 20px #ff2d78, 0 0 60px #ff2d7855;
    --glow-blue: 0 0 20px #00c3ff, 0 0 60px #00c3ff55;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    background: var(--dark);
    color: var(--white);
    font-family: 'Rajdhani', sans-serif;
    overflow: hidden;
}

/* HOCHFORMAT */
#app {
    width: 1080px;
    height: 1920px;
    margin: auto;
    position: relative;
    overflow: hidden;
}

/* BACKGROUND GLOW */
#app::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 30%, rgba(255,45,120,0.2), transparent),
        radial-gradient(circle at 80% 20%, rgba(0,195,255,0.2), transparent),
        radial-gradient(circle at 50% 100%, rgba(155,48,255,0.2), transparent);
}

/* VIEW */
.view {
    position: absolute;
    inset: 0;
    padding: 190px 80px 80px;
}

/* HEADER */
.app-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 190px;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-bottom: 3px solid rgba(0,195,255,0.65);
    background:
        linear-gradient(105deg, rgba(255,45,120,0.55), rgba(84,20,142,0.46) 48%, rgba(0,195,255,0.58)),
        radial-gradient(circle at 50% 45%, rgba(255,255,255,0.13), transparent 38%),
        var(--dark);
    box-shadow: 0 18px 70px rgba(0,0,0,0.55), 0 0 46px rgba(0,195,255,0.38);
}

.header-brand {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 0.9;
    letter-spacing: 0;
}

.app-header::before,
.app-header::after {
    content: '';
    position: absolute;
    inset: -35px;
    pointer-events: none;
}

.app-header::before {
    background:
        linear-gradient(74deg, transparent 8%, rgba(255,45,120,0.0) 20%, rgba(255,255,255,0.85) 21%, rgba(255,45,120,0.42) 23%, transparent 31%),
        linear-gradient(106deg, transparent 68%, rgba(0,195,255,0.38) 76%, rgba(255,255,255,0.9) 78%, transparent 84%);
    filter: blur(1px);
    opacity: 0.8;
}

.app-header::after {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.32'/%3E%3C/svg%3E");
    opacity: 0.26;
}

.header-upk {
    font-family: 'Orbitron', sans-serif;
    font-size: 64px;
    font-weight: 900;
    color: transparent;
    -webkit-text-stroke: 2px rgba(255,135,218,0.95);
    text-shadow: 0 0 18px rgba(255,45,120,0.95), 0 0 42px rgba(255,45,120,0.55);
}

.header-event {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 78px;
    color: #ffffff;
    text-shadow: 0 0 14px rgba(255,255,255,0.95), 0 0 34px rgba(0,195,255,0.75), 0 0 52px rgba(255,45,120,0.55);
}

.hidden {
    display: none;
}

/* TITLE */
.title {
    font-family: 'Orbitron', sans-serif;
    font-size: 80px;
    text-align: center;
    margin-bottom: 60px;
    color: transparent;
    -webkit-text-stroke: 2px var(--pink);
    text-shadow: var(--glow-pink);
}

/* CATEGORY */
.category {
    margin-bottom: 50px;
}

.category h2 {
    font-family: 'Orbitron';
    font-size: 40px;
    color: var(--blue);
    text-shadow: var(--glow-blue);
    margin-bottom: 20px;
}

/* ITEMS */
.item {
    display: flex;
    justify-content: space-between;
    font-size: 32px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}

/* SPONSOR */
#sponsorView {
    top: 190px;
    bottom: 0;
    padding: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow: hidden;
}

#sponsorView.hidden {
    display: none;
}

#sponsorView img {
    width: auto;
    height: auto;
    max-width: none;
    max-height: none;
}

/* NOISE */
.noise {
    position: fixed;
    inset: 0;
    opacity: 0.03;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
/* FADE TRANSITION */
.view {
    position: absolute;
    inset: 0;
    padding: 230px 80px 80px;
    opacity: 0;
    transition: opacity 1s ease;
}

.view.active {
    opacity: 1;
    z-index: 2;
}

/* MENU SCROLL */
#menuView {
    overflow: hidden;
}

.menu-inner {
    display: flex;
    flex-direction: column;
    gap: 40px;
    animation: scrollMenu linear infinite;
}

/* AUTO SCROLL (wird per JS gesetzt) */
@keyframes scrollMenu {
    from { transform: translateY(0); }
    to { transform: translateY(-50%); }
}

/* ITEMS UPGRADE */
.item {
    display: flex;
    justify-content: space-between;
    font-size: 34px;
    padding: 10px 0;
}

.item span:last-child {
    font-family: 'Orbitron';
    color: var(--pink);
    text-shadow: var(--glow-pink);
    font-size: 36px;
}
