@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');
body {
    color: rgba(255, 255, 255, 0.869);
    background: transparent !important;
    font-family: 'Poppins', sans-serif;
}

.introduction.section {
    padding: 7rem 3rem 3rem 3rem;
}




.gamebox {
    height: 100%;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(8, auto);
    grid-template-rows: repeat(8, auto);
    border: 3px solid #00d2d2;
    box-shadow: 0 0 25px rgba(0, 210, 210, 0.4), inset 0 0 15px rgba(0, 210, 210, 0.2);
    border-radius: 8px;
    overflow: hidden;
    background-color: rgba(0, 0, 30, 0.5);
}

.gamebox-container {
    width: 520px;
    height: 520px;
    margin: 0;
    flex-shrink: 0;
}

.box {
    border: 1px solid cyan;
    position: relative;
}





@keyframes vibrate {
    0% {
        transform: rotate(0deg);
    }

    25% {
        transform: rotate(-8deg);
    }

    75% {
        transform: rotate(10deg);
    }

    100% {
        transform: rotate(0deg);
    }
}







.settings {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: gray;
    gap: 15px;
}
body {
    color: rgba(255, 255, 255, 0.869);
    background: transparent !important;
    font-family: 'Poppins', sans-serif;
}

.introduction.section {
    padding: 7rem 3rem 3rem 3rem;
}




.gamebox-container {
    width: 520px;
    height: 520px;
    margin: 0;
    flex-shrink: 0;
}

.box {
    border: 1px solid cyan;
    position: relative;
}





@keyframes vibrate {
    0% {
        transform: rotate(0deg);
    }

    25% {
        transform: rotate(-8deg);
    }

    75% {
        transform: rotate(10deg);
    }

    100% {
        transform: rotate(0deg);
    }
}







.settings {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: gray;
    gap: 15px;
}

.reversegame.section {
    margin: 0;
    padding: 3rem 0;
}

.reversegame.section .container {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    gap: 30px;
    padding: 40px;
}

.game-container {
    background-color: hsl(287.36deg 100% 37.39% / 16%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 24px;
    padding: 40px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
    max-width: 1200px;
    margin: 0 auto;
}



.gamebox-container {
    width: 520px;
    height: 520px;
    flex-shrink: 0;
}
.reversegame .left,
.reversegame .right {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.buttons {
    width: 100%;
    padding: 15px;
    display: flex;
}

.right .buttons {
    justify-content: flex-end;
    align-items: center;
}


/* From Uiverse.io by learnMyHobby */
.buttons button {
    position: relative;
    text-decoration: none;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 5px;
    line-height: 42px;
    width: 100px;
    cursor: pointer;
    font-weight: bold;
    height: 48px;
    border-radius: 15px;
    border: none;
    -webkit-box-reflect: bottom 1px linear-gradient(transparent, #0004);
    margin: 0 5px;
}

.buttons button span {
    border-radius: 11px;
    position: absolute;
    display: flex;
    justify-content: center;
    text-align: center;
    top: 4px;
    right: 4px;
    bottom: 4px;
    left: 4px;
    text-align: center;
    background: #121212;
    color: rgba(255, 255, 255, 0.864);
    transition: 0.3s;
    z-index: 1;
}

.buttons button:hover {
    font-size: 16px;
}

.buttons button:hover span {
    color: rgba(255, 255, 255, 1);
}

.buttons button::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-size: 400%;
    opacity: 0;
    transition: 0.3s;
    border-radius: 15px;
    background: linear-gradient(45deg,
            #701591,
            #09cad8,
            #fb0094,
            #00f);
    animation: animate123 1s 20% linear infinte;
}

.buttons button::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-size: 400%;
    /* filter: blur(20px); */
    transition: 0.3s;
    border-radius: 15px;
    background: linear-gradient(45deg,
            #701591,
            #09cad8,
            #fb0094,
            #00f);
    animation: animate123 1s 20% linear infinte;
}

.buttons button:hover::before,
.buttons button:hover::after {
    opacity: 1;
    filter: blur(0px);
}

@keyframes animate123 {
    0% {
        background-position: 0 0;
    }

    50% {
        background-position: 300% 0;
    }

    100% {
        background-position: 0 0;
    }
}

.buttons button span::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: rgba(255, 255, 255, 0.042);
    transition: 0.3s;
}

.buttons button:hover span::before {
    height: 0%;
}

.scoreboard-box {
    background: #00002c;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    margin-bottom: 20px;
}
.scoreboard-box h2 {
    color: #00d2d2;
    font-size: 22px;
    margin: 0 0 10px 0;
    text-transform: uppercase;
    letter-spacing: 2px;
}
.scoreboard-box h3 {
    color: white;
    font-size: 28px;
    margin: 0;
    font-weight: bold;
}
.scoreboard-box h3 span {
    transition: 0.3s;
}

.winner-display, .newGame-screen, .settings-display, .help-display {
    z-index: -10;
    opacity: 0;
    pointer-events: none;
    position: fixed;
}

.crossBtn {
    /* border: 1px solid red; */
    width: 20px;
    height: 20px;
    display: block;
    position: absolute;
    right: 18px;
    top: 15px;
    transition: all 0.3s;
    cursor: pointer;
}


.crossBtn:hover {
    scale: 1.1;
}
.crossBtn span::before, .crossBtn span::after {
    content: "";
    background: #d00000;
    display: block;
    height: 3px;
    width: 20px;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 0px;
}
.crossBtn span::after {
    transform: rotate(-45deg);
}
.crossBtn:hover span::before, .crossBtn:hover span::after {
    background: #ff0000;
}

.winner-display.show, .newGame-screen.show, .settings-display.show, .help-display.show {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    opacity: 1;
    z-index: 12;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
    overflow-y: auto;
}

.newGame-screen .card {
    opacity: 0;
    scale: 0;
    width: 50%;
    max-width: 400px;
    min-width: 300px;
    transition: all 0.3s ease-in-out;
    pointer-events: none;
}

.newGame-screen.show .card {
    opacity: 1;
    scale: 1;
    pointer-events: auto;
}

.card {
    background-color: transparent;
    padding: 20px;
    border: none;
    width: 100%;
    border-radius: 12px;
    color: white;
    min-height: 100px;
    position: relative;
    /* Z-index 1 establishes stacking context if transform doesn't, but transform will anyway */
    z-index: 1; 
}

.card::before {
    /* The dark background inside the card */
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #00002c;
    z-index: -1;
    border-radius: 12px;
}

.card::after {
    /* The animated gradient border outside the card */
    content: "";
    position: absolute;
    background: linear-gradient(45deg, #b41aaa, #6d1ffc, #0dd5aa, #6d1ffc, #b41aaa, #6d1ffc, #0dd5aa, #6d1ffc);
    top: -8px;
    right: -8px;
    bottom: -8px;
    left: -8px;
    z-index: -2;
    border-radius: 14px;
    animation: borderAnimation 10s ease-in-out infinite;
    opacity: 1;
}

/* Optional glowing effect for after */
.card > *:not(.crossBtn) {
    position: relative;
    z-index: 1;
}
@keyframes borderAnimation {
    0%, 100%{
        background-size: 400% 400%;
        background-position: 100% 0;
    }
    50%  {
        background-size: 400% 400%;
        background-position: 0 100%;
    }
}
.newGame-screen .card > h1 {
    text-align: center;
    margin-bottom: 12px;
    font-size: 28px;
}
.newGame-screen .card > h3 {
    font-size: 16px;
    color: #e2e2e2;
    margin-top: 15px;
    margin-bottom: 6px;
    padding-bottom: 10px;
}
.newGame-screen .options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 15px;
    gap: 6px;
}
.newGame-screen .friend, .newGame-screen .computer {
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 8px;
    padding: 12px 16px;
    border: 2px solid #434343;
    cursor: pointer;
    user-select: none;
    transition: 0.3s;
}
.newGame-screen .friend {
    justify-content: flex-start;
}
.newGame-screen .computer {
    justify-content: flex-end;
}
.newGame-screen .friend h3, .newGame-screen .computer h3 {
    margin: 0;
}
.newGame-screen .friend.active, .newGame-screen .computer.active {
    border: 2px solid #00d2d2;
}
.newGame-screen .options svg {
    display: block;
}
.newGame-screen input {
    width: 100%;
    padding: 10px;
    font-size: 15px;
    border-radius: 6px;
    box-shadow: 0 0 10px 0px rgb(255 255 255 / 56%);
    background: transparent;
    color: white;
    border: none;
}
.newGame-screen .buttons {
    margin: 15px 0 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.winner-display .card {
    width: 90%;
    max-width: 450px;
    opacity: 0;
    scale: 0;
    pointer-events: none;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    color: white;
    padding: 40px;
}
.winner-display.show .card {
    pointer-events: auto;
    opacity: 1;
    scale: 1;
}

.winner-display .congrats {
    text-align: center;
    font-size: 32px;
    margin-bottom: 5px;
    font-weight: 800;
}

.winner-display .winner-name-display {
    text-align: center;
    font-size: 20px;
    margin-bottom: 30px;
    color: #e2e2e2;
    font-weight: 400;
}

.winner-display .win-scores {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 10px;
}

.winner-display .score-pill {
    background: rgba(0, 210, 210, 0.1);
    border: 1px solid rgba(0, 210, 210, 0.3);
    border-radius: 12px;
    padding: 15px;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

.winner-display .score-pill span:first-child {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #aaa;
}

.winner-display .score-pill .score-value {
    font-size: 36px;
    font-weight: 700;
    color: #00d2d2;
}

@keyframes blink {
    0%, 100% { opacity: 0.2; }
    50% { opacity: 0.8; }
}

@media (max-width: 1050px) {
    

.gamebox-container {
        width: 400px;
        height: 400px;
    }
    .scoreboard-box h2 {
        font-size: 18px;
    }
    .scoreboard-box h3 {
        font-size: 24px;
    }
}

@media (max-width: 900px) {
    .reversegame.section .container {
        flex-direction: column;
        align-items: center;
    }
    .reversegame .left,
    .reversegame .right {
        width: 100%;
        max-width: 500px;
        flex-direction: row;
        height: auto;
    }
    

.gamebox-container {
        width: 450px;
        height: 450px;
        margin: 20px 0;
    }
    .robot-placeholder {
        display: none !important; /* Hide robot cam on smaller screens */
    }
    .scoreboard-box {
        margin-bottom: 0;
        margin-right: 20px;
        flex: 1;
    }
    .buttons {
        padding: 0;
        flex-direction: column;
        justify-content: center;
        gap: 10px;
        width: auto;
    }
}

@media (max-width: 600px) {
    

.gamebox-container {
        width: 350px;
        height: 350px;
    }
    .reversegame .left,
    .reversegame .right {
        max-width: 350px;
    }
    .scoreboard-box h2 {
        font-size: 16px;
    }
    .scoreboard-box h3 {
        font-size: 20px;
    }
}

@media (max-width: 400px) {
    

.gamebox-container {
        width: 300px;
        height: 300px;
    }
    .reversegame .left,
    .reversegame .right {
        max-width: 300px;
        flex-direction: column;
    }
    .scoreboard-box {
        margin-right: 0;
        margin-bottom: 10px;
    }
    .buttons {
        flex-direction: row;
    }
}



















/* Turn indicator */
.scoreboard-box.turn-active {
    border: 1px solid #00d2d2;
    box-shadow: 0 0 20px rgba(0, 210, 210, 0.4);
    transform: scale(1.05);
}

.scoreboard-box {
    transition: all 0.3s ease-in-out;
}

/* Hint blinker */
.box.hint-active::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    background-color: rgba(0, 210, 210, 0.9);
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: blinkHint 0.8s infinite;
    pointer-events: none;
    z-index: 5;
}

@keyframes blinkHint {
    0%, 100% { opacity: 0.2; transform: translate(-50%, -50%) scale(0.8); }
    50% { opacity: 1; transform: translate(-50%, -50%) scale(1.3); }
}


/* Settings Screen */
.settings-display .card {
    opacity: 0;
    scale: 0;
    width: 90%;
    max-width: 400px;
    transition: all 0.3s ease-in-out;
    pointer-events: none;
    padding: 30px;
}
.settings-display.show .card {
    opacity: 1;
    scale: 1;
    pointer-events: auto;
}
.settings-display .options {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 20px;
}
.settings-display .setting-option {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    border-radius: 8px;
    padding: 12px 16px;
    border: 2px solid #434343;
    cursor: pointer;
    user-select: none;
    transition: 0.3s;
}
.settings-display .setting-option h3 {
    margin: 0;
    font-size: 18px;
    color: #e2e2e2;
}
.settings-display .setting-option.active {
    border: 2px solid #00d2d2;
}
.settings-display .setting-option.active h3 {
    color: #00d2d2;
}

.buttons .settings-btn {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: transparent;
    border: 2px solid #00d2d2;
    color: #00d2d2;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: 0.3s;
}
.buttons .settings-btn:hover {
    background: rgba(0, 210, 210, 0.1);
    box-shadow: 0 0 15px rgba(0, 210, 210, 0.4);
    transform: rotate(90deg);
}


/* Help Screen */
.help-display .card {
    opacity: 0;
    scale: 0;
    width: 90%;
    max-width: 500px;
    transition: all 0.3s ease-in-out;
    pointer-events: none;
    padding: 30px 40px;
}
.help-display.show .card {
    opacity: 1;
    scale: 1;
    pointer-events: auto;
}

/* Tutorial CSS */
.tutorial-text {
    color: #e2e2e2;
    font-size: 15px;
    line-height: 1.6;
    text-align: center;
    min-height: 50px;
    margin-bottom: 20px;
}
.mini-gamebox {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(5, 1fr);
    width: 250px;
    height: 250px;
    margin: 0 auto;
    border-radius: 8px;
    background-color: rgba(0, 0, 30, 0.5);
    border: 3px solid #00d2d2;
    box-shadow: 0 0 25px rgba(0, 210, 210, 0.4), inset 0 0 15px rgba(0, 210, 210, 0.2);
    overflow: hidden;
}
.tutorial-box {
    border: 1px solid cyan;
    position: relative;
    cursor: pointer;
    background: #000;
}
.tutorial-box .black, .tutorial-box .white {
    width: 80%;
    height: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    border-radius: 50%;
    transition: 0.3s;
    opacity: 0;
}
.tutorial-box .black {
    background: #00d2d2;
    box-shadow: inset -5px -5px 10px rgba(0, 0, 0, 0.3), 0 0 10px rgba(0, 210, 210, 0.5);
}
.tutorial-box .white {
    background: #ff0055;
    box-shadow: inset -5px -5px 10px rgba(0, 0, 0, 0.3), 0 0 10px rgba(255, 0, 85, 0.5);
}
.tutorial-box .black.show, .tutorial-box .white.show {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
}

/* Tutorial controls */
.tutorial-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
}
.tut-btn {
    background: transparent;
    border: 1px solid #00d2d2;
    color: #00d2d2;
    padding: 8px 16px;
    border-radius: 6px;
    cursor: pointer;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    transition: 0.3s;
}
.tut-btn:hover:not(:disabled) {
    background: rgba(0, 210, 210, 0.1);
}
.tut-btn:disabled {
    border-color: #444;
    color: #666;
    cursor: not-allowed;
}
.tut-dots {
    display: flex;
    gap: 8px;
}
.tut-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #444;
    transition: 0.3s;
}
.tut-dot.active {
    background: #00d2d2;
    transform: scale(1.3);
}

.tutorial-box.hint-tut::after {
    content: "";
    position: absolute;
    width: 15px;
    height: 15px;
    background-color: rgba(0, 210, 210, 0.9);
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: blinkHint 0.8s infinite;
    pointer-events: none;
    z-index: 5;
}



/* Main Game 3D Orbs */
.box .white,
.box .black {
    position: absolute;
    width: 65%;
    height: 65%;
    opacity: 0;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    transition: 0.3s;
}

.box .white {
    background: #e2e2e2;
    box-shadow: inset -5px -5px 10px rgba(0, 0, 0, 0.4), 0 0 10px rgba(226, 226, 226, 0.5);
}

.box .black {
    background: #00d2d2;
    box-shadow: inset -5px -5px 10px rgba(0, 0, 0, 0.3), 0 0 10px rgba(0, 210, 210, 0.5);
}

.box .white.show,
.box .black.show {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
}





div.box.error::before {
    content: "";
    border: 3px solid #ff0055;
    background: rgba(255, 0, 85, 0.3);
    box-shadow: inset 0 0 15px rgba(255, 0, 85, 0.6), 0 0 15px rgba(255, 0, 85, 0.6);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
    animation: vibrateError 0.4s cubic-bezier(.36,.07,.19,.97) both;
}

@keyframes vibrateError {
    0%, 100% { transform: translate3d(0, 0, 0); opacity: 0; }
    10% { transform: translate3d(-4px, 0, 0); opacity: 1; }
    20% { transform: translate3d(4px, 0, 0); }
    30% { transform: translate3d(-4px, 0, 0); }
    40% { transform: translate3d(4px, 0, 0); }
    50% { transform: translate3d(-2px, 0, 0); }
    60% { transform: translate3d(2px, 0, 0); }
    70% { transform: translate3d(-1px, 0, 0); }
    80% { transform: translate3d(1px, 0, 0); }
    90% { transform: translate3d(0, 0, 0); opacity: 1; }
}


/* Custom Volume Slider */
input[type=range] {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
}
input[type=range]:focus {
    outline: none;
}
input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 4px;
    cursor: pointer;
    background: #434343;
    border-radius: 2px;
}
input[type=range]::-webkit-slider-thumb {
    height: 16px;
    width: 16px;
    border-radius: 50%;
    background: #00d2d2;
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -6px;
    box-shadow: 0 0 10px rgba(0, 210, 210, 0.8);
    transition: 0.2s;
}
input[type=range]::-webkit-slider-thumb:hover {
    transform: scale(1.3);
}

/* Mr. Robot Animated Avatar */
.robot-avatar-container {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    gap: 15px;
    width: 100%;
}

.robot-tv-frame {
    position: relative;
    width: 200px;
    height: 150px;
    background: rgba(0, 0, 30, 0.8);
    border: 4px solid #00d2d2;
    border-radius: 20px;
    box-shadow: 0 0 20px rgba(0, 210, 210, 0.3), inset 0 0 20px rgba(0, 210, 210, 0.4);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.robot-scanlines {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.06), rgba(0, 255, 0, 0.02), rgba(0, 0, 255, 0.06));
    background-size: 100% 4px, 6px 100%;
    pointer-events: none;
    z-index: 2;
    opacity: 0.6;
}

.robot-face {
    width: 120px;
    height: 120px;
    z-index: 1;
    filter: drop-shadow(0 0 5px rgba(0, 210, 210, 0.8));
}

.robot-eye {
    fill: #00d2d2;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.robot-mouth {
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Expressions */
.robot-tv-frame.neutral .robot-mouth {
    d: path("M20 65 Q50 65 80 65");
}
.robot-tv-frame.neutral .robot-eye {
    transform: rotate(0deg) scaleY(1);
}

.robot-tv-frame.happy .robot-mouth {
    d: path("M20 60 Q50 85 80 60");
}
.robot-tv-frame.happy .robot-eye {
    transform: rotate(0deg) scaleY(1.1);
}

.robot-tv-frame.worried .robot-mouth {
    d: path("M25 68 Q50 60 75 68");
}
.robot-tv-frame.worried .left-eye {
    transform: rotate(-10deg) scaleY(0.8);
}
.robot-tv-frame.worried .right-eye {
    transform: rotate(10deg) scaleY(0.8);
}

.robot-tv-frame.sad .robot-mouth {
    d: path("M20 75 Q50 50 80 75");
}
.robot-tv-frame.sad .left-eye {
    transform: rotate(-15deg) scaleY(0.6);
}
.robot-tv-frame.sad .right-eye {
    transform: rotate(15deg) scaleY(0.6);
}

.robot-tv-frame.evil {
    border-color: #9d00ff;
    box-shadow: 0 0 20px rgba(157, 0, 255, 0.3), inset 0 0 20px rgba(157, 0, 255, 0.4);
}
.robot-tv-frame.evil .robot-eye {
    fill: #9d00ff;
}
.robot-tv-frame.evil .robot-mouth {
    stroke: #9d00ff;
    d: path("M15 60 Q50 90 85 60");
}
.robot-tv-frame.evil .robot-face {
    filter: drop-shadow(0 0 8px rgba(157, 0, 255, 0.8));
}
.robot-tv-frame.evil .left-eye {
    transform: rotate(25deg) scaleY(0.5);
}
.robot-tv-frame.evil .right-eye {
    transform: rotate(-25deg) scaleY(0.5);
}

.robot-tv-frame.angry {
    border-color: #ff0055;
    box-shadow: 0 0 20px rgba(255, 0, 85, 0.3), inset 0 0 20px rgba(255, 0, 85, 0.4);
}
.robot-tv-frame.angry .robot-eye {
    fill: #ff0055;
}
.robot-tv-frame.angry .robot-mouth {
    stroke: #ff0055;
    d: path("M15 75 Q50 45 85 75");
}
.robot-tv-frame.angry .robot-face {
    filter: drop-shadow(0 0 8px rgba(255, 0, 85, 0.8));
}
.robot-tv-frame.angry .left-eye {
    transform: rotate(25deg) scaleY(0.4);
}
.robot-tv-frame.angry .right-eye {
    transform: rotate(-25deg) scaleY(0.4);
}

/* Dialogue Box */
.robot-dialogue-box {
    width: 220px;
    min-height: 50px;
    background: rgba(0, 0, 0, 0.4);
    border: 1px solid rgba(0, 210, 210, 0.3);
    border-radius: 8px;
    padding: 12px;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.4;
    color: #00d2d2;
    font-family: monospace;
    box-shadow: inset 0 0 10px rgba(0,0,0,0.5);
    text-align: left;
}
.robot-tv-frame.evil + .robot-dialogue-box {
    color: #9d00ff;
    border-color: rgba(157, 0, 255, 0.3);
}
.robot-tv-frame.angry + .robot-dialogue-box {
    color: #ff0055;
    border-color: rgba(255, 0, 85, 0.3);
}

.robot-cursor {
    display: inline-block;
    width: 8px;
    animation: blink 1s step-end infinite;
}
@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}





/* Toast Notification */
.toast-notification {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%) translateY(-20px);
    background: rgba(0, 0, 30, 0.9);
    border: 2px solid #00d2d2;
    color: #00d2d2;
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: bold;
    box-shadow: 0 0 15px rgba(0, 210, 210, 0.5);
    opacity: 0;
    pointer-events: none;
    z-index: 9999;
    transition: all 0.3s ease;
}
.toast-notification.show {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}
