/*
 * animeunity-community.css — the community area (board, post, create / edit,
 * La mia zona, Super X), the request queue (/request-anime) and the
 * leaderboard (/classifica = /leaderboard), in animeunity's vocabulary
 * (tmp/visual/GUIDE.md, tmp/community/SPEC.md §1). animeunity.so has none of
 * these pages: they are composed from its own pieces — Top Anime's flat title
 * strip with underline tabs, the home's box (header 20px 24px + divider,
 * body 24px, radius 3), col-lg-8 + col-lg-4 columns, sidebar rows, the
 * LayoutItems poster card, the `.btn-episode-nav` pill, the outline table
 * button, `#guardatutto`, the header's dropdown, app.css's modal.
 *
 * Loaded on every page by the layout. The `au-cy-*` primitives (§1) are
 * area-specific class names, so they are not scoped to a page root: the
 * Watch2gether pages (animeunity-w2g.css) use them too. Everything else is
 * scoped to a root only these pages emit (`.au-cy` page roots, the area's
 * modals, engine-built `#tl-search-modal`, `.req-*`, `.cm-*`, `.tl-*`).
 * Tokens only (--color-background / -0 / -1, --color-text / -0 / -plot,
 * --color-divider) — dark and light come free; hard-coded accents are
 * animeunity's own (#3db4f2 hover/active, #007bff buttons, #dc3545 danger).
 * community-badges.css (rank images + aura FX) stays a separate verbatim file.
 *
 *   1. Primitives: strip + tabs, box, side box, list nav, rows, avatars,
 *      chips, ranks, buttons, inputs, dropdown, modal, empty / loading
 *   2. Board: toolbar, sort tabs, pinned bar, post card, teaser, pager
 *   3. Post: article, byline, text, actions, comments head
 *   4. Post formats: poll, matchup, tier list, seasonal, recommendation
 *   5. Create / edit: form, topic chips, toolbar, builders, search dialog
 *   6. La mia zona
 *   7. Super X + leaderboard
 *   8. Request queue + "Richiedi un anime" dialog
 */

/* ── 1. Primitives ─────────────────────────────────────────────────────── */

/* Page root: `div#<page>.container.au-cy` inside main#content. */
.au-cy { padding-bottom: 10px; }
.au-cy a:hover { text-decoration: none; }
/* The first box of each column sits right under the strip (the row gap is the strip`s pb-4). */
@media (min-width: 992px) { .au-cy .col-lg-4 > :first-child { margin-top: 0; } }

/* Title strip = Top Anime's `#top .link-wrap` (app.css scopes it to #top):
   bg-1, 15px 30px, h1 25px/700 lh 1, underline tabs on the right. Phones:
   the tabs drop under the h1 and scroll sideways (animeunity swaps them for
   a select there; no JS needed for links). */
.au-cy-strip { position: relative; width: 100%; background: var(--color-background-1); padding: 15px 30px; }
.au-cy-strip::after { content: ''; display: table; clear: both; }
.au-cy-strip h1 { display: inline-block; margin: 5px 0 0; font-size: 25px; font-weight: 700; line-height: 1; color: var(--color-text-0); }
.au-cy-strip-nav { float: right; }
.au-cy-strip-lead { position: relative; margin: 10px 0 0; font-size: 13px; font-weight: 600; color: var(--color-text); }
.au-cy-strip-lead strong { color: var(--color-text-0); }
@media (max-width: 768px) { .au-cy-strip { padding: 15px; } }
@media (max-width: 767.98px) {
    .au-cy-strip-nav { float: none; margin: 10px -15px 0; padding: 0 15px; overflow-x: auto; scrollbar-width: none; }
    .au-cy-strip-nav::-webkit-scrollbar { display: none; }
    .au-cy-strip-nav .au-cy-tabs { flex-wrap: nowrap; }
}

/* Underline tabs = `#top .nav`: item mr 16, link 15px/600 padding 4px 8px,
   colour text; active + hover #3db4f2, active underline 2px. Never `.tabs`. */
.au-cy-tabs { flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.au-cy-tabs .nav-item { margin-right: 16px; text-align: center; }
.au-cy-tabs .nav-item:last-child { margin-right: 0; }
.au-cy-tabs .nav-link,
.au-cy-tabs .nav-link.dropdown-item { display: inline-block; width: auto; padding: 4px 8px; background: none; border: 0; border-bottom: 2px solid transparent; border-radius: 0; color: var(--color-text); font-size: 15px; font-weight: 600; line-height: 1.5; white-space: nowrap; cursor: pointer; }
.au-cy-tabs .nav-link:hover, .au-cy-tabs .nav-link:focus { background: none; color: #3db4f2; }
.au-cy-tabs .nav-link.active,
.au-cy-tabs .nav-link.dropdown-item.active { background: none; color: #3db4f2; border-bottom-color: #3db4f2; }
.au-cy-tabs-sm .nav-item { margin-right: 8px; }
.au-cy-tabs-sm .nav-link, .au-cy-tabs-sm .nav-link.dropdown-item { padding: 2px 6px; font-size: 13px; }

/* Box = the home's section box (bridge `.au-box-header/-body` values). */
.au-cy-box { margin-top: 14px; }
.au-cy-box-head { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; width: 100%; background: var(--color-background-1); padding: 20px 24px; border-bottom: 1px solid var(--color-divider); border-radius: 3px 3px 0 0; line-height: 1; }
.au-cy-box-head a.title:hover { color: #3db4f2; }
.au-cy-box-head .title { font-family: "P5 hatty", sans-serif; font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--color-text-0); }
.au-cy-box-body { background: var(--color-background-1); padding: 24px; border-radius: 0 0 3px 3px; }
.au-cy-box-body::after { content: ''; display: table; clear: both; }
.au-cy-box-acts { margin: -4px 0 -4px auto; font-family: Overpass, sans-serif; font-size: 12px; font-weight: 600; line-height: 26px; color: var(--color-text); }
.au-cy-box-acts > * { vertical-align: middle; }
.au-cy-box-acts .btn-sm { line-height: 1.5; }
.au-cy-box-acts a:not(.btn) { color: #3db4f2; }
.au-cy-box-acts a:not(.btn):hover { color: var(--color-text-0); }
@media (max-width: 500px) {
    .au-cy-box-head { padding: 24px 12px; }
    .au-cy-box-body { padding: 12px; }
}

/* Side strip heading = `#anime .related-title`; info box = `.info-wrapper`. */
.au-cy-side { background: var(--color-background-1); padding: 20px 15px; border-radius: 3px; margin: 14px 0 0; color: var(--color-text); font-size: 13px; }
.au-cy-side strong { color: var(--color-text-0); }
.au-cy-side a { color: #3db4f2; }
.au-cy-side a:hover { color: var(--color-text-0); }
.au-cy-side-title { background: var(--color-background-1); padding: 5px 15px; border-radius: 3px; margin-bottom: 8px; text-align: center; color: var(--color-text-0); }

/* Vertical list nav = the AnimeList sidebar `.list-item`. */
.au-cy-nav { margin: 0; padding: 0; list-style: none; }
.au-cy-navitem { display: block; margin-bottom: 8px; padding: 6px 10px; font-size: 14px; line-height: 1; color: var(--color-text); }
.au-cy-navitem:last-child { margin-bottom: 0; }
.au-cy-navitem:hover { color: #3db4f2; }
.au-cy-navitem.active { background: var(--color-background); border-radius: 6px; font-weight: 700; color: var(--color-text-0); }
.au-cy-navitem .au-cy-count { float: right; font-weight: normal; color: var(--color-text); }
.au-cy-navitem .au-cy-dot { margin-right: 8px; }

/* Rows = the sidebar row / notification-like row: image left, title, info. */
.au-cy-rows { margin: 0; padding: 0; list-style: none; }
.au-cy-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--color-divider); color: var(--color-text); }
.au-cy-row:first-child { padding-top: 0; }
.au-cy-row:last-child { border-bottom: 0; padding-bottom: 0; }
.au-cy-row.au-cy-row-2 { grid-template-columns: minmax(0, 1fr) auto; }
.au-cy-row-main { min-width: 0; line-height: 1.25; }
.au-cy-row-title { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 900; color: var(--color-text-0); }
a.au-cy-row-title:hover, a:hover > .au-cy-row-title { color: #3db4f2; }
.au-cy-row-info { display: block; margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; font-weight: 600; color: var(--color-text); }
.au-cy-row-info a { color: inherit; }
.au-cy-row-info a:hover { color: #3db4f2; }
.au-cy-row-val { font-size: 12px; font-weight: 700; color: var(--color-text-0); white-space: nowrap; text-align: right; }
.au-cy-row-val small { font-size: 10px; font-weight: 600; color: var(--color-text); }
.au-cy-rank-n { display: inline-block; width: 28px; text-align: center; font-size: 18px; font-weight: 700; line-height: 1; color: var(--color-text-0); }
.au-cy-rank-n.is-top { color: #3db4f2; }
.au-cy-poster-xs { display: block; width: 32px; height: 45px; border-radius: 3px; object-fit: cover; background: #2c2c2c; }
.au-cy-row-media { display: flex; align-items: center; gap: 8px; }

/* Avatars: `.profile-img` (25px circle) scaled. */
.au-cy-av { display: inline-block; flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; object-fit: cover; background: #2c2c2c; vertical-align: middle; }
.au-cy-av-20 { width: 20px; height: 20px; }
.au-cy-av-40 { width: 40px; height: 40px; }
.au-cy-av-100 { width: 100px; height: 100px; }

/* Topic chip = the archivio tag badge (10.5px/700, radius 3.5), white on
   the topic colour; palette = animeunity's own hard-coded colours. */
.au-cy-c-blue { --au-cy: #3480ea; }
.au-cy-c-sky { --au-cy: #3db4f2; }
.au-cy-c-cyan { --au-cy: #17a2b8; }
.au-cy-c-teal { --au-cy: #20c997; }
.au-cy-c-green { --au-cy: #4cca51; }
.au-cy-c-lime { --au-cy: #8bc34a; }
.au-cy-c-yellow { --au-cy: #e3c000; }
.au-cy-c-amber { --au-cy: #ffc107; }
.au-cy-c-orange { --au-cy: #f2870d; }
.au-cy-c-coral { --au-cy: #ff7043; }
.au-cy-c-red { --au-cy: #c4213f; }
.au-cy-c-pink { --au-cy: #e83e8c; }
.au-cy-c-purple { --au-cy: #9256f3; }
.au-cy-c-white, .au-cy-c-gray { --au-cy: #6c757d; }
.au-cy-chip { display: inline-block; padding: 4px 7px 2px; border-radius: 3.5px; background: var(--au-cy, #6c757d); color: #fff !important; font-size: 10.5px; font-weight: 700; line-height: 1.2; white-space: nowrap; vertical-align: 1px; }
.au-cy-chip.au-cy-c-yellow, .au-cy-chip.au-cy-c-amber, .au-cy-chip.au-cy-c-lime { color: #11161d !important; }
a.au-cy-chip:hover { opacity: .85; }
.au-cy-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--au-cy, #6c757d); vertical-align: 1px; }

/* Rank label beside a name; staff names orange. */
.au-cy-rank { display: inline-block; padding: 1px 5px; border-radius: 3px; background: var(--color-background); color: var(--color-text); font-size: 10px; font-weight: 700; line-height: 1.5; text-transform: uppercase; vertical-align: 1px; white-space: nowrap; }
.au-cy-name { color: var(--color-text-0); font-weight: 700; }
a.au-cy-name:hover { color: #3db4f2; }
.au-cy-name.is-level-d, .is-level-d > .au-cy-name { color: #f2870d; }
.au-cy-name .badg-level, .au-cy-row .badg-level { width: 14px; height: 14px; min-width: 14px; min-height: 14px; margin-right: 3px; vertical-align: -2px; }
.au-cy-name .badg-aura { width: 20px; height: 20px; margin-right: 3px; vertical-align: -5px; }

/* Buttons. Outline = Top Anime's table button; pill = `.btn-episode-nav`;
   text action = `a.report`; block link = `#guardatutto`. */
.au-cy-btn-o { display: inline-block; padding: 5px 8px; border: 1px solid #007bff; border-radius: 3.5px; background: transparent; color: #007bff; font-size: 12px; font-weight: 400; line-height: 1.5; text-align: center; white-space: nowrap; cursor: pointer; transition: background .15s, color .15s; }
.au-cy-btn-o:hover, .au-cy-btn-o:focus, .au-cy-btn-o.active { background: #007bff; color: #fff; outline: none; text-decoration: none; }
.au-cy-btn-o i { margin-right: 5px; }
.au-cy-btn-o:disabled, .au-cy-btn-o.disabled { opacity: .5; cursor: default; pointer-events: none; }
.au-cy-act { display: inline-flex; align-items: center; padding: 4px 8px; border: 0; border-radius: 3px; background: none; color: var(--color-text); font-size: 12px; font-weight: 600; line-height: 1.5; white-space: nowrap; cursor: pointer; }
.au-cy-act i { margin-right: 5px; }
.au-cy-act:hover, .au-cy-act:focus { background: rgba(0, 0, 0, .1); color: var(--color-text-0); outline: none; }
.au-cy-act.active { color: #3db4f2; }
.au-cy-act.au-cy-danger:hover { color: #dc3545; }
.au-cy-pill { display: inline-block; min-width: 50px; margin: 5px; padding: 5px 10px; border: 0; border-radius: 6px; background: var(--color-background); color: var(--color-text-0); font-size: 13px; font-weight: 600; line-height: 1.5; text-align: center; cursor: pointer; transition: background .15s, color .15s; }
.au-cy-pill:hover, .au-cy-pill:focus, .au-cy-pill.active, .au-cy-pill.is-active, .au-cy-pill.is-on { background: #007bff; color: #fff; outline: none; }
.au-cy-more { display: block; width: 100%; padding: 5.25px 10.5px; border: 0; border-radius: 0; background: rgba(17, 22, 29, .8); color: #fff !important; font-size: 14px; font-weight: 400; line-height: 1.5; text-align: center; cursor: pointer; }
.au-cy-more:hover, .au-cy-more:focus { background: #11161d; color: #fff; outline: none; }
.au-cy-danger { color: #dc3545 !important; }

/* Inputs: the import / modal field look (bg page colour, no border). */
.au-cy-lbl { display: block; margin-bottom: 5px; font-size: 12px; font-weight: 600; color: var(--color-text); }
.form-control.au-cy-input, .au-cy-input { height: 34px; padding: 5.25px 10.5px; border: 0; border-radius: 3.5px; background: var(--color-background); color: var(--color-text-0); font-size: 14px; font-weight: 600; box-shadow: none; }
textarea.au-cy-input, textarea.form-control.au-cy-input { height: auto; min-height: 120px; padding: 8px 10.5px; line-height: 1.5; resize: vertical; }
.au-cy-input:focus, .form-control.au-cy-input:focus { background: var(--color-background); color: var(--color-text-0); box-shadow: none; outline: 1px solid #3db4f2; }
.au-cy-input::placeholder { color: var(--color-text); opacity: .7; }
.au-cy-input.is-invalid { outline: 1px solid #dc3545; }
select.au-cy-input { padding-right: 24px; }
html.theme-dark .au-cy-input { color-scheme: dark; }
/* Search field = archivio's `.search-bar` (both parts on the page colour
   inside bg-1 boxes). */
.au-cy-search { flex-wrap: nowrap; }
.au-cy-search .input-group-text { padding: 0 6px 0 12px; border: 0; border-radius: 3.5px 0 0 3.5px; background: var(--color-background); color: var(--color-text); font-size: 12px; }
.au-cy-search .form-control { height: 34px; padding: 7px 10px 5px 4px; border: 0; border-radius: 0 3.5px 3.5px 0; background: var(--color-background); color: var(--color-text-0); font-size: 15px; font-weight: 600; box-shadow: none; }
.au-cy-search .form-control:focus { background: var(--color-background); color: var(--color-text-0); box-shadow: none; }
.au-cy-search .form-control::placeholder { color: var(--color-text); opacity: .7; }
.au-cy-search .form-control::-webkit-search-cancel-button { filter: grayscale(1); }

/* In-page dropdown (menu = the toggle's sibling, main.js opens it):
   the header's menu look; `.au-dropdown` (bridge) carries the values. */
.au-cy-dd.dropdown-menu { z-index: 50; }
.au-cy-dd .dropdown-item { font-size: 14px; white-space: nowrap; cursor: pointer; }
.au-cy-dd .dropdown-item.au-cy-danger:hover { color: #dc3545 !important; }

/* Modal = app.css's `.modal-content` (bg-1, radius 6, Open Sans), sized
   inside `.au-modal-dialog`; its every-input dark rule reset for radios. */
.au-cy-modal .modal-content.au-cy-modal-sm { max-width: 520px; }
.au-cy-modal .modal-header { align-items: center; padding: 20px 40px 0; border: 0; }
.au-cy-modal .modal-title { font-size: 18px; font-weight: 700; color: var(--color-text-0); }
.au-cy-modal .modal-header .close { margin: -10px -20px -10px auto; padding: 10px; font-size: 26px; font-weight: 400; color: var(--color-text-0); opacity: .8; }
.au-cy-modal .modal-header .close:hover { opacity: 1; }
.au-cy-modal .modal-body { padding: 20px 40px 30px; font-size: 15px; color: var(--color-text); }
.au-cy-modal label { font-size: 12px; color: var(--color-text); }
.au-cy-modal input[type=radio], .au-cy-modal input[type=checkbox] { width: auto; height: auto; padding: 0; }
.au-cy-modal .form-control:focus { box-shadow: none; outline: 1px solid #3db4f2; }
.au-cy-modal .modal-body > :last-child, .au-cy-modal form > :last-child { margin-bottom: 0; }
.au-cy-modal .au-cy-note { margin: 10px 0 0; font-size: 12px; color: var(--color-text); }
.au-cy-modal .au-cy-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 20px; }
@media (max-width: 500px) {
    .au-cy-modal .modal-header { padding: 20px 20px 0; }
    .au-cy-modal .modal-header .close { margin-right: -10px; }
    .au-cy-modal .modal-body { padding: 20px; }
}

/* Empty state = animeunity's `#nofound`; loading line with the spinner. */
.au-cy-empty { margin: 15px 0 0; text-align: center; font-size: 16px; font-weight: 600; color: var(--color-text-0); }
.au-cy-box-body > .au-cy-empty:first-child, .tab-pane > .au-cy-empty:first-child, [data-au-lb-period] > .au-cy-empty:first-child { margin-top: 0; }
.au-cy-empty a { color: #3db4f2; }
.au-cy-empty .btn, .au-cy-empty .au-cy-btn-o { margin-top: 15px; }
.au-cy-loading { padding: 15px 0; text-align: center; font-size: 13px; font-weight: 600; color: var(--color-text); }
.au-cy-loading .loading { display: inline-block; width: 24px; vertical-align: middle; margin-right: 8px; }
.au-cy-spin { display: inline-block; width: 14px; height: 14px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; vertical-align: -2px; animation: au-spin .7s linear infinite; }
.au-cy-note-line { margin: 0 0 15px; padding: 10px 15px; border-left: 3px solid #3db4f2; border-radius: 0 3px 3px 0; background: var(--color-background); font-size: 12px; color: var(--color-text); }
.au-cy-note-line a { color: #3db4f2; font-weight: 700; }

/* ── 2. Board ──────────────────────────────────────────────────────────── */

.au-cy-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; }
.au-cy-topic > .au-cy-pill { margin: 0; text-align: left; }
.au-cy-topic > .au-cy-pill strong { color: inherit; }
.au-cy-topic > .au-cy-pill i { margin-left: 6px; font-size: 11px; }
.au-cy-topic.show > .au-cy-pill { background: #007bff; color: #fff; }
.au-cy-topic .dropdown-menu { max-height: 320px; overflow-y: auto; }
.au-cy-sorts { margin: 0 -8px 0 0; }
.au-cy-sorts .nav-item { margin-right: 6px; }
.au-cy-board .post-list { margin-top: 15px; }

/* Pinned bar (`.pin-group`, page 1): an info strip with sidebar rows. */
.au-cy-pins { margin-bottom: 15px; padding: 15px 20px; border-left: 3px solid #3db4f2; border-radius: 3px; background: var(--color-background-1); }
.au-cy-pins-head { margin-bottom: 10px; color: #3db4f2; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.au-cy-pins-head i { margin-right: 6px; }
.au-cy-pins .au-cy-row { grid-template-columns: auto minmax(0, 1fr) auto; }
.au-cy-pins .au-cy-row-title { font-size: 13px; }

/* Post card: bg-1 card, vote column + body. */
.au-cy-post { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 15px; margin-bottom: 15px; padding: 15px 20px; border-radius: 3px; background: var(--color-background-1); color: var(--color-text); }
.au-cy-post.au-cy-is-pinned { border-left: 3px solid #3db4f2; padding-left: 17px; }
.au-cy-vote { display: flex; flex-direction: column; align-items: center; gap: 2px; padding-top: 2px; }
.au-cy-vote .lp-btn-vote { display: block; width: 28px; height: 22px; border-radius: 3px; color: var(--color-text); font-size: 16px; line-height: 22px; text-align: center; }
.au-cy-vote .lp-btn-vote:hover { background: rgba(0, 0, 0, .1); color: #3db4f2; }
.au-cy-vote .lp-btn-vote[data-type="1"].active { color: #3db4f2; }
.au-cy-vote .lp-btn-vote[data-type="0"].active { color: #dc3545; }
.au-cy-score { font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--color-text-0); }
.au-cy-post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; font-size: 12px; font-weight: 600; line-height: 20px; color: var(--color-text); }
.au-cy-post-meta .au-cy-pinned { color: #3db4f2; font-weight: 700; text-transform: uppercase; font-size: 11px; }
.au-cy-post-meta .au-cy-pinned i { margin-right: 4px; }
.au-cy-post-title { margin: 6px 0 0; font-size: 17px; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.au-cy-post-title a { color: var(--color-text-0); }
.au-cy-post-title a:hover { color: #3db4f2; }
.au-cy-excerpt { display: -webkit-box; margin: 6px 0 0; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; color: var(--color-text-plot); font-size: 13px; font-weight: 400; line-height: 1.5; overflow-wrap: anywhere; }
.au-cy-post .cm-teaser { display: flex; align-items: center; gap: 10px; margin-top: 10px; padding: 8px; border-radius: 6px; background: var(--color-background); color: var(--color-text); }
.au-cy-post .cm-teaser:hover { color: var(--color-text-0); }
.au-cy-post .cm-teaser-posters { display: flex; flex: 0 0 auto; gap: 4px; }
.au-cy-post .cm-teaser-posters img { width: 46px; height: 60px; border-radius: 3px; object-fit: cover; background: #2c2c2c; }
.au-cy-post .cm-teaser-meta { min-width: 0; font-size: 11px; font-weight: 600; }
.au-cy-post .cm-teaser-meta i { margin-right: 5px; color: #3db4f2; }
.au-cy-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin: 10px 0 0 -8px; }
.au-cy-acts .dropdown { display: inline-block; }
.au-cy-acts .cm-post-save.active { color: #3db4f2; }
.au-cy-acts i.mr-2 { margin-right: 5px !important; }
.au-cy-pager.btn.d-flex { display: flex; justify-content: center; width: 100%; padding: 0; margin: 0 0 15px; border: 0; background: none; }
.au-cy-pager.btn.d-flex:focus { box-shadow: none; }
@media (max-width: 500px) {
    .au-cy-post { grid-template-columns: 32px minmax(0, 1fr); gap: 10px; padding: 12px; }
    .au-cy-post.au-cy-is-pinned { padding-left: 9px; }
    .au-cy-post-title { font-size: 15px; }
    .au-cy-acts .au-cy-act-label { display: none; }
    .au-cy-acts .au-cy-act i { margin-right: 0; }
    .au-cy-pins { padding: 12px; }
}

/* ── 3. Post ───────────────────────────────────────────────────────────── */

.au-cy-article .au-cy-box-head .au-cy-dot { margin-right: 10px; vertical-align: 3px; }
.au-cy-post-h1 { margin: 0 0 12px; font-size: 25px; font-weight: 700; line-height: 1.2; color: var(--color-text-0); overflow-wrap: anywhere; }
.au-cy-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-bottom: 20px; font-size: 12px; color: var(--color-text); }
.au-cy-byline .au-cy-name { font-size: 14px; }
.au-cy-byline .au-cy-score-line { margin-left: auto; }
.au-cy-byline .au-cy-score-line strong { color: var(--color-text-0); }
.au-cy-text { color: var(--color-text-0); font-size: 14px; font-weight: 400; line-height: 1.6; overflow-wrap: anywhere; }
.au-cy-text > :last-child { margin-bottom: 0; }
.au-cy-text p { margin: 0 0 12px; }
.au-cy-text a { color: #3db4f2; }
.au-cy-text a:hover { text-decoration: underline; }
.au-cy-text strong, .au-cy-text b { font-weight: 700; }
.au-cy-text blockquote { margin: 0 0 12px; padding: 4px 0 4px 12px; border-left: 3px solid var(--color-divider); color: var(--color-text); }
.au-cy-text img { max-width: 100%; height: auto; border-radius: 3px; }
.au-cy-text ul, .au-cy-text ol { padding-left: 22px; }
.au-cy-text code { padding: 1px 5px; border-radius: 3px; background: var(--color-background); font-size: 12px; }
.au-cy-text .cm-spoil, .au-cy-text .spoil, .au-cy-text .spoiler { border-radius: 3px; background: var(--color-text); color: transparent; cursor: pointer; transition: color .15s, background .15s; }
.au-cy-text .cm-spoil.show, .au-cy-text .spoil.show, .au-cy-text .spoiler.show, .au-cy-text .cm-spoil:hover { background: var(--color-background); color: var(--color-text-0); }
.au-cy-article .au-cy-acts { margin-top: 20px; padding-top: 12px; border-top: 1px solid var(--color-divider); }
.au-cy-article .lp-btn-vote[data-type="1"].active { color: #3db4f2; }
.au-cy-article .lp-btn-vote[data-type="0"].active { color: #dc3545; }
.au-cy-share { margin-top: 12px; }
/* Comments: the anime page's strip head, then the shared widget on the
   page background (animeunity-comments.css). */
.au-cy-comments { margin-top: 20px; }
.au-cy-cm-head { display: flex; align-items: center; margin-bottom: 15px; padding: 10px 18px; border-radius: 3px; background: var(--color-background-1); }
.au-cy-cm-head strong { font-size: 16px; font-weight: 900; color: var(--color-text-0); }
.au-cy-cm-head span { margin-left: auto; font-size: 12px; color: var(--color-text); }
#content-comments-community .au-cy-loading { border-radius: 3px; background: var(--color-background-1); }
@media (max-width: 500px) {
    .au-cy-post-h1 { font-size: 20px; }
    .au-cy-byline .au-cy-score-line { margin-left: 0; width: 100%; }
}

/* ── 4. Post formats (inset box on the page colour) ────────────────────── */

.au-cy-fmt { margin: 0 0 20px; padding: 15px; border-radius: 6px; background: var(--color-background); }
.au-cy-fmt .cm-poll-head { margin-bottom: 10px; color: var(--color-text); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.au-cy-fmt .cm-poll-head i { margin-right: 6px; color: #3db4f2; }

/* Poll */
.cm-poll-row { display: flex; align-items: stretch; gap: 6px; margin-bottom: 6px; }
.cm-poll-row:last-child { margin-bottom: 0; }
.cm-poll-opt { display: grid; flex: 1 1 auto; grid-template-columns: 40px minmax(0, 1fr); align-items: center; gap: 10px; min-width: 0; padding: 6px; border: 0; border-radius: 3px; background: var(--color-background-1); color: var(--color-text); font-family: inherit; text-align: left; cursor: pointer; transition: background .15s, box-shadow .15s; }
.cm-poll-opt.au-cy-noimg { grid-template-columns: minmax(0, 1fr); padding-left: 12px; }
.cm-poll-opt:hover { background: rgba(61, 180, 242, .1); }
.cm-poll-opt:focus { outline: none; }
.cm-poll-opt.is-mine { box-shadow: inset 3px 0 0 #3db4f2; }
.cm-poll-poster img { display: block; width: 40px; height: 57px; border-radius: 3px; object-fit: cover; background: #2c2c2c; }
.cm-poll-body { display: block; min-width: 0; }
.cm-poll-title { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--color-text-0); font-size: 13px; font-weight: 600; }
.cm-poll-bar { display: none; height: 6px; margin: 6px 0 4px; border-radius: 6px; background: var(--color-background); overflow: hidden; }
.cm-poll-bar > span { display: block; height: 100%; border-radius: 6px; background: #3db4f2; transition: width .3s; }
.cm-poll-opt.is-mine .cm-poll-bar > span { background: #007bff; }
.cm-poll-opt.is-revealed .cm-poll-bar { display: block; }
.cm-poll-meta { display: block; margin-top: 2px; color: var(--color-text); font-size: 11px; font-weight: 600; }
.cm-poll-link { display: flex; flex: 0 0 30px; align-items: center; justify-content: center; border-radius: 3px; background: var(--color-background-1); color: var(--color-text); }
.cm-poll-link:hover { color: #3db4f2; }

/* Matchup */
.cm-matchup-row { display: flex; align-items: center; justify-content: center; gap: 15px; }
.cm-matchup-card { position: relative; display: flex; flex: 0 1 200px; flex-direction: column; align-items: center; min-width: 0; padding: 0; border: 0; border-radius: 3px; background: none; color: var(--color-text); font-family: inherit; cursor: pointer; }
.cm-matchup-card:focus { outline: none; }
.cm-matchup-card img { display: block; width: 100%; aspect-ratio: 381 / 541; border-radius: 3px; object-fit: cover; background: #2c2c2c; transition: opacity .15s; }
.cm-matchup-ph { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 381 / 541; border-radius: 3px; background: #2c2c2c; color: #6c757d; font-size: 28px; }
.cm-matchup-card:hover img { opacity: .85; }
.cm-matchup-card.is-mine img { outline: 2px solid #3db4f2; outline-offset: 2px; }
.cm-matchup-title { display: block; width: 100%; margin-top: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--color-text-0); font-size: 13px; font-weight: 600; text-align: center; }
.cm-matchup-cta { position: absolute; top: 8px; left: 50%; transform: translateX(-50%); padding: 3px 8px; border-radius: 3px; background: rgba(17, 22, 29, .8); color: #fff; font-size: 11px; font-weight: 700; text-transform: uppercase; white-space: nowrap; }
.cm-matchup-pct { display: block; margin-top: 4px; color: #3db4f2; font-size: 20px; font-weight: 700; line-height: 1.2; }
.cm-matchup-votes { display: block; color: var(--color-text); font-size: 11px; font-weight: 600; }
.cm-matchup-vs { display: flex; flex: 0 0 40px; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: #007bff; color: #fff; font-size: 14px; font-weight: 800; }

/* Tier list (read-only) — row colours are the author's (tl-c-*). */
.tl-c-red { --tl: #ff7f7f; } .tl-c-orange { --tl: #ffbf7f; } .tl-c-amber { --tl: #ffdf7f; } .tl-c-yellow { --tl: #f7e15b; }
.tl-c-green { --tl: #7fdf7f; } .tl-c-teal { --tl: #6fd6c6; } .tl-c-blue { --tl: #7fbfff; } .tl-c-purple { --tl: #b49cf0; }
.tl-c-pink { --tl: #ff8fc7; } .tl-c-gray { --tl: #b0bec5; }
.tl-view .tl-row { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 2px; margin-bottom: 2px; }
.tl-view .tl-label { display: flex; align-items: center; justify-content: center; padding: 6px; border-radius: 3px 0 0 3px; background: var(--tl, #b0bec5); color: #11161d; font-size: 14px; font-weight: 700; text-align: center; overflow-wrap: anywhere; }
.tl-view .tl-items { display: flex; flex-wrap: wrap; gap: 4px; min-height: 78px; padding: 4px; border-radius: 0 3px 3px 0; background: var(--color-background-1); }
.tl-view .tl-item img, .tl-view .tl-item-gone { display: block; width: 50px; height: 70px; border-radius: 3px; object-fit: cover; background: #2c2c2c; }
.tl-view .tl-item:hover img { opacity: .8; }
.tl-view .tl-empty { align-self: center; padding: 0 8px; color: var(--color-text); font-size: 11px; }

/* Seasonal ranking */
.cm-seasonal-list { margin: 0; padding: 0; list-style: none; }
.cm-seasonal-list > li { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 8px; padding: 6px 0; border-bottom: 1px solid var(--color-divider); }
.cm-seasonal-list > li:last-child { border-bottom: 0; }
.cm-seasonal-rank { color: var(--color-text-0); font-size: 18px; font-weight: 700; text-align: center; }
.cm-seasonal-list > li.is-top .cm-seasonal-rank { color: #3db4f2; }
.cm-seasonal-list a { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 8px; color: var(--color-text-0); font-size: 12px; font-weight: 700; }
.cm-seasonal-list a:hover { color: #3db4f2; }
.cm-seasonal-list img { display: block; width: 48px; height: 70px; border-radius: 3px; object-fit: cover; background: #2c2c2c; }
.cm-seasonal-gone { color: var(--color-text); font-size: 12px; }

/* Recommendation */
.cm-rec-refs { display: grid; grid-template-columns: repeat(auto-fill, minmax(105px, 1fr)); gap: 15px; }
.cm-rec-item { display: block; min-width: 0; color: var(--color-text); }
.cm-rec-item img { display: block; width: 100%; aspect-ratio: 381 / 541; border-radius: 3px; object-fit: cover; background: #2c2c2c; }
.cm-rec-item span { display: block; margin-top: 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.cm-rec-item:hover { color: #3db4f2; }
@media (max-width: 500px) {
    .au-cy-fmt { padding: 10px; }
    .cm-matchup-row { gap: 8px; }
    .cm-matchup-vs { flex-basis: 32px; width: 32px; height: 32px; font-size: 12px; }
    .tl-view .tl-row { grid-template-columns: 56px minmax(0, 1fr); }
    .tl-view .tl-label { font-size: 12px; }
    .tl-view .tl-item img, .tl-view .tl-item-gone { width: 40px; height: 56px; }
    .tl-view .tl-items { min-height: 64px; }
    .cm-rec-refs { grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); gap: 10px; }
}

/* ── 5. Create / edit ──────────────────────────────────────────────────── */

.au-cy-form .au-cy-field { margin-bottom: 18px; }
.au-cy-form .invalid-feedback { display: block; font-size: 12px; }
.au-cy-tagset { display: flex; flex-wrap: wrap; margin: -5px; }
.au-cy-tagset .cp-tag { position: relative; display: inline-flex; align-items: center; gap: 6px; margin: 5px; }
.au-cy-tagset .cp-tag input[type=radio] { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.au-cy-tagset .cp-tag small { padding: 0 4px; border-radius: 3px; background: rgba(0, 0, 0, .15); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.au-cy-tagset .cp-tag:focus-within { outline: 1px solid #3db4f2; }
.au-cy-tagset .cp-tag.is-on .au-cy-dot { box-shadow: 0 0 0 2px #fff; }
.au-cy-fmtbar { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 6px; }
.au-cy-fmtbar .cp-fmt-btn { margin: 0; min-width: 0; padding: 4px 9px; font-size: 12px; }
.au-cy-fmtbar .cp-fmt-btn i { margin-right: 5px; }
@media (max-width: 500px) {
    .au-cy-fmtbar .cp-fmt-btn span { display: none; }
    .au-cy-fmtbar .cp-fmt-btn i { margin-right: 0; }
}
.au-cy-md-help { margin: 6px 0 0; font-size: 11px; color: var(--color-text); }
.au-cy-md-help code { margin-right: 6px; padding: 1px 5px; border-radius: 3px; background: var(--color-background); color: var(--color-text-0); font-size: 11px; }
.au-cy-form-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 15px; margin-top: 20px; }
.au-cy-form-foot .au-cy-mana { margin-left: auto; font-size: 12px; color: var(--color-text); }
.au-cy-form-foot .au-cy-mana i { margin-right: 5px; color: #3db4f2; }
.au-cy-cancel { padding: 5px 10px; border-radius: 5px; background: var(--color-background-0); color: #fff !important; font-size: 12px; opacity: .9; }
.au-cy-cancel:hover { opacity: 1; }
.au-cy-builder { margin-bottom: 18px; }
.au-cy-builder-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 10px; margin-bottom: 8px; }
.au-cy-builder-head .au-cy-lbl { margin: 0; }
.au-cy-builder-head .tl-limits, .au-cy-builder-head #poll-builder-hint { font-size: 11px; color: var(--color-text); }

/* Tier list builder (rows re-rendered by community.min.js). */
.tl-builder .tl-brow { display: grid; grid-template-columns: 80px minmax(0, 1fr) auto; gap: 2px; margin-bottom: 2px; }
.tl-builder .tl-label { display: flex; align-items: center; justify-content: center; padding: 4px; border-radius: 3px 0 0 3px; background: var(--tl, #b0bec5); }
.tl-builder .tl-label-input { width: 100%; height: auto; padding: 4px 2px; border: 0; border-radius: 3px; background: transparent; color: #11161d; font-size: 14px; font-weight: 700; text-align: center; }
.tl-builder .tl-label-input:focus { outline: 1px dashed rgba(17, 22, 29, .5); background: rgba(255, 255, 255, .3); }
.tl-builder .tl-bitems { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; min-height: 78px; padding: 4px; background: var(--color-background-1); }
.tl-builder .tl-bitem { position: relative; }
.tl-builder .tl-bitem img, .tl-builder .tl-bitem-ph { display: block; width: 50px; height: 70px; border-radius: 3px; object-fit: cover; background: #2c2c2c; }
.tl-builder .tl-bitem-ph { padding: 4px; overflow: hidden; color: #fff; font-size: 9px; line-height: 1.2; }
.tl-builder .tl-bitem-x { position: absolute; top: -5px; right: -5px; width: 18px; height: 18px; padding: 0; border: 0; border-radius: 50%; background: #dc3545; color: #fff; font-size: 9px; line-height: 18px; text-align: center; cursor: pointer; opacity: 0; transition: opacity .15s; }
.tl-builder .tl-bitem:hover .tl-bitem-x, .tl-builder .tl-bitem-x:focus { opacity: 1; }
.tl-builder .tl-add-item { width: 50px; height: 70px; padding: 0; border: 1px dashed var(--color-divider); border-radius: 3px; background: none; color: var(--color-text); cursor: pointer; }
.tl-builder .tl-add-item:hover { border-color: #3db4f2; color: #3db4f2; }
.tl-builder .tl-rowtools { display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 2px 4px; border-radius: 0 3px 3px 0; background: var(--color-background-1); }
.tl-builder .tl-tool { display: block; width: 24px; height: 18px; border-radius: 3px; color: var(--color-text); font-size: 11px; line-height: 18px; text-align: center; }
.tl-builder .tl-tool:hover { background: rgba(0, 0, 0, .1); color: #3db4f2; }
.tl-builder .tl-tool.is-off { opacity: .3; pointer-events: none; }
.tl-builder .tl-remove-row:hover { color: #dc3545; }
.tl-toolbar, .poll-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 10px; }
.tl-count, .poll-count { font-size: 12px; color: var(--color-text); }

/* Poll / matchup / seasonal / recommendation builder. */
.poll-season-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; }
.poll-season-bar select, .poll-season-bar input { width: auto; }
.poll-season-bar #poll-year { width: 90px; }
.poll-options .poll-opt { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; padding: 6px; border-radius: 3px; background: var(--color-background-1); }
.poll-options .poll-rank { flex: 0 0 28px; color: var(--color-text-0); font-size: 14px; font-weight: 700; text-align: center; }
.poll-options .poll-opt img, .poll-options .poll-opt-ph { display: block; width: 40px; height: 57px; border-radius: 3px; object-fit: cover; background: #2c2c2c; }
.poll-options .poll-opt-title { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--color-text-0); font-size: 13px; font-weight: 600; }
.poll-options .poll-opt-tools { display: flex; gap: 2px; }
.poll-options .poll-opt-tools a, .poll-options .poll-opt-tools button { display: inline-block; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 3px; background: none; color: var(--color-text); font-size: 12px; line-height: 26px; text-align: center; cursor: pointer; }
.poll-options .poll-opt-tools a:hover, .poll-options .poll-opt-tools button:hover { background: rgba(0, 0, 0, .1); color: #3db4f2; }
.poll-options .poll-opt-x:hover { color: #dc3545 !important; }
.poll-options .poll-empty { padding: 12px; border-radius: 3px; background: var(--color-background-1); color: var(--color-text) !important; font-size: 12px; text-align: center; }
.poll-type-switch { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.poll-type-switch .poll-switch { padding: 4px 10px; font-size: 12px; }
.poll-type-switch .poll-switch.btn-secondary { border-color: var(--color-divider); background: var(--color-background-1); color: var(--color-text-0); }

/* The anime search dialog community.min.js appends to <body>. */
#tl-search-modal .modal-dialog { max-width: 560px; }
#tl-search-modal .modal-content { width: 100%; margin: 0; font-family: Overpass, sans-serif; font-size: 14px; }
#tl-search-modal .modal-header { align-items: center; padding: 20px 24px 10px; border: 0; }
#tl-search-modal .modal-title, #tl-search-modal .modal-header h5 { font-size: 18px; font-weight: 700; color: var(--color-text-0); }
#tl-search-modal .modal-body { padding: 10px 24px 24px; }
#tl-search-modal #tl-search-input { width: 100%; }
#tl-search-modal #tl-search-results { max-height: 50vh; margin-top: 10px; overflow-y: auto; }
#tl-search-modal .tl-search-item { display: flex; align-items: center; gap: 12px; width: 100%; padding: 8px 10px; border: 0; border-radius: 3px; background: none; color: var(--color-text-0); text-align: left; cursor: pointer; }
#tl-search-modal .tl-search-item:hover { background: #3db4f2; color: #fff; }
#tl-search-modal .tl-search-item img { width: 40px; height: 57px; flex: 0 0 40px; border-radius: 3px; object-fit: cover; background: #2c2c2c; }
#tl-search-modal .tl-search-name { flex: 1 1 auto; min-width: 0; font-size: 14px; }
#tl-search-modal .tl-search-state { font-size: 12px; font-weight: 400; }
#tl-search-modal .tl-search-item.is-added { opacity: .55; }
#tl-search-modal .tl-search-hint { padding: 10px 0; color: var(--color-text); font-size: 12px; text-align: center; }
#tl-search-modal .close { color: var(--color-text-0); opacity: .8; }

/* ── 6. La mia zona ────────────────────────────────────────────────────── */

.au-cy-zone .mz-post-row { display: block; padding: 12px 0; border-bottom: 1px solid var(--color-divider); }
.au-cy-zone .mz-post-row:first-child { padding-top: 0; }
.au-cy-zone .mz-post-row:last-child { border-bottom: 0; padding-bottom: 0; }
.au-cy-zone .mz-title { display: block; margin: 4px 0 6px; font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--color-text-0); overflow-wrap: anywhere; }
.au-cy-zone .mz-title:hover { color: #3db4f2; }
.au-cy-zone .mz-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-size: 12px; color: var(--color-text); }
.au-cy-zone .mz-foot i { margin-right: 4px; }
.au-cy-zone .mz-acts { display: flex; gap: 6px; margin-left: auto; }
.au-cy-zone .mz-hidden { padding: 1px 5px; border-radius: 3px; background: #6c757d; color: #fff; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.au-cy-zone .mz-older { margin-top: 15px; }
.au-cy-card { text-align: center; }
.au-cy-card .au-cy-av-100 { display: block; margin: 0 auto 12px; }
.au-cy-card-name { display: block; font-size: 20px; font-weight: 700; line-height: 1.2; color: var(--color-text-0); overflow-wrap: anywhere; }
.au-cy-card-rank { margin-top: 6px; font-size: 12px; color: var(--color-text); }
.au-cy-card-rank .badg-level { vertical-align: -3px; }
.au-cy-mana { margin-top: 15px; text-align: left; }
.au-cy-mana-head { display: flex; justify-content: space-between; gap: 10px; font-size: 12px; color: var(--color-text); }
.au-cy-mana-head strong { font-size: 14px; color: var(--color-text-0); }
.au-cy-bar { height: 6px; margin: 6px 0; border-radius: 6px; background: var(--color-background); overflow: hidden; }
.au-cy-bar > span { display: block; height: 100%; border-radius: 6px; background: #3db4f2; }
.au-cy-mana-foot { margin: 0; font-size: 11px; color: var(--color-text); }
.au-cy-card-acts { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 15px; }
.au-cy-ladder .au-cy-row { opacity: .6; }
.au-cy-ladder .au-cy-row.is-reached { opacity: 1; }
.au-cy-ladder .au-cy-row.is-current .au-cy-row-title { color: #3db4f2; }
.au-cy-ladder .au-cy-row img { display: block; width: 16px; height: 16px; object-fit: contain; }
.au-cy-ledger .is-pos { color: #4cca51; }
.au-cy-ledger .is-neg { color: #dc3545; }
.au-cy-ledger .au-cy-mana { margin: 0 0 12px; }

/* ── 7. Super X + leaderboard ──────────────────────────────────────────── */

.au-cy-boards .au-cy-tabs-sm { margin-bottom: 15px; padding-bottom: 8px; border-bottom: 1px solid var(--color-divider); }
.au-cy-boards .tab-content > .tab-pane { display: none; }
.au-cy-boards .tab-content > .tab-pane.active { display: block; }
.wv-ul:not(.expand) > .au-cy-row:nth-child(n+6) { display: none; }
.wv-loadmore { margin-top: 12px; }
.au-cy-quote { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; color: var(--color-text-0); font-size: 12px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
a.au-cy-quote:hover { color: #3db4f2; }
.au-cy-tally { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; font-size: 10px; color: var(--color-text); white-space: nowrap; }
.au-cy-tally i { margin-right: 3px; }
.au-cy-sx-foot { max-width: 350px; margin: 20px auto 0; }
.au-lb-me { margin: 0 -8px; padding-left: 8px !important; padding-right: 8px !important; border-radius: 3px; background: rgba(61, 180, 242, .1); }
.au-lb-mine .au-cy-rank-n::before { content: attr(data-pos); }
[data-au-lb-fold]:not(.is-open) .au-lb-extra { display: none; }
[data-au-lb-period][hidden] { display: none !important; }
.au-lb-more { margin-top: 12px; }
@media (max-width: 991.98px) {
    .au-cy-boards > [class*="col-"] { margin-bottom: 14px; }
    .au-cy-sx-foot { margin-top: 6px; }
}

/* ── 8. Request queue ──────────────────────────────────────────────────── */

/* BS4 has no `.hidden`; the queue script toggles it everywhere. */
.req-page .hidden, #req-new-modal .hidden { display: none !important; }
.au-rq-strip { overflow: hidden; }
.au-rq-hero { position: absolute; inset: 0; pointer-events: none; }
.au-rq-hero-img { position: absolute; inset: -30px; background-position: center; background-size: cover; filter: blur(18px); transition: opacity .6s; }
.au-rq-strip > :not(.au-rq-hero) { position: relative; }
.au-rq-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin-bottom: 24px; }
.au-rq-tools .au-cy-tabs .nav-item { margin-right: 6px; }
.req-search { display: flex; flex: 0 1 320px; align-items: center; gap: 8px; min-width: 220px; }
.req-search .au-cy-search { flex: 1 1 auto; }
.req-matches { padding: 3px 7px 2px; border-radius: 3.5px; background: #3db4f2; color: #fff; font-size: 10.5px; font-weight: 700; }
.req-search-clear { width: 26px; height: 26px; padding: 0; border: 0; border-radius: 3px; background: none; color: var(--color-text); cursor: pointer; }
.req-search-clear:hover { background: rgba(0, 0, 0, .1); color: var(--color-text-0); }
/* The grid = LayoutItems (`.au-v-layout-items .items-wrapper`); each card
   adds the request meta and the CTA under the title. */
.req-grid.items-wrapper .item.req-cell { grid-template-rows: none; grid-auto-rows: min-content; align-content: start; max-height: none; }
.req-grid.items-wrapper .item.req-cell > .title { display: -webkit-box; margin-top: 10px; }
.req-cell .cover .image { overflow: hidden; }
.req-cell .au-rq-noposter { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #6c757d; font-size: 28px; }
.req-cell .status .ep { font-size: 12px; }
.req-cell .status .au-rq-st { float: right; position: relative; z-index: 2; height: 0; padding: 0 3px 0 1px; border-left: 8px solid transparent; border-bottom: 16px solid #f2870d; color: #fff; font-size: 10px; line-height: 18px; text-transform: uppercase; }
.req-cell .status .au-rq-st-available { border-bottom-color: #4cca51; }
.req-cell .status .au-rq-st-approved { border-bottom-color: #3480ea; }
.req-cell .status .au-rq-st-rejected { border-bottom-color: #c4213f; }
.req-cell .title { overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.3; }
.req-cell .au-rq-meta { margin: 6px 0 8px; font-size: 11px; font-weight: 600; line-height: 1.4; color: var(--color-text); }
.req-cell .au-rq-meta i { margin-right: 4px; }
.req-cell .au-rq-meta strong { color: var(--color-text-0); }
.req-cell .au-rq-meta small { display: block; font-size: 10px; opacity: .85; }
.req-cell .req-cta { display: block; width: 100%; align-self: end; }
.req-cta i { margin-right: 5px; }
.req-cta.is-req { background: #007bff; color: #fff; }
.req-cta.is-watch { border-color: #007bff; background: #007bff; color: #fff; }
.req-cta.is-watch:hover { background: #0069d9; border-color: #0069d9; }
.req-state { padding: 10px 0; text-align: center; }
.req-state p { margin: 0; font-size: 16px; color: var(--color-text-0); }
.req-state-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 15px; }
.req-more-wrap { max-width: 350px; margin: 25px auto 0; }
.req-foot { margin: 20px 0 0; font-size: 13px; color: var(--color-text); text-align: center; }
.au-rq-link { color: #3db4f2 !important; font-weight: 700 !important; cursor: pointer; }
.au-rq-link:hover { color: var(--color-text-0) !important; }
.au-cy-busy { margin-left: 5px; }
@media (max-width: 767.98px) {
    .req-search { flex: 1 1 100%; }
}
/* "Richiedi un anime" dialog: live-search rows. */
#req-new-modal .au-cy-modal-sm { max-width: 560px; }
#req-new-modal .au-rq-intro { margin-bottom: 18px; font-size: 13px; color: var(--color-text); }
#req-new-modal .ar-search-spin { padding: 10px 0 0; }
#req-new-modal .req-results { max-height: 46vh; margin-top: 10px; overflow-y: auto; }
#req-new-modal .req-hit { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 3px; }
#req-new-modal .req-hit:hover { background: var(--color-background); }
#req-new-modal .req-hit-poster { flex: 0 0 40px; }
#req-new-modal .req-hit-poster img { display: block; width: 40px; height: 57px; border-radius: 3px; object-fit: cover; background: #2c2c2c; }
#req-new-modal .req-hit-body { flex: 1 1 auto; min-width: 0; }
#req-new-modal .req-hit-title { color: var(--color-text-0); font-size: 14px; font-weight: 600; line-height: 1.3; }
#req-new-modal .req-hit-meta { margin-top: 2px; color: var(--color-text); font-size: 12px; font-weight: 400; }
#req-new-modal .req-hit-err { margin-top: 4px; color: #dc3545; font-size: 12px; }
#req-new-modal .req-hit .req-cta { flex: 0 0 auto; }
#req-new-modal .req-note { padding: 12px 0; color: var(--color-text); font-size: 13px; text-align: center; }
#req-new-modal .req-by-id { margin-top: 20px; padding-top: 15px; border-top: 1px solid var(--color-divider); }
#req-new-modal .req-by-id summary { color: #3db4f2; font-size: 13px; font-weight: 700; cursor: pointer; }
#req-new-modal .req-by-id summary:hover { color: var(--color-text-0); }
#req-new-modal .req-src { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin: 15px 0 10px; font-size: 13px; }
#req-new-modal .req-src label { margin: 0 0 0 6px; color: var(--color-text-0); font-size: 13px; }
#req-new-modal .req-id-row { display: flex; gap: 8px; }
#req-new-modal .req-id-row input { flex: 1 1 auto; min-width: 0; }
#req-new-modal .req-id-hint { display: block; margin-top: 6px; color: var(--color-text); font-size: 11px; }
#req-new-modal .req-id-hint strong { color: var(--color-text-0); }
#req-new-modal .ar-btn-spinner { margin-left: 5px; }
