.vision-directory-head{display:flex;gap:40px;padding:24px 28px;background:linear-gradient(110deg,#25351e,#19211b);border:1px solid var(--border);border-radius:16px;margin-bottom:24px}.vision-directory-head>div{display:flex;flex-direction:column;gap:6px}.vision-directory-head strong{color:var(--accent);font-size:32px}.vision-directory-head span{color:var(--muted);font-size:12px}.vision-directory{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:20px 0}.vision-person-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:23px;color:var(--text);text-decoration:none;transition:border-color .2s,transform .2s}.vision-person-card:hover{border-color:var(--accent);transform:translateY(-2px)}.vision-person-card h2{margin:10px 0;font-size:21px;overflow-wrap:anywhere}.vision-person-card p{color:var(--muted);min-height:36px;font-size:13px}.vision-person-card div:not(.eyebrow){font-size:12px;line-height:1.8}.vision-person-card small{display:block;color:var(--muted);margin:8px 0 20px}.vision-card-action{color:var(--accent);font-size:13px}.vision-title-suffix{font-weight:400;color:var(--muted)}.vision-coverage{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:12px;margin:20px 0}.vision-coverage strong{color:var(--text)}.vision-controls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px}.vision-controls label{min-width:0;display:flex;flex-direction:column;gap:7px}.vision-controls label>span{font-size:11px;color:var(--muted)}.vision-controls select{width:100%;min-width:0;font-size:12px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:11px}.vision-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 12px}.vision-stat{padding:18px;background:var(--panel);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:9px}.vision-stat>span{font-size:12px;color:var(--muted)}.vision-stat strong{font-size:27px;color:var(--accent)}.vision-stat small{font-size:11px;color:var(--muted);line-height:1.6}.vision-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.48fr);gap:20px;margin:24px 0}.vision-map-panel,.vision-insights>section{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:20px;min-width:0}.vision-insights{display:flex;flex-direction:column;gap:18px}.vision-map-shell{position:relative;border:1px solid #3b4937;border-radius:10px;overflow:hidden;line-height:0}.vision-map{display:block;width:100%;height:auto;background:#111b11}.vision-map image{opacity:.92}.vision-grid{stroke:#fff;stroke-width:.18;opacity:.21;fill:none;pointer-events:none}.vision-grid-label{fill:#fff;paint-order:stroke;stroke:#102012;stroke-width:.6;font-size:2.4px;font-family:system-ui;pointer-events:none}.vision-pin{stroke:#102012;stroke-width:.35;cursor:pointer;opacity:.92}.vision-pin.observer{fill:#d1f27c}.vision-pin.sentry{fill:#70c4ed}.vision-pin:hover,.vision-pin:focus,.vision-pin.selected{stroke:#fff;stroke-width:.8;outline:none;opacity:1}.vision-heat{fill:#ddf480;fill-opacity:.58;stroke:#e3fab1;stroke-width:.3;cursor:pointer}.vision-heat-label{font:3px system-ui;fill:#071309;pointer-events:none;font-weight:700}.vision-map-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;background:#0d170dc9;color:#dce8d6;line-height:1.7;font-size:14px;pointer-events:none;padding:20px}.vision-map-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:11px;color:var(--muted);margin-top:14px}.vision-map-legend span{display:flex;gap:5px;align-items:center}.vision-map-legend i{width:8px;height:8px;border-radius:50%}.vision-map-legend i.observer{background:#d1f27c}.vision-map-legend i.sentry{background:#70c4ed}.vision-insights h2{font-size:18px;margin:0 0 12px}.vision-zone{width:100%;display:flex;align-items:center;gap:12px;background:transparent;border:0;border-top:1px solid var(--border);padding:13px 3px;text-align:left;color:var(--text);cursor:pointer}.vision-zone:hover,.vision-zone.active{background:#283622}.vision-zone>strong{font-size:23px;color:var(--accent);width:35px}.vision-zone>div{display:flex;flex:1;flex-direction:column;gap:5px;font-size:12px}.vision-zone>div>span{font-size:10px;color:var(--muted)}.vision-event-name{font-size:20px;color:var(--accent)}.vision-event-name.sentry{color:#70c4ed}.vision-event-detail p{font-size:13px;line-height:1.65}.vision-event-detail dl{display:grid;grid-template-columns:1fr auto;font-size:12px;gap:10px}.vision-event-detail dd{margin:0}.vision-event-detail dt{color:var(--muted)}.vision-time{border:0;padding:5px 0;background:none;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.vision-time.sentry{color:#70c4ed}.vision-map-panel .section-head{margin-bottom:18px}.vision-map-panel .section-head span{color:var(--muted);font-size:12px}.global-search-open{display:flex;gap:12px;align-items:center;padding:9px 13px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);cursor:pointer;font-size:12px}.global-search-open kbd{color:var(--muted);font-size:10px}.global-search-dialog{width:min(650px,calc(100% - 24px));max-height:80vh;border:1px solid var(--border);border-radius:16px;background:var(--panel);color:var(--text);padding:24px}.global-search-dialog::backdrop{background:#040905b8;backdrop-filter:blur(5px)}.global-search-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.global-search-head h2{margin:0;font-size:21px}.global-search-dialog input{width:100%;padding:15px;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:10px;box-sizing:border-box;font:inherit}.global-hit{display:flex;flex-direction:column;color:var(--text);background:var(--panel2);border-radius:9px;margin:8px 0;padding:14px;text-decoration:none;gap:6px}.global-hit:hover{outline:1px solid var(--accent)}.global-hit strong{font-size:15px}.global-hit span{font-size:11px;color:var(--muted);line-height:1.65}.global-hit a{color:inherit;text-decoration:none;display:flex;flex-direction:column;gap:6px}.global-hit .global-ward-link{color:var(--accent);font-size:12px;margin-top:7px}.topbar-tools{min-width:0}.contact-note{border-left:3px solid #dcb765;padding:10px 14px;background:#30281b;font-size:12px;line-height:1.6;border-radius:5px;margin:12px 0}
@media(max-width:1100px){.vision-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.vision-layout{grid-template-columns:minmax(0,1fr)}.vision-insights{display:grid;grid-template-columns:1fr 1fr}.vision-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.vision-directory-head{gap:20px;padding:18px}.vision-directory-head strong{font-size:24px}.vision-directory-head span{font-size:10px}.vision-directory{grid-template-columns:1fr}.vision-controls{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:10px}.vision-controls select{padding:10px 7px}.vision-stats{gap:8px}.vision-stat{padding:13px}.vision-stat strong{font-size:23px}.vision-insights{display:flex}.vision-layout{gap:12px}.vision-map-panel,.vision-insights>section{padding:14px}.global-search-open{padding:8px}.global-search-open kbd{display:none}.topbar-tools #snapshot-date{display:none}.vision-title-suffix{display:block;font-size:20px;margin-top:5px}}

.vision-advanced{border:1px solid var(--border);border-radius:10px;margin:10px 0;color:var(--muted);font-size:12px}.vision-advanced>summary{cursor:pointer;padding:14px 18px}.vision-advanced .vision-controls{border:0;padding-top:5px}.vision-advanced+div{margin-top:16px}

/* Team context stays beside the personal map, without opening a second directory. */
.ward-hub-links,.op-team-shortcuts{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 26px}.op-team-shortcuts .primary{background:var(--accent);color:#14200e;border-color:var(--accent)}.op-fixture-wards{margin-top:8px!important;border-color:#607443!important;color:var(--accent)!important}
.ward-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ward-team-card{display:flex;flex-direction:column;gap:10px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:24px;text-decoration:none;color:var(--text);min-width:0}.ward-team-card:hover,.ward-team-card:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:3px}.ward-team-card h2{font-size:23px;margin:4px 0 0;overflow-wrap:anywhere}.ward-team-card p{color:var(--muted);font-size:13px;margin:0;line-height:1.7}.ward-team-card>strong{font-size:14px;margin-top:5px}.ward-team-card>span{font-size:12px;color:#afc39e}.ward-team-names{font-size:12px;line-height:1.9;color:var(--muted);border-top:1px solid var(--border);padding-top:12px}.ward-team-card>b{color:var(--accent);font-size:13px;margin-top:auto;padding-top:6px}
.ward-context{margin-bottom:22px}.ward-team-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0}.ward-team-title h1{font-size:34px;line-height:1.15;margin:9px 0}.ward-team-title p{color:var(--muted);font-size:14px;margin:0;line-height:1.6}.ward-context-selects{display:grid;grid-template-columns:2fr 1fr;gap:12px}.ward-context-selects label{display:flex;flex-direction:column;gap:7px;min-width:0}.ward-context-selects label>span{color:var(--muted);font-size:12px}.ward-context-selects select{width:100%;min-width:0;padding:12px;border:1px solid #586e44;border-radius:9px;background:var(--panel);color:var(--text);font:inherit;font-size:13px}.ward-team-coverage{font-size:12px;line-height:1.8;color:var(--muted);margin:12px 0 0}.ward-team-coverage strong{color:#d7e4ce}
.ward-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start}.ward-roster{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;position:sticky;top:18px}.ward-roster h2{font-size:17px;margin:0 0 6px}.ward-roster>p{font-size:11px;color:var(--muted);line-height:1.7}.ward-roster-person{display:flex;flex-direction:column;gap:5px;padding:12px 10px;border:1px solid transparent;border-top-color:var(--border);text-decoration:none;color:var(--text);border-radius:7px;margin:4px 0}.ward-roster-person strong{font-size:14px;overflow-wrap:anywhere}.ward-roster-person span{font-size:11px;color:#b6c8a8}.ward-roster-person small{font-size:10px;color:var(--muted);line-height:1.6}.ward-roster-person.active{background:#2b3b21;border-color:#829d53;box-shadow:inset 3px 0 var(--accent)}.ward-roster-person:hover,.ward-roster-person:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ward-player-workspace{min-width:0}.vision-selected-heading{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:18px}.vision-selected-heading h2{font-size:29px;margin:6px 0}.vision-selected-heading p{font-size:12px;color:var(--muted);margin:0;line-height:1.7}.vision-selected-heading .btn{flex-shrink:0}
.ward-reading{background:#1e2d19;border:1px solid #526b37;border-radius:12px;padding:18px 20px;margin-bottom:18px}.ward-reading h3{font-size:17px;margin:0 0 12px;line-height:1.5}.ward-reading p{font-size:12px;line-height:1.85;color:#bfceb5;margin:8px 0}.ward-reading strong{color:#e4efdb}.ward-repeat-list{display:grid;gap:8px;margin-top:12px}.ward-repeat-list button{display:flex;flex-direction:column;gap:5px;text-align:left;padding:11px 13px;border:1px solid #52653f;border-radius:8px;background:#152210;cursor:pointer;font:inherit}.ward-repeat-list button:hover,.ward-repeat-list button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ward-repeat-list strong{font-size:12px}.ward-repeat-list span{font-size:11px;color:#becfb2;line-height:1.7}.ward-repeat-list small{font-size:11px;color:var(--accent)}.ward-player-workspace .vision-controls{grid-template-columns:repeat(3,minmax(0,1fr));padding:14px}.ward-player-workspace .vision-controls select{font-size:12px}.ward-player-workspace .vision-layout{grid-template-columns:minmax(0,1fr)}.ward-player-workspace .vision-insights{display:grid;grid-template-columns:1fr 1fr}.ward-player-workspace .vision-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ward-player-workspace .vision-map{max-height:650px}.ward-player-workspace .vision-map-panel{padding:16px}.ward-player-workspace .vision-stat{padding:14px}.ward-player-workspace .vision-stat strong{font-size:24px}#op-team-players,#op-team-shared{scroll-margin-top:25px}
@media(min-width:1600px){.ward-workspace{grid-template-columns:250px minmax(0,1fr)}.ward-player-workspace .vision-layout{grid-template-columns:minmax(0,1fr) 280px}.ward-player-workspace .vision-insights{display:flex}}
@media(max-width:900px){.ward-workspace{grid-template-columns:1fr}.ward-roster{position:static;display:flex;flex-wrap:wrap;gap:7px;padding:13px}.ward-roster>h2{width:100%;margin:0}.ward-roster>p{width:100%;margin:0 0 5px}.ward-roster-person{flex:1 1 145px;padding:10px;margin:0;border:1px solid var(--border)}.ward-roster>p.fine{display:none}.ward-team-title{align-items:start}.ward-team-title h1{font-size:29px}.ward-team-grid{grid-template-columns:1fr}}
@media(max-width:620px){.ward-context-selects{grid-template-columns:1fr}.ward-team-title{flex-direction:column;gap:12px}.ward-team-title h1{font-size:28px}.ward-team-title p{font-size:12px}.ward-team-card{padding:20px}.ward-team-card h2{font-size:22px}.ward-workspace{gap:18px}.ward-roster-person{flex:1 1 125px}.ward-roster-person strong{font-size:13px}.ward-roster-person span{font-size:10px}.ward-roster-person small{font-size:10px}.vision-selected-heading{align-items:start;flex-direction:column;gap:10px}.vision-selected-heading h2{font-size:27px;overflow-wrap:anywhere}.ward-reading{padding:15px}.ward-reading h3{font-size:16px}.ward-player-workspace .vision-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px}.ward-player-workspace .vision-insights{display:flex}.ward-hub-links .btn{font-size:12px}.op-team-shortcuts{gap:8px}.op-team-shortcuts .btn{flex:1 1 140px;justify-content:center;font-size:12px;min-height:44px}.ward-context-selects select{min-height:44px}.ward-player-workspace .vision-stat strong{font-size:22px}}
.ward-player-workspace .vision-insights{display:flex}.ward-player-workspace .ward-reading{margin:0}.ward-player-workspace .vision-insights>.ward-reading{padding:18px}.ward-map-jump{display:none}#ward-map-points{scroll-margin-top:20px}@media(max-width:900px){.ward-roster{display:none}.ward-map-jump{display:inline-flex}.vision-selected-heading{flex-wrap:wrap}.ward-team-title{margin:12px 0}.ward-context{margin-bottom:16px}}

.ward-source-label{font-size:11px;color:var(--muted);margin:10px 0 0}.vision-selected-heading{flex-wrap:wrap}.vision-selected-heading>div{margin-right:auto}.vision-selected-heading>.btn{font-size:11px}

@media(max-width:620px){#ward-map-points{scroll-margin-top:85px}.sidebar nav .nav-link>span{display:inline!important}}
