.main {
    font-family: 'teko', serif;
}

h3 {
    margin-left: 24px;
    font-size: 2em;
}

.stats-table {
    padding: 2% 0;
}

.stats-row {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.stats-key {
    flex: 4;
}

.stats-value {
    flex: 1;
    text-align: right;
}



.auth-form {
    width: 100%;
    margin: 5vh auto;
    padding: 1vh 0 5vh;
    border-radius: 20px;
    background-color: #191b31;
    box-shadow: black 0 1px 10px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    color: white;
    font-size: 1.3em;
}

.auth-form h2 {
    text-align: center;
}



.auth-form form {
    width: 100%;
}

.auth-form .form-group {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    width: 80%;
    margin: 1vh auto;
}

.auth-form .form-group label {
    margin-bottom: 8px;
    margin-top: 8px;
}


.auth-form .error-holder {
    height: 4vh;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.auth-additional-infos {
    width: 100%;
    font-size: 1em;
    color: white;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}



.host {
    background: linear-gradient(to right, #111024 0%, #201e4e 50%, #111024 100%);
}

.interlude-text {
    padding: 1vh 10% 3vh;
    width: 80%;
    margin: auto;
    text-align: center;
    font-size: 0.9em;
}

.top-bar {
    height: 70px;
    background-color: #191b31;
    color: white;
    border-bottom: 2px solid #1f2136;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    z-index: 99;
    width: 100%;
    top: 0;
    box-shadow: black 0 1px 10px;
}

.top-bar-left {
    flex: 2;
    display: flex;
    height: 100%;
    justify-content: flex-start;
    align-items: center
}

.top-bar-left-home {
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    cursor: pointer;
    text-shadow: none;
    margin-left: 3vw;
    transition: all 0.3s;
}

.top-bar-left-home:hover {
    text-shadow: #FFF 1px 0 10px;
}

.top-bar-left-home img {
    height: 70%;
    width: auto;
}

.top-bar-left-home .title {
    margin: 0 1.5vw 0 1vw;
}

.top-bar-left .tab {
    margin: 0;
    font-weight: bold;
    font-size: 1em;
    background-color: inherit;
    height: 80%;
    width: 10vw;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    transition: all 0.3s;
    cursor: pointer;
    position: relative;
    border-bottom: 0 solid #191b31;
    border-top: 0 solid #191b31;
    box-sizing: border-box;
    text-shadow: none;
    text-align: center;
}

.top-bar-left .tab:hover {
    text-shadow: #FFF 1px 0 5px;
}

.top-bar-left .selected {
    background-color: #10346f;
    border-bottom: 5px solid #1f70ea;
    border-top: 5px solid #10346f;
    text-shadow: none;
}

.top-bar-left .selected:hover {
    text-shadow: none;
}

.top-bar-right {
    flex: 1;
    height: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    margin-right: 3vw;
}



.host {
    background: linear-gradient(to right, #111024 0%, #201e4e 50%, #111024 100%);
}

.interlude-text {
    padding: 5vh 10%;
    width: 80%;
    margin: auto;
    text-align: center;
    font-size: 0.9em;
}

.pause-text {
    padding: 10vh 10%;
}

.images {
    height: auto;
    padding: 0 10%;
    width: 80%;
}

.button-holders {
    display: flex;
    justify-content: center;
    align-items: center;
}

a {
    text-decoration: none;
    font-size: 0.7em;
    text-transform: uppercase;
}

.button-holder {
    background-color: rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    margin: 0 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    transition: all 0.3s;
}

.button-holder:hover {
    background-color: rgba(255, 255, 255, 0.1);
    box-shadow: rgba(255, 255, 255, 0.1) 0 0 10px;
}

.button-holder img {
    width: 50%;
    height: auto;
}

.host {
    background: linear-gradient(to right, #111024 0%, #201e4e 50%, #111024 100%);
}

.interlude-text {
    padding: 5vh 10%;
    width: 80%;
    margin: auto;
    text-align: center;
    font-size: 0.9em;
}

.pause-text {
    padding: 10vh 10%;
}

.images {
    height: auto;
    padding: 0 10%;
    width: 80%;
}

.button-holders {
    display: flex;
    justify-content: center;
    align-items: center;
}

a {
    text-decoration: none;
    font-size: 0.7em;
    text-transform: uppercase;
}

.button-holder {
    background-color: rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    margin: 0 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    transition: all 0.3s;
}

.button-holder:hover {
    background-color: rgba(255, 255, 255, 0.1);
    box-shadow: rgba(255, 255, 255, 0.1) 0 0 10px;
}

.button-holder img {
    width: 50%;
    height: auto;
}

.board-game {
    margin: 5vh auto;
}

.board-game-home-top-bar {
    width: 100%;
    height: 10vh;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    background-color: #191b31;
    border-bottom: 2px solid #1f2136;
    box-shadow: black 0 1px 10px;
}

.board-game-home-top-button {
    flex: 10;
    height: 100%;
    justify-content: center;
    align-items: center;
    display: flex;
    border-radius: 5px;
    width: 100px;
    max-width: 25vw;
    margin: 0 5px;
    text-align: center;
    color: #FFF;
    box-sizing: border-box;
    transition: all 0.3s;
    cursor: auto;
}

.board-game-home-top-button-active {
    background-color: #10346f;
    border-bottom: 5px solid #1f70ea;
    border-top: 5px solid #10346f;
}

.board-game-home-top-button-inactive {
    background-color: #191b31;
    border-bottom: 5px solid #191b31;
    border-top: 5px solid #191b31;
    cursor: pointer;
}

.board-game-home-top-button-disabled {
    background-color: #434152;
    border-bottom: 5px solid #434152;
    border-top: 5px solid #434152;
    color: gray;
}

.card-title {
    font-size: 1.3em;
    font-weight: bold;
    margin-bottom: 12px;
}


.carousel-root, .carousel.carousel-slider,
.carousel .slider-wrapper, .carousel .slider-wrapper.axis-horizontal .slider,
.carousel .slider-wrapper.axis-horizontal .slider .slide {
    height: 100%;
}

.carousel .thumbs-wrapper {
    display: none;
}

.carousel .carousel-status {
    display: none;
}

.carousel.carousel-slider .control-arrow {
    color: white;
}

b {
    text-shadow: white 0 0 2px;
}

.board-game-build-action {
    height: 70px;
    width: 120%;
    margin-left: -13%;
    border-radius: 12px;
    border: 2px solid #10346f;
    background-color: #191b31;
    padding: 0 3%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.board-game-build-action-container {
    flex: 1;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.carousel .control-arrow,.carousel.carousel-slider .control-arrow{-webkit-transition:all .25s ease-in;-moz-transition:all .25s ease-in;-ms-transition:all .25s ease-in;-o-transition:all .25s ease-in;transition:all .25s ease-in;opacity:.4;filter:alpha(opacity=40);position:absolute;z-index:2;top:20px;background:none;border:0;font-size:32px;cursor:pointer}.carousel .control-arrow:focus,.carousel .control-arrow:hover{opacity:1;filter:alpha(opacity=100)}.carousel .control-arrow:before,.carousel.carousel-slider .control-arrow:before{margin:0 5px;display:inline-block;border-top:8px solid transparent;border-bottom:8px solid transparent;content:''}.carousel .control-disabled.control-arrow{opacity:0;filter:alpha(opacity=0);cursor:inherit;display:none}.carousel .control-prev.control-arrow{left:0}.carousel .control-prev.control-arrow:before{border-right:8px solid #fff}.carousel .control-next.control-arrow{right:0}.carousel .control-next.control-arrow:before{border-left:8px solid #fff}.carousel-root{outline:none}.carousel{position:relative;width:100%}.carousel *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.carousel img{width:100%;display:inline-block;pointer-events:none}.carousel .carousel{position:relative}.carousel .control-arrow{outline:0;border:0;background:none;top:50%;margin-top:-13px;font-size:18px}.carousel .thumbs-wrapper{margin:20px;overflow:hidden}.carousel .thumbs{-webkit-transition:all .15s ease-in;-moz-transition:all .15s ease-in;-ms-transition:all .15s ease-in;-o-transition:all .15s ease-in;transition:all .15s ease-in;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);position:relative;list-style:none;white-space:nowrap}.carousel .thumb{-webkit-transition:border .15s ease-in;-moz-transition:border .15s ease-in;-ms-transition:border .15s ease-in;-o-transition:border .15s ease-in;transition:border .15s ease-in;display:inline-block;margin-right:6px;white-space:nowrap;overflow:hidden;border:3px solid #fff;padding:2px}.carousel .thumb:focus{border:3px solid #ccc;outline:none}.carousel .thumb.selected,.carousel .thumb:hover{border:3px solid #333}.carousel .thumb img{vertical-align:top}.carousel.carousel-slider{position:relative;margin:0;overflow:hidden}.carousel.carousel-slider .control-arrow{top:0;color:#fff;font-size:26px;bottom:0;margin-top:0;padding:5px}.carousel.carousel-slider .control-arrow:hover{background:rgba(0,0,0,0.2)}.carousel .slider-wrapper{overflow:hidden;margin:auto;width:100%;-webkit-transition:height .15s ease-in;-moz-transition:height .15s ease-in;-ms-transition:height .15s ease-in;-o-transition:height .15s ease-in;transition:height .15s ease-in}.carousel .slider-wrapper.axis-horizontal .slider{-ms-box-orient:horizontal;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex}.carousel .slider-wrapper.axis-horizontal .slider .slide{flex-direction:column;flex-flow:column}.carousel .slider-wrapper.axis-vertical{-ms-box-orient:horizontal;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex}.carousel .slider-wrapper.axis-vertical .slider{-webkit-flex-direction:column;flex-direction:column}.carousel .slider{margin:0;padding:0;position:relative;list-style:none;width:100%}.carousel .slider.animated{-webkit-transition:all .35s ease-in-out;-moz-transition:all .35s ease-in-out;-ms-transition:all .35s ease-in-out;-o-transition:all .35s ease-in-out;transition:all .35s ease-in-out}.carousel .slide{min-width:100%;margin:0;position:relative;text-align:center}.carousel .slide img{width:100%;vertical-align:top;border:0}.carousel .slide iframe{display:inline-block;width:calc(100% - 80px);margin:0 40px 40px;border:0}.carousel .slide .legend{-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;-ms-transition:all .5s ease-in-out;-o-transition:all .5s ease-in-out;transition:all .5s ease-in-out;position:absolute;bottom:40px;left:50%;margin-left:-45%;width:90%;border-radius:10px;background:#000;color:#fff;padding:10px;font-size:12px;text-align:center;opacity:0.25;-webkit-transition:opacity .35s ease-in-out;-moz-transition:opacity .35s ease-in-out;-ms-transition:opacity .35s ease-in-out;-o-transition:opacity .35s ease-in-out;transition:opacity .35s ease-in-out}.carousel .control-dots{position:absolute;bottom:0;margin:10px 0;padding:0;text-align:center;width:100%;z-index:1}@media (min-width: 960px){.carousel .control-dots{bottom:0}}.carousel .control-dots .dot{-webkit-transition:opacity .25s ease-in;-moz-transition:opacity .25s ease-in;-ms-transition:opacity .25s ease-in;-o-transition:opacity .25s ease-in;transition:opacity .25s ease-in;opacity:.3;filter:alpha(opacity=30);box-shadow:1px 1px 2px rgba(0,0,0,0.9);background:#fff;border-radius:50%;width:8px;height:8px;cursor:pointer;display:inline-block;margin:0 8px}.carousel .control-dots .dot.selected,.carousel .control-dots .dot:hover{opacity:1;filter:alpha(opacity=100)}.carousel .carousel-status{position:absolute;top:0;right:0;padding:5px;font-size:10px;text-shadow:1px 1px 1px rgba(0,0,0,0.9);color:#fff}.carousel:hover .slide .legend{opacity:1}

.open>.dropdown-menu {
    display: block;
    max-height: 80vh;
    overflow-y: scroll;
}


.navbar {
    display: block;
    padding-top: 25px;
    padding-bottom: 25px;
    text-align: center;
    color: #FFF;
    font-size: 0.7em;
    background-color: #191b31;
    width: 100%;
    height: 32px;
    box-shadow: black 0 -1px 10px;
}

.form {
    display: block;
    gap: 24px;

    div {
        margin-bottom: 8px;
    }
}

.input-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.image-holder {
    width: 100%;
    height: auto;
    position: relative;
    margin: 12px 0;

    img {
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: auto;
    }

    &.symetry {
        img {
            transform: scaleX(-1);
        }
    }
}

.new-clue {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.taquin-canvas {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.taquin-grid {
    display: grid;
    grid-template-columns: repeat(4, 100px);
    grid-template-rows: repeat(4, 100px);
    gap: 2px;
}

.taquin-tile {
    width: 100px;
    height: 100px;
    background-size: cover;
    cursor: pointer;
}

.empty-tile {
    background-color: #ccc;
}

.empty-tile-completed {
    background-color: #c19a23;
}

.card-input-container {
    text-align: center;
    margin: 20px 0;
}

.table {
    margin: 0 auto;
    border-collapse: collapse;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 0;

}

.column {
    width: 20%;
    height: 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

}

.column div {
    border: 1px solid #f0f0f0;
}

.static-player {
    background-color: #f0f0f0; /* Highlight static player names */
    font-weight: bold;
    color: #201e4e;
    flex: 1;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.card-value {
    font-size: 1.2em;
    transition: transform 0.3s ease, color 0.3s ease;
    flex: 1;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.card-value.animate {
    transform: scale(1.1);
    color: #007bff;
}

.button-container {
    margin-top: 20px;
    gap: 12px;
}

button {
    margin: 5px;
}

:root{
    --bg-1: #0b0d1a;
    --bg-2: #131427;
    --card: rgba(255,255,255,0.03);
    --muted: rgba(255,255,255,0.25);
    --accent: #5a58ff; /* violet/bleu */
    --accent-2: #2b48ff;
    --danger: #ef5f5f; /* rouge pour bouton */
    --glass: rgba(255,255,255,0.03);
    --radius-lg: 24px;
}
.voice-root{
    min-height: 100vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content: center; /* Aide au centrage global */
    padding: 28px 20px;
    background: radial-gradient(1200px 500px at 50% 10%, rgba(69,54,126,0.14), transparent 18%),
    linear-gradient(180deg, rgba(9,10,18,1) 0%, rgba(18,16,35,1) 100%);
    color: #f6f6fb;
    font-family: Inter, Roboto, "Helvetica Neue", Arial;
}

.header-lobby{
    width:100%;
    text-align:center;
    padding-top: 8vh; /* Reduced from 12vh */
}
.header-lobby .title{
    font-size: clamp(24px, 5vw, 34px); /* Responsive font size */
    font-weight:700;
    letter-spacing: -0.02em;
    margin-bottom: 4px; /* Reduced from 6px */
}
.header-lobby .subtitle{
    color: var(--muted);
    font-size: clamp(14px, 3vw, 16px); /* Responsive font size */
    margin-bottom: 20px; /* Reduced from 28px */
}

.mic-wrap{
    width: clamp(180px, 30vw, 240px); /* Responsive size */
    height: clamp(180px, 30vw, 240px); /* Responsive size */
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius: 50%;
    margin: 2vh auto 1vh; /* Reduced margins, using vh */
    position: relative;
}

.pulse-ring{
    position:absolute;
    width: 85%; /* Relative to parent */
    height: 85%; /* Relative to parent */
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    pointer-events:none;
}

/* Improved concentric rings - responsive sizes */
.ring {
    position: absolute;
    border-radius: 50%;
    border: 2px solid rgba(90, 88, 255, 0.2);
    background: rgba(90, 88, 255, 0.05);
    box-sizing: border-box;
    transform-origin: center;
    opacity: 0.4;
}

.ring.r1 { width: 70%; height: 70%; }
.ring.r2 { width: 90%; height: 90%; }
.ring.r3 { width: 110%; height: 110%; }

/* Better pulse animations with staggered timing */
.listening .ring.r1 {
    animation: pulse 1.3s infinite cubic-bezier(.4,1,.6,1);
}
.listening .ring.r2 {
    animation: pulse 1.3s 0.4s infinite cubic-bezier(.4,1,.6,1);
}
.listening .ring.r3 {
    animation: pulse 1.3s 0.8s infinite cubic-bezier(.4,1,.6,1);
}

@keyframes pulse {
    0% {
        transform: scale(0.95);
        opacity: 0.8;
        border-color: rgba(90, 88, 255, 0.5);
        box-shadow: 0 0 0 0 rgba(90, 88, 255, 0.3);
    }
    25% {
        transform: scale(1.02);
        opacity: 0.55;
        border-color: rgba(90, 88, 255, 0.35);
    }
    50% {
        transform: scale(1.05);
        opacity: 0.32;
        border-color: rgba(90, 88, 255, 0.22);
    }
    75% {
        transform: scale(1.08);
        opacity: 0.13;
        border-color: rgba(90, 88, 255, 0.12);
    }
    100% {
        transform: scale(1.12);
        opacity: 0;
        border-color: rgba(90, 88, 255, 0);
        box-shadow: 0 0 0 12px rgba(90, 88, 255, 0);
    }
}

/* Subtle animation for the button itself */
.listening .mic-btn {
    animation: gentle-pulse 2s infinite alternate ease-in-out;
}

@keyframes gentle-pulse {
    from { box-shadow: 0 8px 30px rgba(2, 3, 10, 0.6), inset 0 -6px 18px rgba(0, 0, 0, 0.25); }
    to { box-shadow: 0 8px 35px rgba(43, 72, 255, 0.4), inset 0 -6px 18px rgba(0, 0, 0, 0.2); }
}
.mic-btn{
    width: 120px; /* Taille fixe au lieu de 50vw */
    height: 120px; /* Taille fixe au lieu de 50vw */
    border-radius: 50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background: radial-gradient(circle at center, #2b36c0, #15195b);
    box-shadow: 0 8px 30px rgba(2,3,10,0.6), inset 0 -6px 18px rgba(0,0,0,0.25);
    border: 3px solid #24279b;
    cursor:pointer;
    transition: transform .15s ease;

    /* Prevent mobile tap highlight */
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    outline: none;
}

/* Admin button styles and animations */
.admin-btn {
    transition: all 0.2s cubic-bezier(0.4, 0.0, 0.2, 1);
}

.admin-btn:active {
    transform: translateY(1px) scale(0.96);
    transition: all 0.1s cubic-bezier(0.4, 0.0, 0.2, 1);
}

.admin-btn.qr-btn:active {
    box-shadow: 0 2px 8px rgba(90,88,255,0.4) !important;
}

.admin-btn.play-btn:active {
    box-shadow: 0 2px 8px rgba(2,3,10,0.4) !important;
}

/* Ripple effect for admin buttons */
.admin-btn {
    position: relative;
    overflow: hidden;
}

.admin-btn::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    transform: translate(-50%, -50%);
    transition: width 0.3s, height 0.3s;
}

.admin-btn:active::after {
    width: 120px;
    height: 120px;
}

.mic-icon{
    width:56px;
    height:56px;
    display:block;
    filter: drop-shadow(0 6px 14px rgba(43,72,255,0.18));
}
.mic-icon .base {
    fill: url(#grad1);
}
.mic-icon .outline { fill: none; stroke: rgba(255,255,255,0.12); stroke-width: 1; }

.transcript-card{
    width:100%;
    max-width: 720px;
    background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
    border-radius: var(--radius-lg);
    padding: 18px 20px;
    box-shadow: 0 8px 24px rgba(2,3,10,0.6);
    color: rgba(255,255,255,0.92);
    margin-bottom: 18px;
    min-height: 84px;
    display:flex;
    align-items:center;
}
.placeholder {
    color: var(--muted);
    font-size: 18px;
}
.transcript-text{
    font-size: 18px;
    line-height: 1.3;
    white-space: pre-wrap;
}

.controls{
    width:100%;
    max-width: 720px;
    display:flex;
    gap:12px;
    align-items:center;
    justify-content:flex-start;
}

.big-btn{
    flex: 1 1 auto;
    padding: 18px 20px;
    background: var(--danger);
    color: white;
    font-weight:700;
    border-radius: 18px;
    font-size: 18px;
    border: none;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(239,95,95,0.12);
}
.big-btn.secondary{
    background: transparent;
    border: 1px solid rgba(255,255,255,0.06);
    color: var(--muted);
    padding: 12px 14px;
    border-radius: 14px;
    min-width: 120px;
}

.small-actions{
    display:flex;
    gap:10px;
    align-items:center;
}
.icon-btn{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.03);
    cursor:pointer;
}
.muted-note{
    color: var(--muted);
    font-size: 13px;
    margin-top: 12px;
}

/* small responsive tweaks */
@media (max-width:420px){
    .mic-wrap { width:200px; height:200px; }
    .mic-btn { width: 96px; height:96px; }
}
.board-game {
    min-height: 60vh;
}

.top-bar-anniv-2024 {
    background: linear-gradient(180deg, #10346f 0%, #191b31 100%);
    border-bottom: 2px solid #0a53be;
    display: block;
    position: fixed;
    top: 0;

    img {
        height: 40px;
        width: auto;
    }

    .player {
        flex: 1;
        height: 100%;
        font-size: 18px;
        display: flex;
        padding-left: 10px;
        justify-content: flex-start;
        align-items: center;
        font-weight: bold;
        color: white;
    }

    .budget {
        width: 25%;
        margin-right: 12px;
        height: 80%;
        background-color: black;
        border: 1px solid #0a53be;
        box-sizing: border-box;
        padding: 0 5px;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }

    .first-line {
        height: 50px;
        width: 100%;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
    }

    .second-line {
        width: 100%;
        display: flex;
        flex-direction: row;
        justify-content: space-between;

        .country {
            width: 47%;
            display: block;
            box-sizing: border-box;
            padding: 2.5%;
            margin: 1.5%;
            border-radius: 8px;
            background-color: rgba(0, 0, 0, 0.5);

            .country-name {
                font-size: 12px;
                text-align: center;
                padding-bottom: 2vh;
                img {
                    height: 12px;
                    width: auto;
                    margin-right: 6px;
                }
            }

            .button-row {
                width: 100%;
                display: flex;
                flex-direction: row;
                justify-content: space-evenly;
                align-items: center;

                .button {
                    height: 50px;
                    width: 60px;
                    border-radius: 8px;
                    display: flex;
                    font-size: 12px;
                    flex-direction: column;
                    justify-content: center;
                    align-items: center;
                    background-color: #191b31;

                    .icon {
                        color: orangered;
                    }

                    &.selected {
                        background: linear-gradient(180deg, #0a53be 0%, #191b31 100%);
                    }
                }

            }
        }
    }
}

.top-player-info-bar {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-top: 2vh;
}

.top-player-info-details {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: flex-start;
    margin-bottom: 2vh;

    .top-player-info-details-element {
        width: 30%;
        height: 20px;
        font-size: 18px;
        background-color: black;
        border: 2px solid #10346f;
        border-top: none;
        text-align: right;
        padding-right: 2vw;
        box-sizing: border-box;
    }
}

.top-player-info-bar-box {
    width: 100%;
    display: flex;
    height: 50px;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    border-radius: 25px;
    box-sizing: border-box;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
    background: linear-gradient(180deg, #10346f 0%, #191b31 100%);

    img {
        height: 50px;
        width: auto;
        background-color: black;
        border-radius: 50%;
    }
}

.player-choice-button-containers {
    width: 100%;
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.big-button {
    height: 50px;
    min-width: 70px;
    margin-right: 24px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: bold;
    color: white;
    border: 2px solid #10346f;
    background-color: #191b31;
    padding: 0 3%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.country-button {
    height: 50px;
    width: 100%;
    border-radius: 12px;
    font-size: 14px;
    font-weight: bold;
    color: white;
    background: linear-gradient(180deg, #0a53be 0%, #191b31 100%);
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.24);
    box-sizing: border-box;
    padding: 0 5%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.top-line {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}

.production-bar {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin: 2vh 0;
}

.production-bar-box {
    width: 40%;
    padding-bottom: 12px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-radius: 25px;
    box-sizing: border-box;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
    background: linear-gradient(180deg, #10346f 0%, #191b31 100%);
}

.production-top-bar {
    height: 50px;
    font-size: 18px;
    font-weight: bold;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;

    img {
        height: 50px;
        width: auto;
    }
}

.production-order-bar {
    width: 100%;
    display: flex;
    height: 30px;
    justify-content: space-evenly;
    align-items: center;
}

.small-button {
    height: 28px;
    width: 28px;
    font-size: 20px;
    font-weight: bold;
    background-color: #0a53be;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;

    &:disabled {
        background-color: #434152;
    }
}

.distribution-bar {
    width: 100%;
    height: 48px;
    border-radius: 24px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    position: relative;
    background: linear-gradient(90deg, #191b31 0%, #10346f 50%, #191b31 100%);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
    margin: 2vh 0;

    div {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
    }
}

.consumption-item {
    height: 60px;
    width: 48%;
    border-radius: 30px 0 0 30px;
    background: linear-gradient(180deg, #0a53be 0%, #191b31 100%);
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.24);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.consumption-country {
    width: 100%;
    border-radius: 12px;
    border: 2px solid #10346f;
    background-color: #191b31;
    height: 100px;
    margin: 2vh 0;

    &.active {
        background: linear-gradient(180deg, #10346f 0%, #191b31 100%);
        box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.24);
    }

    .consumption-country-first-row {
        height: 60px;
        width: 100%;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }

    .consumption-country-second-row {
        height: 40px;
        width: 100%;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding-left: 12px;
    }
}

.buttonPanelRow {
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    margin: 2vh 0;
}

.buttonPanel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 54px;
    min-width: 80px;
    border-radius: 12px;
    box-sizing: border-box;
    border: 2px solid #0a53be;
    cursor: pointer;
}

.buttonPanelSelected {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 54px;
    min-width: 80px;
    border-radius: 12px;
    background: linear-gradient(180deg, #0a53be 0%, #191b31 100%);
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.24);
}

.invest-box {
    border-radius: 24px;
    width: 100%;
    height: 160px;
    box-sizing: border-box;
    border: 2px solid #10346f;
    background-color: #1a1e21;
    margin-bottom: 24px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;

    .invest-box-left {
        height: 100%;
        width: 60px;
        border-radius: 24px 0 0 24px;
        background: linear-gradient(180deg, #0a53be 0%, #10346f 100%);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        font-size: 18px;
        font-weight: bold;

        img {
            width: 80%;
            height: auto;
        }
    }

    .invest-box-right {
        flex: 3;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        box-sizing: border-box;

        .invest-first-row {
            height: 30%;
            background-color: black;
            border-radius: 0 24px 0 0;
            border-bottom: 1px solid #10346f;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            margin-bottom: 12px;
        }

        .invest-row {
            width: 80%;
            padding: 0 10%;
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: center;
            font-size: 16px;
            margin-bottom: 4px;
        }
    }
}

.modal-graph {
    width: 90vw;
    height: 400px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 125px 5vw;
    align-items: center;
    background-color: #191b31;
    border-radius: 24px;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
    padding: 2vh 0;
}

.chart-holder {
    width: 85vw;
    height: 300px;
}

.income-box {
    border-radius: 24px;
    width: 100%;
    background-color: #1a1e21;
    margin-bottom: 24px;
    margin-top: 24px;
}

.income-box-header {
    height: 48px;
    width: 100%;
    border-radius: 24px 24px 0 0;
    background: linear-gradient(180deg, #10346f 0%, #191b31 100%);
    font-size: 18px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    span {
        padding: 0 24px;
    }
}

.income-box-content {
    width: 100%;
    padding: 5px 5% 20px 5%;
    background-color: #1a1e21;
    border: 2px solid #191b31;
    border-radius: 0 0 24px 24px;
    box-sizing: border-box;
    border-top: none;
}

.income-box-line {
    width: 100%;
    height: 36px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
    margin-bottom: 4px;
}

.statistics-box {
    display: block;
    width: 100%;
    margin-bottom: 40px;
}

.statistics-box-item {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
}

.party-box {
    width: 100%;
    height: 48px;
    border-radius: 12px;
    font-size: 36px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 800;
}

.warning-event {
    color :orangered;
    margin: 12px 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;

    .icon {
    }

    .message{
        flex: 1;
        height: 100%;
    }
}

.buyers-row {
    width: 100%;
    display: flex;
    flex-direction: row;
    box-sizing: border-box;
    align-items: center;

    .buyers-header {
        height: 100px;
    }

    .buyers-content {
        height: 50px;
    }

    .buyers-first-cell {
        flex: 2;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
    }

    .buyers-cell {
        flex: 1;
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
}

.black-row {
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 4px;
    margin-bottom: 5px;
}

.investment-box-title {
    font-size: 18px;
    margin-top: 3vh;
    margin-bottom: 1vh;
}

.political-top-line {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin: 2vh 0;
}

.party-button {
    width: 18%;
    height: 70px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    border-radius: 12px;
    background: #191b31;
    border: 4px solid #284f6e;
    box-sizing: border-box;

    img {
        height: 50%;
        width: auto;
    }

    &.selected {
        border-color: #0a53be;
    }

    &.investing {
        background: linear-gradient(180deg, #0a53be 0%, #191b31 100%);
    }
}

body {
    margin: 0;
    font-family: Play, sans-serif;
    color: white;
    background: linear-gradient(to right, #111024 0%, #201e4e 50%, #111024 100%);
}


a { color: white; }


/*# sourceMappingURL=style.34c37a66ed53ac9b371f.css.map*/