body {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
}
#fullscreenWarning {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: #000;
    color: #fff;
    z-index: 999999;
}

.fullscreen-box {
    text-align: center;
    padding: 40px;
}

#reenterFullscreenBtn {
    padding: 14px 30px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: bold;
    font-size: 16px;
}
#starting {
  display: none;
  max-height: 100vh;
  width:fit-content;


}
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
#Game {
  max-width: 100%;
  margin: 0;
  max-height: 100vh;
  padding: 20px;
  overflow: auto;
  display: none;
  color: white;
}
#loginForm {
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-align: left;
  padding: 20px;
}

#loginForm label {
  color: #7dd3fc;
  font-size: 14px;
}

#loginForm input {
  padding: 12px;

  background: #020617;
  border: 1px solid #0369a1;
  border-radius: 8px;

  color: white;
  font-size: 16px;
  outline: none;

  transition: 0.3s;
}

#loginForm input:focus {
  border-color: #38bdf8;
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.5);
}

#loginForm button {
  margin-top: 20px;

  padding: 12px;

  border: none;
  border-radius: 8px;

  background: linear-gradient(135deg, #0284c7, #38bdf8);

  color: #001018;
  font-weight: bold;
  font-size: 16px;

  cursor: pointer;
  letter-spacing: 2px;

  transition: 0.3s;
}

#loginForm button:hover {
  transform: translateY(-3px);

  box-shadow: 0 10px 25px rgba(56, 189, 248, 0.5);
}

#countdownScreen {
  position: fixed;
  width:100%;
  inset: 0;
  display: none;
  flex-direction: column;
  justify-content: center !important;
  align-items: center !important;

  color: #38bdf8;

  font-size: 32px;
  z-index: 1000;
}

#countdown {
  animation: pulse 1s infinite;
}

@keyframes pulse {
  50% {
    transform: scale(1.15);
  }
}

/* INTRO */

#intro {
  position: absolute;
  inset: 0;
  z-index: 100;
  min-height:100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
  box-sizing: border-box;
  gap: 30px;
}

#intro > * {
  max-width: 100%;
  min-width: 0;
}
#intro img {
  position: absolute;
  z-index: 1000;
  left: -500;
  bottom: 0;
  width: 300px;
  animation: slideRight 1.5s ease-out forwards;
}
@keyframes slideRight {
  from {
    left: -300px;
    opacity: 0;
  }
  to {
    left: 50px;
    opacity: 1;
  }
}
@keyframes SlideUp {
  from {
    bottom: -100;
    opacity: 0;
  }
  to {
    bottom: 50px;
    opacity: 1;
  }
}

.echo-box {
  width: 280px;
  padding: 18px 22px;
  background: rgba(0, 20, 40, 0.75);
  border: 2px solid #00eaff;
  border-radius: 12px;
  box-shadow: 0 0 15px #00eaff;
  position: absolute;
  bottom: 50px;
  left: 380px;
  animation: SlideUp 0.5s ease-out forwards;
  animation-delay: 0.5s;
  opacity: 0;
}
.echo-box::before,
.echo-box::after {
  content: "";
  position: absolute;
  width: 40px;
  height: 40px;
  border-color: #00eaff;
}

.echo-name {
  color: #00eaff;
  font-size: 14px;
  letter-spacing: 3px;
  margin-bottom: 8px;
}

#subtitle {
  color: white;
  font-size: 20px;
  font-family: "Orbitron", sans-serif;
  
}

.story-box {
  width: 500px;
  max-width: calc(100vw - 60px);

  padding: 25px;
  box-sizing: border-box;

  background: rgba(0, 15, 35, 0.85);
  border: 2px solid #00eaff;
  border-radius: 12px;

  color: #dffcff;

  /* IMPORTANT */
  height: auto;
  flex-shrink: 1;
  min-width: 0;

  overflow: visible;
}

.story-box h2 {
  color: #00eaff;
  text-align: center;
  font-size: 20px;
  letter-spacing: 3px;
  margin: 0 0 20px;
}

.story-box p {
  display: block;

  width: 100%;
  max-width: 100%;

  margin: 12px 0;

  font-size: 18px;
  line-height: 1.6;

  /* FORCE TEXT TO WRAP */
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;

  box-sizing: border-box;
}

.mission {
  width: 100%;
  box-sizing: border-box;

  margin-top: 20px;
  padding: 12px;

  text-align: center;

  border: 1px solid #00eaff;
  color: #00eaff;

  font-size: 13px;
  letter-spacing: 2px;

  overflow-wrap: anywhere;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


@media (max-width: 968px) {
  #intro img {
    width: 120px;
  }
  .content{
    display:flex;
    align-items: center;
    justify-content : center;
  }
  .content h1{
    font-size:40px;
    width:100%;
    text-align:center;
  }
  .content p{
    font-size:18px;
  }
  @keyframes slideRight {
    from {
      left: -300px;
      opacity: 0;
    }
    to {
      left: 10px;
      opacity: 1;
    }
  }
  .echo-box {
    max-width: 150px !important;
    padding: 5px;
    background: rgba(0, 20, 40, 0.75);
    border: 2px solid #00eaff;
    border-radius: 12px;
    box-shadow: 0 0 15px #00eaff;
    position: absolute;
    bottom: 30px;
    left: 150px;
    animation: SlideUp 0.5s ease-out forwards;
    animation-delay: 0.5s;
    opacity: 0;
  }
  .story-box p {
    font-size: 12px;
  }
  @keyframes SlideUp {
    from {
      bottom: -100;
      opacity: 0;
    }
    to {
      bottom: 30px;
      opacity: 1;
    }
  }
  .echo-name {
    color: #00eaff;
    font-size: 12px;
    letter-spacing: 3px;
    margin-bottom: 5px;
  }

  #subtitle {
    color: white;
    font-size: 10px;
    font-family: "Orbitron", sans-serif;
    letter-spacing: 1px;
  }
}




/* ===========================
   QUESTION PAGE
=========================== */

#questionPage {

    display:none;

    width:100%;
    max-width: 1200px;

    margin:auto;
    margin-top: 10px;

    color:white;

    font-family:"Rajdhani",sans-serif;

}



/* ===========================
   HEADER
=========================== */


.question-header {

    display:flex;
    
    justify-content:space-between;

    align-items:center;

    margin-bottom:25px;
    flex-direction: column;

}



/* ROUND BOX */

.round-box {
    width:90%;
    padding:15px 35px;
    display: flex;
    text-align:center;
    justify-content: space-between;
    border:1px solid cyan;

    border-radius:15px;

    background:
    rgba(0,0,0,0.5);


    box-shadow:
    0 0 20px cyan;

}


.round-box p {

    margin:0;

    font-size:15px;

    letter-spacing:4px;

    color:#cbd5e1;

}


.round-box h2 {

    margin:5px;

    font-size:35px;

    color:cyan;

}



/* ===========================
   MASTER KEY
=========================== */


.key-section {

    text-align:center;

}


.key-section h3 {
    margin-top: 30px;
    margin-bottom:12px;

    letter-spacing:3px;

    color:white;

}



.key-bar {

    display:flex;

    justify-content:center;

    gap:10px;

}



.key-bar span {


    width:40px;

    height:40px;


    display:flex;

    justify-content:center;

    align-items:center;


    border:2px solid cyan;

    border-radius:10px;


    font-size:22px;

    font-weight:bold;


    background:

    linear-gradient(
        145deg,
        #071525,
        #020617
    );


    box-shadow:

    0 0 15px cyan;


    transition:.3s;

}



.key-bar span:hover{

    transform:scale(1.1);

}



/* ===========================
   QUESTION CARD
=========================== */



.question-card {


    min-width:100%;




    margin:0 auto;
    padding:35px;


    background:

    rgba(0,0,0,0.75);


    backdrop-filter:blur(8px);



    border-radius:25px;


    border:

    1px solid cyan;


    box-shadow:


    0 0 35px rgba(0,255,255,.45);



}



/* MISSION LABEL */


.mission-label {


    text-align:center;


    color:#67e8f9;


    letter-spacing:5px;


    font-size:14px;


}



/* TITLE */


#questionTitle {


    text-align:center;


    font-family:"Cinzel",serif;


    font-size:32px;


    letter-spacing:4px;


    line-height:1.2;


    margin:25px 0;


    color:white;



    text-shadow:

    0 0 10px cyan,

    0 0 25px cyan;


}





/* ===========================
   STORY BOX
=========================== */


.story-box2 {


    width:90%;


    margin:25px auto;


    padding:22px;



    background:

    rgba(10,25,45,.85);



    border:

    1px solid cyan;



    border-left:

    5px solid cyan;



    border-radius:15px;


}





.story-box2 h4 {


    text-align:center;


    margin-bottom:15px;


    letter-spacing:3px;


    color:#67e8f9;


}



#story {


    text-align:center;


    font-size:18px;

    
    line-height:1.7;


    color:#e2e8f0;


}





/* ===========================
   QUESTION AREA
=========================== */


.question-box {


    text-align:center;


    margin-top:35px;


}



#questionText {


    font-size:20px;


    letter-spacing:2px;


    margin-bottom:25px;


}



/* INPUT */


#answerInput {


    display:block;


    width:75%;


    margin:auto;



    padding:16px;



    font-size:20px;



    text-align:center;



    background:#020617;



    color:white;



    border:

    2px solid cyan;



    border-radius:12px;



    outline:none;



}



#answerInput::placeholder {


    color:#64748b;


}



#answerInput:focus {


    box-shadow:

    0 0 25px cyan;


}





/* ===========================
   BUTTON
=========================== */


#submitAnswer {


    margin-top:25px;


    padding:

    14px 50px;



    font-size:18px;



    letter-spacing:2px;



    color:#001018;



    background:

    cyan;



    border:none;



    border-radius:12px;



    font-weight:bold;



    cursor:pointer;



    transition:.3s;



}



#submitAnswer:hover {


    transform:scale(1.05);


    box-shadow:


    0 0 25px cyan;



}





/* ===========================
   MESSAGE
=========================== */


#message {


    text-align:center;


    margin-top:20px;


    font-size:22px;


}



.correct {


    color:#22ff88;


    text-shadow:

    0 0 15px #22ff88;


}



.wrong {


    color:#ff4444;


    text-shadow:

    0 0 15px red;


}





/* ===========================
   HINT
=========================== */


#hintButton {


    display:block;


    margin:15px auto;



    padding:

    12px 30px;



    background:

    rgba(0,0,0,.5);



    color:white;



    border:

    1px solid cyan;



    border-radius:10px;



    cursor:pointer;



    letter-spacing:2px;



}



#hintButton:hover {


    box-shadow:


    0 0 15px cyan;


}



#hintText {


    text-align:center;


    color:#67e8f9;


    font-size:18px;


}





/* ===========================
   MOBILE
=========================== */


@media(max-width:800px){


#questionPage{

    width:95%;

}


.question-header{

    flex-direction:column;

    gap:20px;

}


.key-bar{

    flex-wrap:wrap;
    padding: 20px;

}


.question-card{

    width:90%;

    padding:20px;

}


#questionTitle{

    font-size:28px;

}


#answerInput{

    width:90%;

}


}



.key-bar span.unlock{


animation:keyUnlock .8s ease;


}


@keyframes keyUnlock{


0%{

transform:scale(.5) rotateY(90deg);

opacity:0;

}


50%{

transform:scale(1.3);

box-shadow:
0 0 40px cyan;

}


100%{

transform:scale(1);

opacity:1;

}


}
.fragment-popup {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 99999;
    min-width: 200px;
    padding: 14px 18px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    border: 1px solid #00eaff;
    border-radius: 12px;
    background: rgba(2, 15, 25, 0.95);
    box-shadow: 0 0 20px rgba(0, 255, 255, 0.35);
    color: white;
    opacity: 0;
    transform: translateY(-20px) scale(0.94);
    pointer-events: none;
    transition: opacity 0.35s cubic-bezier(0.22, 1, 0.36, 1), transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.fragment-popup.show {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.fragment-popup strong {
    color: #00eaff;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.fragment-popup span {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 3px;
}

.feedback-success-popup {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 99999;
    min-width: 220px;
    padding: 14px 18px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    border: 1px solid #22ff88;
    border-radius: 12px;
    background: rgba(2, 20, 12, 0.95);
    box-shadow: 0 0 20px rgba(34, 255, 136, 0.25);
    color: white;
    opacity: 0;
    transform: translateY(-20px) scale(0.94);
    pointer-events: none;
    transition: opacity 0.35s cubic-bezier(0.22, 1, 0.36, 1), transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.feedback-success-popup.show {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.feedback-success-popup strong {
    color: #22ff88;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.feedback-success-popup span {
    font-size: 16px;
    font-weight: 600;
}

.hint-confirm-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(1, 6, 15, 0.75);
    backdrop-filter: blur(4px);
}

.hint-confirm-popup {
    width: min(420px, 100%);
    padding: 22px 22px 18px;
    border: 1px solid #00eaff;
    border-radius: 16px;
    background: rgba(2, 15, 25, 0.97);
    box-shadow: 0 0 28px rgba(0, 234, 255, 0.25);
    color: white;
    text-align: center;
}

.hint-confirm-popup h3 {
    margin: 0 0 8px;
    color: #00eaff;
    font-size: 20px;
    letter-spacing: 1px;
}

.hint-confirm-popup p {
    margin: 0 0 16px;
    color: #dbeafe;
    font-size: 15px;
    line-height: 1.5;
}

.hint-confirm-actions {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.hint-confirm-btn {
    border: none;
    border-radius: 999px;
    padding: 10px 16px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hint-confirm-btn:hover {
    transform: translateY(-2px);
}

.hint-confirm-cancel {
    background: rgba(255, 255, 255, 0.12);
    color: #e2e8f0;
}

.hint-confirm-confirm {
    background: linear-gradient(135deg, #00eaff, #38bdf8);
    color: #001018;
}

#story{
      font-size: 18px;
      overflow-wrap: break-word;
      word-wrap: break-word;
      white-space: normal;
      max-width: 100%;
    }
#optionsContainer {

    display: grid;

    grid-template-columns: repeat(2, 1fr);
    width: 80%;
    gap:0px 15px;
    margin: 25px auto;

}


.option-btn {

    padding: 18px;

    background:
    rgba(0,20,40,.8);

    color:white;

    border:1px solid cyan;

    border-radius:12px;

    font-size:18px;

    cursor:pointer;

    transition:.3s;

}


.option-btn:hover {

    background:cyan;

    color:black;

    transform:scale(1.03);

}


.option-btn.selected {

    background:#00eaff;

    color:black;

    box-shadow:
    0 0 25px cyan;

}



@media(max-width:700px){

    #optionsContainer{

        grid-template-columns:1fr;

        width:90%;

    }
    .question-card{
      padding: 5px;
      padding-top: 20px;
      margin-bottom: 100px;
    }

    .fragment-popup {
      left: 12px;
      right: 12px;
      top: 12px;
      min-width: auto;
    }
    .round-box{
      flex-direction: column;

    }.round-box h2{
      font-size: 18px;
    }
    #submitAnswer{
      margin:10px;
      font-size: 14px;
    }

    #story{
      font-size: 13px;
      overflow-wrap: break-word;
      word-wrap: break-word;
      white-space: normal;
      max-width: 100%;
    }
    #story-box2{
      
    }
    #audio{
      play:none
    }
    #intro img{
      display: none;
    }
    .echo-box{
      display: none;
    }

}

/* ================================
   ECHO FINISH SCREEN
================================ */

.finish-screen {
    width: min(700px, 100%);
    max-width: 700px;
    margin: 80px auto;
    padding: 60px 40px;
    display: flex;
    flex-direction: column;
    align-items:center;
    justify-content: center;
    text-align: center;

    background:
        linear-gradient(
            145deg,
            rgba(0, 255, 255, 0.08),
            rgba(0, 20, 30, 0.95)
        );

    border: 1px solid rgba(0, 255, 255, 0.5);
    border-radius: 18px;

    box-shadow:
        0 0 15px rgba(0, 255, 255, 0.25),
        0 0 50px rgba(0, 255, 255, 0.12),
        inset 0 0 30px rgba(0, 255, 255, 0.05);

    color: white;

    position: relative;
    overflow: hidden;

    animation: finishAppear 0.8s ease forwards;
}


/* Scan line */

.finish-screen::before {
    content: "";

    position: absolute;
    left: 0;
    right: 0;
    top: -100%;

    height: 100%;

    background: linear-gradient(
        transparent,
        rgba(0, 255, 255, 0.08),
        transparent
    );

    animation: scan 3s linear infinite;
    pointer-events: none;
}


/* Small top status line */

.finish-screen::after {
    content: "ECHO // SYSTEM STATUS // VERIFIED";

    position: absolute;
    top: 14px;
    left: 0;
    right: 0;

    font-size: 10px;
    letter-spacing: 3px;

    color: #00ffff;
    opacity: 0.7;
}


/* Main heading */

.finish-screen h1 {
    margin: 10px 0 15px;

    font-family: "Courier New", monospace;
    font-size: clamp(30px, 6vw, 48px);
    font-weight: 800;

    letter-spacing: 4px;

    color: #00ffff;

    text-shadow:
        0 0 5px #00ffff,
        0 0 15px rgba(0, 255, 255, 0.8),
        0 0 35px rgba(0, 255, 255, 0.5);

    animation: glow 2s ease-in-out infinite alternate;
}


/* Subtitle */

.finish-screen h2 {
    margin: 0;

    font-family: "Courier New", monospace;
    font-size: clamp(18px, 3vw, 28px);

    letter-spacing: 5px;
    text-transform: uppercase;

    color: #b9ffff;

    text-shadow: 0 0 10px rgba(0, 255, 255, 0.6);
}


/* Description */

.finish-screen p {

    width:100%;
    margin: 25px auto 0;

    font-family: "Courier New", monospace;
    font-size: 15px;
    line-height: 1.7;

    color: #9caeb5;
}


/* =================================
   SUCCESS VERSION
================================= */

.finish-screen:not(.failed) {
    border-color: rgba(0, 255, 255, 0.7);
}


/* =================================
   FAILED VERSION
================================= */

/* =================================
   FAILED — ECHO LOCKDOWN
================================= */

.finish-screen.failed {
    background:
        radial-gradient(
            circle at 50% 40%,
            rgba(125, 35, 75, 0.18),
            transparent 65%
        ),
        linear-gradient(
            145deg,
            rgba(45, 15, 45, 0.75),
            rgba(10, 5, 18, 0.95)
        );

    border: 1px solid rgba(190, 55, 105, 0.55);

    box-shadow:
        0 0 15px rgba(170, 40, 100, 0.22),
        0 0 45px rgba(100, 25, 80, 0.16),
        inset 0 0 35px rgba(140, 30, 80, 0.08);
}


/* Scan effect */

.finish-screen.failed::before {
    background: linear-gradient(
        transparent,
        rgba(210, 60, 120, 0.06),
        transparent
    );
}


/* Status */

.finish-screen.failed::after {
    content: "ECHO // SECURITY ALERT // LOCKDOWN";

    color: #d86a9a;
    opacity: 0.75;
}


/* Main heading */

.finish-screen.failed h1 {
    color: #e06a9a;

    text-shadow:
        0 0 5px rgba(220, 80, 140, 0.7),
        0 0 15px rgba(190, 50, 110, 0.55),
        0 0 35px rgba(150, 30, 90, 0.3);

    animation: dangerGlow 1.5s ease-in-out infinite alternate;
}


/* Subtitle */

.finish-screen.failed h2 {
    color: #d8a0ba;

    text-shadow:
        0 0 10px rgba(190, 70, 120, 0.4);
}


/* Description */

.finish-screen.failed p {
    color: #a995a2;
    max-width: 100%;
}


/* Subtle warning pulse */

@keyframes dangerGlow {
    from {
        text-shadow:
            0 0 5px rgba(220, 80, 140, 0.5),
            0 0 15px rgba(190, 50, 110, 0.35);
    }

    to {
        text-shadow:
            0 0 8px rgba(230, 100, 150, 0.7),
            0 0 20px rgba(190, 50, 110, 0.5),
            0 0 35px rgba(140, 30, 90, 0.25);
    }
}

/* =================================
   ANIMATIONS
================================= */

@keyframes finishAppear {
    from {
        opacity: 0;
        transform: scale(0.92);
        filter: blur(8px);
    }

    to {
        opacity: 1;
        transform: scale(1);
        filter: blur(0);
    }
}


@keyframes scan {
    0% {
        top: -100%;
    }

    100% {
        top: 100%;
    }
}


@keyframes glow {
    from {
        text-shadow:
            0 0 5px #00ffff,
            0 0 15px rgba(0, 255, 255, 0.6);
    }

    to {
        text-shadow:
            0 0 10px #00ffff,
            0 0 25px rgba(0, 255, 255, 0.9),
            0 0 45px rgba(0, 255, 255, 0.5);
    }
}


@keyframes dangerGlow {
    from {
        text-shadow:
            0 0 5px #ff3030,
            0 0 15px rgba(255, 0, 0, 0.6);
    }

    to {
        text-shadow:
            0 0 10px #ff3030,
            0 0 25px rgba(255, 0, 0, 0.9),
            0 0 45px rgba(255, 0, 0, 0.5);
    }
}


/* Mobile */

@media (max-width: 600px) {

    .finish-screen {
        margin: 50px auto;
        padding: 50px 20px;
    }

    .finish-screen h1 {
        letter-spacing: 2px;
    }

    .finish-screen h2 {
        letter-spacing: 3px;
    }

    .finish-screen p {
        font-size: 13px;
    }
}




/* ================================
   SUCCESS LEADERBOARD BUTTON
================================ */

.leaderboard-btn1 {
    display: block !important;
    margin: 25px auto !important;
    padding: 14px 32px !important;

    background: rgba(0, 255, 255, 0.06) !important;

    border: 1px solid rgba(0, 255, 255, 0.6) !important;
    border-radius: 8px !important;

    color: #aaffff !important;

    font-family: "Courier New", monospace !important;
    font-size: 14px !important;
    font-weight: bold !important;

    letter-spacing: 2px !important;

    cursor: pointer !important;

    box-shadow:
        0 0 10px rgba(0, 255, 255, 0.12) !important;

    transition: 0.3s ease !important;
}

.leaderboard-btn1:hover {
    background: rgba(0, 255, 255, 0.12) !important;
    border-color: #00ffff !important;
    color: #ffffff !important;

    box-shadow:
        0 0 15px rgba(0, 255, 255, 0.35),
        0 0 30px rgba(0, 255, 255, 0.12) !important;

    transform: translateY(-2px) !important;
}


/* ================================
   FAILED LEADERBOARD BUTTON
================================ */

.leaderboard-btn2 {
    display: block !important;
    margin: 25px auto !important;
    padding: 14px 32px !important;

    background: rgba(100, 25, 70, 0.12) !important;

    border: 1px solid rgba(190, 55, 105, 0.6) !important;
    border-radius: 8px !important;

    color: #d99ab5 !important;

    font-family: "Courier New", monospace !important;
    font-size: 14px !important;
    font-weight: bold !important;

    letter-spacing: 2px !important;

    cursor: pointer !important;

    box-shadow:
        0 0 10px rgba(190, 55, 105, 0.12) !important;

    transition: 0.3s ease !important;
}

.leaderboard-btn2:hover {
    background: rgba(120, 30, 80, 0.22) !important;
    border-color: #d86a9a !important;
    color: #ffe0eb !important;

    box-shadow:
        0 0 15px rgba(190, 55, 105, 0.35),
        0 0 30px rgba(190, 55, 105, 0.12) !important;

    transform: translateY(-2px) !important;
}

.leaderboard-btn1:active,
.leaderboard-btn2:active {
    transform: translateY(0) !important;
}
.feedback-screen {
    width: 100%;
    max-width: 1300px;
    margin: 40px auto;
    padding: 45px;

    background:
        radial-gradient(
            circle at 20% 10%,
            rgba(20, 70, 100, 0.12),
            transparent 40%
        ),
        rgba(3, 5, 12, 0.88);

    border: 1px solid rgba(0, 220, 255, 0.25);
    border-radius: 16px;

    box-shadow:
        0 0 30px rgba(0, 200, 255, 0.08),
        inset 0 0 30px rgba(0, 200, 255, 0.03);

    color: white;
}


/* HEADER */

.feedback-header {
    text-align: center;
    margin-bottom: 40px;
}

.feedback-status,
.social-status {
    font-family: "Courier New", monospace;
    font-size: 11px;
    letter-spacing: 3px;
    color: #00d9ff;
    opacity: 0.7;
}

.feedback-header h1 {
    margin: 15px 0 10px;

    font-family: "Courier New", monospace;
    font-size: clamp(30px, 5vw, 48px);
    letter-spacing: 5px;

    color: #b9faff;

    text-shadow:
        0 0 10px rgba(0, 220, 255, 0.6),
        0 0 30px rgba(0, 150, 255, 0.25);
}

.feedback-header p {
    width: 100%;
    max-width: 600px;
    margin: auto;

    color: #8999a5;
    line-height: 1.7;
}


/* SECTIONS */

#feedbackForm {
    
    margin-top: 50px;
    padding: 24px;
    border: 1px solid rgba(0, 220, 255, 0.28);
    border-radius: 16px;
    background: rgba(5, 10, 18, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow:
        0 0 24px rgba(0, 220, 255, 0.08),
        inset 0 0 18px rgba(0, 220, 255, 0.04);
}

.feedback-section {
    width: 100%;
}

.feedback-section > label {
    display: block;

    margin-bottom: 12px;

    font-family: "Courier New", monospace;
    font-size: 14px;
    letter-spacing: 1px;
    margin:15px;
    margin-bottom: 18px;
    color: #c9faff;
}


/* RADIO OPTIONS */

.rating-options,
.issue-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rating-options label,
.issue-options label {
    cursor: pointer;
}

.rating-options input,
.issue-options input {
    display: none;
}

.rating-options span,
.issue-options span {
    display: block;

    padding: 11px 18px;

    border: 1px solid rgba(0, 200, 255, 0.2);
    border-radius: 6px;

    background: rgba(0, 150, 200, 0.03);

    color: #81939e;

    font-family: "Courier New", monospace;
    font-size: 12px;
    letter-spacing: 1px;

    transition: 0.25s ease;
}

.rating-options span:hover,
.issue-options span:hover {
    border-color: rgba(0, 220, 255, 0.5);
    color: #b8faff;
}

.rating-options input:checked + span,
.issue-options input:checked + span {
    border-color: #00d9ff;

    background: rgba(0, 200, 255, 0.08);

    color: #00eaff;

    box-shadow:
        0 0 12px rgba(0, 210, 255, 0.12);
}


/* TEXTAREA */

.feedback-section textarea {
    width: 100%;
    min-height: 110px;

    padding: 15px;

    box-sizing: border-box;

    resize: vertical;

    background: rgba(0, 0, 0, 0.35);

    border: 1px solid rgba(0, 200, 255, 0.2);
    border-radius: 7px;

    outline: none;

    color: #d8faff;

    font-family: "Courier New", monospace;
    font-size: 13px;

    transition: 0.25s ease;
}

.feedback-section textarea::placeholder {
    color: #53616b;
}

.feedback-section textarea:focus {
    border-color: rgba(0, 220, 255, 0.65);

    box-shadow:
        0 0 15px rgba(0, 200, 255, 0.1);
}


/* SUBMIT */

.feedback-submit {
    display: block;

    margin: 35px auto 10px;
    padding: 14px 32px;

    background: rgba(0, 220, 255, 0.06);

    border: 1px solid rgba(0, 220, 255, 0.6);
    border-radius: 7px;

    color: #aef8ff;

    font-family: "Courier New", monospace;
    font-size: 13px;
    font-weight: bold;

    letter-spacing: 2px;

    cursor: pointer;

    transition: 0.3s ease;
}

.feedback-submit:hover {
    background: rgba(0, 220, 255, 0.12);

    color: white;

    box-shadow:
        0 0 18px rgba(0, 220, 255, 0.25);

    transform: translateY(-2px);
}

.feedback-popup-overlay {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(2, 6, 16, 0.74);
    backdrop-filter: blur(6px);
    z-index: 999;
}

.feedback-popup {
    width: min(460px, 88vw);
    padding: 28px 24px;
    border: 1px solid rgba(0, 220, 255, 0.4);
    border-radius: 14px;
    background: rgba(10, 15, 26, 0.94);
    box-shadow: 0 0 25px rgba(0, 220, 255, 0.2);
    text-align: center;
}

.feedback-popup h2 {
    margin-bottom: 12px;
    font-family: "Courier New", monospace;
    font-size: clamp(22px, 4vw, 30px);
    letter-spacing: 2px;
    color: #c9faff;
}

.feedback-popup p {
    margin-bottom: 18px;
    color: #b0c0ce;
    line-height: 1.7;
}

.leaderboard-screen {
    width: 100%;
    max-width: 900px;
    margin: 40px auto;
    padding: 30px 20px;
    border: 1px solid rgba(0, 220, 255, 0.25);
    border-radius: 14px;
    background: rgba(5, 12, 20, 0.85);
}

.leaderboard-header {
    text-align: center;
    margin-bottom: 24px;
}

.leaderboard-panel {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.leaderboard-row {
    display: grid;
    grid-template-columns: 1fr 1.5fr 1fr;
    gap: 14px;
    padding: 14px 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.02);
    color: #dfeaf5;
}

.leaderboard-head {
    color: #7dd3fc;
    font-family: "Courier New", monospace;
    letter-spacing: 2px;
    text-transform: uppercase;
}


/* SOCIAL */

.social-section {
    margin-top: 55px;
    text-align: center;
}

.social-line {
    width: 70%;
    height: 1px;

    margin: 0 auto 25px;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(0, 220, 255, 0.35),
        transparent
    );
}

.social-section h2 {
    margin: 15px 0 8px;

    font-family: "Courier New", monospace;
    letter-spacing: 3px;

    color: #c7faff;
}

.social-section p {
    color: #697984;
    font-size: 13px;
}


/* SOCIAL LINKS */

.social-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;

    margin-top: 25px;
}

.social-link {
    display: flex;
    align-items: center;
    gap: 9px;

    padding: 11px 18px;

    border: 1px solid rgba(0, 200, 255, 0.2);
    border-radius: 6px;

    color: #8da7b0;

    text-decoration: none;

    font-family: "Courier New", monospace;
    font-size: 11px;
    letter-spacing: 1px;

    transition: 0.25s ease;
}

.social-link span {
    color: #00d9ff;
}

.social-link:hover {
    border-color: rgba(0, 220, 255, 0.6);

    color: #d7fbff;

    background: rgba(0, 200, 255, 0.05);

    box-shadow:
        0 0 12px rgba(0, 200, 255, 0.12);

    transform: translateY(-2px);
}


/* MOBILE */

@media (max-width: 600px) {
  .feedback-header p{
    font-size: 14px;
  }
    .feedback-screen {
        width: 95%;
        padding: 24px 16px;
        margin: 20px auto;
        border-radius: 12px;
    }

    .feedback-header {
        margin-bottom: 24px;
    }

    .feedback-header h1 {
        letter-spacing: 2px;
        font-size: clamp(24px, 7vw, 30px);
    }

    .feedback-status,
    .social-status {
        font-size: 10px;
        letter-spacing: 2px;
    }

    .feedback-section {
        margin-bottom: 18px;
    }

    .feedback-section > label {
        font-size: 12px;
        letter-spacing: 0.8px;
    }

    .rating-options,
    .issue-options {
        flex-direction: column;
        gap: 8px;
    }

    .rating-options span,
    .issue-options span {
        display: block;
        width: 100%;
        text-align: center;
        padding: 12px 16px;
        font-size: 11px;
    }

    .feedback-section textarea {
        min-height: 100px;
        font-size: 12px;
    }

    .feedback-submit {
        width: 100%;
        padding: 10px 10px !important;
        font-size: 14px !important;
        letter-spacing: 1.5px;
    }

    .social-section {
        margin-top: 30px;
    }

    .social-links {
        flex-direction: column;
        gap: 10px;
    }

    .social-link {
        justify-content: center;
        width: 100%;
    }
}
.wordle-container {
display: flex;
justify-content: center;
align-items: center;
gap: 10px;
margin: 25px 0;
}

.wordle-box {
    width: 55px;
    height: 55px;
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    text-transform: uppercase;
    border: 2px solid #555;
    border-radius: 8px;
    background: #111;
    color: #fff;
    outline: none;
}

.wordle-box:focus {
    border-color: #00e5ff;
    box-shadow: 0 0 10px #00e5ff;
}

/* Correct letter + correct position */
.wordle-correct {
    background-color: #22c55e !important;
    border-color: #22c55e !important;
    color: white;
}

/* Letter exists but wrong position */
.wordle-present {
    background-color: #eab308 !important;
    border-color: #eab308 !important;
    color: white;
}

/* Letter doesn't exist */
.wordle-wrong {
    background-color: #ef4444 !important;
    border-color: #ef4444 !important;
    color: white;
}
.wordle-input{
    display:none !important;
}
/* ================================ EXPERIENCE RATING ================================ */ .experience-options { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; width: 100%; margin-top: 12px; } .experience-options label { position: relative; cursor: pointer; display: block; } /* Hide default radio */ .experience-options input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; } /* Rating card */ .experience-options label span { display: flex; align-items: center; justify-content: center; min-height: 55px; padding: 12px 16px; border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 10px; background: rgba(255, 255, 255, 0.04); color: #cbd5e1; font-size: 13px; font-weight: 700; letter-spacing: 1px; transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease; } /* Hover */ .experience-options label:hover span { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.35); color: #ffffff; transform: translateY(-2px); } /* Selected */ .experience-options input[type="radio"]:checked + span { background: rgba(34, 197, 94, 0.12); border-color: #22c55e; color: #22c55e; box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.2), 0 0 18px rgba(34, 197, 94, 0.12); transform: translateY(-2px); } /* Keyboard accessibility */ .experience-options input[type="radio"]:focus-visible + span { outline: 2px solid #22c55e; outline-offset: 3px; } /* ================================ MOBILE ================================ */ @media (max-width: 700px) { .experience-options { grid-template-columns: repeat(2, 1fr); gap: 10px; } .experience-options label span { min-height: 50px; font-size: 11px; padding: 10px; } } @media (max-width: 400px) { .experience-options { grid-template-columns: 1fr; } }