:root{
    --cms-blue:#1768e7;
    --cms-text:#14213d;
    --cms-muted:#6f7d92;
    --cms-line:#e0e7f1;
    --cms-bg:#f7f9fc;
}

.cms-page{
    margin:0;
    color:var(--cms-text);
    background:#fff;
}

.cms-hero{
    padding:68px 0 48px;
    background:
        radial-gradient(circle at 86% 14%,rgba(45,126,242,.14),transparent 28%),
        linear-gradient(180deg,#f7fbff,#fff);
}

.cms-kicker{
    margin:0 0 11px;
    color:var(--cms-blue);
    font-size:10px;
    font-weight:900;
    letter-spacing:.1em;
}

.cms-hero h1{
    margin:0;
    font-size:clamp(40px,5vw,58px);
    line-height:1.08;
    letter-spacing:-.05em;
}

.cms-hero p{
    max-width:700px;
    margin:16px 0 0;
    color:var(--cms-muted);
    font-size:14px;
    line-height:1.8;
}

.cms-toolbar{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:24px;
}

.cms-toolbar a,
.cms-toolbar form{
    min-height:39px;
}

.cms-toolbar a{
    display:inline-flex;
    align-items:center;
    padding:0 13px;
    border:1px solid #d9e3ef;
    border-radius:9px;
    color:#53677f;
    background:#fff;
    font-size:10px;
    font-weight:850;
}

.cms-search-form{
    display:flex;
    gap:7px;
}

.cms-search-form input{
    min-width:220px;
    height:39px;
    padding:0 11px;
    border:1px solid #cfdaE8;
    border-radius:9px;
    outline:none;
}

.cms-search-form button{
    height:39px;
    padding:0 13px;
    border:0;
    border-radius:9px;
    color:#fff;
    background:var(--cms-blue);
    font-size:10px;
    font-weight:850;
    cursor:pointer;
}

.cms-section{
    padding:60px 0 84px;
}

.cms-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:15px;
}

.cms-public-card{
    min-height:245px;
    display:flex;
    flex-direction:column;
    padding:22px;
    border:1px solid var(--cms-line);
    border-radius:17px;
    background:#fff;
    box-shadow:0 8px 28px rgba(29,54,92,.04);
}

.cms-public-card.pinned{
    border-color:#bdd5f3;
    background:linear-gradient(145deg,#f7fbff,#fff);
}

.cms-type{
    width:max-content;
    padding:5px 8px;
    border-radius:999px;
    color:#326299;
    background:#edf5ff;
    font-size:8px;
    font-weight:900;
}

.cms-type.update{
    color:#087b51;
    background:#ebf9f3;
}

.cms-type.guide{
    color:#7a5aaf;
    background:#f2edfb;
}

.cms-public-card h2{
    margin:15px 0 0;
    font-size:19px;
    line-height:1.35;
    letter-spacing:-.035em;
}

.cms-public-card p{
    margin:10px 0 0;
    color:var(--cms-muted);
    font-size:11px;
    line-height:1.75;
}

.cms-public-card footer{
    margin-top:auto;
    padding-top:18px;
    display:flex;
    justify-content:space-between;
    gap:12px;
    color:#8b97a8;
    font-size:9px;
}

.cms-public-card footer strong{
    color:var(--cms-blue);
}

.cms-empty{
    padding:44px;
    border:1px dashed #ccd8e7;
    border-radius:16px;
    color:#7a8799;
    background:#fafcff;
    text-align:center;
    font-size:12px;
    line-height:1.8;
}

.article-wrap{
    max-width:840px;
    margin:0 auto;
}

.article-head{
    padding-bottom:26px;
    border-bottom:1px solid var(--cms-line);
}

.article-head h1{
    margin:13px 0 0;
    font-size:clamp(32px,5vw,48px);
    line-height:1.18;
    letter-spacing:-.05em;
}

.article-meta{
    margin-top:14px;
    color:#8491a4;
    font-size:10px;
}

.article-summary{
    margin-top:22px;
    padding:17px 18px;
    border-left:3px solid var(--cms-blue);
    color:#53657d;
    background:#f6f9fd;
    font-size:13px;
    line-height:1.75;
}

.article-body{
    padding:34px 0 15px;
    color:#34465f;
    font-size:14px;
    line-height:2;
    white-space:pre-wrap;
    word-break:break-word;
}

.article-bottom{
    display:flex;
    gap:8px;
    padding-top:22px;
    border-top:1px solid var(--cms-line);
}

.article-bottom a{
    min-height:40px;
    display:inline-flex;
    align-items:center;
    padding:0 13px;
    border-radius:9px;
    color:#fff;
    background:var(--cms-blue);
    font-size:10px;
    font-weight:850;
}

.search-result-groups{
    display:grid;
    gap:24px;
}

.search-group h2{
    margin:0 0 12px;
    font-size:20px;
}

.search-results{
    display:grid;
    gap:8px;
}

.search-result{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:13px;
    align-items:center;
    padding:15px;
    border:1px solid var(--cms-line);
    border-radius:12px;
    background:#fff;
}

.search-result-type{
    min-width:62px;
    padding:5px 7px;
    border-radius:999px;
    color:#42678f;
    background:#edf3fa;
    text-align:center;
    font-size:8px;
    font-weight:900;
}

.search-result strong,
.search-result small{
    display:block;
}

.search-result strong{
    font-size:12px;
}

.search-result small{
    margin-top:4px;
    color:#8290a4;
    font-size:9px;
    line-height:1.5;
}

.search-result > span:last-child{
    color:var(--cms-blue);
    font-size:10px;
    font-weight:850;
}

.factedu-home-feed{
    padding:72px 0;
    border-top:1px solid #e8eef6;
    background:#f7f9fc;
}

.factedu-home-feed-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    margin-bottom:20px;
}

.factedu-home-feed-head h2{
    margin:0;
    color:#14213d;
    font-size:29px;
    letter-spacing:-.04em;
}

.factedu-home-feed-head p{
    margin:5px 0 0;
    color:#7c899d;
    font-size:11px;
}

.factedu-home-feed-head a{
    color:#1768e7;
    font-size:10px;
    font-weight:850;
}

.factedu-home-feed-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:13px;
}

.factedu-home-feed-card{
    min-height:175px;
    display:flex;
    flex-direction:column;
    padding:18px;
    border:1px solid #dfe7f1;
    border-radius:14px;
    background:#fff;
}

.factedu-home-feed-card span{
    color:#1768e7;
    font-size:8px;
    font-weight:900;
}

.factedu-home-feed-card strong{
    margin-top:11px;
    color:#17243c;
    font-size:15px;
    line-height:1.45;
}

.factedu-home-feed-card p{
    margin:8px 0 0;
    color:#77859a;
    font-size:10px;
    line-height:1.65;
}

.factedu-home-feed-card small{
    margin-top:auto;
    padding-top:13px;
    color:#98a3b1;
    font-size:8px;
}

@media(max-width:850px){
    .cms-grid,
    .factedu-home-feed-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:600px){
    .cms-hero{
        padding:48px 0 40px;
    }

    .cms-search-form{
        width:100%;
    }

    .cms-search-form input{
        min-width:0;
        flex:1;
    }

    .search-result{
        grid-template-columns:1fr;
    }

    .factedu-home-feed-head{
        align-items:flex-start;
        flex-direction:column;
    }
}
