@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;1,6..72,400&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root {
  --paper: #faf8f5;
  --paper-tint: #f2efe9;
  --paper-card: #ffffff;
  --ink: #141518;
  --ink-muted: #5c6068;
  --ink-faint: #9296a0;
  --line: #e3ded4;
  --line-bold: #1a1a1a;
  --vermilion: #d93829;
  --green: #2b7a4b;
  --font-display: 'Space Grotesk', 'Helvetica Neue', Arial, sans-serif;
  --font-serif: 'Newsreader', Georgia, serif;
  --font-mono: 'JetBrains Mono', Consolas, monospace;
  --shadow: 4px 4px 0 var(--vermilion);
}

* { box-sizing: border-box; }
html { background: var(--paper); overflow-x: hidden; scroll-behavior: smooth; }
body { background-color: var(--paper); color: var(--ink); font-family: var(--font-display); line-height: 1.55; margin: 0; max-width: 100%; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
body::selection { background: var(--vermilion); color: var(--paper); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .42; }
img { filter: grayscale(1) contrast(1.06); }

.topbar { align-items: center; background: rgba(250, 248, 245, .96); border-bottom: 1px solid var(--line-bold); display: flex; gap: 24px; justify-content: space-between; min-height: 72px; padding: 0 30px; position: sticky; top: 0; z-index: 20; }
.wordmark { align-items: center; background: transparent; border: 0; color: var(--ink); display: flex; font-size: 1.1rem; font-weight: 700; gap: 9px; letter-spacing: -.02em; padding: 0; }
.wordmark-mark { align-items: center; background: var(--vermilion); color: var(--paper); display: inline-flex; font-size: 12px; height: 24px; justify-content: center; width: 24px; }
.topbar-status { align-items: center; color: var(--ink-muted); display: flex; font-family: var(--font-mono); font-size: .68rem; gap: 8px; letter-spacing: .08em; text-transform: uppercase; }
.live-dot, .nav-dot { background: var(--vermilion); border-radius: 50%; display: inline-block; height: 7px; width: 7px; }
.admin-chip { align-items: center; background: var(--paper-card); border: 1px solid var(--line-bold); color: var(--ink); display: flex; gap: 9px; padding: 5px 8px 5px 5px; text-align: left; }
.admin-chip:hover { background: var(--paper-tint); }
.avatar { align-items: center; background: var(--ink); color: var(--paper); display: inline-flex; font-family: var(--font-mono); font-size: 11px; height: 28px; justify-content: center; width: 28px; }
.admin-chip strong, .admin-chip small { display: block; font-size: 11px; line-height: 1.15; }
.admin-chip small { color: var(--ink-faint); font-family: var(--font-mono); font-size: 8px; letter-spacing: .05em; text-transform: uppercase; }
.chip-arrow { color: var(--vermilion); font-size: 16px; margin-left: 7px; }

.layout { display: grid; grid-template-columns: 196px minmax(0, 1fr); min-height: calc(100vh - 72px); }
.main-nav { border-right: 1px solid var(--line-bold); display: flex; flex-direction: column; gap: 0; padding: 28px 18px; position: sticky; top: 72px; align-self: start; height: calc(100vh - 72px); }
.nav-link { background: transparent; border: 0; border-bottom: 1px solid transparent; color: var(--ink-muted); font-family: var(--font-mono); font-size: .68rem; letter-spacing: .08em; padding: 12px 0; text-align: left; text-transform: uppercase; }
.nav-link:hover { color: var(--vermilion); }
.nav-link.is-active { border-bottom-color: var(--vermilion); color: var(--ink); font-weight: 700; }
.nav-dot { margin-left: 5px; }
.page { max-width: 1220px; overflow: hidden; padding: 54px clamp(22px, 5vw, 78px) 96px; width: 100%; }
.page-header { border-bottom: 1px solid var(--line-bold); margin-bottom: 40px; padding-bottom: 30px; }
.page-header h1 { font-size: clamp(2.4rem, 4.6vw, 4.2rem); font-weight: 700; letter-spacing: -.045em; line-height: 1.02; margin: 12px 0 0; max-width: 900px; text-wrap: balance; }
.no-break { white-space: nowrap; }
.page-header p { color: var(--ink-muted); font-size: 1rem; line-height: 1.65; margin: 18px 0 0; max-width: 560px; }
.eyebrow { color: var(--vermilion); font-family: var(--font-mono); font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.accent-pink { color: var(--vermilion); font-family: var(--font-serif); font-style: italic; font-weight: 400; }
.accent-violet { color: var(--ink); font-family: var(--font-serif); font-style: italic; font-weight: 400; }
.marker-yellow { background: var(--vermilion); box-decoration-break: clone; color: var(--paper); padding: 0 5px; -webkit-box-decoration-break: clone; }
.marker-pink { border-bottom: 3px solid var(--vermilion); box-decoration-break: clone; padding: 0 2px; -webkit-box-decoration-break: clone; }

.feed-hero-grid { display: grid; gap: 40px; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); }
.hero-manifesto { background: var(--paper-card); border: 1px solid var(--line-bold); min-height: 470px; overflow: hidden; padding: 32px; position: relative; }
.ticker { border-bottom: 1px solid var(--line-bold); color: var(--vermilion); font-family: var(--font-mono); font-size: .66rem; font-weight: 700; letter-spacing: .12em; margin: -32px -32px 40px; overflow: hidden; padding: 10px 0; text-transform: uppercase; white-space: nowrap; }
.ticker::after { content: '   /   CAMPUS SIGNAL   /   CAMPUS SIGNAL   /   CAMPUS SIGNAL   '; }
.hero-manifesto h2 { font-size: clamp(2.8rem, 5.2vw, 5.3rem); font-weight: 700; letter-spacing: -.07em; line-height: .92; margin: 0; max-width: 700px; position: relative; z-index: 1; }
.hero-manifesto h2 span { color: var(--vermilion); font-family: var(--font-serif); font-style: italic; font-weight: 400; }
.hero-manifesto > p { color: var(--ink-muted); font-size: 1rem; line-height: 1.65; margin: 26px 0 0; max-width: 460px; position: relative; z-index: 1; }
.hero-sticker { align-items: center; border: 1px solid var(--line-bold); color: var(--paper); display: flex; font-family: var(--font-mono); font-size: 9px; font-weight: 700; height: 78px; justify-content: center; line-height: 1.1; position: absolute; text-align: center; transform: rotate(4deg); width: 78px; z-index: 0; }
.sticker-one { background: var(--vermilion); right: 7%; top: 18%; }
.sticker-two { background: var(--ink); bottom: 10%; right: 17%; transform: rotate(-5deg); }
[dir="rtl"] .sticker-one { left: 7%; right: auto; }
[dir="rtl"] .sticker-two { left: 17%; right: auto; }
[dir="rtl"] .sticker-one, [dir="rtl"] .sticker-two { transform-origin: top left; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; position: relative; z-index: 1; }
.button { align-items: center; border: 1px solid var(--line-bold); display: inline-flex; font-family: var(--font-mono); font-size: .68rem; font-weight: 700; gap: 14px; justify-content: center; letter-spacing: .06em; min-height: 44px; padding: 10px 14px; text-transform: uppercase; transition: background 150ms ease, color 150ms ease, transform 150ms ease; }
.button:hover { background: var(--paper-tint); transform: translateY(-1px); }
.button:active { transform: translateY(0); }
.button-dark { background: var(--ink); color: var(--paper); }
.button-dark:hover { background: var(--vermilion); border-color: var(--vermilion); }
.button-acid { background: var(--vermilion); color: var(--paper); }
.button-acid:hover { background: var(--ink); color: var(--paper); }
.button-paper { background: var(--paper-card); color: var(--ink); }
.ranking-board { background: var(--paper-card); border: 1px solid var(--line-bold); color: var(--ink); display: flex; flex-direction: column; min-height: 470px; padding: 24px; }
.board-header, .board-footer { align-items: center; display: flex; justify-content: space-between; }
.board-header { border-bottom: 1px solid var(--line-bold); padding-bottom: 14px; }
.board-header .eyebrow { color: var(--vermilion); }
.board-index, .board-footer { color: var(--ink-faint); font-family: var(--font-mono); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.board-list { display: flex; flex: 1; flex-direction: column; justify-content: center; margin: 14px 0; }
.board-row { align-items: center; background: transparent; border: 0; border-bottom: 1px solid var(--line); color: var(--ink); display: grid; gap: 10px; grid-template-columns: 35px 1fr 45px 20px; padding: 14px 0; text-align: left; }
.board-row:hover { color: var(--vermilion); }
.board-rank, .board-score { font-family: var(--font-mono); font-size: .68rem; }
.board-club strong, .board-club small { display: block; }
.board-club strong { font-size: 1.05rem; letter-spacing: -.02em; }
.board-club small { color: var(--ink-muted); font-size: .74rem; margin-top: 3px; }
.board-score { color: var(--vermilion); font-weight: 700; }
.board-arrow { font-size: 17px; }
.board-footer { border-top: 1px solid var(--line-bold); padding-top: 14px; }
.board-footer button, .text-link { background: transparent; border: 0; color: var(--ink); font-family: var(--font-mono); font-size: .66rem; font-weight: 700; letter-spacing: .07em; padding: 0; text-transform: uppercase; }
.board-footer button:hover, .text-link:hover { color: var(--vermilion); }
.section-block { margin-top: 88px; }
.section-count { color: var(--ink-muted); font-family: var(--font-mono); font-size: .6rem; letter-spacing: .06em; text-transform: uppercase; }
.post-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.post-card { background: var(--paper-card); border: 1px solid var(--line-bold); padding: 20px; }
.post-card.is-pinned { border-left: 3px solid var(--vermilion); }
.post-card h3 { font-size: 1.5rem; letter-spacing: -.05em; line-height: 1; margin: 16px 0 10px; }
.post-card p { color: var(--ink-muted); font-size: .82rem; line-height: 1.55; margin: 0; }
.post-meta, .post-footer { align-items: center; display: flex; justify-content: space-between; }
.post-meta > span:last-child, .post-footer { color: var(--ink-muted); font-family: var(--font-mono); font-size: .58rem; letter-spacing: .05em; text-transform: uppercase; }
.post-footer { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 12px; }
.section-heading { align-items: end; border-bottom: 1px solid var(--line-bold); display: flex; justify-content: space-between; margin-bottom: 26px; padding-bottom: 17px; }
.section-heading h2 { font-size: clamp(2rem, 3.4vw, 3.4rem); letter-spacing: -.06em; line-height: .95; margin: 8px 0 0; }
.club-grid { display: grid; gap: 22px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.club-card { background: var(--paper-card); border: 1px solid var(--line-bold); min-width: 0; transition: background 150ms ease, transform 150ms ease; }
.club-card:hover { background: var(--paper-tint); transform: translateY(-3px); }
.club-card-button { background: transparent; border: 0; color: inherit; display: block; padding: 0; text-align: left; width: 100%; }
.club-art { background: var(--paper-tint); border-bottom: 1px solid var(--line-bold); height: 175px; overflow: hidden; position: relative; }
.club-art img { height: 100%; object-fit: cover; width: 100%; }
.score-stamp { background: var(--vermilion); bottom: 12px; color: var(--paper); font-family: var(--font-mono); font-size: .9rem; font-weight: 700; padding: 5px 7px; position: absolute; right: 12px; }
.club-card-body { padding: 18px 20px 22px; }
.club-card-body h3, .event-copy h3, .review-card h3 { font-size: 1.5rem; letter-spacing: -.045em; line-height: 1; margin: 8px 0; }
.club-card-body p, .event-copy p, .admin-row-copy p { color: var(--ink-muted); font-size: .78rem; line-height: 1.5; margin: 0; }
.club-card-meta { align-items: center; display: flex; font-family: var(--font-mono); font-size: .58rem; gap: 8px; margin-top: 18px; }
.stars { align-items: center; display: flex; gap: 1px; }
.star { color: var(--ink-faint); font-size: 15px; line-height: 1; }
.star-filled { color: var(--vermilion); }
.star-button { background: transparent; border: 0; color: var(--ink-faint); font-size: 32px; line-height: 1; padding: 0 3px; }
.star-button:hover, .star-button:focus { color: var(--vermilion); }
.event-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.event-card { background: var(--paper-card); border: 1px solid var(--line-bold); display: grid; grid-template-columns: 105px 1fr; min-height: 148px; position: relative; }
.event-card:hover { background: var(--paper-tint); }
.event-art { border-right: 1px solid var(--line-bold); height: 100%; min-height: 148px; overflow: hidden; }
.event-art img { height: 100%; object-fit: cover; width: 100%; }
.event-copy { padding: 18px; }
.event-copy h3 { font-size: 1.25rem; }
.interest-button { align-items: center; background: var(--paper-card); border: 1px solid var(--line-bold); bottom: 12px; display: flex; font-family: var(--font-mono); font-size: .58rem; font-weight: 700; gap: 10px; letter-spacing: .06em; padding: 7px 9px; position: absolute; right: 12px; text-transform: uppercase; }
.interest-button:hover, .interest-button.is-active { background: var(--ink); color: var(--paper); }
.submit-banner { align-items: center; border: 1px solid var(--line-bold); display: flex; justify-content: space-between; margin-top: 88px; min-height: 240px; overflow: hidden; padding: 32px 40px; position: relative; }
.submit-banner-copy { position: relative; z-index: 1; }
.submit-banner h2 { font-size: clamp(2.7rem, 5vw, 4.8rem); letter-spacing: -.08em; line-height: .88; margin: 10px 0; }
.submit-banner h2 span { color: var(--vermilion); font-family: var(--font-serif); font-style: italic; font-weight: 400; }
.submit-banner p { color: var(--ink-muted); font-size: .86rem; line-height: 1.5; margin: 0; max-width: 400px; }
.banner-shape { border: 1px solid var(--line-bold); height: 150px; position: absolute; right: 19%; top: 44px; transform: rotate(10deg); width: 150px; z-index: 0; }
.banner-shape::after { background: var(--vermilion); content: ''; height: 70px; left: -25px; position: absolute; top: 25px; width: 70px; }

.discover-toolbar { background: var(--paper-card); border: 1px solid var(--line-bold); padding: 14px; }
.search-box { align-items: center; border-bottom: 1px solid var(--line-bold); display: flex; gap: 10px; min-height: 53px; padding: 0 4px 10px; }
.search-box span { color: var(--vermilion); font-size: 25px; line-height: 1; }
.search-box input { background: transparent; border: 0; color: var(--ink); font-size: 1rem; outline: 0; width: 100%; }
.category-row { display: flex; flex-wrap: wrap; gap: 7px; padding-top: 14px; }
.category-pill { background: var(--paper-card); border: 1px solid var(--line-bold); color: var(--ink-muted); font-family: var(--font-mono); font-size: .6rem; font-weight: 700; letter-spacing: .06em; padding: 8px 10px; text-transform: uppercase; }
.category-pill:hover, .category-pill.is-active { background: var(--ink); color: var(--paper); }
.discover-summary { align-items: center; color: var(--ink-muted); display: flex; font-family: var(--font-mono); font-size: .6rem; gap: 12px; letter-spacing: .05em; margin: 25px 0 18px; text-transform: uppercase; }
.discover-summary strong { color: var(--vermilion); font-size: 18px; }
.summary-rule { background: var(--line-bold); flex: 1; height: 1px; }
.discover-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.empty-state { align-items: center; background: var(--paper-tint); border: 1px solid var(--line-bold); display: flex; flex-direction: column; grid-column: 1 / -1; justify-content: center; min-height: 260px; padding: 25px; text-align: center; }
.empty-state.small { min-height: 170px; }
.empty-state h2, .empty-state h3 { font-size: 2rem; letter-spacing: -.05em; margin: 8px 0; }
.empty-state p { color: var(--ink-muted); margin: 0 0 18px; }
.empty-icon { color: var(--vermilion); font-size: 42px; }

.back-link { background: transparent; border: 0; color: var(--ink-muted); font-family: var(--font-mono); font-size: .66rem; font-weight: 700; letter-spacing: .07em; margin-bottom: 24px; padding: 0; text-transform: uppercase; }
.back-link:hover { color: var(--vermilion); }
.club-detail-hero { background: var(--paper-card); border: 1px solid var(--line-bold); display: grid; grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr); }
.detail-art { background: var(--paper-tint); border-right: 1px solid var(--line-bold); min-height: 420px; overflow: hidden; position: relative; }
.detail-art img { height: 100%; object-fit: cover; width: 100%; }
.detail-number { background: var(--vermilion); bottom: 22px; color: var(--paper); font-family: var(--font-mono); font-size: 1.2rem; font-weight: 700; padding: 8px 10px; position: absolute; right: 22px; }
.detail-copy { padding: clamp(26px, 4vw, 58px); }
.detail-copy h1 { font-size: clamp(3rem, 7vw, 6.4rem); letter-spacing: -.09em; line-height: .86; margin: 15px 0 10px; }
.detail-tagline { color: var(--vermilion); font-family: var(--font-serif); font-size: 1.5rem; font-style: italic; }
.detail-copy > p:not(.detail-tagline) { color: var(--ink-muted); line-height: 1.65; max-width: 600px; }
.tag-row { display: flex; flex-wrap: wrap; gap: 7px; margin: 22px 0; }
.tag { background: var(--paper-tint); border: 1px solid var(--line); color: var(--ink-muted); font-family: var(--font-mono); font-size: .6rem; font-weight: 700; padding: 6px 8px; text-transform: uppercase; }
.detail-rating { align-items: center; display: flex; flex-wrap: wrap; gap: 9px; margin: 20px 0 25px; }
.detail-rating > strong { font-size: 1.8rem; }
.detail-rating > span { color: var(--ink-muted); font-family: var(--font-mono); font-size: .62rem; }
.detail-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.detail-lower { display: grid; gap: 25px; grid-template-columns: minmax(0, 1fr) 290px; margin-top: 70px; }
.review-list { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.review-card { background: var(--paper-card); border: 1px solid var(--line-bold); padding: 18px; }
.review-top { display: flex; justify-content: space-between; }
.review-author { font-size: .95rem; font-weight: 700; }
.review-date { color: var(--ink-faint); font-family: var(--font-mono); font-size: .58rem; }
.review-card .stars { margin: 12px 0 7px; }
.review-card p { color: var(--ink-muted); font-size: .8rem; line-height: 1.55; }
.review-footer { display: flex; gap: 17px; margin-top: 15px; }
.rate-panel { background: var(--paper-tint); border: 1px solid var(--line-bold); height: fit-content; padding: 24px; position: sticky; top: 98px; }
.rate-panel h2 { font-size: 2.2rem; letter-spacing: -.07em; line-height: .92; margin: 11px 0; }
.rate-panel p { color: var(--ink-muted); font-size: .78rem; line-height: 1.55; }
.rate-panel .stars-interactive { margin: 20px 0 7px; }
.rate-panel .star-button { color: var(--ink-faint); }
.rate-note { color: var(--ink-muted); font-family: var(--font-mono); font-size: .58rem; line-height: 1.45; }
.rate-rule { border-top: 1px solid var(--line-bold); margin: 23px 0; }
.signal-list { display: grid; gap: 9px; }
.signal-list span { color: var(--ink-muted); font-family: var(--font-mono); font-size: .58rem; text-transform: uppercase; }
.signal-list strong { color: var(--vermilion); font-size: 1.1rem; margin-right: 5px; }

.quiz-card { background: var(--paper-card); border: 1px solid var(--line-bold); margin: 0 auto; max-width: 870px; padding: 30px; }
.quiz-progress > div:first-child { align-items: center; display: flex; justify-content: space-between; }
.quiz-progress strong { color: var(--vermilion); font-family: var(--font-mono); font-size: .7rem; }
.progress-track { background: var(--paper-tint); height: 4px; margin-top: 12px; }
.progress-track span { background: var(--vermilion); display: block; height: 100%; }
.quiz-question { padding: 68px 5% 78px; }
.question-number { color: var(--vermilion); font-family: var(--font-mono); font-size: .7rem; margin-bottom: 14px; }
.quiz-question h2 { font-size: clamp(2.2rem, 4vw, 3.5rem); letter-spacing: -.07em; line-height: .95; margin: 0 0 35px; max-width: 670px; }
.quiz-options { display: grid; gap: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.quiz-option { align-items: center; background: var(--paper-card); border: 1px solid var(--line-bold); color: var(--ink); display: flex; font-size: .82rem; gap: 12px; min-height: 58px; padding: 12px; text-align: left; }
.quiz-option + .quiz-option { border-left: 0; }
.quiz-option:nth-child(3), .quiz-option:nth-child(4) { border-top: 0; }
.quiz-option:hover, .quiz-option.is-selected { background: var(--ink); color: var(--paper); }
.quiz-option span { align-items: center; border: 1px solid currentColor; display: inline-flex; font-family: var(--font-mono); font-size: .58rem; height: 24px; justify-content: center; width: 24px; }
.quiz-card-footer { align-items: center; border-top: 1px solid var(--line-bold); display: flex; justify-content: space-between; padding: 16px 5% 0; }
.quiz-card-footer .text-link { color: var(--ink); }
.quiz-card-footer span { color: var(--ink-muted); font-family: var(--font-mono); font-size: .58rem; }
.quiz-results { background: var(--paper-card); border: 1px solid var(--line-bold); padding: 30px; }
.results-top { align-items: start; display: flex; justify-content: space-between; }
.results-top h2 { font-size: clamp(2.7rem, 5vw, 4.5rem); letter-spacing: -.08em; line-height: .88; margin: 10px 0 30px; }
.results-top h2 span { color: var(--vermilion); font-family: var(--font-serif); font-style: italic; font-weight: 400; }
.result-stamp { align-items: center; border: 1px solid var(--line-bold); color: var(--vermilion); display: flex; font-family: var(--font-mono); font-size: 1.1rem; font-weight: 700; height: 110px; justify-content: center; width: 110px; }
.result-stamp small { font-size: .52rem; line-height: 1.1; margin-left: 6px; text-transform: uppercase; }
.match-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.match-card { border: 1px solid var(--line-bold); display: grid; grid-template-columns: 100px 1fr; min-height: 145px; }
.match-card:nth-child(1) { grid-column: span 2; }
.match-index { align-items: center; background: var(--paper-tint); border-right: 1px solid var(--line-bold); color: var(--vermilion); display: flex; font-family: var(--font-mono); font-size: 1rem; font-weight: 700; padding: 12px; }
.match-art { border-right: 1px solid var(--line-bold); min-height: 145px; overflow: hidden; }
.match-art img { height: 100%; object-fit: cover; width: 100%; }
.match-copy { padding: 16px; }
.match-copy h3 { font-size: 1.7rem; letter-spacing: -.06em; margin: 7px 0; }
.match-copy p { color: var(--ink-muted); font-size: .72rem; line-height: 1.5; margin: 0 0 10px; }
.match-copy .text-link { color: var(--ink); }
.quiz-footer { align-items: center; display: flex; justify-content: space-between; margin-top: 26px; }
.quiz-footer p { color: var(--ink-muted); font-family: var(--font-mono); font-size: .58rem; }

.submit-layout { display: grid; gap: 25px; grid-template-columns: minmax(0, 1fr) 330px; }
.panel-card { background: var(--paper-card); border: 1px solid var(--line-bold); padding: 25px; }
.submit-form { display: grid; gap: 18px; }
.form-heading { align-items: start; display: flex; gap: 15px; margin-bottom: 4px; }
.form-index { align-items: center; background: var(--vermilion); color: var(--paper); display: inline-flex; font-family: var(--font-mono); font-size: .9rem; font-weight: 700; height: 44px; justify-content: center; width: 44px; }
.form-heading h2 { font-size: 2.2rem; letter-spacing: -.06em; line-height: .95; margin: 7px 0 0; }
.submit-form label { display: grid; font-family: var(--font-mono); font-size: .6rem; font-weight: 700; gap: 7px; letter-spacing: .06em; text-transform: uppercase; }
.submit-form input, .submit-form textarea, .submit-form select { background: var(--paper); border: 1px solid var(--line-bold); border-radius: 0; color: var(--ink); font-size: .95rem; letter-spacing: normal; min-height: 48px; outline: 0; padding: 11px 12px; text-transform: none; }
.submit-form textarea { min-height: 115px; resize: vertical; }
.submit-form input:focus, .submit-form textarea:focus, .submit-form select:focus { border-color: var(--vermilion); background: var(--paper-tint); }
.submit-form small { color: var(--ink-muted); font-size: .7rem; font-weight: 400; letter-spacing: normal; text-transform: none; }
.form-note { color: var(--ink-muted); font-size: .7rem; line-height: 1.5; margin: 0; }
.accent-panel { background: var(--paper-tint); }
.steps-list { display: grid; gap: 17px; list-style: none; margin: 20px 0 0; padding: 0; }
.steps-list li { border-top: 1px solid var(--line-bold); display: grid; grid-template-columns: 30px 1fr; padding-top: 10px; }
.steps-list li > span { color: var(--vermilion); font-family: var(--font-mono); font-size: .62rem; font-weight: 700; }
.steps-list strong { font-size: 1.15rem; letter-spacing: -.04em; }
.steps-list p { color: var(--ink-muted); font-size: .72rem; line-height: 1.5; margin: 4px 0 0; }
.side-sticker { border: 1px solid var(--line-bold); color: var(--vermilion); font-family: var(--font-mono); font-size: .72rem; font-weight: 700; line-height: 1.1; margin: 0 0 20px auto; padding: 12px; transform: rotate(4deg); width: 90px; }
.my-submissions { margin-top: 16px; }
.mini-status { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; padding: 12px 0; }
.mini-status strong { font-size: .9rem; }
.status-pill { border: 1px solid var(--line-bold); font-family: var(--font-mono); font-size: .52rem; font-weight: 700; padding: 4px 6px; text-transform: uppercase; }
.status-pending { background: var(--paper-tint); color: var(--ink-muted); }
.status-approved { background: var(--green); color: var(--paper); }
.status-rejected { background: var(--vermilion); color: var(--paper); }

.profile-grid { display: grid; gap: 20px; grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr); }
.profile-card { background: var(--paper-card); }
.profile-hero { align-items: center; display: flex; gap: 17px; }
.profile-avatar { align-items: center; background: var(--vermilion); color: var(--paper); display: flex; font-family: var(--font-mono); font-size: 2rem; font-weight: 700; height: 105px; justify-content: center; width: 105px; }
.profile-hero h2 { font-size: 3rem; letter-spacing: -.08em; line-height: .85; margin: 9px 0; }
.profile-hero p { color: var(--ink-muted); font-size: .8rem; margin: 0; }
.profile-bio { border-top: 1px solid var(--line-bold); font-size: 1.05rem; line-height: 1.6; margin-top: 26px; padding-top: 25px; }
.profile-links { color: var(--ink-faint); display: flex; font-family: var(--font-mono); font-size: .58rem; justify-content: space-between; letter-spacing: .06em; margin-top: 32px; }
.profile-stats { display: grid; gap: 15px; }
.stat-card { border: 1px solid var(--line-bold); display: flex; flex-direction: column; justify-content: space-between; min-height: 130px; padding: 17px; }
.stat-card span, .stat-card small { color: var(--ink-muted); font-family: var(--font-mono); font-size: .58rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.stat-card strong { color: var(--vermilion); font-size: 3.6rem; letter-spacing: -.1em; line-height: .8; }
.dark-stat { background: var(--ink); }
.dark-stat span, .dark-stat small { color: var(--paper); }
.activity-card { grid-column: 1 / -1; }
.activity-list { border-top: 1px solid var(--line-bold); }
.activity-row { align-items: center; border-bottom: 1px solid var(--line); display: grid; font-size: .82rem; gap: 14px; grid-template-columns: 35px 1fr auto; padding: 15px 0; }
.activity-index, .activity-time { color: var(--vermilion); font-family: var(--font-mono); font-size: .58rem; }

.admin-nav { border-bottom: 1px solid var(--line-bold); border-top: 1px solid var(--line-bold); display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-bottom: 40px; }
.admin-nav-link { background: transparent; border: 0; border-right: 1px solid var(--line); color: var(--ink-muted); display: flex; flex-direction: column; gap: 4px; min-height: 68px; padding: 13px 14px; text-align: left; }
.admin-nav-link:last-child { border-right: 0; }
.admin-nav-link span { font-family: var(--font-mono); font-size: .65rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.admin-nav-link small { font-size: .7rem; line-height: 1.35; }
.admin-nav-link:hover, .admin-nav-link.is-active { background: var(--ink); color: var(--paper); }
.admin-nav-link.is-active span { color: var(--vermilion); }
.admin-overview-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-quick h2, .admin-activity h2 { font-size: 2rem; letter-spacing: -.07em; line-height: .95; margin: 10px 0; }
.admin-quick p { color: var(--ink-muted); font-size: .82rem; line-height: 1.55; margin: 0 0 22px; }
.admin-activity { grid-column: 1 / -1; }
.admin-locked { margin-top: 45px; }
.directory-table { border-top: 1px solid var(--line-bold); }
.directory-head, .directory-row { align-items: center; display: grid; gap: 14px; grid-template-columns: minmax(0, 1.5fr) .7fr .7fr .5fr; }
.directory-head { color: var(--ink-muted); font-family: var(--font-mono); font-size: .58rem; letter-spacing: .06em; padding: 12px 0; text-transform: uppercase; }
.directory-row { border-top: 1px solid var(--line); color: var(--ink-muted); font-family: var(--font-mono); font-size: .62rem; padding: 13px 0; }
.directory-club { align-items: center; display: flex; gap: 10px; }
.directory-avatar { align-items: center; background: var(--ink); color: var(--paper); display: inline-flex; font-family: var(--font-mono); font-size: .7rem; height: 28px; justify-content: center; width: 28px; }
.directory-club strong, .directory-club small { display: block; font-family: var(--font-display); }
.directory-club strong { color: var(--ink); font-size: .95rem; }
.directory-club small { color: var(--ink-muted); font-family: var(--font-body); font-size: .7rem; margin-top: 2px; }
.access-yes { color: var(--green); font-weight: 700; }
.access-no { color: var(--ink-faint); }
.admin-footnote { color: var(--ink-muted); font-family: var(--font-mono); font-size: .58rem; margin-top: 16px; }
.settings-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.settings-grid h2 { font-size: 2.2rem; letter-spacing: -.07em; line-height: .95; margin: 10px 0; }
.settings-grid p { color: var(--ink-muted); font-size: .82rem; line-height: 1.5; }
.role-field { display: grid; font-family: var(--font-mono); font-size: .6rem; font-weight: 700; gap: 7px; letter-spacing: .06em; margin-top: 24px; text-transform: uppercase; }
.role-field select { background: var(--paper); border: 1px solid var(--line-bold); color: var(--ink); font-family: var(--font-body); font-size: .9rem; min-height: 46px; padding: 10px; text-transform: none; }
.role-rules, .config-list { border-top: 1px solid var(--line); display: grid; gap: 10px; margin-top: 22px; padding-top: 14px; }
.role-rules span, .config-list span { color: var(--ink-muted); font-size: .78rem; }
.role-rules strong, .config-list strong { color: var(--ink); display: inline-block; font-family: var(--font-mono); font-size: .6rem; letter-spacing: .05em; margin-right: 8px; text-transform: uppercase; }
.admin-composer { background: var(--paper-card); border: 1px solid var(--line-bold); padding: 20px; }
.composer-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-composer label { display: grid; font-family: var(--font-mono); font-size: .6rem; font-weight: 700; gap: 7px; letter-spacing: .06em; text-transform: uppercase; }
.admin-composer input, .admin-composer textarea, .admin-composer select { background: var(--paper); border: 1px solid var(--line-bold); border-radius: 0; color: var(--ink); font-size: .9rem; letter-spacing: normal; min-height: 46px; outline: 0; padding: 10px 11px; text-transform: none; }
.admin-composer textarea { min-height: 120px; resize: vertical; }
.admin-composer input:focus, .admin-composer textarea:focus, .admin-composer select:focus { background: var(--paper-tint); border-color: var(--vermilion); }
.admin-composer .full-field { grid-column: 1 / -1; }
.admin-composer .check-field { align-items: center; align-self: end; display: flex; flex-direction: row; gap: 8px; grid-column: 1 / -1; }
.admin-composer .check-field input { accent-color: var(--vermilion); min-height: 0; width: auto; }
.composer-actions { display: flex; gap: 9px; justify-content: end; margin-top: 18px; }
.admin-post-list { border-top: 1px solid var(--line-bold); }
.admin-post-row { align-items: start; border-bottom: 1px solid var(--line); display: grid; gap: 15px; grid-template-columns: 46px 1fr auto; padding: 16px 0; }
.post-kind { color: var(--vermilion); font-family: var(--font-mono); font-size: .7rem; font-weight: 700; }
.admin-post-copy h3 { font-size: 1.35rem; letter-spacing: -.05em; line-height: 1; margin: 7px 0; }
.admin-post-copy p { color: var(--ink-muted); font-size: .78rem; line-height: 1.5; margin: 0; }
.admin-post-actions { align-items: end; display: flex; gap: 8px; }
.admin-metrics { display: grid; gap: 15px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 50px; }
.admin-metric { background: var(--paper-card); border: 1px solid var(--line-bold); border-top: 3px solid var(--vermilion); min-height: 135px; padding: 16px; }
.admin-metric span, .admin-metric small { color: var(--ink-muted); display: block; font-family: var(--font-mono); font-size: .58rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.admin-metric strong { color: var(--vermilion); display: block; font-size: 3.4rem; letter-spacing: -.1em; line-height: .95; margin: 13px 0; }
.admin-section { border-top: 1px solid var(--line-bold); margin-top: 45px; padding-top: 24px; }
.admin-section-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 18px; }
.admin-section-heading h2 { font-size: 2.5rem; letter-spacing: -.07em; line-height: .9; margin: 8px 0 0; }
.queue-count { color: var(--ink-muted); font-family: var(--font-mono); font-size: .58rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.admin-list { display: grid; gap: 13px; }
.admin-row { align-items: stretch; background: var(--paper-card); border: 1px solid var(--line-bold); display: grid; grid-template-columns: 82px 1fr auto; min-height: 145px; }
.admin-row-art { align-items: center; background: var(--paper-tint); border-right: 1px solid var(--line-bold); color: var(--vermilion); display: flex; font-family: var(--font-mono); font-size: 1.5rem; font-weight: 700; justify-content: center; }
.admin-row-copy { padding: 17px; }
.admin-row-copy h3 { font-size: 1.6rem; letter-spacing: -.05em; line-height: 1; margin: 7px 0; }
.admin-row-copy p { max-width: 520px; }
.admin-row-actions { align-items: end; display: flex; flex-direction: column; gap: 8px; justify-content: center; padding: 14px; }
.admin-row-actions .button { min-width: 93px; }
.claim-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.claim-card h3 { font-size: 1.9rem; letter-spacing: -.06em; line-height: .95; margin: 8px 0; }
.claim-card > p { color: var(--ink-muted); font-size: .78rem; }
.proof-quote { border-left: 2px solid var(--vermilion); font-size: .8rem; line-height: 1.5; margin: 18px 0; padding-left: 12px; }
.claim-actions { display: flex; gap: 9px; }
.report-list { display: grid; gap: 10px; }
.report-row { align-items: center; background: var(--paper-tint); border: 1px solid var(--line-bold); display: grid; gap: 13px; grid-template-columns: 34px 1fr auto; padding: 14px; }
.report-mark { align-items: center; background: var(--vermilion); color: var(--paper); display: flex; font-family: var(--font-mono); font-size: .8rem; font-weight: 700; height: 32px; justify-content: center; width: 32px; }
.report-row p { color: var(--ink-muted); font-size: .7rem; margin: 4px 0 0; }

.toast { background: var(--ink); bottom: 24px; color: var(--paper); font-family: var(--font-mono); font-size: .62rem; font-weight: 700; left: 50%; letter-spacing: .05em; max-width: min(90vw, 540px); opacity: 0; padding: 14px 17px; pointer-events: none; position: fixed; transform: translate(-50%, 20px); transition: opacity 150ms ease, transform 150ms ease; z-index: 50; }
.toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.mobile-nav { display: none; }

@media (max-width: 1060px) {
  .layout { grid-template-columns: 150px minmax(0, 1fr); }
  .club-grid, .discover-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feed-hero-grid { grid-template-columns: 1fr; }
  .hero-manifesto, .ranking-board { min-height: auto; }
  .ranking-board { min-height: 390px; }
  .admin-row { grid-template-columns: 70px 1fr; }
  .admin-row-actions { border-top: 1px solid var(--line-bold); flex-direction: row; grid-column: 1 / -1; justify-content: end; }
}

@media (max-width: 720px) {
  .topbar { gap: 12px; min-height: 62px; padding: 0 14px; }
  .topbar-status { display: none; }
  .wordmark { white-space: nowrap; }
  .admin-chip { gap: 0; margin-left: auto; padding: 3px; }
  .admin-chip > span:not(.avatar) { display: none; }
  .topbar-tools { gap: 6px; }
  .layout { display: block; min-height: calc(100vh - 62px); }
  .main-nav { display: none; }
  .page { padding: 36px 16px 100px; }
  .page-header { margin-bottom: 28px; padding-bottom: 24px; }
  .page-header h1 { font-size: clamp(2.4rem, 12vw, 4rem); }
  .page-header p { font-size: .88rem; }
  .hero-manifesto { min-height: 0; padding: 22px; position: relative; }
  .ticker { margin: -22px -22px 32px; }
  .hero-manifesto h2 { font-size: clamp(2.8rem, 14vw, 4.5rem); }
  .hero-sticker { transform: scale(.68) rotate(4deg); transform-origin: top right; }
  .sticker-two { bottom: 11%; right: 3%; transform: scale(.68) rotate(-5deg); }
  .ranking-board { padding: 19px; }
  .section-block { margin-top: 58px; }
  .section-heading { align-items: start; flex-direction: column; gap: 14px; }
  .section-heading h2 { font-size: 2.7rem; }
  .club-grid, .discover-grid, .event-grid, .review-list, .match-grid, .claim-grid, .post-grid { grid-template-columns: 1fr; }
  .match-card:nth-child(1) { grid-column: auto; }
  .match-card { grid-template-columns: 80px 1fr; }
  .event-card { grid-template-columns: 88px 1fr; }
  .event-copy { padding: 14px; }
  .event-copy h3 { font-size: 1.15rem; }
  .event-copy p { font-size: .68rem; }
  .submit-banner { align-items: start; flex-direction: column; gap: 22px; min-height: 320px; padding: 25px; }
  .submit-banner .button { align-self: start; }
  .banner-shape { bottom: -55px; right: -10px; top: auto; }
  .discover-summary { align-items: start; flex-direction: column; gap: 7px; }
  .summary-rule { width: 100%; }
  .category-row { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 3px; }
  .category-pill { flex: 0 0 auto; }
  .club-detail-hero { grid-template-columns: 1fr; }
  .detail-art { border-bottom: 1px solid var(--line-bold); border-right: 0; min-height: 260px; }
  .detail-copy { padding: 25px 20px 30px; }
  .detail-copy h1 { font-size: clamp(3.4rem, 16vw, 5.4rem); }
  .detail-lower { grid-template-columns: 1fr; margin-top: 48px; }
  .rate-panel { position: static; }
  .quiz-card { padding: 19px; }
  .quiz-question { padding: 48px 3% 58px; }
  .quiz-question h2 { font-size: 2.3rem; }
  .quiz-options { grid-template-columns: 1fr; }
  .quiz-option + .quiz-option { border-left: 1px solid var(--line-bold); border-top: 0; }
  .quiz-option:nth-child(3), .quiz-option:nth-child(4) { border-top: 0; }
  .quiz-card-footer { align-items: start; flex-direction: column; gap: 13px; }
  .quiz-results { padding: 20px; }
  .results-top h2 { font-size: 3rem; }
  .result-stamp { height: 85px; width: 85px; }
  .quiz-footer { align-items: start; flex-direction: column; gap: 15px; }
  .submit-layout, .profile-grid, .admin-metrics, .admin-overview-grid, .settings-grid { grid-template-columns: 1fr; }
  .admin-nav { grid-template-columns: 1fr 1fr; }
  .admin-nav-link { border-bottom: 1px solid var(--line); }
  .admin-nav-link:nth-child(2n) { border-right: 0; }
  .admin-nav-link:last-child { border-bottom: 0; }
  .directory-head { display: none; }
  .directory-row { align-items: start; grid-template-columns: 1fr 1fr; }
  .directory-club { grid-column: 1 / -1; }
  .composer-grid { grid-template-columns: 1fr; }
  .admin-composer .full-field { grid-column: auto; }
  .admin-post-row { grid-template-columns: 40px 1fr; }
  .admin-post-actions { grid-column: 2; justify-content: start; }
  .admin-row { grid-template-columns: 62px 1fr; }
  .admin-row-copy { padding: 14px; }
  .admin-row-actions { padding: 11px; }
  .report-row { align-items: start; grid-template-columns: 35px 1fr; }
  .report-row .button { grid-column: 2; justify-self: start; }
  .mobile-nav { align-items: stretch; background: var(--paper); border-top: 1px solid var(--line-bold); bottom: 0; display: flex; justify-content: space-around; left: 0; padding: 7px 4px calc(7px + env(safe-area-inset-bottom)); position: fixed; right: 0; z-index: 30; }
  .mobile-link { align-items: center; background: transparent; border: 0; color: var(--ink-muted); display: flex; flex: 1; flex-direction: column; font-family: var(--font-mono); font-size: .52rem; font-weight: 700; gap: 3px; letter-spacing: .02em; padding: 7px 3px; text-transform: uppercase; }
  .mobile-link.is-active { color: var(--vermilion); }
  .mobile-icon { font-size: 18px; line-height: 1; }
}

.acid-metric, .rank-stat.acid-stat { background: var(--vermilion); color: var(--paper); }
.pink-metric, .rank-stat.pink-stat { background: var(--paper-tint); color: var(--ink); }
.violet-metric { background: var(--paper-tint); color: var(--ink); }
.dark-metric, .rank-stat.dark-stat { background: var(--ink); color: var(--paper); }
.acid-metric span, .acid-metric small, .dark-metric span, .dark-metric small { color: var(--paper); }
.acid-metric strong, .dark-metric strong { color: var(--paper); }
.acid-metric span, .pink-metric span, .violet-metric span, .dark-metric span,
.rank-stat span { display: block; font-family: var(--font-mono); font-size: .54rem; font-weight: 700; letter-spacing: .07em; opacity: .78; text-transform: uppercase; }
.acid-metric strong, .pink-metric strong, .violet-metric strong, .dark-metric strong,
.rank-stat strong { display: block; font-size: 2.4rem; letter-spacing: -.07em; line-height: 1; margin: 6px 0 4px; }
.acid-metric small, .pink-metric small, .violet-metric small, .dark-metric small,
.rank-stat small { display: block; font-family: var(--font-mono); font-size: .55rem; opacity: .72; }

.badge-row { display: flex; flex-wrap: wrap; gap: 5px; margin: 10px 0; }
.badge { align-items: center; border: 1px solid var(--line-bold); display: inline-flex; font-family: var(--font-mono); font-size: .5rem; font-weight: 700; gap: 5px; letter-spacing: .04em; padding: 3px 5px; text-transform: uppercase; }
.badge b { background: var(--ink); color: var(--paper); font-size: .52rem; padding: 1px 4px; }
.badge.tier-bronze { background: #F3E3CE; }
.badge.tier-silver { background: #E7E8EC; }
.badge.tier-gold { background: #FBE7A8; }
.badge.tier-platinum { background: #DDD3FF; }
.badge-empty { color: var(--ink-faint); font-family: var(--font-mono); font-size: .52rem; letter-spacing: .05em; text-transform: uppercase; }
.points-stamp { background: var(--ink); bottom: 8px; color: var(--paper); font-family: var(--font-mono); font-size: .55rem; font-weight: 700; left: 8px; letter-spacing: .04em; padding: 3px 5px; position: absolute; }
.score-stamp { position: absolute; right: 8px; top: 8px; }

.rank-summary { display: grid; gap: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 40px; }
.rank-stat { border: 1px solid var(--line-bold); border-right: 0; padding: 18px; }
.rank-stat:last-child { border-right: 1px solid var(--line-bold); }

.podium { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 52px; }
.podium-card { background: var(--paper-card); border: 1px solid var(--line-bold); color: var(--ink); display: flex; flex-direction: column; padding: 0; text-align: left; }
.podium-card:hover { box-shadow: var(--shadow); transform: translate(-2px, -2px); }
.podium-1 { border-color: var(--vermilion); }
.podium-rank { background: var(--podium-accent, var(--ink)); color: var(--ink); font-family: var(--font-mono); font-size: .68rem; font-weight: 700; letter-spacing: .08em; padding: 5px 9px; }
.podium-1 .podium-rank { background: var(--vermilion); color: #fff; }
.podium-art { border-bottom: 1px solid var(--line-bold); }
.podium-art img { display: block; height: 128px; object-fit: cover; width: 100%; }
.podium-copy { padding: 15px 16px 18px; }
.podium-copy h3 { font-size: 1.32rem; letter-spacing: -.045em; line-height: 1.05; margin: 0 0 5px; }
.podium-copy p { color: var(--ink-muted); font-family: var(--font-mono); font-size: .56rem; letter-spacing: .04em; margin: 0; text-transform: uppercase; }
.podium-points { align-items: baseline; border-bottom: 1px solid var(--line); display: flex; gap: 6px; margin: 13px 0 0; padding-bottom: 9px; }
.podium-points strong { font-size: 2.3rem; letter-spacing: -.07em; line-height: 1; }
.podium-points small { color: var(--ink-muted); font-family: var(--font-mono); font-size: .55rem; letter-spacing: .06em; text-transform: uppercase; }

.rank-board { margin-bottom: 52px; }
.rank-table { border-top: 1px solid var(--line-bold); }
.rank-head, .rank-row { align-items: center; display: grid; gap: 14px; grid-template-columns: 34px minmax(0, 1.6fr) 62px minmax(0, 1.5fr) 78px 82px; }
.rank-head { color: var(--ink-muted); font-family: var(--font-mono); font-size: .54rem; font-weight: 700; letter-spacing: .07em; padding: 11px 0; text-transform: uppercase; }
.rank-row { border-top: 1px solid var(--line); padding: 12px 0; }
.rank-row:hover { background: var(--paper-tint); }
.rank-index { color: var(--row-accent, var(--ink)); font-family: var(--font-mono); font-size: 1.15rem; font-weight: 700; }
.rank-club { align-items: center; background: transparent; border: 0; color: var(--ink); display: flex; gap: 10px; padding: 0; text-align: left; }
.rank-avatar, .roster-avatar, .request-avatar { align-items: center; background: var(--row-accent, var(--ink)); color: var(--ink); display: inline-flex; flex: 0 0 auto; font-family: var(--font-mono); font-size: .68rem; font-weight: 700; height: 30px; justify-content: center; width: 30px; }
.rank-club strong, .rank-club small { display: block; }
.rank-club strong { font-size: .98rem; letter-spacing: -.02em; }
.rank-club small, .rank-members, .rank-rep, .rank-points small { color: var(--ink-muted); font-family: var(--font-mono); font-size: .54rem; letter-spacing: .04em; text-transform: uppercase; }
.rank-members { display: block; }
.rank-badges .badge-row { margin: 0; }
.rank-rep, .rank-points { display: block; text-align: right; }
.rank-rep small, .rank-points small { display: block; }
.rank-points strong { font-size: 1.12rem; letter-spacing: -.04em; }

.committee-row { margin-bottom: 12px; }
.committee-list { border-top: 1px solid var(--line-bold); }
.committee-strip { align-items: center; border-top: 1px solid var(--line); display: grid; gap: 14px; grid-template-columns: 34px minmax(0, 1fr) 88px 92px; padding: 13px 0; }
.committee-strip:first-child { border-top: 0; }
.committee-index { color: var(--vermilion); font-family: var(--font-mono); font-size: .95rem; font-weight: 700; }
.committee-name strong { display: block; font-size: 1rem; letter-spacing: -.03em; }
.committee-name small { color: var(--ink-muted); font-size: .7rem; line-height: 1.4; }
.committee-clubs { color: var(--ink-muted); font-family: var(--font-mono); font-size: .56rem; letter-spacing: .05em; text-align: right; text-transform: uppercase; }
.committee-points { font-size: 1.15rem; font-weight: 700; letter-spacing: -.04em; text-align: right; }
.committee-points small { color: var(--ink-muted); font-family: var(--font-mono); font-size: .52rem; font-weight: 400; letter-spacing: .05em; margin-left: 3px; text-transform: uppercase; }

.detail-engagement { border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; margin: 18px 0; padding: 14px 0; }
.detail-points strong { display: block; font-size: 2.1rem; letter-spacing: -.07em; line-height: 1; }
.detail-points small { color: var(--ink-muted); font-family: var(--font-mono); font-size: .55rem; letter-spacing: .05em; text-transform: uppercase; }
.detail-engagement .badge-row { margin: 0; align-content: flex-start; }
.detail-facts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.detail-facts > span { border: 1px solid var(--line); color: var(--ink-muted); font-family: var(--font-mono); font-size: .55rem; letter-spacing: .04em; padding: 5px 7px; text-transform: uppercase; }
.detail-facts strong { color: var(--ink); }
.join-state { border: 1px solid var(--line-bold); font-family: var(--font-mono); font-size: .58rem; font-weight: 700; letter-spacing: .06em; padding: 12px 16px; text-transform: uppercase; }
.join-state.is-member { background: var(--ink); color: var(--paper); }

.club-ops { margin-top: 44px; }
.club-ops-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.roster-list { display: grid; gap: 0; }
.roster-row { align-items: center; border-top: 1px solid var(--line); display: flex; gap: 10px; padding: 9px 0; }
.roster-avatar { background: var(--paper-tint); color: var(--ink); }
.roster-name strong { display: block; font-size: .92rem; }
.roster-name small { color: var(--ink-muted); font-family: var(--font-mono); font-size: .52rem; letter-spacing: .04em; text-transform: uppercase; }
.mini-event-list { display: grid; gap: 12px; }
.mini-event-list .event-card { border: 1px solid var(--line); grid-template-columns: 64px minmax(0, 1fr); }
.mini-event-list .event-art img { height: 64px; }
.mini-event-list .event-actions { border-top: 1px solid var(--line); flex-direction: row; grid-column: 1 / -1; }

.event-actions { display: flex; flex-direction: column; gap: 7px; }
.checkin-button { min-height: 36px; padding: 8px 12px; }
.checkin-button.is-checked { background: var(--ink); color: var(--paper); }
.capacity-track { background: var(--line); height: 4px; margin: 9px 0 5px; width: 100%; }
.capacity-track span { background: var(--event-accent, var(--vermilion)); display: block; height: 100%; }
.capacity-label { color: var(--ink-muted); font-family: var(--font-mono); font-size: .52rem; letter-spacing: .04em; text-transform: uppercase; }

.request-list, .registration-list, .attendance-list { display: grid; gap: 0; }
.request-row { align-items: center; border-top: 1px solid var(--line); display: flex; gap: 14px; padding: 14px 0; }
.request-copy { flex: 1; min-width: 0; }
.request-copy h3 { font-size: 1.05rem; letter-spacing: -.03em; margin: 2px 0 3px; }
.request-copy p { color: var(--ink-muted); font-size: .78rem; margin: 0; }
.request-actions { display: flex; gap: 7px; }
.roster-table { border-top: 1px solid var(--line-bold); }
.roster-head, .roster-table-row { align-items: center; display: grid; gap: 12px; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.2fr) 110px 100px 84px; }
.roster-head { color: var(--ink-muted); font-family: var(--font-mono); font-size: .54rem; font-weight: 700; letter-spacing: .07em; padding: 11px 0; text-transform: uppercase; }
.roster-table-row { border-top: 1px solid var(--line); color: var(--ink-muted); font-family: var(--font-mono); font-size: .6rem; padding: 10px 0; }
.roster-cell-name { color: var(--ink); font-family: var(--font-display); font-size: .92rem; }
.roster-type.role-officer { color: var(--vermilion); font-weight: 700; }
.roster-type.role-advisor { color: var(--green); font-weight: 700; }
.registration-row, .attendance-row { align-items: center; border-top: 1px solid var(--line); display: flex; gap: 14px; padding: 12px 0; }
.registration-club strong, .registration-club small { display: block; }
.registration-club small { color: var(--ink-muted); font-family: var(--font-mono); font-size: .55rem; text-transform: uppercase; }
.registration-row .button, .attendance-row .button { margin-left: auto; }
.attendance-row.is-done { background: var(--paper-tint); }
.attendance-mark { color: var(--vermilion); font-family: var(--font-mono); font-size: 1.05rem; font-weight: 700; }
.attendance-copy strong, .attendance-copy small { display: block; }
.attendance-copy small { color: var(--ink-muted); font-family: var(--font-mono); font-size: .55rem; text-transform: uppercase; }
.status-pill.reg-active { background: var(--green); border-color: var(--green); color: #fff; }
.status-pill.reg-due { background: #FBE7A8; }
.status-pill.reg-lapsed { background: var(--vermilion); border-color: var(--vermilion); color: #fff; }

.topbar-tools { align-items: center; display: flex; gap: 10px; }
.lang-toggle { background: var(--ink); border: 1px solid var(--line-bold); color: var(--paper); font-family: var(--font-mono); font-size: .68rem; font-weight: 700; letter-spacing: .06em; min-width: 44px; padding: 8px 10px; }
.lang-toggle:hover { background: var(--vermilion); }
.button-whatsapp { background: #25D366; border: 1px solid var(--line-bold); color: var(--ink); display: inline-flex; gap: 6px; text-decoration: none; }
.button-whatsapp:hover { background: var(--ink); color: var(--paper); }
.wa-mark { font-size: .9em; }
.detail-link { border: 1px solid var(--line); color: var(--ink-muted); font-family: var(--font-mono); font-size: .55rem; letter-spacing: .04em; padding: 5px 7px; text-decoration: none; text-transform: uppercase; }
.detail-link:hover { background: var(--ink); color: var(--paper); }
.empty-icon[dir], .club-ops .empty-state { min-height: 0; }

[dir="rtl"] body { font-family: var(--font-display), 'Noto Sans Arabic', 'Segoe UI', Tahoma, sans-serif; }
[dir="rtl"] .main-nav { border-left: 1px solid var(--line-bold); border-right: 0; }
[dir="rtl"] .layout { direction: rtl; }
[dir="rtl"] .club-grid, [dir="rtl"] .event-grid, [dir="rtl"] .post-grid, [dir="rtl"] .rank-summary,
[dir="rtl"] .podium, [dir="rtl"] .club-ops-grid, [dir="rtl"] .settings-grid, [dir="rtl"] .admin-overview-grid,
[dir="rtl"] .submit-layout, [dir="rtl"] .profile-grid, [dir="rtl"] .admin-metrics { direction: rtl; }
[dir="rtl"] .marker-pink, [dir="rtl"] .marker-yellow { box-decoration-break: clone; -webkit-box-decoration-break: clone; }
[dir="rtl"] .accent-pink, [dir="rtl"] .accent-violet { font-family: var(--font-serif), 'Noto Naskh Arabic', serif; }
[dir="rtl"] .eyebrow, [dir="rtl"] .nav-link, [dir="rtl"] .badge, [dir="rtl"] .capacity-label,
[dir="rtl"] .rank-club small, [dir="rtl"] .committee-name small, [dir="rtl"] .status-pill,
[dir="rtl"] .roster-name small, [dir="rtl"] .detail-link, [dir="rtl"] .topbar-status { letter-spacing: 0; }
[dir="rtl"] .button, [dir="rtl"] .nav-link, [dir="rtl"] .category-pill, [dir="rtl"] .interest-button { text-align: center; }
[dir="rtl"] .event-actions, [dir="rtl"] .detail-actions, [dir="rtl"] .request-actions { flex-direction: row; flex-wrap: wrap; }
[dir="rtl"] .admin-nav-link { border-left: 0; border-right: 1px solid var(--line); }
[dir="rtl"] .admin-nav-link:last-child { border-left: 0; }
[dir="rtl"] .score-stamp { left: 8px; right: auto; }
[dir="rtl"] .points-stamp { left: auto; right: 8px; }
[dir="rtl"] .rank-index, [dir="rtl"] .committee-index, [dir="rtl"] .activity-index { direction: ltr; }
[dir="rtl"] .rank-rep, [dir="rtl"] .rank-points, [dir="rtl"] .committee-points { direction: ltr; }

@media (max-width: 1060px) {
  .rank-head, .rank-row { grid-template-columns: 30px minmax(0, 1.4fr) 54px minmax(0, 1fr) 70px; }
  .rank-head span:nth-child(5), .rank-row .rank-rep { display: none; }
  .roster-head, .roster-table-row { grid-template-columns: minmax(0, 1.2fr) 100px 84px; }
  .roster-head span:nth-child(2), .roster-head span:nth-child(4), .roster-table-row span:nth-child(2), .roster-table-row span:nth-child(4) { display: none; }
}

@media (max-width: 720px) {
  .rank-summary, .podium, .club-ops-grid { grid-template-columns: 1fr; }
  .rank-stat { border-bottom: 0; border-right: 1px solid var(--line-bold); }
  .rank-stat:last-child { border-bottom: 1px solid var(--line-bold); }
  .rank-head { display: none; }
  .rank-row { align-items: start; grid-template-columns: 28px minmax(0, 1fr) 74px; }
  .rank-row .rank-members { display: none; }
  .rank-badges { grid-column: 2 / -1; }
  .committee-strip { align-items: start; grid-template-columns: 28px minmax(0, 1fr) 78px; }
  .committee-clubs { display: none; }
  .request-row, .registration-row, .attendance-row { align-items: start; flex-wrap: wrap; }
  .request-actions { width: 100%; }
  .registration-row .button, .attendance-row .button { margin-left: 0; }
  .roster-head { display: none; }
  .roster-table-row { grid-template-columns: minmax(0, 1fr) 92px; }
  .roster-table-row span:nth-child(3) { display: none; }
}

.club-bar { align-items: center; display: flex; gap: 12px; justify-content: space-between; margin-bottom: 18px; }
.club-bar-rank { background: var(--ink); color: var(--paper); font-family: var(--font-mono); font-size: .72rem; font-weight: 700; letter-spacing: .05em; padding: 5px 9px; }
.club-hero { border: 1px solid var(--line-bold); margin-bottom: 0; }
.club-hero-art { border-bottom: 1px solid var(--line-bold); position: relative; }
.club-hero-art img { display: block; height: clamp(150px, 34vw, 260px); object-fit: cover; width: 100%; }
.club-hero-badge { background: var(--detail-accent, var(--ink)); bottom: 0; color: var(--ink); font-family: var(--font-mono); font-size: .58rem; font-weight: 700; left: 0; letter-spacing: .05em; padding: 5px 9px; position: absolute; text-transform: uppercase; }
.club-hero-copy { padding: 20px; }
.club-hero-copy .eyebrow { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.club-hero-copy h1 { font-size: clamp(2rem, 8vw, 3.4rem); letter-spacing: -.05em; line-height: .95; margin: 10px 0 8px; }
.club-hero-tagline { color: var(--ink-muted); font-family: var(--font-serif); font-size: 1.05rem; font-style: italic; margin: 0 0 18px; }
.club-stats { border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.club-stats > div { border-inline-end: 1px solid var(--line); padding: 12px 8px; }
.club-stats > div:last-child { border-inline-end: 0; }
.club-stats strong { display: block; font-size: 1.4rem; letter-spacing: -.05em; line-height: 1; }
.club-stats span { color: var(--ink-muted); font-family: var(--font-mono); font-size: .5rem; letter-spacing: .04em; text-transform: uppercase; }
.club-tabs { background: var(--paper-card); border: 1px solid var(--line-bold); border-top: 0; display: flex; overflow-x: auto; position: sticky; top: 62px; scrollbar-width: none; z-index: 12; }
.club-tabs::-webkit-scrollbar { display: none; }
.club-tab { background: transparent; border: 0; border-inline-end: 1px solid var(--line); color: var(--ink-muted); flex: 1 0 auto; font-family: var(--font-mono); font-size: .62rem; font-weight: 700; letter-spacing: .05em; min-height: 46px; padding: 0 16px; text-transform: uppercase; white-space: nowrap; }
.club-tab.is-active { background: var(--ink); color: var(--paper); }
.club-panel { border: 1px solid var(--line-bold); border-top: 0; padding: 22px 18px; }
.panel-title { margin-bottom: 12px; }
.panel-title h2 { font-size: 1.55rem; letter-spacing: -.05em; line-height: 1.05; margin: 5px 0 0; }
.panel-title:not(:first-child) { border-top: 1px solid var(--line); margin-top: 26px; padding-top: 20px; }
.panel-lede { color: var(--ink); font-size: .98rem; line-height: 1.7; margin: 0 0 16px; }
.benefit-list { display: grid; gap: 8px; list-style: none; margin: 0; padding: 0; }
.benefit-list li { border-inline-start: 3px solid var(--vermilion); color: var(--ink-muted); font-size: .88rem; padding-inline-start: 11px; }
.club-event-list { display: grid; gap: 12px; }
.club-event-list .event-card { grid-template-columns: 76px minmax(0, 1fr); }
.club-event-list .event-art img { height: 76px; }
.club-event-list .event-actions { border-top: 1px solid var(--line); flex-direction: row; grid-column: 1 / -1; }
.benefit-link { border: 1px solid var(--line-bold); color: var(--ink); display: block; font-family: var(--font-mono); font-size: .58rem; font-weight: 700; letter-spacing: .05em; margin-top: 14px; padding: 11px 13px; text-align: center; text-decoration: none; text-transform: uppercase; }
.benefit-link:hover { background: var(--ink); color: var(--paper); }
.rate-inline { align-items: center; display: flex; gap: 12px; }
.rate-inline span { color: var(--ink-muted); font-size: .8rem; }
.roster-groups { display: grid; gap: 22px; }
.roster-group h3 { color: var(--ink-muted); font-family: var(--font-mono); font-size: .55rem; letter-spacing: .06em; margin: 0 0 4px; text-transform: uppercase; }
.info-list { border-top: 1px solid var(--line); }
.info-row { align-items: center; border-bottom: 1px solid var(--line); color: var(--ink-muted); display: flex; font-size: .85rem; justify-content: space-between; padding: 11px 0; }
.info-row strong { color: var(--ink); font-family: var(--font-mono); font-size: .8rem; }
.connect-actions { display: grid; gap: 8px; }
.connect-actions .button { justify-content: center; text-align: center; }
.locked-resource { align-items: center; border: 1px dashed var(--line-bold); color: var(--ink-faint); display: flex; gap: 10px; justify-content: center; padding: 26px; }
.locked-resource p { font-family: var(--font-mono); font-size: .6rem; margin: 0; text-transform: uppercase; }
.club-reviews { border: 1px solid var(--line-bold); border-top: 0; padding: 22px 18px; }
.club-action-bar { background: var(--paper); border-top: 1px solid var(--line-bold); bottom: 0; display: grid; gap: 8px; grid-template-columns: 1fr 1fr; left: 0; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); position: sticky; z-index: 14; }
.club-action-bar .button, .club-action-bar .join-state { justify-content: center; min-height: 48px; text-align: center; width: 100%; }
.page-club { padding-bottom: 96px; }

@supports (padding-bottom: env(safe-area-inset-bottom)) {
  .club-action-bar { padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
}

@media (min-width: 721px) {
  .club-hero { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
  .club-hero-art { border-bottom: 0; border-inline-end: 1px solid var(--line-bold); }
  .club-hero-art img { height: 100%; min-height: 300px; }
  .club-hero-copy { align-content: center; display: grid; padding: 30px; }
  .club-tabs { position: static; }
  .club-action-bar { background: transparent; border-top: 0; bottom: auto; grid-template-columns: none; left: auto; position: static; display: flex; padding: 0; }
  .club-action-bar .button, .club-action-bar .join-state { width: auto; }
  .page-club { padding-bottom: 40px; }
  .club-panel, .club-reviews { padding: 28px; }
}

@media (max-width: 460px) {
  .club-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .club-stats > div:nth-child(2) { border-inline-end: 0; }
  .club-action-bar { grid-template-columns: 1fr; }
  .club-tab { padding: 0 13px; }
}

@media (max-width: 720px) {
  .page, .page > * { min-width: 0; }
  .page-header h1 { font-size: clamp(1.8rem, 8.5vw, 2.4rem); overflow-wrap: break-word; }
  .page-header p, .panel-lede { font-size: .9rem; }
  .hero-manifesto { min-width: 0; overflow: hidden; padding: 20px 18px; }
  .hero-sticker { display: none; }
  .ticker { font-size: .55rem; margin: -20px -18px 24px; max-width: calc(100% + 36px); overflow: hidden; }
  .hero-actions, .composer-actions, .detail-actions, .connect-actions { flex-wrap: wrap; }
  .hero-manifesto h2 { font-size: clamp(2rem, 9vw, 2.6rem); overflow-wrap: break-word; }
  .hero-manifesto p { font-size: .88rem; }
  .hero-actions .button, .composer-actions .button { flex: 1 1 100%; justify-content: center; }
  .section-heading h2, .panel-title h2 { font-size: 1.35rem; overflow-wrap: break-word; }
  .club-hero-copy h1 { font-size: clamp(1.7rem, 7.5vw, 2.4rem); }
  .club-hero-tagline { font-size: .95rem; }
  .club-tab { font-size: .58rem; padding: 0 12px; }
  .club-action-bar .button, .club-action-bar .join-state { font-size: .78rem; padding: 0 8px; }
  .button { font-size: .8rem; padding: 0 12px; }
  .ranking-board, .club-hero-copy, .panel-card, .submit-form, .profile-card { padding: 16px; }
  .board-row { gap: 8px; }
  .board-club small { display: none; }
  .interest-button, .checkin-button { font-size: .7rem; }
  .event-card { grid-template-columns: 68px minmax(0, 1fr); }
  .event-actions, .club-event-list .event-actions, .mini-event-list .event-actions { grid-column: 1 / -1; }
  .event-copy h3 { font-size: 1rem; }
  .rank-row, .directory-row, .roster-table-row, .request-row { gap: 8px; }
  .badge-name { display: none; }
  .badge { padding: 3px 4px; }
  .podium-copy h3 { font-size: 1.1rem; }
  .podium-points strong { font-size: 1.8rem; }
  .form-heading h2, .settings-grid h2 { font-size: 1.4rem; }
  .club-stats strong { font-size: 1.15rem; }
  .banner-shape { display: none; }
  .modal, .empty-icon { max-width: 100%; }
}

[dir="rtl"] .page-header h1, [dir="rtl"] .hero-manifesto h2 { font-family: var(--font-serif), 'Noto Naskh Arabic', serif; letter-spacing: 0; }

/* Campus OS: hub, wire, year guides, profile, and Telegram admin */
.nav-label { color: var(--ink-faint); font-family: var(--font-mono); font-size: .52rem; font-weight: 700; letter-spacing: .1em; margin: 2px 0 2px; text-transform: uppercase; }
.nav-label-second { border-top: 1px solid var(--line); margin-top: 16px; padding-top: 16px; }
.nav-count { background: var(--vermilion); color: var(--paper); font-size: .5rem; margin-inline-start: 5px; padding: 1px 4px; }
.nav-submit { align-items: center; background: var(--ink); border: 1px solid var(--line-bold); color: var(--paper); display: flex; font-family: var(--font-mono); font-size: .58rem; font-weight: 700; gap: 7px; justify-content: center; letter-spacing: .05em; margin-top: 20px; min-height: 42px; padding: 8px; text-transform: uppercase; }
.nav-submit span { color: var(--vermilion); font-size: 15px; }
.nav-submit:hover { background: var(--vermilion); }
.nav-foot { align-items: center; color: var(--ink-faint); display: flex; font-family: var(--font-mono); font-size: .52rem; gap: 6px; margin-top: auto; padding-top: 20px; text-transform: uppercase; }
.quick-add { align-items: center; background: var(--vermilion); border: 1px solid var(--line-bold); color: var(--paper); display: inline-flex; font-size: 18px; height: 36px; justify-content: center; width: 36px; }
.quick-add:hover { background: var(--ink); }

.onboarding-strip { align-items: end; background: var(--ink); color: var(--paper); display: grid; gap: 20px; grid-template-columns: minmax(0, 1.4fr) minmax(140px, .5fr) minmax(180px, .7fr) auto; margin-bottom: 28px; padding: 22px; }
.onboarding-strip h2 { font-size: clamp(1.5rem, 2.8vw, 2.3rem); letter-spacing: -.06em; line-height: .95; margin: 7px 0 8px; }
.onboarding-strip p { color: #c8c5bf; font-size: .8rem; line-height: 1.5; margin: 0; }
.onboarding-strip label { color: #c8c5bf; display: grid; font-family: var(--font-mono); font-size: .55rem; font-weight: 700; gap: 6px; letter-spacing: .06em; text-transform: uppercase; }
.onboarding-strip input, .onboarding-strip select { background: #23252a; border: 1px solid #4d5057; color: var(--paper); min-height: 44px; padding: 9px 10px; }
.onboarding-strip .button-dark { background: var(--vermilion); border-color: var(--vermilion); }
.onboarding-strip .button-dark:hover { background: var(--paper); color: var(--ink); }

.quick-strip { border-bottom: 1px solid var(--line-bold); border-top: 1px solid var(--line-bold); margin-top: 28px; padding: 14px 0 18px; }
.quick-strip-head { align-items: center; display: flex; justify-content: space-between; margin-bottom: 12px; }
.quick-strip-row { display: grid; gap: 10px; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.quick-link { background: var(--paper-card); border: 1px solid var(--line-bold); color: var(--ink); display: flex; flex-direction: column; gap: 4px; min-height: 108px; padding: 12px; text-align: start; }
.quick-link:hover { background: var(--ink); color: var(--paper); }
.quick-link > span { color: var(--vermilion); font-family: var(--font-mono); font-size: .58rem; font-weight: 700; }
.quick-link strong { font-size: .88rem; letter-spacing: -.02em; line-height: 1.12; }
.quick-link small { color: var(--ink-muted); font-size: .66rem; line-height: 1.4; margin-top: auto; }
.quick-link:hover small { color: #c8c5bf; }

.home-year-section .section-heading { margin-top: 0; }
.home-year-grid { display: grid; gap: 22px; grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr); }
.home-year-copy { display: flex; flex-direction: column; gap: 16px; }
.home-year-copy > p { font-family: var(--font-serif); font-size: 1.35rem; font-style: italic; line-height: 1.35; margin: 0; }
.home-year-copy > .button { align-self: start; }
.home-wire-list { display: grid; gap: 10px; }

.year-guide { background: var(--paper-card); border: 1px solid var(--line-bold); padding: 22px; }
.year-guide.is-compact { align-self: start; }
.year-guide-head { align-items: start; display: flex; gap: 20px; justify-content: space-between; }
.year-guide-head h2 { font-size: clamp(1.7rem, 3vw, 2.6rem); letter-spacing: -.06em; line-height: .95; margin: 7px 0 8px; }
.year-guide-head p { color: var(--ink-muted); font-size: .82rem; line-height: 1.5; margin: 0; max-width: 470px; }
.year-progress { flex: 0 0 128px; text-align: end; }
.year-progress strong { display: block; font-size: 2.3rem; letter-spacing: -.08em; line-height: 1; }
.year-progress > span { color: var(--ink-muted); display: block; font-family: var(--font-mono); font-size: .52rem; letter-spacing: .05em; margin-top: 4px; text-transform: uppercase; }
.checklist-grid { border-top: 1px solid var(--line-bold); display: grid; gap: 0 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 18px; padding-top: 6px; }
.check-item { align-items: start; background: transparent; border: 0; border-bottom: 1px solid var(--line); color: var(--ink-muted); display: flex; font-size: .78rem; gap: 9px; padding: 10px 0; text-align: start; }
.check-item span { color: var(--ink-faint); font-family: var(--font-mono); }
.check-item:hover { color: var(--ink); }
.check-item.is-done { color: var(--ink); text-decoration: line-through; text-decoration-color: var(--vermilion); }
.check-item.is-done span { color: var(--green); text-decoration: none; }
.year-guide-columns { border-top: 1px solid var(--line-bold); display: grid; gap: 26px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 20px; padding-top: 18px; }
.timeline-list { display: grid; gap: 0; margin-top: 8px; }
.timeline-row { align-items: baseline; border-bottom: 1px solid var(--line); display: grid; gap: 10px; grid-template-columns: 84px 1fr; padding: 9px 0; }
.timeline-row span { color: var(--vermilion); font-family: var(--font-mono); font-size: .55rem; font-weight: 700; text-transform: uppercase; }
.timeline-row strong { font-size: .8rem; font-weight: 500; }
.year-club-list { display: grid; gap: 0; margin-top: 8px; }
.year-club-list button { align-items: center; background: transparent; border: 0; border-bottom: 1px solid var(--line); color: var(--ink); display: grid; gap: 9px; grid-template-columns: 12px 1fr; padding: 9px 0; text-align: start; }
.year-club-list button:hover strong { color: var(--vermilion); }
.year-club-list button > span { background: var(--dot, var(--ink)); grid-row: 1 / span 2; height: 12px; width: 12px; }
.year-club-list strong, .year-club-list small { display: block; }
.year-club-list strong { font-size: .88rem; }
.year-club-list small { color: var(--ink-muted); font-size: .68rem; grid-column: 2; }

.campus-stat-row { border: 1px solid var(--line-bold); display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-bottom: 18px; }
.campus-stat-row > div { border-inline-end: 1px solid var(--line); padding: 14px 16px; }
.campus-stat-row > div:last-child { border-inline-end: 0; }
.campus-stat-row strong { display: block; font-size: 2.2rem; letter-spacing: -.08em; line-height: 1; }
.campus-stat-row span { color: var(--ink-muted); font-family: var(--font-mono); font-size: .53rem; letter-spacing: .05em; text-transform: uppercase; }
.hub-search-bar { align-items: end; background: var(--paper-card); border: 1px solid var(--line-bold); display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr) auto auto; padding: 14px; }
.hub-search-bar .search-box { border-bottom: 0; min-height: 44px; padding: 0 4px; }
.filter-stack { background: var(--paper-card); border: 1px solid var(--line-bold); border-top: 0; padding: 10px 14px 14px; }
.hub-kind-row { border-bottom: 1px solid var(--line); padding-bottom: 12px; }
.campus-section { margin-top: 52px; }
.campus-section > .section-heading { margin-bottom: 20px; }
.directory-group { margin-bottom: 30px; }
.directory-group-head { align-items: center; border-bottom: 1px solid var(--line-bold); display: flex; justify-content: space-between; padding-bottom: 8px; }
.directory-group-head > span:last-child { color: var(--ink-faint); font-family: var(--font-mono); font-size: .58rem; }
.directory-grid { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 12px; }
.directory-card { background: var(--paper-card); border: 1px solid var(--line-bold); display: flex; flex-direction: column; gap: 8px; padding: 15px; }
.directory-card.is-saved { border-top: 3px solid var(--vermilion); }
.directory-card:hover { background: var(--paper-tint); }
.directory-card-top { align-items: center; display: flex; gap: 6px; justify-content: space-between; }
.kind-chip, .verified-chip, .pending-chip { border: 1px solid var(--line-bold); font-family: var(--font-mono); font-size: .48rem; font-weight: 700; letter-spacing: .05em; padding: 3px 5px; text-transform: uppercase; }
.kind-chip { background: var(--paper-tint); color: var(--ink-muted); }
.verified-chip { color: var(--green); }
.pending-chip { color: var(--vermilion); }
.directory-card h3 { font-size: 1.15rem; letter-spacing: -.04em; line-height: 1.05; margin: 2px 0 0; }
.directory-card p { color: var(--ink-muted); font-size: .72rem; line-height: 1.5; margin: 0; }
.directory-room { color: var(--ink-muted); font-family: var(--font-mono); font-size: .56rem; }
.directory-foot { align-items: center; display: flex; justify-content: space-between; margin-top: auto; padding-top: 6px; }
.audience-row { display: flex; flex-wrap: wrap; gap: 4px; }
.audience-tag { background: var(--paper-tint); color: var(--ink-muted); font-family: var(--font-mono); font-size: .46rem; letter-spacing: .03em; padding: 2px 4px; text-transform: uppercase; }
.save-link { background: transparent; border: 0; color: var(--ink-faint); font-size: 18px; line-height: 1; padding: 0 3px; }
.save-link.is-saved, .save-link:hover { color: var(--vermilion); }
.directory-actions { align-items: center; display: flex; gap: 10px; justify-content: space-between; }
.directory-actions .button { flex: 1; min-height: 36px; padding: 7px 8px; }
.directory-actions .text-link { font-size: .52rem; }
.directory-form { background: var(--paper-tint); border: 1px solid var(--line-bold); margin-bottom: 22px; padding: 20px; }
.directory-form-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.directory-form label, .profile-form label, .club-editor label, .claim-form label { display: grid; font-family: var(--font-mono); font-size: .55rem; font-weight: 700; gap: 6px; letter-spacing: .05em; text-transform: uppercase; }
.directory-form input, .directory-form select, .directory-form textarea, .profile-form input, .profile-form select, .profile-form textarea, .club-editor input, .club-editor select, .club-editor textarea, .claim-form input, .claim-form textarea, .channel-admin-row input, .telegram-connect-card input, .telegram-add-card input, .telegram-add-card select, .telegram-add-card textarea, .settings-grid input { background: var(--paper-card); border: 1px solid var(--line-bold); border-radius: 0; color: var(--ink); font-size: .86rem; min-height: 42px; outline: 0; padding: 9px 10px; text-transform: none; }
.directory-form textarea, .profile-form textarea, .club-editor textarea, .claim-form textarea, .telegram-add-card textarea { min-height: 96px; resize: vertical; }
.directory-form .full-field, .profile-form .full-field, .club-editor .full-field, .claim-form .full-field, .admin-composer .full-field { grid-column: 1 / -1; }
.directory-form input:focus, .directory-form select:focus, .directory-form textarea:focus, .profile-form input:focus, .club-editor input:focus, .claim-form input:focus, .telegram-add-card textarea:focus { border-color: var(--vermilion); background: var(--paper-tint); }
.channel-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.channel-card { background: var(--paper-card); border: 1px solid var(--line-bold); display: flex; flex-direction: column; gap: 7px; padding: 14px; }
.channel-card h3 { font-size: 1rem; letter-spacing: -.03em; line-height: 1.1; margin: 2px 0 0; }
.channel-card p { color: var(--ink-muted); font-size: .68rem; line-height: 1.45; margin: 0; }
.channel-top { align-items: center; display: flex; justify-content: space-between; }
.channel-kind { color: var(--vermilion); font-family: var(--font-mono); font-size: .5rem; font-weight: 700; text-transform: uppercase; }
.mini-link { background: transparent; border: 0; color: var(--ink); font-family: var(--font-mono); font-size: .52rem; font-weight: 700; letter-spacing: .04em; padding: 0; text-decoration: none; text-transform: uppercase; }
.mini-link:hover { color: var(--vermilion); }

.page-telegram .page-header, .page-events .page-header, .page-campus .page-header { margin-bottom: 28px; }
.telegram-top-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.telegram-connect-card, .telegram-add-card { background: var(--paper-card); border: 1px solid var(--line-bold); padding: 20px; }
.telegram-connect-card h2, .telegram-add-card h2 { font-size: clamp(1.6rem, 2.8vw, 2.3rem); letter-spacing: -.06em; line-height: .98; margin: 8px 0; overflow-wrap: anywhere; }
.telegram-connect-card > p, .telegram-add-card > p { color: var(--ink-muted); font-size: .8rem; line-height: 1.5; margin: 0 0 14px; }
.inline-form { align-items: end; display: flex; gap: 8px; margin: 14px 0; }
.inline-form label { display: grid; flex: 1; font-family: var(--font-mono); font-size: .55rem; font-weight: 700; gap: 6px; letter-spacing: .05em; text-transform: uppercase; }
.inline-fields { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 10px 0; }
.telegram-add-card form { display: grid; gap: 10px; }
.telegram-add-card label { display: grid; font-family: var(--font-mono); font-size: .55rem; font-weight: 700; gap: 6px; letter-spacing: .05em; text-transform: uppercase; }
.telegram-bot-state { align-items: center; color: var(--ink-muted); display: flex; flex-wrap: wrap; font-family: var(--font-mono); font-size: .56rem; gap: 7px; margin: 12px 0; }
.telegram-bot-state.is-connected { color: var(--green); }
.telegram-connect-card .button { margin-top: 4px; }
.form-note { color: var(--ink-muted); font-family: var(--font-mono); font-size: .55rem; line-height: 1.5; margin: 0; }
.wire-list { display: grid; gap: 10px; }
.wire-card { background: var(--paper-card); border: 1px solid var(--line-bold); border-inline-start: 3px solid var(--line-bold); padding: 14px 16px; }
.wire-card.wire-alert { border-inline-start-color: var(--vermilion); }
.wire-card.wire-year { border-inline-start-color: var(--green); }
.wire-card.wire-event { border-inline-start-color: var(--ink); }
.wire-card.is-pending { background: var(--paper-tint); border-style: dashed; }
.wire-meta { align-items: center; color: var(--ink-muted); display: flex; font-family: var(--font-mono); font-size: .52rem; gap: 8px; justify-content: space-between; text-transform: uppercase; }
.wire-source { color: var(--ink); font-weight: 700; }
.wire-kind { color: var(--vermilion); font-family: var(--font-mono); font-size: .5rem; font-weight: 700; letter-spacing: .05em; margin: 6px 0 4px; text-transform: uppercase; }
.wire-card p { font-size: .84rem; line-height: 1.55; margin: 0 0 8px; }
.wire-foot { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; }
.wire-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 9px; }
.telegram-how { border-top: 1px solid var(--line-bold); margin-top: 52px; padding-top: 24px; }
.how-steps { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.how-step { border: 1px solid var(--line-bold); padding: 14px; }
.how-step > span { color: var(--vermilion); font-family: var(--font-mono); font-size: .58rem; font-weight: 700; }
.how-step strong { display: block; font-family: var(--font-mono); font-size: .82rem; margin: 5px 0; }
.how-step p { color: var(--ink-muted); font-size: .68rem; line-height: 1.4; margin: 0; }

.event-summary { display: grid; gap: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 16px; }
.event-summary-stat { border: 1px solid var(--line-bold); border-inline-end: 0; padding: 14px 16px; }
.event-summary-stat:last-child { border-inline-end: 1px solid var(--line-bold); }
.event-summary-stat strong { display: block; font-size: 2rem; letter-spacing: -.07em; line-height: 1; }
.event-summary-stat span { color: var(--ink-muted); font-family: var(--font-mono); font-size: .52rem; letter-spacing: .04em; text-transform: uppercase; }
.event-toolbar { background: var(--paper-card); border: 1px solid var(--line-bold); margin-bottom: 20px; padding: 10px 14px 14px; }
.event-toolbar .category-row:first-child { border-bottom: 1px solid var(--line); padding-bottom: 10px; }
.event-grid-full { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.event-wrap { position: relative; }
.event-wrap .event-card { height: 100%; }
.event-save { background: var(--paper-card); border: 1px solid var(--line-bold); bottom: 8px; font-family: var(--font-mono); font-size: .5rem; font-weight: 700; inset-inline-start: 8px; letter-spacing: .04em; padding: 4px 6px; position: absolute; text-transform: uppercase; z-index: 2; }
.event-save:hover, .event-save.is-saved { background: var(--ink); color: var(--paper); }
.event-submit-banner { margin-top: 52px; }

.profile-form { margin-top: 20px; }
.profile-form-grid { display: grid; gap: 13px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.profile-side { display: flex; flex-direction: column; gap: 16px; }
.mini-club-list { border-top: 1px solid var(--line-bold); }
.mini-club-list button { align-items: center; background: transparent; border: 0; border-bottom: 1px solid var(--line); color: var(--ink); display: grid; gap: 11px; grid-template-columns: 34px 1fr auto; padding: 11px 0; text-align: start; width: 100%; }
.mini-club-list button:hover strong { color: var(--vermilion); }
.mini-club-mark { align-items: center; background: var(--mini-accent, var(--ink)); color: var(--ink); display: inline-flex; font-family: var(--font-mono); font-size: .7rem; font-weight: 700; height: 34px; justify-content: center; width: 34px; }
.mini-club-list strong, .mini-club-list small { display: block; }
.mini-club-list strong { font-size: .9rem; }
.mini-club-list small { color: var(--ink-muted); font-size: .66rem; line-height: 1.35; }
.mini-arrow { color: var(--vermilion); }
.profile-section { border-top: 1px solid var(--line-bold); margin-top: 40px; padding-top: 22px; }
.year-progress-card h3 { font-size: 2.3rem; letter-spacing: -.07em; margin: 6px 0; }
.year-progress-card p { color: var(--ink-muted); font-size: .76rem; line-height: 1.5; }
.saved-link-list { border-top: 1px solid var(--line-bold); }
.saved-link-row { align-items: center; border-bottom: 1px solid var(--line); display: flex; gap: 10px; padding: 10px 0; }
.saved-link-row strong { flex: 1; font-size: .85rem; }
.mini-status-list { border-top: 1px solid var(--line-bold); }
.stat-card.acid-stat { background: var(--vermilion); }
.stat-card.pink-stat { background: var(--paper-tint); }
.stat-card.dark-stat { background: var(--ink); }
.stat-card.acid-stat span, .stat-card.acid-stat small { color: var(--paper); }
.stat-card.acid-stat strong { color: var(--paper); }
.stat-card.pink-stat span, .stat-card.pink-stat small { color: var(--ink-muted); }
.stat-card.dark-stat span, .stat-card.dark-stat small { color: var(--paper); }

.club-admin-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.club-editor, .claim-form { border-top: 0; }
.club-editor .form-heading, .claim-form .form-heading { margin-bottom: 18px; }
.club-editor .directory-form-grid, .claim-form .directory-form-grid { margin-top: 8px; }
.wire-list .wire-card { background: var(--paper); }

.modal-backdrop { align-items: center; background: rgba(20, 21, 24, .72); display: flex; inset: 0; justify-content: center; padding: 18px; position: fixed; z-index: 60; }
.guide-modal { background: var(--paper); border: 1px solid var(--line-bold); max-height: 86vh; max-width: 720px; overflow: auto; padding: 24px; width: 100%; }
.guide-modal-head { align-items: start; border-bottom: 1px solid var(--line-bold); display: flex; gap: 16px; justify-content: space-between; padding-bottom: 14px; }
.guide-modal-head h2 { font-size: clamp(1.7rem, 4vw, 2.7rem); letter-spacing: -.06em; line-height: .95; margin: 7px 0 0; }
.modal-close { background: var(--ink); border: 1px solid var(--line-bold); color: var(--paper); font-size: 20px; height: 36px; line-height: 1; width: 36px; }
.modal-close:hover { background: var(--vermilion); }
.guide-focus { font-family: var(--font-serif); font-size: 1.25rem; font-style: italic; line-height: 1.35; }
.guide-steps { counter-reset: step; display: grid; gap: 0; list-style: none; margin: 18px 0; padding: 0; }
.guide-steps li { border-bottom: 1px solid var(--line); counter-increment: step; display: grid; gap: 12px; grid-template-columns: 28px 1fr; padding: 10px 0; }
.guide-steps li::before { color: var(--vermilion); content: counter(step, decimal-leading-zero); font-family: var(--font-mono); font-size: .62rem; font-weight: 700; }
.guide-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; justify-content: end; margin-top: 20px; }
.setup-code { background: var(--ink); color: var(--paper); margin: 12px 0; overflow-x: auto; padding: 12px; }
.setup-code .eyebrow { color: #ff8c7f; }
.setup-code code, .setup-code pre { color: var(--paper); font-family: var(--font-mono); font-size: .62rem; line-height: 1.5; margin: 6px 0 0; white-space: pre-wrap; word-break: break-word; }
.directory-card.directory-year { border-top: 3px solid var(--green); }

.channel-admin-list { display: grid; gap: 0; }
.channel-admin-row { align-items: center; border-top: 1px solid var(--line); display: grid; gap: 12px; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) auto; padding: 9px 0; }
.channel-admin-row strong, .channel-admin-row small { display: block; }
.channel-admin-row strong { font-size: .86rem; }
.channel-admin-row small { color: var(--ink-muted); font-family: var(--font-mono); font-size: .5rem; text-transform: uppercase; }
.queue-note { color: var(--ink-muted); font-family: var(--font-mono); font-size: .58rem; margin-top: 12px; }
.inbox-toolbar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.inbox-row .admin-row-art { background: var(--ink); color: var(--paper); }
.admin-nav { grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); }
.status-hidden { background: var(--ink); color: var(--paper); }

:focus-visible { outline: 2px solid var(--vermilion); outline-offset: 2px; }

@media (max-width: 1060px) {
  .onboarding-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .onboarding-strip > div { grid-column: 1 / -1; }
  .quick-strip-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-year-grid, .telegram-top-grid { grid-template-columns: 1fr; }
  .directory-grid, .channel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .campus-stat-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .campus-stat-row > div { border-bottom: 1px solid var(--line); }
  .campus-stat-row > div:nth-child(3n) { border-inline-end: 0; }
  .campus-stat-row > div:nth-last-child(-n + 2) { border-bottom: 0; }
  .how-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .onboarding-strip { align-items: stretch; gap: 12px; grid-template-columns: 1fr; padding: 18px; }
  .onboarding-strip > div { grid-column: auto; }
  .onboarding-strip .button { width: 100%; }
  .quick-strip-row { display: flex; overflow-x: auto; padding-bottom: 4px; }
  .quick-link { flex: 0 0 155px; }
  .checklist-grid, .year-guide-columns, .directory-form-grid, .profile-form-grid, .inline-fields, .event-grid-full { grid-template-columns: 1fr; }
  .year-guide-head { flex-direction: column; }
  .year-progress { flex: none; text-align: start; width: 100%; }
  .campus-stat-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .campus-stat-row > div:nth-child(3n) { border-inline-end: 1px solid var(--line); }
  .campus-stat-row > div:nth-child(2n) { border-inline-end: 0; }
  .campus-stat-row > div:nth-last-child(-n + 2) { border-bottom: 0; }
  .campus-stat-row > div:nth-last-child(-n + 3) { border-bottom: 1px solid var(--line); }
  .campus-stat-row > div:last-child { border-bottom: 0; border-inline-end: 0; grid-column: 1 / -1; }
  .hub-search-bar { align-items: stretch; grid-template-columns: 1fr 1fr; }
  .hub-search-bar .search-box { grid-column: 1 / -1; }
  .directory-grid, .channel-grid { grid-template-columns: 1fr; }
  .telegram-connect-card, .telegram-add-card { padding: 16px; }
  .inline-form { align-items: stretch; flex-direction: column; }
  .how-steps { grid-template-columns: 1fr; }
  .event-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .event-summary-stat { border-bottom: 0; padding: 11px 10px; }
  .event-summary-stat strong { font-size: 1.6rem; }
  .event-summary-stat span { font-size: .48rem; }
  .profile-side { gap: 12px; }
  .channel-admin-row { align-items: stretch; grid-template-columns: 1fr; }
  .channel-admin-row .button { justify-self: start; }
  .guide-modal { padding: 18px; }
  .guide-actions .button { flex: 1 1 100%; }
  .modal-backdrop { padding: 10px; }
  .club-action-bar { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 460px) {
  .quick-strip-head { align-items: start; flex-direction: column; gap: 8px; }
  .campus-stat-row { grid-template-columns: 1fr 1fr; }
  .hub-search-bar { grid-template-columns: 1fr; }
  .hub-search-bar .button { width: 100%; }
  .club-action-bar { grid-template-columns: 1fr; }
}

[dir="rtl"] .directory-grid, [dir="rtl"] .channel-grid, [dir="rtl"] .quick-strip-row,
[dir="rtl"] .telegram-top-grid, [dir="rtl"] .home-year-grid, [dir="rtl"] .guide-steps,
[dir="rtl"] .checklist-grid, [dir="rtl"] .year-guide-columns { direction: rtl; }
[dir="rtl"] .wire-card { border-inline-start: 3px solid var(--line-bold); border-inline-end: 0; }
[dir="rtl"] .wire-card.wire-alert { border-inline-start-color: var(--vermilion); }
[dir="rtl"] .wire-card.wire-year { border-inline-start-color: var(--green); }
[dir="rtl"] .wire-card.wire-event { border-inline-start-color: var(--ink); }
[dir="rtl"] .nav-link, [dir="rtl"] .nav-submit, [dir="rtl"] .nav-label, [dir="rtl"] .quick-link,
[dir="rtl"] .directory-card, [dir="rtl"] .check-item, [dir="rtl"] .year-club-list button,
[dir="rtl"] .mini-club-list button { text-align: right; }
[dir="rtl"] .year-progress { text-align: left; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

input[type="url"], input[type="email"], input[name="telegram"], input[name="whatsapp"],
input[name="botUsername"], input[name="chatId"], input[inputmode="numeric"], textarea[name="payload"],
.setup-code code, .setup-code pre {
  direction: ltr;
  text-align: left;
  unicode-bidi: isolate;
}

[dir="rtl"] .page-admin :is(h2, h3, p, label, button, .queue-count, .admin-footnote) {
  unicode-bidi: plaintext;
}
