.cms-inline-image-block,
.cms-inline-image-figure {
    display: block;
    max-width: 100%;
}

.cms-inline-image-block {
    margin: 0;
}

.cms-inline-image-figure {
    margin: 0;
}

.cms-inline-image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

.cms-inline-image-figure .cms-inline-image-caption {
    margin-top: 10px;
    color: #64748b;
    font-size: 13px;
    line-height: 1.7;
    text-align: center;
}

.cms-inline-image-block--width-100,
.cms-inline-image-figure--width-100 {
    width: 100%;
}

.cms-inline-image-block--width-80,
.cms-inline-image-figure--width-80 {
    width: 80%;
}

.cms-inline-image-block--width-60,
.cms-inline-image-figure--width-60 {
    width: 60%;
}

.cms-inline-image-block--width-40,
.cms-inline-image-figure--width-40 {
    width: 40%;
}

.cms-inline-image-block--width-auto,
.cms-inline-image-figure--width-auto {
    width: auto;
}

.cms-inline-image-block--align-center,
.cms-inline-image-figure--align-center {
    margin-left: auto;
    margin-right: auto;
}

.cms-inline-image-block--align-left,
.cms-inline-image-figure--align-left {
    margin-left: 0;
    margin-right: auto;
}

.cms-inline-image-block--align-right,
.cms-inline-image-figure--align-right {
    margin-left: auto;
    margin-right: 0;
}

.cms-inline-image-block--space-12,
.cms-inline-image-figure--space-12 {
    margin-bottom: 12px;
}

.cms-inline-image-block--space-20,
.cms-inline-image-figure--space-20 {
    margin-bottom: 20px;
}

.cms-inline-image-block--space-32,
.cms-inline-image-figure--space-32 {
    margin-bottom: 32px;
}

.cms-inline-image-block--radius-0 .cms-inline-image,
.cms-inline-image-figure--radius-0 .cms-inline-image {
    border-radius: 0;
}

.cms-inline-image-block--radius-12 .cms-inline-image,
.cms-inline-image-figure--radius-12 .cms-inline-image {
    border-radius: 12px;
}

.cms-inline-image-block--radius-20 .cms-inline-image,
.cms-inline-image-figure--radius-20 .cms-inline-image {
    border-radius: 20px;
}

.cms-inline-image-block--radius-999 .cms-inline-image,
.cms-inline-image-figure--radius-999 .cms-inline-image {
    border-radius: 999px;
}

@media (max-width: 768px) {
    .cms-inline-image-block--width-80,
    .cms-inline-image-figure--width-80,
    .cms-inline-image-block--width-60,
    .cms-inline-image-figure--width-60,
    .cms-inline-image-block--width-40,
    .cms-inline-image-figure--width-40 {
        width: 100%;
    }
}

.cms-article-copy {
    font-size: 15px;
    line-height: 1.8;
}

.cms-article-paragraph {
    margin: 0 0 1em;
}

.cms-article-paragraph--text {
    color: #1f2937;
    letter-spacing: 0.01em;
    text-indent: 2em;
}

.cms-article-paragraph--lead {
    text-indent: 2em;
}

.cms-article-paragraph--before-media {
    margin-bottom: 0.55em;
}

.cms-article-paragraph--media {
    display: flow-root;
    margin: 0;
    padding: 18px 0 22px;
    font-size: 0;
    line-height: 0;
    letter-spacing: 0;
    text-indent: 0;
}

.cms-article-paragraph--footer-date,
.cms-article-paragraph--footer-meta {
    text-indent: 0;
    text-align: right;
    line-height: 1.8;
    letter-spacing: 0.01em;
    max-width: 100%;
}

.cms-article-paragraph--footer-date {
    margin: 1.8em 0 0.35em auto;
    color: #64748b;
    font-size: 13px;
}

.cms-article-paragraph--footer-meta {
    margin: 0.35em 0 0 auto;
    color: #475569;
    font-size: 14px;
}

.cms-article-heading {
    margin: 1.6em 0 0.8em;
    color: #111827;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: 0.01em;
}

.cms-article-heading--h1 { font-size: 24px; }
.cms-article-heading--h2 { font-size: 20px; }
.cms-article-heading--h3 { font-size: 17px; }
.cms-article-heading--h4 { font-size: 15px; }

.cms-article-list {
    margin: 0 0 1.1em 1.35em;
    padding: 0;
}

.cms-article-list-item {
    margin-bottom: 0.45em;
    color: #1f2937;
}

blockquote,
.cms-article-blockquote {
    position: relative;
    margin: 1.35em 0;
    padding: 1.05em 1.25em 1.05em 1.55em;
    border: 1px solid #dbe7f5;
    border-left: 5px solid #4f8dd9;
    border-radius: 16px;
    background:
        linear-gradient(135deg, rgba(79, 141, 217, 0.13) 0%, rgba(255, 255, 255, 0.92) 46%, rgba(240, 247, 255, 0.82) 100%);
    box-shadow: 0 12px 30px rgba(30, 64, 120, 0.08);
    color: #2f4158;
    text-indent: 0;
}

blockquote::before,
.cms-article-blockquote::before {
    content: "\201C";
    position: absolute;
    top: -0.22em;
    left: 0.18em;
    color: rgba(79, 141, 217, 0.22);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 4.8em;
    font-weight: 700;
    line-height: 1;
    pointer-events: none;
}

blockquote p,
.cms-article-blockquote p,
.cms-article-blockquote .cms-article-paragraph {
    position: relative;
    margin: 0 0 0.7em;
    color: inherit;
    line-height: 1.85;
    text-indent: 0;
}

blockquote p:last-child,
.cms-article-blockquote p:last-child,
.cms-article-blockquote .cms-article-paragraph:last-child {
    margin-bottom: 0;
}

.cms-article-table {
    width: 100%;
    margin: 1.2em 0;
    border-collapse: collapse;
    overflow: hidden;
}

.cms-article-table-cell {
    border: 1px solid #e5e7eb;
    padding: 10px 12px;
    text-indent: 0;
}

.cms-article-table-cell--head {
    background: #f8fafc;
    color: #0f172a;
    font-weight: 700;
}

.cms-article-image {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    border-radius: 14px;
}

.cms-article-paragraph--media > a {
    display: block;
    max-width: 100%;
    text-decoration: none;
}

p[style*="text-align: left"] > .cms-article-image,
p[style*="text-align:left"] > .cms-article-image,
p[style*="text-align: left"] > a > .cms-article-image,
p[style*="text-align:left"] > a > .cms-article-image {
    margin-left: 0;
    margin-right: auto;
}

p[style*="text-align: right"] > .cms-article-image,
p[style*="text-align:right"] > .cms-article-image,
p[style*="text-align: right"] > a > .cms-article-image,
p[style*="text-align:right"] > a > .cms-article-image {
    margin-left: auto;
    margin-right: 0;
}

p[style*="text-align: center"] > .cms-article-image,
p[style*="text-align:center"] > .cms-article-image,
p[style*="text-align: center"] > a > .cms-article-image,
p[style*="text-align:center"] > a > .cms-article-image {
    margin-left: auto;
    margin-right: auto;
}

.cms-article-image--default-width {
    width: 80%;
}

.cms-article-image--offset-top {
    margin-top: 1em;
}

.cms-article-video--offset-top {
    margin-top: 0.9em;
}

.cms-article-figure {
    display: flow-root;
    margin: 0;
    padding: 18px 0 22px;
    text-align: center;
}

.cms-article-figure-caption {
    margin-top: 0.7em;
    color: #64748b;
    text-indent: 0;
}

.bilibili-video-embed {
    margin: 20px auto;
    text-align: center;
}

.bilibili-video-embed--align-left {
    margin: 20px auto 20px 0;
    text-align: left;
}

.bilibili-video-embed--align-right {
    margin: 20px 0 20px auto;
    text-align: right;
}

.bilibili-video-embed__frame {
    display: block;
    max-width: 100%;
    margin: 0 auto;
    border: 0;
    border-radius: 16px;
    overflow: hidden;
    background: #000;
}

.bilibili-video-embed__frame--align-left {
    margin-left: 0;
    margin-right: auto;
}

.bilibili-video-embed__frame--align-right {
    margin-left: auto;
    margin-right: 0;
}

.bilibili-video-embed__frame--align-center {
    margin-left: auto;
    margin-right: auto;
}

body:not(.mce-content-body) .cms-file-card,
body:not(.mce-content-body) .cms-external-card {
    display: inline-grid;
    grid-template-columns: 50px minmax(120px, 1fr) auto;
    gap: 13px;
    align-items: center;
    width: fit-content;
    max-width: min(620px, 100%);
    min-height: 74px;
    margin: 16px 12px 16px 0;
    padding: 12px 14px 12px 12px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 20px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)),
        radial-gradient(circle at 16px 16px, rgba(37, 99, 235, 0.10), transparent 42%);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.07);
    color: #0f172a;
    vertical-align: top;
    text-decoration: none;
    text-indent: 0;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

body:not(.mce-content-body) .cms-file-card:hover,
body:not(.mce-content-body) .cms-external-card:hover {
    border-color: rgba(37, 99, 235, 0.34);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.11);
    transform: translateY(-3px);
}

body:not(.mce-content-body) .cms-file-card__icon,
body:not(.mce-content-body) .cms-external-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 16px;
    background:
        linear-gradient(135deg, rgba(37, 99, 235, 0.96), rgba(96, 165, 250, 0.96)),
        radial-gradient(circle at 24px 20px, rgba(255, 255, 255, 0.30), transparent 32%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 10px 22px rgba(37, 99, 235, 0.18);
    color: #fff;
}

body:not(.mce-content-body) .cms-card-icon-svg {
    display: block;
    width: 30px;
    height: 30px;
    color: currentColor;
    stroke: currentColor;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body:not(.mce-content-body) .cms-card-icon-svg path {
    vector-effect: non-scaling-stroke;
}

body:not(.mce-content-body) .cms-file-card--pdf .cms-file-card__icon {
    background: linear-gradient(135deg, #dc2626, #fb7185);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34), 0 10px 22px rgba(220, 38, 38, 0.18);
}

body:not(.mce-content-body) .cms-file-card--word .cms-file-card__icon {
    background: linear-gradient(135deg, #2563eb, #60a5fa);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34), 0 10px 22px rgba(37, 99, 235, 0.18);
}

body:not(.mce-content-body) .cms-file-card--excel .cms-file-card__icon {
    background: linear-gradient(135deg, #059669, #34d399);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34), 0 10px 22px rgba(5, 150, 105, 0.18);
}

body:not(.mce-content-body) .cms-file-card--ppt .cms-file-card__icon {
    background: linear-gradient(135deg, #ea580c, #fb923c);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34), 0 10px 22px rgba(234, 88, 12, 0.18);
}

body:not(.mce-content-body) .cms-file-card--archive .cms-file-card__icon {
    background: linear-gradient(135deg, #7c3aed, #a78bfa);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34), 0 10px 22px rgba(124, 58, 237, 0.18);
}

body:not(.mce-content-body) .cms-external-card__icon {
    background:
        linear-gradient(135deg, #111827, #64748b),
        radial-gradient(circle at 24px 20px, rgba(255, 255, 255, 0.24), transparent 32%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.30), 0 10px 22px rgba(15, 23, 42, 0.16);
}

body:not(.mce-content-body) .cms-file-card__body,
body:not(.mce-content-body) .cms-external-card__body {
    display: block;
    width: 100%;
    min-width: 0;
}

body:not(.mce-content-body) .cms-file-card__title,
body:not(.mce-content-body) .cms-external-card__title {
    display: block;
    overflow: hidden;
    color: #0f172a;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

body:not(.mce-content-body) .cms-file-card__meta,
body:not(.mce-content-body) .cms-external-card__meta {
    display: block;
    margin-top: 6px;
    overflow: hidden;
    color: #64748b;
    font-size: 12px;
    line-height: 1.5;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body:not(.mce-content-body) .cms-file-card__action,
body:not(.mce-content-body) .cms-external-card__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    padding: 8px 10px;
    border-radius: 14px;
    background: rgba(239, 246, 255, 0.92);
    color: #1e40af;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

body:not(.mce-content-body) .cms-file-card__action::after,
body:not(.mce-content-body) .cms-external-card__action::after {
    content: "\2192";
    margin-left: 6px;
    font-size: 13px;
    line-height: 1;
}

body:not(.mce-content-body) .cms-external-card__action {
    background: rgba(241, 245, 249, 0.95);
    color: #334155;
}

body:not(.mce-content-body) .cms-file-card--external {
    border-color: rgba(245, 158, 11, 0.24);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 251, 235, 0.86)),
        radial-gradient(circle at 16px 16px, rgba(245, 158, 11, 0.12), transparent 42%);
}

body:not(.mce-content-body) .cms-external-card {
    border-color: rgba(15, 23, 42, 0.13);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)),
        radial-gradient(circle at 16px 16px, rgba(15, 23, 42, 0.09), transparent 42%);
}

@media (max-width: 640px) {
    body:not(.mce-content-body) .cms-file-card,
    body:not(.mce-content-body) .cms-external-card {
        display: grid;
        grid-template-columns: 46px minmax(0, 1fr);
        width: 100%;
        min-height: 72px;
        margin-right: 0;
        padding: 12px;
    }

    body:not(.mce-content-body) .cms-file-card__icon,
    body:not(.mce-content-body) .cms-external-card__icon {
        width: 46px;
        height: 46px;
    }

    body:not(.mce-content-body) .cms-file-card__action,
    body:not(.mce-content-body) .cms-external-card__action {
        grid-column: 1 / -1;
        width: 100%;
    }
}

body:not(.mce-content-body) .cms-external-tip-backdrop {
    position: fixed;
    inset: 0;
    z-index: 9998;
    background: rgba(15, 23, 42, 0.16);
    backdrop-filter: blur(2px);
}

body:not(.mce-content-body) .cms-external-tip {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 9999;
    width: min(340px, calc(100vw - 34px));
    padding: 16px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.22);
    color: #0f172a;
    transform: translate(-50%, -50%);
    backdrop-filter: blur(10px);
}

body:not(.mce-content-body) .cms-external-tip__title {
    margin: 0;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.45;
}

body:not(.mce-content-body) .cms-external-tip__desc {
    margin: 5px 0 12px;
    color: #64748b;
    font-size: 13px;
    line-height: 1.55;
}

body:not(.mce-content-body) .cms-external-tip__actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

body:not(.mce-content-body) .cms-external-tip__button {
    border: 0;
    border-radius: 999px;
    padding: 7px 12px;
    background: #f1f5f9;
    color: #334155;
    cursor: pointer;
    font-size: 13px;
    font-weight: 750;
}

body:not(.mce-content-body) .cms-external-tip__button--primary {
    background: #0f172a;
    color: #fff;
}

.bilibili-video-embed__frame--width-100pct { width: 100%; }
.bilibili-video-embed__frame--width-90pct { width: 90%; }
.bilibili-video-embed__frame--width-80pct { width: 80%; }
.bilibili-video-embed__frame--width-70pct { width: 70%; }
.bilibili-video-embed__frame--width-60pct { width: 60%; }
.bilibili-video-embed__frame--width-50pct { width: 50%; }
.bilibili-video-embed__frame--width-40pct { width: 40%; }
.bilibili-video-embed__frame--width-30pct { width: 30%; }
.bilibili-video-embed__frame--width-100vw { width: 100vw; }
.bilibili-video-embed__frame--width-90vw { width: 90vw; }
.bilibili-video-embed__frame--width-80vw { width: 80vw; }
.bilibili-video-embed__frame--width-100rem { width: 100rem; }
.bilibili-video-embed__frame--width-90rem { width: 90rem; }
.bilibili-video-embed__frame--width-80rem { width: 80rem; }
.bilibili-video-embed__frame--width-100em { width: 100em; }
.bilibili-video-embed__frame--width-90em { width: 90em; }
.bilibili-video-embed__frame--width-80em { width: 80em; }
.bilibili-video-embed__frame--width-1200px { width: 1200px; }
.bilibili-video-embed__frame--width-1000px { width: 1000px; }
.bilibili-video-embed__frame--width-900px { width: 900px; }
.bilibili-video-embed__frame--width-800px { width: 800px; }
.bilibili-video-embed__frame--width-720px { width: 720px; }
.bilibili-video-embed__frame--width-640px { width: 640px; }
.bilibili-video-embed__frame--width-600px { width: 600px; }
.bilibili-video-embed__frame--width-560px { width: 560px; }
.bilibili-video-embed__frame--width-540px { width: 540px; }
.bilibili-video-embed__frame--width-500px { width: 500px; }
.bilibili-video-embed__frame--width-480px { width: 480px; }
.bilibili-video-embed__frame--width-450px { width: 450px; }
.bilibili-video-embed__frame--width-420px { width: 420px; }
.bilibili-video-embed__frame--width-400px { width: 400px; }
.bilibili-video-embed__frame--width-360px { width: 360px; }
.bilibili-video-embed__frame--width-320px { width: 320px; }
.bilibili-video-embed__frame--width-300px { width: 300px; }
.bilibili-video-embed__frame--width-280px { width: 280px; }
.bilibili-video-embed__frame--width-260px { width: 260px; }
.bilibili-video-embed__frame--width-240px { width: 240px; }
.bilibili-video-embed__frame--width-220px { width: 220px; }
.bilibili-video-embed__frame--width-200px { width: 200px; }
.bilibili-video-embed__frame--width-180px { width: 180px; }
.bilibili-video-embed__frame--width-160px { width: 160px; }
.bilibili-video-embed__frame--width-140px { width: 140px; }
.bilibili-video-embed__frame--width-120px { width: 120px; }

.bilibili-video-embed__frame--height-600px { height: 600px; }
.bilibili-video-embed__frame--height-560px { height: 560px; }
.bilibili-video-embed__frame--height-540px { height: 540px; }
.bilibili-video-embed__frame--height-520px { height: 520px; }
.bilibili-video-embed__frame--height-500px { height: 500px; }
.bilibili-video-embed__frame--height-480px { height: 480px; }
.bilibili-video-embed__frame--height-450px { height: 450px; }
.bilibili-video-embed__frame--height-420px { height: 420px; }
.bilibili-video-embed__frame--height-400px { height: 400px; }
.bilibili-video-embed__frame--height-360px { height: 360px; }
.bilibili-video-embed__frame--height-320px { height: 320px; }
.bilibili-video-embed__frame--height-300px { height: 300px; }
.bilibili-video-embed__frame--height-280px { height: 280px; }
.bilibili-video-embed__frame--height-260px { height: 260px; }
.bilibili-video-embed__frame--height-240px { height: 240px; }
.bilibili-video-embed__frame--height-220px { height: 220px; }
.bilibili-video-embed__frame--height-200px { height: 200px; }
.bilibili-video-embed__frame--height-180px { height: 180px; }
.bilibili-video-embed__frame--height-160px { height: 160px; }
.bilibili-video-embed__frame--height-140px { height: 140px; }
.bilibili-video-embed__frame--height-120px { height: 120px; }
.bilibili-video-embed__frame--height-100vh { height: 100vh; }
.bilibili-video-embed__frame--height-90vh { height: 90vh; }
.bilibili-video-embed__frame--height-80vh { height: 80vh; }
.bilibili-video-embed__frame--height-100rem { height: 100rem; }
.bilibili-video-embed__frame--height-90rem { height: 90rem; }
.bilibili-video-embed__frame--height-80rem { height: 80rem; }
.bilibili-video-embed__frame--height-100em { height: 100em; }
.bilibili-video-embed__frame--height-90em { height: 90em; }
.bilibili-video-embed__frame--height-80em { height: 80em; }

.legacy-swf-file {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    margin: 22px 0;
    padding: 18px 20px;
    border: 1px solid rgba(233, 180, 63, 0.38);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(255, 251, 235, 0.98), rgba(255, 247, 237, 0.9)),
        radial-gradient(circle at 15% 10%, rgba(251, 191, 36, 0.22), transparent 32%);
    box-shadow: 0 18px 42px rgba(146, 64, 14, 0.1);
    color: #713f12;
}

.legacy-swf-file__icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: linear-gradient(135deg, #f59e0b, #ef4444);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.06em;
    box-shadow: 0 12px 26px rgba(239, 68, 68, 0.28);
}

.legacy-swf-file__body {
    min-width: 0;
}

.legacy-swf-file__title {
    margin: 0 0 5px;
    color: #431407;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
}

.legacy-swf-file__desc {
    margin: 0 0 12px;
    color: #92400e;
    font-size: 14px;
    line-height: 1.75;
}

.legacy-swf-file__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid rgba(234, 88, 12, 0.24);
    border-radius: 999px;
    background: linear-gradient(135deg, #fff7ed, #ffedd5);
    color: #c2410c;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(234, 88, 12, 0.12);
}

.legacy-swf-file__link:hover {
    color: #9a3412;
    background: linear-gradient(135deg, #ffedd5, #fed7aa);
    text-decoration: none;
}

@media (max-width: 640px) {
    .legacy-swf-file {
        gap: 12px;
        padding: 16px;
        border-radius: 16px;
    }

    .legacy-swf-file__icon {
        width: 44px;
        height: 44px;
        border-radius: 14px;
        font-size: 12px;
    }
}
