.squire-topbar { display: grid; grid-template-columns: minmax(0,1fr) auto auto; column-gap: clamp(20px,3vw,52px); }
.squire-setup-button[hidden] { display: none; }
.squire-topbar:has(#squireSetupButton[hidden]) { grid-template-columns: minmax(0,1fr) auto; }
.squire-topbar:has(#squireSetupButton[hidden]) .account-menu { grid-column: 2; justify-self: end; }
.squire-settings .maester-heading > div { flex: 1 1 160px; }
.squire-settings button { max-width: 100%; white-space: normal; }
@media (max-width: 480px) { .squire-settings .maester-heading > div { flex-basis: 100%; } }
.squire-topbar .topbar-page-heading { min-width: 0; container-type: inline-size; }
.squire-topbar #pageTitle { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.squire-topbar #pageTitle.mine-tagline { display: flex; align-items: center; flex-wrap: wrap; gap: .15em .4em; overflow: visible; white-space: normal; font-size: clamp(1rem,6cqi,2rem); line-height: 1.2; }
.mine-tagline-step { display: inline-flex; align-items: center; gap: .18em; white-space: nowrap; }
.mine-tagline-step img { display: block; flex: 0 0 auto; width: 1.15em; height: 1.15em; object-fit: contain; }
.mine-tagline-step.is-mine img { filter: drop-shadow(0 0 4px #9b4dff70); }
.mine-tagline-step.is-forge img { clip-path: polygon(37% 2.5%,75% 8%,96% 37%,88% 74%,56% 97%,21% 86%,3.5% 55%,12.5% 22%); }
.mine-tagline-step.is-football img { filter: drop-shadow(0 0 4px #61ff8950); }
.squire-setup-button { display: grid; grid-template-columns: 44px minmax(0,1fr); align-items: center; gap: 10px; min-width: 0; padding: 7px 13px 7px 8px; border: 1px solid #61ff89; border-left: 3px solid #a1ffb7; background: linear-gradient(115deg,#184b32,#102b25 65%,#111b20); color: #eefff3; text-align: left; box-shadow: inset 0 0 14px #61ff8914,0 0 9px #61ff8945,0 0 26px #61ff8926; }
.squire-setup-crest { display: block; width: 44px; height: 44px; object-fit: contain; filter: drop-shadow(0 0 6px #61ff8999); }
.squire-setup-copy { display: grid; gap: 2px; min-width: 0; }
.squire-setup-button strong { color: #8fffaa; font: 700 1.2rem/1.1 "Oswald",sans-serif; letter-spacing: .025em; text-transform: uppercase; text-shadow: 0 0 12px #61ff8966; }
.squire-setup-copy > span { font-size: .75rem; font-weight: 800; }
.squire-setup-button small { color: #c4e9d0; font-size: .68rem; line-height: 1.3; }
.squire-setup-button:hover:not(:disabled) { border-color: #bbffcd; background: linear-gradient(115deg,#21603e,#173f30 65%,#152728); box-shadow: inset 0 0 18px #61ff8926,0 0 12px #61ff8970,0 0 32px #61ff893d; }
.squire-setup-button:focus-visible { outline: 2px solid #d6ffe2; outline-offset: 4px; }
.squire-setup-button:disabled { opacity: .55; cursor: wait; }
.squire-dialog { width: min(570px,calc(100vw - 24px)); max-height: calc(100dvh - 40px); box-sizing: border-box; overflow: auto; padding: clamp(20px,4vw,32px); border: 1px solid #e6c774; color: var(--text); background: radial-gradient(ellipse at top right,#3a254c,transparent 65%),#101019; }
.squire-dialog::backdrop { background: #05050dcc; }
.squire-dialog h2 { margin: 5px 0; font-size: 2.2rem; }
#squireSetupTitle:focus { outline: none; }
.squire-blessing { color: #e6c774; font-style: italic; }
.squire-dialog p,.squire-dialog li { line-height: 1.55; }
.squire-dialog ol { padding-left: 22px; }
.squire-dialog li { margin-block: 10px; }
.squire-warning { padding: 12px; border-left: 2px solid #e6c774; background: #e6c7740b; color: var(--muted); font-size: .78rem; }
#squireSetupStatus { min-height: 1.5em; color: var(--green); }
.squire-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
/* The account group retains its original size, order and spacing. On narrow
   headers, only Squire's own column contracts; no hidden account information. */
@media (min-width: 1181px) and (max-width: 1400px) {
  .squire-topbar:has(.mine-tagline) { grid-template-columns: minmax(0,1fr) auto; column-gap: 22px; row-gap: 10px; }
  .squire-topbar:has(.mine-tagline) .topbar-page-heading { grid-column: 1 / -1; }
  .squire-topbar:has(.mine-tagline) .squire-setup-button { justify-self: start; }
}
@media (max-width: 1180px) {
  .squire-topbar { grid-template-columns: minmax(0,1fr) auto; column-gap: 22px; row-gap: 10px; }
  .squire-topbar .topbar-page-heading { grid-column: 1 / -1; }
  .squire-topbar .squire-setup-button { justify-self: start; max-width: 100%; }
}
@media (max-width: 640px) {
  .squire-topbar { column-gap: 10px; row-gap: 6px; }
  .squire-topbar .topbar-page-heading .eyebrow { margin-bottom: 0; }
  .squire-setup-button { grid-template-columns: 30px minmax(0,1fr); gap: 6px; padding: 7px 8px 7px 5px; }
  .squire-setup-crest { width: 30px; height: 38px; }
  .squire-setup-button strong { font-size: 1.05rem; }
  .squire-setup-button small { font-size: .65rem; }
}
