*{box-sizing:border-box}html,body{margin:0;min-width:280px}body{font:14px/1.45 "Avenir Next",Avenir,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#171b20;color:#eef1f5}button,input,select{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer}button:disabled{cursor:default;opacity:.55}button,input,select{touch-action:manipulation}button{transition:background .15s,color .15s,border-color .15s}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--focus,var(--accent,#adbbff));outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}button svg,button .ico{pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}kbd{font:11px/1.3 ui-monospace,"SFMono-Regular",monospace}button{border-radius:var(--radius,8px)}.num{font-variant-numeric:tabular-nums}.quiet{color:var(--muted)}
.study-bar{height:54px;display:flex;align-items:center;gap:24px;padding:0 28px;background:#171b20;border-bottom:1px solid #343a43}.study-label{font-size:12px;color:#b6bfca}.study-options{display:flex;gap:4px}.study-options button{padding:6px 12px;font-weight:600;font-size:13px;color:#aeb9c7;border:1px solid transparent}.study-options button span{margin-left:5px;font-weight:400;font-size:11px;color:#8e9cac}.study-options button[aria-pressed=true]{background:#2b323c;color:#fff;border-color:#4b5665}.study-options button[aria-pressed=true] span{color:#bdc8d5}.device-toggle{margin-left:auto;padding:6px 11px;border:1px solid #536070;font-size:12px}.device-toggle[aria-pressed=true]{background:#e5ecf4;color:#1c2530}.preview-wrap{container:preview / inline-size;max-width:100%;margin:auto}.preview-wrap.mobile-preview{max-width:390px;margin:18px auto;border-radius:20px;overflow:hidden;outline:5px solid #414953;box-shadow:0 20px 80px #0004}
.app{--bg:#f7f7fa;--surface:#fff;--surface-alt:#f0f1f6;--ink:#21293c;--muted:#626a7c;--line:#dadee8;--accent:#9f145c;--accent-soft:#fce6f1;--accent-ink:#fff;--row-hover:#f5edf3;--positive:#21293c;--radius:12px;--page-pad:clamp(24px,4.4vw,72px);--drawer-width:390px;color:var(--ink);background:var(--bg);height:calc(100dvh - 54px);min-height:420px;display:flex;flex-direction:column;color-scheme:light}.app[data-concept=index]{--positive:#257658;--bg:#f5f6f9;--surface:#fff;--surface-alt:#f5f6f9;--ink:#202631;--muted:#637080;--line:#dce1e8;--accent:#485cd6;--accent-soft:#edf0fe;--row-hover:#f4f5fc;--radius:7px;--page-pad:clamp(24px,3.3vw,52px)}.app[data-theme=dark]{--bg:#090b10;--surface:#11141c;--surface-alt:#1a1f2d;--ink:#f5f5fa;--muted:#a9aebe;--line:#2e3445;--accent:#e9f400;--accent-soft:#281726;--accent-ink:#101118;--row-hover:#171b25;--positive:#e9f400;color-scheme:dark}.app[data-concept=index][data-theme=dark]{--positive:#a5f4be;--bg:#090a0c;--surface:#101216;--surface-alt:#191c22;--ink:#eff2f7;--muted:#a1a9b7;--line:#282d35;--accent:#adbbff;--accent-soft:#252c46;--accent-ink:#171e3c;--row-hover:#1a1e2c}.mobile-preview .app{height:min(844px,calc(100dvh - 90px))}.topbar{height:84px;min-height:84px;display:grid;grid-template-columns:minmax(190px,1fr) minmax(0,600px) minmax(190px,1fr);align-items:center;gap:24px;padding:0 var(--page-pad);border-bottom:1px solid var(--line);background:var(--surface)}.brand{grid-column:1;grid-row:1;display:flex;gap:10px;align-items:center;white-space:nowrap}.brand-mark{width:23px;height:23px;display:grid;grid-template-columns:1fr 1fr;gap:3px;transform:rotate(-8deg);margin-right:2px}.brand-mark b{background:var(--accent);border-radius:2px}.brand-mark b:last-child{opacity:.35}.state-label{font-size:13px;color:var(--muted);margin-left:12px;border-left:1px solid var(--line);padding-left:20px}.global-search{grid-column:2;grid-row:1;width:100%;height:46px;max-width:600px;justify-self:center;margin:0;display:flex;align-items:center;gap:12px;text-align:left;padding:0 16px;background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius)}.global-search>.ico{color:var(--accent)}.global-search:hover{border-color:var(--accent)}.global-search>span:first-of-type{font-weight:550}.search-hint{font-size:12px;color:var(--muted);margin-left:auto}.global-search kbd{margin-left:auto;border:1px solid var(--line);border-radius:4px;padding:3px 5px;color:var(--muted);white-space:nowrap}.global-search .search-hint+kbd{margin-left:6px}.icon-button{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;color:var(--muted)}.icon-button:hover{background:var(--surface-alt);color:var(--ink)}.theme-quick{grid-column:3;grid-row:1;justify-self:end;width:40px;height:40px;border:1px solid var(--line);border-radius:var(--radius)}.workspace{display:flex;flex:1;min-height:0;position:relative;overflow:hidden}.page-content{flex:1;min-width:0;overflow:auto;padding:36px var(--page-pad) 24px;container:content / inline-size;scrollbar-gutter:stable}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}.page-heading h1{font-size:36px;line-height:1.15;letter-spacing:-1.25px;font-weight:550}.page-description{font-size:14px;color:var(--muted);margin-top:8px}.heading-meta{display:flex;align-items:center;gap:14px;white-space:nowrap}.saved-label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.saved-label:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--positive)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 12px;background:var(--surface);border:1px solid var(--line);font-size:13px;font-weight:550;white-space:nowrap}.button:hover{background:var(--surface-alt);border-color:var(--muted)}.button .ico{width:16px;height:16px}.button.primary{color:var(--primary-ink,var(--accent-ink));background:var(--primary,var(--accent));border-color:var(--primary-border,var(--accent))}.button.primary:hover{filter:brightness(.94)}.button[aria-expanded=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.full{width:100%}.text-button{color:var(--accent);font-size:13px;font-weight:600;padding:8px}.directory-pane{min-width:0}.directory-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);margin-bottom:6px}.tabs{display:flex;gap:26px;align-items:center}.tabs>button{border-radius:0;display:flex;gap:9px;align-items:center;padding:0 0 16px;color:var(--muted);border-bottom:2px solid transparent;font-size:15px;font-weight:600}.tabs>button.active{color:var(--ink);border-bottom-color:var(--accent)}.count{padding:1px 7px;background:var(--surface-alt);border-radius:5px;font-size:11px;color:var(--muted);font-weight:600}.tabs>button.active .count{background:var(--accent-soft);color:var(--accent)}.directory-toolbar>.button{margin-bottom:12px}.filter-count{background:var(--accent);color:var(--accent-ink);border-radius:4px;font-size:11px;min-width:17px;padding:1px 4px}.filter-summary{display:flex;gap:8px;align-items:center;min-height:42px;flex-wrap:wrap}.result-count{color:var(--muted);font-size:12px;margin-right:auto}.filter-chip{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--accent);background:var(--accent-soft);padding:4px 8px;border-radius:6px}.filter-chip .ico{width:12px;height:12px}input,select{min-height:40px;border:1px solid var(--line);background:var(--bg);border-radius:6px;padding:8px 10px}input::placeholder{color:var(--muted);opacity:.8}
/* Filters float over the directory; they do not expand into a second dashboard. */
.filter-panel[popover]{position:fixed;inset:auto;margin:0;padding:0;width:408px;max-width:calc(100vw - 24px);overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 18px 60px #0003}
.filter-panel[popover]:popover-open{display:flex;flex-direction:column}.filter-panel::backdrop{background:transparent}
.filter-header{display:flex;align-items:center;gap:10px;flex:none;padding:10px 16px;border-bottom:1px solid var(--line)}.filter-header h2{font-size:14px;font-weight:600}.filter-header #filterLiveCount{font-size:11px;color:var(--muted)}.filter-header .text-button{margin-left:auto;font-size:12px;padding:8px 0 8px 12px;font-weight:500}
.filter-body{display:flex;flex-direction:column;gap:10px;padding:14px 16px 16px;overflow:auto;min-height:0;overscroll-behavior:contain}.filter-row{display:grid;grid-template-columns:66px minmax(0,1fr);align-items:center;column-gap:10px;min-width:0}.filter-label{font-size:12px;font-weight:550;line-height:1.3}.filter-label small{display:block;color:var(--muted);font-weight:400;font-size:10px;margin-top:2px}
.filter-alliance select{width:100%;min-height:40px;background:var(--surface-alt);border:1px solid var(--line);border-radius:7px;padding:7px 10px;font-size:12px;font-weight:400}
.rank-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.filter-choice{position:relative;display:block;min-width:0;cursor:pointer}.filter-panel[popover] .filter-choice input{position:absolute;width:1px;height:1px;min-height:0;opacity:0;left:50%;top:50%;padding:0;border:0;margin:0}.filter-choice>span{display:flex;align-items:center;justify-content:center;min-height:38px;border:1px solid var(--line);border-radius:6px;font-size:11px;font-weight:550;transition:background .14s,border-color .14s,color .14s}.filter-choice:hover>span{background:var(--surface-alt)}.filter-choice input:checked+span{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.filter-choice input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.range-control{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:7px;background:var(--surface-alt);padding:0 9px}.range-control:focus-within{border-color:var(--accent);outline:1px solid var(--accent)}.range-control>label{display:flex;align-items:center;gap:5px;flex:1;min-width:0;font-size:10px;color:var(--muted)}.range-control input{width:100%;min-width:0;min-height:40px;border:0;border-radius:0;background:transparent;padding:7px 0;text-align:right;color:var(--ink);font-size:13px;font-variant-numeric:tabular-nums;appearance:textfield}.range-control input:focus-visible{outline:none}.range-control input::-webkit-inner-spin-button,.range-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.range-divider{width:1px;height:19px;background:var(--line);flex:none}
.shield-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--surface-alt)}.shield-options .filter-choice>span{min-height:34px;border-color:transparent;border-radius:5px;font-size:10px;color:var(--muted)}.shield-options input:checked+span{background:var(--surface);color:var(--accent);border-color:var(--line)}
.filter-error{font-size:11px;color:#cf5656;line-height:1.5;margin:0}.filter-error:empty{display:none}
@container preview (max-width:355px){.filter-body{padding:12px}.filter-header{padding-left:12px;padding-right:12px}.filter-row{grid-template-columns:54px minmax(0,1fr);column-gap:8px}.rank-options{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-choice>span{min-height:36px}.filter-label{font-size:11px}.range-control{gap:6px;padding:0 7px}}
.directory-table{width:100%;border-collapse:collapse;table-layout:auto}.directory-table th{font-size:11px;font-weight:500;text-align:left;color:var(--muted);height:34px;padding:0 14px;white-space:nowrap}.directory-table th:first-child,.directory-table td:first-child{padding-left:0}.directory-table th:last-child,.directory-table td:last-child{padding-right:0}.directory-table th button{padding:0;font-size:inherit;color:inherit}.directory-table td{padding:15px 14px;height:82px;border-bottom:1px solid var(--line);font-size:13px;white-space:nowrap}.directory-table tbody tr{transition:background .15s}.directory-table tbody tr:hover{background:var(--row-hover)}.directory-table tbody tr.selected{background:var(--accent-soft)}.player-button,.alliance-name{display:flex;gap:13px;align-items:center;text-align:left;max-width:100%;padding:0}.player-button>span{min-width:0}.avatar{width:44px;height:44px;border-radius:12px;object-fit:cover;background:var(--surface-alt);flex-shrink:0}.player-button strong{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:600}.player-button small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.shielded{width:13px;height:13px;color:var(--positive)}.power-cell{font-weight:600}.power-value{font-size:15px}.level-cell .level-value{display:inline-flex;align-items:center;justify-content:center;min-width:29px;height:25px;border:1px solid var(--line);border-radius:5px;font-size:12px;color:var(--muted)}.location-button{display:inline-flex;align-items:center;gap:7px;color:var(--accent);font-size:13px;font-weight:550;padding:7px 0;font-variant-numeric:tabular-nums;white-space:nowrap}.location-button .ico{width:14px;height:14px}.gather-pill{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.gather-pill{padding:6px 0}.gather-pill:hover{color:var(--accent)}.gather-pill:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--positive)}.seen{font-size:12px!important;color:var(--muted)}.alliance-tag{display:inline-flex;align-items:center;font-size:11px;font-weight:650;padding:4px 8px;border:1px solid var(--line);border-radius:5px;color:var(--muted)}.alliance-tag:hover{color:var(--accent);border-color:var(--accent)}.table-foot{display:flex;justify-content:space-between;gap:12px;padding:18px 0;font-size:11px;color:var(--muted)}.sample-indicator{display:inline-flex;gap:6px;align-items:center}.sample-indicator:before{content:"";width:5px;height:5px;border:1px solid var(--muted);border-radius:50%}.table-foot .ico{width:12px;height:12px}.footer-hint{display:flex;gap:5px;align-items:center}.alliance-crest{width:43px;height:43px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;font-size:20px;color:var(--accent);background:var(--surface-alt)}.alliance-name strong{display:block;font-size:15px}.alliance-name small{font-size:11px;color:var(--muted)}.roster-back{display:inline-flex;gap:8px;align-items:center;padding:0 0 16px;color:var(--accent);font-size:13px}.empty-state{text-align:center;padding:56px 18px;color:var(--muted);font-size:13px}.empty-state strong{display:block;font-size:16px;font-weight:600;color:var(--ink);margin-bottom:8px}.empty-state .button{margin-top:18px}
.alliance-crest{flex-shrink:0;font-size:12px;font-weight:650;line-height:1.15;white-space:normal;overflow-wrap:anywhere;text-align:center;overflow:hidden;padding:3px}.alliance-crest-long{font-size:9px}
/* Index changes the reading rhythm; the tasks remain identical. */
[data-concept=index] .topbar{height:74px;min-height:74px}[data-concept=index] .page-heading h1{font-size:29px;font-weight:650;letter-spacing:-.8px}[data-concept=index] .page-content{padding-top:30px}[data-concept=index] .page-heading{margin-bottom:25px}[data-concept=index] .directory-pane{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:20px 22px 0}[data-concept=index] .directory-table td{height:64px;padding-top:10px;padding-bottom:10px}[data-concept=index] .avatar{width:34px;height:34px;border-radius:7px}[data-concept=index] .player-button{gap:10px}[data-concept=index] .player-button strong{font-size:13px}[data-concept=index] .power-value{font-size:13px}[data-concept=index] .tabs>button{font-size:14px}
/* The player inspector enters from the right, never from below. */
.profile-panel{flex:0 0 var(--drawer-width);width:var(--drawer-width);min-width:0;border-left:1px solid var(--line);background:var(--surface);overflow-y:auto;overscroll-behavior:contain;animation:drawer-enter .22s cubic-bezier(.2,.8,.2,1)}.profile-top{height:64px;position:sticky;top:0;z-index:1;background:var(--surface);display:flex;align-items:center;justify-content:space-between;padding:0 26px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.profile-top>div{display:flex;gap:3px;align-items:center}.profile-step{width:30px;height:30px}.profile-body{padding:28px 26px}.profile-identity{display:flex;flex-direction:column;gap:0;align-items:center;text-align:center;margin-bottom:28px}.profile-portrait{position:relative;margin-bottom:16px}.profile-portrait .avatar{display:block;width:120px;height:120px;border-radius:28px;border:1px solid var(--line)}.profile-shield{position:absolute;right:-4px;bottom:-4px;display:grid;place-items:center;width:32px;height:32px;border:3px solid var(--surface);border-radius:50%;background:var(--accent-soft);color:var(--accent)}.profile-shield .ico{width:16px;height:16px}.profile-identity h2{font-size:28px;letter-spacing:-.7px;font-weight:600;overflow-wrap:anywhere;max-width:100%}.profile-identity p{font-size:11px;color:var(--muted);margin-top:10px}.profile-affiliation{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:10px;font-size:12px;color:var(--muted)}.profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;padding:24px 0 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.profile-stats small{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.profile-stats strong{font-size:19px;font-weight:550;font-variant-numeric:tabular-nums}.profile-stats .status-value{font-size:14px}.status-active{color:var(--positive)}.section-heading{font-size:13px;font-weight:600;margin:26px 0 12px}.location-card{border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:var(--surface-alt)}.location-card>div{display:flex;align-items:center;gap:10px}.location-card .ico{color:var(--accent);width:20px;height:20px}.location-card strong{font-size:22px;font-weight:500;letter-spacing:.2px;font-variant-numeric:tabular-nums}.location-card p{font-size:11px;color:var(--muted);margin:8px 0 16px}.resource-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);border-radius:0;width:100%;text-align:left}.resource-row:hover{background:var(--row-hover)}.resource-row>.ico{width:15px;height:15px;color:var(--accent);margin-right:3px}.resource-icon{width:46px;height:46px;flex-shrink:0;border-radius:10px;background:var(--surface-alt);display:grid;place-items:center}.resource-icon img{display:block;width:44px;height:44px;object-fit:contain}.resource-info{flex:1;min-width:0}.gather-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:26px 0 0}.gather-heading .section-heading{margin:0}.gather-capacity{font-size:11px;color:var(--muted);white-space:nowrap}.gather-section .profile-note{margin-top:12px}.resource-row strong{font-size:13px;font-weight:600}.resource-row small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.profile-note{font-size:12px;color:var(--muted);line-height:1.7;margin-top:18px}.profile-refresh{margin-top:22px}.inspector-open .page-content{padding-left:28px;padding-right:28px}.inspector-open .heading-meta .saved-label{display:none}
/* Search is the complete navigation surface. */
.search-dialog{position:fixed;margin:0 auto;top:clamp(76px,13vh,160px);width:min(660px,calc(100vw - 32px));max-height:calc(100dvh - 120px);padding:0;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:var(--surface);box-shadow:0 22px 100px #0005;overflow:hidden}.search-dialog[open]{display:flex;flex-direction:column}.search-dialog::backdrop{background:#07101375;backdrop-filter:blur(4px)}.search-field{display:flex;align-items:center;gap:13px;padding:15px 20px;border-bottom:1px solid var(--line);min-height:72px}.search-field>.ico{color:var(--accent);width:21px;height:21px}.search-field input{min-width:0;flex:1;padding:0;border:0;background:transparent;border-radius:0;height:40px;outline:none;font-size:16px}.search-field input:focus-visible{outline:none}.search-field:focus-within{box-shadow:inset 0 -2px var(--accent)}.search-field>button{font-size:11px;color:var(--muted);padding:5px 7px;border:1px solid var(--line);border-radius:5px}.search-results{overflow:auto;padding:8px;min-height:120px}.search-group{font-size:11px;color:var(--muted);padding:12px 12px 7px}.search-result{width:100%;display:flex;gap:13px;align-items:center;text-align:left;padding:12px;border-radius:8px;min-height:61px}.search-result>span:nth-child(2){min-width:0;flex:1}.search-result>.ico{color:var(--muted);margin:0 7px;width:20px;height:20px}.search-result .avatar{width:34px;height:34px;border-radius:8px}.search-result.active,.search-result:hover{background:var(--accent-soft)}.search-result.active>.ico{color:var(--accent)}.search-result strong{display:block;font-size:13px;font-weight:600}.search-result small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.search-tail{font-size:10px;color:var(--muted);flex:none;white-space:nowrap}.search-tail kbd{display:inline-block;margin-left:8px;padding:2px 5px;border:1px solid var(--line);border-radius:3px}.search-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 20px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.search-footer kbd{display:inline-block;min-width:18px;text-align:center;margin-right:3px;padding:2px 3px;border:1px solid var(--line);border-radius:3px}.search-footer kbd:nth-child(3){margin-left:7px}
.settings-content{display:grid;grid-template-columns:minmax(0,1fr);gap:36px;width:100%}.settings-section{min-width:0;scroll-margin-top:16px}.settings-section h2{font-size:19px;font-weight:550;margin-bottom:7px}.settings-section>p{font-size:13px;color:var(--muted);margin-bottom:14px}.setting-row{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.setting-label strong{display:block;font-size:13px;font-weight:550}.setting-label small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.theme-control{display:flex;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.theme-control button{display:flex;gap:7px;align-items:center;padding:7px 10px;font-size:12px;border-radius:6px}.theme-control button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.theme-control .ico{width:14px;height:14px}.switch{appearance:none;width:38px;min-width:38px;min-height:22px;height:22px;border-radius:20px;position:relative;background:var(--line);padding:0;border:0;cursor:pointer}.switch:before{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;background:var(--surface);border-radius:50%;transition:transform .15s}.switch:checked{background:var(--accent)}.switch:checked:before{transform:translateX(16px);background:var(--accent-ink)}.highlight{border-left:2px solid var(--accent);padding-left:18px}.activity-list{width:100%}.activity-row{display:flex;gap:18px;align-items:flex-start;padding:25px 0;border-bottom:1px solid var(--line)}.activity-row>.ico{width:18px;height:18px;color:var(--accent);margin-top:2px}.activity-row>div{flex:1;min-width:0}.activity-row strong{font-size:14px;font-weight:550}.activity-row p{font-size:12px;color:var(--muted);margin-top:5px}.activity-row time{color:var(--muted);font-size:11px;white-space:nowrap}.map-paused{min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:var(--radius);text-align:center;padding:36px}.map-paused>.ico{width:36px;height:36px;color:var(--muted);margin-bottom:22px}.map-paused h2{font-size:21px;font-weight:500;margin-bottom:10px}.map-paused p{font-size:13px;color:var(--muted);max-width:330px;line-height:1.7}.map-paused .button{margin-top:22px}.map-coordinate{font-size:30px;margin:20px 0 6px;letter-spacing:1px;font-variant-numeric:tabular-nums}.toast{position:absolute;z-index:10;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);font-size:12px;padding:12px 20px;border-radius:10px;box-shadow:0 8px 30px #0002;max-width:calc(100% - 32px)}
/* Alliance rank remains with the identity at every viewport width. */
.rank-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:23px;padding:1px 5px;border-radius:4px;background:var(--accent-soft);color:var(--accent);font-size:10px;line-height:1.5;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
.rank-badge[data-rank="5"]{box-shadow:inset 0 0 0 1px var(--accent)}.rank-badge[data-rank="unknown"]{background:var(--surface-alt);color:var(--muted)}
.player-button .player-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.player-meta .rank-badge{font-size:9px;min-width:20px;padding:0 4px}
.profile-affiliation .rank-badge{font-size:11px;padding:3px 7px}
.feed-membership{display:inline-flex;align-items:center;gap:5px}.feed-membership .rank-badge{font-size:10px;padding:1px 5px}
/* People lead the game activity feed; audit-log rows keep their existing style. */
.feed-entry{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:0 20px;align-items:start;padding:25px 0;border-bottom:1px solid var(--line)}
.feed-portrait{position:relative;display:block;width:64px;height:64px;padding:0;border-radius:17px}
.feed-portrait .avatar{display:block;width:64px;height:64px;border-radius:17px;border:1px solid var(--line)}
.feed-portrait:hover .avatar{border-color:var(--accent)}
.feed-event-badge{position:absolute;right:-5px;bottom:-5px;display:grid;place-items:center;width:25px;height:25px;border:3px solid var(--bg);border-radius:50%;background:var(--surface-alt);color:var(--accent);pointer-events:none}
.feed-event-badge .ico{width:13px;height:13px}
.feed-content{min-width:0}.feed-identity{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:5px}
.feed-name{padding:0;font-size:16px;font-weight:650;text-align:left;border-radius:3px;overflow-wrap:anywhere;max-width:100%}.feed-name:hover{color:var(--accent)}
.feed-identity .alliance-tag{padding:2px 6px;font-size:10px}.feed-alliance-label{font-size:11px}
.feed-action{font-size:14px;color:var(--ink)}.feed-detail{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.6}.feed-time{font-size:11px;color:var(--muted);white-space:nowrap;padding-top:4px}
.feed-portrait-stack{position:relative;display:block;width:64px;height:64px}.feed-portrait-stack .avatar{position:absolute;width:37px;height:37px;border:2px solid var(--bg);border-radius:11px}.feed-portrait-stack .avatar:nth-child(1){top:1px;left:0}.feed-portrait-stack .avatar:nth-child(2){top:0;right:0}.feed-portrait-stack .avatar:nth-child(3){bottom:0;left:14px}
@container content (max-width:560px){.feed-entry{grid-template-columns:56px minmax(0,1fr);column-gap:14px;row-gap:8px;padding:22px 0}.feed-portrait{grid-column:1;grid-row:1 / span 2;width:56px;height:56px}.feed-portrait .avatar{width:56px;height:56px;border-radius:15px}.feed-content{grid-column:2;grid-row:1}.feed-time{grid-column:2;grid-row:2;padding:0;font-size:10px}.feed-name{font-size:15px}.feed-action{font-size:13px}.feed-detail{font-size:11px}.feed-identity{gap:8px}.feed-portrait-stack{width:56px;height:56px}.feed-portrait-stack .avatar{width:33px;height:33px;border-radius:10px}.feed-portrait-stack .avatar:nth-child(3){left:11px}}
@container content (max-width:1000px){.seen-cell{display:none}.filter-grid{grid-template-columns:1fr 1fr}.search-hint{display:none}}
@container content (max-width:820px){.alliance-cell,.gather-cell{display:none}.directory-table th,.directory-table td{padding-left:10px;padding-right:10px}.heading-meta .saved-label{display:none}.footer-hint{display:none}}
@container content (max-width:560px){.page-heading{align-items:flex-start;gap:12px;margin-bottom:24px}.page-heading h1{font-size:29px}.page-description{font-size:12px;max-width:260px;line-height:1.6}.heading-meta{padding-top:3px}.refresh-text{display:none}.heading-meta .button{width:38px;padding:8px}.directory-table th{font-size:10px}.directory-table td{height:74px;padding:12px 6px;font-size:12px}.directory-table th,.directory-table td{padding-left:6px;padding-right:6px}.player-button{gap:9px}.player-button strong{font-size:13px}.player-button small{font-size:10px}.avatar{width:35px;height:35px;border-radius:9px}.power-value{font-size:13px}.location-button{font-size:11px;gap:4px}.location-button .ico{display:none}.level-cell .level-value{font-size:10px;min-width:22px;height:22px}.directory-toolbar .button{font-size:12px;padding:8px 10px}.tabs{gap:19px}.tabs>button{font-size:14px}.count{font-size:10px;padding:1px 5px}.table-foot{font-size:10px}.filter-panel{padding:14px}.filter-grid{gap:14px}.filter-grid fieldset{grid-column:1/-1}.range-inputs{gap:10px}.range-inputs input{font-size:14px}.filter-actions{flex-wrap:wrap}.filter-error:not(:empty){flex-basis:100%}.setting-row{gap:14px}.setting-label small{max-width:190px}.settings-section h2{font-size:18px}.activity-row{gap:12px;flex-wrap:wrap}.activity-row time{font-size:10px}.activity-row strong{font-size:13px}[data-concept=index] .directory-pane{padding:16px 12px 0}[data-concept=index] .player-button strong{font-size:12px}[data-concept=index] .avatar{width:29px;height:29px}[data-concept=index] .player-button{gap:7px}[data-concept=index] .page-heading h1{font-size:27px}}
@container preview (max-width:1100px){.app{--page-pad:28px;--drawer-width:360px}.search-hint{display:none}.topbar{gap:18px}.global-search{max-width:500px}.state-label{margin-left:8px;padding-left:14px}.inspector-open .page-content{padding-left:22px;padding-right:22px}}
@container preview (max-width:760px){.app{--page-pad:20px}.topbar,[data-concept=index] .topbar{height:120px;min-height:120px;gap:14px;display:grid;grid-template-columns:1fr 38px;grid-template-rows:36px 43px;padding-top:12px;padding-bottom:14px}.brand-mark{width:21px;height:21px}.state-label{font-size:12px}.global-search{grid-column:1/-1;grid-row:2;max-width:none;width:100%;margin:0;height:43px;padding:0 12px;gap:10px;font-size:13px}.theme-quick{grid-column:2;grid-row:1;width:34px;height:34px}.global-search kbd{display:none}.search-hint{display:inline;font-size:10px}.page-content,[data-concept=index] .page-content{padding:27px 20px 20px}.profile-panel{position:absolute;z-index:2;inset:0;flex:none;width:100%;border-left:0;animation:drawer-enter .23s cubic-bezier(.2,.8,.2,1)}.inspector-open .page-content{visibility:hidden}.profile-top{height:58px;padding:0 22px}.profile-body{padding:25px 24px;max-width:500px;margin:auto}.profile-stats{gap:24px}.profile-identity{margin-bottom:20px}.profile-identity h2{font-size:27px}.search-dialog{top:68px;max-height:calc(100dvh - 84px);width:calc(100vw - 20px);border-radius:12px}.mobile-preview .search-dialog{width:370px;max-width:calc(100vw - 20px)}.search-field{padding:11px 14px;min-height:65px;gap:10px}.search-field input{font-size:14px}.search-result{padding:10px;gap:10px}.search-result small{font-size:10px}.search-tail{font-size:9px}.search-footer{padding:10px 14px}.search-footer>span:first-child{font-size:0}.search-footer kbd{display:none}}
@container preview (max-width:355px){.app{--page-pad:14px}.page-content,[data-concept=index] .page-content{padding-left:14px;padding-right:14px}.search-hint{display:none}.tabs{gap:14px}.player-button .avatar{width:30px;height:30px}.table-foot{font-size:9px}[data-concept=index] .directory-pane{padding-left:10px;padding-right:10px}.search-tail{display:none}.profile-body{padding:22px 20px}}
@media(max-width:650px){.study-bar{padding:0 14px;gap:12px}.study-label{font-size:11px}.study-options button{padding:5px 9px;font-size:12px}.study-options button span{display:none}.device-toggle{font-size:10px;padding:5px 7px}.preview-wrap.mobile-preview{margin:0 auto;outline:none;border-radius:0}.mobile-preview .app{height:calc(100dvh - 54px)}}
/* Atlas palette sampled from the user's approved four-swatch reference. */
.app[data-concept=atlas]{--slate:#21293c;--pink:#f72796;--orange:#ff6d28;--yellow:#e9f400;--primary:var(--yellow);--primary-ink:#101118;--primary-border:var(--slate);--focus:#c51b77;--selection-ink:#101118}
.app[data-concept=atlas][data-theme=dark]{--primary-border:var(--yellow);--focus:var(--pink)}
[data-concept=atlas] .brand-mark b{background:var(--pink)}
[data-concept=atlas] .brand-mark b:nth-child(2){background:var(--orange)}
[data-concept=atlas] .brand-mark b:nth-child(3){background:var(--yellow);box-shadow:inset 0 0 0 1px var(--slate)}
[data-concept=atlas] .brand-mark b:last-child{background:var(--slate);opacity:1}
[data-concept=atlas] .global-search>.ico,[data-concept=atlas] .search-field>.ico{color:var(--pink)}
[data-concept=atlas] .global-search:hover{border-color:var(--pink)}
[data-concept=atlas] .tabs>button.active{border-bottom-color:var(--pink)}
[data-concept=atlas] .filter-count{background:var(--pink);color:var(--selection-ink)}
[data-concept=atlas] .filter-choice input:checked+span{background:var(--pink);border-color:var(--pink);color:var(--selection-ink)}
[data-concept=atlas] .filter-choice input:focus-visible+span{outline-color:var(--focus)}
[data-concept=atlas] .range-control:focus-within{border-color:var(--focus);outline-color:var(--focus)}
[data-concept=atlas] .directory-table tbody tr.selected>td:first-child{box-shadow:inset 3px 0 var(--pink)}
[data-concept=atlas] .search-result.active{box-shadow:inset 3px 0 var(--pink)}
[data-concept=atlas] .search-field:focus-within{box-shadow:inset 0 -2px var(--pink)}
[data-concept=atlas] .rank-badge:not([data-rank="unknown"]){background:var(--slate);color:var(--yellow)}
[data-concept=atlas] .rank-badge[data-rank="5"]{box-shadow:inset 0 0 0 1px var(--pink)}
[data-concept=atlas] .profile-shield{background:var(--slate);color:var(--yellow)}
[data-concept=atlas] .feed-event-badge{background:var(--slate);color:var(--orange)}
[data-concept=atlas] .switch:checked{background:var(--yellow);box-shadow:inset 0 0 0 1px var(--slate)}
[data-concept=atlas] .switch:checked:before{background:var(--primary-ink)}
/* Keep the selected-row marker and keyboard focus inside separate padded areas. */
.directory-table thead th:first-child{padding-left:16px}
.directory-table tbody td:first-child{padding:9px 14px 9px 10px}
.directory-table tbody tr[data-alliance-row]{cursor:pointer}
.directory-table .player-button{width:100%;min-width:0;padding:6px;border-radius:8px;white-space:normal}
.directory-table .player-button:focus-visible{outline:2px solid var(--focus,var(--accent));outline-offset:-2px}
.directory-table .player-button strong{overflow-wrap:anywhere}
.directory-table .player-button .shielded{flex-shrink:0}
@keyframes drawer-enter{from{transform:translateX(100%);opacity:.65}to{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* State controls belong to the current view. Search is always global. */
.topbar{grid-template-columns:minmax(180px,1fr) minmax(0,600px) minmax(180px,1fr)}
.brand{min-width:0;gap:12px;justify-self:start;color:inherit;text-decoration:none}.brand-mark,.brand-wordmark{flex:none}
/* A compact, slanted wordmark gives the game-intelligence tool its own signature. */
.brand-wordmark{font-family:"Avenir Next Condensed","Arial Narrow","Avenir Next",sans-serif;font-style:italic;font-weight:850;text-transform:uppercase;color:var(--ink)}
.brand-full{display:flex;flex-direction:column;gap:1px;line-height:1}
.brand-overline{font-size:11px;font-weight:750;letter-spacing:.16em;padding-left:2px}
.brand-title{font-size:28px;font-weight:900;letter-spacing:-.035em}
.brand-short{display:none;font-size:27px;font-weight:900;line-height:1;letter-spacing:-.04em}
.brand .brand-mark{width:27px;height:27px;gap:3px}
.state-controls{display:flex;align-items:center;gap:3px;padding:4px;border:1px solid var(--line);border-radius:11px;background:var(--surface);min-width:0}
.state-field-icon{width:14px;height:14px;flex:none;color:var(--muted);margin-left:6px}
.state-controls .state-input{flex:1;width:0;min-width:0;min-height:32px;border:0;border-radius:5px;background:transparent;padding:5px 6px;font-size:12px;font-weight:550;color:var(--ink);font-variant-numeric:tabular-nums}
.state-controls .state-input:focus-visible{outline-offset:-2px}
.state-controls .state-input[aria-invalid=true]{box-shadow:inset 0 0 0 1px var(--focus,var(--accent))}
.state-refresh{display:grid;place-items:center;width:32px;min-width:32px;min-height:32px;padding:0;border-radius:7px;color:var(--muted)}
.state-refresh:hover{color:var(--ink);background:var(--surface)}.state-refresh .ico{width:16px;height:16px}
.state-refresh.is-refreshing .ico{animation:state-refresh-spin 1s linear infinite}
@keyframes state-refresh-spin{to{transform:rotate(360deg)}}
.global-search>span:first-of-type{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-scope{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 20px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}
.search-loading,.search-coordinate-hint{padding:18px 12px;color:var(--muted);font-size:12px;line-height:1.6}
.directory-search{display:flex;align-items:center;gap:10px;width:100%;margin:14px 0 4px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.directory-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.directory-search>.ico{width:17px;height:17px;color:var(--muted);flex:none}
.directory-search input{flex:1;min-width:0;width:100%;min-height:42px;border:0;background:transparent;padding:9px 0;font-size:14px;outline:none}
.directory-search input:focus-visible{outline:none}
.directory-search input::-webkit-search-cancel-button{display:none}
.directory-search .icon-button{width:30px;height:30px;border-radius:5px}
.identity-state{white-space:nowrap;color:var(--muted)}.feed-state{display:inline-block;white-space:nowrap;margin-left:6px;color:var(--ink)}
.view-loading{display:flex;align-items:center;justify-content:center;min-height:240px;font-size:14px;color:var(--muted)}
.map-state-choices{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:4px 0 20px}.map-state-choices .button{margin-top:0}
.copy-view-link{width:34px;height:34px}.copy-view-link .ico{width:16px;height:16px}
/* The state field and observation time form one toolbar in the view heading. */
.page-heading{flex-wrap:wrap;align-items:flex-start;gap:20px 24px}
.heading-copy{flex:1 1 230px;min-width:0}
.page-heading .heading-meta{align-items:center;gap:14px;padding-top:0;margin-left:auto;max-width:100%;min-width:0}
.view-state-slot{flex:0 1 256px;width:256px;min-width:0}
.view-state-slot .state-controls{width:100%}
.page-heading .heading-meta .saved-label{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding-left:14px;border-left:1px solid var(--line);line-height:1.3;min-width:84px}
.page-heading .saved-label:before{display:none}
.page-heading .saved-label small{font-size:10px;font-weight:450;color:var(--muted)}
.page-heading .saved-label strong{font-size:11px;font-weight:550;color:var(--ink)}
@container preview (max-width:760px){
  .topbar,[data-concept=index] .topbar{grid-template-columns:minmax(0,1fr) 38px}
  .search-scope{padding:8px 14px}
  .global-search>span:first-of-type{flex-shrink:0}
}
@container content (max-width:560px){
  .page-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:18px}
  .heading-copy{grid-column:1;grid-row:1}
  .page-heading .heading-meta{display:contents}
  .page-heading .copy-view-link{grid-column:2;grid-row:1;justify-self:end}
  .view-state-slot{grid-column:1;grid-row:2;width:100%}
  .page-heading .heading-meta .saved-label{grid-column:2;grid-row:2;align-self:center;padding-left:12px;min-width:76px}
  .state-controls .state-input{min-height:36px;font-size:16px}
  .state-field-icon{display:none}
  .state-refresh{min-height:36px;min-width:32px;width:32px}
}
@container content (max-width:340px){
  .view-state-slot{grid-column:1/-1}
  .page-heading .heading-meta .saved-label{grid-column:1/-1;grid-row:3;flex-direction:row;gap:8px;padding-left:0;border-left:0}
  .page-heading{row-gap:12px}
}
@container preview (max-width:355px){.brand{gap:7px}.brand-mark{width:18px;height:18px}.search-scope{font-size:10px}}
@media(prefers-reduced-motion:reduce){.profile-panel{animation:none}button,.switch:before{transition:none}}

@container preview (max-width:760px){.brand-overline{font-size:10px}.brand-title{font-size:25px}.brand .brand-mark{width:24px;height:24px}}
@container preview (max-width:420px){.brand-full{display:none}.brand-short{display:block}.brand{gap:10px}.brand .brand-mark{width:22px;height:22px}}

/* Approved Atlas map controls. Game artwork keeps its native palette. */
.study-bar .device-toggle{margin-left:auto}
.avatar-fallback{display:grid;place-items:center;background:var(--surface-alt);color:var(--muted);font-size:24px}
.directory-more{margin:18px auto;display:flex;gap:12px}
.map-view{min-width:0}.map-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin-bottom:14px;font-size:12px}
.map-toolbar label{display:flex;align-items:center;gap:8px;white-space:nowrap}.map-toolbar input[type=number]{width:54px;min-height:36px;padding:6px 7px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-variant-numeric:tabular-nums;font:inherit}
.map-toolbar input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;min-height:0;margin:0;cursor:pointer}
.map-toolbar select{max-width:210px;min-height:36px;font:inherit;padding:6px 28px 6px 10px;border-radius:8px}.map-reset{font-size:12px;color:var(--muted);padding:8px;margin-left:auto;min-height:36px}.map-reset:hover{color:var(--ink);background:var(--surface-alt)}
.map-alliance-strip{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.map-alliance-chip{display:flex;align-items:center;gap:7px;min-height:32px;padding:5px 10px;border:1px solid var(--line);border-radius:18px;background:var(--surface);font-size:11px;font-weight:600}
.map-alliance-chip>span{width:8px;height:8px;border-radius:50%;background:var(--alliance-color);box-shadow:0 0 0 1px #21293c4d}.map-alliance-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.map-status{font-size:11px;color:var(--muted);margin-left:auto}
.map-stage{position:relative;isolation:isolate;height:var(--map-viewport-height,max(360px,calc(100dvh - 355px)));min-height:360px;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;background:#137e93;border:1px solid var(--line);border-radius:16px;cursor:grab;outline-offset:3px}
.map-stage.is-pickable{cursor:pointer}.map-stage.is-dragging{cursor:grabbing}.map-art-canvas,.map-overlay-canvas{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.map-overlay-canvas{z-index:1}
.map-loading{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:var(--surface);color:var(--muted);font-size:14px}.map-loading[hidden],.map-empty[hidden],.map-tooltip[hidden]{display:none}
.map-empty{position:absolute;top:18px;left:18px;max-width:min(310px,calc(100% - 100px));padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:12px;line-height:1.6;z-index:2;pointer-events:none}
.map-camera-controls{position:absolute;right:14px;top:14px;display:flex;flex-direction:column;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:11px;z-index:3;box-shadow:0 3px 14px #0002;overflow:hidden}
.map-camera-controls button{width:42px;height:42px;min-height:42px;border-radius:0;display:grid;place-items:center;font-size:24px;color:var(--ink)}.map-camera-controls button:hover{background:var(--surface-alt)}.map-camera-controls button:disabled{opacity:.35;cursor:default}.map-zoom-readout{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;padding:1px 0}.map-camera-controls .map-fit-button{font-size:25px;border-top:1px solid var(--line)}

.map-mini{position:absolute;z-index:3;left:14px;bottom:18px;border:1px solid #E3EDF197;border-radius:9px;background:#123F53;overflow:hidden;cursor:crosshair;box-shadow:0 3px 12px #0002}.map-mini canvas{display:block;width:132px;height:93px;touch-action:none}.map-mini span{display:block;text-align:center;font-size:10px;padding:4px;color:#fff;background:#193F51}
.map-tooltip{position:absolute;z-index:4;transform:translate(-50%,-100%);pointer-events:none;background:var(--surface);color:var(--ink);padding:9px 12px;border:1px solid var(--line);border-radius:8px;box-shadow:0 3px 16px #0003;font-size:12px;max-width:min(260px,90%)}
.map-scale{position:absolute;bottom:23px;left:162px;display:flex;flex-direction:column;align-items:center;gap:4px;color:white;text-shadow:0 1px 3px #000;font-size:10px;pointer-events:none;z-index:2}.map-scale-line{height:6px;border:1px solid white;border-top:0;box-shadow:0 1px 1px #0006}
.map-caption{display:flex;align-items:center;gap:15px;font-size:10px;color:var(--muted);padding:9px 2px;font-variant-numeric:tabular-nums}.map-coordinates{margin-left:auto}.map-below{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;font-size:11px;color:var(--muted);padding:8px 0}.map-below p{margin:0;line-height:1.5}.map-player-access{flex:0 0 180px;max-width:50%;position:relative}.map-player-access summary{cursor:pointer;text-align:right}.map-player-list{position:absolute;z-index:4;bottom:28px;right:0;width:260px;max-height:360px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 5px 30px #0003;padding:5px}.map-player-list button{display:flex;align-items:center;gap:10px;padding:8px;width:100%;text-align:left;border-radius:7px}.map-player-list button:hover{background:var(--surface-alt)}.map-player-list img{width:36px;height:36px;border-radius:10px;object-fit:cover}.map-player-list small{display:block;color:var(--muted);margin-top:3px;font-size:10px}.map-player-list strong{font-size:12px;color:var(--ink)}
@container preview (max-width:760px){.map-toolbar{gap:8px 12px;font-size:11px}.map-toolbar select{max-width:182px;min-height:40px}.map-toolbar input[type=number]{min-height:40px}.map-reset{margin-left:0;min-height:40px}.map-territory-toggle{margin-left:auto}.map-status{width:100%;margin-left:2px;padding-top:3px}.map-alliance-strip{gap:6px}.map-alliance-chip{min-height:36px;padding:6px 10px}.map-stage{height:var(--map-viewport-height,max(390px,calc(100dvh - 425px)));border-radius:12px}.map-camera-controls{right:10px;top:10px}.map-camera-controls button{width:44px;height:44px}.map-mini{left:10px;bottom:14px}.map-mini canvas{width:96px;height:68px}.map-mini span{font-size:9px}.map-scale{left:121px;bottom:30px}.map-below p{max-width:180px}.map-player-access{flex-basis:130px}.map-caption{gap:9px}}
@container preview (max-width:380px){.map-territory-toggle{margin-left:0}.map-toolbar{column-gap:9px}.map-scale{display:none}.map-toolbar select{max-width:175px}.map-caption{font-size:9px}}
.map-list-note{padding:10px;font-size:11px;line-height:1.5;color:var(--muted)}

.map-player-list button[aria-pressed=true]{background:var(--accent-soft);outline:1px solid var(--accent);outline-offset:-1px}

/* Center the supporting views and give their headings the same content edges. */
.centered-page{width:100%;max-width:1280px;margin-inline:auto;min-width:0}
.settings-section>p{max-width:65ch}
.settings-content .setting-label{min-width:0}
.settings-content .theme-control,.settings-content .setting-row select{flex-shrink:0;max-width:100%}
@container content (min-width:960px){
  .settings-content{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px;row-gap:40px;align-items:start}
  .settings-content>#audit{grid-column:1/-1}
}
@container content (max-width:560px){
  .settings-content{gap:30px}
  .settings-content .setting-row{flex-wrap:wrap}
}

/* Activity keeps portraits prominent and its live filters in two compact rows. */
.activity-start{padding:clamp(36px,7vw,90px) 0;text-align:center}
.activity-start-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 20px;background:var(--surface-alt);color:var(--accent);border-radius:18px}
.activity-start-icon .ico{width:27px;height:27px}
.activity-start h2{font-size:25px;font-weight:600;letter-spacing:-.6px}
.activity-start>p{max-width:48ch;margin:10px auto 26px;color:var(--muted);line-height:1.6}
.activity-state-choices{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.activity-state-choice{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:210px;padding:20px 24px;background:var(--surface);border:1px solid var(--line);text-align:left}
.activity-state-choice:hover{border-color:var(--accent);background:var(--row-hover)}
.activity-state-choice strong{font-size:20px;font-weight:650}.activity-state-choice span{font-size:13px}.activity-state-choice small{font-size:11px;color:var(--muted)}
.activity-controls{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.activity-search{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding-left:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted)}
.activity-search:focus-within{border-color:var(--focus);outline:2px solid var(--focus);outline-offset:2px}
.activity-search input:focus-visible{outline:none}
.activity-search input{width:100%;min-width:0;background:transparent;border:0;padding:10px 12px 10px 0;border-radius:10px;min-height:46px;font-size:14px;color:var(--ink)}
.activity-filter-toggle{min-height:46px;border-radius:10px;padding:10px 16px;gap:8px}
.activity-filter-toggle[aria-expanded=true]{border-color:var(--focus)}
.activity-filter-drawer{position:fixed;inset:0 0 0 auto;width:min(440px,100vw);height:100dvh;max-height:100dvh;max-width:100vw;margin:0;padding:0;border:0;border-left:1px solid var(--line);border-radius:20px 0 0 20px;background:var(--surface);color:var(--ink);box-shadow:-16px 0 64px #0003;overflow:hidden}
.activity-filter-drawer[open]{display:flex;flex-direction:column;animation:drawer-enter .2s ease-out}
.activity-filter-drawer::backdrop{background:#090b1080}
.activity-drawer-header{display:flex;align-items:center;gap:10px;flex-shrink:0;padding:26px 22px 22px;border-bottom:1px solid var(--line)}
.activity-drawer-header>div{flex:1;min-width:0}.activity-drawer-header h2{font-size:21px;letter-spacing:-.5px;font-weight:650}
.activity-drawer-header p{font-size:11px;color:var(--muted);margin-top:6px}.activity-drawer-header .text-button{min-height:42px}
.activity-drawer-body{display:flex;flex-direction:column;gap:22px;padding:24px;overflow-y:auto;min-height:0;overscroll-behavior:contain}
.activity-drawer-field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:13px;font-weight:550}
.activity-drawer-field>span:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.activity-drawer-field small,.activity-date-field small{font-size:10px;font-weight:400;color:var(--muted)}
.activity-drawer-field select,.activity-drawer-field input{width:100%;min-width:0;min-height:46px;border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:var(--bg);color:var(--ink);font-size:14px;font-weight:450}
.activity-drawer-field select:hover,.activity-drawer-field input:hover{border-color:var(--muted)}
.activity-drawer-body fieldset{margin:0;padding:0;border:0;min-width:0}
.activity-drawer-body legend{display:flex;align-items:baseline;justify-content:space-between;width:100%;padding:0;margin-bottom:10px;font-size:13px;font-weight:550}
.activity-event-field legend span{font-size:11px;color:var(--muted);font-weight:400}
.activity-event-options{max-height:230px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:4px}
.activity-event-choice{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:12px;line-height:1.4}
.activity-event-choice:hover{background:var(--row-hover)}.activity-event-choice:has(input:checked){background:var(--accent-soft)}
.activity-event-choice input{width:16px;height:16px;min-height:0;flex:none;padding:0;margin:0;accent-color:var(--focus)}
.activity-date-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.activity-date-range .activity-drawer-field>span{font-size:11px;color:var(--muted);font-weight:450}
.activity-date-range input{cursor:pointer;font-variant-numeric:tabular-nums;position:relative}
.activity-power-input{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding-right:12px}
.activity-power-input input{border:0;background:transparent}.activity-power-input>span{font-size:12px;font-weight:400;color:var(--muted)}
.activity-filter-error{font-size:12px;color:var(--focus)}
.activity-coverage,.activity-results-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 20px;color:var(--muted);font-size:11px}
.activity-coverage{padding:12px 0 24px}
.activity-results-heading{font-size:12px;padding-bottom:18px}
.activity-results-heading>[role=status]{font-weight:600;color:var(--ink)}
.activity-day{font-size:13px;font-weight:650;color:var(--ink);display:flex;align-items:center;gap:14px;margin-top:16px;padding:8px 0}
.activity-day:after{content:"";height:1px;background:var(--line);flex:1}
.activity-list .feed-entry{grid-template-columns:72px minmax(0,1fr) auto;column-gap:20px;padding:24px 0}
.activity-list .feed-portrait,.activity-list .feed-portrait .avatar{width:72px;height:72px;border-radius:18px}
.activity-list .feed-portrait .avatar-fallback{display:grid;place-items:center;font-size:25px}
.feed-alliance-portrait{display:grid;place-items:center;width:100%;height:100%;border:1px solid var(--line);border-radius:18px;background:var(--surface-alt);color:var(--accent);font-size:18px;font-weight:700;overflow:hidden}
.feed-alliance-portrait .ico{width:26px;height:26px}
.feed-transition{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 10px;margin-top:7px;font-size:14px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:78ch}
.feed-before,.feed-transition-arrow{color:var(--muted)}.feed-transition strong{font-weight:600}
.feed-delta{font-size:12px;font-weight:600;border-radius:5px;padding:2px 6px;background:var(--surface-alt);color:var(--ink)}
.feed-delta.decrease{color:var(--focus)}.app[data-theme=dark] .feed-delta.increase{color:var(--yellow)}
.feed-evidence{font-size:11px;line-height:1.6;color:var(--muted);margin-top:6px;max-width:74ch}
.feed-event-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:10px;margin-top:8px}
.activity-list .feed-time{font-variant-numeric:tabular-nums;font-size:12px}
.feed-time>span{font-size:10px;margin-left:3px}
.activity-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:24px 0;font-size:11px;color:var(--muted)}
.portrait-unavailable{display:grid;place-items:center;background:var(--surface-alt)}.portrait-unavailable:before{content:"?";font-size:24px;color:var(--muted)}
/* Native menus need an opaque surface and explicit text colors in each theme. */
.app select{color:var(--ink);color-scheme:inherit}
.app select option,.app select optgroup{background-color:var(--surface);color:var(--ink);font-size:14px;font-weight:500}
.app select option:checked{background-color:var(--slate,#21293c);color:#fff}
.app select option:disabled{color:var(--muted)}
@container content (max-width:560px){
  .activity-start{padding:32px 0}.activity-start h2{font-size:22px}.activity-state-choices{flex-direction:column}.activity-state-choice{width:100%;min-width:0}
  .activity-controls{gap:8px}.activity-search{padding-left:10px}.activity-search input{font-size:16px}.activity-filter-toggle{padding:10px 12px}.activity-filter-toggle>.ico{display:none}
  .activity-coverage{padding-bottom:20px}.activity-results-heading{font-size:11px;padding-bottom:8px}
  .activity-list .feed-entry{grid-template-columns:60px minmax(0,1fr);column-gap:14px;padding:20px 0}
  .activity-list .feed-portrait,.activity-list .feed-portrait .avatar{width:60px;height:60px;border-radius:16px}
  .feed-transition{font-size:12px;gap:5px 7px}.feed-delta{font-size:11px}.activity-list .feed-time{font-size:11px}
}

/* Editable saved-state picker: opening shows the full catalog, typing narrows it. */
.state-picker-toggle{display:grid;place-items:center;flex:none;width:24px;height:32px;border-radius:5px;font-size:19px;color:var(--muted)}
.state-picker-toggle:hover,.state-picker-toggle[aria-expanded=true]{background:var(--surface-alt);color:var(--ink)}
.saved-state-options[popover]{position:fixed;inset:auto;margin:0;padding:5px;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 36px #0004}
.saved-state-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:10px 12px;border-radius:7px;cursor:pointer}
.saved-state-choice:hover,.saved-state-choice.active{background:var(--row-hover)}
.saved-state-choice[aria-selected=true]{box-shadow:inset 3px 0 var(--focus);background:var(--accent-soft)}
.saved-state-choice>span{display:flex;flex-direction:column;gap:3px}.saved-state-choice strong{font-size:14px;font-weight:650}.saved-state-choice small{font-size:10px;color:var(--muted)}
.saved-state-count{font-size:11px;text-align:right;color:var(--muted)}.saved-state-empty{font-size:12px;color:var(--muted);padding:16px;max-width:36ch}
@container preview (max-width:480px){.activity-filter-drawer{width:min(400px,100vw);border-radius:16px 0 0 16px}.activity-drawer-header{padding:20px 16px}.activity-drawer-body{padding:20px 16px;gap:20px}.activity-drawer-field select,.activity-drawer-field input{font-size:16px}.activity-date-range input{padding:10px 7px;font-size:14px}.activity-drawer-field small{font-size:10px}}

.mobile-preview .activity-filter-drawer{right:max(0px,calc((100vw - 390px)/2));top:72px;bottom:auto;width:min(390px,100vw);height:min(844px,calc(100dvh - 90px));border-radius:16px}
@media(max-width:650px){.mobile-preview .activity-filter-drawer{top:54px;height:calc(100dvh - 54px);border-radius:0}}

.activity-calendar[popover]{position:fixed;inset:auto;margin:0;padding:12px;overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 40px #0004}
.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.calendar-heading strong{font-size:14px;font-weight:650}.calendar-heading button{width:36px;height:36px;font-size:24px;color:var(--muted)}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.calendar-weekdays span{text-align:center;padding:6px 0;font-size:10px;color:var(--muted)}
.calendar-days button{min-height:34px;border-radius:6px;font-size:12px;font-variant-numeric:tabular-nums}.calendar-days .calendar-other-month{color:var(--muted)}.calendar-days button:hover,.calendar-heading button:hover{background:var(--row-hover)}
.calendar-days button[aria-pressed=true]{background:var(--primary);color:var(--primary-ink);box-shadow:inset 0 0 0 1px var(--primary-border);font-weight:700}
.calendar-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:8px;margin-top:8px}.calendar-footer button{min-height:34px;font-size:12px;color:var(--accent);padding:6px}

.map-below{flex-wrap:wrap}.map-below #mapHelp{flex:1 1 420px;max-width:none}.map-below>.map-list-note{flex-basis:100%;max-width:none}
.map-hive-access,.map-journey-access{flex:1 1 150px;max-width:50%;position:relative}.map-hive-access summary,.map-journey-access summary{cursor:pointer}
.map-hive-list,.map-journey-list{position:absolute;z-index:4;bottom:28px;left:0;width:min(260px,calc(100vw - 40px));max-height:360px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 5px 30px #0003;padding:5px}
.map-hive-list button,.map-journey-list button{display:block;padding:8px;width:100%;text-align:left;border-radius:7px}.map-hive-list button:hover,.map-journey-list button:hover{background:var(--surface-alt)}
.map-hive-list small,.map-journey-list small{display:block;color:var(--muted);margin-top:3px;font-size:10px}.map-hive-list strong,.map-journey-list strong{font-size:12px;color:var(--ink)}
.map-live-legend{display:flex;flex-wrap:wrap;gap:8px 16px;padding:10px 16px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.map-live-legend>span{display:inline-flex;align-items:center;gap:6px}.map-live-legend i{width:18px;border-top:2px dashed var(--relation-color)}.map-live-legend small{flex-basis:100%;font-size:10px}
.map-live-legend [data-relationship=friendly],.map-hive-relationship[data-relationship=friendly]{--relation-color:#E9F400}.map-live-legend [data-relationship=opposing],.map-hive-relationship[data-relationship=opposing]{--relation-color:#FF6577}.map-live-legend [data-relationship=unknown],.map-hive-relationship[data-relationship=unknown]{--relation-color:#B397FF}.map-live-legend [data-relationship=stale]{--relation-color:#88939A}
.map-hive-row+.map-hive-row{border-top:1px solid var(--line);margin-top:4px;padding-top:4px}.map-hive-relationship::before{content:'';display:inline-block;width:6px;height:6px;background:var(--relation-color);border-radius:50%;margin-right:4px}.map-hive-list .map-hive-alliance{font-size:11px;color:var(--accent);padding-top:3px}
.map-access{display:flex;flex-basis:100%;min-width:0;gap:12px}.map-access>details{flex:1 1 0;min-width:0;max-width:none;position:relative}.map-access summary{min-height:32px;text-align:left;cursor:pointer}.map-access .map-hive-list,.map-access .map-journey-list,.map-access .map-player-list{bottom:calc(100% + 6px)}
