 *{margin:0;padding:0;box-sizing:border-box;font-family:'Noto Sans',sans-serif;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}article,aside,details,figcaption,figure,footer,header,main,nav,section,summary{display:block}html,body{width:100%;height:100%;background-color:#ffffff}a{color:white;text-decoration:none}li{list-style:none}img{vertical-align:middle}.lazy-load{display:none}.header-box{height:60px;background:#fff!important;border-bottom:1px solid #e1e4e8!important;padding:0 16px!important;display:flex;align-items:center;box-shadow:0 1px 2px rgba(0,0,0,.05)}.header-box .header-left-logo{width:auto;margin:0;padding:0;flex-shrink:0}.header-box .header-left-logo img{height:24px}.index-content{position:relative;width:100%;margin:0 auto}.grid-warp{margin:0 auto;width:100%;max-width:100%;padding:0 16px}.game-list-warp{--gridTemplateColumns:5;display:grid;grid-gap:16px;grid-auto-flow:dense;justify-content:center;margin:16px auto;padding:0;list-style-type:none;grid-template-columns:repeat(var(--gridTemplateColumns),1fr)}.game-list-warp .game-list{display:contents}.game-list-warp .game-list li{border-radius:16px;display:contents}.game-list-warp .game-list li a{display:block;width:100%;aspect-ratio:1 / 1;transition:.2s;position:relative;border-radius:16px;box-shadow:#0000003d 0 6px 12px 0}.game-list-warp .game-list li a:hover{z-index:1000;transform:scale(1.03) translateY(-5px)}.game-list-warp .game-list li img{border-radius:16px;width:100%}.game-img{border-radius:16px;width:100%;height:100%;object-fit:cover;display:block}.game-item-title{display:block;position:absolute;right:0;bottom:10px;left:0;padding:6px;color:#fff;font-size:14px;font-weight:700;text-align:center;z-index:5;opacity:0;transition:opacity .3s;text-shadow:0 1px 3px rgba(0,0,0,.8);pointer-events:none}.game-item-shadow{background:linear-gradient(0deg,rgba(0,0,0,.8) 0,transparent 60%);border-radius:16px;bottom:0;display:block;opacity:0;transition:opacity .3s;height:100%;position:absolute;width:100%;z-index:4;pointer-events:none;box-sizing:border-box}@media screen and (min-width:768px){.game-list-warp .game-list li a:hover .game-item-title{opacity:1}.game-list-warp .game-list li a:hover .game-item-shadow{opacity:1;border:3px solid #fff}}.game-list-warp .game-list a.featured-game{grid-column:span 2;grid-row:span 2}.game-list-warp .game-list a.featured-game .game-img{height:100%;object-fit:cover}@media (min-width:768px){.game-list-warp .game-list a.featured-game{grid-column:span 3;grid-row:span 3}}@media (max-width:543px){.game-list-warp{--gridTemplateColumns:3}}@media (min-width:544px) and (max-width:763px){.game-list-warp{--gridTemplateColumns:4}}@media (min-width:764px) and (max-width:1204px){.game-list-warp{--gridTemplateColumns:6}}@media (min-width:1204px) and (max-width:1533px){.game-list-warp{--gridTemplateColumns:8}}@media (min-width:1534px) and (max-width:1863px){.game-list-warp{--gridTemplateColumns:10}}@media (min-width:1864px){.game-list-warp{--gridTemplateColumns:12}}.loader{position:absolute;display:flex;justify-content:center;align-items:center;top:0;left:0;right:0;bottom:0;margin:auto;width:50%;height:0;padding-top:50%}.loader::after{content:"";top:0;left:0;right:0;bottom:0;margin:auto;width:100%;height:100%;position:absolute;border:5px solid #DCDDDB;border-top-color:#48A8FF;border-radius:50%;animation:loading .75s ease-out infinite;box-sizing:border-box}@keyframes loading{from{transform:rotate(0turn)}to{transform:rotate(1turn)}}.detail-main-container{display:flex;justify-content:space-between;margin:30px auto 0;max-width:1200px;padding:0 24px;width:100%;background-color:#fff}.main-container{width:calc(100% - 321px)}.right-rec-container{width:300px}.info-card{display:flex;width:100%;height:auto;min-height:164px;margin-bottom:30px}.info-card .info-img{position:relative;border-radius:20px;height:164px;overflow:hidden;width:164px;flex-shrink:0;background-color:#EEE}.info-card .info-img .cover-img{width:100%;object-fit:cover}.info-card .info-info{height:auto;width:70%;margin-left:32px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:10px 0}.info-card .info-info .info-name h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;color:#202124;font-size:28px;font-weight:500;line-height:1.2;margin-bottom:4px}.info-meta{display:flex;align-items:center;margin-bottom:8px}.meta-item{display:flex;align-items:center}.meta-icon{width:18px;height:18px;margin-right:8px;opacity:.5;filter:grayscale(100%)}.meta-text{font-size:14px;color:#5F6368;font-weight:400}.meta-separator{width:1px;height:14px;background-color:#DADCE0;margin:0 16px}.info-rating-row{display:flex;align-items:center}.info-rating-row .start,.info-rating-row .start-small{width:16px;height:16px;margin-right:2px;object-fit:contain}.info-rating-row .rating-score{font-size:14px;color:#5F6368;margin-left:8px;font-weight:400}.ad-slot{width:100%;min-height:280px;background-color:#f7f8fa;border:1px dashed #e1e4e8;display:flex;align-items:center;justify-content:center;margin:30px 0;border-radius:12px;position:relative;overflow:hidden}.about-game{width:100%;margin-top:30px;border-radius:10px}.about-game .about-game-title{color:#222;font-size:24px;font-weight:600;padding:17px 0;width:100%}.game-info-table{display:grid;list-style:none;margin:0;width:100%}.game-info-table li{display:grid;grid-template-columns:1fr 1fr;list-style:none;height:50px}.game-info-table li .info-key{text-align:left;color:#222;font-size:16px;font-weight:600}.game-info-table li .info-value{color:#575757;font-weight:400;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.editor-review{width:100%;margin:36px 0}.editor-review-title{color:#222;font-size:22px;font-weight:600;margin-bottom:24px;width:100%}.editor-review .desc{display:block;white-space:pre-line;width:100%;color:#3A3A3A;font-size:16px;font-weight:400;line-height:180%;letter-spacing:.16px}.how-to-play{width:100%;margin:36px 0}.how-to-play-title{color:#222;font-size:22px;font-weight:600;margin-bottom:24px;width:100%}.how-to-play-info{display:block;white-space:pre-line;width:100%;color:#3A3A3A;font-size:16px;font-weight:400;line-height:180%;letter-spacing:.16px}.download-link{width:100%;margin-top:30px}.get-the-game-down{align-items:center;display:flex;justify-content:space-between}.down-link-item{background-color:#14c72d;border-radius:35px;height:47px;width:calc(50% - 20px);overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s}.down-link-item:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(0,0,0,.3)}.down-link-item img{width:20px;margin-right:15px}.down-link-item span{color:#FDFDFD;font-size:18px;font-weight:600}.screenshots{width:100%;margin-top:36px}.screenshots-title{color:#222;font-size:22px;font-weight:600;width:100%;margin-bottom:26px}.main-screenshots{width:100%;position:relative}#main-screenshots-content{display:flex;height:320px;padding:5px 0;white-space:nowrap;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}#main-screenshots-content::-webkit-scrollbar{display:none}#main-screenshots-left,#main-screenshots-right{z-index:1;position:absolute;top:50%;margin-top:-29px;width:58px;height:58px;background:#FFFFFF;box-shadow:0 4px 4px rgba(0,0,0,.25);border-radius:50%;cursor:pointer;background-size:contain}#main-screenshots-left{left:10px;background-image:url('/assets/images/right.png');rotate:180deg}#main-screenshots-right{right:10px;background-image:url('/assets/images/right.png')}.disabled{opacity:.6;cursor:not-allowed}.main-screenshots-sub-container{display:flex;min-width:100%}.main-screenshots-item{background-color:#EEE;border-radius:20px;min-width:100px;margin-right:14px;height:100%;flex-shrink:0}.main-screenshots-img{height:100%;border-radius:15px}.rating-histogram{margin-top:36px;width:100%}.rating-histogram-title{color:#222;font-size:22px;font-weight:600;margin-bottom:26px;width:100%}.rating-box-container{display:flex;padding-left:0;width:100%;height:145px}.rating-box-container .rating-info{align-items:center;display:flex;flex-direction:column;font-size:30px;font-weight:700;justify-content:center;width:216px;margin-right:50px}.rating-box-container .rating-info span{margin-left:-10px;color:#585454;font-size:14px;font-weight:400}.rating-container .start{margin-right:4px;width:24px;height:24px;object-fit:contain}.start-small{width:16px;height:16px;margin-right:2px;object-fit:contain}.rating-box-container .histogram-info{width:605px;height:100%}.histogram-info .rating-detail{height:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;list-style:none}.rating-detail li{align-items:center;box-sizing:border-box;display:flex;justify-content:space-between}.rating-detail li span{color:#5F6368;display:inline-block;font-size:14px;text-align:center}.rating-detail li p{background-color:#EEE;border-radius:10px;height:15px;overflow:hidden;position:relative;width:96%}.rating-detail li p b{background-color:#48A8FF;border-radius:10px;display:block;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:var(--width)}.rec-game{margin-top:36px;width:100%}.rec-game-title{color:#222;font-size:22px;margin-bottom:26px;font-weight:600;width:100%}.rec-game-container .game-list{display:flex;flex-direction:row;flex-wrap:wrap;width:100%;justify-content:space-between}.rec-game .game-item{width:calc((100% - 100px) / 5);margin-bottom:12px}.rec-game .game-item .item-img{background-color:#EEE;border-radius:10px;overflow:hidden;padding-top:100%;position:relative;width:100%}.rec-game .game-item .item-img .game-item-img{border-radius:10px;left:0;position:absolute;top:0;width:100%}.rec-game .game-item .item-info{margin-top:6px;width:100%}.rec-game .game-item .item-info h2{font-size:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;color:#444;font-weight:500}.you-may-like{overflow:hidden;width:100%}.you-may-like-title{width:100%;margin:10px auto 20px;color:#222;font-size:22px;font-weight:600}.you-may-like .game-list{align-items:center;display:flex;flex-direction:column;justify-content:center;width:100%}.you-may-like .game-item{align-items:center;display:flex;flex:0 0 100%;flex-direction:row;padding:12px;width:100%;height:93px;border-radius:10px;margin-bottom:8px}.you-may-like .game-item:hover{background-color:#F1F1F1}.you-may-like .game-item .item-img{background-color:#EEE;border-radius:10px;height:71px;width:71px;overflow:hidden;margin-right:12px;display:flex;align-items:center;justify-content:center}.you-may-like .game-item .item-img img{width:100%;height:100%;object-fit:contain}.you-may-like .game-item .item-info{width:192px;height:71px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px}.you-may-like .game-item .item-info .game-title{border:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;color:#202124;font-size:14px;font-weight:500;line-height:1.4;margin:0}.you-may-like .game-item .item-info .game-developer{border:none;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;color:#5f6368;font-weight:400;font-size:12px;line-height:1.4}.you-may-like .game-item .item-info .game-rating-row{display:flex;align-items:center;margin-top:2px}.you-may-like .game-item .item-info .game-rating-row .rating-value{color:#5f6368;font-size:12px;font-weight:400;margin-right:4px}.you-may-like .game-item .item-info .game-rating-row .star-icon{width:10px;height:10px;opacity:.6;filter:grayscale(100%)}footer{padding-bottom:24px}footer .line{width:95%;max-width:1150px;height:1px;background-color:#eee;margin:0 auto 24px}.footer-content{position:relative;width:85%;margin:0 auto;max-width:1030px}.links{text-align:center;margin-top:15px;margin-bottom:10px}.links a{margin:0 10px;color:#777}.introduce{text-align:center;color:#777}.relative{position:relative}.pc{display:block}.phone{display:none}@media screen and (max-width:1200px){.detail-main-container .main-container{margin:0 auto;width:100%}.detail-main-container .right-rec-container{display:none}}@media screen and (max-width:700px){.detail-main-container{margin:20px auto 0;padding:0 12px}.info-card{height:85px;margin-bottom:20px}.info-card .info-img{width:88px;border-radius:10px}.info-card .info-info{margin-left:18px}.info-card .info-info .info-name h1{font-size:22px;font-weight:600}.rating-container .start{width:16px;margin-right:2px}.rating-score{font-size:14px;margin-left:12px}.pc{display:none!important}.phone{display:grid!important}.rec-game .game-item{width:calc((100% - 36px) / 3)}}.header-container{display:flex;align-items:center;justify-content:space-between;width:100%;flex:1;max-width:1200px;margin:0 auto;padding:0 15px}.hamburger-btn{display:flex;background:none;border:none;flex-direction:column;gap:6px;cursor:pointer;padding:10px;z-index:1001;transition:opacity .2s}.hamburger-btn:hover{opacity:.7}.hamburger-btn span{display:block;width:24px;height:2px;background:#333;border-radius:2px;transition:all .3s ease}.sidebar-menu{position:fixed;top:0;right:-320px;width:320px;height:100%;background:#ffffff;z-index:2000;transition:transform .4s cubic-bezier(.25,1,.5,1);box-shadow:-5px 0 25px rgba(0,0,0,.05);display:flex;flex-direction:column;transform:translateX(0)}.sidebar-menu.open{transform:translateX(-320px)}.sidebar-header{padding:25px 30px;background:#ffffff;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.menu-title{font-size:20px;font-weight:600;color:#1a1a1a;letter-spacing:-.5px}.close-btn{background:none;border:none;color:#999;font-size:28px;cursor:pointer;line-height:1;transition:color .2s;padding:0}.close-btn:hover{color:#333}.sidebar-search{padding:25px 30px 10px}.sidebar-search form{display:flex;align-items:center;background:#f8f9fa;border:1px solid #e1e4e8;border-radius:8px;padding:8px 15px;transition:all .2s}.sidebar-search form:focus-within{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.sidebar-search input{flex:1;border:none;background:transparent;font-size:15px;color:#333;outline:none;padding-right:10px}.sidebar-search button{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;opacity:.6;transition:opacity .2s}.sidebar-search button:hover{opacity:1}.sidebar-links{list-style:none;padding:10px 0;margin:0;overflow-y:auto;flex:1}.sidebar-links li{display:block}.sidebar-links a{display:block;padding:14px 30px;color:#4a4a4a;text-decoration:none;font-size:16px;font-weight:500;transition:all .2s;border-left:3px solid transparent}.sidebar-links a:hover,.sidebar-links a.active{background:#f8f9fa;color:#667eea;border-left-color:#667eea;padding-left:35px}.menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.2);backdrop-filter:blur(3px);z-index:1999;display:none;opacity:0;transition:opacity .3s ease}.menu-overlay.open{display:block;opacity:1}@media (max-width:768px){.header-box{padding:0 15px!important}.header-box .header-left-logo img{height:28px}}.rec-game-container .game-list{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;width:100%;}.rec-game .game-item{width:100%;margin-bottom:0;display:flex;flex-direction:column;transition:transform .2s;text-decoration:none;}.rec-game .game-item:hover{transform:scale(1.03) translateY(-5px);z-index:2;}.rec-game .game-item .item-img{background-color:transparent;border-radius:16px;overflow:hidden;padding-top:100%;position:relative;width:100%;box-shadow:0 6px 12px 0 rgba(0,0,0,.24);}.rec-game .game-item .item-img .game-item-img{border-radius:16px;left:0;position:absolute;top:0;width:100%;height:100%;object-fit:cover;}.rec-game .game-item:hover .game-item-title,.rec-game .game-item:hover .game-item-shadow{opacity:1;}@media screen and (max-width:763px){.rec-game-container .game-list{grid-template-columns:repeat(4,1fr)}}@media screen and (max-width:543px){.rec-game-container .game-list{grid-template-columns:repeat(3,1fr)}}.big-rating{font-size:80px;font-weight:700;color:#585454;margin-left:-10px;line-height:1;}@media screen and (max-width:700px){.big-rating{font-size:48px;margin-bottom:10px}}.bar-container{background-color:#EEE;border-radius:10px;height:16px;overflow:hidden;position:relative;width:96%;}.bar-fill{background-color:#fdda02;height:100%;border-radius:10px;transition:width .3s ease;}.you-may-like .game-list{align-items:center;display:flex;flex-direction:column;justify-content:center;width:100%;}.you-may-like .game-item{width:100%;border-radius:10px;margin-bottom:8px;}footer .line{width:95%;max-width:1150px;height:1px;background-color:#eee;margin:0 auto 24px;margin-top:100px}.sticky-sidebar-ad{position:sticky;top:20px;margin:20px 0;padding:10px;border-radius:12px;width:100%;min-height:280px;background-color:#f7f8fa;border:1px dashed #e1e4e8;display:flex;align-items:center;justify-content:center;overflow:hidden;}.main-screenshots{position:relative;display:block;width:100%;}#screenshots_container::-webkit-scrollbar{display:none;}#screenshots_container{-ms-overflow-style:none;scrollbar-width:none}#main-screenshots-left,#main-screenshots-right{width:50px;height:50px;background-color:#5d9afc;border-radius:50%;position:absolute;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 8px rgba(0,0,0,.3);transition:all .3s ease;border:2px solid #fff;background-image:url(../images/right.png);background-repeat:no-repeat;background-position:center;background-size:16px;margin:0!important;}#main-screenshots-left:hover,#main-screenshots-right:hover{background-color:#4a80d4}#main-screenshots-left{left:10px;top:50%!important;transform:translateY(-50%)!important;background-image:url(../images/left.png);rotate:0deg;}#main-screenshots-left:hover{transform:translateY(-50%) scale(1.1)!important;rotate:0deg;}#main-screenshots-right{right:10px;top:50%!important;transform:translateY(-50%) rotate(0deg)!important;}#main-screenshots-right:hover{transform:translateY(-50%) rotate(0deg) scale(1.1)!important;}#main-screenshots-left.disabled,#main-screenshots-right.disabled{opacity:0;pointer-events:none;}



/* =========================================
   Hamburger Menu & Sidebar Styles
   ========================================= */
.hamburger-btn {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 24px;
    height: 18px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1002;
    margin-left: auto;
    flex-shrink: 0;
}

.hamburger-btn span {
    width: 100%;
    height: 2px;
    background-color: #333;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.hamburger-btn:hover span {
    background-color: #007bff;
}

/* Sidebar Menu */
.sidebar-menu {
    position: fixed;
    top: 0;
    right: -300px;
    width: 280px;
    height: 100%;
    background-color: #fff;
    box-shadow: -2px 0 10px rgba(0,0,0,0.1);
    z-index: 10000; /* High z-index to be on top of everything */
    transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.sidebar-menu.active {
    right: 0;
}

.sidebar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #eee;
}

.menu-title {
    font-size: 18px;
    font-weight: 700;
    color: #333;
}

.close-btn {
    background: none;
    border: none;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    color: #999;
    padding: 0 5px;
}

.close-btn:hover {
    color: #dc3545;
}

.sidebar-search {
    padding: 20px;
    border-bottom: 1px solid #eee;
}

.sidebar-search form {
    display: flex;
    align-items: center;
    background: #f5f5f5;
    border-radius: 8px;
    padding: 8px 12px;
    border: 1px solid transparent;
    transition: border-color 0.2s;
}

.sidebar-search form:focus-within {
    border-color: #007bff;
    background: #fff;
}

.sidebar-search input {
    border: none;
    background: none;
    width: 100%;
    outline: none;
    font-size: 14px;
    color: #333;
}

.sidebar-search button {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.6;
}

.sidebar-search button:hover {
    opacity: 1;
}

.sidebar-links {
    list-style: none;
    padding: 10px 0;
    margin: 0;
}

.sidebar-links li a {
    display: block;
    padding: 12px 25px;
    color: #444;
    text-decoration: none;
    font-size: 15px;
    transition: all 0.2s;
    border-left: 3px solid transparent;
}

.sidebar-links li a:hover,
.sidebar-links li a.active {
    background-color: #f8f9fa;
    color: #007bff;
    font-weight: 600;
    border-left-color: #007bff;
}

/* Overlay */
.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    z-index: 9998; /* Below sidebar but above header */
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    backdrop-filter: blur(2px);
}

.menu-overlay.active {
    display: block;
    opacity: 1;
}

/* Body lock */
body.menu-open {
    overflow: hidden;
}

/* Header Integration */
.header-container {
    /* Ensure flex context for ordering */
    display: flex;
    align-items: center;
    width: 100%;
}

/* Adjust logo/button order if necessary, but default DOM order is button then logo */

/* =========================================
   Footer Styles
   ========================================= */
.unified-footer {
    color: #fff;
    padding: 40px 0 0;
    font-size: 14px;
    margin-top: 60px;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Newsletter */
.newsletter-wrapper {
    padding: 20px 0 40px;
    text-align: center;
}

.newsletter-section {
    max-width: 600px;
    margin: 0 auto;
}

.newsletter-section h3 {
    font-size: 24px;
    margin-bottom: 10px;
    color: #fff;
}

.newsletter-section p {
    margin-bottom: 20px;
    color: #ccc;
}

.newsletter-form .newsletter-input-group {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
}

.newsletter-form .input-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    position: relative;
}

.newsletter-form .form-input {
    width: 100%;
    padding: 12px 15px;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.1);
    background: rgba(255,255,255,0.05);
    color: #fff;
    transition: all 0.3s ease;
    font-size: 14px;
}

.newsletter-form .form-input:focus {
    background: rgba(255,255,255,0.1);
    border-color: #007bff;
    outline: none;
    box-shadow: 0 0 0 3px rgba(0,123,255,0.25);
}

.newsletter-form .form-input.error {
    border-color: #ff4d4d;
    background: rgba(255, 77, 77, 0.1);
    box-shadow: 0 0 0 2px rgba(255, 77, 77, 0.2);
    animation: shake 0.5s;
}

.field-error-msg {
    color: #ff4d4d;
    font-size: 11px;
    margin-top: 4px;
    font-weight: 600;
    text-align: left;
    display: block;
    animation: fadeIn 0.3s ease;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-4px); }
    20%, 40%, 60%, 80% { transform: translateX(4px); }
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

.newsletter-form button {
    padding: 12px 30px;
    border-radius: 8px;
    border: none;
    background: #007bff;
    color: #fff;
    cursor: pointer;
    font-weight: 600;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 13px;
    box-shadow: 0 4px 6px rgba(0,123,255,0.2);
}

.newsletter-form button:hover {
    background: #0069d9;
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(0,123,255,0.3);
}

.consent-checkbox-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 12px;
    color: #aaa;
    cursor: pointer;
}

.consent-checkbox-container a {
    color: #007bff;
    text-decoration: underline;
}

.footer-divider {
    height: 1px;
    background: #333;
    margin: 0 0 40px;
}

/* Main Footer */
.footer-row {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    justify-content: space-between;
    margin-bottom: 40px;
}

.footer-col {
    flex: 1;
    min-width: 250px;
}

.footer-logo img {
    height: 40px;
    margin-bottom: 15px;
    filter: brightness(0) invert(1);
}

.footer-desc {
    color: #ccc;
    line-height: 1.6;
    margin-bottom: 20px;
}

.social-links-footer {
    display: flex;
    gap: 15px;
}

.social-links-footer a {
    color: #fff;
    font-size: 18px;
    transition: color 0.3s;
}

.social-links-footer a:hover {
    color: #007bff;
}

.links-col h4 {
    font-size: 18px;
    margin-bottom: 20px;
    color: #fff;
}

.footer-links-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
}

.footer-links-list li {
    margin: 0;
}

.footer-links-list a {
    color: #bbb;
    text-decoration: none;
    transition: all 0.3s ease;
    font-size: 14px;
    position: relative;
    padding: 5px 0;
}

.footer-links-list a:hover {
    color: #fff;
    transform: translateY(-2px);
}

.footer-links-list a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: #007bff;
    transition: width 0.3s ease;
}

.footer-links-list a:hover::after {
    width: 100%;
}

.footer-bottom {
    border-top: 1px solid #333;
    padding: 20px 0;
    text-align: center;
    color: #666;
    font-size: 13px;
}

/* Modal Styles */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-content {
    background: #fff;
    color: #333;
    width: 90%;
    max-width: 500px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}

.modal-header {
    padding: 15px 20px;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.modal-header h3 {
    margin: 0;
    font-size: 18px;
}

.close-modal {
    font-size: 24px;
    cursor: pointer;
    color: #999;
}

.close-modal:hover {
    color: #333;
}

.modal-body {
    padding: 20px;
    line-height: 1.6;
}

.modal-body p {
    margin-bottom: 15px;
}

.modal-footer {
    padding: 15px 20px;
    background: #f9f9f9;
    text-align: right;
}

.btn-close-modal {
    background: #007bff;
    color: #fff;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
}

.btn-close-modal:hover {
    background: #0056b3;
}

@media (max-width: 768px) {
    html, body {
        background-color: #ffffff !important;
    }

    .newsletter-section {
        padding: 0 20px;
    }

    .newsletter-form .newsletter-input-group {
        flex-direction: column;
    }
    
    .footer-row {
        flex-direction: column;
        gap: 30px;
    }

    .footer-links-list {
        flex-direction: column;
        gap: 10px;
        align-items: flex-start;
    }
}

/* =========================================
   Author Box Styles (Added via Tool)
   ========================================= */
.author-box {
    display: flex;
    align-items: flex-start;
    background-color: #f9f9f9;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 24px;
    margin: 30px 0;
    gap: 20px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.author-box:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 12px rgba(0,0,0,0.05);
    background-color: #fff;
    border-color: #e0e0e0;
}

.author-avatar {
    flex-shrink: 0;
}

.author-avatar img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #fff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.author-info {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.author-name {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin-bottom: 8px;
}

.author-bio {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 15px;
}

.author-socials {
    display: flex;
    gap: 12px;
    margin-bottom: 15px;
}

.social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid #ddd;
    color: #555;
    transition: all 0.2s ease;
}

.social-link:hover {
    background-color: #007bff;
    border-color: #007bff;
    color: #fff;
    transform: translateY(-2px);
}

.author-link-btn {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    color: #007bff;
    text-decoration: none;
    margin-top: auto;
    transition: color 0.2s ease;
}

.author-link-btn:hover {
    color: #0056b3;
    text-decoration: underline;
}

@media (max-width: 600px) {
    .author-box {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 20px;
    }

    .author-socials {
        justify-content: center;
    }
    
    .author-link-btn {
        margin-top: 10px;
    }
}

/* =========================================
   Detail Page Layout Fixes (User Requested)
   ========================================= */
.detail-main-container {
    display: flex;
    justify-content: space-between;
    margin: 30px auto 0;
    max-width: 1200px;
    padding: 30px !important;
    width: 100%;
    background-color: #fff;
    border-radius: 10px !important;
}

.info-card .info-img {
    width: 100px;
    height: 100px;
}

@media screen and (max-width: 700px) {
    .detail-main-container {
        margin: 20px auto 0 !important;
        padding: 10px !important;
        margin-top: 0px !important;
        margin-bottom: -100px !important;
    }
}

/* =========================================
   Author Page Styles (Full Page)
   ========================================= */
.author-page-header {
    background-color: #f8f9fa;
    background-image: radial-gradient(#e9ecef 1px, transparent 1px), radial-gradient(#e9ecef 1px, transparent 1px);
    background-position: 0 0, 20px 20px;
    background-size: 40px 40px;
    padding: 80px 0;
    margin-bottom: 50px;
    border-bottom: 1px solid #e0e0e0;
}

.author-page-box {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 40px;
    padding: 0 20px;
}

.author-page-avatar {
    flex-shrink: 0;
    position: relative;
}

.author-page-avatar img {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    object-fit: cover;
    border: 5px solid #fff;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

.author-page-avatar img:hover {
    transform: scale(1.05) rotate(2deg);
}

.author-page-info {
    flex: 1;
}

.author-page-info h1 {
    font-size: 2.5rem;
    font-weight: 800;
    color: #2c3e50;
    margin: 0 0 15px 0;
    line-height: 1.2;
}

.author-page-bio {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #555;
    margin-bottom: 25px;
    max-width: 700px;
}

/* Reusing and enhancing social links for the author page */
.author-page-info .author-socials {
    display: flex;
    gap: 15px;
    margin-top: 20px;
}

.author-page-info .social-link {
    width: 40px;
    height: 40px;
    background-color: #fff;
    border: 1px solid #e1e4e8;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.author-page-info .social-link svg {
    width: 20px;
    height: 20px;
}

.author-page-info .social-link:hover {
    background-color: #007bff;
    border-color: #007bff;
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0,123,255,0.3);
}

/* Section Title for Games Grid */
.author-games-title {
    text-align: center;
    font-size: 2rem;
    font-weight: 700;
    color: #333;
    margin: 0 auto 40px;
    position: relative;
    padding-bottom: 15px;
    max-width: 1200px;
    width: 90%;
}

.author-games-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 4px;
    background-color: #007bff;
    border-radius: 2px;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .author-page-header {
        padding: 40px 0;
    }

    .author-page-box {
        flex-direction: column;
        text-align: center;
        gap: 25px;
    }

    .author-page-avatar img {
        width: 120px;
        height: 120px;
    }

    .author-page-info h1 {
        font-size: 2rem;
    }

    .author-page-info .author-socials {
        justify-content: center !important;
    }
    
    .author-games-title {
        font-size: 1.75rem;
        margin-bottom: 30px;
    }
}

/* =========================================
   Sticky Header Styles
   ========================================= */
.sticky-header {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    width: 100%;
    transition: box-shadow 0.3s ease;
}

/* Ensure content doesn't jump when header becomes fixed if using fixed positioning */
/* Note: 'sticky' handles spacing automatically, unlike 'fixed'. */
