body{
    color: rgba(255,255,255,0.75);
    font-size:16px;
}
.wood-bg{
    background-image: url(../images/bg.jpg);
    background-size: 100%;
    background-repeat: repeat-y;    
}
.register-bg{
    background-image: url(../images/bg3.jpg);
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
}

.form-control, .input-group-addon{
    /* background-color: rgba(0,0,0,0.6);
    border-color: rgba(255,255,255,0.3); */
    border-radius: 0;
}
.form-control::-webkit-input-placeholder{
    /* color: rgba(255,255,255,0.6); */
}
.form-control:-ms-input-placeholder{
    /* color: rgba(255,255,255,0.6); */
}
.form-control::-ms-input-placeholder{
    /* color: rgba(255,255,255,0.6); */
}
.form-control::placeholder{
    /* color: rgba(255,255,255,0.6); */
}
h1, h2, h3, h4, h5, h6, p, small{
    color: rgba(255,255,255,0.8);
}
#topNav .navbar-collapse{
    margin-top: 28px;
}
#header.fixed #topNav .navbar-collapse{
    margin-top: 0px;
}
.nav-lineage{
    position: relative;
    padding: 0;
}
.btn{
    border-radius: 0;
}

.lineage-btn{
    display: block;
    position: relative;
    width: 100%;
    background-image: url(../images/btn-bg.jpg);
    text-shadow: rgba(0, 0, 0, 0.6) 0px 1px 2px, rgba(0, 0, 0, 0.4) 0px 2px 4px;
    height: 47px;
    line-height: 47px;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    -webkit-box-shadow: 0px 3px 4px 1px rgba(0, 0, 0, 0.4);
            box-shadow: 0px 3px 4px 1px rgba(0, 0, 0, 0.4);
    -webkit-transition: all .3s;
    transition: all .3s;
}
/* .lineage-btn:before, .lineage-btn:after{
    z-index: 2;
    display: block;
    position: absolute;
    left: 0;
    top: -2px;
    content:'';
    width: 26px;
    height: 47px;
    background-image: url(../images/btn-border.png);
    background-position:0 0;
    background-repeat: no-repeat;
}
.lineage-btn:after{
    right: 0;
    left: initial;
    background-position:-26px 0;
} */
.lineage-btn:hover, .lineage-btn:active, .lineage-btn:focus{
    color: #fff !important;
    -webkit-filter: brightness(120%);
            filter: brightness(120%);
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px);
    -webkit-box-shadow: 0px 5px 8px 2px rgba(0, 0, 0, 0.5);
            box-shadow: 0px 5px 8px 2px rgba(0, 0, 0, 0.5);
}
.header-bg-blur{
    background-color: rgba(255,255,255,0.08);
    border-bottom:2px solid #666;
}
.header-bg-blur:after, .menu-lineage-bar:before{
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    content: '';
    z-index: -1;
    -webkit-filter: blur(2px);
    -moz-filter: blur(2px);
    -o-filter: blur(2px);
    -ms-filter: blur(2px);
    filter: blur(2px);
    background-image: url(../images/bg.jpg);
    background-size: cover;
    background-attachment: fixed;
}
.register-bg .header-bg-blur:after, .register-bg .menu-lineage-bar:before{
    background-image: url(../images/bg3.jpg);
}
#header .active-player{
    /* border-left: 1px solid rgba(255,255,255,0.5); */
}
#header .download-btn{
    position: relative;
    width: 220px;
    margin-left: 20px;
}
#header .search-bar{
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    left: 300px;
    top: 70px;
}
#header .search-bar .search-box{
    display: block;
}
#header.fixed .search-bar, #header.fixed .download-btn, #header.fixed .nav-lineage::after{
    display: none;
}
#topNav .mobile-download-btn {
    display: none;
}
.breadcrumb>.active{
    color: rgba(255,255,255,1);
}
.top-links .line{
    width: 16px;
    opacity: 0.7;
    -webkit-transition: .3s;
    transition: .3s;
}
.top-links .line:hover{
    opacity:1;
}
.search-bar > li > a{
    color: #fff;
    font-size: 20px;
    display: none;
}
.menu-lineage-bar{
    position: relative;
    display: block;
    width: 100%;
    text-align: right;
}
/* .menu-lineage-bar:after{
    display: block;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 2px;
    content: '';
    background-image: linear-gradient(90deg, #444142 0%, #222426 25%, #444142 50%, #222426 75%, #444142 100%);
} */
.menu-lineage-bar .list1, .menu-lineage-bar .list2{
    display: inline-block;
}
.menu-lineage-bar .list1 + .list2{
    margin-left: 100px;
}
.menu-lineage-bar ul{
    padding: 0;
    margin: 0;
}
.menu-lineage-bar li{
    display: inline-block;
    color: #fff;
}
.menu-lineage-bar li > a{
    color: #fff;
}
.menu-lineage-bar li.list-title{
    font-weight: bold;
    padding-right: 15px;
    border-right:1px solid rgba(255,255,255,0.5);
}
.lineage-top{
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
.people{
    position: absolute;
    top: 100px;
    left: 0;
    width: 100vw;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    pointer-events: none;
    z-index: 2;
}
.people-left, .people-right {
    width: 260px;
    height: auto;
    margin-top: 0;
    margin-bottom: 0;
    max-height: 70vh;
    object-fit: contain;
}
.lineage-top .people{
    position: absolute;
    left: -180px;
    top: 30px;
    z-index: -1;
}
.lineage-top .people img{
    max-width: 100%;
}
.lineage-top .tops{
    display: block;
    text-align: center;
}
.lineage-top .tops > .top-item img{
    max-width: 100%;
    -webkit-box-shadow: 0px 8px 30px rgba(0, 0, 0, 0.4);
            box-shadow: 0px 8px 30px rgba(0, 0, 0, 0.4);
}
.lineage-list{
    border-bottom: 1px solid rgba(255,255,255,0.1);
    background-color: rgba(33,17,17, 0.3);
}
.lineage-list > .people {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 40px; /* 可依需求微調 */
    width: 100vw;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    pointer-events: none;
    z-index: 2;
}
.lineage-list > .people img {
    width: 200px;
    height: auto;
    max-width: 20vw;
    margin: 0 20px;
}
.lineage-list .people img{
    max-width: 80%;
}
.title{
    color: #fff;
}
.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th{
    border-top:0;
    padding: 10px 4px;
}
.table-type1{
    overflow: hidden;
    position: relative;
    border-image-source: url(../images/old-border.png);
    border-image-width: 13px;
    border-image-repeat: round;
    border-image-slice: 22 fill;   
    border-style: solid;
    border-width: 13px; 
    margin-bottom: 30px;
    -webkit-box-shadow: 0px 5px 20px 5px rgba(0, 0, 0, 0.8);
            box-shadow: 0px 5px 20px 5px rgba(0, 0, 0, 0.8);    
}
.table-type1:nth-of-type(1) .table-lineage > thead > tr{
    background-color: #8b6e37;
}
.table-type1:nth-of-type(1) .table-lineage .server, .table-type1:nth-of-type(1) .table-lineage .detail,.table-type1:nth-of-type(1) .table-lineage .web{
    color: #f1b644;
}
.table-type1:nth-of-type(2) .table-lineage > thead > tr{
    background-color: #bb4f18;
}
.table-type1:nth-of-type(2) .table-lineage .server, .table-type1:nth-of-type(2) .table-lineage .detail, .table-type1:nth-of-type(2) .table-lineage .web{
    color: #e55920;
}
/* .lineage-border{
    border-image-source: url(../images/old-border.png);
    border-image-width: 13px;
    border-image-repeat: round;
    position: absolute;
    top: -1px;
    right: -1px;
    bottom: -1px;
    left: -1px;
    z-index: 5;
    border-image-slice: 26 fill;
    pointer-events: none;
    border-style: solid;
    border-width: 13px; 
    box-shadow: inset 0px 0px 8px 1px rgba(0, 0, 0, 0.5);   
} */
.gold-border{
    border-image-source: url(../images/border-new.png);
    border-image-width: 22px 42px;
    border-image-repeat: round;
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
    top: 0px;
    pointer-events: none;
    border-image-slice: 44 84 fill;
    border-style: solid;
    border-width: 22px 42px;
    z-index: 2;
}
.table-lineage{
    background-color: #282b2f;
    color: rgba(255,255,255,0.8);    
    margin-bottom: 0;
    font-size:16px
}
h2.title {
    font-size:22px;
    margin-bottom:10px;
}
.table-lineage > thead > tr{
    background-color: #16619e;
}
.table-lineage > thead > tr > th{
    padding-top: 15px;
}
.table-lineage > thead > tr > th:first-of-type, .table-lineage > tbody > tr > td:first-of-type{
    padding-left: 15px;
}
.table-lineage > thead > tr > th:last-of-type, .table-lineage > tbody > tr > td:last-of-type{
    padding-right: 15px;
}
.table-lineage > tbody > tr:last-of-type > td{
    padding-bottom: 15px;
}
.table-lineage > tbody > tr:nth-of-type(odd){
    background-color: #24262a;
}
.table-lineage .server, .table-lineage .detail, .table-lineage .web{
    color: #2682c5;
}
.table-lineage .favorite{
    color: #ad842b;
}
.table-lineage .favorite:hover, .table-lineage .favorite:active, .table-lineage .favorite:focus{
    color: #eaac28;
}
.table-lineage > thead > tr > th{
    border: 0;
}
.table-lineage a:hover, .table-lineage a:active, .table-lineage a:focus{
    color: #5da9e4;
}
.table-lineage > thead > tr > th > h3{
    font-size:22px;
    color: #fff;
    margin-bottom: 0;
}
.more-btn{
    position: relative;
    width: 80%;
    margin: 0 auto;
}
.register-btn{
    position: relative;
    width: 100%;
    margin-top: 0px;
}
.game-list{
    background-image: url(../images/bg2.jpg);
    background-size: auto;
    background-position: center center;
    background-attachment: scroll;
    z-index: 0;
}
.game-list > .people {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 40px; /* 可依需求微調 */
    width: 100vw;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    pointer-events: none;
    z-index: 2;
}
.game-list > .people img {
    width: 250px;
    height: auto;
    max-width: 25vw;
    margin: 0 20px;
}
.lineage-register input.change, .lineage-register i.change{
    background-color: #fffdca;
}
.t1-color thead > tr > th{
    background-color: #37391e;
}
.t2-color thead > tr > th{
    background-color: #39341e;
}
.t3-color thead > tr > th{
    background-color: #392e1e;
}
.lineage-register{
    color: rgba(255,255,255,0.6);
    min-height: 700px;
}
.lineage-register .register-box{
    margin-top: 50px;
    margin-bottom: 50px;
}
.lineage-register .sky-form{
    background-color: transparent;
    color: rgba(255,255,255,0.8);
    margin: 0;
}
.lineage-register .no-text-decoration{
    color: rgba(255,255,255,0.8);
    text-align: center;
}
.disclaimer .disclaimer-content{
    color: rgba(255,255,255,0.6);
}
.disclaimer .disclaimer-content h3{
    color: #16619e;
}
.list-bg{
    background-color: #fff;
    color: #666;
}
.list-bg .header-bg-blur:after, .list-bg .menu-lineage-bar:before, .list-bg .menu-lineage-bar:after{
    display: none;
}
.list-bg section.page-header{
    background-color: #ef6f2e;
}
#topBar.dark, #header.dark{
    border-bottom: 1px solid rgba(255,255,255,0.3);
}
.list-bg #topBar.dark, .list-bg #header.dark{
    background-color: #000;
}
.list-bg section.page-header .breadcrumb a{
    color: rgba(255,255,255,0.5);
}
.lineage-post{
    color: rgba(255,255,255,0.8);
    min-height: 700px;
}
.lineage-list-page{
    min-height: 650px;
    background-color: #f5f5f5;
}
.lineage-list-page .page-table .title{
    color: #179BD7;
}
.normal-list{
    list-style: none;
    margin: 0 -15px 0 -15px;
    padding: 0;
    color: #666;
}
.normal-list-item{
    margin-bottom: 30px;
    min-height: 180px;
}
.normal-item{
    height: 100%;
    background-color: #fff;
    /* border-radius: 5px; */
    padding: 15px;
    -webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.05);
            box-shadow: 0 1px 1px 0 rgba(0,0,0,.05)
}
.normal-list:after{
    display: table;
    content: '';
    clear: both;
}
.normal-item .thumbnail{
    width: 25%;
    float: left;
}
.normal-item-summary{
    float: left;
    padding: 0px 5px 0px 20px;
    width: 75%;
}
.normal-item-summary p{
    margin-bottom: 20px;
    color: #666;
}
.normal-item-summary .views > i{
    margin-right: 5px;
}
.normal-item-others{
    list-style: none;
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
    color: #666;
}
.normal-title{
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 5px;
}
.normal-title:hover, .normal-title:focus, .normal-title:active{
    color: #179BD7;
}
.normal-item-others li > i{
    margin-right: 5px;
    width: 20px;
    height: 20px;
    text-align: center;
}
.icon-line:nth-of-type(2):after{
    background-image: url(../images/line-logo-white.svg);
}
.icon-line:after{
    display: block;
    content: '';
    background-image: url(../images/line-logo-gray.svg);
    width: 30px;
    height: 30px;
    background-position: center center;
    background-size: 16px 16px;
    margin-top: -4px;
    background-repeat: no-repeat;
}
.list-bg h1, .list-bg h2, .list-bg h3, .list-bg h4, .list-bg h5, .list-bg p{
    color: #666;
}
.lineage-page{
    min-height: 750px;
    background-color: #f5f5f5;
    color: #666;
}
.lineage-page .row +.row{
    margin-top: 30px;
}
.page-box{
    background-color: #fff;
    padding: 30px 15px;
    -webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.05);
            box-shadow: 0 1px 1px 0 rgba(0,0,0,.05);
}
.page-box:after{
    content: '';
    clear: both;
    display: table;
}
.page-item-others{
    list-style: none;
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
    color: #666;
}
.page-item-others li > i{
    margin-right: 5px;
    width: 20px;
    height: 20px;
    text-align: center;
    color: #ef6f2e;
}
.page-item-others:after, .lineage-share:after, .lineage-page-text:after, .lineage-share:after{
    content: '';
    clear: both;
    display: table;
}
.list-bg .form-control, .list-bg .input-group-addon{
    /* background-color: #fff;
    border-radius:0;
    border: #ddd 2px solid; */
}
.list-bg .form-control::-webkit-input-placeholder, .list-bg .input-group-addon::-webkit-input-placeholder{
    /* color: #666; */
}
.list-bg .form-control:-ms-input-placeholder, .list-bg .input-group-addon:-ms-input-placeholder{
    /* color: #666; */
}
.list-bg .form-control::-ms-input-placeholder, .list-bg .input-group-addon::-ms-input-placeholder{
    /* color: #666; */
}
.list-bg .form-control::placeholder, .list-bg .input-group-addon::placeholder{
    /* color: #666; */
}
.lineage-user-info{
    /* border: 1px solid rgba(0,0,0,0.1); */   
}
.lineage-user-info p{
    margin-bottom: 0;
}
.lineage-page-message{
    padding: 0 15px;
}
.lineage-page-message h3.message-title{
    padding-top: 20px;
    border-bottom: 2px solid #eee;
    margin: 0 0 40px 0;
}
.lineage-list-page .tab-content{
    padding-top: 30px;
}
.page-table th{
    background-image: -webkit-gradient(linear, left top, left bottom, from(#ebf3fc), to(#dce9f9));
    background-image: linear-gradient(to bottom, #ebf3fc, #dce9f9);
}
.lineage-page-btn{
    list-style: none;
    margin: 80px 0 10px 0;
    padding: 0;
    font-size: 0;
    width: 100%;
}
.lineage-page-btn li{
    display: inline-block;
    width: 49%;
}
.lineage-page-btn li + li{
    margin-left: 1%;
}
.lineage-page-btn li a{
    width: 100%;
 }
.list-publish-btn{
    margin-bottom: 20px;
}
.page-sidebar{
    margin-left: 30px;
}
.page-item-title h2{
    margin-bottom: 0px;
}
.page-item-title p{
    font-weight: bold;
}
.lineage-user-info + .lineage-server-rank{
    margin-top: 20px;
}
.user-avatar > i.user-icon{
    float: left;
    margin-right: 10px;
    font-size: 45px;
    text-align: center;
    width: 45px;
    height: 45px;
    color: #cccccc;
}
.lineage-server-rank .table>tbody>tr>td, .lineage-server-rank .table>tbody>tr>th, .lineage-server-rank .table>tfoot>tr>td, .lineage-server-rank .table>tfoot>tr>th, .lineage-server-rank .table>thead>tr>td,.lineage-server-rank .table>thead>tr>th{
    border-top: 1px solid #ddd;
}
.lineage-server-rank .table-condensed>tbody>tr>td, .lineage-server-rank .table-condensed>thead>tr>th {
    padding: 5px;
}
.lineage-user-info h4, .lineage-server-rank h4{
    margin-bottom: 10px;
}
.list-bg hr{
    border-bottom: 1px solid rgba(0,0,0,.05);
}
.lineage-list .table-type1 thead th:nth-of-type(1){
    width: 12%;
}
.lineage-list .table-type1 thead th:nth-of-type(2){
    width: 12%;
}
.lineage-list .table-type1 thead th:nth-of-type(3){
    width: 28%;
}
.lineage-list .table-type1 thead th:nth-of-type(4){
    width: 6%;
}
.lineage-list .table-type1 thead th:nth-of-type(5){
    width: 6%;
}
.lineage-list .table-type1 thead th:nth-of-type(6){
    width: 6%;
}
.lineage-list .table-type1 thead th:nth-of-type(7){
    width: 6%;
}
.lineage-list .table-type1 thead th:nth-of-type(8){
    width: 6%;
}
.lineage-list .table-type1 thead th:nth-of-type(9){
    width: 6%;
}
.lineage-list .table-type1 thead th:nth-of-type(10){
    width: 4%;
}
.lineage-list .table-type1 thead th:nth-of-type(11){
    width: 8%;
}
.footer-logo{
    margin-bottom: 30px;
}
.footer-lineage-list{
    color: #eee;
    padding: 0;
    margin: 0;
    list-style: none;
    font-size: 0;
}
.footer-lineage-list li{
    display: inline-block;
    width: 12.5%;
    font-size: 14px;
}
#footer .footer-lineage-list li > a{
    color: rgba(255,255,255,0.8);
}
#footer .footer-lineage-list li > a:hover, #footer .footer-lineage-list li > a:active, #footer .footer-lineage-list li > a:focus{
    color: rgba(255,255,255,1);
}
#footer .txt-rights{

}
@media only screen and (max-width: 1600px){
    .lineage-top .people{
        left: -300px;
    }
    .lineage-list .people{
        right: -340px;
    }
    .game-list .people{
        left: -200px;
    }
    .people-left, .people-right {
        width: 200px;
    }
}
@media only screen and (max-width: 1500px){
    .lineage-top .people{
        left: -400px;
    }
    .lineage-list .people{
        right: -440px;
    }
    .game-list .people{
        left: -300px;
    }
}
@media only screen and (max-width: 1300px){
    .lineage-top .people{
        left: -450px;
    }
    .lineage-list .people{
        right: -540px;
    }
    .game-list .people{
        left: -400px;
    }
}
@media only screen and (max-width: 1200px){
    .navbar-collapse .download-btn{
        display: none;
    }
    #topNav .mobile-download-btn {
        display: block;
    }
    .people-left, .people-right {
        width: 120px;
    }
}
@media only screen and (max-width: 1024px){
    .lineage-top .people, .game-list .people, .lineage-list .people{
        display: none;
    }
    .menu-lineage-bar{
        text-align: left;
    }
    .menu-lineage-bar .list1 + .list2{
        margin: 10px 0 0 0;
    }
    .lineage-top .people, .lineage-list .people, .game-list .people{
        display: none;
    }
    .normal-list-item{
        height: auto;
    }
}
@media only screen and (max-width: 992px){
    .menu-lineage-bar, .download-btn{
        display: none;
    }
    #topNav .mobile-download-btn {
        display: block;
    }
    .table-type1 {
        overflow:auto;
    }
    .lineage-border {
        display:none;
    }
    .table-lineage > thead > tr > th:first-of-type, .table-lineage > tbody > tr > td:first-of-type{
        padding-left: 10px;
    }
    .table-lineage > thead > tr > th{
        padding-top: 10px;
    }
    .table-lineage > thead > tr > th:last-of-type, .table-lineage > tbody > tr > td:last-of-type{
        padding-right: 10px;
    }
    .table-lineage > tbody > tr:last-of-type > td{
        padding-bottom: 10px;
    }
    .page-sidebar{
        margin-left: 0;
    }
}
@media only screen and (max-width: 630px){
    .footer-lineage-list li{
        width: 50%;
        margin-bottom: 10px;
    }
    #footer .list-inline{
        text-align: left;
    }
    #footer .txt-rights{
        position: initial;
        right: initial;
        top: initial;
        display: block;
        text-align: left;
    }
    .lineage-register .register-box{
        margin-top: 20px;
        margin-bottom: 20px;
    }
    .normal-item-info .label{
        display: block;
        width: 100%;
    }
    .normal-item-info .label + .label{
        margin-top: 2px;
    }
    .lineage-page-message{
        margin-top: 30px;
    }
    .lineage-user-info{
        width: 100%;
        background-color: rgba(255,255,255,0.08);
        margin: 30px auto 0 auto;
    }    
    section.lineage-page div.row>div{
        margin-bottom: 10px;
    }
    .lineage-page .row +.row{
        margin-top: 0px;
    }
    .lineage-page-btn{
        margin: 80px 0 20px 0;
    }
    .list-publish-btn{
        margin-bottom: 0;
    }
}


/* 列表項目懸停特效 */
/* 列表項目懸停特效 (強力測試) */
section.lineage-list-page ul.normal-list .normal-item:hover {
  background-image: none !important;
  background-color: #e9e9e9 !important;
  box-shadow: 0 8px 16px 0 rgba(0,0,0,.2) !important;
  transition: all 0.3s ease !important;
}

/* Server list table hover effect */
.table-lineage > tbody > tr:hover {
    background-color: rgba(255, 255, 255, 0.05);
    transition: background-color 0.3s ease;
}

/* Form validation error styles */
.text-danger {
    color: #e53935 !important;
}

label.is-invalid input {
    border: 1px solid #e53935 !important;
}
/* --- 第一階段：靈動發光與抖動優化 --- */
@keyframes glow-breath {
  0% { text-shadow: 0 0 5px rgba(255, 215, 0, 0.5); }
  50% { text-shadow: 0 0 20px rgba(255, 215, 0, 1), 0 0 30px rgba(255, 215, 0, 0.5); }
  100% { text-shadow: 0 0 5px rgba(255, 215, 0, 0.5); }
}
.table-lineage tbody tr td:first-child {
  color: #ffd700 !important;
  font-weight: bold;
  animation: glow-breath 3s infinite ease-in-out;
}
@keyframes shake-soft {
  0% { transform: translate(0, 0) rotate(0deg); }
  25% { transform: translate(1px, 1px) rotate(0.5deg); }
  50% { transform: translate(-1px, -1px) rotate(-0.5deg); }
  75% { transform: translate(1px, -1px) rotate(0.2deg); }
  100% { transform: translate(0, 0) rotate(0deg); }
}
.lineage-list .title {
  display: inline-block;
  animation: shake-soft 2s infinite linear;
  color: #ff3b3b;
  text-shadow: 1px 1px 10px rgba(255, 0, 0, 0.3);
}
.table-lineage tbody tr:hover {
  background-color: rgba(255, 215, 0, 0.1) !important;
  transition: all 0.3s ease;
  transform: scale(1.01);
  box-shadow: 0 0 15px rgba(255, 215, 0, 0.2);
}
.btn-lineage, .webbtn {
  position: relative;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.btn-lineage:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 5px 20px rgba(255, 215, 0, 0.5);
  animation: shake-soft 0.5s infinite;
}

/* --- 第三階段：角色浮動與視差效果 --- */
@keyframes float-y {
  0% { transform: translateY(0); }
  50% { transform: translateY(-15px); }
  100% { transform: translateY(0); }
}
.char-floating {
  animation: float-y 4s ease-in-out infinite;
  z-index: 5;
  pointer-events: none;
}
.char-pos-1 { position: absolute; right: 2%; top: -150px; width: 120px !important; }
.char-pos-2 { position: absolute; left: 2%; top: -120px; width: 150px !important; }

/* --- 第四階段：導覽列與按鈕互動優化 --- */
.nav-lineage li a { position: relative; transition: color 0.3s; }
.nav-lineage li a::after { content: ''; position: absolute; bottom: -5px; left: 0; width: 0; height: 2px; background: #ffd700; transition: width 0.3s; }
.nav-lineage li a:hover::after { width: 100%; }
.btn-secondary, .lineage-btn { background: linear-gradient(135deg, #1a1a1a 0%, #333 50%, #1a1a1a 100%) !important; border: 1px solid #ffd700 !important; box-shadow: 0 4px 6px rgba(0,0,0,0.5); }
.btn-secondary:hover { filter: brightness(1.2); box-shadow: 0 0 15px rgba(255, 215, 0, 0.4); }

/* --- 第五階段：全頁面淡入與列表呈現 --- */
.page-fade-in { opacity: 1; transform: translateY(0); transition: opacity 0.6s ease-out, transform 0.6s ease-out; }
.page-fade-in.will-animate { opacity: 0; transform: translateY(30px); }
.page-fade-in.is-visible { opacity: 1; transform: translateY(0); }
