/* White + Facebook blue. Artwork belongs to individual content blocks only. */
html[data-palette]{
  --ui-frame:#c9d9eb;--ui-inner:#e6edf5;
  --void:var(--ui-bg);--void-2:var(--ui-surface);--void-3:var(--ui-soft);
  --paper:var(--ui-surface);--paper-edge:var(--ui-line);--paper-soft:var(--ui-soft);
  --ink:var(--ui-ink);--ink-soft:var(--ui-text);--chu-chinh:var(--ui-text);--chu-phu:var(--ui-muted);
  --line:var(--ui-line);--text-main:var(--ui-text);
  --field-bg:var(--ui-bg);--field-bg-hover:var(--ui-line);
  --sel-bar:var(--ui-accent);--fb-blue:var(--ui-accent);
}
html[data-palette][data-theme="dark"]{--ui-frame:#465b73;--ui-inner:#344456}
html[data-palette] body{background:var(--ui-bg)}
html[data-palette] body:before,html[data-palette] .page.lt-page:before{content:none}
html[data-palette] header,html[data-palette] .mobile-menu{background:var(--ui-surface)}
html[data-palette] .crumb-bar{background:var(--ui-bg)}
/* Every block type has its own original illustration, never a footer crop. */
.lt-featured{--block-art:url('/assets/blocks/featured.webp');--art-size:auto 300px}
.lt-latest{--block-art:url('/assets/blocks/latest.webp')}
.lt-categories{--block-art:url('/assets/blocks/directory.webp')}
.lt-donate,.donate-mini{--block-art:url('/assets/blocks/donate.webp')}
.lt-thanks{--block-art:url('/assets/blocks/thanks.webp')}
.lt-discord,.community-block{--block-art:url('/assets/blocks/discord.webp')}
.sidebar-featured{--block-art:url('/assets/blocks/sidebar-featured.webp')}
html[data-palette] :is(.lt-panel,.ui-block,.donate-mini,.post-paper:not(.hai-khoi),.post-paper.hai-khoi>.dau-bai,.post-paper.hai-khoi>.than-bai){
  position:relative;isolation:isolate;background-color:var(--ui-surface);
  background-image:linear-gradient(var(--ui-surface),color-mix(in srgb,var(--ui-surface) 82%,transparent) 58%,color-mix(in srgb,var(--ui-surface) 12%,transparent)),var(--block-art,none);background-size:100% 100%,var(--art-size,100% auto);background-position:right bottom;background-repeat:no-repeat;
  border:1px solid var(--ui-frame);box-shadow:var(--ui-shadow);border-radius:9px;
  padding:22px 22px 48px;min-width:0;
}
html[data-palette] :is(.lt-panel,.ui-block,.donate-mini,.post-paper.hai-khoi>.dau-bai,.post-paper.hai-khoi>.than-bai):before{
  content:'';position:absolute;inset:4px;border:1px solid var(--ui-inner);border-radius:inherit;pointer-events:none;z-index:-1;
}
html[data-palette] :is(.lt-panel,.ui-block,.donate-mini,.post-paper.hai-khoi>.dau-bai,.post-paper.hai-khoi>.than-bai):after{
  content:'';position:absolute;bottom:10px;left:20px;right:20px;height:18px;
  background:url('/assets/blocks/endbox.svg') center/100% 18px no-repeat;pointer-events:none;
}
html[data-palette] .lt-sidebar .lt-panel{padding:18px 18px 52px}
html[data-palette] .lt-sidebar h2{display:flex;align-items:center;gap:9px;text-align:left;color:var(--ui-ink)}
html[data-palette] :is(.lt-heading h2,.lt-sidebar h2):before{
  content:'';display:inline-block;flex:none;width:24px;height:24px;
  background:url('/assets/ui/menu-pin.png') center/contain no-repeat;
}
html[data-palette] .side-title:before{background-image:url('/assets/ui/menu-pin.png');filter:none;width:20px;height:20px}
html[data-palette] .lt-heading:after{height:12px;background:url('/assets/blocks/heading-rule.svg') center/100% 12px no-repeat}
html[data-palette] .lt-post{position:relative;border:0;padding-bottom:20px}
html[data-palette] .lt-post:not(:last-child):after{
  /* Đường chia giữa các bài: một nét liền, không hoa văn ở giữa. */
  content:'';position:absolute;left:0;right:0;bottom:4px;height:1px;
  background:var(--ui-line,var(--lt-line));pointer-events:none;
}
/* Do not override category/title colors: identical to the article heading. */
.lt-row .post-title a,.lt-feature-copy .post-title a{color:inherit}
html[data-palette] .post-title a:hover{color:inherit;text-decoration:none}
.lt-row .title-emoji,.lt-feature-copy .title-emoji{height:1.05em;width:auto;max-width:2em;object-fit:contain;vertical-align:-.12em;margin-right:.3em}
html[data-palette] .lt-arrow{border-color:var(--ui-frame);background:var(--ui-surface);color:var(--ui-accent)}
html[data-palette] :is(.lt-arrow,.lt-controls button):hover{background:var(--ui-soft);border-color:var(--ui-accent)}
html[data-palette] :is(.lt-cta,.discord-card-btn,.btn-donate-mini){background:var(--ui-accent);border:1px solid var(--ui-accent);box-shadow:none}
html[data-palette] :is(.lt-search label,.header-search){border-color:var(--ui-frame);box-shadow:0 1px 5px #243b5310}
html[data-palette] .article-card{background:var(--ui-surface);border:1px solid var(--ui-frame);color:var(--ui-text);box-shadow:var(--ui-shadow)}
html[data-palette] .article-card:hover{box-shadow:0 0 0 1px var(--ui-accent),var(--ui-shadow)}
html[data-palette] :is(.art-desc,.art-meta,.see-all,.pager,.share-btn){color:var(--ui-muted)}
html[data-palette] :is(.section-head,.side-title){color:var(--ui-ink);border-color:var(--ui-line)}
html[data-palette] .side-left{padding:24px 0;margin-left:0;border:0}
html[data-palette] .side-left .menu-block{padding:18px 14px 48px}
html[data-palette] .side-left .menu-list{margin-left:0;padding-left:0}
html[data-palette] .side-left .menu-block>.menu-heading:first-child{margin-top:0}
html[data-palette] .page:not(.lt-page)>.side-right{padding:24px 0 32px;border:0;gap:18px}
html[data-palette] .sidebar-featured .feat-card:last-child{border-bottom:0}
html[data-palette] .community-block .discord-card{background:none;border:0;box-shadow:none;padding:0}
html[data-palette] .donate-mini .donate-icon-badge{display:none}
html[data-palette] .post-paper.hai-khoi>.dau-bai{border-radius:0;padding:28px 36px 48px}
html[data-palette] .post-paper.hai-khoi>.than-bai{border-radius:0;padding:28px 36px 48px;background-color:var(--than-bai-nen,var(--ui-surface));background-image:none}
html[data-palette] .toc{background:var(--ui-bg);border-color:var(--ui-line)}
html[data-palette] .toc :is(summary,a){color:var(--ui-ink)}
html[data-palette] .toc a:hover{color:var(--ui-accent)}
html[data-palette] .pager :is(a,span){background:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-muted)}
html[data-palette] .pager a:hover{background:var(--ui-soft);border-color:var(--ui-accent);color:var(--ui-ink)}
html[data-palette] .pager .on{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-on-accent)}
html[data-palette] .pager .off{opacity:.5}
/* Footer is text in normal flow. No fixed height, illustration or overlay. */
.lt-page>.lt-footer{display:block;height:auto;min-height:0;margin:0;padding:22px 12px;background:none;border-top:1px solid var(--ui-line)}
html[data-palette] .lt-footer,html[data-theme=dark] .lt-footer,html[data-palette] .site-footer{background:none;color:var(--ui-muted)}
html[data-palette] .lt-footer>div{background:none;padding:0;color:var(--ui-muted);line-height:1.8}
html[data-palette] :is(a,button,input):focus-visible{outline-color:var(--ui-accent)}
html[data-palette] .hamburger span{background:var(--ui-ink)}
html[data-palette] .mobile-menu :is(.menu-list a,.region-toggle,.region-submenu a){color:var(--ui-text)}
/* Extra CMS blocks use real image elements; authored text stays above them. */
.cms-block{margin-top:20px;overflow:hidden}
.side-right .cms-block{margin-top:0}
.cms-block .block-art{position:absolute;inset:auto 0 0;width:100%;height:auto;z-index:-1;pointer-events:none}
.cms-block h2{display:flex;align-items:center;gap:9px;margin:0 0 14px;font:700 19px/1.5 var(--font-title,'Noto Serif',serif)}
.cms-block .block-icon{height:24px;width:24px;object-fit:contain;flex:none}
.cms-block .block-content{font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.cms-block .block-content p{margin:0 0 12px}
.cms-block .block-content ul,.cms-block .block-content ol{padding-left:22px}
.cms-block .block-content a{color:var(--ui-accent);text-decoration:underline}
.cms-block .block-button{display:inline-block;background:var(--ui-accent);color:var(--ui-on-accent);border-radius:5px;padding:8px 14px;margin-top:10px}
html[data-palette] .cms-block[data-ornament="false"]:after{content:none}
html[data-palette][data-theme=dark] :is(.lt-panel,.ui-block,.donate-mini,.post-paper.hai-khoi>.dau-bai){background-image:linear-gradient(var(--ui-surface),color-mix(in srgb,var(--ui-surface) 72%,transparent) 58%,color-mix(in srgb,var(--ui-surface) 30%,transparent)),var(--block-art,none)}
.cms-block .block-art{opacity:.45}
html[data-theme=dark] .cms-block .block-art{opacity:.3}
@media(max-width:600px){
  html[data-palette] .lt-panel{padding:17px 17px 42px}
  html[data-palette] .lt-sidebar .lt-panel{padding:18px 18px 46px}
  html[data-palette] .post-paper.hai-khoi>.dau-bai,html[data-palette] .post-paper.hai-khoi>.than-bai{padding:24px 20px 44px}
  html[data-palette] :is(.lt-heading h2,.lt-sidebar h2):before{width:20px;height:20px}
}
@media(prefers-reduced-motion:reduce){html[data-palette] .article-card{transition:none}}

/* Keep the source pin white; outline it with a restrained icy-blue glow. */
html[data-palette] :is(.lt-heading h2,.lt-sidebar h2):before,
html[data-palette] .side-title:before,.block-default-icon{
  background:url('/assets/ui/menu-pin.png') center/contain no-repeat;
  -webkit-mask:none;mask:none;
  filter:drop-shadow(.6px 0 0 #6da9eb) drop-shadow(-.6px 0 0 #6da9eb) drop-shadow(0 .6px 0 #6da9eb) drop-shadow(0 -.6px 0 #6da9eb) drop-shadow(0 0 3px #75b9ff99);
}
.block-default-icon{display:inline-block;width:24px;height:24px;flex:none}
/* One native link covers each latest row: mouse, touch and keyboard behave alike. */
html[data-palette] .lt-post{padding:0}
.lt-post-link{display:block;padding:15px 0 20px;color:inherit;border-radius:5px}
.lt-post-link:hover{background:color-mix(in srgb,var(--ui-accent) 4%,transparent)}
.lt-post-link:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}
/* Left navigation stays on the plain page background. */
html[data-palette] .side-left .menu-block{background:none;border:0;box-shadow:none}
/* Hover never introduces an underline; authored emphasis remains in article text. */
html body a:hover,html body .author-btn:hover{text-decoration:none!important}
/* Corner artwork is decorative, stays inside the title card and cannot block links. */
html[data-palette] .post-paper.hai-khoi>.dau-bai{overflow:hidden;background-image:none}
.title-corner-art{position:absolute;right:0;top:0;width:48%;height:100%;object-fit:cover;object-position:right center;pointer-events:none;z-index:-1;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 45%);mask-image:linear-gradient(90deg,transparent,#000 45%);opacity:.8}
html[data-theme=dark] .title-corner-art{opacity:.65}
/* Small original flower ornaments decorate controls and existing block borders. */
:is(.lt-cta,.discord-card-btn,.btn-donate-mini,.block-button){position:relative;isolation:isolate}
:is(.lt-cta,.discord-card-btn,.btn-donate-mini,.block-button):before{
  content:'';position:absolute;left:-9px;top:-10px;width:27px;height:27px;background:url('/assets/decor/plum-blossom.webp') center/contain no-repeat;pointer-events:none;
}
html[data-palette] :is(.lt-panel,.sidebar-featured,.community-block,.cms-block):before{
  background:url('/assets/decor/plum-sprig.webp') top right/55px auto no-repeat;
}
@media(max-width:600px){
  .title-corner-art{width:52%;opacity:.35}
  html[data-theme=dark] .title-corner-art{opacity:.3}
}

/* One reading card: the sole divider is between title and body, with the source pin. */
html body .post-paper.hai-khoi.unified-post{
  padding:0;border:1px solid var(--ui-frame);border-radius:12px;overflow:hidden;
  background:var(--ui-surface);box-shadow:var(--ui-shadow);
}
html[data-palette] .post-paper.hai-khoi.unified-post>:is(.dau-bai,.than-bai){
  padding:26px 32px;border:0;border-radius:0;box-shadow:none;margin:0;
}
html[data-palette] .post-paper.hai-khoi.unified-post>:is(.dau-bai,.than-bai):before,
html[data-palette] .post-paper.hai-khoi.unified-post>:is(.dau-bai,.than-bai):after{content:none}
.article-divider{display:flex;align-items:center;gap:12px;height:20px;margin:0 32px;pointer-events:none}
.article-divider:before,.article-divider:after{content:'';height:1px;flex:1;background:var(--ui-line)}
.article-divider img{width:18px;height:18px;object-fit:contain;filter:var(--pin-f)}
.article-divider.no-pin{gap:0;height:1px}
/* Sidebar is a compact list, with no ornamental footer or empty bottom padding. */
html[data-palette] :is(.lt-sidebar .lt-panel,.sidebar-featured,.community-block,.donate-mini,.side-right .cms-block){padding:18px}
html[data-palette] :is(.lt-sidebar .lt-panel,.sidebar-featured,.community-block,.donate-mini,.side-right .cms-block):after{content:none}
.sidebar-featured .side-title{font-family:var(--font-title,'Noto Serif'),serif;font-size:18px;line-height:1.5;text-transform:none;letter-spacing:0;margin-bottom:8px}
.sidebar-featured .side-title:after{content:none}
.sidebar-featured .feat-card{display:flex;align-items:center;gap:10px;padding:11px 0}
.sidebar-featured .feat-info{flex:1}
.sidebar-featured .feat-title{font-size:14px;line-height:1.6;font-weight:500}
.feat-arrow{color:var(--ui-accent);flex:none;font:20px/1 Arial}
/* Restore the original four-coordinate relationship: base ray, active ray and pin share x. */
html[data-palette] .side-left{margin-left:-12px;padding:24px 0 24px 12px}
html[data-palette] .side-left .menu-block{padding:0 14px 24px}
html[data-palette] .side-left .menu-list{padding-left:16px;margin-left:-16px}
html[data-palette] .side-left .mh-home{margin-top:0;padding-top:0}
/* Watercolor pigment sits behind the row content, never as a hard icon. */
.lt-post-ky-ngo .lt-post-link{position:relative;isolation:isolate}
.lt-post-ky-ngo .lt-post-link:before{content:'';position:absolute;right:-3px;top:0;width:108px;height:92px;background:var(--maple-art,url('/assets/decor/maple-soft.webp')) right top/contain no-repeat;pointer-events:none;opacity:.24;z-index:-1}
html[data-theme=dark] .lt-post-ky-ngo .lt-post-link:before{opacity:.2}
/* Fonts are inherited only within their explicit CMS scope. */
.page>.content-main,.lt-hero{font-family:var(--font-body,'Inter'),sans-serif}
.page>.content-main :is(h1,h2,h3,.art-title){font-family:var(--font-title,'Noto Serif'),serif}
.lt-main,.lt-hero{--lt-title:var(--font-title,'Noto Serif'),serif;--lt-body:var(--font-body,'Inter'),sans-serif}
.side-left,.mobile-menu,.side-right{font-family:var(--font-body,'Inter'),sans-serif}
.side-left :is(.menu-heading,.menu-label,.region-toggle,.region-toggle-label,.region-submenu a),
.mobile-menu :is(.menu-heading,.menu-label,.region-toggle,.region-toggle-label,.region-submenu a){font-family:var(--font-body,'Inter'),sans-serif}
.side-right{--lt-title:var(--font-title,'Noto Serif'),serif;--lt-body:var(--font-body,'Inter'),sans-serif}
.side-right :is(h2,h3,h4,.side-title){font-family:var(--font-title,'Noto Serif'),serif}
.side-right :is(p,.feat-title,.lt-directory a,.lt-muted,.lt-cta,.discord-card-btn,.donate-mini p){font-family:var(--font-body,'Inter'),sans-serif}
body[data-button-flowers="false"] :is(.lt-cta,.discord-card-btn,.btn-donate-mini,.block-button):before{content:none}
body[data-block-flowers="false"] :is(.lt-panel,.sidebar-featured,.community-block,.cms-block):before{background-image:none}
@media(max-width:600px){
  html[data-palette] .post-paper.hai-khoi.unified-post>:is(.dau-bai,.than-bai){padding:22px 20px}
  .article-divider{margin:0 20px}
}
/* Explicit sidebar scope wins the shared frame rule's article specificity. */
html[data-palette] .page .side-right :is(.lt-panel,.ui-block,.donate-mini){padding:18px}
html[data-palette] .page .side-right :is(.lt-panel,.ui-block,.donate-mini):after{content:none}
.side-left .menu-heading,.mobile-menu .menu-heading{font-family:var(--font-title,'Noto Serif'),serif}
.side-right .feat-title{font-family:var(--font-title,'Noto Serif'),serif}

/* Glow follows only the transparent pin silhouette, not the tall menu ray box. */
html{--pin-icon-glow:drop-shadow(0 0 1px #388de0) drop-shadow(0 0 3px #58afffb3)}
.side-left .menu-list a.active::before,.side-left .region-toggle.active::before{filter:none}
.side-left .menu-list a.active::after,.side-left .region-toggle.active::after{
  height:18px;margin-top:-9px;background:url('/assets/ui/menu-pin.png') center/contain no-repeat;
  filter:var(--pin-icon-glow);
}
.article-divider img{flex:none;background:transparent;border:0;border-radius:0;box-shadow:none;filter:var(--pin-icon-glow)}
/* Compact game-style CTA: double gold keyline, blue enamel and an arrow. */
html[data-palette] .lt-feature-copy>.lt-cta{
  width:fit-content;max-width:100%;min-height:36px;gap:12px;padding:7px 16px;
  border:1px solid #b99b60;border-radius:8px 2px;
  background:linear-gradient(135deg,#225c99,#123c6b 65%,#205d96);
  box-shadow:inset 0 0 0 2px #173f67,inset 0 0 0 3px #d4ba7d80,0 2px 5px #163f6720;
  color:#fff;font-size:13px;line-height:1.5;text-align:center;
  transition:background .18s ease,box-shadow .18s ease;
}
html[data-palette] .lt-feature-copy>.lt-cta:hover{
  background:linear-gradient(135deg,#2b72b4,#194d82 65%,#2a73af);
  box-shadow:inset 0 0 0 2px #173f67,inset 0 0 0 3px #e6ce98,0 2px 8px #438ce044;filter:none;
}
.lt-feature-copy>.lt-cta>span{font-size:19px;line-height:1;flex:none}
@media(prefers-reduced-motion:reduce){html[data-palette] .lt-feature-copy>.lt-cta{transition:none}}

/* Compact category heading: the outer box is always exactly 90px high. */
html[data-palette] .listing-heading{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;box-sizing:border-box;height:90px;min-height:90px;max-height:90px;margin:0 0 20px;padding:12px 24px;border:1px solid var(--ui-frame);border-radius:9px;background:var(--ui-surface);box-shadow:var(--ui-shadow)}
.listing-heading :is(h1,.listing-title){margin:0;font-size:23px;line-height:1.3;overflow-wrap:anywhere}
.listing-heading :is(h1,.listing-title) small{display:block;font-size:12px;line-height:1.25;font-weight:400;margin-top:3px}
html[data-palette] .listing-banner{background:#3d5874}
.listing-art{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:right center;pointer-events:none;z-index:-1}
.listing-banner::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#071e3690 0%,#071e3638 38%,transparent 66%)}
.listing-banner :is(h1,.listing-title){color:#fff;max-width:65%;text-shadow:0 2px 6px #071e36;font-weight:700}
.listing-banner :is(h1,.listing-title) small{color:#fff}
@media(max-width:600px){html[data-palette] .listing-heading{padding:8px 12px}.listing-heading :is(h1,.listing-title){font-size:18px;line-height:1.15}.listing-banner :is(h1,.listing-title){max-width:62%}.listing-heading :is(h1,.listing-title) small{font-size:11px;margin-top:3px}}
/* All latest Ky Ngo rows use the new transparent maple wash. */
.lt-post-ky-ngo .lt-post-link:before{background-image:var(--maple-art,url('/assets/decor/maple-soft.webp'));width:156px;height:104px;opacity:.33}
html[data-theme=dark] .lt-post-ky-ngo .lt-post-link:before{opacity:.27}

/* Hàng "Bài viết mới" trang chủ: icon lịch trước ngày + mũi tên SVG trong vòng tròn xanh nhạt (29/09/2026).
   ⚠️ Chữ ngày đặt THẲNG sau <svg>, KHÔNG bọc <span>: style.css có ".lt-row time span{display:none}".
   ⚠️ Nằm cuối frames.css (nạp sau style.css/home.css/palette.css) và dùng html[data-palette] để thắng các quy tắc cũ. */
html[data-palette] .lt-latest .lt-row{grid-template-columns:minmax(0,1fr) auto 40px}
html[data-palette] .lt-latest .lt-row>time{display:inline-flex;align-items:center;gap:7px;font:500 13px/1 'Google Sans Text',system-ui,Arial,sans-serif;color:#5B6B82;white-space:nowrap;text-align:left}
html[data-palette] .lt-latest .lt-cal{width:17px;height:17px;flex:none;color:#7B8DB0}
html[data-palette] .lt-latest .lt-arrow{width:40px;height:40px;border:0;border-radius:50%;background:#DCE8FB;color:#1B4FA8;display:grid;place-items:center;transition:background .15s}
html[data-palette] .lt-latest .lt-arrow svg{width:20px;height:20px;transition:transform .15s}
html[data-palette] .lt-latest .lt-post-link:hover .lt-arrow{background:#C8DAF7}
html[data-palette] .lt-latest .lt-post-link:hover .lt-arrow svg{transform:translateX(2px)}
html[data-theme=dark][data-palette] .lt-latest .lt-row>time{color:var(--ui-muted)}
html[data-theme=dark][data-palette] .lt-latest .lt-cal{color:#8FA6CC}
html[data-theme=dark][data-palette] .lt-latest .lt-arrow{background:rgba(96,142,230,.22);color:#A9C6FF}
html[data-theme=dark][data-palette] .lt-latest .lt-post-link:hover .lt-arrow{background:rgba(96,142,230,.34)}
@media(max-width:1180px){html[data-palette] .lt-latest .lt-row>time{font-size:12px;gap:5px}html[data-palette] .lt-latest .lt-cal{width:15px;height:15px}}
/* Điện thoại: ngày xuống dưới mô tả để tiêu đề không bị ép hẹp; mũi tên giữ cột phải. */
@media(max-width:600px){html[data-palette] .lt-latest .lt-row{grid-template-columns:minmax(0,1fr) 34px;gap:6px 10px}
  html[data-palette] .lt-latest .lt-row>div{grid-column:1;grid-row:1}
  html[data-palette] .lt-latest .lt-row>time{grid-column:1;grid-row:2;font-size:11.5px;gap:5px}
  html[data-palette] .lt-latest .lt-row>.lt-arrow{grid-column:2;grid-row:1/3}html[data-palette] .lt-latest .lt-cal{width:13px;height:13px}
  html[data-palette] .lt-latest .lt-arrow{width:34px;height:34px}html[data-palette] .lt-latest .lt-arrow svg{width:17px;height:17px}}

/* Khối Bài nổi bật trang chủ: ảnh khung 9:4 = 2/3 chiều cao ảnh 3:2 cũ (29/09/2026). Giảm chiều cao
   CẢ KHỐI chứ không thu nhỏ ảnh, để cột chữ bên phải vẫn cân với ảnh. Ảnh riêng cắt sẵn 9:4 trong
   Decap → Trang chủ → Khối BÀI NỔI BẬT → Ảnh riêng; không có thì thumbnail tự cắt phần giữa.
   ⚠️ Tỉ lệ khớp khung "Bài nổi bật 9:4" trong src/cat-anh.njk. */
html[data-palette] .lt-page .lt-featured .lt-media{aspect-ratio:9/4;align-self:center}
html[data-palette] .lt-page .lt-featured .lt-media img{width:100%;height:100%;aspect-ratio:9/4;object-fit:cover;object-position:center}
html[data-palette] .lt-featured .lt-feature-copy{justify-content:center}
html[data-palette] .lt-featured .lt-feature-copy .lt-tags{margin-bottom:6px}
html[data-palette] .lt-featured .lt-feature-copy h3{margin:0 0 6px;line-height:1.35}
html[data-palette] .lt-featured .lt-feature-copy>p{margin:0 0 8px;-webkit-line-clamp:2}
html[data-palette] .lt-featured .lt-feature-copy>time{margin:0 0 10px;padding-top:0}

/* 20 newly drawn full scenes. No corner mask or flat left fill. */
.listing-painted .listing-art{inset:0 0 0 auto;width:100%;min-width:900px;max-width:none;height:100%;object-fit:cover;object-position:right var(--banner-focus,47%);transform:none;mask-image:none}

@media(max-width:600px){.listing-painted .listing-art{right:calc(-1 * var(--banner-shift,0px))}}

