.migration-banner{position:relative;margin:1rem;border-radius:1rem;overflow:hidden;isolation:isolate;background:#2a2544;height:220px}
.migration-banner-home{height:310px}
.migration-banner img{width:100%;height:100%;object-fit:cover;margin:0}
.migration-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 20%,rgba(15,12,30,.72));z-index:0}
.migration-banner figcaption{position:absolute;left:2rem;bottom:1.6rem;right:2rem;color:white;z-index:1}
.migration-banner h1{font-size:clamp(1.8rem,4vw,3.1rem);line-height:1.2;font-weight:750;margin:0;text-shadow:0 2px 18px #17102655}
.migration-banner p{margin:.7rem 0 0;font-size:1rem}
.migration-topic-nav{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin:1.3rem 1.2rem 1.7rem;justify-content:center;font-size:.95rem}
.migration-topic-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.dream-grid{opacity:1!important}
.dream-summary{position:relative;isolation:isolate}
.dream-summary .card-body{min-width:0}
.dream-summary .card-title,.dream-summary .card-title a,.dream-summary .dream-card-summary{min-width:0;overflow-wrap:anywhere;word-break:normal}
.dream-summary .dream-card-link::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.dream-summary .dream-card-summary a,.dream-summary .prose a{position:relative;z-index:2}
.dream-summary .dream-card-link:focus-visible::after{outline:2px solid currentColor;outline-offset:3px}
.dream-column .card figure img{width:100%;aspect-ratio:16/9;object-fit:cover}
.migration-taxonomies{padding:1.4rem 0;margin-top:2rem;border-top:1px solid color-mix(in srgb,currentColor 15%,transparent);font-size:.9rem}
.migration-taxonomies>div{display:flex;flex-wrap:wrap;gap:.6rem;margin:.6rem 0;align-items:center}
.migration-taxonomies span{opacity:.55;margin-right:.3rem}
.migration-taxonomies a{padding:.15rem .65rem;border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:999px;text-decoration:none}
#dream-single-post-content{overflow-wrap:anywhere}
#dream-single-post-content .kg-image-card img{height:auto;max-width:100%;display:block;margin-inline:auto}
#dream-single-post-content figure figcaption{font-size:.85rem;opacity:.7;text-align:center}
#dream-single-post-content .kg-gallery-container{display:flex;flex-direction:column;gap:.8rem}
#dream-single-post-content .kg-gallery-row{display:flex;gap:.8rem}
#dream-single-post-content .kg-gallery-image{flex:1;min-width:0}
#dream-single-post-content .kg-gallery-image img{width:100%;height:auto}
#dream-single-post-content pre{overflow-x:auto;white-space:pre;font-size:.84rem;line-height:1.75}
#dream-single-post-content pre code{overflow-wrap:normal}
#dream-single-post-content table{display:block;overflow-x:auto}
#dream-single-post-content .kg-bookmark-container{display:flex;gap:1rem;border:1px solid #8884;border-radius:.6rem;overflow:hidden;padding:1rem;text-decoration:none}
#dream-single-post-content .kg-bookmark-content{flex:1;min-width:0}
#dream-single-post-content .kg-bookmark-title{font-weight:650}
#dream-single-post-content .kg-bookmark-description{font-size:.85rem;opacity:.75;margin:.5rem 0}
#dream-single-post-content .kg-bookmark-metadata{display:flex;align-items:center;gap:.4rem;font-size:.8rem}
#dream-single-post-content .kg-bookmark-icon{width:20px;height:20px;margin:0}
#dream-single-post-content .kg-bookmark-thumbnail{width:28%;flex-shrink:0}
#dream-single-post-content .kg-bookmark-thumbnail img{width:100%;height:100%;object-fit:cover;margin:0}
@media(max-width:640px){.migration-banner{height:160px;margin:.7rem 1rem}.migration-banner-home{height:220px}.migration-banner figcaption{left:1.2rem;bottom:1.2rem;right:1.2rem}.migration-banner p{font-size:.85rem}.migration-topic-nav{gap:.6rem 1rem;font-size:.85rem}nav>div>section:first-child>div:nth-child(2){max-width:55vw}nav>div>section:first-child>div:nth-child(2)>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* 本地字体：正文使用 OPPO Sans 4.0，代码使用 Google Sans Code。 */
@font-face{font-family:"Google Sans Code";src:url('/fonts/GoogleSansCode-Variable.ttf') format('truetype');font-style:normal;font-weight:300 800;font-display:swap}
@font-face{font-family:"Google Sans Code";src:url('/fonts/GoogleSansCode-VariableItalic.ttf') format('truetype');font-style:italic;font-weight:300 800;font-display:swap}
@font-face{font-family:"OPPO Sans 4.0";src:url('/fonts/OPPOSans4.ttf') format('truetype');font-style:normal;font-weight:100 700;font-display:swap}
:root{--default-font-family:"OPPO Sans 4.0",ui-sans-serif,system-ui,sans-serif;--default-mono-font-family:"Google Sans Code",ui-monospace,monospace}

/* 提升文章正文对比度，代码块保留原有配色。 */
#dream-single-post-content{color:#252c34}
.dark #dream-single-post-content{color:#e6eae7}
