@font-face {
    font-family: "mtrSung";
    src: url("../../MTRSung-V11.1.ttf");
}

:root{
    --none: rgba(0, 0, 0, 0);
    --EAL: #5eb7e8;
    --TML: #9c2e00;
    --KTL: #00a040;
    --ISL: #0075c2;
    --SIL: #cbd300;
    --TCL: #f3982d;
    --AEL: #00888e;
    --TKL: #7e3c93;
    --TWL: #e60012;
    --DRL: #F173AC;

    --EAL_text: #000;
    --TML_text: #fff;
    --KTL_text: #fff;
    --ISL_text: #fff;
    --SIL_text: #000;
    --TCL_text: #000;
    --AEL_text: #fff;
    --TKL_text: #fff;
    --TWL_text: #fff;

    --line1: var(--none);
    --line2: var(--none);
    --line3: var(--none);
    --line4: var(--none);
}

*{
    font-family: "mtrSung";
    margin: 0;
    padding: 0;
}

html{
    background: #232323;
    color: #eee;
    overflow: hidden;
}
body{
    width: 100%;
    height: 100dvh;
}

.dummy{
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
}
.screen{
    position: absolute;
    width: 1920px;
    height: 1080px;
    background-color: #787878;
    transform: scale(.25);
    transform-origin: top left;
}
.screen .top{
    height: 13.7037037%;
    background-color: #002e6d;
    color: #fff;
    font-size: 100px;

    display: flex;
    align-items: center;
    justify-content: center;
}
.screen .top .wea{
    display: flex;
    position: absolute;
    background-size: 100%;
    height: 120px;
    width: 120px;
    left: 42px;
    background-image: url("../../icon.png");
}
.screen .top .temp{
    display: flex;
    position: absolute;
    left: 190px;
    margin-top: 10px;
}
.screen .top .sta{
    user-select: none;
    cursor: pointer;
}
.screen .top .time{
    display: flex;
    position: absolute;
    right: 42px;
    margin-top: 5px;
    cursor: pointer;
    user-select: none;
}
.screen .item{
    height: 21.57407407%;
    color: #000;

    display: flex;
    align-items: center;
}
.screen .item :is(.no, .no-title){
    display: flex;
    position: absolute;
    left: 7px;
    width: 2em;
    color: #444;
    cursor: pointer;
    user-select: none;
    justify-content: center;
}
.screen .item .no-title{
    font-size: 55px;
    left: 22px;
    margin-bottom: 95px;
    width: 2em;
    color: #444;
}
.screen .item .no{
    font-size: 94px;
    left: 17px;
    margin-top: 57px;
    width: 7.175rem;
    color: #282828;
}
.screen .item .dest{
    font-size: 110px;
    display: flex;
    position: absolute;
    left: 145px;
}
.screen .item .line{
    display: flex;
    position: absolute;
    right: 649px;
    align-items: center;
    justify-content: center;
}
.screen .item .line:before{
    content: '';
    position: absolute;
    width: 145px;
    height: 145px;
    background: var(--EAL);
    border-radius: 50%;
}
.screen .item .line#line1:before{
    background: var(--line1);
}
.screen .item .line#line2:before{
    background: var(--line2);
}
.screen .item .line#line3:before{
    background: var(--line3);
}
.screen .item .line#line4:before{
    background: var(--line4);
}
.screen .item .plat{
    color: #fff;
    font-size: 120px;
    display: flex;
    position: absolute;
    right: 615px;
    margin-top: 4px;
    align-items: center;
    justify-content: center;
    z-index: 51;
    cursor: pointer;
}
.screen .item :is(.arr-arr, .arr-dep){
    visibility: hidden;
    font-size: 100px;
    display: flex;
    position: absolute;
    right: 85px;
}
.screen .item .arr{
    font-size: 140px;
    display: flex;
    position: absolute;
    right: 85px;
    align-items: baseline;
}
.screen .item .unit{
    text-align: center;
    width: 150px;
    font-size: 75px;
}
.screen :is(.ad, .notice){
    visibility: hidden;
    position: absolute;
    width: 100%;
    height: 64.72222221%;
    z-index: 100;
}
.screen .notice{
    background-color: #FFF;
    overflow: hidden;
    color: #000;
}
.screen .ad{
    background-size: 100% 100%;
}
.screen .item:nth-child(2n-1){
    background-color: #b3e2ec;
}
.screen .item:nth-child(2n){
    background-color: #fff;
}

.screen .notice :is(.titleCh, .titleEn, .content){
    width: 100%;
    text-align: center;
}
.screen .notice .titleCh{
    display: flex;
    justify-content: center;
    position: absolute;
    top: 49px;
    font-size: 115px;
}
.screen .notice .titleEn{
    display: flex;
    justify-content: center;
    position: absolute;
    top: 177px;
    font-size: 90px;
}
.screen .notice :is(.contentCh, .contentEn){
    display: flex;
    justify-content: center;
    position: absolute;
    padding: 0 80px;
    align-items: center;
    flex-wrap: wrap;
    width: calc(100% - 160px);
}
.screen .notice .contentCh{
    height: 139px;
    font-size: 110px;
    top: 296px;
}
.screen .notice .contentEn{
    align-content: flex-start;
    height: 220px;
    font-size: 90px;
    top: 433px;
}
.screen .notice :is(.contentCh, .contentEn) span{
    height: 110px;
    margin: 0 20px;
    display: flex;
    align-items: center;
}
.EAL:not(.line-item){
    color: var(--EAL);
}
.TML:not(.line-item){
    color: var(--TML);
}
.KTL:not(.line-item){
    color: var(--KTL);
}
.ISL:not(.line-item){
    color: var(--ISL);
}
.SIL:not(.line-item){
    color: var(--SIL);
}
.TCL:not(.line-item){
    color: var(--TCL);
}
.AEL:not(.line-item){
    color: var(--AEL);
}
.TKL:not(.line-item){
    color: var(--TKL);
}
.TWL:not(.line-item){
    color: var(--TWL);
}


@keyframes strokeFlicker {
    0%   {stroke-width: 15px;}
    50%  {stroke-width: 25px;}
    100% {stroke-width: 15px;}
}
@keyframes strokeFlickerInMap {
    0%   {stroke-width: 5px;}
    50%  {stroke-width: 15px;}
    100% {stroke-width: 5px;}
}
@keyframes titleFlickerInMap {
    0%   {opacity: 0;}
    50%  {opacity: 100%;}
    100% {opacity: 0;}
}

.title-map{
    opacity: 0;
    transition: .7s ease-in-out;
}
#disruptedLine{
    stroke-width: 15px;
    transition: .7s ease-in-out;
}
.map-line{
    stroke-width: 5px;
    stroke-opacity: .3;
}
.map-line.isDisrupted{
    stroke-opacity: .85;
    stroke-width: 5px;
    transition: .65s steps(10);
}

.notice#lineNotAvaMap{
    visibility: visible;
    display: none;
}
.title-map.on{
    opacity: 1;
}
#disruptedLine.on{
    stroke-width: 25px;
}
.map-line.isDisrupted.on{
    stroke-width: 15px;
}

.stop{
    fill: #FFF;
    stroke: #eee;
    stroke-width: 1px;
}
.not-ava-update{
    display: flex;
    position: absolute;
    left: 450px;
    width: 1470px;
    height: 80px;
    top: 0;
    background: #FFFb;
    font-size: 50px;
    overflow: hidden;
    align-items: center;

    .update-text{
        margin: 15px 0;
        white-space: nowrap;
        position: absolute;
        left: 1450px;
    }
}
.not-ava-line-list{
    display: flex;
    position: absolute;
    top: 155px;
    width: 440px;
    height: 436.5px;
    overflow-y: scroll;
    flex-direction: column;

    .line-item{
        display: flex;
        flex-direction: column;
        margin: 25px 0 0 150px;

        .chi{
            font-size: 40px;
            margin-bottom: 5px;
        }
        .eng{
            font-size: 30px;
        }
    }
    .line-item::before{
        content: "";
        position: absolute;
        display: block;
        border-radius: 1000px;
        width: 75px;
        height: 20px;
        margin: 20px 0 0 -110px;
    }
    
    .line-item.EAL::before{
        background: var(--EAL);
    }
    .line-item.TML::before{
        background: var(--TML);
    }
    .line-item.KTL::before{
        background: var(--KTL);
    }
    .line-item.ISL::before{
        background: var(--ISL);
    }
    .line-item.SIL::before{
        background: var(--SIL);
    }
    .line-item.TCL::before{
        background: var(--TCL);
    }
    .line-item.AEL::before{
        background: var(--AEL);
    }
    .line-item.TKL::before{
        background: var(--TKL);
    }
    .line-item.TWL::before{
        background: var(--TWL);
    }
}