* {
    box-sizing: border-box;
    font-family: system-ui, sans-serif;
}

html, body {
    margin: 0;
    padding: 0;
    min-height: 100%;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    /*background: #0b0615;*/
    color: #fff;
    min-height: 100vh;
    
    background: url("/img/background.svg") no-repeat center center fixed;
    background-size: cover;

}

/* MENU */
.main-menu {
    position: sticky;
    top: 0;
    z-index: 1000;
    
    display: flex;
    gap: 20px;
    padding: 16px 32px;
    background: rgba(0,0,0,0.9);
    border-bottom: 1px solid #3b0764;
}

.main-menu a {
    color: #c084fc;
    text-decoration: none;
    font-weight: 600;
}

.main-menu button {
    color: #c084fc;
    text-decoration: none;
    font-weight: 600;
    background: rgba(0,0,0,0.9);
}

.main-menu a:hover {
    color: #fff;
}

/* HERO */
.hero {
    /*height: 70vh;*/
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    
}

.hero h1 {
    font-size: 3rem;
    margin-bottom: 10px;
}

.hero p {
    opacity: 0.8;
}

.hero li {
    color: #c084fc;
}

.hero a {
    color:white;
}

.party-list {
    padding: 60px 40px;
    margin-bottom: 40px;
    
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.party-list h2 {
    margin-bottom: 20px;
    color: #a855f7;
}

.tables {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    max-width: 1200px;
}

@media (max-width: 900px) {
    .tables {
        grid-template-columns: 1fr;
    }
}

.party-list table {
    width: 100%;
    max-width: 800px;
    border-collapse: collapse;
    background: rgba(0,0,0,0.4);
    border-radius: 12px;
    overflow: hidden;
}

.party-list thead {
    position: sticky;
    top: 0;
    background: #14001f;
}

.party-list th,
.party-list td {
    padding: 14px 16px;
    border-bottom: 1px solid rgba(168,85,247,0.15);
}

.party-list td a {
    color:white;
    text-decoration: none;
}


.party-list th {
    text-align: left;
    color: #c084fc;
}

.party-list tr:hover {
    background: rgba(168,85,247,0.08);
}




/* RESULTS */
.results {
    padding: 40px;
}

.party-list-r {
    max-width: 600px;
    margin-bottom: 40px;
}

.party {
    display: grid;
    grid-template-columns: 60px 1fr 120px;
    padding: 12px;
    border-bottom: 1px solid #3b0764;
}

.party .number {
    font-weight: bold;
    color: #a855f7;
}

#chart {
    /*max-width: 800px;*/
    height: 400px;
}

.chart {
    margin-bottom: 60px;
}

.violet {
    color: #c084fc;
}