:root {
    --time: .3s;
    --bgc: #ff7e14;
    --ftc: #ff7e14;
    --color: var(--ftc);
    --backtop-color-rgb: 255, 126, 20;
    --btn: var(--p40);
    --btn_size: var(--ft14);
    --btn_color: var(--ftc);
    --main: 1400px;
    --ft12: 12px;
    --ft13: 13px;
    --ft14: 14px;
    --ft15: 15px;
    --ft16: 16px;
    --ft17: 17px;
    --ft18: 18px;
    --ft20: 20px;
    --ft22: 22px;
    --ft24: 24px;
    --ft25: 25px;
    --ft26: 26px;
    --ft28: 28px;
    --ft30: 30px;
    --ft32: 32px;
    --ft36: 36px;
    --ft40: 40px;
    --ft48: 48px;
    --ft56: 56px;
    --ft64: 64px;
    --ft66: 66px;
    --ft72: 72px;
    --ft80: 80px;
    --p0: 0;
    --p5: 5px;
    --p8: 8px;
    --p10: 10px;
    --p12: 12px;
    --p15: 15px;
    --p16: 16px;
    --p20: 20px;
    --p24: 24px;
    --p25: 25px;
    --p30: 30px;
    --p35: 35px;
    --p36: 36px;
    --p40: 40px;
    --p48: 48px;
    --p50: 50px;
    --p60: 60px;
    --p70: 70px;
    --p80: 80px;
    --p100: 100px
}

* {
    margin: 0;
    padding: 0;
    border: 0;
    box-sizing: border-box;
    min-width: 0;
    word-break: break-word;
    word-wrap: break-word
}

.img_box {
    max-width: 100%;
    max-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden
}

.img_box img {
    max-width: 100%;
    max-height: 100%
}

.img_box1 {
    max-width: 100%;
    overflow: hidden
}

.img_box1 img {
    max-width: 100%
}

.img_100 {
    display: flex;
    overflow: hidden
}

.img_100 img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

html {
    scroll-behavior: smooth
}

body {
    width: 100%;
    color: #000;
    font-size: var(--ft16);
    overflow-x: hidden
}

ul,
li {
    list-style: none
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dd,
dt,
form {
    margin: 0;
    padding: 0
}

a {
    color: inherit;
    text-decoration: none;
    transition: all var(--time)
}

img,
svg,
video {
    display: block;
    max-width: 100%
}

button,
input,
textarea,
select {
    border: 0;
    outline: none;
    font: inherit;
    color: inherit;
    background: transparent
}

button {
    cursor: pointer
}

section,
main {
    width: 100%
}

section {
    padding: var(--p80) 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover
}

main {
    flex: 1
}

.main {
    width: var(--main);
    max-width: 90%;
    margin: 0 auto
}

.main1 {
    width: calc(((100% - var(--main)) / 2) + var(--main)) !important;
    max-width: 90%;
    margin-right: 0;
    margin-left: auto
}

.main2 {
    width: calc(((100% - var(--main)) / 2) + var(--main)) !important;
    max-width: 90%;
    margin-right: auto;
    margin-left: 0
}

.d-flex {
    display: flex
}

.flex-column {
    flex-direction: column
}

.flex-center {
    display: flex;
    align-items: center;
    justify-content: center
}

.flex-column-center {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column
}

.al-c {
    align-items: center
}

.al-b {
    align-items: baseline
}

.al-fs {
    align-items: flex-start
}

.al-fe {
    align-items: flex-end
}

.al-s {
    align-items: stretch
}

.jc-c {
    justify-content: center
}

.jc-s {
    justify-content: space-between
}

.jc-sa {
    justify-content: space-around
}

.jc-se {
    justify-content: space-evenly
}

.jc-fs {
    justify-content: flex-start
}

.jc-fe {
    justify-content: flex-end
}

.d-grid {
    display: grid
}

.grid1 {
    grid-template-columns: repeat(1, 1fr)
}

.grid2 {
    grid-template-columns: repeat(2, 1fr)
}

.grid3 {
    grid-template-columns: repeat(3, 1fr)
}

.grid4 {
    grid-template-columns: repeat(4, 1fr)
}

.grid5 {
    grid-template-columns: repeat(5, 1fr)
}

.grid6 {
    grid-template-columns: repeat(6, 1fr)
}

.grid-row {
    display: grid;
    grid-template-columns: repeat(12, 1fr)
}

.grid-row>* {
    grid-column: span 12
}

.grid-row .pc1 {
    grid-column: span 1
}

.grid-row .pc2 {
    grid-column: span 2
}

.grid-row .pc3 {
    grid-column: span 3
}

.grid-row .pc4 {
    grid-column: span 4
}

.grid-row .pc5 {
    grid-column: span 5
}

.grid-row .pc6 {
    grid-column: span 6
}

.grid-row .pc7 {
    grid-column: span 7
}

.grid-row .pc8 {
    grid-column: span 8
}

.grid-row .pc9 {
    grid-column: span 9
}

.grid-row .pc10 {
    grid-column: span 10
}

.grid-row .pc11 {
    grid-column: span 11
}

.grid-row .pc12 {
    grid-column: span 12
}

.bgc {
    background: var(--bgc)
}

.ftc {
    color: var(--ftc)
}

.label {
    white-space: nowrap
}

.must::before {
    display: inline-block;
    content: "*"
}

.bg_img {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover
}

.bg_fixed {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed
}

.line-clamp1,
.line-clamp2,
.line-clamp3,
.line-clamp4,
.line-clamp5 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical
}

.line-clamp1 {
    -webkit-line-clamp: 1;
    line-clamp: 1
}

.line-clamp2 {
    -webkit-line-clamp: 2;
    line-clamp: 2
}

.line-clamp3 {
    -webkit-line-clamp: 3;
    line-clamp: 3
}

.line-clamp4 {
    -webkit-line-clamp: 4;
    line-clamp: 4
}

.line-clamp5 {
    -webkit-line-clamp: 5;
    line-clamp: 5
}

.s_content {
    line-height: 1.8
}

.s_content * {
    text-wrap-mode: wrap !important;
    word-break: break-word
}

.s_content li {
    list-style: inherit
}

.s_content .list-paddingleft-2 {
    padding-left: 1em
}

.s_content img,
.s_content video {
    display: inline-block;
    max-width: 100%;
    height: auto !important
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    max-width: 100%;
    height: var(--btn);
    padding: 0 var(--p30);
    gap: 8px;
    border: 1px solid var(--btn_color);
    background: var(--btn_color);
    color: #fff;
    font-size: var(--btn_size);
    line-height: var(--btn);
    text-align: center;
    cursor: pointer;
    transition: all var(--time)
}

.btn:hover {
    box-shadow: 0 3px 8px rgba(47, 100, 162, 0.16)
}

.pagenum {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--p10);
    margin-top: var(--p70)
}

.pagenum .pagination {
    display: flex;
    justify-content: center;
    gap: var(--p10);
    width: max-content;
    margin: 0 auto
}

.pagenum input,
.pagenum button,
.pagenum a,
.pagenum span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5em;
    height: 2.5em;
    padding: 2px 5px;
    background: #f8f8f8;
    color: #000;
    line-height: 1.6em;
    text-align: center
}

.pagenum .page-number.active {
    background: var(--ftc);
    color: #fff
}

::-webkit-scrollbar {
    width: 8px;
    height: 10px
}

::-webkit-scrollbar-track-piece {
    background-color: transparent
}

::-webkit-scrollbar-thumb {
    background-color: #ddd;
    border-radius: 5px;
    cursor: pointer
}

::-webkit-scrollbar-thumb:hover {
    background-color: var(--ftc)
}

@media only screen and (min-width:768px) and (max-width:1199px) {
    :root {
        --main: 92%;
        --btn: 40px;
        --btn_size: var(--ft14);
        --ft30: 26px;
        --ft32: 28px;
        --ft36: 30px;
        --ft40: 34px;
        --ft48: 40px;
        --ft56: 46px;
        --ft64: 52px;
        --ft66: 54px;
        --ft72: 58px;
        --ft80: 64px;
        --p60: 50px;
        --p70: 55px;
        --p80: 60px;
        --p100: 80px
    }

    .main,
    .main1,
    .main2 {
        width: 100% !important;
        max-width: 92%;
        margin-right: auto;
        margin-left: auto
    }

    .grid-row .tb1 {
        grid-column: span 1
    }

    .grid-row .tb2 {
        grid-column: span 2
    }

    .grid-row .tb3 {
        grid-column: span 3
    }

    .grid-row .tb4 {
        grid-column: span 4
    }

    .grid-row .tb5 {
        grid-column: span 5
    }

    .grid-row .tb6 {
        grid-column: span 6
    }

    .grid-row .tb7 {
        grid-column: span 7
    }

    .grid-row .tb8 {
        grid-column: span 8
    }

    .grid-row .tb9 {
        grid-column: span 9
    }

    .grid-row .tb10 {
        grid-column: span 10
    }

    .grid-row .tb11 {
        grid-column: span 11
    }

    .grid-row .tb12 {
        grid-column: span 12
    }
}

@media only screen and (max-width:767px) {
    :root {
        --main: 92%;
        --btn: 38px;
        --btn_size: var(--ft14);
        --ft16: 14px;
        --ft18: 15px;
        --ft20: 16px;
        --ft22: 18px;
        --ft24: 20px;
        --ft26: 22px;
        --ft28: 24px;
        --ft30: 25px;
        --ft32: 26px;
        --ft36: 28px;
        --ft40: 30px;
        --ft48: 34px;
        --ft56: 38px;
        --ft64: 42px;
        --ft66: 44px;
        --ft72: 46px;
        --ft80: 50px;
        --p30: 20px;
        --p36: 24px;
        --p40: 28px;
        --p48: 32px;
        --p50: 34px;
        --p60: 40px;
        --p70: 44px;
        --p80: 48px;
        --p100: 60px
    }

    section {
        padding: var(--p60) 0
    }

    .main,
    .main1,
    .main2 {
        width: 100% !important;
        max-width: 92%;
        margin-right: auto;
        margin-left: auto
    }

    .grid-row .mb1 {
        grid-column: span 1
    }

    .grid-row .mb2 {
        grid-column: span 2
    }

    .grid-row .mb3 {
        grid-column: span 3
    }

    .grid-row .mb4 {
        grid-column: span 4
    }

    .grid-row .mb5 {
        grid-column: span 5
    }

    .grid-row .mb6 {
        grid-column: span 6
    }

    .grid-row .mb7 {
        grid-column: span 7
    }

    .grid-row .mb8 {
        grid-column: span 8
    }

    .grid-row .mb9 {
        grid-column: span 9
    }

    .grid-row .mb10 {
        grid-column: span 10
    }

    .grid-row .mb11 {
        grid-column: span 11
    }

    .grid-row .mb12 {
        grid-column: span 12
    }
}

:root {
    --bgc: #2f68a8;
    --ftc: #2f68a8;
    --main: 1200px;
    --header-blue: #2f64a2;
    --header-deep: #2f5f9b;
    --line: #e5eaf0;
    --light-blue: #eef4fb;
    --text: #333;
    --muted: #777;
    --red: #d33b3b
}

body {
    color: var(--text);
    font-family: Arial, "Microsoft YaHei", "PingFang SC", sans-serif;
    background: #fff
}

.SiteHeader {
    background: #eaf4fb url("../images/d28a21b85c47c5f34b1b33aed43620833d642108.png") top center / cover no-repeat
}

.SiteHeader .topline {
    height: 28px;
    background: rgba(255, 255, 255, .72);
    color: #333;
    font-size: 13px;
    line-height: 28px
}

.SiteHeader .topline .main,
.SiteHeader .brandBar .main {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.SiteHeader .quick a+a::before {
    content: "|";
    margin: 0 10px;
    color: #777
}
.quick {
    display: flex;
        align-items: center;
}
.quick form{
    display: flex;
    margin-left: 30px;
    border: 1px solid #d9dfe6;
    padding: 0 5px;
    height: 25px;
}
.brandBar {
    height: 118px
}

.brandLogo {
    display: flex;
    align-items: center;
    gap: 18px;
    color: #245d99
}

.brandLogo img {
    width: 82px;
    height: 120px;
    object-fit: contain
}

.brandLogo strong {
    display: block;
    font-size:24px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0
}

.brandLogo span {
    display: block;
    margin-top: 8px;
    font-size: 16px;
    line-height: 1;
    font-weight: 700
}

.headerLinks {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #1c1c1c;
    font-size: 16px
}

.headerLinks a+a::before {
    content: "|";
    margin-right: 12px;
    color: #666
}

.menu_button {
    display: none;
    width: 40px;
    height: 34px;
    border: 1px solid rgba(47, 100, 162, 0.35);
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.7)
}

.menu_button span,
.menu_button::before,
.menu_button::after {
    display: block;
    width: 20px;
    height: 2px;
    margin: 5px auto;
    content: "";
    background: var(--header-blue);
    transition: all var(--time)
}

.menu_button.opened span {
    opacity: 0
}

.menu_button.opened::before {
    transform: translateY(7px) rotate(45deg)
}

.menu_button.opened::after {
    transform: translateY(-7px) rotate(-45deg)
}

.mainNav {
    background: var(--header-blue)
}

.mainNav .main {
    display: flex;
    justify-content: center;
}

.mainNav .main::-webkit-scrollbar {
    display: none
}

.mainNav a {
    display: flex;
    flex: 1 1 0;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: 48px;
    padding: 0 8px;
    color: #fff;
    font-size: 15px;
    white-space: nowrap
}

.mainNav a:hover,
.mainNav a.active {
    background: rgba(0, 0, 0, 0.12)
}

.HomeCard a:hover,
.ArticleItem a:hover,
.SideBox a:hover,
.RelatedBox a:hover,
.AccountContent a:hover,
.PanelTitle a:hover {
    color: var(--header-deep)
}

.AuthSubmit:hover,
.ProfileField button:hover,
.LoginModal .btn:hover {
    background: #28598f
}

.mainNav.navHome a {
    flex: 0 0 auto;
    min-width: 112px;
    padding: 0 16px;
    font-size: 16px
}

.navMobile {
    display: none
}

.PageBg {
    background: linear-gradient(rgba(255, 255, 255, 0.82), #fff 420px), url("../images/d28a21b85c47c5f34b1b33aed43620833d642108.png") top center / 1920px auto no-repeat
}

.PageBg>section {
    padding: 0 0 70px
}

.PageBreadcrumb {
    padding: 34px 0 26px;
    color: #8b8b8b;
    font-size: 14px
}

.PageBreadcrumb .homeDot {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 8px;
    border-radius: 50%;
    background: var(--header-blue)
}

.SiteFooter {
    margin-top: 30px;
    color: #d5e5f7;
    background: #2d5f9a;
    text-align: center
}

.SiteFooter .friendLinks {
    height: 52px;
    background: #3279cf;
    color: #fff;
    font-size: 14px;
    line-height: 52px
}

.SiteFooter .friendLinks a {
    margin: 0 10px
}

.SiteFooter .copyright {
    padding: 42px 0 50px;
    color: #8fb6e0;
    font-size: 14px;
    line-height: 2
}

.PanelTitle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 40px;
    border-bottom: 1px solid #d9dfe6;
    color: var(--header-blue);
    font-size: 20px
}

.PanelTitle span {
    position: relative;
    height: 100%;
    padding: 0 18px;
    line-height: 40px
}

.PanelTitle span::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    content: "";
    background: #e33d3d
}

.PanelTitle a {
    padding-right: 15px;
    color: #999;
    font-size: 13px
}

.PanelActions {
    display: flex;
    align-items: center;
    gap: 2px
}

.HomePage section {
    padding: 0
}

.HomeTopAd {
    padding-top: 26px !important
}

.HomeTopAd img,
.HomeBlueAd {
    width: 100%;
    height: 128px;
    object-fit: cover
}

.HomeLead .main {
    display: grid;
    grid-template-columns: 1fr .96fr;
    gap: 0;
    margin-top: 20px;
    border: 1px solid #d9dfe6
}

.HomeHero {
    position: relative;
    min-height: 350px;
    aspect-ratio: 7 / 5;
    overflow: hidden
}

.HomeHero img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.HomeHero .caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 58px;
    padding: 0 18px;
    color: #fff;
    font-size: 20px;
    line-height: 58px;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.72))
}

.HomeHero .arrow {
    position: absolute;
    top: 50%;
    width: 44px;
    height: 68px;
    margin-top: -34px;
    color: #fff;
    font-size: 40px;
    line-height: 68px;
    text-align: center;
    background: rgba(0, 0, 0, 0.22)
}

.HomeHero .prev {
    left: 0
}

.HomeHero .next {
    right: 0
}

.HeadlineBox {
    border-left: 1px solid #d9dfe6;
    background: #fff
}

.HeadlineBox ul {
    padding: 12px 18px 0
}

.HeadlineBox li {
    margin-bottom: 12px
}

.HeadlineBox h3 {
    color: #333;
    font-size: 17px;
    line-height: 1.45
}

.HeadlineBox p {
    color: #666;
    font-size: 14px;
    line-height: 1.7
}
.HomeTopAd .swiper-wrapper{
    height: auto;
}
.HeadlineBox em,
.NewsListPage .highlight {
    color: #e33d3d;
    font-style: normal;
}

.HeadlineBox em{
   position: absolute;
   right: 0;
   bottom: 0;
}

.HomeGrid .main {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 20px
}

.HomeCard {
    min-height: 225px;
    border: 1px solid #d9dfe6;
    background: #fff
}

.HomeCard .body {
    padding: 18px 20px 16px
}

.HomeCard .lead {
    display: grid;
    grid-template-columns: 138px 1fr;
    gap: 14px;
    margin-bottom: 14px
}

.HomeCard .lead img {
    width: 138px;
    height: 88px;
    object-fit: cover
}

.HomeCard h3 {
    margin-bottom: 8px;
    color: #222;
    font-size: 17px;
    line-height: 1.45
}

.HomeCard p {
    color: #666;
    font-size: 14px;
    line-height: 1.65
}
.sss li:nth-child(1){
    margin-top: 0px;
}
.sss li{
    margin-top: 2px;
}

.squareList li,
.SideBox li,
.RelatedBox li {
    position: relative;
    padding-left: 14px;
    color: #333;
    font-size: 15px;
    line-height: 2
}

.squareList li::before,
.SideBox li::before,
.RelatedBox li::before {
    position: absolute;
    top: 13px;
    left: 0;
    width: 5px;
    height: 5px;
    border: 1px solid var(--header-blue);
    content: ""
}

.HomeBlueAd {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 22px;
    color: #fff;
    font-size: 38px;
    font-weight: 700;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.35);
    background: linear-gradient(rgba(0, 68, 132, 0.62), rgba(0, 68, 132, 0.62)), url("../images/f244c9beb41bc18c8cbfc563ca7a3152dbf06c01.png") center / cover no-repeat
}

.VideoPanel {
    margin-top: 22px;
    border: 1px solid #d9dfe6;
    background: #fff
}

.VideoPanel .PanelTitle span::after {
    background: none
}

.VideoList {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 28px;
    padding: 22px 25px 26px
}

.VideoList img {
    width: 100%;
    height: 106px;
    object-fit: cover
}

.VideoList p {
    margin-top: 10px;
    color: #333;
    font-size: 14px;
    text-align: center
}

.NewsLayout {
    display: grid;
    grid-template-columns: minmax(0, 790px) 380px;
    gap: 36px
}

.ArticleList {
    background: rgba(255, 255, 255, 0.76)
}

.ArticleItem {
    padding: 24px 0 26px;
    border-bottom: 1px solid #e5e5e5
}

.ArticleItem h2 {
    margin-bottom: 10px;
    color: #333;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 500
}

.ArticleItem p {
    color: #666;
    font-size: 15px;
    line-height: 1.7
}

.ArticleItem .date {
    float: right;
    margin-left: 20px;
    color: #999
}

.MediaItem {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 22px;
    align-items: center
}

.MediaItem img {
    width: 150px;
    height: 100px;
    object-fit: cover
}

.SideBox {
    margin-bottom: 28px;
    padding: 18px 22px 20px;
    border: 1px solid #e0e5ec;
    background: #fff
}

.SideBox h3 {
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--header-blue);
    color: var(--header-blue);
    font-size: 20px
}

.SideBox.hot h3 {
    border-color: #d33939;
    color: #d33939
}

.SideBox li {
    font-size: 14px;
    line-height: 2.15
}

.PageNum {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin: 38px 0 0
}

.PageNum a {
    min-width: 34px;
    height: 34px;
    border: 1px solid #d8d8d8;
    color: #333;
    font-size: 16px;
    line-height: 32px;
    text-align: center;
    background: #fff
}

.PageNum a.active {
    border-color: var(--header-blue);
    color: #fff;
    background: var(--header-blue)
}

.DetailCard,
.RelatedBox,
.CommentBox,
.AuthCard,
.AccountSide,
.AccountContent,
.ReporterCard {
    border: 1px solid #e0e5ec;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03)
}

.DetailCard {
    padding: 30px 32px 0
}

.DetailCard h1 {
    margin: 0 0 18px;
    text-align: center;
    font-size: 25px;
    font-weight: 500
}

.DetailTools {
    display: flex;
    justify-content: center;
    gap: 18px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e5e5e5;
    color: #777;
    font-size: 13px
}

.ArticleBody {
    padding: 34px 0 20px;
    color: #333;
    font-size: 15px;
    line-height: 1.9
}

.ArticleBody p {
    margin-bottom: 24px
}

.ArticleBody img {
    max-width: 900px;
    max-height: 600px;
    margin: 24px auto;
    object-fit: cover
}

@media screen and (max-width: 1000px) {
    .ArticleBody img {
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
        max-height: auto !important;
    }
}

.ArticleBody .viewGallery {
    display: block;
    margin: -8px auto 24px;
    color: var(--header-blue);
    text-align: center
}

.PrevNext {
    display: flex;
    justify-content: space-between;
    padding: 18px 0;
    border-top: 1px solid #e5e5e5;
    color: #777;
    font-size: 13px
}

.RelatedBox,
.CommentBox {
    margin-top: 44px;
    padding: 0 24px 24px
}

.RelatedBox h2,
.CommentBox h2 {
    display: inline-block;
    height: 54px;
    border-bottom: 2px solid var(--header-blue);
    font-size: 18px;
    line-height: 54px;
    font-weight: 500
}

.CommentInput {
    margin: 16px 0 28px;
}

.CommentInput textarea {
    width: 100%;
    height: 100px;
    padding: 12px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    font-size: 14px;
    resize: vertical;
    box-sizing: border-box;
}

.CommentInput textarea:focus {
    outline: none;
    border-color: var(--header-blue);
}

.Btn_submit_comment {
    display: block;
    margin-top: 12px;
    margin-left: auto;
    padding: 8px 24px;
    border: none;
    border-radius: 4px;
    background: var(--header-blue);
    color: #fff;
    font-size: 14px;
    cursor: pointer;
}

.CommentItem {
    margin-bottom: 20px;
    color: #666;
    font-size: 14px;
    line-height: 1.75
}

.MoreBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 78px;
    height: 34px;
    margin: 34px auto 0;
    border: 1px solid #9eb6d0;
    color: #557aa2;
    font-size: 13px;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    transition: color .2s ease, border-color .2s ease, background-color .2s ease
}

.MoreBtn:hover {
    border-color: var(--header-blue);
    color: var(--header-blue);
    background: #f5f9ff
}

.LoginModal {
    position: absolute;
    left: 50%;
    bottom: 170px;
    width: 420px;
    min-height: 230px;
    padding: 34px 40px;
    transform: translateX(-50%);
    border: 1px solid #d7dde6;
    background: #fbfdff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
    text-align: center
}

.LoginModal .close {
    position: absolute;
    top: 16px;
    right: 18px;
    width: 24px;
    height: 24px;
    border: 2px solid #777;
    border-radius: 50%;
    color: #555;
    line-height: 20px
}

.LoginModal .avatar {
    width: 42px;
    height: 42px;
    margin: 8px auto 20px;
    border-radius: 50%;
    background: var(--header-blue)
}

.LoginModal .btn {
    width: 96px;
    margin-top: 14px;
    background: var(--header-blue);
    border-color: var(--header-blue)
}

.AuthWrap {
    padding-bottom: 10px
}

.AuthCard {
    width: 1000px;
    min-height: 650px;
    margin: 22px auto 0;
    padding: 70px 0 60px
}

.AuthCard.register {
    min-height: 840px
}

.AuthForm {
    width: 520px;
    margin: 0 auto
}

.AuthForm h1 {
    margin-bottom: 16px;
    text-align: center;
    font-size: 34px;
    font-weight: 400
}

.AuthForm .desc {
    margin-bottom: 42px;
    color: #777;
    font-size: 18px;
    text-align: center
}

.FormLine {
    margin-bottom: 18px
}

.FormLine label {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    color: #333;
    font-size: 15px
}

.InputBox {
    display: flex;
    align-items: center;
    height: 52px;
    border: 1px solid #d3d3d3;
    border-radius: 5px;
    background: #fff
}

.InputBox i {
    width: 42px;
    color: #9aa4b0;
    font-style: normal;
    text-align: center
}

.InputBox input {
    flex: 1;
    height: 100%;
    color: #999;
    font-size: 16px
}

.InputBox input::placeholder {
    color: #999;
    opacity: 1
}

.InputBox .SendCode {
    width: 120px;
    height: 38px;
    margin-right: 8px;
    border: none;
    border-radius: 4px;
    background: #3a7bd5;
    color: #fff;
    font-size: 14px;
    cursor: pointer
}

.InputBox .SendCode:hover {
    background: #28598f
}

.InputBox .SendCode:disabled {
    background: #ccc;
    cursor: not-allowed
}

.CheckLine {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 4px 0 20px;
    color: #555;
    font-size: 15px
}

.CheckLine .check {
    width: 18px;
    height: 18px;
    border: 1px solid #9eb2c7;
    color: var(--header-blue);
    line-height: 16px;
    text-align: center
}

.AuthSubmit {
    width: 100%;
    height: 58px;
    border-radius: 5px;
    color: #fff;
    font-size: 18px;
    background: var(--header-blue);
    box-shadow: 0 6px 14px rgba(47, 100, 162, 0.18)
}

.SwitchAuth {
    margin-top: 24px;
    color: #777;
    text-align: center;
    font-size: 17px
}

.SwitchAuth a,
.FormLine a {
    color: var(--header-blue);
    font-weight: 600
}

.AccountLayout {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 24px;
    padding-bottom: 10px
}

.AccountSide {
    min-height: 670px
}

.AccountName {
    height: 88px;
    padding: 0 24px;
    border-bottom: 1px solid #e6e6e6;
    font-size: 22px;
    line-height: 88px
}

.AccountMenu a {
    display: flex;
    align-items: center;
    gap: 14px;
    height: 58px;
    padding: 0 25px;
    border-bottom: 1px solid #eeeeee;
    color: #777;
    font-size: 18px
}

.AccountMenu a.active {
    border-left: 4px solid var(--header-blue);
    color: var(--header-blue);
    background: #edf2fb
}

.AccountContent {
    min-height: 670px;
    padding: 32px 25px 40px
}

.AccountContent h1 {
    padding-bottom: 18px;
    border-bottom: 1px solid #e5e5e5;
    font-size: 24px;
    font-weight: 400
}

.ProfileGrid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: 28px
}

.ProfileField label {
    display: block;
    margin-bottom: 8px;
    color: #555
}

.ProfileField .value {
    display: flex;
    height: 52px;
    border: 1px solid #d4d4d4;
    background: #fff
}

.ProfileField span {
    flex: 1;
    padding: 0 16px;
    font-size: 18px;
    line-height: 50px
}

.ProfileField button {
    width: 112px;
    color: #fff;
    background: var(--header-blue)
}

.SecurityTitle {
    margin: 40px 0 20px;
    font-size: 24px;
    font-weight: 400
}

.SecurityItem {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 84px;
    margin-bottom: 18px;
    padding: 0 22px;
    border: 1px solid #e0e0e0
}

.SecurityItem strong {
    display: block;
    margin-bottom: 6px;
    font-size: 18px
}

.SecurityItem p {
    color: #777
}

.Tabs {
    display: flex;
    gap: 36px;
    height: 64px;
    align-items: end;
    border-bottom: 1px solid #e5e5e5
}

.Tabs a {
    height: 34px;
    color: #777;
    font-size: 18px
}

.Tabs a.active {
    border-bottom: 2px solid var(--header-blue);
    color: var(--header-blue);
    font-weight: 600
}

.UserPost {
    position: relative;
    min-height: 96px;
    margin-top: 22px;
    padding: 20px 120px 18px 18px;
    border: 1px solid #e4e4e4
}

.UserPost h2 {
    margin-bottom: 13px;
    font-size: 20px;
    font-weight: 400
}

.UserPost p {
    color: #666;
    font-size: 16px
}

.UserPost .meta {
    margin-top: 16px;
    color: #888;
    font-size: 14px
}

.UserPost .date,
.UserPost .actions,
.UserPost .status {
    position: absolute;
    right: 22px
}

.UserPost .date {
    top: 22px;
    color: #777
}

.UserPost .actions {
    bottom: 22px
}

.UserPost .actions a {
    margin-left: 18px;
    color: var(--header-blue)
}

.UserPost .actions .delete {
    color: #d94d5b
}

.UserPost .status {
    top: 20px;
    padding: 7px 16px;
    color: var(--header-blue);
    background: #f0f2f8
}

.DraftSaveBar {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 20px
}

.DraftSaveItem {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 58px;
    padding: 10px 14px;
    border: 1px solid #e0e5ec;
    background: #f8fbff
}

.DraftSaveItem span {
    color: #333;
    font-size: 15px
}

.AccountTitleBar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e5e5e5
}

.AccountContent .AccountTitleBar h1 {
    padding-bottom: 0;
    border-bottom: 0
}

.PrimarySmallBtn,
.GhostSmallBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 96px;
    height: 36px;
    padding: 0 18px;
    border: 1px solid var(--header-blue);
    border-radius: 3px;
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
    transition: color .2s ease, border-color .2s ease, background-color .2s ease
}

.PrimarySmallBtn {
    color: #fff;
    background: var(--header-blue)
}

.PrimarySmallBtn:hover {
    color: #fff;
    background: #28598f
}

.GhostSmallBtn {
    color: var(--header-blue);
    background: #fff
}

.GhostSmallBtn:hover {
    color: #28598f;
    border-color: #28598f;
    background: #f5f9ff
}

.PublishForm,
.ReaderForm {
    padding-top: 28px
}

.PublishGrid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px
}

.PublishField {
    display: block;
    margin-bottom: 20px
}

.PublishField span {
    display: block;
    margin-bottom: 8px;
    color: #333;
    font-size: 15px
}

.PublishField input,
.PublishField select,
.PublishField textarea {
    width: 100%;
    border: 1px solid #d4dce6;
    border-radius: 3px;
    color: #333;
    font-size: 15px;
    background: #fff
}

.PublishField input,
.PublishField select {
    height: 44px;
    padding: 0 12px
}

.PublishField textarea {
    min-height: 220px;
    padding: 12px;
    line-height: 1.7;
    resize: vertical
}

.PublishField input::placeholder,
.PublishField textarea::placeholder {
    color: #999;
    opacity: 1
}

.PublishActions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding-top: 4px
}

.ReaderLayout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
    padding-bottom: 10px
}

.ReaderPanel {
    padding: 0 24px 28px;
    border: 1px solid #e0e5ec;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .03)
}

.ReaderPanel .PanelTitle {
    margin: 0 -24px
}

.ReaderPanel .ReaderForm {
    padding-top: 24px
}

.MessageItem {
    padding: 22px 0;
    border-bottom: 1px solid #e5e5e5
}

.MessageItem h2 {
    overflow: hidden;
    margin-bottom: 8px;
    color: #333;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap
}

.MessageItem p {
    overflow: hidden;
    margin-top: 8px;
    color: #666;
    font-size: 15px;
    line-height: 1.7;
    text-overflow: ellipsis;
    white-space: nowrap
}

.MessageMeta {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-bottom: 8px;
    color: #888;
    font-size: 14px
}

.ReporterCard {
    padding: 28px 34px 56px
}

.ReporterOnlyPage {
    min-height: 100vh;
    padding: 36px 0
}

.ReporterCard h1 {
    padding-bottom: 20px;
    border-bottom: 1px solid #e5e5e5;
    text-align: center;
    font-size: 28px;
    font-weight: 400
}

.ReporterPhoto {
    width: 340px;
    height: 520px;
    margin: 44px auto 34px;
    object-fit: cover
}

.ReporterCard h2 {
    margin: 40px 0 16px;
    text-align: center;
    font-size: 20px
}

.ReporterCard p,
.ReporterCard li {
    color: #333;
    font-size: 15px;
    line-height: 1.85
}

.ReporterCard .agency {
    margin-top: 42px;
    text-align: center;
    font-size: 18px;
    line-height: 1.7
}

@media only screen and (min-width:768px) and (max-width:1199px) {
    .brandLogo strong {
        font-size: 32px
    }

    .brandLogo span {
        font-size: 22px
    }

    .mainNav .main {
        justify-content: flex-start;
        overflow-x: auto
    }

    .HomeLead .main,
    .NewsLayout,
    .AccountLayout {
        grid-template-columns: 1fr
    }

    .HomeGrid .main {
        grid-template-columns: repeat(2, 1fr)
    }

    .VideoList {
        grid-template-columns: repeat(3, 1fr)
    }

    .AccountSide {
        min-height: auto
    }

    .AccountMenu {
        display: grid;
        grid-template-columns: repeat(4, 1fr)
    }

    .AuthCard {
        width: 92%
    }
}

@media only screen and (max-width:767px) {

    .SiteHeader .topline,
    .headerLinks,
    .mainNav {
        display: none
    }

    .brandBar {
        height: auto;
        padding: 18px 0
    }

    .brandLogo {
        gap: 10px
    }

    .brandLogo img {
        width: 56px;
        height: 56px
    }

    .brandLogo strong {
        font-size: 24px
    }

    .brandLogo span {
        font-size: 16px
    }

    .menu_button {
        display: block
    }

    .navMobile {
        background: var(--header-blue)
    }

    .navMobile a {
        display: block;
        padding: 13px 4%;
        border-top: 1px solid rgba(255, 255, 255, 0.15);
        color: #fff
    }

    .HomeLead .main,
    .HomeGrid .main,
    .NewsLayout,
    .AccountLayout,
    .ProfileGrid {
        grid-template-columns: 1fr
    }

    .HomeHero,
    .HomeHero img {
        min-height: 220px;
        height: 220px
    }

    .HomeTopAd img {
        height: auto
    }

    .HeadlineBox {
        border-left: 0;
        border-top: 1px solid #d9dfe6
    }

    .HomeCard .lead,
    .MediaItem {
        grid-template-columns: 110px 1fr
    }

    .HomeCard .lead img,
    .MediaItem img {
        width: 110px;
        height: 76px
    }

    .HomeBlueAd {
        height: auto;
        min-height: 86px;
        padding: 16px;
        font-size: 24px;
        text-align: center
    }

    .VideoList {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px
    }

    .SiteFooter .friendLinks {
        height: auto;
        padding: 14px 0;
        line-height: 1.8
    }

    .DetailCard,
    .RelatedBox,
    .CommentBox,
    .ReporterCard {
        padding-right: 16px;
        padding-left: 16px
    }

    .DetailTools,
    .PrevNext {
        flex-wrap: wrap;
        gap: 10px
    }

    .LoginModal {
        position: static;
        width: 100%;
        margin: 24px auto;
        transform: none
    }

    .AuthCard,
    .AuthForm {
        width: 100%
    }

    .AuthCard {
        min-height: auto;
        padding: 42px 20px
    }

    .AccountSide,
    .AccountContent {
        min-height: auto
    }

    .AccountMenu {
        display: grid;
        grid-template-columns: repeat(2, 1fr)
    }

    .AccountMenu a {
        padding: 0 14px;
        font-size: 15px
    }

    .Tabs {
        gap: 18px;
        overflow-x: auto
    }

    .DraftSaveBar {
        grid-template-columns: 1fr
    }

    .UserPost {
        padding-right: 18px
    }

    .UserPost .date,
    .UserPost .actions,
    .UserPost .status {
        position: static;
        display: block;
        margin-top: 12px
    }

    .ReporterPhoto {
        width: 78%;
        height: auto;
        max-height: 520px
    }
}

/* Dynamic interaction refinements */
.SvgIcon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: currentColor
}

.SvgIcon svg,
.menuSvg svg,
.LoginModal svg {
    display: block;
    width: 1em;
    height: 1em;
    fill: currentColor
}

.InputBox .SvgIcon {
    flex: 0 0 42px;
    font-size: 21px;
    color: #8a96a3
}

.CheckLine .checkSvg {
    width: 18px;
    height: 18px;
    margin-right: 8px;
    border: 1px solid #b8c0ca;
    color: var(--header-blue);
    font-size: 13px;
    background: #fff
}

.AccountMenu .menuSvg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    color: #7a8795;
    font-size: 18px
}

.AccountMenu a.active .menuSvg,
.AccountMenu a:hover .menuSvg {
    color: var(--header-blue)
}

.HomeHeroLink,
.thumbLink {
    display: block;
    color: inherit
}

.HomeHeroLink {
    position: relative;
    height: 350px;
    overflow: hidden
}

.HomeHeroLink img {
    display: block
}

.HomeHeroLink:hover .caption,
.HomeCard h3 a:hover,
.squareList li a:hover,
.ArticleItem h2 a:hover,
.SideBox li a:hover,
.RelatedBox li a:hover {
    color: var(--header-blue)
}

.HomeHero.is-switching .HomeHeroLink {
    opacity: .78;
    transition: opacity .18s ease
}

.HomeHero .arrow {
    z-index: 4;
    cursor: pointer;
    user-select: none;
    transition: background-color .2s ease, color .2s ease
}

.HomeHero .arrow:hover {
    background: rgba(0, 0, 0, .4);
    color: #fff
}

.HomeBlueAd {
    padding: 0
}

.HomeBlueAd a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0 18px;
    color: inherit;
    text-align: center
}

.thumbLink {
    overflow: hidden
}

.thumbLink img,
.MediaItem .thumbLink img {
    display: block
}

.HomeCard .lead .thumbLink {
    width: 150px;
    height: 96px
}

.MediaItem .thumbLink {
    width: 150px;
    height: 100px
}

.HomeCard .lead .thumbLink img,
.MediaItem .thumbLink img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.CommentBox.has-login-modal {
    position: relative
}

.CommentBox.has-login-modal .LoginModal {
    box-sizing: border-box;
    position: absolute;
    top: 118px;
    left: 50%;
    bottom: auto;
    z-index: 3;
    width: 360px;
    min-height: 210px;
    padding: 34px 36px 26px;
    transform: translateX(-50%);
    border: 1px solid #dbe6f2;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(31, 64, 102, .13);
    color: #333;
    text-align: center
}

.CommentBox.has-login-modal .LoginModal .close {
    top: 12px;
    right: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: #8b99a8;
    font-size: 16px;
    background: #f4f7fb;
    transition: color .2s ease, background-color .2s ease
}

.CommentBox.has-login-modal .LoginModal .close:hover {
    color: var(--header-blue);
    background: #e8f0fa
}

.CommentBox.has-login-modal .LoginModal .avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    margin: 0 auto 18px;
    border: 1px solid #d8e4f1;
    border-radius: 50%;
    color: var(--header-blue);
    font-size: 28px;
    background: #f4f8fd
}

.CommentBox.has-login-modal .LoginModal p {
    margin: 0;
    color: #4a5563;
    font-size: 16px;
    line-height: 1.6
}

.CommentBox.has-login-modal .LoginModal .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 106px;
    height: 36px;
    margin-top: 16px;
    border-radius: 3px;
    color: #fff;
    font-size: 15px
}

.CommentBox.has-login-modal .LoginModal .SwitchAuth {
    margin-top: 12px;
    color: #7a8795;
    font-size: 14px
}

.CommentBox.has-login-modal .LoginModal .SwitchAuth a {
    color: var(--header-blue)
}

@media only screen and (max-width:767px) {
    .HomeHeroLink {
        height: 220px
    }

    .HomeCard .lead .thumbLink,
    .MediaItem .thumbLink {
        width: 110px;
        height: 76px
    }

    .HomeBlueAd a {
        padding: 16px
    }

    .CommentBox.has-login-modal {
        min-height: auto
    }

    .CommentBox.has-login-modal .LoginModal {
        position: static;
        width: 100%;
        margin: 22px auto 0;
        transform: none
    }
}

.HeadlineBox p{
    position: relative;
    padding-right: 6em;
display: -webkit-box;
line-height: 1.5;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
    
}

.HomeCard .lead p{
display: -webkit-box;
    line-height: 1.3;
    -webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
.HeadlineBox h3,
.HomeCard h3,
.HomeCard .squareList li,
.VideoList p,
.ArticleItem h2,
.ArticleItem p,
.SideBox li,
.RelatedBox li {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.HeadlineBox h3 a,
.HeadlineBox p a,
.HomeCard h3 a,
.HomeCard .lead p a,
.squareList li a,
.VideoList a,
.ArticleItem h2 a,
.ArticleItem p a,
.SideBox li a,
.RelatedBox li a {
    display: block;
    overflow: hidden;
    color: inherit;
    text-overflow: ellipsis;
    white-space: nowrap
}

.ArticleItem .date {
    float: none;
    display: inline;
    margin-left: 18px
}

.LoginOverlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0, 0, 0, .08)
}

.LoginOverlay .LoginModal {
    box-sizing: border-box;
    position: relative;
    left: auto;
    bottom: auto;
    width: 360px;
    min-height: 240px;
    padding: 34px 34px 28px;
    transform: none;
    border: 1px solid #d2dfed;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 18px 46px rgba(30, 64, 100, .16);
    color: #24364f;
    text-align: center
}

.LoginOverlay .LoginModal .close {
    position: absolute;
    top: 12px;
    right: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 2px solid #7e8790;
    border-radius: 50%;
    color: #7e8790;
    font-size: 16px;
    line-height: 1;
    background: #fff;
    transition: color .2s ease, border-color .2s ease, background-color .2s ease
}

.LoginOverlay .LoginModal .close:hover {
    border-color: var(--header-blue);
    color: var(--header-blue);
    background: #f3f8ff
}

.LoginOverlay .LoginModal .avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    margin: 0 auto 18px;
    border: 1px solid #d8e4f1;
    border-radius: 50%;
    color: var(--header-blue);
    font-size: 28px;
    background: #f4f8fd
}

.LoginOverlay .LoginModal p {
    margin: 0;
    color: #24364f;
    font-size: 16px;
    line-height: 1.6
}

.LoginOverlay .LoginModal .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 106px;
    height: 36px;
    margin-top: 16px;
    border: 1px solid var(--header-blue);
    border-radius: 3px;
    color: #fff;
    font-size: 15px;
    line-height: 1;
    background: var(--header-blue)
}

.LoginOverlay .LoginModal .btn:hover {
    background: #28598f
}

.LoginOverlay .LoginModal .SwitchAuth {
    margin-top: 12px;
    color: #7a8795;
    font-size: 14px
}

.LoginOverlay .LoginModal .SwitchAuth a {
    display: inline;
    color: var(--header-blue);
    font-weight: 600
}

.PolicyLink {
    cursor: pointer
}

.PolicyOverlay {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0, 0, 0, .12)
}

.PolicyModal {
    box-sizing: border-box;
    position: relative;
    width: 430px;
    max-width: 100%;
    padding: 34px 38px 30px;
    border: 1px solid #d2dfed;
    border-radius: 4px;
    color: #24364f;
    background: #fff;
    box-shadow: 0 18px 46px rgba(30, 64, 100, .16);
    text-align: left
}

.PolicyModal .close {
    position: absolute;
    top: 12px;
    right: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 2px solid #7e8790;
    border-radius: 50%;
    color: #7e8790;
    font-size: 16px;
    background: #fff;
    transition: color .2s ease, border-color .2s ease, background-color .2s ease
}

.PolicyModal .close svg {
    width: 1em;
    height: 1em;
    fill: currentColor
}

.PolicyModal .close:hover {
    border-color: var(--header-blue);
    color: var(--header-blue);
    background: #f3f8ff
}

.PolicyModal h2 {
    margin-bottom: 18px;
    padding-right: 32px;
    color: var(--header-blue);
    font-size: 22px;
    font-weight: 500
}

.PolicyModal p {
    color: #4a5563;
    font-size: 15px;
    line-height: 1.8
}

.PolicyConfirm {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 106px;
    height: 36px;
    margin: 22px auto 0;
    border: 1px solid var(--header-blue);
    border-radius: 3px;
    color: #fff;
    font-size: 15px;
    background: var(--header-blue);
    transition: background-color .2s ease
}

.PolicyConfirm:hover {
    background: #28598f
}

@media only screen and (max-width:767px) {
    .LoginOverlay {
        padding: 18px
    }

    .LoginOverlay .LoginModal {
        width: min(100%, 360px)
    }
}

@media only screen and (min-width:768px) and (max-width:1199px) {
    .ReaderLayout {
        grid-template-columns: 1fr
    }
}

@media only screen and (max-width:767px) {
    .AccountTitleBar {
        align-items: flex-start;
        flex-direction: column
    }

    .PublishGrid,
    .ReaderLayout {
        grid-template-columns: 1fr
    }

    .PublishActions {
        justify-content: flex-start;
        flex-wrap: wrap
    }

    .ReaderPanel {
        padding-right: 16px;
        padding-left: 16px
    }

    .ReaderPanel .PanelTitle {
        margin-right: -16px;
        margin-left: -16px
    }
}

.Modal_wrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
    z-index: 9999
}

.Modal_mask {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .5)
}

.Modal_content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 400px;
    max-width: 90%;
    padding: 24px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .2)
}

.Modal_content h3 {
    margin: 0 0 20px;
    font-size: 18px;
    color: #333
}

.Modal_footer {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 20px
}

.Btn_cancel {
    padding: 8px 20px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff;
    color: #666;
    cursor: pointer
}

.Btn_submit {
    padding: 8px 20px;
    border: none;
    border-radius: 4px;
    background: var(--header-blue);
    color: #fff;
    cursor: pointer
}
