.mainFrame {
    background-color: #2E434E;
    height: 750px;
    width: 600px;
    position: absolute;
    left: 210px;
    background-image: url("img/background.jpg");

    border: dashed 1px;
    box-shadow: 9px 11px 1px #888888;
    perspective: 1000px;
    /* 3D Effect */
}

.Frame {
    background-color: #2E434E;
    border: dashed 1px;
    box-shadow: 9px 11px 1px #888888;
}

.Blackout {
    left: 0px;
    top: 0px;
    position: absolute;
    width: 600px;
    height: 750px;
    opacity: 0.87;
    background: black;
}

.Clearance {
    display: block;
    left: 130px;
    top: 100px;
    position: absolute;
    background: black;
    overflow: auto;
    border: double 5px;
    border-color: #254E63;
    width: 400px;
    height: 250px;
    opacity: 0.90;
}

.autoscroll {
    overflow: auto;
}


.Blackout2 {
    position: absolute;
    width: 180px;
    height: 750px;
    opacity: 0.87;
    background: black;
}

.Blackout3 {
    position: absolute;
    width: 180px;
    height: 750px;
    opacity: 0.87;
    background: black;
}

.Initialize {
    left: 0px;
    top: 0px;
    position: absolute;
    width: 500px;
    height: 650px;
    border: solid 2px;
    border-radius: 3px;
    background-image: url(img/background.jpg);
    padding: 50px;
    text-align: center;
}

.ConsoleText {
    margin: 10px;
    padding-top: 15px;
}

p {
    color: #35c5ff;
}

.dcolor {
    color: #35c5ff;
}

.resourcesIndicator {
    margin: 3px;
}

h2 {
    color: #2978a1;
    font-size: 24px !important;
    /*border-bottom: solid 1px;
    border-color: #35c5ff;*/
}

.pointsIndicator {
    border-bottom: solid 1px;
    border-color: #35c5ff;
    text-align: center;
    bottom: -16px;
    left: 7px;
    position: absolute;
}

.pointsTab {
    border: solid 1px;
    border-color: #35c5ff;
    right: 3px;
    position: absolute;
    width: 19px;
    height: 19px;
}

.Botonpuntos {
    background: transparent;
    color: #35c5ff;
    border: none;
}

.Console {
    margin: 5px;

    border: double 5px;
    border-color: #254E63;
    width: 576px;
    height: 200px;
    /*border: solid 1px;
    border-color: #202020;*/
    background-color: white;
    padding: 2px;
    overflow: auto;
    box-shadow: 0px 0px 12px #888888;
}

.Slots {
    position: absolute;
    height: 38px;
    width: 102px;



    left: 86px;
    top: 359px;


    text-align: center;

}

.Slots2 {
    position: absolute;
    height: 38px;
    width: 102px;



    left: 86px;
    top: 359px;


    text-align: center;

}

.Slot {
    height: 30px;
    width: 26px;
    border: double 3px;
    border-radius: 1px;
    border-color: #2c434e;
    background-color: #38515d;
    font-size: 12pt;
    color: darkgreen;



    box-shadow: 1px 1px 1px #888888;

    text-align: center;

}

.smallInfo {
    width: 17px;
    height: 21px;
    position: absolute;
    top: 2px;
    margin-left: -54px;
    background: #38515d;
    color: #35c5ff;
    font-style: italic;
    border: solid 1px;
    border-color: black;
    box-shadow: 1px 1px 1px #888888;
}

.Friend {

    border-bottom: solid 1px;
    border-color: #35c5ff;
    border-radius: 7px;
}

.storeBox {
    position: absolute;
    background: rgba(80, 110, 128, 0.86);
    width: 572px;
    height: 450px;
    overflow: auto;
    border: double 5px;
    border-color: #254E63;
    top: 30px;
    margin: 10px;
}

.rankingBox {
    position: absolute;
    background: rgba(80, 110, 128, 0.86);
    width: 552px;
    height: 450px;
    overflow: auto;
    border: double 5px;
    border-color: #254E63;
    top: 30px;
    margin: 10px;
}

.statisticsBox {
    position: absolute;
    background: rgba(80, 110, 128, 0.86);
    width: 552px;
    height: 450px;
    overflow: auto;
    border: double 5px;
    border-color: #254E63;
    top: 30px;
    margin: 10px;
}

.infoBox {
    position: absolute;
    border: double 3px;
    background: rgb(57, 67, 82);
    left: 350px;
    top: 120px;
    color: #35c5ff;
    border-color: black;
    padding: 10px;
    width: 350px;
    display: none;
}

.mapBox {
    display: inline-table;
    position: absolute;
    background: rgba(80, 110, 128, 0.86);
    height: 700px;
    overflow: auto;
    border: double 5px;
    border-color: #254E63;
    width: 992px !important;
    top: 100px;
    left: 0px;
    background-image: url('img/bit.png');
    margin: 10px;
    transform-style: preserve-3d;
    transition: transform 0.1s ease-out;
    border: 1px solid cyan;
    /* Holographic Border */
    box-shadow: 0 0 15px cyan;
    /* Glow */
    animation: pulse 1s ease-in-out infinite;
    /* Pulsing Glow */
    mask-image: radial-gradient(circle, rgba(0, 0, 0, 1) 70%, rgba(0, 0, 0, 0) 100%);
    -webkit-mask-image: radial-gradient(circle, rgba(0, 0, 0, 1) 70%, rgba(0, 0, 0, 0) 100%);
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 15px cyan;
    }

    50% {
        box-shadow: 0 0 25px cyan;
    }

    100% {
        box-shadow: 0 0 15px cyan;
    }
}

/* Remove float keyframes if not used elsewhere, or keep separate */


/* Scanline Effect */
.mapBox::before {
    content: " ";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 255, 255, 0.1) 50%);
    background-size: 100% 4px;
    z-index: 2;
    pointer-events: none;
    animation: flicker 0.15s infinite;
}

@keyframes float {
    0% {
        transform: translateZ(0px);
    }

    50% {
        transform: translateZ(20px);
    }

    100% {
        transform: translateZ(0px);
    }
}

@keyframes flicker {
    0% {
        opacity: 0.3;
    }

    50% {
        opacity: 0.5;
    }

    100% {
        opacity: 0.8;
    }
}

.digitalTimer {
    position: fixed;
    /* Changed from absolute to fixed for viewport filling */
    top: 0;
    left: 0;
    width: 100vw;
    /* Full viewport width */
    height: 100vh;
    /* Full viewport height */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 780px;
    font-family: 'Courier New', Courier, monospace;
    color: rgba(0, 255, 255, 0.3);
    /* Increased opacity for visibility */
    pointer-events: none;
    z-index: 9999;
    /* Highest z-index to be on top of everything */
    font-weight: bold;
    letter-spacing: -30px;
    /* text-shadow removed - now controlled by JavaScript for fade effect */
    background: rgba(0, 0, 0, 0.3);
    /* Semi-transparent dark overlay */
}

.marker {
    position: absolute;
    width: 15px;
    height: 15px;
    background: #ff8800;
    /* Orange Marker */
    border-radius: 50%;
    transform: translateZ(60px);
    /* Floating Effect */
    box-shadow: 0 0 15px #ff8800;
    pointer-events: none;
    /* Let clicks pass through */
}

.marker.shine {
    animation: markerShine 2s ease-in-out;
}

@keyframes markerShine {
    0% {
        box-shadow: 0 0 15px #ff8800;
        transform: translateZ(60px) scale(1);
    }

    25% {
        box-shadow: 0 0 40px #ff8800, 0 0 60px #ff6600;
        transform: translateZ(70px) scale(1.3);
    }

    50% {
        box-shadow: 0 0 60px #ff8800, 0 0 80px #ff6600, 0 0 100px #ff4400;
        transform: translateZ(80px) scale(1.5);
    }

    75% {
        box-shadow: 0 0 40px #ff8800, 0 0 60px #ff6600;
        transform: translateZ(70px) scale(1.3);
    }

    100% {
        box-shadow: 0 0 15px #ff8800;
        transform: translateZ(60px) scale(1);
    }
}

.marker.fadeout {
    animation: markerFadeOut 1s ease-out forwards;
}

@keyframes markerFadeOut {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.closeButton {
    border-radius: 7px 0px 7px 0px;
    border: solid 1px;
    border-color: #336A86;
    background: #254E63;
    color: #35c5ff;
    width: 30px;
}

.StoreButton {
    border: solid 1px;
    border-radius: 1px 1 1 6;
    background: #336A86;
    color: #35c5ff;
    border-color: #4380A0;
    height: 23px;
}

.StoreInput {
    width: 50px;
    border: solid 2px;
    border-radius: 1px 3 0 1;
    background: #336A86;
    color: green;
    border-color: #4380A0;
    height: 21px;
    text-align: center;
}

.tabButton {
    border: solid 1px;
    border-color: #336A86;
    background: #254E63;
    color: #35c5ff;
    width: 80px;
    text-align: center;
    font-weight: bold;
}

h3 {
    color: #35c5ff
}

.itemRow {
    padding-top: 3px;
    border-bottom: solid 6px;
    border-color: #283D44;
    width: 534px;
    height: 37px;
    background: rgba(26, 44, 77, 0.55);
    line-height: 0%;
    margin: 2px;
    margin-top: 4px;
    border-radius: 22px;
    margin-bottom: 10px;
    padding-left: 8px;
    padding-right: 8px;
}

.Profile {
    padding: 10px;
}

.InviteButton {
    border: solid 1px;
    border-radius: 6px 0 0 0;
    background: #678fa3;
}

/* ===== Social Share Popup ===== */
.social-share-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.75);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: socialFadeIn 0.25s ease-out;
}

@keyframes socialFadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes socialPopIn {
    from {
        transform: scale(0.85);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

.social-share-popup {
    background: linear-gradient(145deg, #1a2e3d, #254E63);
    border: double 4px #35c5ff;
    border-radius: 12px;
    padding: 24px 28px 20px;
    width: 320px;
    box-shadow: 0 0 30px rgba(53, 197, 255, 0.25),
        0 0 60px rgba(53, 197, 255, 0.08),
        inset 0 1px 0 rgba(53, 197, 255, 0.1);
    animation: socialPopIn 0.3s ease-out;
    position: relative;
}

.social-share-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
    border-bottom: 1px solid rgba(53, 197, 255, 0.2);
    padding-bottom: 12px;
}

.social-share-title {
    color: #35c5ff;
    font-size: 16px;
    font-weight: bold;
    font-family: 'Courier New', Courier, monospace;
    letter-spacing: 1px;
    text-shadow: 0 0 8px rgba(53, 197, 255, 0.4);
    margin: 0;
}

.social-share-close {
    background: transparent;
    border: solid 1px #336A86;
    border-radius: 4px;
    color: #35c5ff;
    font-size: 18px;
    width: 28px;
    height: 28px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    line-height: 1;
}

.social-share-close:hover {
    background: #336A86;
    box-shadow: 0 0 10px rgba(53, 197, 255, 0.3);
    color: white;
}

.social-share-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.social-share-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: solid 1px #336A86;
    border-radius: 8px;
    background: rgba(37, 78, 99, 0.6);
    color: #cce8f5;
    font-family: 'Courier New', Courier, monospace;
    font-size: 12px;
    font-weight: bold;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s ease;
    letter-spacing: 0.5px;
}

.social-share-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.social-share-btn .social-icon {
    font-size: 20px;
    width: 24px;
    text-align: center;
    flex-shrink: 0;
}

/* Platform-specific hover colors */
.social-share-btn.btn-whatsapp:hover {
    background: rgba(37, 211, 102, 0.25);
    border-color: #25D366;
    color: #25D366;
}

.social-share-btn.btn-facebook:hover {
    background: rgba(24, 119, 242, 0.25);
    border-color: #1877F2;
    color: #1877F2;
}

.social-share-btn.btn-twitter:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: #e0e0e0;
    color: #ffffff;
}

.social-share-btn.btn-telegram:hover {
    background: rgba(38, 165, 229, 0.25);
    border-color: #26A5E4;
    color: #26A5E4;
}

.social-share-btn.btn-reddit:hover {
    background: rgba(255, 69, 0, 0.25);
    border-color: #FF4500;
    color: #FF4500;
}

.social-share-btn.btn-copy:hover {
    background: rgba(53, 197, 255, 0.2);
    border-color: #35c5ff;
    color: #35c5ff;
}

.social-share-btn.btn-copy.copied {
    background: rgba(0, 255, 100, 0.15);
    border-color: #00ff64;
    color: #00ff64;
}

.playerRank {

    background: linear-gradient(to bottom, #2e434e 0%, #37454c 52%, rgba(211, 216, 218, 0.48) 87%, #474b56 100%);
    /*linear-gradient(to bottom, #2e434e 0%,#37454c 46%,#9eafbf 87%,#474b56 100%); */
    /* W3C */
    border-bottom: solid 1px;
    border-color: #9eafbf;
    border-radius: 3px;
    height: 37px;
}

.playerRank2 {
    background: linear-gradient(to bottom, rgba(46, 67, 78, 0) 0%, #37454c 87%, #04080C 87%, #474b56 100%);
    border-bottom: solid 1px;
    border-color: #9eafbf;
    border-radius: 3px;
    height: 37px;
}

.itemSquare {
    position: relative;
    height: 114px;
    width: 114px;
    border: double 7px;
    border-radius: 6px;
    border-color: black;

    background-color: #f0f0f0;

    margin-top: 50px;
    margin-bottom: 30px;

    box-shadow: 2px 3px 1px #888888;

    text-align: center;

}

.itemSquareSmall {
    position: relative;
    height: 54px;
    width: 54px;
    border: double 5px;
    border-radius: 6px;
    border-color: black;
    background-color: #f0f0f0;

    margin-bottom: 10px;
    margin-left: 20px;
    margin-top: 60px;

    box-shadow: 2px 3px 1px #888888;

    text-align: center;

}

.itemLevelSmall {
    position: absolute;
    height: 23px;
    width: 19px;
    border-right: double 4px;
    border-top: double 4px;
    border-bottom: double 4px;

    border-color: #8f8f8f;
    background-color: #172d3f;

    text-align: right;
    font-size: 11px;
    padding-right: 4px;
    line-height: 0px;
    box-shadow: 2px 3px 1px #888888;
}



.pline {
    line-height: 2px;
}

.pstats {
    text-align: left;
    padding-left: 5px;
    font-family: monospace;
    font-size: 6pt;
    font-weight: 600;
    line-height: 26%;
}

.plevel {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
}

.prank {
    font-size: 16px;
    font-weight: bold;
}

.hlevel {
    text-align: center;
    font-size: 28px;
    font-weight: bold;
}

.itemLevel {
    position: absolute;
    height: 100px;
    width: 58px;
    border: double 4px;

    border-color: #8f8f8f;

    background-color: #172d3f;
    text-align: right;
    font-size: 11px;
    padding-right: 4px;
    line-height: 0px;

    box-shadow: 2px 3px 1px #888888;
}


.statsCPU {
    border-left-style: solid;
    border-left-width: 1px;
    border-radius: 0 3px 3px 0;
    top: 61px;
    left: 128px;
}

.statsVirus {
    border-left-style: solid;
    border-left-width: 1px;
    border-radius: 0 3px 3px 0;
    top: 239px;
    left: 128px;
}

.statsShield {
    border-radius: 3px 0px 0px 3px;
    top: 61px;
    left: 4px;
    border-right-style: solid;
    border-right-width: 1px;
}

.statsPower {
    border-radius: 3px 0px 0px 3px;
    top: 239px;
    left: 4px;
    border-right-style: solid;
    border-right-width: 1px;
}

.statsHDD {
    text-align: center;
    margin-left: 4px;
    border-radius: 0px 3px 0px 3px;
    top: 421px;
    left: 78px;
}

.statsMemory {
    text-align: center;
    margin-left: 4px;
    border-radius: 0px 3px 0px 3px;
    top: 421px;
    left: 78px;
}

.statsNetwork {
    text-align: center;
    margin-left: 4px;
    border-radius: 0px 3px 0px 3px;
    top: 421px;
    left: 148px;
}

.itemLevelRow2 {
    position: absolute;
    top: 228px;
    left: 96px;
    height: 74px;
    width: 58px;
    border: double 4px;
    border-radius: 0 3px 3px 0;
    border-color: #8f8f8f;
    border-left-style: solid;
    border-left-width: 1px;
    background-color: #e1e1e1;
    text-align: right;
    font-size: 11px;
    padding-right: 4px;
    line-height: 0px;

    box-shadow: 2px 3px 1px #888888;
}

.pointsSquare {
    position: absolute;
    width: 100%;

}

.CPU {
    background-image: url("img/CPU.png");
    background-size: 120px;
    color: white;
    background-repeat: no-repeat;
    background-color: white;
    background-position: center;

}

.Virus {
    background-image: url("img/Virus.png");
    background-size: 120px;
    color: pink;
    background-repeat: no-repeat;
    background-color: white;
    background-position: center;
}

.Shield {
    left: 70px;
    background-image: url("img/Antivirus2.png?v=2");
    background-size: 120px;
    color: red;
    background-repeat: no-repeat;
    background-color: white;
    background-position: center;
}

.Power {
    background-image: url("img/Battery2.png");
    background-size: 120px;
    left: 70px;
    background-repeat: no-repeat;
    background-color: white;
    background-position: center;
}

.Memory {
    background-image: url("img/RAM.png");
    background-size: 57px;
    background-repeat: no-repeat;
    background-color: white;
    background-position: center;
}

.HDD {
    background-image: url("img/HDD.png");
    background-size: 57px;
    background-repeat: no-repeat;
    background-color: white;
    background-position: center;
}

.Network {
    background-image: url("img/Network.png?v=3");
    background-size: 57px;
    background-repeat: no-repeat;
    background-color: white;
    background-position: center;
}

.container1 {
    float: left;
    width: 100%;
    overflow: hidden;
    position: relative;
    right: 0%;
}

.container2 {
    float: left;
    width: 100%;
    overflow: hidden;
    position: relative;
    right: 28%;
}

.container3 {
    top: 520px;
    position: inherit;
    padding-top: 520px;
}

.column1 {
    float: left;
    width: 36%;
    position: relative;
    left: 2%;
    overflow: hidden;
    height: 520px;
}

.column2 {
    float: left;
    width: 19%;
    position: relative;
    left: 4%;
    overflow: hidden;
    height: 520px;
}

.column3 {
    float: left;
    width: 36%;
    position: relative;
    left: 10%;
    overflow: hidden;
    height: 520px;
}

.InvisibleContainer {
    position: fixed;
    visibility: hidden;
}

/* Refactored from bitquest.js */
.stat-text {
    line-height: 10%;
}

.stat-bonus {
    line-height: 10%;
    font-size: 10pt;
    color: green;
}

.console-success {
    color: green;
}

.console-info {
    color: blue;
}

.console-error {
    color: red;
}

.console-box {
    border-radius: 3px;
    background: rgb(224, 224, 224);
    border-color: blue;
    border-bottom-width: 1px;
    border-bottom-left-radius: 9px;
    border-bottom-right-radius: 9px;
    padding: 6px;
    margin-top: 5px;
    padding-top: 0px;
    padding-bottom: 0px;
}

/* Module Equipment Slots */
.module-slots {
    display: flex;
    gap: 5px;
    align-items: center;
}

.module-slot {
    height: 27px;
    width: 27px;
    border: double 2px;
    border-radius: 1px;
    border-color: #2c434e;
    background-color: #0d1a21;
    font-size: 12px;
    color: darkgreen;
    box-shadow: 1px 1px 1px #444;
    text-align: center;
    position: relative;
    line-height: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: monospace;
    top: 39px;
}

.module-slot.filled {
    color: #00ff00;
}

.module-slot.empty {
    color: darkgreen;
    opacity: 0.8;
}

.module-slot img {
    margin-top: 2px;
}

/* Slot indicator removed - using visual images only */

/* Component labels */
.component-label {
    font-size: 9px;
    font-weight: bold;
    color: #35c5ff;
    margin-bottom: 3px;
    text-transform: uppercase;
    pointer-events: none;
}