:root {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none; color: #242927; background: #fff;
  --ink: #242927; --muted: #68716c; --line: #e4e7e5; --green: #237354;
  --surface: #f6f7f6; --white: #fff; --danger: #a33442; --blue: #336ab2;
}
* { box-sizing: border-box; letter-spacing: 0; }
body { margin: 0; font-size: 13px; line-height: 1.5; }
button, input, select { font: inherit; color: inherit; }
button, a, input { -webkit-tap-highlight-color: transparent; }
button, summary { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .45; }
a { color: inherit; }
button, a, input, select, summary { outline-offset: 3px; }
:focus-visible { outline: 2px solid var(--green); }
input { min-width: 0; } input::placeholder { color: #89908c; }
[hidden] { display: none !important; }
.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; }
.skip-link { position: fixed; top: -100px; left: 12px; z-index: 30; padding: 10px; background: white; }
.skip-link:focus { top: 8px; }
.site-header { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 28px; border-bottom: 1px solid var(--line); background: #fff; }
.brand { display: flex; align-items: center; gap: 11px; text-decoration: none; font-size: 17px; font-weight: 650; line-height: 1.3; flex-shrink: 0; }
.brand-image { width: 36px; height: 36px; border-radius: 8px; object-fit: cover; }
.brand small { display: block; color: var(--muted); font-size: 11px; font-weight: 450; margin-top: 3px; }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; min-width: 0; flex-wrap: wrap; }
.connection { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; color: var(--muted); margin-right: 12px; }
.status-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #328260; flex-shrink: 0; }
.status-dot.error, .saved-dot { background: #a2aaa5; }
.current-identity { max-width: 220px; font-size: 12px; color: var(--muted); overflow-wrap: anywhere; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 36px; border: 1px solid transparent; border-radius: 6px; padding: 8px 13px; font-size: 12px; font-weight: 600; line-height: 1.4; text-decoration: none; transition: background .15s; }
.button-primary { background: var(--green); color: #fff; }
.button-primary:hover:not(:disabled) { background: #1b6145; }
.button-secondary { border-color: #dce1de; background: #fff; }
.button-secondary:hover:not(:disabled), .header-button:hover { background: #f0f3f1; }
.header-button { background: #fff; border-color: var(--line); }
#keyButton { background: #f0f6f2; color: #226646; border-color: #d6e5dc; }
.text-button { border: 0; background: none; padding: 4px 0; color: var(--green); font-size: 12px; font-weight: 550; }
.text-button:hover:not(:disabled) { text-decoration: underline; }
.icon-button { display: inline-flex; align-items: center; justify-content: center; padding: 0; width: 36px; height: 36px; min-width: 36px; border-radius: 6px; border: 1px solid transparent; background: transparent; color: var(--muted); flex-shrink: 0; text-decoration: none; }
.icon-button:hover:not(:disabled) { background: #edf1ee; color: var(--ink); }
.icon, .section-icon { display: inline-block; width: 18px; height: 18px; flex-shrink: 0; background: currentColor; mask: var(--icon) center / contain no-repeat; }
.icon-button::before, .button::before, .tab::before, .auth-symbol::before, .empty-icon::before { content: ""; display: block; width: 16px; height: 16px; flex-shrink: 0; background: currentColor; mask: var(--icon) center / contain no-repeat; }
.button:not(.icon-button, [id=keyButton], [id=usersButton], [id=activityButton], [id=loginSubmit], [id=setupSubmit], [id=refreshLocationsButton], .load-state)::before { display: none; }
.workspace { display: grid; grid-template-columns: 344px minmax(0,1fr); min-height: calc(100dvh - 73px); width: 100%; align-items: stretch; }
.workspace.signed-out { display: flex; justify-content: center; align-items: flex-start; padding: 68px 24px; }
.workspace.signed-out .auth-host { display: block; width: 356px; max-width: 100%; }
.workspace.signed-out .key-dialog.inline-auth { width: 100%; margin: 0; }
.explorer { min-width: 0; border-right: 1px solid var(--line); background: #fafbfa; }
.explorer-intro { display: flex; align-items: center; gap: 10px; padding: 25px 24px 21px; }
.section-icon { color: var(--green); }
h1 { font-size: 19px; line-height: 1.3; margin: 0; font-weight: 650; }
.state-picker { padding: 0 24px; }
.state-picker label { display: block; font-size: 12px; font-weight: 550; margin-bottom: 7px; }
.state-input-row { display: flex; gap: 8px; }
.state-input-wrap { display: flex; align-items: center; flex: 1; min-width: 0; border: 1px solid #d8deda; border-radius: 6px; background: #fff; }
.state-input-wrap > span { padding-left: 12px; color: #89948c; }
.state-input-wrap input { width: 100%; min-width: 0; padding: 8px; border: 0; background: transparent; font-weight: 600; appearance: textfield; -moz-appearance: textfield; }
.state-input-wrap input::-webkit-inner-spin-button { appearance: none; }
.state-summary { min-height: 53px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 24px 10px; color: var(--muted); font-size: 11px; }
.state-summary > span { overflow-wrap: anywhere; }
.state-summary .icon-button { width: 30px; height: 30px; min-width: 30px; }
.search-area { padding: 0 24px; }
.search-box { display: flex; align-items: center; gap: 10px; border: 1px solid #d8deda; border-radius: 6px; background: #fff; padding: 0 11px; color: #7a847e; }
.search-box:focus-within { outline: 2px solid var(--green); outline-offset: 2px; }
.search-box input { padding: 11px 0; font-size: 12px; width: 100%; border: 0; background: transparent; outline: none; }
.tabs { display: flex; gap: 2px; margin: 16px 0 20px; border-bottom: 1px solid var(--line); }
.tab { display: inline-flex; align-items: center; justify-content: center; gap: 7px; flex: 1; min-width: 0; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); padding: 10px 6px; font-size: 12px; font-weight: 550; }
.tab.active { color: var(--green); border-bottom-color: var(--green); }
.tab span { font-size: 10px; font-variant-numeric: tabular-nums; }
.level-filters { min-width: 0; padding: 0; margin: 0 0 18px; border: 0; }
.level-filters legend { padding: 0; margin-bottom: 9px; font-size: 12px; font-weight: 550; }
.level-range { display: flex; align-items: flex-end; gap: 8px; }
.level-range label, .roster-search-row label { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 5px; font-size: 11px; color: var(--muted); }
.level-range input, .roster-search-row input { width: 100%; min-width: 0; padding: 8px 9px; border: 1px solid #d8deda; border-radius: 6px; background: #fff; color: var(--ink); font-size: 12px; }
.level-range input[aria-invalid=true] { border-color: var(--danger); }
.level-range-separator { align-self: flex-end; padding-bottom: 8px; color: var(--muted); }
.filter-message { font-size: 11px; line-height: 1.5; color: var(--muted); margin: 9px 0 0; }
.filter-message.error, .form-status { color: var(--danger); }
.search-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 0 12px; font-size: 11px; color: var(--muted); }
.sort-label { display: block; margin-top: 3px; font-size: 10px; color: #747d76; }
.select-visible { display: flex; align-items: center; gap: 5px; font-size: 11px; cursor: pointer; }
input[type=checkbox] { accent-color: var(--green); width: 14px; height: 14px; margin: 0; flex-shrink: 0; cursor: pointer; }
.search-results { border-top: 1px solid var(--line); min-height: 140px; max-height: 480px; overflow: auto; scrollbar-width: thin; scrollbar-color: #cbd3cc transparent; }
.search-row { display: flex; align-items: center; gap: 10px; min-height: 82px; padding: 14px 20px; border-bottom: 1px solid var(--line); background: white; }
.search-row:hover { background: #f5f8f6; }.search-row.selected { background: #eaf4ef; }
.row-select-label { display: flex; align-items: center; gap: 9px; flex: 1; min-width: 0; cursor: pointer; }
.avatar { display: flex; align-items: center; justify-content: center; width: 30px; height: 34px; flex-shrink: 0; border-radius: 6px; background: #edf1ef; color: #547363; font-size: 13px; font-weight: 600; }
.alliance-avatar { color: #50719a; background: #ebf1fa; }.row-copy { min-width: 0; flex: 1; }
.row-name { font-size: 12px; font-weight: 600; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.row-meta, .row-detail { font-size: 10px; color: var(--muted); margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.row-end { max-width: 90px; text-align: right; font-size: 10px; flex-shrink: 0; }
.row-power, .row-power-inline { display: block; color: #426b53; font-weight: 600; font-variant-numeric: tabular-nums; }.row-power-inline { margin-top: 4px; font-size: 10px; }
.row-level { display: block; color: var(--muted); font-size: 10px; margin-top: 5px; }.unknown { color: var(--muted); font-weight: 400; }
.roster-button { padding: 6px 8px; font-size: 11px; }
.search-empty { text-align: center; padding: 28px 22px; color: var(--muted); }.search-empty strong { display: block; font-size: 12px; font-weight: 550; color: #48584e; }
.search-empty p { font-size: 11px; margin: 6px 0 0; overflow-wrap: anywhere; }.search-empty .button { margin-top: 14px; }
.loading-line { display: flex; align-items: center; justify-content: center; gap: 9px; padding: 28px; color: var(--muted); font-size: 12px; }
.pagination { text-align: center; }.pagination .button { margin: 12px 0; }
.selection-tray { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-height: 56px; padding: 8px 24px; border-top: 1px solid var(--line); font-size: 11px; color: var(--muted); }
.selection-tray strong { color: var(--ink); font-variant-numeric: tabular-nums; }
.inspection { min-width: 0; background: #fff; }
.inspection-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 112px; padding: 24px 32px; border-bottom: 1px solid var(--line); }
.eyebrow { font-size: 10px; font-weight: 600; color: #68776e; }
.inspection h2 { font-size: 20px; font-weight: 600; line-height: 1.35; margin: 5px 0; overflow-wrap: anywhere; }
.inspection-heading p { margin: 5px 0 0; font-size: 12px; color: var(--muted); overflow-wrap: anywhere; }
.count-badge { background: #f1f4f2; padding: 5px 10px; border-radius: 5px; font-size: 11px; color: #4c6557; flex-shrink: 0; }
.inspection-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 32px; border-bottom: 1px solid var(--line); background: #fafbf9; flex-wrap: wrap; }
.data-note { display: flex; align-items: center; gap: 7px; font-size: 11px; color: var(--muted); }.action-buttons { display: flex; gap: 8px; flex-wrap: wrap; }
.roster-search-filters, .roster-level-filters { margin: 20px 32px; max-width: 520px; }.roster-search-row { display: flex; align-items: flex-end; gap: 12px; }
.inspection-empty { margin: 110px auto; padding: 0 24px; text-align: center; color: var(--muted); }
.empty-icon { display: grid; place-items: center; margin: 0 auto 15px; color: #9ca99f; width: 42px; height: 42px; }.empty-icon::before { width: 32px; height: 32px; }
.inspection-empty h3 { font-size: 15px; font-weight: 500; }
.auth-host { display: contents; }
.key-dialog { color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 28px; width: calc(100% - 32px); max-width: 420px; max-height: calc(100dvh - 32px); overflow: auto; overscroll-behavior: contain; box-shadow: 0 20px 70px #1b2c242b; }
.key-dialog.inline-auth { position: static; max-width: 356px; width: calc(100% - 64px); max-height: none; margin: 54px auto 64px; padding: 0; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
.key-dialog::backdrop, .admin-dialog::backdrop { background: #13241e55; }
.auth-symbol { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #e1e9e3; border-radius: 8px; background: #f3f7f4; color: var(--green); margin-bottom: 20px; }.auth-symbol::before { width: 20px; height: 20px; }
.dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }.dialog-heading h2 { font-size: 21px; font-weight: 600; line-height: 1.3; margin: 0; }
.key-dialog .dialog-heading { margin-bottom: 6px; }.key-dialog .dialog-heading h2 { font-size: 24px; }
.auth-caption { margin: 0 0 26px; color: var(--muted); font-size: 13px; }
.key-dialog label { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 7px; font-size: 12px; font-weight: 550; }
.label-note { color: var(--muted); font-size: 11px; font-weight: 400; }
.key-dialog input { display: block; width: 100%; height: 43px; padding: 11px 12px; background: #fff; border: 1px solid #d4dcd6; border-radius: 6px; margin-bottom: 18px; font-size: 13px; }
.password-field { position: relative; }.password-field input { padding-right: 46px; }.password-toggle { position: absolute; top: 3px; right: 4px; }
.form-status { font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; margin: 0 0 16px; }.key-dialog .form-status { padding: 10px 12px; border: 1px solid #eed8dc; border-radius: 6px; background: #fff6f7; }
.dialog-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }.dialog-actions .text-button { margin-right: auto; }
#loginSubmit, #setupSubmit { width: 100%; min-height: 42px; margin-top: 3px; }
.account-panel dl { display: grid; grid-template-columns: 84px minmax(0,1fr); gap: 12px; margin: 22px 0 0; }.account-panel dt { color: var(--muted); font-size: 12px; }.account-panel dd { margin: 0; overflow-wrap: anywhere; font-weight: 550; }
.player-table-wrap { width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }.player-table { border-collapse: collapse; width: 100%; min-width: 960px; font-size: 12px; text-align: left; }
.player-table th { background: #f8faf8; color: var(--muted); font-size: 10px; font-weight: 550; white-space: nowrap; }
.player-table th, .player-table td { padding: 15px 16px; border-bottom: 1px solid var(--line); vertical-align: top; }
.player-table th:first-child, .player-table td:first-child { padding-left: 32px; }
.table-sort { border: 0; border-radius: 4px; background: transparent; color: inherit; font: inherit; padding: 5px; margin: -5px; min-height: 28px; white-space: nowrap; }.table-sort:hover { background: #e9f0eb; }
.player-table th[aria-sort=ascending], .player-table th[aria-sort=descending] { color: var(--green); }.player-table th:nth-child(4), .player-table td:nth-child(4) { text-align: right; font-variant-numeric: tabular-nums; }
.cell-name { color: var(--ink); font-weight: 600; max-width: 180px; overflow-wrap: anywhere; }.cell-secondary { font-size: 10px; color: var(--muted); margin-top: 4px; line-height: 1.5; }
.cell-coordinate, .cell-power { font-variant-numeric: tabular-nums; white-space: nowrap; font-weight: 550; }.cell-coordinate.saved { color: var(--muted); font-weight: 400; }
.cell-gathering { min-width: 170px; }.gathering-entry { max-width: 220px; }.gathering-entry + .gathering-entry { margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--line); }
.gathering-label { color: var(--blue); font-weight: 550; overflow-wrap: anywhere; }.gathering-entry .cell-coordinate { margin-top: 2px; font-size: 11px; }.gathering-entry .cell-secondary { margin-top: 2px; }.gathering-empty { color: var(--muted); }
.cell-status { display: inline-flex; align-items: center; gap: 5px; border-radius: 4px; padding: 3px 6px; background: #f0f3f1; color: #657469; font-size: 10px; white-space: nowrap; }
.cell-status.verified { color: #286d48; background: #e9f5ee; }.cell-status.checking { color: #376396; background: #edf3fc; }.cell-status.error, .cell-status.not-found { color: #986213; background: #fff5e1; }
.cell-error { color: var(--danger); font-size: 10px; max-width: 180px; margin-top: 6px; overflow-wrap: anywhere; }
.inspection-footnote, .filtered-empty { padding: 18px 32px; font-size: 11px; color: var(--muted); }
.scan-panel, .lookup-progress { padding: 16px 24px; background: #eff5f9; border-block: 1px solid #dce7ef; font-size: 12px; color: #376386; }.scan-panel { margin-bottom: 18px; }
.scan-title, .lookup-progress > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }.scan-panel p, .lookup-progress p { font-size: 11px; margin: 8px 0 0; }.lookup-progress > div { justify-content: flex-start; }#lookupCount { margin-left: auto; }
progress { display: block; width: 100%; height: 4px; margin-top: 12px; border: 0; border-radius: 4px; overflow: hidden; appearance: none; background: #d9e5ed; }
progress::-webkit-progress-bar { background: #d9e5ed; }progress::-webkit-progress-value { background: #5885aa; }progress::-moz-progress-bar { background: #5885aa; }
.spinner { display: inline-block; width: 13px; height: 13px; border: 2px solid #d0ddd5; border-top-color: #54876b; border-radius: 50%; animation: spin 1s linear infinite; flex-shrink: 0; }@keyframes spin { to { transform: rotate(360deg); } }
.notice { padding: 12px 16px; margin: 18px 32px; border-left: 3px solid #c39547; background: #fff8e9; color: #805d20; font-size: 12px; overflow-wrap: anywhere; }.notice.success { border-color: #5d9b76; background: #eff8f1; color: #356a45; }
.toast { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); max-width: min(550px,calc(100% - 28px)); padding: 12px 18px; border-radius: 6px; background: #263b30; color: #fff; box-shadow: 0 4px 20px #17392222; font-size: 12px; z-index: 30; overflow-wrap: anywhere; }
.admin-dialog { width: calc(100% - 32px); max-width: 1000px; max-height: calc(100dvh - 32px); padding: 26px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); box-shadow: 0 20px 70px #1b2c242b; overflow: auto; overscroll-behavior: contain; }
.admin-dialog h3 { font-size: 15px; margin: 0 0 16px; overflow-wrap: anywhere; }
.admin-form { display: flex; align-items: flex-end; gap: 14px; flex-wrap: wrap; margin: 0 0 22px; }.admin-form label { display: flex; flex-direction: column; min-width: 0; gap: 6px; font-size: 12px; font-weight: 550; }
.admin-form input:not([type=checkbox]), .admin-form select, .setup-link-row input { width: 100%; min-width: 0; border: 1px solid #d8deda; background: #fff; border-radius: 6px; padding: 9px 10px; font: inherit; }
.admin-form select { min-width: 110px; font-weight: 400; }.create-user-form > label:first-child, .activity-filters > label { flex: 1 1 170px; }
.admin-form .checkbox-label { flex-direction: row; align-items: center; align-self: center; gap: 8px; margin-top: 16px; }
.admin-table-wrap { width: 100%; overflow: auto; max-height: 360px; border-block: 1px solid var(--line); }.admin-table { width: 100%; min-width: 650px; border-collapse: collapse; text-align: left; font-size: 12px; table-layout: fixed; }
.admin-table th { position: sticky; top: 0; z-index: 1; background: #f4f7f4; color: var(--muted); font-size: 11px; font-weight: 550; }.admin-table th, .admin-table td { padding: 12px 10px; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; vertical-align: top; }
.admin-table th:first-child { width: 23%; }.admin-table th:last-child { width: 15%; }.admin-table .button { min-height: 30px; padding: 5px 10px; font-size: 11px; }
.user-editor, .setup-link-panel { padding-top: 22px; margin-top: 22px; border-top: 1px solid var(--line); }
.user-details { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 8px 16px; font-size: 12px; margin: 0 0 22px; }.user-details dt { color: var(--muted); }.user-details dd { margin: 0; overflow-wrap: anywhere; }
.user-actions { display: flex; flex-wrap: wrap; gap: 10px; }.button-danger { color: var(--danger); border-color: #e3bec5; background: #fff; }.button-danger:hover:not(:disabled) { background: #fff2f4; }
.delete-confirm { border-left: 3px solid var(--danger); padding-left: 14px; margin-top: 20px; font-size: 12px; overflow-wrap: anywhere; }
.setup-link-panel > label { display: block; font-size: 12px; margin-bottom: 8px; overflow-wrap: anywhere; }.setup-link-row { display: flex; align-items: center; gap: 10px; }.setup-link-row input { flex: 1; font-size: 12px; }
.activity-filters .text-button { align-self: center; margin-top: 20px; }
.activity-table { min-width: 750px; }.activity-table th:first-child { width: 17%; }.activity-table th:nth-child(2) { width: 16%; }.activity-table th:nth-child(3) { width: 30%; }.activity-table th:nth-child(4) { width: 9%; }.activity-table th:last-child { width: 28%; }
.activity-request { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 10px; color: var(--muted); margin-top: 5px; overflow-wrap: anywhere; }.activity-http-status { font-variant-numeric: tabular-nums; color: var(--green); font-weight: 600; }.activity-http-status.failed { color: var(--danger); }
.activity-pagination { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 18px; font-size: 12px; }
@media (min-width: 1600px) { .workspace { grid-template-columns: 380px minmax(0,1fr); }.key-dialog.inline-auth { margin-top: 76px; }.search-results { max-height: 560px; } }
@media (max-width: 1050px) { .workspace { grid-template-columns: 320px minmax(0,1fr); }.connection { display: none; }.site-header { padding-inline: 22px; }.inspection-heading { padding-inline: 24px; }.current-identity { max-width: 155px; }.header-actions { gap: 6px; }.inspection-actions { padding: 14px 24px; } }
@media (max-width: 720px) {
  .site-header { padding: 12px 18px; gap: 12px; flex-wrap: wrap; }.brand { font-size: 16px; }.brand small { font-size: 10px; }
  .header-actions { margin-left: auto; }.current-identity { max-width: 120px; font-size: 11px; }.header-button { padding: 7px 10px; }
  .workspace { grid-template-columns: minmax(0,1fr); }.explorer { border-right: 0; border-bottom: 1px solid var(--line); }
  .workspace.signed-out { padding: 40px 24px; }
  .explorer-intro { padding: 23px 24px 18px; }.inspection-heading { min-height: 88px; padding: 18px 24px; }.inspection h2 { font-size: 18px; }
  .key-dialog.inline-auth { margin: 30px auto 36px; width: calc(100% - 48px); }.auth-symbol { margin-bottom: 16px; }
  .key-dialog .dialog-heading h2 { font-size: 23px; }.auth-caption { margin-bottom: 22px; }.key-dialog input { font-size: 16px; }
  .inspection-empty { margin: 60px auto; }.search-results { max-height: 360px; min-height: 130px; }
  .roster-search-filters, .roster-level-filters { margin: 20px 24px; }.player-table th:first-child, .player-table td:first-child { padding-left: 24px; }
  .admin-dialog { padding: 20px; }.activity-pagination { flex-wrap: wrap; }.user-details { grid-template-columns: 86px minmax(0,1fr); }
}
@media (max-width: 380px) { .site-header { padding-inline: 14px; }.brand { font-size: 15px; }.brand-image { width: 32px; height: 32px; }.docs-link { display: none; }.header-actions { gap: 4px; }.current-identity { max-width: 100px; }.inspection-heading, .explorer-intro { padding-inline: 20px; }.key-dialog.inline-auth { width: calc(100% - 40px); }.state-picker, .search-area { padding-inline: 20px; }.state-summary, .selection-tray { padding-inline: 20px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
/* Vendored Lucide icons, v0.468.0 (ISC). See ASSETS.md. */
.site-header:has(#currentIdentity:not([hidden])) #keyButton { --icon: url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-user-round%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%225%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M20%2021a8%208%200%200%200-16%200%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
#keyButton, #loginSubmit { --icon: url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-log-in%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M15%203h4a2%202%200%200%201%202%202v14a2%202%200%200%201-2%202h-4%22%20%2F%3E%0A%20%20%3Cpolyline%20points%3D%2210%2017%2015%2012%2010%207%22%20%2F%3E%0A%20%20%3Cline%20x1%3D%2215%22%20x2%3D%223%22%20y1%3D%2212%22%20y2%3D%2212%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
#signOutButton { --icon: url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-log-out%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M9%2021H5a2%202%200%200%201-2-2V5a2%202%200%200%201%202-2h4%22%20%2F%3E%0A%20%20%3Cpolyline%20points%3D%2216%2017%2021%2012%2016%207%22%20%2F%3E%0A%20%20%3Cline%20x1%3D%2221%22%20x2%3D%229%22%20y1%3D%2212%22%20y2%3D%2212%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
#playersTab, .icon-users, #usersButton { --icon: url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-users%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%22%20%2F%3E%0A%20%20%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M22%2021v-2a4%204%200%200%200-3-3.87%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M16%203.13a4%204%200%200%201%200%207.75%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
#alliancesTab { --icon: url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-shield%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M20%2013c0%205-3.5%207.5-7.66%208.95a1%201%200%200%201-.67-.01C7.5%2020.5%204%2018%204%2013V6a1%201%200%200%201%201-1c2%200%204.5-1.2%206.24-2.72a1.17%201.17%200%200%201%201.52%200C14.51%203.81%2017%205%2019%205a1%201%200%200%201%201%201z%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
#activityButton { --icon: url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-activity%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M22%2012h-2.48a2%202%200%200%200-1.93%201.46l-2.35%208.36a.25.25%200%200%201-.48%200L9.24%202.18a.25.25%200%200%200-.48%200l-2.35%208.36A2%202%200%200%201%204.49%2012H2%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
.docs-link { --icon: url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-book-open%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M12%207v14%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M3%2018a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1h5a4%204%200%200%201%204%204%204%204%200%200%201%204-4h5a1%201%200%200%201%201%201v13a1%201%200%200%201-1%201h-6a3%203%200%200%200-3%203%203%203%200%200%200-3-3z%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
.icon-map { --icon: url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-map%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M14.106%205.553a2%202%200%200%200%201.788%200l3.659-1.83A1%201%200%200%201%2021%204.619v12.764a1%201%200%200%201-.553.894l-4.553%202.277a2%202%200%200%201-1.788%200l-4.212-2.106a2%202%200%200%200-1.788%200l-3.659%201.83A1%201%200%200%201%203%2019.381V6.618a1%201%200%200%201%20.553-.894l4.553-2.277a2%202%200%200%201%201.788%200z%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M15%205.764v15%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M9%203.236v15%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
.icon-search { --icon: url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-search%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m21%2021-4.3-4.3%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
.icon-lock, #setupSubmit { --icon: url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-lock-keyhole%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2216%22%20r%3D%221%22%20%2F%3E%0A%20%20%3Crect%20x%3D%223%22%20y%3D%2210%22%20width%3D%2218%22%20height%3D%2212%22%20rx%3D%222%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M7%2010V7a5%205%200%200%201%2010%200v3%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
.password-toggle { --icon: url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-eye%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M2.062%2012.348a1%201%200%200%201%200-.696%2010.75%2010.75%200%200%201%2019.876%200%201%201%200%200%201%200%20.696%2010.75%2010.75%200%200%201-19.876%200%22%20%2F%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
.password-toggle[aria-pressed=true] { --icon: url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-eye-off%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M10.733%205.076a10.744%2010.744%200%200%201%2011.205%206.575%201%201%200%200%201%200%20.696%2010.747%2010.747%200%200%201-1.444%202.49%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M14.084%2014.158a3%203%200%200%201-4.242-4.242%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M17.479%2017.499a10.75%2010.75%200%200%201-15.417-5.151%201%201%200%200%201%200-.696%2010.75%2010.75%200%200%201%204.446-5.143%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m2%202%2020%2020%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
.icon-close { --icon: url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-x%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M18%206%206%2018%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m6%206%2012%2012%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
.icon-reset { --icon: url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-rotate-ccw%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M3%2012a9%209%200%201%200%209-9%209.75%209.75%200%200%200-6.74%202.74L3%208%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M3%203v5h5%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
.icon-refresh, #refreshStateButton, #refreshLocationsButton { --icon: url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-refresh-cw%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M3%2012a9%209%200%200%201%209-9%209.75%209.75%200%200%201%206.74%202.74L21%208%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M21%203v5h-5%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M21%2012a9%209%200%200%201-9%209%209.75%209.75%200%200%201-6.74-2.74L3%2016%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M8%2016H3v5%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
.icon-copy { --icon: url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-copy%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Crect%20width%3D%2214%22%20height%3D%2214%22%20x%3D%228%22%20y%3D%228%22%20rx%3D%222%22%20ry%3D%222%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M4%2016c-1.1%200-2-.9-2-2V4c0-1.1.9-2%202-2h10c1.1%200%202%20.9%202%202%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
.load-state { --icon: url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-arrow-right%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M5%2012h14%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m12%205%207%207-7%207%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
