/* 2027 report entries: scoped to the homepage and the selected article. */
.hero--report { position: relative; overflow: clip; }
.report-drawer {
    --report-peek: 154px;
    position: absolute; right: 0; top: 50%; z-index: 2;
    width: calc(min(330px, 38vw) + 5vw); min-height: 370px;
    padding: 24px calc(25px + 5vw) 24px 25px;
    border-left: 1px solid var(--gray-300); background: var(--white); color: var(--black);
    transform: translateY(-50%);
}
.report-drawer button { font-family: var(--font-sans); color: inherit; cursor: pointer; }
.report-drawer__trigger { display: none; }
.report-drawer__meta { display: flex; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 2px solid var(--black); font-size: 11px; letter-spacing: .1em; }
.report-drawer__year { font-family: var(--font-serif-en); font-size: 76px; line-height: 1.2; letter-spacing: -.045em; margin: 16px 0 12px; }
.report-drawer__title { font-family: var(--font-serif-zh); font-size: 30px; font-weight: 600; line-height: 1.5; letter-spacing: -.02em; }
.report-drawer__subtitle { font-size: 12px; color: var(--gray-600); line-height: 1.9; margin-top: 14px; }
.report-entry__link { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 0 10px; border-bottom: 1px solid currentColor; color: inherit; text-decoration: none; font-family: var(--font-sans); font-size: 13px; font-weight: 600; }
.report-drawer .report-entry__link { margin-top: 21px; }
.report-entry__arrow { font-size: 23px; line-height: 1; transition: transform .2s; }
.report-entry__link:hover .report-entry__arrow { transform: translateX(4px); }
.report-entry__link:focus-visible, .report-drawer button:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.report-drawer__close { display: none; border: 0; background: none; padding: 7px 0 5px 12px; font-size: 11px; }
.report-drawer[data-enhanced] { height: 370px; min-height: 0; transform: translate(calc(100% - var(--report-peek)), -50%); transition: transform 460ms cubic-bezier(.22,.8,.25,1); }
.report-drawer[data-enhanced].is-open { transform: translate(0, -50%); }
.report-drawer[data-enhanced] .report-drawer__trigger {
    position: absolute; left: 25px; top: 24px; width: calc(var(--report-peek) - 40px); height: 322px;
    display: flex; flex-direction: column; align-items: flex-start; padding: 14px 0;
    border: 0; border-top: 2px solid var(--black); background: none; text-align: left;
    transition: opacity .18s;
}
.report-drawer__label { font-size: 11px; letter-spacing: .12em; }
.report-drawer__peek-year { font-family: var(--font-serif-en); font-size: 49px; line-height: 1.15; letter-spacing: -.05em; margin: 28px 0 23px; }
.report-drawer__peek-title { display: block; width: 100%; font-family: var(--font-serif-zh); font-size: 23px; font-weight: 600; line-height: 1.6; }
.report-drawer__peek-title > span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.report-drawer__hint { display: flex; align-items: center; justify-content: space-between; width: 100%; padding-top: 16px; margin-top: auto; font-size: 11px; color: var(--gray-600); }
.report-drawer__hint > span { font-size: 23px; color: var(--black); }
.report-drawer[data-enhanced] .report-drawer__content { position: relative; opacity: 0; transform: translateX(16px); pointer-events: none; transition: opacity .22s, transform .34s; }
.report-drawer[data-enhanced].is-open .report-drawer__trigger { opacity: 0; pointer-events: none; }
.report-drawer[data-enhanced].is-open .report-drawer__content { opacity: 1; transform: translateX(0); pointer-events: auto; transition-delay: .1s; }
.report-drawer[data-enhanced] .report-drawer__close { display: none; position: absolute; right: 0; bottom: -31px; color: var(--gray-600); }
.article-report { max-width: var(--max-w); margin: 2.5rem auto 0; padding: 20px 0; border-top: 1px solid var(--gray-300); border-bottom: 1px solid var(--gray-300); display: grid; grid-template-columns: 140px minmax(0,1fr) 180px; align-items: center; gap: 24px; }
.article-report__edition { color: var(--gray-600); font-size: 12px; }
.article-report__edition strong { display: block; font-family: var(--font-serif-en); font-size: 38px; font-weight: 600; letter-spacing: -.03em; line-height: 1.1; margin-top: 7px; color: var(--black); }
.article-report__title { font-family: var(--font-serif-zh); font-size: 24px; font-weight: 600; line-height: 1.6; }
.article-report__subtitle { color: var(--gray-600); font-size: 12px; margin-top: 6px; }
.article-report__state { color: var(--gray-600); font-size: 11px; }
@media (max-width: 900px) {
    .hero--report { gap: 30px; }
    .report-drawer { position: relative; top: auto; right: auto; width: 100%; max-width: 560px; margin: 0 auto; padding: 15px 0 30px; min-height: 0; border-left: 0; border-top: 1px solid var(--gray-300); transform: none; }
    .report-drawer[data-enhanced] { height: 192px; padding: 0; transform: none; transition: height 460ms cubic-bezier(.22,.8,.25,1); }
    .report-drawer[data-enhanced].is-open { height: 385px; transform: none; }
    .report-drawer[data-enhanced] .report-drawer__trigger { left: 0; top: 0; width: 100%; height: 192px; border-top: 0; display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 8px 22px; padding: 18px 0; }
    .report-drawer__label { grid-column: 1/-1; }
    .report-drawer__peek-year { grid-column: 1; grid-row: 2; margin: 0; font-size: 38px; }
    .report-drawer__peek-title { grid-column: 2; font-size: 24px; }
    .report-drawer__hint { grid-column: 2; margin: 0; padding: 0; align-self: end; }
    .report-drawer[data-enhanced] .report-drawer__content { padding-top: 15px; }
    .report-drawer__year { font-size: 54px; margin: 14px 0 10px; }
    .report-drawer__title { font-size: 24px; }
    .report-drawer__subtitle { margin-top: 12px; }
    .report-drawer .report-entry__link { margin-top: 16px; }
    .report-drawer[data-enhanced] .report-drawer__close { display: block; }
    .article-report { grid-template-columns: 1fr; gap: 14px; }
    .article-report__edition { display: flex; align-items: center; justify-content: space-between; }
    .article-report__edition strong { font-size: 30px; margin: 0; }
    .article-report__title { font-size: 21px; }
}
@media (hover: none), (pointer: coarse) {
    .report-drawer__close { min-height: 44px; }
    .report-drawer[data-enhanced] .report-drawer__close { display: block; bottom: -48px; }
}
@media (prefers-reduced-motion: reduce) {
    .report-drawer[data-enhanced], .report-drawer[data-enhanced] .report-drawer__trigger, .report-drawer[data-enhanced] .report-drawer__content, .report-entry__arrow { transition: none; }
}
