:root {
  color-scheme: dark;
  --guild-canvas: #151411;
  --guild-paper: #ebe1ca;
  --guild-gold: #dbc08a;
  --guild-line: #7f6b423d;
  --guild-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --guild-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { background: var(--guild-canvas); }
body.guilds-page { margin: 0; min-width: 320px; min-height: 100vh; color: var(--guild-paper); font: 14px/1.55 var(--guild-sans); background: url('/assets/ror.jpg') center top / cover fixed no-repeat; }
[hidden] { display: none !important; }
.guilds-shell { width: min(1300px, calc(100% - 80px)); margin: 0 auto; }
.guilds-shell a, .guilds-skip { color: var(--guild-gold); text-decoration: none; text-underline-offset: 4px; }
.guilds-shell a:hover { text-decoration: underline; }
.guilds-page :focus-visible { outline: 2px solid #f4ce80; outline-offset: 4px; }
.guilds-shell button, .guilds-shell input, .guilds-shell select { font: inherit; color: inherit; }
.guilds-shell button { cursor: pointer; }
.guilds-shell button:disabled { cursor: default; opacity: .5; }
.guilds-shell button:not(.guilds-realm), .guilds-shell input, .guilds-shell select { border: 1px solid #88785169; border-radius: 3px; background: #171714; min-height: 39px; padding: 8px 12px; }
.guilds-shell button:not(.guilds-realm):hover:not(:disabled) { border-color: #dbc08a; background: #2a271e; }
.guilds-shell button.guilds-text-button { background: transparent; border-color: transparent; color: var(--guild-gold); }
.guilds-shell button.guilds-text-button:hover:not(:disabled) { background: transparent; border-color: transparent; text-decoration: underline; text-underline-offset: 4px; }
.guilds-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.guilds-skip { position: fixed; top: 8px; left: 8px; z-index: 1000; padding: 12px; background: #191916; transform: translateY(-180%); }
.guilds-skip:focus { transform: none; }
.guilds-masthead { padding-top: 71px; }
.guilds-kicker { margin: 0 0 14px; color: #c7bba2; font-size: 11px; letter-spacing: .17em; text-transform: uppercase; }
.guilds-masthead h1 { margin: 0; font: 400 clamp(56px, 6vw, 80px)/1.02 var(--guild-serif); letter-spacing: -.045em; text-shadow: 0 3px 25px #0009; }
.guilds-shell .guilds-masthead h1 a { color: inherit; text-decoration: none; }
.guilds-lede { color: #c1b9a8; margin: 12px 0 0; font: 18px/1.4 var(--guild-serif); }
.guilds-rule { display: flex; align-items: center; gap: 14px; color: #a08957; margin: 24px 0 22px; font-size: 8px; }
.guilds-rule::before, .guilds-rule::after { content: ''; height: 1px; background: linear-gradient(90deg, transparent, #ac8f5c6b); flex: 1; }
.guilds-rule::after { transform: rotate(180deg); }
.guilds-realms { display: grid; grid-template-columns: 1fr .7fr 1fr; gap: 16px; margin-bottom: 30px; }
.guilds-realm { position: relative; display: flex; align-items: center; gap: 22px; padding: 23px 28px; min-height: 143px; border: 1px solid #665a423d; border-radius: 3px; text-align: left; box-shadow: inset 0 1px 0 #e6d3a40a; transition: border-color .16s, background-color .16s; }
.guilds-order { background: linear-gradient(120deg, #25333bd9, #1b2021ed); --realm-color: #8cbfd7; }
.guilds-destruction { background: linear-gradient(120deg, #382525e8, #231c1be8); --realm-color: #d49c90; }
.guilds-realm img { width: 76px; height: 76px; object-fit: contain; filter: drop-shadow(0 5px 5px #0007); }
.guilds-realm-copy { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.guilds-realm-name { font: 29px/1.25 var(--guild-serif); color: var(--realm-color); }
.guilds-realm-total { display: flex; flex-wrap: wrap; gap: 2px 12px; margin-top: 8px; font-size: 12px; color: #b9b3a7; }
.guilds-realm-total > span { white-space: nowrap; }
.guilds-realm-matching { color: var(--realm-color, var(--guild-gold)); }
.guilds-all .guilds-realm-matching { margin-top: 3px; }
.guilds-realm-total strong { font-weight: 600; color: #e5dbc5; }
.guilds-realm-choice { margin-left: auto; align-self: flex-start; color: #8e8370; font-size: 20px; line-height: 1; }
.guilds-realm[aria-pressed='true'] { border-color: #b39a6199; box-shadow: inset 0 -2px #b39a61, inset 0 1px 0 #e6d3a40a; }
.guilds-realm[aria-pressed='true'] .guilds-realm-choice { color: #e8c77e; }
.guilds-realm:hover { border-color: #b39a61; }
.guilds-all { flex-direction: column; justify-content: center; gap: 0; padding: 16px; text-align: center; background: linear-gradient(135deg, #28271eee, #1c1d18ed); font-size: 11px; color: #bdb5a3; }
.guilds-directory-number { font: 38px/1.4 var(--guild-serif); color: #e6d2a2; font-variant-numeric: tabular-nums; }
.guilds-register { border: 1px solid #77623e6b; border-radius: 4px; background: #1e1f1bef; box-shadow: 0 14px 50px #0003, inset 0 1px #ebdab312; overflow: clip; }
.guilds-register-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 23px 26px 20px; }
.guilds-register-head h2 { margin: 2px 0 0; color: #e9dbc0; font: 26px/1.4 var(--guild-serif); }
.guilds-head-actions { display: flex; align-items: center; gap: 15px; font-size: 11px; color: #a9a597; }
.guilds-refresh-actions { display: flex; align-items: center; gap: 8px; }
.guilds-head-actions button { font-size: 12px; }
.guilds-filters { display: grid; grid-template-columns: 2fr 1fr 1fr 1.1fr; align-items: end; gap: 14px; padding: 0 26px; }
.guilds-field { min-width: 0; }
.guilds-field label { display: block; margin-bottom: 7px; color: #bdb6a6; font-size: 11px; }
.guilds-field input, .guilds-field select { width: 100%; min-height: 43px; font-size: 12px; }
.guilds-field input::placeholder { color: #89877b; }
.guilds-scope { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 26px 15px; font-size: 11px; color: #aaa697; }
.guilds-scope p { margin: 0; }
.guilds-scope button { flex-shrink: 0; font-size: 11px; }
.guilds-results-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 26px; border-top: 1px solid var(--guild-line); }
.guilds-results-bar p { margin: 0; color: #bbb3a1; font-size: 12px; }
.guilds-results-bar > div { display: flex; align-items: center; gap: 10px; }
.guilds-results-bar button { min-height: 34px !important; font-size: 11px; }
.guilds-results-bar #exportGuilds { color: #dfcca2; }
.guilds-results-bar #exportGuilds span { margin-left: 10px; }
.guilds-columns, .guild-row { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.6fr) minmax(72px, .55fr) minmax(64px, .5fr) minmax(124px, 1fr) minmax(124px, 1fr); gap: 18px; }
.guilds-columns { padding: 13px 26px; color: #aaa18e; text-transform: uppercase; letter-spacing: .09em; font-size: 9px; border-top: 1px solid var(--guild-line); border-bottom: 1px solid var(--guild-line); background: #16171391; }
.guilds-shell .guilds-columns button { display: flex; align-items: center; justify-content: flex-start; gap: 5px; min-width: 0; min-height: 24px; padding: 0; background: transparent; border: 0; text-align: left; text-transform: inherit; letter-spacing: inherit; font: inherit; color: inherit; white-space: nowrap; }
.guilds-shell .guilds-columns button:hover:not(:disabled), .guilds-shell .guilds-columns button[aria-pressed='true'] { color: var(--guild-gold); background: transparent; }
.guilds-columns > span { align-self: center; white-space: nowrap; }
.guild-sort-arrow { flex: 0 0 8px; color: var(--guild-gold); font-size: 12px; }
.guilds-tooltip { position: fixed; z-index: 1200; width: max-content; max-width: min(360px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); overflow-y: auto; padding: 13px 16px; border: 1px solid #a28a55; border-radius: 3px; background: #191a16; color: #cbc2ad; box-shadow: 0 5px 22px #0008; font: 12px/1.5 var(--guild-sans); cursor: default; }
.guilds-tooltip h3 { margin: 0 0 10px; color: var(--guild-gold); font: 18px/1.3 var(--guild-serif); overflow-wrap: anywhere; }
.guild-tooltip-heading { display: flex; align-items: center; gap: 9px; }
.guild-tooltip-heading img { width: 28px; height: 28px; object-fit: contain; flex: 0 0 28px; }
.guild-tooltip-heading span { min-width: 0; }
.guilds-tooltip dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 14px; margin: 0; }
.guilds-tooltip dt { color: #a69e8c; font-size: 11px; }
.guilds-tooltip dd { margin: 0; overflow-wrap: anywhere; }
.guilds-tooltip p { margin: 10px 0 0; padding-top: 9px; border-top: 1px solid var(--guild-line); white-space: pre-wrap; overflow-wrap: anywhere; }
.guild-entry { border-bottom: 1px solid #d5c59812; }
.guild-entry:last-child { border-bottom: none; }
.guild-entry:hover { background: #d9be7910; }
.guild-row { align-items: center; padding: 18px 26px; min-height: 95px; }
.guild-identity { display: flex; align-items: center; gap: 13px; min-width: 0; }
.guild-crest { width: 34px; height: 40px; object-fit: contain; flex: 0 0 34px; }
.guild-unknown-crest { display: grid; place-items: center; color: #a29883; font: 26px var(--guild-serif); }
.guild-name-wrap { display: flex; flex: 1; flex-wrap: wrap; align-items: baseline; gap: 3px 8px; min-width: 0; }
.guild-name { min-width: 0; max-width: 100%; margin: 0; font: 18px/1.3 var(--guild-serif); overflow-wrap: anywhere; }
.guild-name a { color: #e6d5b3; }
.guild-name a:hover { color: #f6dda4; }
.guild-meta { display: flex; align-items: baseline; gap: 8px; margin: 0; color: #979789; font-size: 10px; }
.guilds-shell button.guild-about { padding: 0; min-height: 22px; min-width: 25px; border: none; background: transparent; color: #bfb196; font-size: 11px; }
.guild-row dl { margin: 0; min-width: 0; }
.guild-row dt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.guild-row dd { margin: 0; }
.guild-leader-main { display: flex; gap: 7px; align-items: center; min-width: 0; }
.guild-leader-main img { width: 22px; height: 22px; object-fit: contain; flex: 0 0 22px; }
.guild-leader-copy { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 7px; min-width: 0; }
.guild-leader-main a { color: #ded4be; font-size: 13px; overflow-wrap: anywhere; }
.guild-leader-ranks { color: #a49f91; font-size: 10px; white-space: nowrap; }
.guild-members, .guild-online { color: #d5cdbb; font-variant-numeric: tabular-nums; font-size: 15px; }
.guild-online-value[data-known='true'] { color: #c4d3aa; }
.guild-time { font-size: 12px; font-variant-numeric: tabular-nums; color: #d0cbbd; }
.guild-time time, .guild-online-value { cursor: default; }
.guild-time[data-recent='true'] time { color: #bed09f; }
.guild-unknown { color: #9f9d90; font-size: 11px; }
.guild-detail { padding: 18px 26px 20px 73px; border-top: 1px dashed #a18a5338; background: #1516127a; }
.guild-detail h3 { margin: 0 0 8px; font: 17px var(--guild-serif); color: #d6c59f; }
.guild-detail p { white-space: pre-wrap; overflow-wrap: anywhere; margin: 7px 0; max-width: 800px; color: #bbb7a9; font-size: 12px; }
.guild-detail a { display: inline-block; margin-top: 8px; font-size: 11px; }
.guilds-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 16px; padding: 21px; border-top: 1px solid var(--guild-line); color: #aca593; font-size: 11px; }
.guilds-pagination button { color: #ddc695; min-width: 172px; font-size: 12px; }
.guilds-notice { margin: 0 26px 16px; padding: 12px 14px; border: 1px solid #a5895047; background: #b99a3210; color: #d8c394; font-size: 12px; }
.guilds-error { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.guilds-error p { margin: 0; }
.guilds-error button { flex-shrink: 0; font-size: 11px; }
.guilds-empty { padding: 48px 22px; text-align: center; color: #b7af9d; }
.guilds-empty > span { font-size: 30px; color: #a58e5d; }
.guilds-empty h3 { font: 24px var(--guild-serif); margin: 10px 0; color: #deceb0; }
.guilds-empty p { margin: 0; font-size: 12px; }
.guilds-loading { padding: 6px 26px; }
.guilds-loading span { display: block; height: 70px; border-bottom: 1px solid var(--guild-line); background: linear-gradient(90deg, transparent, #cfba8110, transparent); }
.guilds-notes { padding: 24px 4px 12px; color: #a9a599; font-size: 12px; }
.guilds-notes details { max-width: 720px; }
.guilds-notes summary { color: #cdbd99; font: 18px/1.45 var(--guild-serif); margin: 0 0 7px; }
.guilds-notes p { margin: 8px 0; }
.guilds-notes summary { cursor: pointer; }
.guilds-notes dl { display: grid; grid-template-columns: minmax(100px, .8fr) 1.2fr; gap: 6px 15px; margin: 16px 0; font-size: 11px; }
.guilds-notes dd { margin: 0; color: #c2b99f; }
.guilds-footer { display: flex; justify-content: space-between; gap: 16px; margin: 8px 0 28px; padding-top: 20px; border-top: 1px solid var(--guild-line); color: #8f8b7d; font-size: 10px; letter-spacing: .03em; }
@media (min-width: 1700px) { .guilds-masthead { padding-top: 80px; } }
@media (max-width: 1050px) {
  .guilds-shell { width: calc(100% - 48px); }
  .guilds-realm { padding: 20px; gap: 12px; }
  .guilds-realm img { width: 55px; height: 64px; }
  .guilds-realm-name { font-size: 25px; }
  .guilds-realm-choice { display: none; }
  .guilds-columns, .guild-row { gap: 12px; }
  .guild-detail { padding-left: 61px; }
  .guild-name { font-size: 16px; }
  .guild-crest { width: 26px; flex-basis: 26px; }
  .guild-identity { gap: 9px; }
  .guilds-filters { grid-template-columns: 1.5fr 1fr 1fr 1.1fr; gap: 10px; }
}
@media (max-width: 920px) {
  .guilds-columns { display: none; }
  .guild-row { grid-template-columns: 1fr 1fr; gap: 16px 12px; padding: 21px 26px; }
  .guild-leader { grid-column: 1 / -1; }
  .guild-identity { grid-column: 1 / -1; gap: 12px; }
  .guild-name { font-size: 21px; }
  .guild-crest { width: 38px; height: 43px; flex-basis: 38px; }
  .guild-meta { font-size: 11px; }
  .guild-row dt { position: static; width: auto; height: auto; overflow: visible; clip: auto; font-size: 9px; text-transform: uppercase; letter-spacing: .07em; color: #a79f8e; margin-bottom: 5px; }
  .guild-leader-main a { font-size: 14px; }
  .guild-time { font-size: 13px; }
  .guild-entry:nth-child(2n) { background: #d4c49d04; }
  .guild-detail { padding: 17px 26px; }
}
@media (max-width: 760px) {
  .guilds-shell { width: calc(100% - 32px); }
  .guilds-masthead { padding-top: 34px; }
  .guilds-masthead h1 { font-size: 64px; }
  .guilds-kicker { font-size: 9px; letter-spacing: .13em; }
  .guilds-realms { gap: 9px; grid-template-columns: 1fr 1fr; margin-bottom: 22px; }
  .guilds-realm { min-height: 105px; padding: 15px 12px; gap: 10px; }
  .guilds-realm img { width: 45px; height: 53px; }
  .guilds-realm-name { font-size: 24px; }
  .guilds-realm-total { font-size: 10px; margin-top: 5px; }
  .guilds-all { grid-column: 1 / -1; grid-row: 2; flex-direction: row; flex-wrap: wrap; min-height: 42px; gap: 2px 7px; padding: 8px; }
  .guilds-all .guilds-realm-matching { flex-basis: 100%; margin-top: 0; }
  .guilds-directory-number { font: 600 13px var(--guild-sans); }
  .guilds-register-head { padding: 20px 16px 17px; flex-wrap: wrap; gap: 12px; }
  .guilds-register-head h2 { font-size: 24px; white-space: nowrap; }
  .guilds-head-actions { flex-direction: column-reverse; align-items: flex-end; gap: 4px; margin-left: auto; }
  #loadStatus { max-width: 105px; text-align: right; font-size: 10px; }
  .guilds-head-actions button { font-size: 11px; padding: 6px 10px; }
  .guilds-filters { grid-template-columns: 1fr 1fr; padding: 0 16px; gap: 13px 10px; }
  .guilds-search { grid-column: 1 / -1; }
  .guilds-field:last-child { grid-column: 1 / -1; }
  .guilds-field label { font-size: 11px; }
  .guilds-field input, .guilds-field select { font-size: 13px; min-height: 44px; }
  .guilds-scope { align-items: start; padding: 13px 16px; flex-direction: column; gap: 3px; }
  .guilds-scope button { padding: 3px 0 !important; min-height: 29px !important; }
  .guilds-results-bar { padding: 12px 16px; flex-wrap: wrap; gap: 7px; }
  .guilds-results-bar > div { justify-content: flex-end; width: 100%; }
  .guild-row { padding: 21px 16px; }
  .guild-detail { padding: 17px; }
  .guilds-notice { margin-inline: 16px; }
  .guilds-notes { padding: 23px 2px 10px; }
  .guilds-footer { flex-wrap: wrap; }
}
@media (max-width: 380px) {
  .guilds-shell { width: calc(100% - 24px); }
  .guilds-realm { padding: 12px 9px; gap: 5px; }
  .guilds-realm img { width: 35px; height: 45px; }
  .guilds-realm-name { font-size: 21px; }
  #loadStatus { display: none; }
  .guilds-register-head h2 { font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) { .guilds-realm { transition: none; } }
