:root {
  color-scheme: dark;
  --night: #070c14;
  --line: rgba(190, 160, 103, .36);
  --gold: #d49a42;
  --gold-bright: #f5d88e;
  --text: #eaf2f6;
  --muted: #a8b7c5;
  --teal: #59c9e8;
  --green: #7dc8a5;
  --red: #f08a52;
  --serif: 'Cinzel', Georgia, serif;
  --body: 'Inter', Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  font: 14px/1.55 var(--body);
  background-color: var(--night);
  background-image: radial-gradient(ellipse at 0% 20%, rgba(23,155,200,.17), transparent 42rem), radial-gradient(ellipse at 100% 24%, rgba(233,119,35,.15), transparent 42rem), repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 5px), linear-gradient(110deg,#050911,#0b1420 50%,#100d0a);
}
a { color: inherit; }
.page-shell { width: min(1180px, calc(100% - 36px)); margin: 0 auto; }
.masthead { display:flex; align-items:center; gap:14px; padding:23px 0 12px; border-bottom:1px solid var(--line); }
.brand-mark { display:grid; place-items:center; width:40px; height:40px; border:2px solid var(--gold); color:var(--gold-bright); font:22px 'MedievalSharp',serif; transform:rotate(45deg); box-shadow:0 0 0 4px rgba(177,138,72,.1),inset 0 0 0 3px rgba(177,138,72,.1); }
.brand-copy { line-height:1; }
.brand-name { color:var(--gold-bright); font:700 20px var(--serif); letter-spacing:.12em; }
.brand-subtitle { margin-top:5px; color:var(--muted); font:italic 11px 'Lora',Georgia,serif; }
.masthead nav { display:flex; align-items:center; gap:5px; margin-left:auto; }
.masthead nav a { padding:8px 10px; border:1px solid transparent; border-radius:3px; color:#c6ced5; text-decoration:none; font:600 11px var(--serif); }
.masthead nav a:hover,.masthead nav a:focus-visible { color:var(--gold-bright); border-color:var(--line); background:rgba(255,255,255,.03); }
.discord-link { margin-left:9px; padding:8px 11px; border:1px solid var(--gold); border-radius:3px; color:var(--gold-bright); text-decoration:none; font-size:11px; font-weight:600; white-space:nowrap; }
.discord-link:hover { background:rgba(177,138,72,.12); }
.hero { position:relative; overflow:hidden; margin:17px 0 15px; padding:27px 24px 24px; text-align:center; border:3px double #a47c3d; background:linear-gradient(135deg,rgba(42,31,23,.98),rgba(20,17,14,.98) 55%,rgba(48,35,24,.98)); box-shadow:0 18px 45px rgba(0,0,0,.32),inset 0 0 0 5px rgba(205,166,94,.045); }
.hero::before,.hero::after { content:'✦'; position:absolute; top:50%; color:rgba(229,201,132,.13); font:100px 'MedievalSharp',serif; transform:translateY(-50%); }
.hero::before { left:4%; } .hero::after { right:4%; }
.eyebrow,.kicker { position:relative; z-index:1; margin:0 0 5px; color:var(--teal); font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.eyebrow { color:var(--muted); letter-spacing:.07em; text-transform:none; font-size:11px; }
.live-dot { display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; background:var(--green); box-shadow:0 0 9px #78bd9b66; }
.hero h1 { position:relative; z-index:1; margin:4px 0; color:var(--gold-bright); font:700 clamp(27px,4vw,39px)/1.2 var(--serif); letter-spacing:.025em; text-shadow:0 3px 18px rgba(0,0,0,.5); }
.hero-copy { position:relative; z-index:1; margin:5px 0 0; color:#e1d2b0; font:italic 14px/1.5 'Lora',Georgia,serif; }
.panel { min-width:0; border:1px solid var(--line); background:linear-gradient(145deg,rgba(25,35,44,.97),rgba(17,23,28,.97)); box-shadow:0 12px 34px rgba(0,0,0,.19); }
.promotions-panel { margin:0 0 16px; padding:13px 17px; }
.promotions-panel .panel-heading { min-height:66px; margin-bottom:9px; }
.promotion-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; gap:7px; height:360px; overflow-y:auto; padding-right:5px; scrollbar-color:#80643b #171d21; scrollbar-width:thin; }
.promotion-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 10px; align-items:center; min-width:0; padding:9px 10px; border:1px solid rgba(190,160,103,.22); background:linear-gradient(115deg,rgba(12,34,45,.76),rgba(35,27,20,.74)); }
.promotion-account { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 8px; min-width:0; }
.promotion-account-link { color:var(--teal); font-weight:700; text-decoration:none; overflow-wrap:anywhere; }
.promotion-account-link:hover,.promotion-account-link:focus-visible { color:var(--gold-bright); text-decoration:underline; text-underline-offset:3px; }
.promotion-account span { color:var(--muted); font-size:10px; }
.promotion-path { color:var(--gold-bright); font:600 10px/1.35 var(--serif); white-space:nowrap; }
.promotion-path span { padding:0 3px; color:var(--teal); }
.promotion-date { grid-column:1/-1; color:var(--muted); font-size:10px; }
.promotion-search-field { margin:0 0 10px; }
.promotion-search-field .search-results-count { margin-top:5px; }
.promotion-row-detail { align-items:start; }
.promotion-row-detail .promotion-path { text-align:right; }
.promotion-path-label { color:var(--teal); font:700 9px var(--body); letter-spacing:.07em; text-transform:uppercase; }
.promotion-characters { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:5px; padding-top:5px; border-top:1px solid rgba(190,204,215,.1); }
.promotion-character { display:grid; gap:1px; padding:4px 7px; border:1px solid rgba(89,201,232,.17); background:rgba(8,20,29,.55); }
.promotion-character b { color:#e3dac9; font-size:10px; font-weight:600; }
.promotion-character small { color:var(--muted); font-size:9px; }

.inactivity-panel { margin:0 0 12px; padding:10px 14px; }
.promotion-rules-link { padding:0; border:0; background:none; color:var(--teal); font:inherit; text-decoration:underline; text-decoration-style:dotted; text-underline-offset:2px; cursor:pointer; }
.promotion-rules-link:hover,.promotion-rules-link:focus-visible { color:var(--gold-bright); }
.promotion-rules-dialog { width:min(460px,calc(100% - 28px)); max-width:460px; max-height:calc(100% - 32px); padding:18px; border:1px solid var(--gold); color:var(--text); background:linear-gradient(145deg,#18232c,#11171c); box-shadow:0 22px 70px rgba(0,0,0,.65); }
.promotion-rules-dialog::backdrop { background:rgba(0,0,0,.74); backdrop-filter:blur(2px); }
.promotion-rules-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:12px; }
.promotion-rules-header h2 { margin:0; color:var(--gold-bright); font:600 19px/1.25 var(--serif); }
.promotion-rules-header .kicker { margin-bottom:4px; }
.promotion-dialog-close { width:30px; height:30px; border:1px solid var(--line); color:var(--muted); background:rgba(255,255,255,.03); font-size:21px; line-height:1; cursor:pointer; }
.promotion-dialog-close:hover,.promotion-dialog-close:focus-visible { color:var(--gold-bright); border-color:var(--gold); }
.promotion-rules-list { display:grid; gap:5px; margin:0; padding:0; list-style:none; }
.promotion-rules-list li { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:8px 10px; border:1px solid rgba(190,160,103,.2); background:rgba(7,12,20,.54); }
.promotion-rules-list li span { color:var(--text); font-size:13px; }
.promotion-rules-list li small { margin-left:5px; color:var(--muted); font-size:10px; }
.promotion-rules-list li strong { color:var(--gold-bright); font-size:12px; white-space:nowrap; }
.promotion-rules-note { margin:12px 1px 0; color:var(--muted); font-size:11px; line-height:1.55; }
.inactivity-rules-link { padding:0; border:0; background:none; color:var(--teal); font:inherit; text-decoration:underline; text-decoration-style:dotted; text-underline-offset:2px; cursor:pointer; }
.inactivity-rules-dialog { width:min(460px,calc(100% - 28px)); max-width:460px; max-height:calc(100% - 32px); padding:18px; border:1px solid var(--gold); color:var(--text); background:linear-gradient(145deg,#18232c,#11171c); box-shadow:0 22px 70px rgba(0,0,0,.65); }
.inactivity-rules-dialog::backdrop { background:rgba(0,0,0,.74); backdrop-filter:blur(2px); }
.inactivity-rules-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:12px; }
.inactivity-rules-header h2 { margin:0; color:var(--gold-bright); font:600 19px/1.25 var(--serif); }
.inactivity-rules-header .kicker { margin-bottom:4px; }
.inactivity-dialog-close { width:30px; height:30px; border:1px solid var(--line); color:var(--muted); background:rgba(255,255,255,.03); font-size:21px; line-height:1; cursor:pointer; }
.inactivity-dialog-close:hover,.inactivity-dialog-close:focus-visible { color:var(--gold-bright); border-color:var(--gold); }
.inactivity-rules-list { display:grid; gap:5px; margin:0; padding:0; list-style:none; }
.inactivity-rules-list li { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:8px 10px; border:1px solid rgba(190,160,103,.2); background:rgba(7,12,20,.54); }
.inactivity-rules-list li span { color:var(--text); font-size:13px; }
.inactivity-rules-list li small { margin-left:5px; color:var(--muted); font-size:10px; }
.inactivity-rules-list li strong { color:var(--gold-bright); font-size:12px; white-space:nowrap; }
.inactivity-rules-note { margin:12px 1px 0; color:var(--muted); font-size:11px; line-height:1.55; }
.inactivity-rules-link:hover,.inactivity-rules-link:focus-visible { color:var(--gold-bright); }
.inactivity-panel .panel-heading { align-items:flex-start; margin-bottom:8px; }
.inactivity-list { display:grid; gap:5px; max-height:190px; overflow-y:auto; padding-right:5px; scrollbar-color:#80643b #171d21; scrollbar-width:thin; }
.inactivity-row { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:8px 10px; border:1px solid rgba(240,138,82,.25); background:linear-gradient(110deg,rgba(45,25,21,.7),rgba(18,26,32,.8)); }
.inactivity-account-link { color:var(--gold-bright); font-weight:700; text-decoration:none; overflow-wrap:anywhere; }
.inactivity-account-link:hover,.inactivity-account-link:focus-visible { color:var(--teal); text-decoration:underline; text-underline-offset:3px; }
.inactivity-rank,.inactivity-meta { color:var(--muted); font-size:10px; }
.inactivity-meta { margin-top:2px; }
.inactivity-age { color:var(--red); font-size:11px; white-space:nowrap; }
.inactivity-empty { padding:6px 0; }
.roster-panel,.recent-panel { padding:17px 19px; }
.roster-panel { margin-bottom:14px; }
.panel-heading { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:14px; }
.panel-heading h2 { margin:0; color:var(--gold-bright); font:600 19px/1.25 var(--serif); }
.section-subtitle { margin:5px 0 0; color:var(--muted); font:italic 12px/1.5 'Lora',Georgia,serif; }
.count-pill { padding:5px 9px; border:1px solid var(--line); color:var(--gold-bright); font-size:10px; white-space:nowrap; }
.toolbar { display:flex; gap:9px; margin-bottom:11px; }
.search-box { display:flex; align-items:center; flex:1; gap:8px; min-width:190px; padding:0 11px; border:1px solid rgba(194,207,218,.24); background:#0d1824; color:var(--gold); font-size:19px; }
.search-box:focus-within { border-color:var(--gold); box-shadow:0 0 0 3px rgba(210,173,104,.13); }
.search-box input { caret-color:transparent; width:100%; min-height:40px; border:0; outline:0; color:var(--text); background:transparent; font:12px var(--body); }
.search-box input::placeholder { color:#9b927f; }
.directory-facets { display:grid; gap:8px; margin:0 0 12px; padding:10px 11px; border:1px solid rgba(177,138,72,.28); background:rgba(13,17,20,.48); }
.facet-row { display:grid; grid-template-columns:47px minmax(0,1fr); gap:8px; align-items:start; }
.facet-label { padding-top:6px; color:var(--teal); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.facet-chips { display:flex; flex-wrap:wrap; gap:5px; }
.facet-chip { display:inline-flex; align-items:center; gap:6px; padding:5px 8px; border:1px solid rgba(194,207,218,.18); border-radius:3px; background:#17212a; color:#d4c8ad; font:10px var(--body); cursor:pointer; white-space:nowrap; }
.facet-chip b { color:#a99774; font-size:9px; font-weight:600; }
.facet-chip:hover,.facet-chip.active { border-color:var(--gold); background:rgba(177,138,72,.14); color:var(--gold-bright); }
.facet-chip.active b { color:var(--gold-bright); }
.facet-note { margin:0 0 0 55px; color:#968a72; font-size:9px; }
.table-wrap { max-height:510px; overflow:auto; border:1px solid rgba(177,138,72,.28); }
table { width:100%; border-collapse:collapse; text-align:left; font-size:11px; }
thead { position:sticky; top:0; z-index:1; background:#101c29; }
th { padding:9px 11px; border-bottom:1px solid var(--line); color:#bcae91; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
td { padding:8px 11px; border-bottom:1px solid rgba(190,204,215,.09); color:#d8d0c0; }
tbody tr:hover { background:rgba(177,138,72,.07); }
.sort-button { padding:0; border:0; background:none; color:inherit; font:inherit; letter-spacing:inherit; text-transform:inherit; cursor:pointer; }
.sort-button:hover { color:var(--gold-bright); }
.member-name { color:#f1e8d5; font-weight:600; }
.rank-tag { display:inline-flex; align-items:center; gap:6px; }
.rank-dot { width:6px; height:6px; border-radius:50%; background:var(--gold); }
.rank-1 { background:#bcae91; } .rank-2 { background:#78bdc2; } .rank-3 { background:#b18a48; } .rank-4 { background:#e5c984; } .rank-5 { background:#bd6b65; }
.class-name { color:#a9c9c6; }
.table-empty { padding:27px; color:var(--muted); text-align:center; }
.table-foot { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-top:9px; color:var(--muted); font-size:10px; }
.account-rank-check { margin-top:11px; }
.account-rank-check-ok,.account-rank-check-warning { padding:10px 12px; border:1px solid; border-radius:3px; font-size:11px; }
.account-rank-check-ok { border-color:rgba(125,200,165,.28); background:rgba(31,70,58,.19); color:var(--muted); }
.account-rank-check-ok strong { color:var(--green); }
.account-rank-check-warning { border-color:rgba(240,138,82,.48); background:rgba(81,42,26,.2); }
.account-rank-check-heading { display:grid; gap:2px; }
.account-rank-check-heading strong { color:var(--red); font-size:12px; }
.account-rank-check-heading span { color:var(--muted); }
.account-rank-check-warning ul { display:grid; gap:7px; margin:9px 0 0; padding:0; list-style:none; }
.account-rank-check-warning li { padding-top:7px; border-top:1px solid rgba(240,138,82,.18); }
.account-rank-check-warning .directory-account-link { color:var(--teal); font-weight:600; }
.account-rank-characters { display:flex; flex-wrap:wrap; gap:5px 12px; margin-top:4px; }
.account-rank-characters > span { display:inline-flex; flex-wrap:wrap; gap:4px; color:#e3dac9; }
.account-rank-characters small { color:var(--gold-bright); font-size:10px; }

.text-button { padding:5px 8px; border:1px solid var(--line); border-radius:3px; background:transparent; color:var(--gold-bright); font:600 10px var(--body); cursor:pointer; }
.text-button:hover { background:rgba(177,138,72,.12); }
.recent-panel { margin-bottom:18px; }
.bank-panel { margin:0 0 18px; overflow:hidden; }
.bank-panel > summary { list-style:none; }
.bank-panel > summary::-webkit-details-marker { display:none; }
.bank-panel[open] > .bank-panel-summary { border-bottom:1px solid rgba(89,201,232,.32); }
.bank-panel-body { padding:14px 19px 16px; }
.bank-search-field { margin-bottom:7px; }
.bank-filters { margin-top:0; }
.bank-events { max-height:450px; overflow-y:auto; padding-right:7px; scrollbar-color:#80643b #171d21; scrollbar-width:thin; }
.bank-event-row { display:grid; grid-template-columns:140px minmax(0,1fr) 82px 80px; align-items:center; gap:8px 12px; padding:10px 3px; border-bottom:1px solid rgba(190,204,215,.09); }
.bank-event-date { color:var(--muted); font-size:10px; white-space:nowrap; }
.bank-event-details { min-width:0; }
.bank-event-member { display:flex; flex-wrap:wrap; align-items:baseline; gap:3px 8px; font-size:11px; }
.bank-event-member strong { color:#e3dac9; }
.bank-event-member span { color:var(--teal); font-size:10px; }
.bank-event-item { margin-top:3px; color:var(--text); font-size:11px; line-height:1.4; overflow-wrap:anywhere; }
.bank-event-category { margin-top:2px; color:#a99570; font-size:9px; letter-spacing:.07em; text-transform:uppercase; }
.bank-event-action { justify-self:start; padding:3px 6px; border:1px solid rgba(190,204,215,.16); border-radius:3px; color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.06em; }
.bank-event-action.deposit { color:#a8d9b7; border-color:rgba(104,171,123,.28); }
.bank-event-action.withdrawal { color:#e0bd8c; border-color:rgba(190,144,82,.28); }
.bank-event-amount { justify-self:end; font-size:11px; font-weight:600; white-space:nowrap; }
.bank-event-amount.deposit { color:#a8d9b7; }
.bank-event-amount.withdrawal { color:#e0bd8c; }
.panel-mark { color:var(--gold); font-size:21px; }
.recent-events { display:grid; grid-template-columns:1fr; gap:0; max-height:450px; overflow-y:auto; padding-right:7px; scrollbar-color:#80643b #171d21; scrollbar-width:thin; }
.event-row { display:grid; grid-template-columns:9px minmax(0,1fr) auto; align-items:start; gap:9px; padding:11px 4px; border-bottom:1px solid rgba(190,204,215,.09); }
.event-dot { width:7px; height:7px; margin-top:6px; border-radius:50%; background:var(--gold); }
.event-dot.join { background:var(--green); } .event-dot.exit { background:var(--red); } .event-dot.rank { background:var(--teal); }
.event-copy { color:#e3dac9; font-size:12px; line-height:1.5; }
.event-type { margin-top:3px; color:#a99570; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.event-date { padding-top:1px; color:var(--muted); font-size:10px; white-space:nowrap; }
.empty-state { padding:22px 12px; color:var(--muted); font-size:11px; text-align:center; }
footer { display:flex; justify-content:space-between; gap:15px; padding:0 2px 24px; color:#a99b7f; font-size:9px; }
footer span:first-child { font:600 9px var(--serif); letter-spacing:.12em; }
footer i { color:var(--gold); font-style:normal; }
:focus-visible { outline:2px solid var(--gold-bright); outline-offset:3px; }
@media(max-width:850px) {
  .page-shell { width:min(100% - 28px,1180px); }
  .masthead nav { gap:0; }
  .masthead nav a { padding:7px; }
}
@media(max-width:620px) {
  .page-shell { width:calc(100% - 20px); }
  .masthead { flex-wrap:wrap; padding-top:17px; }
  .brand-mark { width:33px; height:33px; font-size:18px; }
  .brand-name { font-size:17px; }
  .brand-subtitle { font-size:9px; }
  .masthead nav { order:3; width:100%; justify-content:center; margin:2px 0 0; border-top:1px solid rgba(177,138,72,.2); }
  .masthead nav a { padding:8px 7px; font-size:9px; }
  .discord-link { margin-left:auto; padding:7px 8px; font-size:9px; }
  .hero { padding:23px 12px; }
  .hero::before { left:-7%; } .hero::after { right:-7%; }
  .hero::before,.hero::after { font-size:65px; }
  .promotions-panel,.roster-panel,.recent-panel { padding:13px 11px; }
  .bank-panel-summary { gap:10px; padding:13px 12px; }
  .bank-panel-body { padding:12px 11px; }
  .bank-events { max-height:360px; }
  .bank-event-row { grid-template-columns:76px minmax(0,1fr) 48px; gap:5px 7px; padding:9px 1px; }
  .bank-event-date { grid-column:1; grid-row:1 / span 2; align-self:start; font-size:9px; white-space:normal; }
  .bank-event-details { grid-column:2 / 4; }
  .bank-event-action { grid-column:2; grid-row:2; }
  .bank-event-amount { grid-column:3; grid-row:2; font-size:10px; }
  .inactivity-panel { padding:10px 11px; }
  .promotions-panel .panel-heading { min-height:78px; }
  .promotion-list { grid-template-columns:1fr; height:470px; }
  .panel-heading h2 { font-size:16px; }
  .section-subtitle { font-size:10px; }
  .panel-heading { gap:7px; }
  .count-pill { padding:4px 6px; font-size:8px; }
  .facet-row { grid-template-columns:38px minmax(0,1fr); gap:5px; }
  .facet-chip { padding:5px 6px; font-size:9px; }
  .facet-note { margin-left:43px; font-size:8px; }
  .table-wrap { max-height:430px; }
  table { font-size:9px; }
  th,td { padding:7px 6px; }
  th { font-size:8px; }
  .table-foot { font-size:8px; }
  .recent-events { max-height:360px; }
  .event-row { grid-template-columns:8px minmax(0,1fr) auto; gap:7px; padding:10px 2px; }
  .event-copy { font-size:11px; }
  .event-date { font-size:8px; }
  footer { flex-direction:column; font-size:8px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }

/* Shared Synergy blue-and-ember identity */
.brand-banner { display:block; height:clamp(132px,19vw,220px); margin:17px 0 0; overflow:hidden; border:1px solid rgba(205,169,103,.52); box-shadow:0 14px 38px rgba(0,0,0,.35),0 0 30px rgba(34,153,195,.08); }
.brand-banner img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 49%; }
.brand-mark { transform:none; border:1px solid rgba(213,168,87,.75); border-radius:50%; box-shadow:0 0 0 4px rgba(71,183,218,.08),0 0 20px rgba(218,141,48,.13); overflow:hidden; }
.brand-mark img { display:block; width:100%; height:100%; object-fit:cover; border-radius:50%; }
.hero { border:1px solid rgba(204,169,103,.52); border-bottom:2px solid var(--gold); background:linear-gradient(110deg,rgba(5,19,29,.96),rgba(8,16,25,.94) 48%,rgba(36,20,12,.94)); box-shadow:0 18px 45px rgba(0,0,0,.32),inset 0 0 0 4px rgba(205,166,94,.035); }
.hero::before { color:rgba(68,196,231,.23); }
.hero::after { color:rgba(246,145,56,.24); }
.panel { border-color:rgba(180,158,121,.34); background:linear-gradient(145deg,rgba(17,31,45,.98),rgba(9,18,27,.98)); }
.directory-facets { border-color:rgba(74,184,218,.22); background:rgba(5,15,23,.55); }
.facet-chip:hover,.facet-chip.active { border-color:var(--teal); background:rgba(57,179,214,.12); color:#b8effb; }
thead { background:#111d29; }
.table-wrap { border-color:rgba(74,184,218,.22); }
.event-dot { background:var(--gold); box-shadow:0 0 10px rgba(231,158,57,.2); }
.event-dot.rank { background:var(--teal); }
@media(max-width:620px) { .brand-banner { height:128px; margin-top:12px; } }


    /* Shared Synergy site frame */
    :root { --night:#070c14; --line:rgba(190,160,103,.36); --gold:#d49a42; --gold-bright:#f5d88e; --text:#eaf2f6; --muted:#a8b7c5; --teal:#59c9e8; --green:#7dc8a5; --red:#f08a52; --serif:'Cinzel',Georgia,serif; --body:'Inter',Arial,sans-serif; }
    body { margin:0; min-height:100vh; color:var(--text); font:14px/1.55 var(--body); background-color:var(--night); background-image:radial-gradient(ellipse at 0% 20%,rgba(23,155,200,.17),transparent 42rem),radial-gradient(ellipse at 100% 24%,rgba(233,119,35,.15),transparent 42rem),repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 5px),linear-gradient(110deg,#050911,#0b1420 50%,#100d0a); }
    .page-shell { width:min(1180px,calc(100% - 36px)); margin:0 auto; }
    .brand-banner { display:block; height:clamp(132px,19vw,220px); margin:17px 0 0; overflow:hidden; border:1px solid rgba(205,169,103,.52); box-shadow:0 14px 38px rgba(0,0,0,.35),0 0 30px rgba(34,153,195,.08); }
    .brand-banner img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 49%; }
    .masthead { display:flex; align-items:center; gap:14px; padding:23px 0 12px; border-bottom:1px solid var(--line); }
    .brand-mark { display:grid; flex:none; place-items:center; width:40px; height:40px; overflow:hidden; border:1px solid rgba(213,168,87,.75); border-radius:50%; box-shadow:0 0 0 4px rgba(71,183,218,.08),0 0 20px rgba(218,141,48,.13); }
    .brand-mark img { display:block; width:100%; height:100%; object-fit:cover; border-radius:50%; }
    .brand-copy { line-height:1; white-space:nowrap; }
    .brand-name { color:var(--gold-bright); font:700 20px var(--serif); letter-spacing:.12em; }
    .brand-subtitle { margin-top:5px; color:var(--muted); font:italic 11px 'Lora',Georgia,serif; }
    .masthead nav { display:flex; align-items:center; gap:5px; margin-left:auto; }
    .masthead nav a { padding:8px 10px; border:1px solid transparent; border-radius:3px; color:#c6ced5; text-decoration:none; font:600 11px var(--serif); white-space:nowrap; }
    .masthead nav a:hover,.masthead nav a:focus-visible { color:var(--gold-bright); border-color:var(--line); background:rgba(255,255,255,.03); }
    .discord-link { margin-left:9px; padding:8px 11px; border:1px solid var(--gold); border-radius:3px; color:var(--gold-bright); text-decoration:none; font-size:11px; font-weight:600; white-space:nowrap; }
    .discord-link:hover { background:rgba(177,138,72,.12); }
    .hero { position:relative; overflow:hidden; margin:17px 0 15px; padding:27px 24px 24px; text-align:center; border:1px solid rgba(204,169,103,.52); border-bottom:2px solid var(--gold); background:linear-gradient(110deg,rgba(5,19,29,.96),rgba(8,16,25,.94) 48%,rgba(36,20,12,.94)); box-shadow:0 18px 45px rgba(0,0,0,.32),inset 0 0 0 4px rgba(205,166,94,.035); }
    .hero::before,.hero::after { content:'✦'; position:absolute; top:50%; font:100px 'MedievalSharp',serif; transform:translateY(-50%); line-height:1; }
    .hero::before { left:4%; color:rgba(68,196,231,.23); } .hero::after { right:4%; color:rgba(246,145,56,.24); }
    .hero > .eyebrow { position:relative; z-index:1; margin:0 0 5px; color:var(--teal); font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
    .hero h1 { position:relative; z-index:1; margin:4px 0; color:var(--gold-bright); font:700 clamp(27px,4vw,39px)/1.2 var(--serif); letter-spacing:.025em; text-shadow:0 3px 18px rgba(0,0,0,.5); }
    .hero-copy,.hero-subtitle { position:relative; z-index:1; margin:5px 0 0; color:#dbe6ec; font:italic 14px/1.5 'Lora',Georgia,serif; }
    .page-nav { display:flex; justify-content:center; gap:10px; padding:0 0 4px; }
    .page-nav a { padding:8px 14px; color:#c6ced5; border:1px solid transparent; border-radius:3px; text-decoration:none; font-size:.8rem; font-weight:600; }
    .page-nav a:hover,.page-nav a:focus-visible { color:var(--gold-bright); border-color:var(--line); background:rgba(255,255,255,.03); }
    main { padding:0 0 50px; }
    footer { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:16px 2px 24px; color:var(--muted); border-top:1px solid var(--line); text-align:left; font-size:10px; }
    footer p { margin:4px 0; }
    footer span:first-child { font:600 9px var(--serif); letter-spacing:.12em; }
    footer i { color:var(--gold); font-style:normal; }
    footer strong { color:var(--gold-bright); }
    @media(max-width:850px) { .page-shell { width:min(100% - 28px,1180px); } .masthead { padding:23px 0 12px; } .masthead nav { gap:0; } .masthead nav a { padding:7px; } .hero { padding:27px 24px 24px; } }
    @media(max-width:620px) {
      .page-shell { width:calc(100% - 20px); }
      .brand-banner { height:128px; margin-top:12px; }
      .masthead { flex-wrap:wrap; padding:17px 0 10px; }
      .brand-mark { width:33px; height:33px; }
      .brand-name { font-size:17px; }
      .brand-subtitle { font-size:9px; }
      .masthead nav { order:3; width:100%; justify-content:center; margin:2px 0 0; border-top:1px solid rgba(177,138,72,.2); }
      .masthead nav a { padding:8px 7px; font-size:9px; }
      .discord-link { margin-left:auto; padding:7px 8px; font-size:9px; }
      .hero { padding:23px 12px; }
      .hero::before { left:-7%; } .hero::after { right:-7%; } .hero::before,.hero::after { font-size:65px; }
      footer { flex-direction:column; align-items:flex-start; font-size:9px; }
    }

/* Keep the activity panel close to the directory panel height, including its search controls. */
.recent-events { max-height:440px; }
.activity-search-field { margin:0 0 10px; }
.activity-member-link { color:var(--teal); text-decoration:underline; text-decoration-style:dotted; text-underline-offset:2px; }
.activity-member-link:hover,.activity-member-link:focus-visible { color:var(--gold-bright); }
@media(max-width:620px) { .recent-events { max-height:360px; } }

.account-name { color:var(--teal); white-space:nowrap; }
table { min-width:700px; }

/* Match the Masterwork Forge control scale and typography. */
.panel-heading h2 { font:600 clamp(1.35rem,3vw,1.75rem)/1.25 var(--serif); }
.section-subtitle { margin:7px 0 0; color:var(--muted); font:.88rem/1.5 var(--body); }
.kicker { font-size:.69rem; }
.toolbar { margin-bottom:14px; }
.directory-search { flex:1; min-width:0; }
.field label { display:block; margin:0 0 6px; color:var(--teal); font-size:.7rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.search-box { display:flex; align-items:center; flex:1; gap:10px; min-width:190px; height:44px; padding:0 12px; border:1px solid rgba(194,207,218,.24); border-radius:3px; background:#0d1824; color:var(--teal); font-size:20px; }
.search-box:focus-within { border-color:var(--teal); box-shadow:0 0 0 3px rgba(89,201,232,.13); }
.search-box input { width:100%; min-height:42px; padding:10px 0; border:0; outline:0; color:var(--text); background:transparent; font:14px var(--body); }
.search-box input::placeholder { color:#91a1ae; }
.count-pill { padding:6px 10px; font-size:.75rem; }
.facet-label { font-size:.7rem; }
.facet-chip { font:.75rem var(--body); }
.facet-chip b { font-size:.7rem; }
.facet-note { font-size:.72rem; }
table { font-size:.84rem; }
th { padding:9px 11px; font-size:.7rem; }
td { padding:10px 11px; }
.member-name,.account-name,.rank-tag,.class-name { font-size:.84rem; }
.event-copy { font-size:.84rem; }
.event-type { font-size:.65rem; }
.event-date { font-size:.72rem; }
@media(max-width:620px) {
  .panel-heading h2 { font-size:1.2rem; }
  .section-subtitle { font-size:.8rem; }
  .search-box { height:44px; }
  table { font-size:.78rem; }
  th { font-size:.65rem; }
  td { padding:8px 7px; }
  .facet-chip { font-size:.7rem; }
  .facet-note { font-size:.67rem; }
  .event-copy { font-size:.78rem; }
  .event-date { font-size:.65rem; }
}

/* Three clear stages: introduction, filters, directory. */
.member-search-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin:0 0 14px; }
.member-search-intro .section-kicker { margin:0 0 3px; color:var(--teal); font-size:.69rem; letter-spacing:.19em; text-transform:uppercase; font-weight:700; }
.member-search-intro h2 { margin:0; color:var(--gold-bright); font:600 clamp(1.35rem,3vw,1.75rem)/1.25 var(--serif); }
.member-search-intro .section-intro { max-width:520px; margin:7px 0 0; color:var(--muted); font-size:.88rem; }
.news-page-intro .section-intro,.guild-info-intro .section-intro { max-width:none; white-space:nowrap; }
@media(max-width:720px) {
  .member-search-intro { align-items:start; flex-direction:column; gap:3px; }
  .news-page-intro .section-intro,.guild-info-intro .section-intro { white-space:normal; }
}
.search-panel { margin:0 0 14px; padding:17px 19px; }
.filter-actions { display:flex; justify-content:flex-end; margin-top:10px; }
.search-panel .directory-facets { margin-bottom:0; }
.roster-panel { margin-bottom:14px; }
@media(max-width:620px) { .search-panel { padding:13px 11px; } }

/* Shared masthead and footer finish */
.masthead { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:14px; }
.masthead nav { grid-column:2; justify-self:center; margin:0; gap:8px; }
.masthead nav a { display:inline-flex; align-items:center; justify-content:center; padding:10px 14px; border:1px solid rgba(190,160,103,.32); border-radius:3px; color:#dbe6ec; background:rgba(10,20,31,.52); font:600 12px var(--serif); white-space:nowrap; }
.masthead nav a:hover,.masthead nav a:focus-visible { color:var(--gold-bright); border-color:var(--line); background:rgba(255,255,255,.05); }
.discord-link { grid-column:3; justify-self:end; margin:0; padding:10px 13px; border-radius:3px; font-size:12px; }
footer { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:21px 3px 30px; color:#c2d0d8; border-top:1px solid rgba(190,160,103,.55); font-size:.88rem; text-align:center; }
footer span:first-child { color:var(--gold-bright); font:600 .9rem var(--serif); letter-spacing:.12em; }
.footer-credit { display:block; margin:0; color:#b7c5cf; font-size:.8rem; line-height:1.55; text-align:center; }
@media(max-width:850px) {
  .masthead nav { gap:5px; }
  .masthead nav a { padding:9px 11px; }
}
@media(max-width:620px) {
  .masthead { grid-template-columns:minmax(0,1fr) auto; padding-top:17px; }
  .masthead nav { grid-column:1/-1; grid-row:2; position:static; transform:none; justify-self:center; width:auto; justify-content:center; gap:6px; margin:6px 0 0; padding:0; border:0; }
  .masthead nav a { padding:9px 10px; font-size:10px; }
  .discord-link { grid-column:2; grid-row:1; justify-self:end; margin:0; padding:9px 11px; font-size:11px; }
  footer { align-items:center; gap:5px; padding:18px 2px 24px; font-size:.8rem; text-align:center; }
  footer span:first-child { font-size:.84rem; }
  .footer-credit { font-size:.76rem; }
}


/* Carry the Forge card-header colors into the roster panels. */
.roster-panel > .panel-heading,
.recent-panel > .panel-heading {
  position:relative;
  margin:-17px -19px 14px;
  padding:15px 19px 14px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(110deg,rgba(8,29,42,.96),rgba(16,28,40,.94) 58%,rgba(39,25,16,.94));
}
.promotions-panel > .panel-heading {
  position:relative;
  margin:-13px -17px 9px;
  padding:15px 17px 14px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(110deg,rgba(8,29,42,.96),rgba(16,28,40,.94) 58%,rgba(39,25,16,.94));
}
.inactivity-panel > .panel-heading {
  position:relative;
  margin:-10px -14px 8px;
  padding:12px 14px 10px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(110deg,rgba(8,29,42,.96),rgba(16,28,40,.94) 58%,rgba(39,25,16,.94));
}
.roster-panel > .panel-heading::after,
.recent-panel > .panel-heading::after,
.promotions-panel > .panel-heading::after,
.inactivity-panel > .panel-heading::after {
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:44px;
  height:44px;
  border-top:1px solid rgba(89,201,232,.25);
  border-right:1px solid rgba(89,201,232,.25);
  pointer-events:none;
}
.search-panel { position:relative; }

@media(max-width:620px) {
  .roster-panel > .panel-heading,
  .recent-panel > .panel-heading {
    margin:-13px -11px 14px;
    padding:13px 11px 12px;
  }
  .promotions-panel > .panel-heading {
    margin:-13px -11px 9px;
    padding:13px 11px 12px;
  }
  .inactivity-panel > .panel-heading {
    margin:-10px -11px 8px;
    padding:10px 11px 9px;
  }
}
/* Live character and account results below the roster search. */
.search-results-count { margin:7px 0 0; color:var(--muted); font-size:.82rem; line-height:1.45; }

@media(max-width:620px) {
  .roster-heading { align-items:flex-start; flex-wrap:wrap; }
  .roster-heading > div { flex:1 1 100%; min-width:0; }
  .roster-heading .count-pill { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
}

/* Compact character cards replace the wide roster table on phones. */
.mobile-roster-list { display:none; }
.mobile-member-card {
  min-width:0;
  padding:12px;
  border:1px solid rgba(190,160,103,.32);
  border-radius:3px;
  background:linear-gradient(115deg,rgba(10,31,42,.94),rgba(26,25,21,.94));
  box-shadow:inset 0 1px rgba(255,255,255,.025);
}
.mobile-member-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.mobile-member-identity { min-width:0; }
.mobile-member-name { margin:0; color:var(--gold-bright); font:600 1rem/1.3 var(--serif); overflow-wrap:anywhere; }
.mobile-member-class { display:block; margin-top:4px; color:#a9c9c6; font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; }
.mobile-member-rank { flex:0 0 auto; padding:4px 7px; border:1px solid rgba(89,201,232,.26); border-radius:3px; background:rgba(89,201,232,.07); color:#dbe6ec; font-size:.68rem; }
.mobile-member-account { display:grid; gap:3px; min-width:0; margin-top:10px; padding-top:9px; border-top:1px solid rgba(190,204,215,.12); }
.mobile-member-label { display:block; color:var(--teal); font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.mobile-member-value { min-width:0; color:#eaf2f6; font-size:.82rem; overflow-wrap:anywhere; }
.mobile-member-dates { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; margin-top:9px; padding-top:9px; border-top:1px solid rgba(190,204,215,.1); }
.mobile-member-dates > div { display:grid; gap:3px; min-width:0; }
.mobile-member-status { color:var(--gold-bright); }
@media(max-width:620px) {
  .table-wrap { display:none; }
  .mobile-roster-list {
    display:grid;
    align-content:start;
    gap:8px;
    max-height:430px;
    overflow-y:auto;
    overflow-x:hidden;
    padding-right:4px;
    scrollbar-color:#80643b #171d21;
    scrollbar-width:thin;
  }
}


.mobile-directory-sort { display:none; }
.mobile-directory-sort label {
  color:var(--teal);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.mobile-directory-sort select,
.mobile-directory-sort button {
  min-height:34px;
  padding:6px 9px;
  border:1px solid rgba(190,160,103,.32);
  border-radius:3px;
  background:#101a24;
  color:var(--text);
  font: .76rem var(--body);
}
.mobile-directory-sort button { color:var(--gold-bright); cursor:pointer; }
.mobile-directory-sort button:hover { border-color:var(--teal); }
@media(max-width:620px) {
  .mobile-directory-sort { display:flex; align-items:center; justify-content:flex-end; gap:7px; margin:0 0 8px; }
  .mobile-directory-sort select { max-width:46%; }
}


/* Compact rank and class filters shown as paired dropdowns. */
.directory-facets {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  padding:11px;
}
.facet-select-field { display:grid; gap:5px; min-width:0; }
.facet-select-field .facet-label { padding:0; }
.facet-select-field select {
  width:100%;
  min-width:0;
  min-height:42px;
  padding:8px 30px 8px 10px;
  border:1px solid rgba(89,201,232,.25);
  border-radius:3px;
  outline:none;
  color:var(--text);
  background:#101a24;
  font: .78rem var(--body);
}
.facet-select-field select:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(89,201,232,.12); }
.facet-select-field option { background:#101a24; color:var(--text); }
.facet-note { grid-column:1/-1; margin:0; }
@media(max-width:620px) {
  .directory-facets { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; padding:9px; }
  .facet-select-field select { min-height:40px; padding-left:8px; font-size:.72rem; }
}


/* Account names in the directory act as exact account filters. */
.directory-account-link {
  color:#82d9ef;
  text-decoration:none;
  text-underline-offset:2px;
  overflow-wrap:anywhere;
}
.directory-account-link:hover,
.directory-account-link:focus-visible {
  color:var(--gold-bright);
  text-decoration:underline;
}



/* Shared celestial-citadel visual treatment */
:root {
  --frame-gold: #d8a84e;
  --frame-cyan: #32c5df;
  --frame-deep: #061521;
}
body {
  background-color: #040b13;
  background-image:
    radial-gradient(ellipse at 10% 18%, rgba(0,153,224,.17), transparent 36rem),
    radial-gradient(ellipse at 92% 28%, rgba(246,127,39,.13), transparent 38rem),
    radial-gradient(ellipse at 50% 90%, rgba(6,71,107,.15), transparent 50rem),
    repeating-linear-gradient(0deg, rgba(130,193,220,.018) 0 1px, transparent 1px 5px),
    linear-gradient(115deg, #030811, #071522 53%, #100e0d);
}
.brand-banner {
  width:100vw;
  max-width:none;
  height:clamp(108px,12vw,166px);
  margin:0 calc(50% - 50vw);
  border:0;
  border-bottom:1px solid rgba(216,168,78,.82);
  background:#06111c;
  box-shadow:0 7px 28px rgba(0,0,0,.5), 0 1px 0 rgba(50,197,223,.35);
}
.brand-banner img { object-position:center 49%; }
.masthead {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:0;
  width:100vw;
  min-height:53px;
  margin:0 calc(50% - 50vw);
  padding:0 12px;
  border-top:1px solid rgba(50,197,223,.18);
  border-bottom:1px solid rgba(216,168,78,.72);
  background:linear-gradient(180deg,rgba(5,23,36,.98),rgba(3,13,22,.98));
  box-shadow:0 5px 18px rgba(0,0,0,.3);
}
.masthead .brand-mark,.masthead .brand-copy { display:none; }
.masthead nav {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:0;
  margin:0;
}
.masthead nav a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px clamp(12px,2.6vw,30px);
  border:0;
  border-radius:0;
  color:#d8eaf3;
  background:transparent;
  font:500 clamp(.82rem,1.35vw,1rem) var(--serif);
  letter-spacing:.025em;
}
.masthead nav a + a { border-left:1px solid var(--frame-gold); }
.masthead nav a:hover,.masthead nav a:focus-visible {
  color:var(--gold-bright);
  background:rgba(38,151,190,.09);
}
.discord-link {
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0;
  padding:10px clamp(12px,2.6vw,30px);
  border:0;
  border-left:1px solid var(--frame-gold);
  border-radius:0;
  color:#d8eaf3;
  background:transparent;
  font:500 clamp(.82rem,1.35vw,1rem) var(--serif);
}
.discord-link:hover { color:var(--gold-bright); background:rgba(38,151,190,.09); }
.hero {
  position:relative;
  min-height:180px;
  margin:22px 0 20px;
  padding:40px 24px 34px;
  overflow:hidden;
  border:1px solid rgba(216,168,78,.9);
  border-radius:0;
  outline:1px solid rgba(50,197,223,.42);
  outline-offset:-6px;
  background:
    linear-gradient(90deg,rgba(2,14,24,.66),rgba(3,15,26,.74) 47%,rgba(3,15,26,.48)),
    url('assets/synergy-flag-hero.webp') center 52%/cover;
  box-shadow:0 12px 35px rgba(0,0,0,.38), inset 0 0 24px rgba(5,111,159,.18);
}
.hero::before,.hero::after {
  content:"";
  position:absolute;
  z-index:0;
  width:24px;
  height:24px;
  top:9px;
  left:9px;
  border-top:1px solid var(--frame-gold);
  border-left:1px solid var(--frame-gold);
  color:transparent;
  font-size:0;
  transform:none;
}
.hero::after {
  top:auto;
  left:auto;
  right:9px;
  bottom:9px;
  border:0;
  border-right:1px solid var(--frame-gold);
  border-bottom:1px solid var(--frame-gold);
}
.hero-mark { display:none; }
.hero h1 { text-shadow:0 2px 5px #000,0 0 24px rgba(16,109,153,.45); }
.hero .eyebrow,.hero > .kicker {
  color:#36d2e5;
  letter-spacing:.25em;
}
.hero-copy,.hero-subtitle { color:#d9edf6; }
.panel,.search-panel,.roster-panel,.recent-panel,.promotions-panel,.inactivity-panel,
.route-section,.filter-panel,.item-card,.detail-panel,.route-card {
  border:1px solid rgba(216,168,78,.76);
  border-radius:0;
  outline:1px solid rgba(50,197,223,.24);
  outline-offset:-6px;
  background-color:#071925;
  background-image:
    radial-gradient(ellipse at 8% 0%,rgba(10,109,144,.17),transparent 38rem),
    linear-gradient(145deg,rgba(4,22,33,.96),rgba(5,16,27,.98));
  box-shadow:0 10px 28px rgba(0,0,0,.28),inset 0 0 22px rgba(4,87,121,.08);
}
.roster-panel > .panel-heading,.recent-panel > .panel-heading,
.promotions-panel > .panel-heading,.inactivity-panel > .panel-heading,
.card-header {
  border-bottom:1px solid rgba(50,197,223,.46);
  background:linear-gradient(100deg,rgba(4,35,51,.98),rgba(6,30,45,.95) 56%,rgba(47,29,17,.94));
}
.panel-heading .kicker,.section-kicker,.section-heading .section-kicker {
  color:#35d2e3;
}
.panel-heading h2,h2,.item-title,.empty-state strong { text-shadow:0 1px 7px rgba(0,0,0,.55); }
.directory-facets,.filter-panel {
  border-color:rgba(50,197,223,.42);
  background-color:rgba(3,17,27,.88);
}
.search-box,.field input,.field select,.facet-select-field select {
  border-color:rgba(67,190,218,.38);
  background-color:#071722;
}
.search-box:focus-within,.field input:focus,.field select:focus,.facet-select-field select:focus {
  border-color:#38c9e1;
  box-shadow:0 0 0 3px rgba(50,197,223,.13);
}
.table-wrap,.table-wrap th,.mobile-member-card,.promotion-row,.inactivity-row,.event-row {
  border-color:rgba(50,197,223,.25);
}
.mobile-member-card,.promotion-row,.inactivity-row {
  background:linear-gradient(115deg,rgba(5,29,43,.94),rgba(20,25,29,.94));
}
.route-button,.class-badge,.facet-chip,.mobile-member-rank {
  border-color:rgba(50,197,223,.38);
  background-color:rgba(8,37,52,.78);
}
.route-button:hover,.facet-chip:hover,.facet-chip.active { border-color:var(--frame-gold); }
.card-header::after,.roster-panel > .panel-heading::after,.recent-panel > .panel-heading::after,
.promotions-panel > .panel-heading::after,.inactivity-panel > .panel-heading::after {
  border-color:rgba(50,197,223,.55);
  border-top-color:rgba(216,168,78,.9);
  border-right-color:rgba(216,168,78,.9);
}
footer {
  border-top:1px solid rgba(216,168,78,.68);
  color:#bfd5df;
}
@media(max-width:620px) {
  .brand-banner { height:112px; margin-top:0; }
  .masthead { min-height:49px; padding:0 5px; }
  .masthead nav a,.discord-link { padding:9px 8px; font-size:.75rem; }
  .hero { min-height:155px; margin:16px 0; padding:30px 13px 25px; }
}

/* Generated celestial-citadel artwork with a live wordmark overlay */
.brand-banner { position:relative; isolation:isolate; }
.brand-banner img { position:absolute; inset:0; z-index:0; object-fit:cover; object-position:center 50%; }
.brand-banner::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(2,10,19,.12),rgba(2,12,20,.18) 28%,rgba(2,12,20,.42) 50%,rgba(2,12,20,.08));
  pointer-events:none;
}
.brand-banner-copy {
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  text-align:center;
}
.brand-banner-copy strong {
  color:#f6d58a;
  font:500 clamp(2rem,5.3vw,4rem)/1.05 var(--serif);
  letter-spacing:.1em;
  text-shadow:0 2px 4px #02070c,0 0 24px rgba(0,0,0,.9),0 0 26px rgba(231,160,67,.3);
  text-transform:uppercase;
}
.brand-banner-copy small {
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:6px;
  color:#dbeaf1;
  font-size:.58rem;
  font-weight:600;
  letter-spacing:.34em;
  line-height:1.3;
  text-transform:uppercase;
  text-shadow:0 1px 5px #02070c;
}
.brand-banner-copy small::before,.brand-banner-copy small::after {
  content:"";
  width:38px;
  height:1px;
  background:linear-gradient(90deg,transparent,#d6a74d);
}
.brand-banner-copy small::after { transform:scaleX(-1); }
/* Soft scroll-style frames with rounded corners and a fine double gold rule. */
.panel,.item-card,.route-section,.filter-panel,.detail-panel,.search-panel { position:relative; }
.panel::before,.item-card::before,.route-section::before,.filter-panel::before,.detail-panel::before,.search-panel::before {
  content:"";
  position:absolute;
  inset:2px;
  z-index:2;
  border:1px solid rgba(245,216,142,.84);
  border-radius:11px;
  box-shadow:
    inset 0 0 0 2px rgba(7,12,20,.72),
    inset 0 0 0 3px rgba(212,154,66,.3);
  pointer-events:none;
}
@media(max-width:620px) {
  .brand-banner-copy strong { font-size:2rem; }
  .brand-banner-copy small { gap:7px; font-size:.48rem; letter-spacing:.24em; }
  .brand-banner-copy small::before,.brand-banner-copy small::after { width:22px; }
}


/* Shared Synergy wordmark and S-banner artwork */
.brand-banner { position:relative; isolation:isolate; }
.brand-banner > .brand-banner-background {
  position:absolute; inset:0; z-index:0;
  display:block; width:100%; height:100%;
  object-fit:cover; object-position:center 49%;
}
.brand-banner .brand-banner-copy > img {
  position:relative; inset:auto; z-index:auto;
  display:block; width:min(54vw,440px); max-width:calc(100% - 24px);
  height:auto; max-height:calc(100% - 20px);
  object-fit:contain; object-position:center;
  clip-path:inset(4.2% 0 0);
  mix-blend-mode:screen;
}
.hero {
  background:
    linear-gradient(90deg,rgba(2,14,24,.25),rgba(3,15,26,.42) 47%,rgba(3,15,26,.28)),
    url('assets/synergy-flag-hero.webp') center 50%/cover;
}
@media(max-width:620px) {
  .brand-banner .brand-banner-copy > img { width:min(74vw,360px); max-height:calc(100% - 18px); }
}


/* Integrated Synergy header art and a stable three-link mobile menu */
.brand-banner { height:max(240px,25vw); }
.brand-banner > .brand-banner-background { object-position:center 39%; }
.brand-banner::after { display:none; }
.masthead {
  display:flex;
  flex-wrap:nowrap;
  justify-content:center;
  align-items:stretch;
  gap:0;
}
.masthead nav {
  display:flex;
  align-items:stretch;
  justify-content:center;
  width:min(100%,780px);
  margin:0;
  gap:0;
}
.masthead nav a,.masthead nav .discord-link {
  display:flex;
  flex:1 1 0;
  align-items:center;
  justify-content:center;
  min-width:0;
  margin:0;
  padding:10px clamp(8px,2vw,24px);
  white-space:nowrap;
}
.masthead nav a + a,.masthead nav .discord-link { border-left:1px solid var(--frame-gold); }
.masthead nav .discord-link { border-top:0; border-right:0; border-bottom:0; }
@media(max-width:620px) {
  .brand-banner { height:auto; aspect-ratio:3 / 1; }
  .brand-banner > .brand-banner-background { object-fit:contain; object-position:center; }
  .masthead { min-height:48px; padding:0 2px; }
  .masthead nav { width:100%; }
  .masthead nav a,.masthead nav .discord-link {
    padding:8px 2px;
    font-size:clamp(.56rem,2.25vw,.72rem);
    letter-spacing:0;
  }
}

/* Keep the full panoramic hero scene visible on phones. */
@media(max-width:620px) {
  .hero {
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:100%;
    height:calc((100vw - 20px) / 3);
    min-height:0;
    padding:8px;
    background-size:100% 100%;
    background-position:center;
  }
  .hero > .eyebrow { margin:0 0 3px; font-size:8px; }
  .hero h1 { margin:3px 0; font-size:clamp(21px,6vw,26px); }
  .hero-copy,.hero-subtitle { margin:3px 0 0; font-size:12px; line-height:1.3; }
}

/* Round the actual outer panels so their gold and cyan outlines follow the softened corners. */
.hero,.panel,.search-panel,.roster-panel,.recent-panel,.promotions-panel,.inactivity-panel,
.route-section,.filter-panel,.item-card,.detail-panel,.route-card {
  border-radius:12px;
  overflow:hidden;
}
.directory-facets { border-radius:8px; }
.panel::before,.item-card::before,.route-section::before,.filter-panel::before,.detail-panel::before,.search-panel::before {
  border-radius:9px;
}
.hero::before,.hero::after { border-radius:4px; }
/* Slightly larger shared footer wordmark. */
footer span:first-child { font-size:.98rem; }
/* Prevent full-bleed 100vw header elements from creating page-level horizontal scrolling. */
html,body { overflow-x:clip; }
/* Activity archive filters */
.activity-filters {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0 0 10px;
}
.activity-filters select {
  width:100%;
  max-width:none;
  min-height:40px;
  padding:8px 30px 8px 10px;
  border:1px solid rgba(67,190,218,.38);
  border-radius:7px;
  color:var(--text);
  background:#071722;
  font:14px var(--body);
}
.activity-filters select:focus {
  border-color:#38c9e1;
  outline:none;
  box-shadow:0 0 0 3px rgba(50,197,223,.13);
}
/* Account detail dialog */
.account-detail-dialog {
  display:none;
  width:min(720px,calc(100% - 28px));
  max-width:720px;
  max-height:calc(100% - 32px);
  padding:18px;
  overflow:hidden;
  border:1px solid var(--gold);
  border-radius:12px;
  color:var(--text);
  background:linear-gradient(145deg,#18232c,#11171c);
  box-shadow:0 22px 70px rgba(0,0,0,.65);
}
.account-detail-dialog[open] { display:block; }
.account-detail-dialog::backdrop { background:rgba(0,0,0,.74); backdrop-filter:blur(2px); }
.account-dialog-header {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:13px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(100deg,rgba(8,29,42,.32),rgba(39,25,16,.24));
}
.account-dialog-header h2 { margin:0; color:var(--gold-bright); font:600 19px/1.25 var(--serif); }
.account-dialog-header .kicker { margin:0 0 4px; }
.account-dialog-summary { margin:5px 0 0; color:var(--muted); font-size:12px; }
.account-dialog-close {
  width:32px;
  height:32px;
  flex:none;
  border:1px solid var(--line);
  border-radius:6px;
  color:var(--muted);
  background:rgba(255,255,255,.03);
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.account-dialog-close:hover,.account-dialog-close:focus-visible { color:var(--gold-bright); border-color:var(--gold); }
.account-dialog-characters {
  display:grid;
  gap:7px;
  max-height:min(58vh,520px);
  overflow-y:auto;
  padding-right:5px;
  scrollbar-color:#80643b #171d21;
  scrollbar-width:thin;
}
.account-character-card {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  padding:10px 12px;
  border:1px solid rgba(50,197,223,.24);
  border-radius:8px;
  background:linear-gradient(115deg,rgba(5,29,43,.88),rgba(20,25,29,.88));
}
.account-character-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.account-character-heading > div { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; min-width:0; }
.account-character-heading strong { color:#f1e8d5; font-size:13px; overflow-wrap:anywhere; }
.account-character-class { color:var(--teal); font-size:11px; }
.account-character-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.account-character-details > div { display:grid; gap:2px; min-width:0; }
.account-character-details small { color:#a99570; font-size:9px; letter-spacing:.06em; text-transform:uppercase; }
.account-character-details span { color:var(--text); font-size:11px; overflow-wrap:anywhere; }
.account-character-comment { display:grid; gap:3px; min-width:0; padding-top:7px; border-top:1px solid rgba(50,197,223,.16); }
.account-character-comment small { color:#a99570; font-size:9px; letter-spacing:.06em; text-transform:uppercase; }
.account-character-comment span { color:var(--text); font-size:11px; line-height:1.45; overflow-wrap:anywhere; }
.account-linked-section { display:grid; gap:5px; min-width:0; padding-top:7px; border-top:1px solid rgba(50,197,223,.16); }
.account-linked-section > small { color:#a99570; font-size:9px; letter-spacing:.06em; text-transform:uppercase; }
.account-linked-row { display:flex; justify-content:space-between; gap:10px; color:var(--text); font-size:10px; line-height:1.45; }
.account-linked-row span { min-width:0; overflow-wrap:anywhere; }
.account-linked-row time { flex:none; color:var(--muted); white-space:nowrap; }
.account-activity-more { margin-top:2px; }
.account-activity-more summary { width:fit-content; color:#82dff0; cursor:pointer; font-size:10px; line-height:1.4; }
.account-activity-more[open] summary { margin-bottom:4px; }
.account-activity-more .account-linked-row { padding-left:8px; border-left:1px solid rgba(50,197,223,.16); }
.account-activity-scroll {
  display:grid;
  gap:5px;
  max-height:180px;
  overflow-y:auto;
  padding-right:5px;
  scrollbar-color:#80643b #171d21;
  scrollbar-width:thin;
}
.directory-account-link[aria-haspopup="dialog"] { text-underline-offset:3px; }
@media(max-width:620px) {
  .activity-filters { grid-template-columns:1fr; gap:7px; }
  .account-detail-dialog { padding:14px; }
  .account-character-details { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Consistent rounded corners across roster controls, cards, and dialogs. Keep the shared menu square to match the Forge page. */
.page-nav a,
.search-box,.field input,.field select,.facet-select-field select,
.activity-filters select,.mobile-directory-sort select,.mobile-directory-sort button,
.text-button,.promotion-dialog-close,.inactivity-dialog-close,.account-dialog-close,
button:not(.sort-button) {
  border-radius:8px;
}
.hero,.panel,.search-panel,.roster-panel,.recent-panel,.promotions-panel,.inactivity-panel,
.route-section,.filter-panel,.item-card,.detail-panel,.route-card {
  border-radius:12px;
}
.table-wrap,.directory-facets,.activity-filters,.mobile-member-card,.promotion-row,
.inactivity-row,.event-row,.promotion-character,.promotion-rules-list li,
.inactivity-rules-list li,.facet-chip,.mobile-member-rank,.count-pill,
.account-rank-check-ok,.account-rank-check-warning,.account-character-card {
  border-radius:8px;
}
.account-detail-dialog,.promotion-rules-dialog,.inactivity-rules-dialog {
  border-radius:12px;
}

/* Shared popup frame used by both Synergy pages. */
dialog.popup-shell {
  box-sizing:border-box;
  width:min(640px,calc(100% - 24px));
  max-height:min(82vh,760px);
  padding:22px;
  overflow:auto;
  color:#eaf2f6;
  border:3px double rgba(216,168,78,.86);
  border-radius:12px;
  background:radial-gradient(ellipse at 8% 0%,rgba(10,109,144,.18),transparent 30rem),linear-gradient(145deg,#0b1b29,#080f18 70%,#18110c);
  box-shadow:0 24px 80px rgba(0,0,0,.72),inset 0 0 28px rgba(4,87,121,.12);
}
dialog.popup-shell::backdrop { background:rgba(0,7,13,.76); backdrop-filter:blur(3px); }
.popup-shell .promotion-rules-header h2,.popup-shell .inactivity-rules-header h2,.popup-shell .account-dialog-header h2 { margin-right:0; }
.popup-shell h2 { margin:0 36px 7px 0; color:#f5d88e; font:600 clamp(1.25rem,4vw,1.55rem)/1.25 'Cinzel',Georgia,serif; overflow-wrap:anywhere; }
.popup-shell .kicker,.popup-shell .section-kicker { color:#59c9e8; }
.popup-shell .popup-close {
  display:grid; place-items:center;
  width:34px; height:34px; flex:none; padding:0;
  color:#f5d88e; border:1px solid rgba(190,160,103,.36);
  border-radius:50%; background:rgba(7,12,20,.72);
  font:400 22px/1 'Inter',Arial,sans-serif; cursor:pointer;
}
.popup-shell .popup-close:hover,.popup-shell .popup-close:focus-visible { color:#59c9e8; border-color:#d49a42; }
.popup-shell .promotion-rules-header,.popup-shell .inactivity-rules-header,.popup-shell .account-dialog-header {
  margin-bottom:14px; padding-bottom:13px;
  border-bottom:1px solid rgba(89,201,232,.3);
  background:linear-gradient(100deg,rgba(8,29,42,.5),rgba(39,25,16,.32));
}
.popup-shell .detail-intro { padding-bottom:14px; border-bottom:1px solid rgba(89,201,232,.3); }
.popup-shell .detail-list li,.popup-shell .promotion-rules-list li,.popup-shell .inactivity-rules-list li,.popup-shell .account-character-card {
  border:1px solid rgba(89,201,232,.24);
  border-radius:7px;
  background:linear-gradient(115deg,rgba(5,29,43,.88),rgba(20,25,29,.88));
}
.popup-shell .detail-list li { padding:8px 10px; }
.popup-shell .promotion-rules-list,.popup-shell .inactivity-rules-list { gap:6px; }
.popup-shell .promotion-rules-list li,.popup-shell .inactivity-rules-list li { padding:9px 11px; }
.popup-shell .account-character-card { padding:10px 12px; }
.popup-shell .detail-filter-button { border-radius:6px; }
.popup-shell.promotion-rules-dialog,.popup-shell.inactivity-rules-dialog { width:min(520px,calc(100% - 24px)); }
.popup-shell.account-detail-dialog { width:min(720px,calc(100% - 24px)); }
@media(max-width:620px) { dialog.popup-shell { padding:16px; } }

/* Guild information accordion cards */
.guild-info-list { display:grid; gap:14px; margin:0 0 22px; }
.guild-info-card { min-width:0; overflow:hidden; }
.guild-info-card > summary { list-style:none; }
.guild-info-card > summary::-webkit-details-marker { display:none; }
.guild-info-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:17px 21px;
  cursor:pointer;
  background:linear-gradient(100deg,rgba(8,29,42,.92),rgba(16,28,40,.9) 58%,rgba(39,25,16,.86));
}
.guild-info-summary:hover,.guild-info-summary:focus-visible { background:linear-gradient(100deg,rgba(9,42,58,.96),rgba(16,31,44,.94) 58%,rgba(50,31,17,.9)); }
.guild-info-summary:focus-visible { outline:2px solid var(--gold-bright); outline-offset:-4px; }
.guild-info-card[open] > .guild-info-summary { border-bottom:1px solid rgba(89,201,232,.32); }
.guild-info-summary-copy { min-width:0; }
.guild-info-summary .section-kicker { margin:0 0 3px; }
.guild-info-summary h2 { margin:0; color:var(--gold-bright); font:600 clamp(1.2rem,2.5vw,1.55rem)/1.3 var(--serif); }
.guild-info-summary p { margin:4px 0 0; color:var(--muted); font-size:.84rem; }
.guild-info-toggle {
  display:grid;
  flex:none;
  place-items:center;
  width:34px;
  height:34px;
  color:var(--gold-bright);
  border:1px solid rgba(216,168,78,.65);
  border-radius:50%;
  background:rgba(7,12,20,.5);
  font:500 21px/1 var(--body);
}
.guild-info-toggle::before { content:"+"; }
.guild-info-card[open] .guild-info-toggle::before { content:"−"; }
.guild-info-body { padding:19px 22px 22px; color:#dbe6ec; font-size:.92rem; line-height:1.7; }
.guild-info-channel-link { display:inline-block; white-space:nowrap; color:var(--gold-bright); font-weight:700; }
.guild-info-body p { margin:0 0 13px; }
.guild-info-body p:last-child { margin-bottom:0; }
.guild-info-body h3,.guild-info-body h4 {
  margin:20px 0 7px;
  color:var(--gold-bright);
  font:600 .9rem/1.4 var(--serif);
  letter-spacing:.025em;
  text-transform:none;
}
.guild-info-body h3:first-child,.guild-info-body h4:first-child { margin-top:0; }
.guild-info-body ul { display:grid; gap:6px; margin:7px 0 14px; padding-left:21px; }
.guild-info-body li { padding-left:2px; }
.guild-info-body strong { color:var(--gold-bright); }
.guild-info-highlight {
  margin:14px 0;
  padding:12px 15px;
  border-left:2px solid var(--teal);
  background:rgba(8,37,52,.62);
  color:#dbe6ec;
}
.guild-history-entry { padding:0 0 15px; margin:0 0 16px; border-bottom:1px solid rgba(89,201,232,.2); }
.guild-history-entry:last-child { padding:0; margin:0; border-bottom:0; }
@media(max-width:620px) {
  .guild-info-summary { gap:11px; padding:14px 15px; }
  .guild-info-summary p { font-size:.78rem; }
  .guild-info-toggle { width:30px; height:30px; }
  .guild-info-body { padding:16px 16px 19px; font-size:.86rem; line-height:1.65; }
}
/* Guild Discord widget card */
.guild-discord-panel { margin:0 0 20px; overflow:hidden; }
.guild-discord-heading {
  padding:17px 21px 14px;
  border-bottom:1px solid rgba(89,201,232,.32);
  background:linear-gradient(100deg,rgba(8,29,42,.92),rgba(16,28,40,.9) 58%,rgba(39,25,16,.86));
}
.guild-discord-heading .section-kicker { margin:0 0 3px; }
.guild-discord-heading h2 { margin:0; color:var(--gold-bright); font:600 clamp(1.2rem,2.5vw,1.55rem)/1.3 var(--serif); }
.guild-discord-heading > p:last-child { margin:5px 0 0; color:var(--muted); font-size:.84rem; }
.guild-discord-widget { display:flex; justify-content:center; padding:20px; }
.guild-discord-widget iframe {
  display:block;
  width:min(350px,100%);
  max-width:100%;
  height:500px;
  border:1px solid rgba(89,201,232,.34);
  border-radius:10px;
  background:#071722;
  box-shadow:0 10px 28px rgba(0,0,0,.3);
}
@media(max-width:620px) {
  .guild-discord-heading { padding:14px 15px 12px; }
  .guild-discord-widget { padding:15px 10px; }
}
/* Keep all four shared menu labels inside their boxes on narrow screens. */
@media(max-width:520px) {
  .masthead nav {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }
  .masthead nav a,.masthead nav .discord-link {
    min-width:0;
    min-height:38px;
    padding:8px 5px;
    font-size:clamp(.68rem,3vw,.8rem);
    letter-spacing:0;
    border:0;
  }
  .masthead nav a:nth-child(even),.masthead nav .discord-link {
    border-left:1px solid var(--frame-gold);
  }
  .masthead nav a:nth-child(n+3),.masthead nav .discord-link {
    border-top:1px solid var(--frame-gold);
  }
}


/* Mobile main menu: preserve link order and use a balanced two-by-two layout. */
@media (max-width: 520px) {
  .masthead nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row;
    width: 100%;
    gap: 0;
  }
  .masthead nav > a,
  .masthead nav > .discord-link {
    grid-column: auto;
    grid-row: auto;
    justify-self: stretch;
    min-width: 0;
    min-height: 42px;
    margin: 0;
    padding: 8px 4px;
    border: 0;
    border-radius: 0;
    white-space: nowrap;
    text-align: center;
    font-size: clamp(.58rem, 2.8vw, .72rem);
    letter-spacing: 0;
    line-height: 1.2;
  }
  .masthead nav > a + a { border-left: 0; }
  .masthead nav > a:nth-child(even) {
    border-left: 1px solid var(--frame-gold);
  }
  .masthead nav > a:nth-child(n+3) {
    border-top: 1px solid var(--frame-gold);
  }
}


/* Custom live Synergy Discord panel */
.guild-discord-widget { display:block; padding:20px; }
.discord-dashboard {
  width:min(900px,100%);
  margin:0 auto;
  padding:clamp(15px,3vw,24px);
  border:1px solid rgba(89,201,232,.28);
  border-radius:12px;
  background:radial-gradient(ellipse at 100% 0%,rgba(126,69,25,.16),transparent 34%),linear-gradient(145deg,rgba(7,24,36,.98),rgba(8,16,25,.98));
  box-shadow:inset 0 0 0 1px rgba(245,216,142,.06),0 14px 32px rgba(0,0,0,.25);
}
.discord-dashboard-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:18px; border-bottom:1px solid rgba(89,201,232,.22); }
.discord-server-brand { display:flex; align-items:center; gap:13px; min-width:0; }
.discord-server-emblem,.discord-join-mark { display:grid; flex:0 0 auto; place-items:center; width:49px; height:49px; border:1px solid rgba(245,216,142,.62); border-radius:12px; color:var(--gold-bright); background:linear-gradient(145deg,rgba(26,82,102,.9),rgba(17,37,54,.95)); box-shadow:0 0 22px rgba(89,201,232,.12),inset 0 0 0 3px rgba(6,18,29,.55); font:700 25px var(--serif); }
.discord-server-copy { min-width:0; }
.discord-live-label { display:flex; align-items:center; gap:7px; margin:0 0 3px; color:var(--teal); font-size:.62rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.discord-live-dot { width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:#55d69a; box-shadow:0 0 9px rgba(85,214,154,.75); }
.discord-server-copy h3 { margin:0; color:var(--gold-bright); font:600 clamp(1.25rem,3vw,1.7rem)/1.2 var(--serif); }
.discord-server-copy > p:last-child { margin:3px 0 0; color:var(--muted); font-size:.78rem; }
.discord-presence-total { display:grid; justify-items:end; gap:2px; min-width:92px; }
.discord-presence-total strong { color:#f3d58d; font:600 clamp(1.7rem,4vw,2.35rem)/1 var(--serif); }
.discord-presence-total span { color:var(--muted); font-size:.7rem; }
.discord-live-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; padding:15px 0; }
.discord-live-stat { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; padding:11px 12px; border:1px solid rgba(89,201,232,.18); border-radius:8px; background:linear-gradient(110deg,rgba(13,38,51,.8),rgba(24,26,26,.72)); }
.discord-live-stat span { color:#b9cbd5; font-size:.72rem; line-height:1.3; }
.discord-live-stat strong { color:var(--teal); font:600 1.15rem var(--serif); }
.discord-live-details { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:12px; }
.discord-live-section { min-width:0; padding:13px; border:1px solid rgba(190,160,103,.2); border-radius:9px; background:rgba(10,21,30,.72); }
.discord-section-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 10px; margin-bottom:8px; }
.discord-section-heading h4 { margin:0; color:var(--gold-bright); font:600 .9rem/1.35 var(--serif); }
.discord-section-heading > span { color:#91a8b5; font-size:.65rem; }
.discord-member-list,.discord-channel-list { display:grid; gap:5px; }
.discord-member-row { display:flex; align-items:center; gap:9px; min-width:0; padding:6px 7px; border-radius:6px; background:rgba(255,255,255,.025); }
.discord-member-avatar { position:relative; display:grid; flex:0 0 auto; place-items:center; width:31px; height:31px; overflow:hidden; border:1px solid rgba(89,201,232,.26); border-radius:50%; color:#d5e9ed; background:linear-gradient(145deg,#1d5263,#142b3b); font-size:.62rem; font-weight:700; }
.discord-member-avatar::after { content:""; position:absolute; right:-1px; bottom:-1px; width:8px; height:8px; border:1px solid #0b1721; border-radius:50%; background:#54d597; }
.discord-member-avatar[data-presence="idle"]::after { background:#e7bd59; }
.discord-member-avatar[data-presence="dnd"]::after { background:#ec7180; }
.discord-member-avatar img { width:100%; height:100%; object-fit:cover; }
.discord-member-copy { display:grid; min-width:0; gap:1px; }
.discord-member-copy strong,.discord-channel-copy strong { overflow:hidden; color:#e4edf0; font-size:.74rem; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.discord-member-copy span,.discord-channel-copy span { color:#92a6b2; font-size:.64rem; }
.discord-channel-row { display:flex; align-items:center; justify-content:space-between; gap:9px; min-width:0; padding:7px 8px; border:1px solid rgba(89,201,232,.11); border-radius:6px; background:rgba(255,255,255,.025); }
.discord-channel-copy { display:grid; min-width:0; gap:2px; }
.discord-channel-attendees { display:flex; flex:0 0 auto; align-items:center; padding-left:6px; }
.discord-channel-attendees .discord-member-avatar { width:24px; height:24px; margin-left:-6px; border:1px solid #0b1721; font-size:.5rem; }
.discord-channel-attendees .discord-member-avatar::after { display:none; }
.discord-avatar-extra { display:grid; place-items:center; width:25px; height:25px; margin-left:-5px; border:1px solid #0b1721; border-radius:50%; color:var(--gold-bright); background:#1a2d3a; font-size:.55rem; }
.discord-live-empty,.discord-more-note { margin:0; padding:8px 3px; color:#98aab5; font-size:.7rem; line-height:1.45; }
.discord-more-note { color:var(--teal); text-align:center; }
.discord-live-footnote { margin:11px 0 12px; color:#8da0ad; font-size:.64rem; line-height:1.45; text-align:center; }
.discord-join-button { display:flex; align-items:center; justify-content:center; gap:10px; min-height:46px; padding:9px 15px; border:1px solid rgba(245,216,142,.65); border-radius:8px; color:#fff2cf; background:linear-gradient(100deg,rgba(15,69,91,.92),rgba(31,54,67,.95) 58%,rgba(90,52,22,.92)); box-shadow:0 6px 18px rgba(0,0,0,.24); font-size:.83rem; font-weight:700; text-decoration:none; transition:filter .16s ease,transform .16s ease; }
.discord-join-button:hover,.discord-join-button:focus-visible { filter:brightness(1.15); transform:translateY(-1px); }
.discord-join-mark { width:24px; height:24px; border-radius:7px; font-size:.75rem; }
@media(max-width:620px) {
  .guild-discord-widget { padding:15px 10px; }
  .discord-dashboard { padding:14px; border-radius:10px; }
  .discord-dashboard-head { gap:10px; }
  .discord-server-brand { gap:9px; }
  .discord-server-emblem { width:40px; height:40px; border-radius:10px; font-size:21px; }
  .discord-presence-total { min-width:67px; }
  .discord-presence-total span { font-size:.62rem; text-align:right; }
  .discord-live-stats { gap:6px; padding:11px 0; }
  .discord-live-stat { padding:9px 8px; }
  .discord-live-stat span { font-size:.65rem; }
  .discord-live-details { grid-template-columns:1fr; gap:8px; }
}
@media(max-width:420px) {
  .discord-live-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .discord-live-stat:first-child { grid-column:1/-1; }
  .discord-live-stat:first-child strong { font-size:1.35rem; }
  .discord-server-copy > p:last-child { font-size:.7rem; }
}


/* Collapsible Discord card and clickable voice channel member popup. */
.guild-discord-panel { margin:0 0 20px; overflow:hidden; }
.guild-discord-panel > .guild-discord-summary { list-style:none; }
.guild-discord-panel > .guild-discord-summary::-webkit-details-marker { display:none; }
.guild-discord-panel[open] > .guild-discord-summary { border-bottom:1px solid rgba(89,201,232,.32); }
.guild-discord-panel[open] .guild-info-toggle::before { content:"−"; }
.guild-discord-panel:not([open]) .guild-info-toggle::before { content:"+"; }
.guild-discord-content { min-width:0; }
.discord-channel-row {
  width:100%;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:border-color .15s ease,background .15s ease;
}
.discord-channel-row:hover,.discord-channel-row:focus-visible {
  border-color:rgba(245,216,142,.6);
  background:linear-gradient(105deg,rgba(22,54,67,.72),rgba(37,31,23,.64));
}
.discord-channel-row:focus-visible { outline:2px solid var(--gold-bright); outline-offset:1px; }
.discord-channel-dialog { width:min(520px,calc(100% - 24px)); overflow:hidden; }
.discord-channel-dialog .account-dialog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.discord-channel-dialog .account-dialog-header > div { min-width:0; }
.discord-channel-dialog .account-dialog-header h2 { margin:0 0 5px; }
.discord-channel-dialog .account-dialog-header .section-kicker { margin:0 0 4px; }
.discord-channel-dialog-summary { margin:0; color:var(--muted); font-size:.78rem; }
.discord-channel-dialog-list {
  display:grid;
  gap:6px;
  max-height:min(58vh,490px);
  overflow-y:auto;
  padding:2px 8px 2px 0;
  scrollbar-color:#80643b #171d21;
  scrollbar-width:thin;
}
.discord-channel-dialog-list .discord-member-row { padding:8px 10px; border:1px solid rgba(89,201,232,.18); background:linear-gradient(115deg,rgba(5,29,43,.88),rgba(20,25,29,.88)); }
.discord-channel-dialog-list .discord-member-avatar { width:36px; height:36px; }
@media(max-width:620px) {
  .discord-channel-dialog { width:min(520px,calc(100% - 20px)); padding:16px; }
  .discord-channel-dialog-list { max-height:58vh; }
}


/* Match Guild Info card labels to the roster page's small uppercase section labels. */
.guild-info-list .guild-info-summary .section-kicker,
.guild-discord-panel > .guild-discord-summary .section-kicker {
  margin:0 0 3px;
  color:#35d2e3;
  font-size:.69rem;
  font-weight:700;
  letter-spacing:.19em;
  text-transform:uppercase;
}

/* Use the Forge's Cinzel typography for search and dropdown labels throughout the dashboard. */
.field label,
.facet-label,
.mobile-directory-sort label { font-family:var(--serif); }

/* Five-link menu layout: three links on the first phone row, two centered below. */
@media(max-width:520px) {
  .masthead nav { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); width:100%; }
  .masthead nav > a,
  .masthead nav > .discord-link { min-width:0; min-height:42px; padding:8px 3px; border:0; font-size:clamp(.57rem,2.7vw,.72rem); white-space:nowrap; }
  .masthead nav > a:nth-child(1),
  .masthead nav > a:nth-child(2),
  .masthead nav > a:nth-child(3) { grid-column:span 2; }
  .masthead nav > a:nth-child(4) { grid-column:1 / span 3; }
  .masthead nav > .discord-link { grid-column:4 / span 3; }
  .masthead nav > a:nth-child(4),
  .masthead nav > .discord-link { border-top:1px solid var(--frame-gold); }
  .masthead nav > a:nth-child(2),
  .masthead nav > a:nth-child(3),
  .masthead nav > .discord-link { border-left:1px solid var(--frame-gold); }
  .masthead nav > a:nth-child(3) { border-top:0; }
  .masthead nav > a:nth-child(4) { border-left:0; }
}

/* Official Neverwinter news cards. */
.news-page-intro { margin:18px 0 12px; }
.news-feed-panel { margin:0 0 18px; padding:15px 17px; }
.news-feed-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:12px; }
.news-feed-heading h2 { margin:0; color:var(--gold-bright); font:600 clamp(21px,3vw,28px)/1.2 var(--serif); }
.news-feed-heading .kicker { margin-bottom:4px; }
.news-event-list { margin:0; padding:0; list-style:none; }
.news-event-row { display:grid; grid-template-columns:minmax(125px,185px) minmax(0,1fr); align-items:center; gap:14px; padding:7px 2px; border-top:1px solid rgba(190,160,103,.18); }
.news-event-date { color:var(--teal); font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.news-event-name { color:var(--gold-bright); font:500 .9rem/1.35 var(--serif); }
.news-feed-status { color:var(--muted); font-size:.76rem; text-align:right; }
.news-feed-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.news-card { display:grid; grid-template-columns:minmax(0,1fr) 150px; gap:12px; min-width:0; padding:12px; border:1px solid rgba(190,160,103,.28); border-radius:8px; background:linear-gradient(130deg,rgba(7,24,35,.9),rgba(26,27,27,.88)); }
.news-card:not(.has-image) { grid-template-columns:minmax(0,1fr); }
.news-card-copy { min-width:0; }
.news-card-date { margin:0 0 4px; color:var(--teal); font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.news-card h3 { margin:0 0 7px; color:var(--gold-bright); font:600 1.03rem/1.3 var(--serif); }
.news-card h3 a { color:inherit; text-decoration:none; text-underline-offset:3px; }
.news-card h3 a:hover,.news-card h3 a:focus-visible { color:#fff0c3; text-decoration:underline; }
.news-card-summary { margin:0; color:#d1dce2; font-size:.82rem; line-height:1.55; }
.news-card-image { display:block; width:100%; height:100%; min-height:100px; max-height:150px; object-fit:cover; border:1px solid rgba(89,201,232,.24); border-radius:5px; background:#0a1923; }
.news-card-link { display:inline-flex; margin-top:9px; color:var(--teal); font-size:.76rem; font-weight:600; text-decoration:none; }
.news-card-link:hover,.news-card-link:focus-visible { color:var(--gold-bright); text-decoration:underline; text-underline-offset:3px; }
.news-feed-actions { display:flex; justify-content:center; padding-top:15px; }
.news-load-more { padding:9px 16px; border:1px solid var(--gold); border-radius:6px; color:var(--gold-bright); background:rgba(177,138,72,.12); font:600 .8rem var(--body); cursor:pointer; }
.news-load-more:hover,.news-load-more:focus-visible { background:rgba(177,138,72,.24); }
.news-load-more:focus-visible { outline:2px solid var(--teal); outline-offset:2px; }
.news-feed-error { padding:16px; border:1px solid rgba(240,138,82,.42); border-radius:8px; color:#ffd6c0; background:rgba(65,27,18,.4); }
@media(max-width:760px) { .news-feed-list { grid-template-columns:1fr; } }
@media(max-width:520px) {
  .news-feed-panel { padding:12px; }
  .news-feed-heading { align-items:flex-start; flex-direction:column; gap:4px; }
  .news-event-row { grid-template-columns:108px minmax(0,1fr); gap:9px; padding:7px 0; }
  .news-event-date { font-size:.62rem; letter-spacing:.04em; }
  .news-event-name { font-size:.8rem; }
  .news-feed-status { text-align:left; }
  .news-card { grid-template-columns:1fr; gap:9px; }
  .news-card-image { grid-row:1; max-height:190px; aspect-ratio:16/9; }
}


/* Collapsible roster cards: retain the existing card headers and add a clear toggle. */
.collapsible-heading { cursor:pointer; list-style:none; }
.collapsible-heading::-webkit-details-marker { display:none; }
.collapsible-heading::marker { content:""; }
.collapse-indicator { flex:0 0 28px; width:28px; height:28px; margin-left:8px; border:1px solid var(--gold); border-radius:50%; position:relative; }
.collapse-indicator::before,.collapse-indicator::after { content:""; position:absolute; top:50%; left:50%; width:10px; height:1px; background:var(--gold-bright); transform:translate(-50%,-50%); }
.collapse-indicator::after { transform:translate(-50%,-50%) rotate(90deg); transition:transform .18s ease; }
.collapsible-panel[open] .collapse-indicator::after { transform:translate(-50%,-50%) rotate(0); }
.collapsible-panel > summary:focus-visible { outline-offset:-4px; }
.collapsible-panel-body { min-width:0; }


/* Use the Guild Bank summary layout and toggle across every roster card. */
.collapsible-panel { padding:0; overflow:hidden; }
.collapsible-panel > .collapsible-heading {
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  margin:0; padding:17px 21px; border:0; cursor:pointer; list-style:none;
  background:linear-gradient(100deg,rgba(8,29,42,.92),rgba(16,28,40,.9) 58%,rgba(39,25,16,.86));
}
.collapsible-panel > .collapsible-heading::-webkit-details-marker { display:none; }
.collapsible-panel > .collapsible-heading::marker { content:""; }
.collapsible-panel > .collapsible-heading:hover,
.collapsible-panel > .collapsible-heading:focus-visible { background:linear-gradient(100deg,rgba(9,42,58,.96),rgba(16,31,44,.94) 58%,rgba(50,31,17,.9)); }
.collapsible-panel > .collapsible-heading:focus-visible { outline:2px solid var(--gold-bright); outline-offset:-4px; }
.collapsible-panel[open] > .collapsible-heading { border-bottom:1px solid rgba(89,201,232,.32); }
.collapsible-panel > .collapsible-heading > div:first-child { flex:1 1 auto; min-width:0; }
.collapsible-header-meta { display:flex; flex:0 0 auto; align-items:center; gap:12px; }
.collapsible-panel .guild-info-toggle { display:grid; flex:0 0 34px; place-items:center; }
.collapsible-panel:not([open]) .guild-info-toggle::before { content:"+"; }
.collapsible-panel[open] .guild-info-toggle::before { content:"−"; }
.collapsible-panel-body { min-width:0; padding:14px 19px 16px; }
.roster-panel > .collapsible-panel-body,.recent-panel > .collapsible-panel-body { padding:14px 19px 16px; }
.promotions-panel > .collapsible-panel-body { padding:13px 17px; }
.inactivity-panel > .collapsible-panel-body { padding:10px 14px; }
@media(max-width:620px) {
  .collapsible-panel > .collapsible-heading { gap:10px; padding:13px 12px; }
  .collapsible-header-meta { gap:7px; }
  .collapsible-panel > .collapsible-panel-body,
  .roster-panel > .collapsible-panel-body,.recent-panel > .collapsible-panel-body { padding:12px 11px; }
  .promotions-panel > .collapsible-panel-body { padding:12px 11px; }
  .inactivity-panel > .collapsible-panel-body { padding:10px 11px; }
}


/* Match Guild Bank Activity's kicker to the other dashboard cards. */
.bank-panel-summary .section-kicker { color:#35d2e3; font-size:.69rem; font-weight:700; letter-spacing:.19em; text-transform:uppercase; }


/* Keep Guild Bank account links the same cyan as other account names. */
.bank-event-member .bank-account-link { color:var(--teal); font-size:10px; text-decoration:underline; text-decoration-style:dotted; text-underline-offset:2px; }
.bank-event-member .bank-account-link:hover,.bank-event-member .bank-account-link:focus-visible { color:var(--gold-bright); }


/* Bring Guild Bank results up to the dashboard's standard text size. */
.bank-event-row { font-size:14px; }
.bank-event-date,.bank-event-member,.bank-event-member .bank-account-link,.bank-event-item,.bank-event-action,.bank-event-amount { font-size:14px; }
.bank-event-category { font-size:11px; }
@media(max-width:620px) {
  .bank-event-date,.bank-event-member,.bank-event-member .bank-account-link,.bank-event-item,.bank-event-action,.bank-event-amount { font-size:13px; }
  .bank-event-category { font-size:10px; }
}


/* Keep transaction labels and quantities compact beside the larger bank details. */
.bank-event-action { font-size:10px; white-space:nowrap; }
.bank-event-amount { font-size:12px; }
@media(max-width:620px) { .bank-event-action { font-size:9px; } .bank-event-amount { font-size:11px; } }


/* Compact Discord event rows on the News page. */
.news-event-copy { display:flex; min-width:0; flex-direction:column; gap:2px; }
.news-event-name { align-self:flex-start; color:var(--gold-bright); font:500 .9rem/1.35 var(--serif); text-decoration:none; text-underline-offset:3px; }
a.news-event-name:hover,a.news-event-name:focus-visible { color:#fff0c3; text-decoration:underline; }
.news-event-links { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-height:14px; }
.news-event-link { color:var(--teal); font-size:.68rem; font-weight:600; text-decoration:none; }
.news-event-link:hover,.news-event-link:focus-visible { color:var(--gold-bright); text-decoration:underline; text-underline-offset:3px; }
.news-event-repeat { color:var(--muted); font-size:.64rem; letter-spacing:.04em; text-transform:uppercase; }
.news-event-location,.news-event-empty { color:var(--muted); font-size:.78rem; }
.news-event-empty { margin:0; padding:7px 2px; }


/* Make the Discord event destination explicit beside linked titles. */
a.news-event-name { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:3px 8px; }
.news-event-name-destination { color:var(--teal); font:600 .64rem/1.35 var(--body); letter-spacing:.02em; }
a.news-event-name:hover .news-event-name-destination,a.news-event-name:focus-visible .news-event-name-destination { color:var(--gold-bright); }


/* Make promotion eligibility visible on the collapsed card and improve tile readability. */
.promotion-count.has-alert { border-color:rgba(240,138,82,.65); color:#ffd0a8; background:rgba(91,42,22,.28); }
.promotion-row { gap:5px 12px; padding:11px 12px; }
.promotion-account-link { font-size:12px; }
.promotion-account span { font-size:11px; }
.promotion-path { font-size:11px; }
.promotion-date { font-size:11px; }
.promotion-character { padding:6px 8px; }
.promotion-character b { font-size:11px; }
.promotion-character small { font-size:10px; }
.promotion-path-label { font-size:10px; }


/* Hide the insertion caret in dashboard search fields, matching the Forge search treatment. */
input[type="search"] { caret-color:auto !important; }

/* Match roster rank/class option text to the Masterwork Forge filter size. */
.facet-select-field select,.facet-select-field option { font-size:.72rem; }


/* Keep roster search carets invisible and match desktop dropdown size to the Forge. */
.search-box input[type="search"] {
  -webkit-appearance:none;
  appearance:none;
  caret-color:var(--text) !important;
  text-shadow:none;
  box-shadow:none;
}
.facet-select-field select,.facet-select-field option { font-size:14px; }
@media(max-width:620px) {
  .facet-select-field select,.facet-select-field option { font-size:.72rem; }
}


/* Ensure the roster search does not show an inner inset edge in Chromium. */
.search-box input[type="search"]::-webkit-search-decoration,
.search-box input[type="search"]::-webkit-search-cancel-button,
.search-box input[type="search"]::-webkit-search-results-button,
.search-box input[type="search"]::-webkit-search-results-decoration { -webkit-appearance:none; appearance:none; }
.search-box input[type="search"] { outline:0 !important; box-shadow:none !important; border:0 !important; }

.footer-links { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; }
.footer-links a { color:var(--gold-bright); text-decoration:none; font:600 .9rem var(--serif); letter-spacing:.12em; }
.footer-links a:hover,.footer-links a:focus-visible { text-decoration:underline; text-underline-offset:3px; }
.footer-links .footer-synergy-wordmark { color:var(--gold-bright); }
.footer-links .footer-divider { color:var(--muted, #a8b7c5); }

/* Framed brand banner (desktop/tablet): keep the banner inside the page column
   instead of breaking out to full viewport width. The height keeps today's 4:1
   display ratio (25vw tall at full width), so the cover crop - including the
   baked-in SYNERGY / WANTED ALLIANCE lettering - is composed exactly as before,
   only at column scale: at the 1180px column the banner is 295px tall instead
   of growing with the monitor. Mobile (max-width:620px) rules above are unchanged. */
@media (min-width:621px) {
  .brand-banner {
    width:100%;
    max-width:1180px;
    height:auto;
    aspect-ratio:4 / 1;
    margin:17px auto 0;
    border:1px solid rgba(216,168,78,.82);
    border-radius:12px;
  }
}

/* Framed menu bar (desktop/tablet): the masthead gets the same treatment as
   the banner above it. Its base rule breaks out to full viewport width
   (width:100vw, dark gradient background, gold and teal hairlines), which read
   fine under a full-bleed banner but bleeds past the edges of the framed
   banner now that the banner sits in the column. Frame the bar to the column
   too: uniform gold border, 12px radius, 12px gap below the banner. The nav
   inside (780px, centered) is untouched, as are the mobile rules. */
@media (min-width:621px) {
  .masthead {
    width:100%;
    max-width:1180px;
    margin:12px auto 0;
    border:1px solid rgba(216,168,78,.72);
    border-radius:12px;
  }
}

/* Unified frame and gold: one border language for the whole site.
   The header stack (banner, menu bar, hero title panel) shares a single spec -
   1px frame gold at full strength (.82) - and every quieter border below it
   keeps its current weight but shifts to the same gold hue (216,168,78, the
   --frame-gold family), replacing the older golds the design accumulated
   (190,160,103 / 204,169,103 / 180,158,121 / 177,138,72). Hierarchy is
   preserved - header strong, content quiet - but everything reads as one
   metal, cast for one guild. */
:root { --line:rgba(216,168,78,.36); }
@media (min-width:621px) {
  .masthead { border-color:rgba(216,168,78,.82); }
}
.hero { border:1px solid rgba(216,168,78,.82); }
.panel { border-color:rgba(216,168,78,.34); }
.table-wrap,.directory-facets,.news-card { border-color:rgba(216,168,78,.28); }
.promotion-row { border-color:rgba(216,168,78,.22); }
.promotion-rules-list li,.inactivity-rules-list li,.discord-live-section { border-color:rgba(216,168,78,.2); }
.news-event-row { border-top-color:rgba(216,168,78,.18); }
.mobile-member-card,.mobile-directory-sort select,.mobile-directory-sort button { border-color:rgba(216,168,78,.32); }
.popup-shell .popup-close { border-color:rgba(216,168,78,.36); }
footer { border-top-color:rgba(216,168,78,.55); }

/* Corner bracket uniformity: most panel headings carry a 44px gold corner
   bracket at their top-right (the panel-heading::after rule). Two heading
   styles missed it - the guild-info summary headings, which the Guild Bank
   Activity panel borrows and which also head every Guild Info accordion, and
   the member search panel, which has no heading element to hang it on. Give
   both the same bracket so every card wears the same corner. */
.guild-info-summary { position:relative; }
.guild-info-summary::after,
.search-panel::after {
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:44px;
  height:44px;
  border-top:1px solid rgba(216,168,78,.9);
  border-right:1px solid rgba(216,168,78,.9);
  pointer-events:none;
}

/* Corner brackets removed: the 44px gold corner tick that panel headings
   carried at their top-right is retired - the plain double frame reads
   cleaner without it. content:none stops the pseudo-elements from being
   generated at all, for every heading style that had the bracket, including
   the guild-info summaries and the search panel covered by the uniformity
   pass. The headings themselves are untouched. */
.card-header::after,
.roster-panel > .panel-heading::after,
.recent-panel > .panel-heading::after,
.promotions-panel > .panel-heading::after,
.inactivity-panel > .panel-heading::after,
.guild-info-summary::after,
.search-panel::after { content:none; }
