.clan-home {
  display: flex;
  flex-direction: column;
  background-image: linear-gradient(90deg, #070609bb, #05030655 65%, #08060866), url("enter-background.webp");
  background-position: center bottom;
  background-size: cover;
}

.skip-to-content {
  position: absolute;
  top: 0.5rem;
  left: 1rem;
  z-index: 100;
  transform: translateY(-200%);
  padding: 0.8rem 1rem;
  background: #17090d;
  color: white;
  border: 2px solid #eee;
  border-radius: 0.4rem;
}
.skip-to-content:focus { transform: translateY(0); }

.clan-header {
  position: relative;
  z-index: 20;
  border-bottom: 1px solid #78222d66;
  background: #08070be3;
  box-shadow: 0 12px 40px #0004;
}
.header-inner {
  width: min(100%, 90rem);
  min-height: 5.5rem;
  margin: 0 auto;
  padding: 0.75rem clamp(1.25rem, 3vw, 3rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
}
.header-brand { display: flex; gap: 0.8rem; align-items: center; color: #f5f5f5; text-decoration: none; flex: 0 0 auto; }
.header-brand img { display: block; width: 3.5rem; height: 3.5rem; mix-blend-mode: screen; }
.brand-copy { display: flex; flex-direction: column; gap: 0.35rem; }
.brand-copy strong { font-size: 1.55rem; letter-spacing: 0.075em; line-height: 1.05; }
.dna-wordmark {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  color: #e5e4e5;
  filter: drop-shadow(0 2px 1px #030304) drop-shadow(0 0 12px #bf233328);
}
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  .dna-wordmark {
    background-color: #d8d7da;
    background-image: linear-gradient(180deg, #faf9f7 0%, #c7c5c6 32%, #858389 49%, #e8e5e5 55%, #b5afb2 78%, #ece7e8 100%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }
}
.brand-copy > span { font-size: 0.75rem; letter-spacing: 0.08rem; color: #b6a5a8; }
.navigation-shell { position: relative; }
.clan-navigation ul { display: flex; align-items: center; justify-content: flex-end; gap: 0.15rem; margin: 0; padding: 0; list-style: none; }
.clan-navigation a { display: block; padding: 0.8rem 0.7rem; min-height: 2.75rem; color: #d5d1d3; text-decoration: none; font-size: 0.875rem; line-height: 1.35; border-radius: 0.3rem; }
.clan-navigation a:hover, .clan-navigation a[aria-current="location"] { color: #fff; background: #59212b55; box-shadow: inset 0 -2px #e53648; }
.clan-home a:focus-visible, .menu-toggle:focus-visible { outline: 2px solid #f6d4d9; outline-offset: 4px; }
.menu-toggle { display: flex; align-items: center; justify-content: center; gap: 0.6rem; min-height: 2.875rem; padding: 0.75rem 0.85rem; border: 1px solid #843440; border-radius: 0.4rem; background: #251017; color: #f4edef; font: inherit; font-size: 0.875rem; cursor: pointer; }
.menu-toggle[aria-expanded="true"] { background: #511b28; border-color: #e13e53; }

.clan-main { display: block; flex: 1 0 auto; width: min(100%, 82rem); padding: 0 clamp(1.25rem, 5vw, 5rem); margin: 0 auto; }
.clan-hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 2rem; min-height: calc(100svh - 10rem); padding: 3rem 0; }
.hero-copy { min-width: 0; }
.hero-eyebrow { margin: 0 0 1rem; color: #ceb6bd; font-size: 0.875rem; font-weight: 600; line-height: 1.6; letter-spacing: 0.17rem; }
.hero-copy > h1 { display: inline-block; font-size: clamp(3.75rem, 6.5vw, 6.25rem); line-height: 1.12; letter-spacing: 0.065em; margin: 0; }
.clan-full-name { margin: 0.75rem 0 0; color: #c8bdc1; font-size: clamp(1rem, 1.6vw, 1.25rem); line-height: 1.5; letter-spacing: 0.1rem; }
.hero-emblem { min-width: 0; }
.hero-emblem img { display: block; width: min(100%, 34rem); height: auto; margin: 0 auto; mix-blend-mode: screen; }

.news-highlight { margin-top: 2.8rem; border: 1px solid #92455355; border-left: 3px solid #e13b50; border-radius: 0.25rem; background: #100a12bd; box-shadow: 0 12px 35px #0003; padding: 1.25rem 1.35rem; }
.news-highlight-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.news-highlight h2 { margin: 0; font-size: 1.2rem; font-weight: 600; }
.news-highlight-heading a { color: #e4bac4; font-size: 0.875rem; line-height: 1.5; padding: 0.25rem 0; text-underline-offset: 0.25rem; }
.news-highlight > p { margin: 0.9rem 0 0; color: #bdb4bc; font-size: 1rem; line-height: 1.6; }

.category-panel { max-width: 55rem; min-height: calc(100svh - 10rem); margin: 0 auto; padding: clamp(3rem, 12vh, 8rem) 0; }
.panel-eyebrow { font-size: 0.875rem; color: #d198a6; letter-spacing: 0.17rem; }
.category-panel h1 { margin: 1rem 0 1.5rem; color: #f5f3f5; font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 600; line-height: 1.2; overflow-wrap: break-word; }
.category-panel > p:not(.panel-eyebrow) { color: #c4bac2; font-size: 1.125rem; line-height: 1.7; }
.back-home { display: inline-block; margin-top: 1.5rem; padding: 0.75rem 1rem; min-height: 2.75rem; border: 1px solid #9e465a; border-radius: 0.3rem; color: #f0d7e0; background: #28101caa; text-decoration: none; font-size: 0.875rem; }
.back-home:hover { border-color: #ed7a95; background: #472034aa; }

.clan-footer { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; flex-wrap: wrap; width: min(100%, 90rem); margin: 0 auto; padding: 1.25rem clamp(1.25rem, 3vw, 3rem); border-top: 1px solid #77304055; background: #08070c77; }
.clan-footer > span { font-size: 0.75rem; letter-spacing: 0.12rem; line-height: 1.6; color: #97848e; }
.clan-footer a { display: inline-block; padding: 0.5rem 0; min-height: 2.75rem; color: #b6a5af; font-size: 0.875rem; line-height: 1.8; text-underline-offset: 0.25rem; }
.footer-links { display: flex; align-items: center; gap: 1.4rem; }

.header-actions { display: flex; align-items: center; gap: 0.65rem; min-width: 0; }
.register-prompt { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1.25rem; margin-top: 1.25rem; border-top: 1px solid #6b405566; color: #cbb9c9; font-size: 0.95rem; }
.registration-panel { max-width: 42rem; padding-top: clamp(2.5rem, 7vh, 5rem); }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem 1rem; }
.field-grid > div { min-width: 0; }
.field-grid label { display: block; margin-bottom: 0.5rem; }
.optional-label { color: #ae95ac; font-weight: normal; margin-left: 0.25rem; font-size: 0.875rem; }
.surface input[type="hidden"] { display: none; }
.surface input[type="file"] { line-height: 1.6; font-size: 0.875rem; }
.surface input[type="file"]::file-selector-button { padding: 0.35rem 0.65rem; margin-right: 0.6rem; border: 1px solid #94677d; border-radius: 0.25rem; background: #321829; color: #f0dce9; cursor: pointer; }
.image-preview { display: flex; flex-direction: column; align-items: flex-start; gap: 0.75rem; margin-top: 0.6rem; }
.image-preview img { display: block; width: 100%; max-height: 16rem; object-fit: contain; border: 1px solid #76495f; border-radius: 0.35rem; background: #08060b; }
.news-image { display: block; width: calc(100% + var(--news-padding) + var(--news-padding)); max-height: 22rem; aspect-ratio: 16 / 9; object-fit: cover; margin: calc(0rem - var(--news-padding)) calc(0rem - var(--news-padding)) 1.25rem; border-radius: 0.4rem 0.4rem 0 0; }
.news-card:has(.news-image) { overflow: hidden; }
.league-list, .application-list { display: flex; flex-direction: column; gap: 1.25rem; }
.league-list .surface { padding: 1.5rem; }
.league-list h2 { font-size: 1.5rem; }
.league-links { display: flex; flex-wrap: wrap; gap: 0.7rem; margin: 1rem 0; }
.participant-list { display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0; list-style: none; margin: 1rem 0; }
.participant-list li { font-size: 0.875rem; color: #d3bdcd; background: #5c284640; border: 1px solid #67415a; border-radius: 0.25rem; padding: 0.4rem 0.6rem; overflow-wrap: anywhere; }
.league-news { border-top: 1px solid #76455966; padding-top: 1rem; margin-top: 1.25rem; }
.league-news h3 { font-size: 1.05rem; margin: 0 0 0.7rem; }
.league-news a { display: block; color: #e5bfd3; padding: 0.4rem 0; text-underline-offset: 0.25rem; overflow-wrap: anywhere; }
.sponsor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.sponsor-application-surface { margin-top: 2.5rem; }
.sponsor-card h3 { color: #f3e5ef; font-size: 1.3rem; margin: 0 0 0.8rem; }
.sponsor-banner { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:1.4rem 0 2rem; padding:1.1rem 1.3rem; border:1px solid rgba(183,31,66,.55); border-radius:14px; background:linear-gradient(110deg,rgba(36,10,24,.95),rgba(86,18,39,.82)); box-shadow:0 10px 30px rgba(0,0,0,.2); }
.sponsor-banner strong { color:#fff1f5; font-size:1.15rem; }
.sponsor-banner small,.sponsor-banner-label { display:block; color:#d7a8b8; }
.sponsor-banner-label { font-size:.72rem; letter-spacing:.12em; }
@media(max-width:650px){.sponsor-banner{display:block}.sponsor-banner strong{display:block;margin:.35rem 0}}
.sponsor-card p { color: #c5afc2; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.subheading { font-size: 1.35rem; color: #efe3ed; margin: 1.5rem 0 1rem; }
.application-card { padding: 1.2rem; border: 1px solid #684253; border-radius: 0.4rem; background: #20111bbb; }
.application-card h3 { font-size: 1.15rem; margin: 0 0 0.75rem; overflow-wrap: anywhere; }
.application-card p { color: #cfbacb; line-height: 1.7; margin: 0.6rem 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.user-list details { width: 100%; font-size: 0.875rem; color: #bca4b8; line-height: 1.7; }
.user-list summary { cursor: pointer; padding: 0.35rem 0; color: #dbb4cc; }
.user-list details p { margin: 0.35rem 0; white-space: pre-wrap; }
.surface form + form { margin-top: 1.75rem; padding-top: 1rem; border-top: 1px solid #6c445966; }
.legal-address { white-space: pre-wrap; line-height: 1.8; color: #d2bece; }
.legal-contact a { color: #edc1d8; text-underline-offset: 0.25rem; overflow-wrap: anywhere; }
.login-button { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; gap: 0.45rem; min-height: 2.875rem; padding: 0.7rem 0.85rem; border: 1px solid #b84052; border-radius: 0.4rem; color: #fff; background: #6b1c2baa; text-decoration: none; font-size: 0.875rem; }
.login-button:hover { border-color: #f1788b; background: #872438; }
.news-panel, .admin-panel { max-width: 70rem; padding-top: clamp(2.5rem, 7vh, 5rem); }
.login-panel { max-width: 29rem; padding-top: clamp(2.5rem, 7vh, 5rem); }
.section-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.section-heading h1 { margin-bottom: 0.7rem; }
.section-intro { max-width: 46rem; margin: 0.5rem 0 2rem; color: #c4bac2; line-height: 1.7; }
.quiet-link { color: #e4b5c1; text-underline-offset: 0.3rem; font-size: 0.9rem; padding: 0.75rem 0; }
.news-filters { display: flex; gap: 0.6rem; flex-wrap: wrap; padding: 0 0 1.5rem; margin: 0 0 1.5rem; border-bottom: 1px solid #73404b66; }
.news-filters button { border: 1px solid #71515c; border-radius: 2rem; color: #cdbec6; background: #170e17dc; padding: 0.65rem 1rem; min-height: 2.75rem; font: inherit; font-size: 0.9rem; cursor: pointer; }
.news-filters button:hover { color: #fff; border-color: #cb6478; }
.news-filters button[aria-pressed="true"] { background: #ac2b43; border-color: #e65670; color: #fff; box-shadow: 0 4px 18px #a3193333; }
.news-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.news-card { --news-padding: clamp(1.25rem, 3vw, 2rem); padding: var(--news-padding); border: 1px solid #71404d70; border-top: 2px solid #cf3d56; border-radius: 0.5rem; background: linear-gradient(150deg, #23121eec, #0d0b12f0); min-width: 0; box-shadow: 0 12px 35px #0003; }
.news-card h2 { margin: 1rem 0 0.8rem; font-size: 1.4rem; line-height: 1.35; overflow-wrap: anywhere; }
.news-meta { display: flex; gap: 0.75rem; align-items: center; justify-content: space-between; flex-wrap: wrap; color: #b7a7b2; font-size: 0.8rem; }
.category-badge { display: inline-block; border: 1px solid #a33d5655; background: #72253b44; color: #f1c3cf; font-size: 0.75rem; padding: 0.3rem 0.6rem; border-radius: 0.25rem; overflow-wrap: anywhere; }
.header-account-status{display:inline-flex!important;align-items:center;justify-content:center;width:44px!important;height:44px!important;min-width:44px;min-height:44px;flex:0 0 44px;padding:0;border:1px solid #68475a;border-radius:50%;overflow:hidden;text-decoration:none}.header-account-status img{display:block;width:100%;height:100%;object-fit:cover}.header-account-status:hover{border-color:#ed617b}
@media (max-width: 1839px) { html.mobile-menu-open .area-cycle { visibility: hidden; pointer-events: none; } }
.news-body { color: #c4bac5; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; margin: 0; }
.news-empty { grid-column: 1 / -1; border: 1px dashed #83516288; border-radius: 0.5rem; padding: clamp(2rem, 6vw, 4rem) 1.5rem; background: #100c15c9; text-align: center; }
.news-empty svg { color: #c75971; margin-bottom: 0.5rem; }
.news-empty h2 { font-size: 1.25rem; margin: 0.6rem 0; }
.news-empty p { color: #afa0b0; line-height: 1.65; margin: 0.5rem auto; max-width: 34rem; }
.load-feedback:empty, .form-feedback:empty { display: none; }
.load-feedback { color: #c5b6c3; line-height: 1.6; }
.surface { border: 1px solid #75405280; border-radius: 0.5rem; background: #130c17ed; padding: clamp(1.2rem, 3vw, 1.8rem); min-width: 0; box-shadow: 0 12px 35px #0003; }
.surface h2 { color: #f2eaf0; font-size: 1.35rem; line-height: 1.35; margin: 0 0 0.8rem; }
.card-eyebrow { font-size: 0.72rem; color: #d1849a; letter-spacing: 0.1rem; margin: 0 0 0.6rem; }
.subtle, .form-intro { color: #bfb0bf; line-height: 1.6; }
.surface .subtle { margin: 0.6rem 0 1.2rem; }
.surface form { display: flex; flex-direction: column; gap: 0.5rem; }
.surface label { color: #e6dbe5; font-size: 0.9rem; margin-top: 0.7rem; }
.surface input:not([type="checkbox"]), .surface select, .surface textarea { width: 100%; min-width: 0; min-height: 2.875rem; padding: 0.7rem 0.8rem; border: 1px solid #766174; border-radius: 0.3rem; background: #0b0911; color: #f5edf4; font: inherit; font-size: 1rem; line-height: 1.5; }
.surface textarea { resize: vertical; }
.surface input::placeholder { color: #978898; }
.surface select { color-scheme: dark; }
.clan-home button:focus-visible, .clan-home input:focus-visible, .clan-home select:focus-visible, .clan-home textarea:focus-visible { outline: 2px solid #f2cad6; outline-offset: 3px; }
.checkbox-label { display: flex; align-items: center; gap: 0.6rem; min-height: 2.75rem; font-size: 0.875rem !important; }
.checkbox-label input { width: 1.1rem; height: 1.1rem; accent-color: #d64461; }
.primary-button, .secondary-button { display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem; padding: 0.75rem 1rem; min-height: 2.875rem; border: 1px solid #c44662; border-radius: 0.3rem; background: #a02642; color: #fff; font: inherit; font-size: 0.9rem; text-decoration: none; cursor: pointer; }
.primary-button:hover { background: #bc3450; border-color: #ee7a91; }
.secondary-button { background: #241321; border-color: #96637a; color: #edd7e3; }
.secondary-button:hover { background: #412137; border-color: #df88a4; }
.surface form > button, .surface form > .account-actions { margin-top: 0.9rem; }
.clan-home button:disabled { opacity: 0.6; cursor: wait; }
.form-feedback { color: #ded0dc; font-size: 0.9rem; line-height: 1.6; margin: 0.7rem 0 0; overflow-wrap: anywhere; }
.form-feedback[data-kind="error"] { color: #ffb8c7; }
.form-feedback[data-kind="success"] { color: #bde4c9; }
.form-note, .input-hint { color: #b7a6b8; font-size: 0.85rem; line-height: 1.65; }
.form-note a { color: #e8b4c9; text-underline-offset: 0.2rem; }
.input-hint { margin: 0.15rem 0 0.4rem; }
.form-note { margin: 1.3rem 0 0; }
.account-name { font-size: 1.3rem; color: #f5edf4; margin: 0; overflow-wrap: anywhere; }
.account-actions { display: flex; flex-wrap: wrap; gap: 0.7rem; }
.admin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.admin-wide { grid-column: 1 / -1; }
.category-list, .user-list { margin: 1.2rem 0; padding: 0; list-style: none; }
.category-list { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.category-list li { border: 1px solid #674457; border-radius: 0.25rem; color: #dec4d5; padding: 0.4rem 0.6rem; font-size: 0.85rem; overflow-wrap: anywhere; }
.user-list li { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; flex-wrap: wrap; padding: 0.75rem 0; border-bottom: 1px solid #5f3e5266; color: #ddcdda; overflow-wrap: anywhere; }
.user-list small { color: #af97ad; }
.inline-field { display: flex; gap: 0.6rem; }
.inline-field input { flex: 1; }
.admin-news-list { display: flex; flex-direction: column; gap: 0.65rem; }
.admin-news-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 0.75rem; border-top: 1px solid #5f3e5266; }
.admin-news-row p { margin: 0; overflow-wrap: anywhere; min-width: 0; }
.admin-news-row .secondary-button { flex: 0 0 auto; }
.home-news-item { padding-top: 0.85rem; }
.home-news-item h3 { font-size: 1.05rem; line-height: 1.5; margin: 0.5rem 0 0; overflow-wrap: anywhere; }
.home-news-item a { color: #f1e3ee; text-decoration: none; }
.home-news-item a:hover { text-decoration: underline; text-underline-offset: 0.2rem; }

@media (max-width: 1839px) {
  .clan-navigation ul { flex-direction: column; align-items: stretch; gap: 0; }
  .clan-navigation { min-width: 16rem; border: 1px solid #733143; border-radius: 0.5rem; padding: 0.45rem; background: #110a12f5; box-shadow: 0 18px 40px #000a; }
  .menu-enhanced .clan-navigation { position: absolute; right: 0; top: calc(100% + 0.75rem); max-height: calc(100svh - 7rem); max-width: calc(100vw - 2.5rem); overflow-y: auto; overscroll-behavior: contain; }
  .clan-navigation a { padding: 0.85rem 0.95rem; min-height: 3rem; font-size: 1rem; }
  .clan-navigation a[aria-current="location"] { box-shadow: inset 3px 0 #e53648; }
  html:not(.menu-enhanced) .header-inner { align-items: flex-start; flex-wrap: wrap; }
  html:not(.menu-enhanced) .navigation-shell { width: 100%; }
}

@media (max-width: 700px) {
  .field-grid, .sponsor-grid { grid-template-columns: 1fr; }
  .footer-links { flex-wrap: wrap; justify-content: center; gap: 0.35rem 1rem; }
  .news-grid, .admin-grid { grid-template-columns: 1fr; }
  .news-filters { gap: 0.5rem; }
  .news-filters button { font-size: 0.85rem; padding: 0.65rem 0.85rem; }
  .header-actions { gap: 0.5rem; }
  .login-button { padding: 0.7rem; }
  .header-inner { min-height: 4.75rem; padding: 0.6rem 1.1rem; gap: 0.75rem; }
  .header-brand { gap: 0.5rem; }
  .header-brand img { width: 2.8rem; height: 2.8rem; }
  .brand-copy strong { font-size: 1.35rem; }
  .brand-copy > span { font-size: 0.75rem; letter-spacing: 0.025rem; }
  .menu-toggle { padding: 0.7rem; }
  .clan-main { padding: 0 1.25rem; }
  .clan-hero { grid-template-columns: 1fr; gap: 1.2rem; min-height: 0; padding: 2rem 0; }
  .hero-copy { order: 1; text-align: center; }
  .hero-emblem { order: 2; }
  .hero-eyebrow { margin-bottom: 0.65rem; font-size: 0.875rem; }
  .hero-copy > h1 { font-size: clamp(3.25rem, 13vw, 4.75rem); }
  .clan-full-name { font-size: 1rem; margin-top: 0.85rem; letter-spacing: 0.06rem; }
  .hero-emblem img { width: min(76vw, 20rem); }
  .news-highlight { text-align: left; margin-top: 1.75rem; padding: 1rem 1.1rem; }
  .news-highlight > p { font-size: 1rem; }
  .clan-footer { justify-content: center; text-align: center; gap: 0.4rem; padding: 0.85rem 1.25rem; }
  .clan-footer > span { width: 100%; }
  .category-panel { min-height: calc(100svh - 11rem); padding: 3rem 0; }
}

@media (max-width: 520px) { .brand-copy > span { display: none; } .header-actions { flex-wrap: wrap; justify-content: flex-end; } }
@media (max-width: 380px) { .header-brand img { width: 2.2rem; height: 2.2rem; } .header-brand { gap: 0.3rem; } .login-button svg { display: none; } .inline-field { flex-direction: column; } }
@media (forced-colors: active) {
  .dna-wordmark { background: none; color: CanvasText; -webkit-text-fill-color: CanvasText; filter: none; }
}
@media (forced-colors: active) { .header-brand img, .hero-emblem img { mix-blend-mode: normal; } .news-highlight, .clan-navigation, .menu-toggle, .back-home { border-color: CanvasText; } }

/* Member profiles and community forms */
.member-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.member-tile { display:flex; gap:1rem; align-items:center; min-width:0; padding:1.3rem; text-align:left; color:#eee8ee; background:linear-gradient(135deg,#251822,#0e0b13); border:1px solid #ad6a7a; border-left:3px solid #e3374b; border-radius:.6rem; cursor:pointer; font:inherit; }
.member-tile:hover { border-color:#ef9fb0; background:linear-gradient(135deg,#432330,#151019); }
.member-tile img { width:4.5rem; height:4.5rem; object-fit:contain; border-radius:50%; }
.member-tile img.member-avatar { flex-shrink:0; }.member-tile img.member-profile-image { object-fit:cover; }
.admin-member-summary { display:grid; grid-template-columns:3.5rem minmax(0,1fr); column-gap:.75rem; align-items:start; min-width:0; }.admin-member-summary > img { grid-column:1; grid-row:1 / span 5; width:3.5rem; height:3.5rem; border-radius:50%; object-fit:contain; }.admin-member-summary > img.member-profile-image { object-fit:cover; }.admin-member-summary > :not(img) { grid-column:2; }
.member-tile-text { display:flex; flex-direction:column; gap:.4rem; min-width:0; overflow-wrap:anywhere; }
.member-tile strong { font-size:1.35rem; }.member-tile span span { color:#c4b0c0; }.member-tile small { font-size:.875rem; color:#edbaca; }
.member-template-actions { display:flex; gap:.65rem; flex-wrap:wrap; margin-top:1.75rem; }
#member-dossier { width:min(58rem,calc(100vw - 2rem)); max-height:calc(100svh - 2rem); margin:auto; padding:1rem; border:0; border-radius:.8rem; color:#fff; background:#0b090ff5; overflow:auto; box-shadow:0 2rem 6rem #000a; }
#member-dossier::backdrop { background:#030207d9; backdrop-filter:blur(6px); }
.dossier-close { display:block; margin:0 0 .75rem auto; border:1px solid #987687; border-radius:.3rem; padding:.7rem 1rem; background:#251321; color:#f4e7ef; font:inherit; cursor:pointer; }
.member-dossier-card { position:relative; padding:clamp(1.2rem,3vw,2rem); border:2px solid #bbb2b8; border-radius:.8rem; background:linear-gradient(135deg,#20151f,#0c0b10 62%,#20111c); box-shadow:inset 0 0 0 5px #08070d,inset 0 0 0 6px #74525e,0 1rem 4rem #0008; overflow:hidden; }
.member-dossier-card::before { content:''; position:absolute; left:0; top:0; right:0; height:5px; background:linear-gradient(90deg,#972237,#ef3c55 40%,#6c182a); }
.dossier-head { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding-bottom:1.2rem; border-bottom:1px solid #8b5a6a66; }
.dossier-clan-mark { display:block; width:6.5rem; height:6.5rem; object-fit:contain; }
.dossier-rank { margin:0; width:8rem; text-align:center; }
.dossier-rank img { display:block; width:100%; height:10rem; object-fit:contain; }
.dossier-rank figcaption { margin-top:.6rem; color:#efd1de; font-size:.875rem; line-height:1.5; overflow-wrap:anywhere; }
.rank-placeholder { display:flex; align-items:center; justify-content:center; min-height:8rem; border:1px dashed #806373; color:#bda3b3; font-size:.875rem; line-height:1.5; overflow-wrap:anywhere; }
.dossier-head>div { display:flex; flex-direction:column; gap:.4rem; }
.dossier-brand { font-family:Georgia,serif; font-size:1.8rem; color:#ede5e9; font-weight:bold; letter-spacing:.18rem; }
.dossier-clan-name { font-size:.875rem; color:#bba5b2; letter-spacing:.09em; line-height:1.5; }
.dossier-status { border:1px solid #bd536b; border-radius:.25rem; color:#f3c7d2; padding:.5rem .75rem; font-size:.875rem; letter-spacing:.08rem; background:#60203344; }
.dossier-main { display:grid; grid-template-columns:minmax(7rem,10rem) minmax(0,1fr) 8rem; align-items:center; gap:1.5rem; padding:1.6rem 0; }
.dossier-photo { display:flex; align-items:center; justify-content:center; aspect-ratio:3/4; width:100%; overflow:hidden; border:1px solid #986772; border-radius:.3rem; background:#0a080e; box-shadow:inset 0 0 0 4px #201520; }
.dossier-photo>span { color:#a28494; font-size:.875rem; letter-spacing:.2rem; }
.dossier-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.dossier-person { min-width:0; }.dossier-person h2 { margin:0 0 .5rem; font-size:clamp(1.7rem,4vw,2.8rem); line-height:1.15; color:#fff; overflow-wrap:anywhere; letter-spacing:.015em; }
.dossier-real-name { margin:0 0 1.5rem; color:#cab5c3; font-size:1.125rem; overflow-wrap:anywhere; }
.dossier-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin:0; }
.dossier-facts>div { padding:.7rem .8rem; border:1px solid #6e48596b; border-radius:.35rem; background:#35212c66; }
.dossier-facts dt { color:#bba6b5; font-size:.875rem; margin-bottom:.45rem; }.dossier-facts dd { color:#eee6ec; font-size:1.15rem; font-weight:bold; margin:0; overflow-wrap:anywhere; }
.dossier-since { color:#b9a4b4; margin:.7rem 0 0; font-size:.875rem; }.dossier-logo { display:block; width:8rem; height:8rem; object-fit:contain; }
.dossier-assignments { border-top:1px solid #8b5a6a66; padding-top:1rem; }.dossier-assignments h3 { color:#d0bbc9; margin:0 0 .75rem; font-size:.875rem; font-weight:normal; }
.dossier-assignment { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; padding:.65rem .8rem; margin-top:.4rem; background:#391b2b66; border-left:2px solid #b93852; color:#ded1da; line-height:1.5; overflow-wrap:anywhere; }
.dossier-assignment strong { color:#efbccc; font-size:.95rem; text-align:right; }
.dossier-assignment-dna-mark{width:20px;height:20px;object-fit:contain;flex:0 0 20px;border-radius:50%;vertical-align:middle;margin-right:.3rem}.dossier-area-label{display:inline-flex;align-items:center;gap:.35rem}
.dossier-awards { border-top:1px solid #8b5a6a66; margin-top:1.2rem; padding-top:1rem; }
.dossier-awards h3 { margin:0 0 .75rem; font-size:.875rem; color:#d0bbc9; font-weight:normal; }
.dossier-medals { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr)); gap:1rem; }
.dossier-medal { display:flex; gap:.7rem; align-items:center; margin:0; min-width:0; }
.dossier-medal-image { width:3.5rem; height:4rem; flex:none; display:flex; align-items:center; justify-content:center; color:#bda3b3; font-size:.75rem; }
.dossier-medal-image img { width:100%; height:100%; object-fit:contain; }
.dossier-medal figcaption { display:flex; flex-direction:column; gap:.25rem; font-size:.875rem; color:#cbb7c7; overflow-wrap:anywhere; }
.dossier-medal strong { color:#efc7d7; }
.award-image { display:flex; align-items:center; justify-content:center; width:8rem; height:9rem; color:#bda3b3; border:1px solid #6c455966; margin-bottom:1rem; }
.award-image img { display:block; width:100%; height:100%; object-fit:contain; }
.dossier-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.75rem; margin-top:1.6rem; padding-top:1rem; border-top:1px solid #63425066; color:#a78b9d; font-size:.875rem; line-height:1.5; letter-spacing:.04em; }
.assignment-fields { border:1px solid #795166; border-radius:.4rem; margin:1rem 0; padding:1rem; min-width:0; }.assignment-fields legend { color:#e2cdda; font-size:.95rem; padding:0 .4rem; }
.assignment-row { display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:.5rem; margin-bottom:.8rem; }.assignment-row label { min-width:0; margin:0; }.assignment-row input { margin-top:.4rem; }.assignment-row button { font-size:.875rem; padding:.7rem; }
.hardware-fields { padding:1rem 0; border-top:1px solid #6e445866; border-bottom:1px solid #6e445866; margin:.7rem 0; }.hardware-fields summary { cursor:pointer; color:#dbbece; font-size:1rem; }
.community-text { white-space:pre-wrap; overflow-wrap:anywhere; color:#cebac9; font-size:1rem; line-height:1.7; }.member-only-content { border-top:1px solid #7d4c6166; margin-top:1rem; padding-top:1rem; }
.forum-thread-list { display:flex; flex-direction:column; gap:.75rem; margin:1.5rem 0; }.forum-thread-button { display:flex; gap:.8rem; align-items:center; flex-wrap:wrap; text-align:left; border:1px solid #78516a; border-radius:.4rem; padding:1rem; font:inherit; color:#ddd0da; background:#241222; cursor:pointer; }
.forum-thread-button strong { flex:1; min-width:0; overflow-wrap:anywhere; }.forum-thread-button>span:last-child { font-size:.875rem; color:#bda3b7; }.forum-post { padding:1rem 0; border-bottom:1px solid #76506766; }.forum-post strong { color:#e9c1d1; }.forum-post p { margin:.5rem 0; }
.account-panel-nav{display:flex;gap:.45rem;flex-wrap:wrap;margin:1rem 0;border-bottom:1px solid #493942;padding-bottom:.7rem}.account-panel-nav button{border:1px solid #644554;background:#170f18;color:#ead7e1;padding:.55rem .75rem;border-radius:.25rem;cursor:pointer}.account-panel-nav button[aria-pressed="true"]{background:#8c263b;border-color:#ed7184;color:#fff}.account-overview-links{display:flex;gap:.6rem;flex-wrap:wrap}.external-account-list{display:grid;gap:.5rem}.external-account-list input{margin-bottom:.5rem}
.forum-section-group{margin:1.25rem 0;border:1px solid #57384d;background:#100d14}.forum-section-heading{padding:1rem 1.2rem;background:#291322;border-bottom:1px solid #57384d}.forum-section-heading h2,.forum-section-heading p{margin:.15rem 0}.forum-section-group .forum-thread-button{border:0;border-bottom:1px solid #422d3b;border-radius:0;width:100%}.forum-admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.6rem;margin:1rem 0}.forum-admin-stat{padding:.8rem;background:#191019;border:1px solid #57384d;text-align:center}.forum-admin-stat strong{display:block;font-size:1.5rem;color:#efb8cc}.forum-admin-row{display:grid;grid-template-columns:1fr auto;gap:.8rem;padding:.9rem 0;border-bottom:1px solid #3e2a38}.forum-admin-row h3,.forum-admin-row p{margin:.15rem 0}.forum-admin-actions{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.forum-admin-toolbar{margin:.8rem 0}.forum-admin-panel details{margin-top:1rem}.forum-admin-panel summary{font-weight:700;font-size:1.05rem;cursor:pointer;padding:.7rem 0}
.poll-card h2 { margin-top:1rem; }.poll-choices { display:flex; flex-direction:column; gap:.6rem; }.poll-choices button { justify-content:space-between; text-align:left; font-size:1rem; }.poll-choices button[aria-pressed=true] { background:#623047; border-color:#d796ad; }.poll-choices button:disabled { opacity:.85; cursor:default; }
.contact-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }.contact-direct-link { margin-top:1rem; }
.profile-image-panel { margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid #735366; }.profile-image-panel h2 { font-size:1.15rem; }
.gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }.gallery-figure { margin:0; background:#160d1a; border:1px solid #77516a; border-radius:.5rem; overflow:hidden; }.gallery-figure img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }.gallery-figure figcaption { padding:1rem; color:#cfbbc9; font-size:1rem; line-height:1.6; overflow-wrap:anywhere; }
@media (max-width:700px) { .member-grid,.gallery-grid { grid-template-columns:1fr; }.dossier-main { grid-template-columns:6rem minmax(0,1fr); gap:1rem; }.dossier-logo { width:4rem; height:4rem; grid-column:1/-1; justify-self:end; }.dossier-clan-name { font-size:.875rem; letter-spacing:0; }.dossier-facts { grid-template-columns:1fr; gap:.5rem; }.dossier-real-name { font-size:1rem; margin-bottom:1rem; }.dossier-person h2 { font-size:1.6rem; }.dossier-facts dd { font-size:1rem; }.assignment-row { grid-template-columns:1fr; }.dossier-assignment { flex-direction:column; gap:.2rem; }.dossier-assignment strong { text-align:left; }.dossier-head { flex-wrap:wrap; }.admin-news-row { flex-wrap:wrap; } }
@media (prefers-reduced-motion:reduce) { #member-dossier::backdrop { backdrop-filter:none; } }

.dossier-clan-rank { margin: -.5rem 0 1rem; color:#e0b2c6; font-size:.875rem; line-height:1.5; }
@media (max-width:700px) { .dossier-clan-mark { width:5rem; height:5rem; }.dossier-rank { width:6rem; grid-column:1/-1; justify-self:end; }.dossier-rank img { height:6rem; }.rank-placeholder { min-height:6rem; } }

/* DNA shoulder tabs and the complete symbol index */
.member-preview-options { margin-top:1.5rem; color:#cbb7c7; font-size:.875rem; }
.member-preview-options summary { cursor:pointer; padding:.6rem 0; }
.rank-symbol-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.symbol-card { display:flex; align-items:center; flex-direction:column; gap:1.2rem; min-width:0; margin:0; padding:1.5rem 1rem; background:linear-gradient(150deg,#1b2027,#0d0e14); border:1px solid #58616b; border-top:2px solid #ac2d40; border-radius:.35rem; text-align:center; }
.symbol-tier { color:#c8a6b2; font-size:.875rem; letter-spacing:.1em; }
.rank-symbol { display:block; width:6rem; height:12.5rem; object-fit:contain; }
.symbol-card figcaption { min-width:0; width:100%; margin-top:auto; }
.symbol-card h3 { color:#f1e9ef; font-size:1rem; line-height:1.5; margin:0 0 .65rem; overflow-wrap:anywhere; }
.symbol-card p { font-size:.875rem; line-height:1.6; color:#b8b1bf; margin:0 0 .6rem; }
.symbol-download { display:inline-block; color:#efb9c8; font-size:.875rem; padding:.5rem .25rem; text-underline-offset:.25rem; }
.symbol-special { border-color:#8f7b50; border-top-color:#d5b975; }
.symbol-special .symbol-tier { color:#dec994; }
.site-symbol-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.symbol-utility { justify-content:center; min-height:14rem; }
.symbol-utility figcaption { margin-top:0; }
.symbol-utility svg { color:#edb7c8; }
.symbol-clan-logo { width:8rem; height:8rem; object-fit:contain; }
/* Month view. Clan events will use their own persisted records. */
.calendar-surface { padding:clamp(.75rem,2vw,1.5rem); }
.calendar-toolbar { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; margin-bottom:1.5rem; }
.calendar-toolbar h2 { margin:0; font-size:1.35rem; line-height:1.5; }
.calendar-controls { display:flex; gap:.5rem; flex-wrap:wrap; }
.calendar-controls button { margin:0; padding:.6rem .8rem; font-size:.875rem; }
.calendar-weekdays,.calendar-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.25rem; }
.calendar-weekdays { margin-bottom:.5rem; text-align:center; color:#c5a9b8; font-size:.875rem; }
.calendar-day { min-width:0; min-height:5.5rem; padding:.75rem; border:1px solid #604452; background:#141019; }
.calendar-day time { font-size:1rem; line-height:1.5; }
.calendar-day:nth-child(7n),.calendar-day:nth-child(7n - 1) { background:#201420; }
.calendar-padding { opacity:.35; }
.calendar-current { border-color:#ed425b; box-shadow:inset 0 0 0 1px #ed425b; }
.calendar-current time { color:#ffb3c2; font-weight:bold; }
.calendar-empty { margin-top:1rem; }
@media (max-width:1050px) { .rank-symbol-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:700px) { .rank-symbol-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.site-symbol-grid { grid-template-columns:1fr; }.symbol-card { padding:1.25rem .75rem; }.symbol-utility { min-height:10rem; }.calendar-day { min-height:3.5rem; padding:.4rem; }.calendar-toolbar { gap:.75rem; }.calendar-toolbar h2 { font-size:1.15rem; } }
@media (max-width:360px) { .rank-symbol-grid { grid-template-columns:1fr; }.calendar-controls button { padding:.6rem; } }

.rank-management-list { list-style:none; margin:0 0 1.5rem; padding:0; }
.rank-management-list li { display:flex; align-items:center; gap:.85rem; padding:.75rem 0; border-bottom:1px solid #6c455955; min-width:0; }
.rank-management-list img { flex:none; width:1.8rem; height:3.75rem; object-fit:contain; }
.rank-management-list span { min-width:0; font-size:1rem; line-height:1.5; overflow-wrap:anywhere; }
.rank-management-list small { display:block; color:#dbc895; font-size:.875rem; }
.nav-dropdown { position:relative; }
.nav-dropdown-toggle { display:flex; align-items:center; gap:.4rem; padding:.8rem .7rem; min-height:2.75rem; border:0; border-radius:.3rem; background:transparent; color:#d5d1d3; font:inherit; font-size:.875rem; line-height:1.35; cursor:pointer; }
.nav-dropdown-toggle:hover,.nav-dropdown-toggle[aria-current="location"],.nav-dropdown-toggle[aria-expanded="true"] { color:#fff; background:#59212b55; box-shadow:inset 0 -2px #e53648; }
.clan-navigation .nav-submenu { position:absolute; top:100%; left:0; z-index:20; display:flex; flex-direction:column; align-items:stretch; min-width:11rem; padding:.4rem; border:1px solid #733143; border-radius:.4rem; background:#110a12; box-shadow:0 10px 24px #0009; }
.clan-navigation .nav-submenu[hidden] { display:none; }
.area-icon { flex:none; width:2rem; height:2rem; object-fit:contain; border-radius:.3rem; }
.area-heading,.dossier-area-label,.council-area-function { display:flex; align-items:center; gap:.7rem; min-width:0; }
.dossier-area-label > span { overflow-wrap:anywhere; }
.area-symbol-large { width:4rem; height:4rem; object-fit:contain; margin:1rem 0; }
.area-symbol-preview { margin:.75rem 0; }
.area-symbol-preview .area-icon { width:3rem; height:3rem; }
.dossier-council { display:flex; gap:1rem; border-top:1px solid #8b5a6a66; padding:1rem 0; margin-top:1rem; align-items:flex-start; }
.dossier-council h3 { margin:0 0 .5rem; color:#efbccc; font-size:1rem; }
.dossier-council p { margin:.35rem 0; font-size:.875rem; }
.council-function-icon { flex:none; width:1.9rem; height:4rem; object-fit:contain; }
.council-groups { display:grid; gap:1.25rem; margin:1.25rem 0; }
.council-seat-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr)); gap:1rem; }
.council-seat { padding:1rem; border:1px solid #6c455955; border-radius:.4rem; background:#0b101a66; }
.council-member-button { display:flex; flex-direction:column; align-items:flex-start; gap:.4rem; width:100%; padding:.75rem 0; border:0; background:transparent; color:#f4e9ef; font:inherit; text-align:left; cursor:pointer; }
.council-member-button:hover strong { color:#f6b1c3; text-decoration:underline; }
.council-member-button span { color:#b8b1bf; font-size:.875rem; }
.council-pending .secondary-button { margin:.5rem .5rem 0 0; }
.council-admin-list { display:grid; gap:.65rem; margin-bottom:1.5rem; }
.council-admin-seat { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:.5rem 1rem; padding:.8rem; border:1px solid #6c455955; border-radius:.4rem; overflow-wrap:anywhere; }
.council-admin-seat small { grid-column:1/-1; }
.council-admin-seat button { justify-self:start; }
#council-extra-form { padding-top:1rem; margin-top:1.5rem; border-top:1px solid #6c455955; }
#write-council-news { margin-top:1rem; }
@media (max-width:1839px) { .nav-dropdown-toggle { width:100%; min-height:3rem; padding:.85rem .95rem; font-size:1rem; justify-content:space-between; } .clan-navigation .nav-submenu { position:static; margin:.25rem .4rem .5rem; min-width:0; box-shadow:none; background:#21131c; } }
@media (max-width:560px) { .council-admin-seat { grid-template-columns:1fr; } .council-admin-seat small { grid-column:auto; } }

.admin-menu-controls {display:grid;gap:.5rem;grid-column:1/-1;}
.admin-menu-controls select,.admin-group-content>select {width:100%;font:inherit;font-size:1rem;padding:.7rem;border:1px solid #48484f;background:#15151b;color:#eee;border-radius:6px;}
.admin-function-wrap {grid-column:1/-1;min-width:0;}
.decision-editor {padding:.8rem 0;border-bottom:1px solid #37373e;}
.decision-editor summary {cursor:pointer;font-size:1rem;padding:.45rem 0;}
.editorial-card,.resolution-row {padding:1rem 0;border-bottom:1px solid #37373e;overflow-wrap:anywhere;}
.editorial-card form,.decision-editor form {margin-top:1rem;}
.leadership-presence {padding:1rem;border:1px solid #494950;margin:1rem 0;}
.decision-result {font-weight:700;}
.area-editorial .news-image {max-height:32rem;object-fit:contain;}
#admin-security-accounts form {padding:.8rem 0;border-bottom:1px solid #37373e;}
#admin-security-accounts strong {display:block;margin-bottom:.5rem;}
.integration-account { margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid #6c455955; }
.discord-summary { font-weight:700; color:#f0c7d2; }
.discord-widget { display:block; width:100%; max-width:35rem; height:31rem; margin-top:1rem; border:1px solid #6c4559; border-radius:.45rem; background:#111; }
.discord-server-card { display:flex; align-items:center; gap:1rem; max-width:35rem; margin:1rem 0; padding:1rem; border:1px solid #5865f2; border-radius:.55rem; background:linear-gradient(135deg,#171827,#24213a); }
.discord-server-icon { width:5rem; height:5rem; flex:none; border-radius:1rem; object-fit:cover; }
.discord-server-info h3 { margin:0 0 .45rem; color:#fff; }
.discord-server-stats { margin:.25rem 0; color:#c9cdfb; font-weight:700; }
.twitch-section { margin:1.5rem 0; }
.twitch-card { display:grid; grid-template-columns:minmax(0,2fr) minmax(15rem,1fr); gap:1.25rem; align-items:start; }
.twitch-player { width:100%; aspect-ratio:16/9; min-height:18rem; border:0; background:#09060a; }
.twitch-details h3 { margin-top:0; }
.twitch-controls { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; margin-top:1rem; }
@media (max-width:800px) { .twitch-card { grid-template-columns:1fr; }.twitch-player { min-height:12rem; }.discord-widget { height:25rem; } }
[hidden] {display:none!important;}

.sponsor-banner-link { display:block; width:100%; color:inherit; text-decoration:none; }
.sponsor-banner-link strong { display:block; margin:.25rem 0; }
.sponsor-banner-link:hover strong,.sponsor-banner-link:focus-visible strong { color:#fff; text-decoration:underline; }

.sponsor-banner-controls{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.65rem}.sponsor-banner-controls .secondary-button{padding:.4rem .7rem;font-size:.85rem}

.council-area-collapsed{padding:0;overflow:hidden}.council-area-collapsed>summary{display:flex;align-items:center;gap:.7rem;padding:1rem 1.2rem;cursor:pointer;list-style:none}.council-area-collapsed>summary::-webkit-details-marker{display:none}.council-area-collapsed>summary:after{content:"+";margin-left:auto;font-size:1.3rem;color:#c9a3b2}.council-area-collapsed[open]>summary:after{content:"−"}.council-area-collapsed .council-seat-grid{padding:0 1rem 1rem}.council-seat-count{margin-left:auto;color:#bba4b1;font-size:.78rem;font-weight:400}.council-area-collapsed .council-seat{padding:.7rem;background:#0b101a55}.council-group:has(.council-seat-count){box-shadow:0 .4rem 1.2rem #0002}

.council-seat-stack{position:relative;min-height:12rem;padding:1rem 1rem 1.4rem}.council-seat-stack .council-seat{position:relative;z-index:2;width:min(100%,28rem);min-height:9rem;margin:0 auto;padding:1.2rem;border:1px solid #8b5a6a;background:#17131dcc;box-shadow:0 1rem 2rem #0005}.council-seat-stack .council-seat[data-position="deputy"]{position:absolute;z-index:1;top:1.8rem;left:50%;transform:translateX(calc(-50% + 1.2rem));opacity:.72;filter:saturate(.8);background:#0f1119dd}.council-seat-stack .council-seat[data-position="deputy"]:before{content:"";position:absolute;inset:-.55rem -.55rem auto auto;width:1.1rem;height:1.1rem;border-top:2px solid #9a7180;border-right:2px solid #9a7180;transform:rotate(45deg);background:#0f1119}.council-vote-note{margin:.8rem 0 0;color:#edc475;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.council-seat-stack .council-seat[data-position="primary"]{border-color:var(--area-accent,#c16a7d)}

/* Council seats stay visible side by side; no collapsed plus control. */
.council-seat-grid,.council-seat-stack{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:0!important;min-height:0!important}.council-seat-stack .council-seat,.council-seat-stack .council-seat[data-position="deputy"]{position:relative;inset:auto;transform:none;opacity:1;filter:none;width:auto;min-height:9rem}.council-seat-stack .council-seat[data-position="deputy"]:before{display:none}.council-area-collapsed>summary:after{display:none}@media(max-width:600px){.council-seat-grid,.council-seat-stack{grid-template-columns:1fr}}

/* Compact council area cards: two areas per row, arrow toggles the deputy. */
#council-member-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
#council-member-list .council-group { margin:0; min-width:0; }
.council-seat-switcher { position:relative; min-width:0; }
.council-seat-viewport { display:grid; position:relative; min-height:9.5rem; padding-right:2.25rem; }
.council-seat-viewport .council-seat { grid-area:1/1; min-width:0; transition:opacity .18s ease, transform .18s ease; }
.council-seat-viewport .council-seat[data-position="deputy"] { opacity:0; transform:translateX(.75rem); pointer-events:none; }
.council-seat-viewport[data-show-deputy="true"] .council-seat[data-position="primary"] { opacity:0; transform:translateX(-.75rem); pointer-events:none; }
.council-seat-viewport[data-show-deputy="true"] .council-seat[data-position="deputy"] { opacity:1; transform:none; pointer-events:auto; }
.council-seat-arrow { position:absolute; right:.35rem; top:50%; z-index:2; width:2rem; height:2rem; transform:translateY(-50%); border:1px solid #8b5a6a; border-radius:50%; background:#17131d; color:#f0c7d2; font-size:1.45rem; line-height:1; cursor:pointer; }
.council-seat-arrow:hover,.council-seat-arrow:focus-visible { background:#59212b; color:#fff; }
@media (max-width:700px) { #council-member-list { grid-template-columns:1fr; } }
.forum-editor-toolbar{display:flex;flex-wrap:wrap;gap:.35rem;margin:.45rem 0}.forum-editor-toolbar button{padding:.35rem .6rem;border:1px solid #68475a;border-radius:.25rem;background:#1a111a;color:#ead8e1;cursor:pointer}.forum-editor-toolbar button:hover{background:#4c2033}.forum-editor-toolbar .color-red{color:#e56b7f}.forum-editor-toolbar .color-blue{color:#6ccfff}.forum-editor-toolbar .color-gold{color:#edbc69}
.forum-editor-tools{margin:.5rem 0;border:1px solid #68475a;border-radius:.3rem;background:#140d15}.forum-editor-tools summary{padding:.55rem .7rem;color:#f0c7d2;cursor:pointer;font-weight:700}.forum-editor-tools[open] summary{border-bottom:1px solid #68475a}.forum-editor-toolbar{padding:.55rem;gap:.35rem}.council-seat-label{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:4.5rem}.council-seat-label .category-badge{margin:0}.council-seat-portrait{width:4.8rem;height:4.8rem;object-fit:cover;border-radius:.35rem;border:1px solid var(--area-accent,#8b5a6a);background:#10131b}
.council-member-thumb{display:none!important}
/* DNA assignment mark matches every other area emblem in the dossier. */
.dossier-assignment-dna-mark{width:32px;height:32px;flex:0 0 32px;object-fit:contain;border-radius:0;margin-right:.1rem}
.dossier-assignment-dna-mark{border-radius:50%}

/* Beta-Tester award: compact black-red skull order fallback when no upload is attached. */
.award-image.beta-skull, .dossier-medal-image.beta-skull { display:grid; place-items:center; border-radius:50%; background:linear-gradient(145deg,#160b10,#b51f3a); color:#fff; border:2px solid #e6b35a; font-size:1.6rem; }

.forum-color-picker{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .45rem;border:1px solid #68475a;border-radius:.25rem;color:#ead8e1;font-size:.85rem}.forum-color-picker input{width:2rem;height:1.5rem;padding:0;border:0;background:transparent;cursor:pointer}
#members-submenu{min-width:12rem}
.quick-editor-note{margin:1rem 0;padding:1rem 1.2rem;border:1px solid #8b5a6a;background:#1b1119;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.quick-editor-note p{margin:0;flex:1;min-width:14rem}

.admin-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.8rem;margin:1.2rem 0 1.5rem}.admin-dashboard-card{display:flex;flex-direction:column;gap:.35rem;padding:1rem;border:1px solid #70485b;border-radius:.5rem;background:linear-gradient(145deg,#261522,#120e15);color:#f4e8ee;text-decoration:none;transition:.15s ease}.admin-dashboard-card:hover,.admin-dashboard-card:focus-visible{border-color:#e58da2;background:#3a1d2c;transform:translateY(-1px)}.admin-dashboard-card strong{font-size:1.05rem}.admin-dashboard-card span{color:#c6afbc;font-size:.85rem;line-height:1.45}

.area-topbar{display:flex;flex-wrap:wrap;gap:.45rem;margin:1.2rem 0;padding:.6rem 0;border-top:1px solid #68475a;border-bottom:1px solid #68475a}.area-topbar a{padding:.55rem .8rem;border:1px solid #68475a;border-radius:.3rem;color:#ead8e1;text-decoration:none;background:#1a111a}.area-topbar a:hover,.area-topbar a:focus-visible{background:#59212b;color:#fff}.area-page>#area-games,.area-page>.area-extra,.area-page>#area-roster,.area-page>#area-lead-panel{display:none!important}.area-page .area-masthead .account-actions{display:none}

.area-page #area-detail-stats,.area-page #area-games,.area-page .area-extra,.area-page #area-roster,.area-page #area-lead-panel,.area-page #area-internal-content{display:none!important}.area-news-panel{display:block!important}

/* Area navigation lives in the header; detail panels open only on selection. */
.area-page #area-member-panel{display:none}
.area-page[data-tab="members"] #area-member-panel,.area-page[data-tab="members"] #area-roster{display:block!important}
.area-page[data-tab="games"] #area-games{display:block!important}
.area-page[data-tab="lead"] .area-extra:has(#area-local-leaders){display:block!important}
.area-page[data-tab="forum"] #area-votes-extra,.area-page[data-tab="forum"] #area-meetings-extra{display:block!important}
.area-page[data-tab="members"] .area-news-panel,.area-page[data-tab="games"] .area-news-panel,.area-page[data-tab="lead"] .area-news-panel,.area-page[data-tab="forum"] .area-news-panel{display:none!important}

.area-page #area-downloads{display:none!important}
.area-page[data-tab="downloads"] #area-downloads{display:block!important}
.area-page[data-tab="downloads"] .area-news-panel{display:none!important}
.area-download-entry{padding:1.2rem 0;border-bottom:1px solid var(--area-border,#68475a)}
.area-download-entry:last-child{border-bottom:0}
.area-download-entry h3,.game-organization{overflow-wrap:anywhere}
.area-download-entry form{margin-top:1rem}

body[data-area-brand="productions"] #bereich-detail .area-news-panel{display:none!important}

.twitch-consent{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;background:#141419;text-align:center;min-height:220px;height:auto}.twitch-consent p{max-width:48ch}.twitch-consent .secondary-button{font-size:.85rem}
.twitch-card>*{min-width:0}.twitch-details{overflow-wrap:anywhere}.twitch-controls{flex-wrap:wrap}.twitch-card .twitch-consent{min-width:0;max-width:100%;aspect-ratio:auto}.twitch-consent p{overflow-wrap:anywhere}@media(max-width:800px){.twitch-card{grid-template-columns:minmax(0,1fr)}}
