:root{font-family:Inter,Arial,sans-serif;color-scheme:dark;--bg:#0b1017;--panel:#131b25;--field:#1a2430;--text:#edf3f6;--muted:#9faebd;--line:#2b3745;--accent:#b2e6f9;--button:#b2e6f9;--button-text:#102832;--soft:#172b38;--star:#93c6e23b;--halo:#488fb912}
:root[data-theme=light]{color-scheme:light;--bg:#f2f6f8;--panel:#ffffff;--field:#f4f8fb;--text:#132731;--muted:#526773;--line:#d2dee5;--accent:#14708c;--button:#183e50;--button-text:#fff;--soft:#edf5f9;--star:#48738727;--halo:#488fb90b}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 34%,var(--halo),transparent 60%),var(--bg);color:var(--text);font-size:16px;line-height:1.6;min-height:100svh;display:flex;flex-direction:column;isolation:isolate}body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(circle,var(--star) .7px,transparent 1px),radial-gradient(circle,var(--star) .8px,transparent 1.2px),radial-gradient(circle,var(--star) .5px,transparent 1px);background-size:113px 137px,197px 179px,73px 193px;background-position:16px 12px,79px 63px,44px 29px;mask-image:radial-gradient(ellipse,black,transparent 90%)}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}svg{display:block;width:22px;height:22px}.topbar{padding:18px 30px;display:flex;justify-content:flex-end;min-height:76px}.theme-toggle{border:1px solid var(--line);border-radius:30px;background:var(--bg);color:var(--muted);display:flex;align-items:center;gap:9px;padding:9px 14px;font-size:14px;min-height:44px}.theme-toggle:hover{color:var(--text)}main{width:100%;max-width:496px;margin:auto;padding:22px 24px 40px}.identity{text-align:center;margin-bottom:27px}.faction-logo{display:block;width:96px;height:112px;object-fit:contain;margin:0 auto 17px;filter:drop-shadow(0 0 18px #85d6ff18)}[data-theme=light] .faction-logo{filter:brightness(.42) saturate(1.5)}h1{font-size:30px;line-height:1.2;letter-spacing:-1px;font-weight:650;margin:0}.identity p{margin:9px 0 0;color:var(--muted);font-size:15px}.login-card{padding:28px 30px 24px;background:var(--panel);border:1px solid var(--line);border-radius:17px;box-shadow:0 16px 50px #00000010}.field-label{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:14px;font-weight:600;margin-bottom:9px;flex-wrap:wrap}.key-types{font-size:12px;font-weight:400;color:var(--muted)}.input-wrap{position:relative}.input-wrap input{width:100%;height:52px;border-radius:8px;border:1px solid var(--line);color:var(--text);background:var(--field);padding:0 51px 0 14px;font-size:16px}.input-wrap input::placeholder{color:var(--muted);opacity:.8}.reveal{position:absolute;right:4px;top:4px;display:grid;place-items:center;width:44px;height:44px;background:transparent;color:var(--muted);border:0;border-radius:5px}.field-help{font-size:12px;color:var(--muted);margin:8px 0 22px}.consent-box{margin:0 0 22px}.consent-label{display:flex;gap:10px;cursor:pointer;align-items:flex-start}.consent-label input{width:18px;height:18px;accent-color:#4b9dbc;margin:3px 0 0;flex-shrink:0}.consent-label strong{font-size:14px;font-weight:500;line-height:1.5;display:block}.consent-description{display:block;font-size:12px;line-height:1.6;margin-top:5px;color:var(--muted)}.submit{width:100%;min-height:49px;border:0;border-radius:30px;background:var(--button);color:var(--button-text);font-size:16px;font-weight:600;padding:12px 18px}.submit:hover{filter:brightness(1.07)}.help{margin-top:13px;font-size:14px}.help summary{list-style:none;display:flex;justify-content:center;gap:9px;align-items:center;cursor:pointer;min-height:44px;color:var(--muted)}.help summary::-webkit-details-marker{display:none}.help summary span{font-size:18px}.help[open] summary span{transform:rotate(45deg)}.help-content{font-size:14px;color:var(--muted)}.help-content a{color:var(--accent);text-underline-offset:4px}.preview-note{padding-top:14px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:center;align-items:baseline;flex-wrap:wrap}.preview-tag{font-size:12px;color:var(--accent)}.preview-note p{font-size:12px;color:var(--muted);margin:0}.response{font-size:14px;color:var(--accent);padding:12px;background:var(--soft);border-radius:6px}.footer{padding:15px 24px 22px;display:flex;justify-content:center;font-size:12px;color:var(--muted)}
@media(max-width:520px){.topbar{padding:14px 20px;min-height:66px}.theme-toggle span{display:none}.theme-toggle{width:44px;justify-content:center;padding:9px}main{padding:5px 20px 30px}.faction-logo{width:79px;height:93px;margin-bottom:15px}h1{font-size:27px}.identity{margin-bottom:24px}.login-card{padding:25px 22px 21px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s,color .15s,filter .15s}}

[hidden]{display:none!important}.session-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.session-actions button{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--text)}#signed-in h2{font-size:25px;margin:0 0 18px}dl{margin:0 0 22px}dt{font-size:12px;color:var(--muted)}dd{margin:0 0 12px;overflow-wrap:anywhere}#settings-limit{padding:10px;width:100%;background:var(--field);color:var(--text);border:1px solid var(--line);border-radius:8px}#account-status{font-size:14px;color:var(--accent)}button:disabled{opacity:.6;cursor:wait}

.account-header{display:flex;align-items:center;gap:17px;margin-bottom:26px}.avatar-wrap{position:relative;flex:0 0 76px;width:76px;height:76px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--field);display:grid;place-items:center}.avatar-wrap img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.avatar-wrap span{font-size:23px;font-weight:600;color:var(--accent)}.account-intro{min-width:0}.account-eyebrow{font-size:11px;letter-spacing:1.4px;color:var(--muted)}#signed-in .account-header h2{font-size:23px;line-height:1.3;margin:4px 0;overflow-wrap:anywhere}#profile-summary{font-size:13px;color:var(--muted);margin:0}@media(max-width:380px){.avatar-wrap{flex-basis:62px;width:62px;height:62px}.account-header{gap:12px}#signed-in .account-header h2{font-size:20px}}
/* Dashboard and settings share the login theme tokens. */
.dashboard-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:13px;letter-spacing:1.4px}.dashboard-brand img{object-fit:contain}[data-theme=light] .dashboard-brand img{filter:brightness(.4)}.authenticated .topbar{border-bottom:1px solid var(--line);align-items:center;gap:35px;padding:18px 4%}.authenticated .theme-toggle{margin-left:auto}#dashboard-nav{display:flex;gap:10px}#dashboard-nav a{padding:9px 15px;text-decoration:none;color:var(--muted);font-size:14px;border-radius:8px}#dashboard-nav a.active{background:var(--soft);color:var(--accent)}body.authenticated main{max-width:1600px;width:100%;margin:0 auto;flex:1;padding:42px 4%}.authenticated #signed-in{max-width:560px;margin:0 auto}.dashboard-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:28px}.dashboard-heading h1{font-size:30px;letter-spacing:-.9px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--accent);margin:0 0 9px}#dashboard-subtitle{font-size:14px;color:var(--muted);margin:10px 0 0}.refresh-area{display:flex;align-items:flex-end;flex-direction:column;gap:8px}.refresh-area button{border:1px solid var(--line);background:var(--panel);color:var(--text);padding:11px 18px;border-radius:9px;font-size:14px}.refresh-area span{font-size:12px;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1.15fr 1fr 1.25fr 1fr;gap:18px;align-items:start}.dashboard-panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;padding:22px;min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:20px}.panel-heading h2{font-size:15px;line-height:1.4;margin:0;font-weight:600}.panel-heading a{font-size:12px;color:var(--muted);text-underline-offset:3px}.panel-kicker{font-size:11px;color:var(--muted)}#dashboard-profile{display:flex;align-items:center;gap:13px;margin-bottom:25px}#dashboard-profile .avatar-wrap{width:55px;height:55px;flex-basis:55px;border-radius:10px}#dashboard-profile a{font-size:17px;font-weight:600;text-decoration:none}.profile-meta{font-size:12px;color:var(--muted);margin:5px 0 0}.stat-bar{margin-bottom:17px}.stat-bar-label{display:flex;justify-content:space-between;gap:9px;font-size:12px;margin-bottom:7px}.stat-bar-label span{color:var(--muted)}.stat-bar-label strong{font-weight:500;font-variant-numeric:tabular-nums}progress{display:block;width:100%;height:6px;border:0;border-radius:6px;overflow:hidden;appearance:none;background:var(--line);color:var(--accent)}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--accent);border-radius:6px}progress::-moz-progress-bar{background:var(--accent)}.nerve progress::-webkit-progress-value{background:#e8c66c}.happy progress::-webkit-progress-value{background:#6ac4a2}.life progress::-webkit-progress-value{background:#e78594}.nerve progress::-moz-progress-bar{background:#e8c66c}.happy progress::-moz-progress-bar{background:#6ac4a2}.life progress::-moz-progress-bar{background:#e78594}#personal-cooldowns{border-top:1px solid var(--line);margin-top:20px;padding-top:13px}.metric-row{display:flex;justify-content:space-between;gap:14px;margin:15px 0;font-size:14px}.metric-row span{color:var(--muted)}.metric-row strong{text-align:right;font-weight:500;font-variant-numeric:tabular-nums}.metric-row .ready{color:#68bd9b}.data-note{font-size:13px;color:var(--muted);line-height:1.6}.data-timestamp{font-size:11px;color:var(--muted);margin:16px 0 0}.faction-name{font-size:21px;line-height:1.4;margin:0 0 14px}.rank-badge{display:inline-block;padding:5px 11px;background:var(--soft);color:var(--accent);font-size:13px;border:1px solid var(--line);border-radius:6px;margin-bottom:18px}#activity-counts{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}.activity-pill{font-size:11px;padding:4px 7px;border:1px solid var(--line);border-radius:5px;color:var(--muted)}.online{color:#68bd9b}.idle{color:#d5b361}#member-search{width:100%;min-width:0;padding:11px 12px;background:var(--field);border:1px solid var(--line);border-radius:7px;color:var(--text);font-size:14px;margin-bottom:12px}.scroll-list{max-height:365px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.member-row{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:center}.member-name{display:flex;flex-direction:column;min-width:0}.member-name a{font-size:13px;text-decoration:none;overflow-wrap:anywhere}.member-status{font-size:10px}.last-seen{color:var(--muted);font-size:11px;text-align:right;flex-shrink:0}.war-row{padding:0 0 17px;margin-bottom:17px;border-bottom:1px solid var(--line)}.war-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}.result{font-size:10px;letter-spacing:.8px;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:var(--soft);color:var(--accent)}.win{color:#68bd9b}.loss{color:#ec8995}.war-opponent{font-size:14px;font-weight:500;text-decoration:none}.war-opponent:hover,.member-name a:hover{text-decoration:underline}.war-score{font-size:12px;color:var(--muted);margin:5px 0 0}.dashboard-footnote{font-size:12px;color:var(--muted);margin-top:25px}#dashboard-message{font-size:14px;color:var(--muted)}.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}
@media(max-width:1200px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.authenticated .topbar{gap:10px;flex-wrap:wrap;padding:14px 20px}.dashboard-brand{font-size:11px;flex:1}#dashboard-nav{order:3;width:100%}body.authenticated main{padding:25px 20px}.dashboard-heading{align-items:flex-start;flex-direction:column;gap:18px}.dashboard-heading h1{font-size:25px}.refresh-area{flex-direction:row;align-items:center;gap:12px}.dashboard-grid{grid-template-columns:1fr}.dashboard-panel{padding:21px}.scroll-list{max-height:320px}.dashboard-brand img{width:24px;height:30px}}
/* Members working surface */
.members-caption{font-size:14px;color:var(--muted);margin:10px 0 0}.members-actions,.members-toolbar,.column-presets,.connection-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.members-actions button,.members-toolbar button,.column-presets button,.filter-row button,.connection-actions button,.dialog-heading button{border:1px solid var(--line);border-radius:7px;padding:10px 13px;background:var(--panel);color:var(--text);font-size:14px;min-height:42px}.period-buttons{display:flex;border:1px solid var(--line);padding:3px;border-radius:9px;gap:3px}.period-buttons button{border:0;min-width:48px}.period-buttons button[aria-pressed=true]{background:var(--button);color:var(--button-text)}.source-status{display:flex;gap:26px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);padding:16px 20px;border-radius:10px}.source-status>div{display:flex;flex-direction:column;gap:5px}.source-status span{font-size:12px;color:var(--muted)}.source-status strong{font-size:13px;font-weight:500}.source-warning{padding:10px 14px;background:var(--soft);border-left:2px solid var(--accent);color:var(--muted);font-size:13px}.members-toolbar{margin:22px 0 12px;align-items:flex-start}.members-toolbar input,.filter-row input,.filter-row select,.connection-settings input{padding:10px 12px;background:var(--field);color:var(--text);border:1px solid var(--line);border-radius:7px;font:inherit;font-size:14px;min-height:42px}.members-toolbar>input{min-width:220px;flex:1}#column-picker{background:var(--panel);border:1px solid var(--line);border-radius:7px}#column-picker>summary{padding:10px 14px;font-size:14px;cursor:pointer;min-height:42px}#column-picker[open]{flex-basis:100%;order:10;padding-bottom:15px}.column-presets{padding:0 15px 12px}#column-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:13px;padding:0 15px}#column-options fieldset{border:1px solid var(--line);border-radius:6px;min-width:0}#column-options legend{font-size:13px;color:var(--accent)}#column-options label{display:flex;gap:8px;align-items:flex-start;font-size:12px;padding:5px 0}#column-options input{accent-color:#4b9dbc;margin-top:3px}.filter-row{display:flex;gap:9px;margin-bottom:9px;flex-wrap:wrap}.filter-row select{max-width:280px}.filter-row input{width:180px}#members-load-progress{font-size:13px;color:var(--accent)}.table-context{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:22px 0 12px;font-size:12px;color:var(--muted)}.table-context strong{color:var(--text);font-size:14px}.members-table-wrap{overflow:auto;max-height:65vh;border:1px solid var(--line);border-radius:10px;background:var(--panel);scrollbar-width:thin;scrollbar-color:var(--line) var(--panel)}#members-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px;white-space:nowrap}#members-table th,#members-table td{padding:12px 16px;border-bottom:1px solid var(--line);text-align:left;background:var(--panel)}#members-table th{position:sticky;top:0;z-index:3;height:54px;background:var(--field)}#members-table th button{border:0;padding:0;background:transparent;color:var(--text);font:inherit;font-weight:500;min-height:30px}#members-table th:first-child,#members-table td:first-child{position:sticky;left:0;z-index:2;min-width:175px;border-right:1px solid var(--line)}#members-table th:first-child{z-index:5}#members-table .member-averages td{position:sticky;top:54px;z-index:3;background:var(--soft);padding-top:10px;padding-bottom:10px}#members-table .member-averages td:first-child{z-index:4}#members-table .member-averages strong{display:block;font-size:12px;font-weight:600;color:var(--accent)}#members-table .member-averages small{display:block;font-size:10px;color:var(--muted);margin-top:2px}#members-table tbody tr:hover td{background:var(--field)}#members-table td.numeric{font-variant-numeric:tabular-nums;text-align:right}.table-link{padding:0;background:none;border:0;color:var(--accent);font:inherit;text-align:left;cursor:pointer}.table-link:hover{text-decoration:underline}#member-dialog{width:min(560px,calc(100% - 32px));max-height:85vh;overflow:auto;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:24px}#member-dialog::backdrop{background:#0009}.dialog-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.dialog-heading h2{margin:0;font-size:21px}.connection-settings{border-top:1px solid var(--line);margin-top:28px;padding-top:18px}.connection-settings h3{font-size:16px}.connection-settings form{margin:22px 0}.connection-settings input{width:100%;margin-bottom:12px}.connection-settings .field-label{margin-top:8px}#connection-result{font-size:13px;color:var(--accent)}
@media(max-width:640px){.source-status{gap:14px}.members-actions{width:100%}.members-table-wrap{max-height:65vh}#members-table th,#members-table td{padding:10px 12px}#members-table th:first-child,#members-table td:first-child{min-width:140px}.filter-row select,.filter-row input{max-width:100%;width:100%}.members-toolbar>input{width:100%}}

.oc-coverage { display: block; font-size: .72rem; opacity: .8; margin-top: .2rem; }

.faction-history-panel{border:1px solid var(--border,#2c3d4b);border-radius:12px;padding:16px;margin:16px 0}.faction-history-panel summary{cursor:pointer;font-weight:600}.growth-stat{display:inline-block;margin:0 24px 12px 0}#faction-history-rows{max-height:300px;overflow:auto}#faction-history-rows table{width:100%;border-collapse:collapse}#faction-history-rows th,#faction-history-rows td{text-align:left;padding:8px;white-space:nowrap}

/* Rank portal shares all theme tokens and surfaces with the dashboard. */
#rank-self{grid-template-columns:repeat(2,minmax(0,1fr));margin:24px 0}#ranks-view p,#ranks-view li{line-height:1.65}#ranks-view li+li{margin-top:12px}#rank-rows td{vertical-align:top;padding:16px;border-bottom:1px solid var(--line)}#rank-rows td:last-child{min-width:290px;max-width:440px;white-space:normal}#rank-leadership th{padding:16px;text-align:left}#rank-filter{padding:12px;background:var(--field);color:var(--text);border:1px solid var(--line);border-radius:7px}#rank-search{flex:1;min-width:180px}#ranks-status{color:var(--muted);overflow-wrap:anywhere}#rank-leadership{margin-top:30px}@media(max-width:700px){#rank-self{grid-template-columns:1fr}}
.rank-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.rank-settings-grid fieldset{min-width:0;border:1px solid var(--line);border-radius:10px;padding:18px}.rank-settings-grid legend{font-weight:700;color:var(--accent)}.rank-settings-grid label{display:block;margin:12px 0}.rank-settings-grid input[type=number]{display:block;width:100%;box-sizing:border-box;padding:10px;margin-top:6px;background:var(--field);color:var(--text);border:1px solid var(--line);border-radius:6px}.rank-settings-grid input[type=checkbox]{width:auto;margin-right:8px}#rank-settings-panel{margin:24px 0}#rank-settings-message{color:var(--accent)}@media(max-width:700px){.rank-settings-grid{grid-template-columns:1fr}}

/* Shared visual hierarchy: surfaces, semantic labels and table scanning. */
:root{--table-head:#233548;--row-a:#111d2a;--row-b:#182738;--row-hover:#253e51;--good:#8be0b8;--good-soft:#153c32;--warn:#f3d583;--warn-soft:#42391e;--bad:#ffadb3;--bad-soft:#49252e;--info:#a1d8ff;--info-soft:#1c3a52;--protected:#d6bcff;--protected-soft:#352b4e;--warm:#efb58f;--warm-soft:#423023;--neutral:#b2c0cf;--neutral-soft:#293441}
:root[data-theme=light]{--table-head:#dbe7f0;--row-a:#fff;--row-b:#edf3f8;--row-hover:#dcebf6;--good:#176143;--good-soft:#def2e7;--warn:#735000;--warn-soft:#fff0c5;--bad:#992d3d;--bad-soft:#fce4e7;--info:#185b90;--info-soft:#dfedfb;--protected:#68429a;--protected-soft:#eee6fa;--warm:#87431c;--warm-soft:#f9e8db;--neutral:#526171;--neutral-soft:#e6ebf1}
[data-tone=good]{--tone:var(--good);--tone-soft:var(--good-soft)}[data-tone=warn]{--tone:var(--warn);--tone-soft:var(--warn-soft)}[data-tone=bad]{--tone:var(--bad);--tone-soft:var(--bad-soft)}[data-tone=info]{--tone:var(--info);--tone-soft:var(--info-soft)}[data-tone=protected]{--tone:var(--protected);--tone-soft:var(--protected-soft)}[data-tone=warm]{--tone:var(--warm);--tone-soft:var(--warm-soft)}[data-tone=muted]{--tone:var(--neutral);--tone-soft:var(--neutral-soft)}
.status-badge{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:4px 9px;border:1px solid color-mix(in srgb,var(--tone) 36%,transparent);border-radius:6px;background:var(--tone-soft);color:var(--tone);font-size:12px;font-weight:600;line-height:1.5}.status-badge:before{content:'';width:5px;height:5px;background:currentColor;border-radius:50%;flex-shrink:0}
.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px;margin:20px 0}.summary-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:16px 18px;border:1px solid var(--line);border-top:3px solid var(--tone);border-radius:9px;background:var(--panel);color:var(--text);text-align:left;min-height:90px}.summary-card strong{color:var(--tone);font-size:27px;line-height:1.2;font-variant-numeric:tabular-nums}.summary-card span{font-size:12px;margin-top:7px;color:var(--muted)}button.summary-card:hover,button.summary-card[aria-pressed=true]{background:var(--tone-soft);border-color:var(--tone)}
#ranks-refresh,#rank-settings-save{appearance:none;font:inherit;font-size:14px;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:10px 17px;background:var(--field);color:var(--text)}#rank-settings-save{background:var(--button);color:var(--button-text);font-weight:600}#ranks-refresh:hover{border-color:var(--accent)}button:disabled{opacity:.6;cursor:wait}
.dashboard-panel{box-shadow:0 5px 20px #0000000d}.panel-heading{padding-bottom:13px;border-bottom:1px solid var(--line)}.source-status{border-left:3px solid var(--accent)}.source-status strong{font-variant-numeric:tabular-nums}.dashboard-heading h1{letter-spacing:-.7px}.faction-history-panel{background:var(--panel)}.faction-history-panel>summary{color:var(--accent)}.source-warning{padding:10px 14px;border-left:3px solid var(--warn);background:var(--warn-soft);color:var(--warn);border-radius:5px}
#members-table,#rank-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px;line-height:1.5}#members-table tbody td,#rank-table tbody td{background:var(--row-a);padding:11px 14px;border-bottom:1px solid var(--line)}#members-table tbody tr:nth-child(even) td,#rank-table tbody tr:nth-child(even) td{background:var(--row-b)}#members-table tbody tr:hover td,#rank-table tbody tr:hover td{background:var(--row-hover)}
#members-table th,#rank-table th{background:var(--table-head);font-size:12px;font-weight:600;letter-spacing:.02em;padding:13px 14px;border-bottom:2px solid var(--line);text-align:left;white-space:nowrap}#members-table th button{font-weight:600}#members-table th[data-group=Training]{box-shadow:inset 0 3px var(--info)}#members-table th[data-group=Activity]{box-shadow:inset 0 3px var(--good)}#members-table th[data-group=Combat]{box-shadow:inset 0 3px var(--warm)}#members-table th[data-group=Profile]{box-shadow:inset 0 3px var(--protected)}#members-table th[data-group=Member]{box-shadow:inset 0 3px var(--accent)}
#members-table .member-averages td{background:var(--soft);border-bottom:2px solid var(--accent)}#members-table .member-averages strong{font-size:13px}#members-table .member-averages small{line-height:1.5}#members-table td.missing-value,#rank-table td.missing-value{color:var(--muted)}
#rank-table{min-width:1250px}#rank-table th{position:sticky;top:0;z-index:3}#rank-table td:first-child,#rank-table th:first-child{position:sticky;left:0;z-index:2;min-width:175px;border-right:1px solid var(--line)}#rank-table th:first-child{z-index:4}#rank-table td:first-child a{font-weight:600;text-decoration:none;color:var(--accent)}#rank-table td:first-child a:hover{text-decoration:underline}#rank-table td:first-child small{display:block;font-size:11px;color:var(--muted);margin-top:4px}#rank-table td.numeric{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}#rank-table td:nth-child(2),#rank-table td:nth-child(3),#rank-table td:nth-child(4){white-space:nowrap}#rank-rows td:last-child{min-width:280px;max-width:380px}#rank-rows summary{cursor:pointer;color:var(--muted)}#rank-rows details[open] summary{color:var(--text);margin-bottom:12px}#rank-rows details p,#rank-rows details li{font-size:12px}#rank-rows tr[data-review=warn] td:first-child{box-shadow:inset 3px 0 var(--warn)}#rank-rows tr[data-review=bad] td:first-child{box-shadow:inset 3px 0 var(--bad)}#rank-rows tr[data-review=info] td:first-child{box-shadow:inset 3px 0 var(--info)}
#rank-self{align-items:start}.rank-profile{border-top:3px solid var(--accent)}.rank-advice{border-top:3px solid var(--protected)}.rank-identities{display:flex;flex-wrap:wrap;gap:18px;margin:15px 0}.rank-identities small{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}.rank-identities .status-badge{font-size:14px}.rank-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:20px 0}.rank-metrics>div{padding:13px;background:var(--row-a)}.rank-metrics dt{font-size:12px;color:var(--muted)}.rank-metrics dd{margin:5px 0 0;font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.rank-profile>p:last-child{font-size:12px;color:var(--muted)}#rank-settings-panel>summary{font-size:17px;font-weight:600}#rank-settings-panel form{margin-top:18px}
@media(max-width:700px){.summary-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.summary-card{padding:13px;min-height:80px}.summary-card strong{font-size:23px}#rank-table td:first-child,#rank-table th:first-child{min-width:135px;max-width:150px}#rank-self .dashboard-panel{padding:18px}.rank-metrics dd{font-size:16px}.rank-identities{gap:12px}#dashboard-nav{flex-wrap:wrap}}
.faction-history-panel table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.faction-history-panel th{background:var(--table-head);text-align:left;padding:11px 14px}.faction-history-panel td{padding:11px 14px;border-bottom:1px solid var(--line);background:var(--row-a);font-variant-numeric:tabular-nums}.faction-history-panel tbody tr:nth-child(even) td{background:var(--row-b)}select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.rank-metrics>div:nth-child(3){grid-column:1/-1}.rank-metrics dd{overflow-wrap:normal}#rank-self .rank-metrics>div:nth-child(3) dd{white-space:nowrap}

/* Clean reading layout: one task per view, quiet surfaces, colour for meaning. */
:root{--row-a:#111923;--row-b:#141f2c;--table-head:#233043;--row-hover:#203247;--line:#2c394a;--muted:#a8b7c7}
:root[data-theme=light]{--row-a:#ffffff;--row-b:#f6f8fb;--table-head:#e7edf4;--row-hover:#e9f2fa;--line:#d6dfe8;--muted:#576779}
body.authenticated:before{display:none}body.authenticated{background:var(--bg)}.authenticated main{max-width:1680px;margin-inline:auto;width:100%}.dashboard-heading{margin-bottom:22px}.dashboard-heading h1{font-size:30px;font-weight:650;line-height:1.2}.dashboard-heading .eyebrow{display:none}.dashboard-heading p{font-size:14px;color:var(--muted);margin-top:8px}.dashboard-panel{box-shadow:none}.dashboard-heading+div{margin-top:0}
.summary-cards{gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel);margin:18px 0}.summary-card{border:0;border-radius:0;border-right:1px solid var(--line);background:transparent;min-height:76px;padding:14px 20px}.summary-card:last-child{border-right:0}.summary-card strong{font-size:24px;color:var(--text);font-weight:650}.summary-card span{margin-top:4px;font-size:12px}.summary-card[data-tone] span:before{content:'';display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:var(--tone)}button.summary-card:hover,button.summary-card[aria-pressed=true]{border:0;border-right:1px solid var(--line);background:var(--tone-soft);box-shadow:inset 0 -3px var(--tone)}
.status-badge{border:0;background:transparent;padding:2px 0;font-size:12px;font-weight:550;gap:6px}.status-badge:before{width:5px;height:5px}#rank-table td:nth-child(4) .status-badge{background:var(--tone-soft);padding:4px 8px;border-radius:5px;font-weight:650}#rank-table td:nth-child(2) .status-badge{color:var(--muted)}#rank-table td:nth-child(2) .status-badge:before{display:none}
#members-table th[data-group]{box-shadow:none}#members-table th,#rank-table th{color:var(--muted);text-transform:none;letter-spacing:0;font-size:12px;border-bottom:1px solid var(--line);height:46px;padding:10px 14px}#members-table th button{color:var(--muted);font-size:12px}#members-table tbody td,#rank-table tbody td{padding:12px 14px;border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent)}#members-table td:first-child .table-link,#rank-table td:first-child a{color:var(--text);font-weight:600}#members-table td:first-child .table-link:hover,#rank-table td:first-child a:hover{color:var(--accent)}#members-table .member-averages td{top:46px;border-bottom:1px solid var(--line);background:var(--soft);padding:9px 14px}#members-table .member-averages strong{font-size:12px;font-weight:550}#members-table:not(.show-average-details) .member-averages small{display:none}#rank-table{min-width:1180px}#rank-rows td:last-child{min-width:160px;max-width:350px}#rank-rows details[open]{min-width:290px}#rank-rows details:not([open]) summary{white-space:nowrap;font-size:12px;color:var(--accent)}#rank-table tbody td{vertical-align:middle}#rank-table tbody tr:has(details[open]) td{vertical-align:top}
.source-details{font-size:12px;color:var(--muted);margin:12px 0}.source-details>summary{cursor:pointer;padding:7px 0}.source-details .source-status{margin-top:10px;border-left:0}.source-status strong{font-size:12px}.faction-history-panel{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:12px 0;margin:12px 0}.faction-history-panel>summary{font-size:13px;color:var(--muted)}.table-context{margin:12px 0;font-size:12px}.table-context button{border:0;background:transparent;color:var(--muted);font:inherit;padding:6px;min-height:32px}.table-context button:hover{color:var(--accent)}.members-toolbar{gap:8px;margin-top:18px}.members-toolbar button,.members-toolbar input,.members-toolbar select,.members-toolbar summary{font-size:13px}.dashboard-footnote{font-size:11px;line-height:1.5;max-width:1000px}
.view-switch{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:20px 0 12px}.view-switch button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--muted);font:inherit;font-size:14px;padding:12px 2px}.view-switch button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent)}#ranks-status{font-size:11px;line-height:1.5;margin:12px 0 18px}#ranks-status.has-error{padding:10px;background:var(--warn-soft);color:var(--warn);border-radius:6px}#rank-leadership{margin-top:20px}#rank-leadership>h2{display:none}#rank-leadership>p:first-of-type{font-size:12px;color:var(--muted);margin:10px 0}#rank-self{gap:24px;margin:22px 0}.rank-profile,.rank-advice{border-top:1px solid var(--line);padding:25px}.rank-profile h2,.rank-advice h2{font-size:21px;margin:0 0 18px}.rank-identities{gap:30px;margin:18px 0}.rank-identities .status-badge{font-size:18px;font-weight:650}.rank-identities small{font-size:11px}.rank-profile>.status-badge{padding:4px 9px;background:var(--tone-soft);font-size:11px}.rank-metrics{border:0;background:none;gap:0;border-radius:0;margin:24px 0 10px}.rank-metrics>div{background:none;border-top:1px solid var(--line);padding:13px 0}.rank-metrics>div:nth-child(even){padding-left:18px}.rank-metrics>div:nth-child(3){padding-left:0}.rank-metrics dt{font-size:11px}.rank-metrics dd{font-size:20px;font-weight:650;margin-top:4px}.rank-profile>p:last-child{font-size:11px}.rank-advice p,.rank-advice li{font-size:14px;line-height:1.75}#rank-settings-panel{border:1px solid var(--line);border-radius:10px;padding:20px}#rank-settings-panel>summary{font-size:15px;color:var(--text)}
@media(max-width:700px){.summary-card{padding:12px 14px;border-bottom:1px solid var(--line);min-height:70px}.summary-card strong{font-size:22px}.view-switch{gap:20px}.view-switch button{font-size:13px}#rank-self{gap:15px}.rank-identities{gap:20px}#rank-leadership .members-toolbar{margin-top:12px}.authenticated main{padding-inline:16px}}
[hidden]{display:none!important}

/* Consistent numeric column alignment and readable rank requirements. */
#members-table th.numeric,#members-table td.numeric{ text-align:right; font-variant-numeric:tabular-nums; }
#members-table th.numeric button{width:100%;text-align:right;}
#members-table .member-averages td{vertical-align:top;}
.rank-requirement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;margin:20px 0;}
.rank-requirement-card{border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:0;background:var(--panel);padding:20px;min-width:0;}
.rank-requirement-card h3{font-size:18px;line-height:1.3;color:var(--text);margin:0 0 8px;}
.rank-requirement-card .rank-requirement-caption{font-size:12px;color:var(--muted);margin:0 0 18px;}
.rank-requirement-card ul{padding:0;list-style:none;margin:0;}
.rank-requirement-card li{font-size:14px;line-height:1.6;padding:10px 0;border-top:1px solid var(--line);overflow-wrap:anywhere;}
.rank-requirement-card li:last-child{padding-bottom:0;}
@media(max-width:540px){.rank-requirement-grid{grid-template-columns:1fr;gap:12px;}.rank-requirement-card{padding:18px;}}

.ssl-panel{border:1px solid var(--line);padding:20px;margin:20px 0;background:var(--panel);}.ssl-panel h3{margin:0 0 10px}.ssl-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:14px 0}.ssl-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;flex:1;min-width:180px}.ssl-form input,.ssl-form select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:var(--field);color:var(--text);font:inherit}.ssl-form button,.ssl-approval-row button{padding:10px 14px;min-height:44px;background:var(--field);color:var(--text);border:1px solid var(--line);border-radius:4px}.ssl-approval-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid var(--line)}.ssl-approval-row small{display:block;color:var(--muted)}.ssl-approval-row p{margin:6px 0;overflow-wrap:anywhere}#ssl-warning{color:var(--warn)}@media(max-width:540px){.ssl-approval-row{align-items:start;flex-direction:column}.ssl-form{align-items:stretch}.ssl-form button{width:100%}}

/* Account settings: shared theme tokens, compact identity and distinct sections. */
.authenticated #signed-in{max-width:680px;padding:28px;}
#signed-in .account-header{margin-bottom:24px;}
#signed-in #account-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;padding:20px;background:var(--field);border:1px solid var(--line);border-radius:10px;margin:0 0 24px;}
#account-details .account-detail{min-width:0;}
#account-details .account-detail-wide{grid-column:1/-1;border-top:1px solid var(--line);padding-top:14px;}
#signed-in #account-details dt{margin:0 0 5px;color:var(--muted);font-size:12px;}
#signed-in #account-details dd{margin:0;color:var(--text);font-size:14px;font-weight:600;}
#signed-in #account-details .account-detail-wide dd{font-size:12px;font-weight:400;color:var(--muted);}
#signed-in .settings-group{border-top:1px solid var(--line);padding:22px 0;}
#signed-in .settings-group h3{font-size:15px;margin:0 0 14px;color:var(--text);}
#signed-in .settings-group .field-help{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.6;}
#signed-in .sharing-details{margin-top:12px;}
#signed-in .sharing-details summary{font-size:12px;color:var(--accent);cursor:pointer;width:fit-content;}
#signed-in .settings-budget{display:flex;align-items:center;gap:24px;justify-content:space-between;}
#signed-in .settings-budget .field-label{margin:0;font-size:14px;}
#signed-in #settings-limit{flex:0 0 92px;width:92px;min-height:44px;font:inherit;text-align:center;}
#signed-in .settings-actions{display:flex;align-items:stretch;gap:12px;padding-top:4px;flex-wrap:wrap;}
#signed-in .settings-actions button{min-height:44px;padding:11px 18px;border-radius:8px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;margin:0;}
#signed-in .settings-actions .submit{width:auto;flex:1;background:var(--button);color:var(--button-text);border:1px solid var(--button);}
#signed-in #withdraw-key{background:transparent;color:var(--text);border:1px solid var(--line);}
#signed-in #withdraw-key:hover{background:var(--field);border-color:var(--muted);}
#signed-in .session-actions{border-top:1px solid var(--line);padding-top:20px;margin-top:24px;justify-content:space-between;}
#signed-in .session-actions button{font:inherit;font-size:13px;min-height:42px;cursor:pointer;}
#signed-in button:focus-visible,#signed-in summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
#signed-in #account-status:empty{display:none;}
@media(max-width:540px){.authenticated #signed-in{padding:20px;}#signed-in #account-details{padding:16px;gap:16px;}#signed-in .settings-budget{gap:12px;}#signed-in .settings-actions{flex-direction:column;}#signed-in .settings-actions button{width:100%;}#signed-in .session-actions{gap:10px;}}

.remember-choice{margin:18px 0;}.remember-choice .field-help{margin:7px 0 0;}.saved-key-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin-top:14px;border:1px solid var(--line);border-radius:8px;background:var(--field);font-size:12px;color:var(--muted);}.saved-key-row code{font-size:14px;color:var(--text);letter-spacing:.5px;overflow-wrap:anywhere;}#signed-in #remember-settings{padding-top:0;border-top:0;}@media(max-width:420px){.saved-key-row{align-items:start;flex-direction:column;gap:4px;}}

/* Page access administration */
#admin-view { max-width:1480px; margin:0 auto; padding:32px 24px; }
.admin-toolbar { display:flex; gap:12px; flex-wrap:wrap; margin:20px 0; }
.access-table-wrap { overflow:auto; border:1px solid var(--line); border-radius:8px; margin:20px 0 32px; }
.access-table { width:100%; border-collapse:collapse; min-width:760px; }
.access-table th,.access-table td { padding:14px 16px; text-align:left; border-bottom:1px solid var(--line); }
.access-table thead { background:var(--field); color:var(--text); }
.access-table tbody tr:nth-child(even) { background:rgba(125,160,180,.06); }
.access-table select { width:100%; min-width:160px; }
#access-save { background:#b0e6f5; color:#112632; font-weight:700; }

#admin-view p { color:var(--muted); font-size:14px; max-width:1000px; }
#admin-view button,#admin-view select { font:inherit; font-size:13px; min-height:42px; border:1px solid var(--line); border-radius:6px; background:var(--field); color:var(--text); padding:9px 12px; }
#admin-view button:hover { border-color:var(--accent); }
#admin-view select:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
#admin-view #access-save { background:var(--button); color:var(--button-text); }
.access-table { font-size:13px; }
.access-table select[data-access=true] { border-left:3px solid #55b995; }
.access-table select[data-access=false] { border-left:3px solid #d58282; }
