
.main-title {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
    font-size: 70px;
    font-weight: 700;
    color: #333333;
    letter-spacing: 8px;
    text-transform: uppercase;
    text-align: center;
    font-family: 'Intel One Mono', monospace;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.1);
}

/* Copy 3D cube styles from poster.html */
.cube-container {
    position: absolute;
    pointer-events: all;
    cursor: pointer;
    opacity: 0;
    transform: scale(0.8) translateY(-30px);
    transition: all 0.8s cubic-bezier(0.23, 1, 0.320, 1);
    z-index: 50;
}

.cube-container.show {
    opacity: 1;
    transform: scale(1) translateY(0);
}

.cube-container:hover {
    transform: scale(1.08) translateY(-5px);
}

.cube-container.fade-out {
    opacity: 0;
    transform: scale(0.8) translateY(30px);
}

.small-text .cube-face {
    font-size: 12px;
    line-height: 1.2;
}

.extra-small-text .cube-face {
    font-size: 10px;
    line-height: 1.1;
}

@media (max-width: 480px) {
    .main-title {
        font-size: 40px;
        letter-spacing: 2px;
    }
}

.cube {
    width: 140px;
    height: 140px;
    position: relative;
    transform-style: preserve-3d;
    transform: rotateX(-20deg) rotateY(35deg);
    transition: transform 0.3s ease;
}

.cube-face {
    position: absolute;
    width: 140px;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    padding: 15px;
    box-sizing: border-box;
    line-height: 1.3;
    letter-spacing: 0.2px;
    overflow: hidden;
    overflow-wrap: break-word;
    word-break: keep-all; /* Prevent breaking words */
    hyphens: none; /* Disable hyphenation */
    border: 1px solid rgba(0,0,0,0.1);
    background: #ffffff;
    color: #5a5a5a;
}

.front { transform: translateZ(70px); }
.back { transform: rotateY(180deg) translateZ(70px); }
.right { transform: rotateY(90deg) translateZ(70px); }
.left { transform: rotateY(-90deg) translateZ(70px); }
.top { transform: rotateX(90deg) translateZ(70px); }
.bottom { transform: rotateX(-90deg) translateZ(70px); }

.color-black .front { 
    background: rgb(30,30,30); 
    color: white; 
    font-weight: 700; 
    border: 1.5px solid rgba(255, 255, 255, 0.85);
    letter-spacing: 0.5px;
    padding: 12px;
    line-height: 1.4;
}
.color-black .back { 
    background: rgb(30,30,30); 
    color: white; 
    font-weight: 700; 
    border: 1.5px solid rgba(255, 255, 255, 0.85);
    letter-spacing: 0.5px;
    padding: 12px;
    line-height: 1.4;
}
.color-black .left { background: rgb(30,30,30); color: white; font-weight: 700; border: 1.5px solid rgba(255, 255, 255, 0.85); }
.color-black .right { background: rgb(30,30,30); color: white; font-weight: 700; border: 1.5px solid rgba(255, 255, 255, 0.85); }
.color-black .top { background: rgb(30,30,30); color: white; font-weight: 700; border: 1.5px solid rgba(255, 255, 255, 0.85); }
.color-black .bottom { background: rgb(30,30,30); color: white; font-weight: 700; border: 1.5px solid rgba(255, 255, 255, 0.85); }

/* Responsive adjustments */
/* Lenovo Tab M10 Plus 3rd Gen optimization */
@media (min-width: 601px) and (max-width: 768px) {
    .main-title {
        font-size: 65px;
        letter-spacing: 6px;
    }
    
    /* Adjust cube for tablet */
    .cube {
        width: 100px;
        height: 100px;
    }
    
    .cube-face {
        width: 100px;
        height: 100px;
        font-size: 12px;
        padding: 10px;
    }
    
    .small-text .cube-face {
        font-size: 10px;
    }
    
    .extra-small-text .cube-face {
        font-size: 9px;
    }
    
    /* Adjust cube transforms for tablet */
    .front { transform: translateZ(50px); }
    .back { transform: rotateY(180deg) translateZ(50px); }
    .right { transform: rotateY(90deg) translateZ(50px); }
    .left { transform: rotateY(-90deg) translateZ(50px); }
    .top { transform: rotateX(90deg) translateZ(50px); }
    .bottom { transform: rotateX(-90deg) translateZ(50px); }
}

/* Mobile phone sizes */
@media (max-width: 600px) {
    .main-title {
        font-size: 60px;
        letter-spacing: 4px;
    }
    
    /* Mobile cube sizing - reduced from 90px to 70px */
    .cube {
        width: 70px;
        height: 70px;
    }
    
    .cube-face {
        width: 70px;
        height: 70px;
        font-size: 10px;
        padding: 8px;
        line-height: 1.2;
        overflow-wrap: break-word;
        word-break: keep-all; /* Prevent breaking words */
        hyphens: none; /* Disable hyphenation */
    }
    
    .color-black .front,
    .color-black .back {
        padding: 8px;
        font-size: 10px;
        line-height: 1.2;
        letter-spacing: 0.2px;
        overflow-wrap: break-word;
        word-break: keep-all; /* Prevent breaking words */
        hyphens: none; /* Disable hyphenation */
    }
    
    .small-text .cube-face {
        font-size: 8px;
    }
    
    .extra-small-text .cube-face {
        font-size: 7px;
        line-height: 1.1;
    }
    
    .front { transform: translateZ(35px); }
    .back { transform: rotateY(180deg) translateZ(35px); }
    .right { transform: rotateY(90deg) translateZ(35px); }
    .left { transform: rotateY(-90deg) translateZ(35px); }
    .top { transform: rotateX(90deg) translateZ(35px); }
    .bottom { transform: rotateX(-90deg) translateZ(35px); }
}
