﻿#pause-container {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    left: 0;
    z-index: 100;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 15px;
    flex-direction: column;
}

    #pause-container i {
        font-size: 70px;
        cursor: pointer;
        
    }

    #pause-container.active {
        display: block;
    }


.card.greyedout {
    opacity: 1;
    background: transparent;
    border: 1px dashed #ccc;
}

    .card.greyedout * {
        visibility: hidden
    }

.card.used-highlight * {
    visibility: visible;
}

.card.used-highlight {
    transform: scale(1.2);
    transition: transform 0.3s ease;
    z-index: 5;
    opacity: 1;
    /*animation: scalePulse 1s ease-in-out forwards;*/
    animation: flashWhite 1s ease-in-out infinite;
    display: flex;
    background-color: #222;
}

.questioncategorylevel-0 {
    font-weight: bold;
    font-size: 24px;
    text-align: center;
    margin-top: 10px;
    display:flex;
}

.questioncategorylevel-1 {
    font-weight: bold;
    font-size: 26px;
    text-align: center;
    margin-top: 0px;
    display: flex;
    background: #155f82;
    padding: 10px 10px 5px 10px;
    color: #fff
}

.questioncategorylevel-2 {
    font-size: 18px;
    text-align: center;
    margin-top: 0px;
    background-color: #23617c;
    display: flex;
    padding: 10px 10px 5px 10px;
    color: #fff
}

    .questioncategorylevel-0 p, .questioncategorylevel-2 p, .questioncategorylevel-1 p, .question-container p {
        margin: 0;
        padding: 0
    }

.questioncategorylevel-0 p {
    text-align: left;
    background: #196b23;
    color: #fff;
    padding: 5px 10px;
    border-radius: 4px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}
.category-countdown {
    font-size: 30px;
    font-weight: bold;
    color: #ff4444; /* red countdown */
    margin-top: 5px;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 20px;
    position:relative
}
.question-container {
    padding: 5px 10px;
   
    text-align: center;
    background: #155f82;
    color:#fff
}

.question-text {
    font-size: 18px;
    font-weight: bold;
}

.answer-wrapper {
    background: #155f82;
    padding: 5px 10px;
}

.answer-option {
   
    color: white;
    padding: 5px;
    margin: 10px 0 10px 0;
    border-radius: 8px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s;
    text-align: left;
    display:flex;
}

    .answer-option .answerLetter {
        padding: 8px 13px;
        border: 1px solid #fff;
        border-radius: 50%;
        font-size: 18px;
        background: #155f82;
        z-index:2
    }

    .answer-option .answerContent {
        flex: 1;
        align-items: center;
        display: flex;
        background: #fff;
        color: #000;
        padding: 0 7px 0 24px;
        position: relative;
        left: -17px;
        z-index: 1;
        font-size: 16px;
    }

    .answer-option.selected {
        background-color: #c64c00;
    }

.componentView {
    display: flex;
    flex-direction: column;
    /*background-color: #ffdd74;*/
    min-height: 200px;
    padding: 0;
    flex: 1;
    border-radius: 10px;
    width: 100%;
    overflow: auto
}


.fade-enter-active, .fade-leave-active {
    transition: opacity 1s ease;
}

.fade-enter-from, .fade-leave-to {
    opacity: 0;
}

.view-ShowSubCategoriesAndQuestions-wrapper {
    /*overflow:hidden*/
}


#player-rank-bar {
    position: absolute;
    width: 100%;
    height: 30px; /* 100 points = 300px */
    border: 2px solid #888;
    border-radius: 4px;
    background: linear-gradient(to top, #f9f9f9, #eaeaea);
    
    bottom: -50px;
}

#player-rank-bar-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index:3;
}


.player-rank-item {
    position: absolute;
    left: 0;
    transition: bottom 0.8s ease-in-out;
    
}

.rank-circle {
    width: 26px;
    height: 26px;
    border-radius: 50%;
   
    box-shadow: 0 0 4px rgba(0,0,0,0.4);
}

/* smooth transition on reordering */
.rank-move-move {
    transition: transform 0.6s ease;
}

/* optional label */
.rank-label {
    position: absolute;
    top: -16px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 10px;
    color: #333;
    white-space: nowrap;
}

#top-rank-bar {
    position: absolute;
    width: 100%;
    top: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
}

/* Average Score Marker */
.average-score-marker {
    position: absolute;
    bottom: -40px; /* position below bar */
    display: flex;
    flex-direction: column;
    align-items: center;
    transform: translateX(-50%);
}

.average-arrow {
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 12px solid #444; /* dark grey arrow */
}

.average-label {
    font-size: 16px;
    color: #222;
    margin-top: 2px;
    font-weight: bold;
    position: relative;
}


.highest-progress-fill {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background: linear-gradient(to right, #838181, #595555); /* green gradient */
    border-radius: 6px;
    transition: width 0.6s ease-in-out;
    opacity: 0.6; /* slightly transparent so markers stay visible */
    z-index: 1; /* below player markers */
}

.average-progress-fill {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background: #d1cece; /* green gradient */
    border-radius: 6px;
    transition: width 0.6s ease-in-out;

    z-index: 2; /* below player markers */
}
.record-icon {
    margin-left: 4px;
    vertical-align: middle;
    position: absolute;
    left: 47px;
    top: -10px;
    display: flex;
    flex-direction: row;
    align-items: center;
}

    .record-icon span {
        display: block;
        white-space: nowrap;
    }
        
    .record-icon img {
        height: 44px;
    }


.record-icon-extended {
    left: 55px;
}

#rank-right-side {
    position: absolute;
    right: -80px;
    top: -10px
}

#rank-right-side div{
    font-size:16px;
    font-weight:bold
}

.average-progress-fill img {
    width: 30px;
    position: absolute;
    left: 50%;
    margin-left: -20px;
    bottom: -48px;
}

.highest-progress-fill img {
    width: 30px;
    position: absolute;
    left: 50%;
    margin-left: -20px;
    bottom: -48px;
}

.player-rank-item-1, .player-rank-item-2, .player-rank-item-3, .player-rank-item-4, .player-rank-item-5, .player-rank-item-6 {
    left: -33px !important;
}

.
/*
#player-rank-bar {
    position: absolute;
    bottom: -85px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
}

#player-rank-bar-wrapper {
    display: flex;
    justify-content: center;
    gap: 20px;
    padding: 10px;
    padding-bottom:0
}

.player-rank-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: white;
    font-size: 14px;

}

.rank-score {
    font-weight: bold;
    font-size: 16px;
    color: gold;
}

.rank-name {
    margin-top: 2px;
    font-size: 12px;
}

.rank-circle {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    margin-bottom: 5px;
    border: 2px solid #000; 
}

#top-rank-bar {
    font-weight: bold;
    font-size: 20px;
}


.rank-move-move {
    transition: transform 0.5s ease;
}


.rank-move-enter-active,
.rank-move-leave-active {
    transition: all 0.5s ease;
}

.rank-move-enter-from,
.rank-move-leave-to {
    opacity: 0;
    transform: translateY(10px);
}

.circular-timer {
    width: 72px; 
    height: 72px;
    transform: rotate(-90deg); 
    shape-rendering: geometricPrecision;
}

.circle-bg {
    fill: none;
    stroke: #000;
    stroke-width: 2;
    vector-effect: non-scaling-stroke;
}

.circle-progress {
    fill: none;
    stroke: orange;
    stroke-width: 2;
    vector-effect: non-scaling-stroke;
    transition: stroke-dasharray 1s linear;
    stroke-linecap: round;
}

.circle-text {
    fill: black;
    font-size: 14px;
    text-anchor: middle;
    dominant-baseline: middle;
    transform: rotate(90deg); 
}

*/
/* Knob styles */
.knob {
    position: absolute;
    width: 10px;
    height: 4px;
    background: black;
    border-radius: 4px;
}

.knob-top {
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
}

.knob-left {
    top: -2px;
    left: 22px;
    transform: rotate(-90deg);
}

.curveball-title {
    font-size: 44px;
    color: #000;
    font-weight: bold;
    margin-right: 10px;
}

.curveball-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.curveball-container img {
    width:80px
}

#sound-wrapper {
    position: absolute;
    right: 10px;
    top: 5px;
    font-size: 25px;
    z-index:10
}


/* leaderboard*/
.leaderboard {
    background: url('../images/leaderboard-bg.png?v=1') no-repeat;
    border-radius: 10px;
    padding: 15px 15px 15px 5px;
    color: #fff;
    width: 435px;
    min-height: 60%;
    background-size: cover;
    margin-right:30px
}

.leaderboard-header {
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 0px;
    
    padding-bottom: 5px;
}

.leaderboard-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.leaderboard-item {
    display: flex;
    align-items: center;
    border-radius: 8px;
    padding: 0;
    margin: 6px auto;
    background: rgba(255, 255, 255, 0.15);
    width: 90%;
    max-width: 480px;
    box-shadow: inset 0 0 4px rgba(255, 255, 255, 0.25);
}

.leaderboard-rank {
    font-weight: bold;
    font-size: 16px;
   
    color: #FFD700; /* gold for ranks */
}

.leaderboard-avatar img {
    width: 50px;

    background: #9cb7c1;
    padding: 5px 4px 0px 4px;
    border-radius: 10px;
    border: 3px solid #fff;
    position: relative;
    z-index: 2;
}

.leaderboard-name {
    flex-grow: 1;
    font-size: 16px;
    margin-left: 10px;
    
}

.leaderboard-score {
    font-weight: bold;
    font-size: 16px;
}



.leaderboard-header img {
    width: 90%;
}

.leaderboard-top1 {
    margin-bottom: 15px
}


.leaderboard-top1-avatar {
    text-align: center;
    margin-bottom: 20px
}

    .leaderboard-top1-avatar img {
        width: 80px;
        background: #9cb7c1;
        padding: 5px 4px 0px 4px;
        border-radius: 10px;
        border: 3px solid #fff;
        position:relative;
        z-index:2
    }

    .leaderboard-top1-avatar span.top1img {
        position: relative;
        display: block
    }

        .leaderboard-top1-avatar span.top1img:before {
            content: '';
            position: absolute;
            background: url(../images/top-rank-left.png?v=1) no-repeat;
            width: 50px;
            height: 57px;
            z-index: 0;
            left: 50%;
            background-size: contain;
            top: 15px;
            margin-left: -88px;
        }

        .leaderboard-top1-avatar span.top1img:after {
            content: '';
            position: absolute;
            background: url(../images/top-rank-right.png?v=1) no-repeat;
            width: 50px;
            height: 57px;
            z-index: 0;
            right: 50%;
            background-size: contain;
            top: 15px;
            margin-right: -88px;
        }

    .leaderboard-top1-avatar div{
        position:relative
    }

    .leaderboard-top1-avatar div:before {
        content: '';
        position: absolute;
        background: url(../images/top-rank-left-outside.png?v=1) no-repeat;
        width: 44px;
        height: 90px;
        z-index: 0;
        left: 0;
        background-size: contain;
        top: 15px;
    }

        .leaderboard-top1-avatar div:after {
            content: '';
            position: absolute;
            background: url(../images/top-rank-right-outside.png?v=1) no-repeat;
            width: 44px;
            height: 90px;
            z-index: 0;
            right: 0;
            background-size: contain;
            top: 15px;
        }

.leaderboard-top1-name-and-score {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    font-size: 20px;
}

.playerrankwrapper {
    position: relative;
    display: inline-block
}

.playerrankno {
    position: absolute;
    bottom: -15px;
    left: 50%;
    font-size: 18px;
    background: #487395;
    z-index: 4;
    padding: 4px 12px;
    border-radius: 50%;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #fff;
    margin-left: -19px;
}

.playerrankwrappersmall .playerrankno {
    padding: 0px 8px;
    font-size: 16px;
    margin-left: -14px;
}

.leaderboard-item-contents {
    display: flex;
    flex-direction: row;
    flex-grow: 1;
    
    padding: 5px 0px 5px 0px;
}

/* === Leaderboard Header Row === */
.leaderboard-table-header {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 0 5%;
    width: 100%;
    color: #fff;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 0.3px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}

.leaderboard-header-cell {
    width: 100px;
    text-align: center;
}

.leaderboard-stats {
  display: flex;
  justify-content: flex-end;

}

.leaderboard-score,
.leaderboard-rank {
  
  color: #fff;
  font-weight: 700;
  text-align: center;
  min-width: 100px;
 
  border-radius: 6px;
  font-size: 15px;
 
}

/*end leaderboard*/

.player-stars {
    display: flex;
    font-size: 26px;
    line-height: 1.2;
    margin-bottom: 4px;
    color: #fff;
}

    .player-stars .star.filled {
        color: purple; /* or use playerColor if dynamic */
    }

.playerCurrentTurn .player-stars {
    font-size: 36px;
}

.card-quantity {
    position: absolute;
    background: red;
    z-index: 1;
    color: #fff;
    font-size: 16px;
    top: -15px;
    right: -15px;
    padding: 5px 5px;
    border-radius: 50%;
}

.flying-star-prepair {
    font-size: 40px;
}

.flying-star {
    position: absolute;
    font-size: 40px;
    transition: top 1s ease-in-out, left 1s ease-in-out;

    z-index: 9999;
}

/*
.flying-card {
    position: absolute;
    transition: transform 1s ease-in-out, top 1s ease-in-out, left 1s ease-in-out;
    z-index: 9999;
    pointer-events: none;
}
*/

.flying-card {
    position: absolute;
    transition: top 1s ease-in-out, left 1s ease-in-out, width 1s ease-in-out, height 1s ease-in-out;
    z-index: 9999;
    pointer-events: none;
}

.height-0 {
    height: 0 !important;

    overflow: hidden; /* prevent content leaking */
}



.boardmessage-cardinfo {
    position: absolute;
    top: 0;
    background: rgba(0, 0, 0, 0.7);
    bottom: 0;
    z-index: 1000;
    color: #fff;
    padding: 30px 10px 10px 10px;
}

.boardmessage-cardinfo img{
    width:100px
}

#fireworks {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none; /* ignore clicks */
    z-index: 9999; /* always on top */
    
}

/* === Leaderboard Info Section === */
.leaderboard-info, .leaderboard-info-scores {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba(0, 40, 60, 0.6); /* semi-transparent deep blue overlay */
    border-radius: 10px;
    padding: 10px 18px;
    margin: 0px auto 12px auto;
    width: 90%;
    max-width: 480px;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.3px;
    box-shadow: inset 0 0 6px rgba(255, 255, 255, 0.2);
}

    /* Each text block (Duration / Players) */
    .leaderboard-info div {
        
        text-align: center;
        font-size: 17px;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
    }

        /* Slight accent color for labels */
        .leaderboard-info div span.labelScore {
            color: #f5d97b; /* gold accent like your title bar */
            font-weight: 700;
        }

.record-title {
    color: #f5d97b; /* gold accent like your title bar */
    font-weight: 700;
}

.leaderboard-records span {
    color: #f5d97b;
    font-weight: 700;
}


.tensecondcountdown {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: Arial, sans-serif;
}

.tensecondcircle {
    width: 120px;
    height: 120px;
    border: 10px solid #ff4b2b;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #ff4b2b;
    font-size: 48px;
    font-weight: 900;
    background: white;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.tensecondlabel {
    background: #0b2c3d;
    color: white;
    padding: 10px 16px;
    font-weight: bold;
    font-size: 18px;
    border-radius: 4px;
}

/* 🎲 Dice container — half size */
.dice-giveitup {
    position: relative;
    display: inline-block;
    width: 30px; /* half of 60px */
    height: 30px; /* half of 60px */
    background: #d54056; /* Give It Up color */
    border-radius: 3px; /* scaled radius */
    box-shadow: inset -1.5px 1.5px 3px rgba(0, 0, 0, 0.2), 1px 1.5px 3px rgba(0, 0, 0, 0.25);
    margin: 3px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

    .dice-giveitup:hover {
        transform: rotate(-6deg) scale(1.1);
        box-shadow: inset -1px 1px 2px rgba(0, 0, 0, 0.2), 1.5px 2px 4px rgba(0, 0, 0, 0.3);
    }

    /* ⚪ Pip (dot) style — smaller */
    .dice-giveitup .pip {
        position: absolute;
        width: 6px; /* half of 12px */
        height: 6px;
        background: #fff; /* dark for contrast */
        border-radius: 50%;
        box-shadow: 0 0 0.5px rgba(0, 0, 0, 0.3);
    }

/* 📍 Pip Positions (scaled) */
.tl {
    top: 4px;
    left: 4px;
}

.tr {
    top: 4px;
    right: 4px;
}

.ml {
    top: 50%;
    left: 4px;
    transform: translateY(-50%);
}

.mr {
    top: 50%;
    right: 4px;
    transform: translateY(-50%);
}

.bl {
    bottom: 4px;
    left: 4px;
}

.br {
    bottom: 4px;
    right: 4px;
}

.c {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.qr-scale-normal {
    transform: scale(1);
    max-width:160%;
    position:relative;
    z-index:100000
}

/* Other players' QR (bigger) */
.qr-scale-big {
    transform: scale(1.4); /* Adjust this number */
    max-width: 200%;
    position:relative;
    z-index: 100000
}

#signOut {
    position: absolute;
    bottom: 20px;
    right: 20px;
    font-size: 20px;
    color: #000;
    cursor:pointer
}

@keyframes scaleUp {
    0% {
        transform: scale(0.3);
        opacity: 0;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes scalePulse {
    0% {
        transform: scale(1);
    }

    25% {
        transform: scale(1.2);
    }

    50% {
        transform: scale(1);
    }

    75% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes flashWhite {
    0%, 100% {
        box-shadow: 0 0 0px red;
    }

    50% {
        box-shadow: 0 0 20px red;
    }
}

@media (max-width: 1370px) {
    #leftsideboard {
        max-width: 250px
    }

    .qr-scale-big {
        left: 60px
    }

    .qr-scale-normal {
        left: 40px
    }

    .player-cards-small {
        gap: 4px !important
    }

        .player-cards-small .card {
            width: 30px
        }
}

/*
@media (max-width: 1200px) {
    #leftsideboard {
        max-width: 250px
    }

    .qr-scale-big {
        left: 60px
    }

    .qr-scale-normal {
        left: 40px
    }

    .player-cards-small {
        gap: 4px !important
    }

        .player-cards-small .card {
            width: 30px
        }
}

@media (max-width: 1024px) {
    #leftsideboard{
        max-width:250px
    }

    .qr-scale-big {
        left: 60px
    }

    .qr-scale-normal {
        left: 40px
    }

    .player-cards-small {
        gap: 4px !important
    }

    .player-cards-small .card{
        width:30px
    }
}
    */