.links-page main { padding-top: 1.35rem; }
.links-intro-card { margin-bottom: 1.5rem; padding: 1.2rem 1.4rem; border-radius: 16px; border: 1px solid #3a5277; background: linear-gradient(160deg, #0f2b5a, #081a3c); color: #d6e2f4; }
.links-groups { display: flex; flex-direction: column; gap: 1.35rem; }
.link-theme-block { padding: 1.1rem; border-radius: 16px; border: 1px solid #2d4568; background: linear-gradient(180deg, #0c2049, #081632); scroll-margin-top: 6rem; }
.link-theme-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .8rem; padding-bottom: .65rem; border-bottom: 1px solid #ffffff24; }
.link-theme-title { margin: 0; color: #e7efff; font-size: 1.35rem; }
.link-list { display: flex; flex-direction: column; gap: .45rem; }
.link-card { min-width: 0; border: 1px solid #ffffff19; border-radius: 10px; background: #06122bd1; overflow: hidden; }
.link-row { display: flex; align-items: center; gap: .6rem; min-height: 52px; padding: .35rem .25rem .35rem .8rem; transition: background-color .15s ease; }
.link-row:hover, .link-row:focus-within { background-color: #82a6d61f; }
.link-preview-slot { display: flex; align-items: center; justify-content: center; flex: 0 0 48px; width: 48px; }
.link-preview-thumbnail { width: 48px; height: 32px; object-fit: contain; border-radius: 4px; background: #ffffff08; }
.link-preview-thumbnail.is-round { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.link-preview-large { display: block; float: left; width: min(320px, 40%); height: auto; aspect-ratio: auto; object-fit: contain; object-position: left center; margin: 0 1rem .5rem 0; border-radius: 6px; }
.link-preview-large.is-round { width: min(180px, 40%); aspect-ratio: 1; border-radius: 50%; object-fit: cover; object-position: center; }
.link-toggle { display: inline-flex; flex: 0 0 36px; align-items: center; justify-content: center; align-self: stretch; min-height: 40px; border: 0; border-radius: 6px; background: transparent; color: #c5d8f6; font-size: .75rem; }
.link-toggle:hover { background: #ffffff12; }
.link-toggle i { transition: transform .16s ease; }
.link-toggle[aria-expanded="true"] { background: #ffffff0a; }
.link-toggle[aria-expanded="true"] i { transform: rotate(180deg); }
.link-toggle:focus-visible, .link-card a:focus-visible { outline: 2px solid #b1cefc; outline-offset: 2px; }
.link-card-title { flex: 1 1 10rem; min-width: 0; color: #fafdff; font-size: 1rem; font-weight: 650; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.link-card-title:hover { color: white; text-decoration: underline; }
.link-card-title i { margin-left: .15rem; color: #aec9f0; font-size: .72em; }
.link-type-badge { display: inline-flex; align-items: center; justify-content: center; gap: .3rem; flex: 0 0 auto; padding: .15rem .45rem; border: 1px solid #b0ccf066; border-radius: 20px; background: #82a6d63d; color: #d8e7ff; font-size: .75rem; white-space: nowrap; }
.link-language { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; color: #c5d5ed; }
.link-flag { display: block; width: 24px; height: 16px; object-fit: cover; border: 1px solid #ffffff33; border-radius: 3px; }
.link-preview-tags { display: flex; align-items: center; flex: 0 1 auto; max-width: 35%; gap: .3rem; min-width: 0; white-space: nowrap; overflow: hidden; }
.link-preview-tags .badge { min-width: 0; overflow: hidden; text-overflow: ellipsis; font-weight: 500; }
.link-tags-extra { font-size: .75rem; color: #bdcce3; }
.link-counter { flex: 0 0 auto; text-decoration: none; }
.link-details { border-top: 1px solid #ffffff19; padding: 1rem; }
.link-description-content { display: flow-root; margin-bottom: 1rem; }
.link-card-description { color: #c6d6ed; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; margin: 0; }
.link-card-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: 1rem; }
.link-details-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.links-sidebar { position: sticky; top: 4.5rem; max-height: calc(100vh - 6rem); overflow-y: auto; }
.links-topics-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
.links-topics-toggle, .links-topics-close { display: none; }
.links-topics-toggle:focus-visible, .links-topics-close:focus-visible { outline: 2px solid #b1cefc; outline-offset: 3px; }
.links-page .news-archive .list-group-item { border-radius: 8px; padding: .35rem .45rem; }
.news-archive-item + .news-archive-item { margin-top: .15rem; }
.links-empty { color: #c6d3e9; margin: 0; }
@media (max-width: 1199.98px) { .link-preview-tags { display: none; } }
@media (max-width: 991.98px) {
  .link-preview-large, .link-preview-large.is-round { width: min(96px, 40%); margin-right: .75rem; }
  .link-type-label { display: none; }
  .links-sidebar { position: static; max-height: none; overflow-y: visible; }
  .link-theme-title { font-size: 1.2rem; }
  .links-topics-ready main { padding-bottom: calc(5rem + env(safe-area-inset-bottom, 0px)); }
  .links-topics-ready .links-topics-column { display: contents; }
  .links-topics-ready .links-topics-toggle {
    display: inline-flex; position: fixed; right: 1rem; bottom: calc(1rem + env(safe-area-inset-bottom, 0px)); z-index: 1030;
    align-items: center; gap: .6rem; min-height: 48px; padding: .7rem 1rem; border: 1px solid #849bc5; border-radius: 999px;
    background: #263f70; color: #f2f6ff; font: inherit; font-weight: 600; box-shadow: 0 6px 24px #0008;
  }
  .links-topics-toggle:hover { background: #35548c; }
  .links-topics-toggle .fa-chevron-up { transition: transform .16s ease; font-size: .8em; }
  .links-topics-toggle[aria-expanded="true"] .fa-chevron-up { transform: rotate(180deg); }
  .links-topics-ready .links-sidebar {
    position: fixed; top: auto; right: 1rem; bottom: calc(5rem + env(safe-area-inset-bottom, 0px)); z-index: 1030;
    width: min(20rem, calc(100vw - 2rem)); max-height: min(60vh, calc(100dvh - 10rem)); margin: 0;
    overflow-y: auto; overscroll-behavior: contain; border: 1px solid #6d87b0; border-radius: 16px; background: #0d2349;
    box-shadow: 0 10px 36px #0009; visibility: hidden; opacity: 0; transform: translateY(.5rem);
    transition: opacity .16s ease, transform .16s ease, visibility .16s;
  }
  .links-topics-ready .links-sidebar.is-open { visibility: visible; opacity: 1; transform: none; }
  .links-topics-ready .links-topics-close { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px; min-height: 36px; border: 0; border-radius: 6px; background: transparent; color: #d8e7ff; }
  .links-topics-close:hover { background: #ffffff15; }
  .links-topics-ready #links-archive-list a { padding: .6rem .5rem; }
}
@media (max-width: 575.98px) {
  .link-theme-block { padding: .7rem; }
  .link-row { gap: .3rem; padding-left: .5rem; }
  .link-toggle { flex-basis: 28px; font-size: .66rem; }
  .link-card-title { flex-basis: 5rem; font-size: .9rem; }
  .link-type-badge { padding: .2rem .35rem; }
  .link-counter { font-size: .65rem; padding: .3em .45em; }
  .link-details { padding: .8rem; }
}
@media (prefers-reduced-motion: reduce) { .link-toggle i, .link-row, .links-topics-toggle .fa-chevron-up, .links-topics-ready .links-sidebar { transition: none; } }
