:root{color-scheme:dark;--bg:#191816;--panel:#201f1c;--line:#3a3731;--text:#e3dfd6;--muted:#aaa498}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,sans-serif}header,main{max-width:1320px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}a{color:#d9b96e;text-decoration:none}a:hover{text-decoration:underline}.brand{font-size:20px;font-weight:700;color:var(--text)}.brand-subtitle{display:block;font-size:12px;font-weight:400;color:var(--muted)}h1{font-size:32px;margin-bottom:6px}h2{font-size:30px;margin:0}h3{font-size:18px}p{margin:8px 0}input,select,button,textarea{font:inherit;color:var(--text);background:#26241f;border:1px solid #514a3f;border-radius:3px;padding:9px}label{display:block;font-size:12px;color:var(--muted)}input{width:100%;max-width:460px;margin:6px 0 16px}button{cursor:pointer}button:hover,button[aria-pressed=true]{border-color:#d9b96e;background:#393328}:focus-visible{outline:2px solid #d9b96e;outline-offset:3px}#players{display:flex;gap:6px;flex-wrap:wrap;max-height:200px;overflow:auto;padding:3px}#players button{text-align:left;font-size:13px;padding:5px 9px}small{display:block;color:var(--muted);font-size:11px}article{margin-top:35px;border-top:1px solid var(--line);padding-top:24px}.heading{display:flex;justify-content:space-between;align-items:center;gap:16px}select{display:block;max-width:100%}.eyebrow,.source{font-size:12px;color:var(--muted)}.source{margin:16px 0 24px}.paper{display:grid;grid-template-columns:1fr minmax(280px,440px) 1fr;gap:20px}.paper>div:not(.portrait){display:flex;flex-direction:column;justify-content:space-between}.portrait img{width:100%;display:block}.slot{min-width:0;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.slot>div{display:flex;align-items:baseline;gap:8px}.quality-4 a{color:#c59ce8}.quality-3 a{color:#80b5ef}.quality-2 a{color:#72c85f}.enchant{font-size:11px;color:#a7c996}.weapons{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px}section:not(.intro){margin-top:30px;padding-top:12px;border-top:1px solid var(--line)}.trees{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}details{margin:8px 0}summary{cursor:pointer}details p{color:var(--muted);font-size:13px}summary b{float:right}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 22px}.stats>div{padding:8px 0;border-bottom:1px solid var(--line);font-size:12px}.stats strong{float:right;color:#9ad28b}.tooltip{display:inline-block;margin:0;position:relative}.tooltip>summary{list-style:none;color:var(--muted)}.tooltip[open]>div{position:absolute;z-index:2;right:0;width:260px;padding:12px;background:#13120f;border:1px solid #aa905a;box-shadow:0 6px 24px #000}.tooltip p{color:var(--text);margin:4px 0}.tooltip .enchant{color:#a7c996}textarea{width:100%;min-height:110px;display:block;margin:12px 0}[hidden]{display:none!important}@media(max-width:760px){header,main{padding:16px}.brand{font-size:17px}.heading{align-items:start;flex-direction:column}.paper{grid-template-columns:1fr 1fr;gap:14px}.portrait{grid-column:1/-1;grid-row:1;max-width:340px;margin:auto}.paper>div:not(.portrait){justify-content:start}.weapons,.trees{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.tooltip[open]>div{position:fixed;left:5vw;right:5vw;bottom:20px;width:auto;max-height:60vh;overflow:auto}h1{font-size:27px}}
@media(min-width:761px){.slot{position:relative}.tooltip{position:static}.tooltip[open]>div{left:0;right:auto;max-width:100%}}
.character-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.character-stat{font-size:12px;border-bottom:1px solid var(--line);padding:10px 0}.character-stat>div{display:flex;justify-content:space-between;gap:8px}.character-stat small{font-size:10px;margin-top:6px}.stat-total{color:#9ad28b}.stat-base{color:#d7b861}.stat-gear{color:var(--text)}.stat-enchant{color:#7ebcef}.stat-racial{color:#8fd6c0}.stat-legend{display:flex;gap:16px;font-size:11px;margin:18px 0}.character-totals>p{color:var(--muted);font-size:12px}.stat-warning{color:#e0b760!important}#statRole{margin:6px 0 14px}@media(max-width:760px){.character-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-legend{gap:10px}}

/* Character sheet and searchable guild roster. */
#players{display:block;max-height:280px;overflow:auto;padding:0;border:1px solid var(--line);scrollbar-gutter:stable}.roster{width:100%;border-collapse:collapse;font-size:13px}.roster th{position:sticky;top:0;background:#26241f;text-align:left;color:var(--muted);font-weight:500;z-index:1}.roster th,.roster td{padding:8px 14px;border-bottom:1px solid var(--line)}#players button{background:none;border:0;padding:0;font-size:14px;color:var(--text)}.roster tr.selected{background:#353026;box-shadow:inset 3px 0 #d9b96e}.roster tbody tr:hover{background:#2b2822}#players button[aria-pressed=true]{color:#e1c77f}.intro{padding-bottom:12px}.paper{grid-template-columns:minmax(0,1fr) minmax(300px,460px) minmax(0,1fr);gap:18px}.portrait{position:static;align-self:start}.portrait img{width:100%;height:auto;display:block}.paper>.portrait{display:block}.paper>div:not(.portrait){gap:8px}.slot{display:flow-root;overflow-wrap:anywhere;padding:10px 0 14px;min-height:70px}.item-icon{float:left;object-fit:cover;margin:2px 10px 10px 0;border:1px solid #736b59}.slot>div{display:block}.slot>div>a{margin-right:6px}.slot .tooltip{display:inline-block}.slot>small{font-size:10px;margin-bottom:3px}.slot .enchant{margin:5px 0 0;font-size:11px}.weapons{border-top:1px solid var(--line);padding-top:8px;align-items:stretch}.heading{margin-bottom:12px}article{background:var(--panel);border:1px solid var(--line);padding:24px}.heading h2{font-size:25px}.character-totals{margin-top:18px!important}.character-totals h4{font-size:15px}.stat-total{font-size:17px}@media(max-width:760px){article{padding:14px}.paper{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.portrait{max-width:340px;width:100%}.roster th,.roster td{padding:8px}.roster td:last-child{white-space:nowrap;font-size:11px}.weapons{grid-template-columns:1fr}.item-icon{width:30px;height:30px;margin-right:7px}.slot{font-size:12px}}

.talent-trees{gap:12px;margin-top:18px}.talent-tree{min-width:0;border:1px solid #534b38;background:#171610}.talent-tree h4{margin:0;padding:12px;background:#29261f}.talent-tree h4 span{float:right;font-size:12px;color:#cbb775;font-weight:400}.talent-board{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(7,64px);padding:0 8px;background-size:cover;background-position:center;min-height:448px}.talent-arrows{position:absolute;inset:0;width:100%;height:448px;pointer-events:none}.talent-node{position:relative;align-self:center;justify-self:center;margin:0;z-index:1}.talent-node summary{display:block;position:relative;list-style:none;width:42px;height:42px;border:2px solid #777;box-shadow:0 1px 6px #000;background:#111}.talent-node summary::-webkit-details-marker{display:none}.talent-node img{width:100%;height:100%;filter:grayscale(1);opacity:.65}.talent-node.learned img{filter:none;opacity:1}.talent-node.learned summary{border-color:#59ad51}.talent-node.maxed summary{border-color:#dec571}.talent-node b{position:absolute;right:-6px;bottom:-8px;font-size:12px;background:#111;color:#aaa;padding:0 3px;line-height:17px}.talent-node.learned b{color:#8be378}.talent-node.maxed b{color:#f2d885}.talent-tip{display:none;position:absolute;z-index:8;width:250px;max-width:75vw;top:50px;left:50%;transform:translateX(-50%);padding:12px;background:#12111bef;border:1px solid #baaa78;box-shadow:0 4px 18px #000;font-size:12px}.talent-node[open]{z-index:10}.talent-node[open] .talent-tip{display:block}.talent-tip strong{color:#edd798}.talent-tip p{color:#eee}.talent-tip a{font-size:11px}@media(max-width:760px){.talent-trees{grid-template-columns:1fr}.talent-tree{max-width:370px;width:100%;margin:auto}.talent-node:nth-child(4n) .talent-tip{left:auto;right:-15px;transform:none}.talent-tip{position:fixed;left:5vw!important;right:5vw!important;bottom:20px;top:auto;transform:none!important;width:auto;max-width:none}.roster{min-width:450px}}

.talent-arrows{height:100%;overflow:visible}.talent-connector-outline{fill:none;stroke:#24231e;stroke-width:6;stroke-linejoin:round}.talent-connector{fill:none;stroke:#aaa58f;stroke-width:3;stroke-linejoin:round}

.unknown-avatar{aspect-ratio:2/3;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8aa39b;background:radial-gradient(ellipse,#1c3734,#111b1c 70%)}.unknown-avatar>span{font-size:90px;opacity:.6}.unknown-avatar>p{font-size:12px;color:var(--muted)}

#character{scroll-margin-top:16px}

.heading h2{font-size:32px}.profile-meta{font-size:15px;color:#c8c2b5;margin:4px 0}.heading .eyebrow{margin:4px 0}.roster td:nth-child(3){font-variant-numeric:tabular-nums}
/* Keep every stat/enchant line aligned with the name, below the icon. */
.slot:not(.empty){display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:10px;row-gap:0;align-content:start}.slot:not(.empty)>:not(.item-icon){grid-column:2}.slot .item-icon{float:none;grid-column:1;grid-row:1 / span 12;margin:2px 0 0;width:36px;height:36px}.slot .enchant{margin-top:5px}.slot>small{margin-bottom:3px}@media(max-width:760px){.slot:not(.empty){grid-template-columns:30px minmax(0,1fr);column-gap:7px}.slot .item-icon{width:30px;height:30px}}

.realm-search{margin:-6px 0 18px}.realm-search small{margin-top:6px}.realm-search p{font-size:13px;color:var(--muted)}

#searchMode{margin:6px 0 12px}#profileBack{margin:4px 0 12px}#profileBack+article{margin-top:0}.roster a{color:var(--text);display:block}.roster a:hover{color:#e1c77f}.intro[hidden]+#profileBack{padding-top:0}

/* Compact search: one row on desktop, two rows on narrow screens. */
.brand-accent{color:#d9b96e}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.search-controls{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:stretch;max-width:800px;margin-top:16px}
.search-controls #searchMode,.search-controls #search{margin:0;max-width:none;min-width:0;width:100%}
.search-controls #realmSearch{white-space:nowrap}
.realm-search{margin:6px 0 18px}
#realmSearchStatus:empty{display:none}
@media(max-width:600px){.search-controls{grid-template-columns:auto minmax(0,1fr)}.search-controls #realmSearch{grid-column:1/-1}}

header{display:flex;align-items:center;justify-content:space-between;gap:16px}.language-picker select{max-width:120px;margin:0}#guildContext:not([hidden]){display:flex;align-items:center;gap:12px;margin:12px 0}#activeGuild{overflow-wrap:anywhere}#clearGuild{font-size:12px}

/* GabbaRmory: quiet midnight-blue frame, with character art fading into it. */
:root{--bg:#090d16;--panel:#0c131c;--line:#28313f;--text:#e0e5ee;--muted:#9ba8bb}
body{background:var(--bg)}header{background:var(--bg)}input,select,button,textarea{background:#121b29;border-color:#38465a}button:hover{background:#1b293d}article{background:var(--panel);border-color:#253044}.profile-meta{color:#bac7da}.portrait{background:var(--panel)}.portrait img{mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 92%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 92%,transparent);-webkit-mask-composite:source-in}.heading h2{color:#e3e9f4}.roster th{background:#152033;color:#b8c4d5}.roster tbody tr:nth-child(even){background:#ffffff03}.roster tbody tr:hover{background:#1a2639}#players{max-height:560px;border-color:var(--line);margin-top:12px}.intro>h1{margin-top:30px}.intro>p{color:var(--muted)}.roster .roster-character{display:flex;align-items:center;gap:12px;color:var(--class-color);font-weight:600}.roster-portrait{display:flex;align-items:center;justify-content:center;flex:none;width:42px;height:42px;border:1px solid var(--class-color);border-radius:50%;overflow:hidden;background:#172234}.roster-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 15%;transform:scale(1.3);transform-origin:50% 20%}.roster-character small{font-weight:400}.guild-results{padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#players .guild-result{display:flex;align-items:center;gap:16px;padding:18px;background:#101a2a;border:1px solid #2b3b52;width:100%;text-align:left}#players .guild-result:hover{border-color:#c7ae69;background:#19263a}.guild-result strong{color:#dfc67f;font-size:17px}.guild-result>span:last-child{margin-left:auto}.guild-crest{display:flex;align-items:center;justify-content:center;flex:none;width:56px;height:64px;background:#1c2a41;border:1px solid #aa945d;border-radius:5px 5px 24px 24px;color:#dec47d;font:bold 28px Georgia,serif}#guildBanner{display:flex;align-items:center;gap:24px;padding:28px;margin:20px 0;background:linear-gradient(115deg,#192a43,#0e1522);border-block:1px solid #35455a}#guildBanner h2{font-size:34px}#guildBanner .guild-crest{width:76px;height:86px;font-size:38px}#rosterTools{display:flex;align-items:end;gap:20px;margin-top:20px;flex-wrap:wrap}#rosterTools label{font-size:12px}#rosterTools select{margin-top:5px;min-width:150px}.max-level{display:flex;align-items:center;align-self:center;gap:8px}.max-level input{width:16px;margin:0;accent-color:#d9b96e}.result-count{color:#b9c9dd;font-size:13px;margin:18px 0 8px}.class-distribution{padding:14px 18px;background:#101724;border:1px solid var(--line)}.class-distribution summary{font-size:13px;color:var(--muted)}.class-bars{display:flex;gap:12px;align-items:end;margin-top:14px}.class-bars button{flex:1;min-width:0;padding:4px 0;border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:4px;color:var(--class-color)}.class-bars button>span{display:block;width:65%;max-width:70px;background:var(--class-color);opacity:.75;border-radius:2px 2px 0 0}.class-bars button:hover>span{opacity:1}.class-bars small{font-size:10px;color:var(--class-color)}.class-bars b{font-size:12px}.talent-tree h4{background:#17202d}.talent-tree{border-color:#364154}.tooltip[open]>div{background:#0b101bf7;border-color:#8c7e5d}.weapons{margin-top:10px}
@media(min-width:761px){.paper>div:last-child .slot:not(.empty){grid-template-columns:minmax(0,1fr) 36px;text-align:right}.paper>div:last-child .slot:not(.empty)>:not(.item-icon){grid-column:1}.paper>div:last-child .slot .item-icon{grid-column:2}.paper>div:last-child .slot .tooltip[open]>div{text-align:left;left:auto;right:0}}
@media(max-width:760px){.guild-results{grid-template-columns:1fr;padding:10px}#rosterTools{gap:12px}#rosterTools select{min-width:120px}#guildBanner{padding:18px;gap:16px}#guildBanner h2{font-size:27px}.class-bars{gap:5px;flex-wrap:wrap}.class-bars button{min-width:50px}.roster th,.roster td{padding:8px}.roster-portrait{width:32px;height:32px}.roster .roster-character{gap:8px}#players{max-height:480px}.portrait{max-width:380px}}

.profile-ilvl{color:#d7bb72;font-size:1.05rem;font-weight:600;margin:.4rem 0}

.guild-crest.official-crest{background:none;border:0;border-radius:0}.official-crest img{width:100%;height:100%;object-fit:contain}#guildBanner .official-crest{width:94px;height:104px}
.roster-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1.2rem 0;flex-wrap:wrap}.roster-pagination button{min-height:44px;min-width:90px}.roster-pagination button:disabled{opacity:.45;cursor:default}.roster-pagination span{font-variant-numeric:tabular-nums}

/* GabbaRmory interface accents; game-specific colors retain their meaning. */
:root{--accent:#9acff0}
a{color:var(--accent)}
.brand{color:var(--text)}.brand-accent{color:var(--accent)}
button:hover,button[aria-pressed=true]{border-color:var(--accent);background:#1b293d}
:focus-visible{outline-color:var(--accent)}
.roster tr.selected{background:#1b293d;box-shadow:inset 3px 0 var(--accent)}
#players button[aria-pressed=true],.roster a:hover{color:var(--accent)}
#players .guild-result:hover{border-color:var(--accent)}
.guild-result strong{color:var(--text)}
.guild-crest{border-color:#526d89;color:var(--accent)}
.max-level input{accent-color:var(--accent)}
.profile-ilvl{color:var(--accent)}
.talent-tree{background:#101724}.talent-tree h4 span{color:var(--muted)}
.talent-tip{background:#0b101bf7;border-color:#526d89}.talent-tip strong{color:var(--text)}
.tooltip[open]>div{border-color:#526d89}

/* Compact guild overview and sortable member list. */
#guildBanner{gap:28px;padding:24px;margin-bottom:16px;flex-wrap:wrap}
.guild-identity{display:flex;align-items:center;gap:22px;flex:0 1 310px;min-width:0}
.guild-identity>div:last-child{min-width:0}
#guildBanner h2{font-size:30px;overflow-wrap:anywhere}
#guildBanner .guild-crest{flex-shrink:0}
#guildBanner .class-distribution{flex:1 1 460px;min-width:0;padding:0;border:0;background:none}
.class-heading{font-size:12px;color:var(--muted)}
#guildBanner .class-bars{gap:10px;margin-top:10px}
#guildBanner .class-bars button{border-radius:3px}
#guildBanner .class-bars button[aria-pressed=true]{background:#ffffff0d;box-shadow:0 2px var(--class-color)}
#guildBanner .class-bars button[aria-pressed=true]>span{opacity:1}
#rosterTools{gap:18px;margin-top:0;align-items:center}
#rosterTools label{display:flex;align-items:center;gap:8px}
#rosterTools select{margin-top:0}
.result-count{margin:12px 0 8px}
#players .roster th{padding:0}
#players .roster-sort{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;margin:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;text-align:left;white-space:nowrap}
#players .roster-sort:hover,#players .roster-sort:focus-visible{background:#23334a;color:var(--accent)}
#players .roster-sort span{color:var(--muted)}
#players th[aria-sort=ascending] .roster-sort span,#players th[aria-sort=descending] .roster-sort span{color:var(--accent)}
@media(max-width:600px){
 #guildBanner{padding:16px;gap:20px}
 .guild-identity{flex-basis:100%;gap:16px}
 #guildBanner h2{font-size:26px}
 #guildBanner .class-distribution{flex-basis:100%}
 #guildBanner .class-bars{gap:4px;flex-wrap:wrap}
 #guildBanner .class-bars button{flex:1 0 20%}
 #rosterTools{gap:12px}
}

/* Keep realm context in the brand and guild context in its banner. */
.intro>h1{margin-bottom:20px}
#realmSearchStatus:empty,#rosterSummary:empty{display:none}
#rosterTools{margin-bottom:12px}

.guild-results a.guild-result{text-decoration:none;color:var(--text)}

.guild-view>h1,.guild-view>.search-controls,.guild-view>.realm-search #searchHint{display:none}
#guildBack{display:inline-block;font-size:13px;margin:0 0 4px}
#rosterFilters{display:contents}
#rosterTools .guild-member-search{margin-left:auto;flex:0 1 420px;min-width:0}
#rosterTools .guild-member-search span{white-space:nowrap}
#guildMemberSearch{margin:0;min-width:0;flex:1;max-width:none}
@media(max-width:600px){#rosterTools .guild-member-search{margin-left:0;flex-basis:100%}}

#players.infinite-roster{max-height:none;min-height:240px;overflow:auto;overflow-anchor:none}
#rosterProgress{display:flex;align-items:center;justify-content:center;gap:16px;min-height:38px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
#rosterProgress button{padding:4px 8px;font-size:12px}

/* Both guild and character lists fill the remaining viewport. */
#players{max-height:none}

#character>.heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:4px 20px}
#character>.heading>div{display:contents}
#character>.heading h2{grid-column:1;grid-row:1}
#character>.heading .profile-ilvl{grid-column:2;grid-row:1;align-self:center;text-align:right;margin:0}
#character>.heading .profile-meta{grid-column:1/-1;grid-row:2;margin:4px 0;overflow-wrap:anywhere}
#character>.heading>label{grid-column:1/-1;grid-row:3;margin-top:6px}
@media(max-width:480px){#character>.heading{column-gap:10px}#character>.heading .profile-ilvl{font-size:13px}}

.site-footer{display:flex;justify-content:center;gap:24px;padding:12px 20px;font-size:12px;min-height:42px}
.legal-page{max-width:940px;line-height:1.7}.legal-page section{margin:24px 0}.legal-page h2{font-size:21px}.legal-page p{overflow-wrap:anywhere}.legal-page>p{color:var(--muted)}
body:has(.intro:not([hidden]))>.site-footer{position:fixed;bottom:0;left:0;right:0;z-index:3;background:var(--bg);border-top:1px solid var(--line)}
body:has(.intro:not([hidden])){padding-bottom:42px}

#character>.heading .profile-meta{grid-column:1;align-self:start}
#character>.heading>.profile-controls{display:flex;grid-column:2;grid-row:2;gap:8px 14px;align-items:center;justify-content:flex-end;flex-wrap:wrap;max-width:540px}
.profile-controls label{display:flex;align-items:center;gap:7px}
.profile-controls select{font-size:12px;padding:5px;max-width:240px}
#profileUpdated{font-size:11px;margin:0;text-align:right;white-space:nowrap}
@media(max-width:760px){#character>.heading{grid-template-columns:minmax(0,1fr) auto}#character>.heading .profile-meta{grid-column:1/-1}#character>.heading>.profile-controls{grid-column:1/-1;grid-row:3;justify-content:flex-start;max-width:none}#profileUpdated{text-align:left}}

/* Guild identity centered above the character details. */
#character>.heading{grid-template-columns:minmax(0,1fr) minmax(140px,220px) minmax(0,1fr)}
#character>.heading .profile-ilvl{grid-column:3}
#character>.heading>.profile-guild-banner{grid-column:2;grid-row:1;align-self:center;justify-self:center;display:flex;align-items:center;gap:10px;max-width:100%;color:var(--text);font-size:15px;font-weight:600}
.profile-guild-banner img{width:36px;height:42px;object-fit:contain;flex-shrink:0}
.profile-guild-banner span{overflow-wrap:anywhere;min-width:0}
#character>.heading .profile-meta{grid-column:1/3}
#character>.heading>.profile-controls{grid-column:3}
@media(max-width:760px){
 #character>.heading{grid-template-columns:minmax(0,1fr) auto}
 #character>.heading .profile-ilvl{grid-column:2}
 #character>.heading>.profile-guild-banner{grid-column:1/-1;grid-row:2;margin:8px 0}
 #character>.heading .profile-meta{grid-column:1/-1;grid-row:3}
 #character>.heading>.profile-controls{grid-column:1/-1;grid-row:4}
}
/* Guild banner beside the character name. */
#character>.heading{grid-template-columns:auto minmax(0,1fr) auto}
#character>.heading>.profile-guild-banner{grid-column:1;grid-row:1/3;align-self:center;justify-self:start;flex-direction:column;gap:4px;width:100px;font-size:11px;text-align:center;margin:0 8px 0 0}
#character>.heading>.profile-guild-banner img{width:48px;height:56px}
#character>.heading h2{grid-column:2;grid-row:1}
#character>.heading .profile-ilvl{grid-column:3;grid-row:1}
#character>.heading .profile-meta{grid-column:2;grid-row:2}
#character>.heading>.profile-controls{grid-column:3;grid-row:2}
#character>.heading:not(:has(.profile-guild-banner)){grid-template-columns:minmax(0,1fr) auto}
#character>.heading:not(:has(.profile-guild-banner)) h2,#character>.heading:not(:has(.profile-guild-banner)) .profile-meta{grid-column:1}
#character>.heading:not(:has(.profile-guild-banner)) .profile-ilvl,#character>.heading:not(:has(.profile-guild-banner))>.profile-controls{grid-column:2}
@media(max-width:760px){
 #character>.heading{grid-template-columns:64px minmax(0,1fr) auto}
 #character>.heading>.profile-guild-banner{width:60px;margin:0;font-size:10px}
 #character>.heading>.profile-guild-banner img{width:36px;height:42px}
 #character>.heading h2{font-size:22px;overflow-wrap:anywhere}
 #character>.heading .profile-meta{grid-column:2/-1}
 #character>.heading>.profile-controls,#character>.heading:not(:has(.profile-guild-banner))>.profile-controls{grid-column:1/-1;grid-row:3}
}

.character-stats-heading{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin-bottom:12px}
.character-stats-heading h4{margin:0}
.character-stats-heading label{display:flex;align-items:center;gap:8px}
.character-stats-heading select{font-size:12px;padding:6px;max-width:100%}
#profileUpdated{white-space:normal;overflow-wrap:anywhere;max-width:100%}
/* One continuous separator on each side of the weapon row. */
.paper>div:not(.portrait)>.slot:last-child{border-bottom:0}
.weapons>.slot{border-bottom:0}
.weapons{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin-top:10px}
#content>.character-totals{border-top:0}
/* Compact avatar request row. */
#content>.request{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap}
#content>.request>h3,#content>.request>p{margin:0}
#content>.request>#requestAvatar{margin-left:auto;flex-shrink:0}
#avatarRequestStatus:empty{display:none}
#content>.request>#avatarRequestStatus:not(:empty){flex-basis:100%;font-size:12px;color:var(--muted)}
@media(max-width:600px){#content>.request>#requestAvatar{margin-left:0}}
/* Align the legal footer separator with the page content in every view. */
.site-footer{position:relative;max-width:1272px;margin-left:auto;margin-right:auto;border-top:1px solid var(--line)}
body:has(.intro:not([hidden]))>.site-footer{left:24px;right:24px;max-width:1272px;margin-inline:auto}
@media(max-width:760px){.site-footer{max-width:calc(100% - 32px)}body:has(.intro:not([hidden]))>.site-footer{left:16px;right:16px;max-width:none}}
@media(min-width:761px) and (max-width:1320px){.site-footer{max-width:calc(100% - 48px)}}
