.view_title{padding:25px 30px;border-bottom:1px solid #e6e6e6;display:flex;flex-direction:column;gap:10px}
.view_title>div{display:flex}
.view_title>div:nth-child(1){gap:10px}
.view_title>div .list_label{font-size:22px}
.view_title>div .list_title p{max-width:1290px;font-size:22px;font-weight:500}
.view_title>div .view_num{padding-right:20px;border-right:1px solid #e6e6e6}
.view_title>div .list_date{padding-left:20px}
.view_con{padding:50px 30px;border-bottom:1px solid #e6e6e6;transform:skew(-0.1deg)}
.view_con p{line-height:26px}
.view_next{padding:25px 30px;display:grid;align-items:center;grid-template-columns:0.5fr 5fr 0fr 0.92fr;column-gap:30px;border-bottom:1px solid #e6e6e6}
.view_next li{font-family:"twayair";font-size:18px}
.view_next li:nth-child(1){color:#aaaaaa}
.view_prev li.available>a{width:100%;display:flex;align-items:center;gap:10px}
.view_prev{padding:25px 30px;display:grid;align-items:center;grid-template-columns:0.5fr 5fr 0fr 0.92fr;column-gap:30px;border-bottom:3px solid #e6e6e6}
.view_prev li{font-family:"twayair";font-size:18px}
.view_prev li:nth-child(1){color:#aaaaaa}
.back_to_list{font-family:"twayair";width:150px;height:60px;border:1px solid #111;border-radius:30px;display:flex;justify-content:center;align-items:center;font-size:20px;margin:30px 0 50px}
.publications-empty { padding: 50px 30px; border-bottom: 3px solid #e6e6e6; text-align: center; color: #777; min-height: 160px; box-sizing: border-box; }
.publications-status { padding: 16px 30px; color: #777; }
.publication-content p { white-space: pre-wrap; overflow-wrap: anywhere; margin-bottom: 20px; }
.view_title .list_title p { white-space: normal; overflow: visible; }
.view_title .list_title { min-width: 0; }
.view_title .list_date { white-space: nowrap; }
.view_prev a, .view_next a { overflow-wrap: anywhere; }
.publications-page .list_line { grid-template-columns: minmax(0, 1fr) 80px 120px; }
.publications-page .list_title p { max-width: 100%; }
.publications-page .list_title_wrap a { min-width: 0; max-width: 100%; }
.publications-page .list_title { min-width: 0; }
.publications-page [hidden] { display: none !important; }
@media (max-width: 700px) {
 .publications-page .list_line { padding: 20px 10px; column-gap: 10px; grid-template-columns: minmax(0, 1fr) 35px 90px; }
 .publications-page .list_date { font-size: 13px; }
 .view_title, .view_con, .view_prev, .view_next { padding-left: 15px; padding-right: 15px; }
 .view_title>div:nth-child(1) { flex-wrap: wrap; }
 .view_prev, .view_next { grid-template-columns: 90px minmax(0, 1fr); gap: 10px; }
}

/* Formatting is scoped to the publication body. */
.publication-content { font: 16px/1.65 Arial, sans-serif; color: #222; }
.publication-content h2 { font-size: 24px; margin: 36px 0 16px; font-weight: 700; }
.publication-content h3 { font-size: 20px; margin: 28px 0 12px; font-weight: 700; }
.publication-content h4 { font-size: 18px; margin: 24px 0 10px; font-weight: 700; }
.publication-content strong, .publication-content b { font-weight: 700; }
.publication-content em, .publication-content i { font-family: inherit !important; font-style: italic; }
.publication-content ul, .publication-content ol { padding-left: 28px; margin: 16px 0 24px; }
.publication-content ul { list-style: disc; }
.publication-content ol { list-style: decimal; }
.publication-content li { margin: 6px 0; }
.publication-content ul li { list-style: disc; }
.publication-content ol li { list-style: decimal; }
.publication-content img { display: inline-block; max-width: 100%; height: auto; vertical-align: middle; }
.publication-content figure { margin: 24px 0; }
.publication-content figcaption { margin-top: 8px; color: #777; font-size: 14px; }
.publication-content .publication-gallery { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 12px; margin: 16px 0 28px; }
.publication-content .publication-gallery img { min-width: 0; object-fit: contain; }
.publication-content blockquote { border-left: 3px solid #b8282e; padding: 12px 20px; margin: 24px 0; background: #f9f9f9; }
.publication-content a { display: inline; color: #b8282e; text-decoration: underline; }
/* Coluna de leitura dos posts: linhas mais curtas; a borda do bloco continua na largura da página. */
#publication-content > * { max-width: 900px; margin-left: auto; margin-right: auto; }
.publication-content hr { border: 0; border-top: 1px solid #e6e6e6; margin: 30px 0; }
.publication-content table { border-collapse: collapse; width: 100%; margin: 24px 0; table-layout: fixed; }
.publication-content th, .publication-content td { border: 1px solid #e6e6e6; padding: 10px 12px; overflow-wrap: anywhere; }
.publication-content th { background: #f9f9f9; font-weight: 700; }

.publications-page[data-mode="detail"] .view_title > div { width: 100%; max-width: 900px; margin: 0 auto; }
.publications-page[data-mode="detail"] .view_title .view_num { display: none; }
.publications-page[data-mode="detail"] .view_title .list_date { padding-left: 0; }
/* Índice das notas longas e fecho com o convite da comunidade. */
#publication-content .publication-index { background: #f1f4fb; border-radius: 12px; padding: 20px 26px; }
#publication-content .publication-index p { margin-bottom: 0; }
#publication-content h2, #publication-content h3 { scroll-margin-top: 110px; }
#publication-content .publication-signoff { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; }
#publication-content a.publication-button { display: inline-block; padding: 14px 28px; border-radius: 30px; background: #5865f2; color: #fff; font-weight: 700; text-decoration: none; }
/* O convite sai da lateral quando a nota traz o dela no fim. */
body:has(.publication-signoff) .floating_side_banner { display: none !important; }
/* A inclinação herdada do bloco desloca o texto até 8 px em nota longa e desalinha título e banner. */
#publication-content { transform: none; }
#publication-content .publication-signoff > div:last-child { flex: 0 1 380px; }
.list_title > .publication-new { flex: none; margin-left: 0; }
.publication-new { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin-left: 8px; border-radius: 5px; background: #cc1e12; color: #fff; font-size: 12px; font-weight: 700; line-height: 1; vertical-align: middle; }
