/* Apenas a coluna central. O grid e as laterais continuam no feed-v5.css. */
.tp-page { min-width: 0; align-self: start; color: var(--text, #17171c); }
.tp-page [hidden] { display: none !important; }
.tp-page button, .tp-page input, .tp-page select { font: inherit; }
.tp-page :is(button,input,select,a):focus-visible { outline: 2px solid #8b79d6; outline-offset: 4px; }
.tp-header { padding: 26px; border: 1px solid var(--border, #e5e5e9); border-radius: 18px; background: #fff; }
.tp-header-top { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.tp-eyebrow { color: #9d94aa; font-size: 9px; font-weight: 500; letter-spacing: 1.5px; }
.tp-header-icon { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #e9e2f5; border-radius: 11px; background: #f8f5fd; color: #8e77c6; }
.tp-header-icon svg { width: 20px; height: 20px; }
.tp-header h1 { display: flex; align-items: center; gap: 11px; margin-top: 4px; color: #292330; font-size: 38px; font-weight: 500; letter-spacing: -1.8px; line-height: 1.2; }
.tp-title-dot { width: 9px; height: 9px; margin-top: 15px; border-radius: 50%; background: linear-gradient(135deg,#e986a5,#a79ae8); }
.tp-header > p { margin-top: 10px; color: #9b92a5; font-size: 12px; line-height: 1.8; }
.tp-header-meta { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-top: 22px; padding-top: 16px; border-top: 1px solid #f0edf4; }
.tp-header-meta > span { display: flex; align-items: center; gap: 6px; color: #8e7ca5; font-size: 10px; }
.tp-header-meta svg { width: 15px; height: 15px; }
.tp-header-meta small { padding: 4px 8px; border-radius: 6px; color: #aa9bb8; background: #f7f4fa; font-size: 9px; }
.tp-tools { display: flex; align-items: stretch; gap: 10px; margin-top: 18px; }
.tp-search { display: flex; align-items: center; gap: 9px; flex: 1; min-width: 0; min-height: 42px; padding: 0 13px; border: 1px solid #e7e3ee; border-radius: 11px; background: #fff; color: #aba0b7; }
.tp-search svg { width: 16px; height: 16px; flex-shrink: 0; }
.tp-search input { width: 100%; min-width: 0; padding: 11px 0; border: 0; background: transparent; color: #655870; font-size: 11px; }
.tp-search input::placeholder { color: #ada3b6; }
.tp-sort { display: flex; min-width: 0; padding: 0 10px; border: 1px solid #e7e3ee; border-radius: 11px; background: white; }
.tp-sort select { width: 100%; min-width: 0; padding: 0 9px 0 2px; border: 0; background: transparent; color: #8e809b; font-size: 10px; cursor: pointer; }
.tp-result-count { margin: 17px 2px 13px; color: #a59bad; font-size: 10px; }
.tp-ranking { display: flex; flex-direction: column; gap: 10px; }
.tp-item { position: relative; overflow: hidden; border: 1px solid var(--border,#e5e5e9); border-radius: 15px; background: #fff; transition: border-color .18s ease,box-shadow .18s ease; }
.tp-item:hover { border-color: #d7cce7; box-shadow: 0 4px 18px #40315105; }
.tp-item-content { display: flex; align-items: center; gap: 15px; min-height: 85px; padding: 16px 21px; }
.tp-rank { flex: 0 0 24px; color: #beb3c7; font-size: 12px; font-weight: 400; letter-spacing: -.3px; }
.tp-item-info { min-width: 0; flex: 1; }
.tp-item h2 { color: #53425f; font-size: 14px; font-weight: 500; line-height: 1.5; overflow-wrap: anywhere; }
.tp-post-count { display: block; margin-top: 3px; color: #a398ae; font-size: 10px; }
.tp-post-count strong { font-weight: 400; }
.tp-copy { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border: 1px solid #eee8f5; border-radius: 10px; background: #faf8fd; color: #a18db8; transition: .18s ease; }
.tp-copy svg { width: 15px; height: 15px; }.tp-copy:hover { background: #eee7f8; color: #796299; }
.tp-featured { border-color: #e5dcf5; background: linear-gradient(125deg,#efebff 0%,#f2e8f3 62%,#e7ecfb 100%); }
.tp-featured .tp-item-content { position: relative; z-index: 1; min-height: 190px; padding: 27px 25px; align-items: flex-end; }
.tp-featured .tp-rank { position: absolute; top: 21px; left: 25px; display: flex; align-items: center; gap: 5px; color: #ac99c0; font-size: 12px; }
.tp-featured-label { display: block; margin-bottom: 4px; color: #9b85b6; font-size: 8px; font-weight: 600; letter-spacing: 1.5px; }
.tp-featured h2 { max-width: 85%; color: #66517d; font-size: 25px; font-weight: 500; letter-spacing: -.8px; }
.tp-featured .tp-post-count { margin-top: 5px; color: #ac99bd; font-size: 11px; }
.tp-featured .tp-copy { border-color: #ffffffc4; background: #ffffff9e; }
.tp-art { position: absolute; top: 18px; right: 24px; width: 180px; height: 110px; pointer-events: none; }
.tp-art-circle { position: absolute; width: 78px; height: 78px; top: 4px; left: 17px; border-radius: 50%; background: #8c72e4; opacity: .82; }
.tp-art-square { position: absolute; width: 65px; height: 65px; top: 32px; left: 81px; border-radius: 19px; background: #ef8fb5; transform: rotate(16deg); }
.tp-art-ring { position: absolute; width: 89px; height: 89px; top: 2px; right: 0; border: 1px solid #b9a4d4; border-radius: 50%; opacity: .65; }
.tp-art-dot { position: absolute; width: 9px; height: 9px; top: 85px; left: 13px; border-radius: 50%; background: #bfabdb; }
.tp-ranking.is-filtered .tp-featured { background: #fff; border-color: var(--border,#e5e5e9); }
.tp-ranking.is-filtered .tp-featured .tp-art,.tp-ranking.is-filtered .tp-featured-label { display: none; }
.tp-ranking.is-filtered .tp-featured .tp-item-content { min-height: 85px; padding: 16px 21px; align-items: center; }
.tp-ranking.is-filtered .tp-featured .tp-rank { position: static; color: #beb3c7; }
.tp-ranking.is-filtered .tp-featured h2 { max-width: 100%; color: #53425f; font-size: 14px; letter-spacing: normal; }
.tp-ranking.is-filtered .tp-featured .tp-post-count { margin-top: 3px; color: #a398ae; font-size: 10px; }
.tp-load { display: flex; justify-content: center; margin-top: 20px; }
.tp-load button { display: flex; align-items: center; gap: 28px; min-height: 39px; padding: 0 17px; border: 1px solid #e2dbe9; border-radius: 10px; background: #fff; color: #9b8aa8; font-size: 10px; }.tp-load button span { font-size: 16px; }
.tp-footer { display: flex; align-items: center; gap: 15px; margin-top: 24px; padding: 19px 21px; border: 1px dashed #ded5e8; border-radius: 15px; background: #f8f6fb; }
.tp-footer > span { color: #c5b6d5; font-size: 33px; font-weight: 300; }
.tp-footer h2 { color: #93819f; font-size: 11px; font-weight: 500; }
.tp-footer p { margin-top: 4px; color: #b0a3bc; font-size: 10px; line-height: 1.7; }
.tp-empty { display: flex; flex-direction: column; align-items: center; gap: 13px; margin-top: 17px; padding: 45px 25px; border: 1px solid #e6dfee; border-radius: 17px; background: #fff; text-align: center; }
.tp-empty > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: #f4effa; color: #b5a3cb; font-size: 29px; }.tp-empty > span svg { width: 25px; height: 25px; }
.tp-empty h2 { color: #8a7699; font-size: 17px; font-weight: 500; }.tp-empty p { max-width: 360px; color: #b0a0bc; font-size: 11px; line-height: 1.7; }
.tp-text-button { display: inline-block; margin-top: 4px; padding: 9px 13px; border: 1px solid #e7ddef; border-radius: 9px; background: #faf7fd; color: #9c85ae; font-size: 11px; }
.tp-copy-status { min-height: 20px; margin: 14px 4px 0; color: #9a84ab; font-size: 11px; }
.tp-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media(max-width:600px) { .tp-header { padding: 21px; }.tp-header h1 { font-size: 33px; }.tp-eyebrow { font-size: 8px; letter-spacing: 1px; }.tp-header > p { font-size: 11px; }.tp-tools { flex-direction: column; gap: 8px; }.tp-sort { align-self: flex-end; min-height: 35px; }.tp-sort select { padding: 7px; }.tp-item-content { padding: 15px; gap: 10px; }.tp-featured .tp-item-content { padding: 24px 21px; min-height: 187px; }.tp-featured .tp-rank { left: 21px; }.tp-featured h2 { font-size: 23px; }.tp-art { right: 10px; transform: scale(.84); transform-origin: top right; }.tp-footer { padding: 16px; }.tp-header-meta { gap: 10px; }.tp-header-meta > span { font-size: 9px; } }
@media(prefers-reduced-motion:reduce) { .tp-page * { transition: none !important; } }

/* Abre o feed da hashtag; o botão copiar continua com ação independente. */
.tp-trend-link { color: inherit; text-decoration: none; }
.tp-trend-link::after { content: ''; position: absolute; inset: 0; }
.tp-trend-link:hover { color: #8063b4; }
.tp-copy { position: relative; z-index: 2; }
