/* Existing completed charts, restyled and moved into the visitor presentation. */
body.tsp-visitor-depth{background:#fafaf8;color:#111a20;font-family:var(--tsp-reading-font,"TSP Inter",Arial,Helvetica,sans-serif)}
.tsp-visitor-depth .page-preview{max-width:1380px;padding:20px 38px 48px;margin:auto}
.tsp-visitor-depth [hidden]{display:none!important}
.tsp-visitor-depth .team-header{padding:14px 0 18px;gap:20px}
.tsp-visitor-depth .team-header h1{font:800 37px/1.1 var(--tsp-reading-font,"TSP Inter",Arial,Helvetica,sans-serif);letter-spacing:-1.3px}
.tsp-visitor-depth .team-logo{width:63px;height:54px}
.tsp-visitor-depth .team-header .eyebrow{display:none}
.tsp-visitor-depth .team-header .matchup{font-size:12px;color:#596771}
.tsp-visitor-depth .checked{font-size:10px;max-width:300px}
.tsp-visitor-depth .tsp-depth-nav{padding:0 0 5px;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:11px;border:0}
.tsp-visitor-depth .tsp-depth-nav select{font:12px var(--tsp-reading-font,"TSP Inter",Arial,Helvetica,sans-serif);background:#fff;border:1px solid #cdd4d7;border-radius:3px;padding:8px 11px;min-height:38px;min-width:225px}
.tsp-visitor-depth-tabs{display:flex;gap:30px;border-bottom:1px solid #d9dfe1;margin:0 0 18px}
.tsp-visitor-depth-tabs a{font:700 18px/1.25 var(--tsp-reading-font,"TSP Inter",Arial,Helvetica,sans-serif);text-transform:uppercase;color:#5c6973;text-decoration:none;padding:11px 3px 13px;border-bottom:3px solid transparent}
.tsp-visitor-depth-tabs a[aria-current]{border-color:#d9000b;color:#111a20}
.tsp-visitor-depth .formation-section>.section-heading{display:none}
.tsp-visitor-depth .matchup-board{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(260px,1fr);gap:18px;background:none;border:0;box-shadow:none;border-radius:0;overflow:visible;align-items:start}
.tsp-visitor-depth .formation-figure{background:#17382c;border-radius:3px;padding:14px 15px 10px;overflow:hidden}
.tsp-visitor-depth .formation-topbar{padding:0 0 10px;align-items:center}
.tsp-visitor-depth .formation-eyebrow{font:700 19px/1.2 var(--tsp-reading-font,"TSP Inter",Arial,Helvetica,sans-serif);color:#fff;letter-spacing:.05em}
.tsp-visitor-depth .formation-topbar h3{display:none}
.tsp-visitor-depth .formation-pill{font-size:9px;padding:3px 8px;color:#d8e8df;border-color:#a1b9aa;max-width:48%}
.tsp-visitor-depth .formation-staff{padding:0 0 9px;gap:20px;font-size:9px;line-height:1.4;color:#cfddd4}
.tsp-visitor-depth .formation-staff b{display:inline;font-size:10px;color:#fff;margin-right:5px}
.tsp-visitor-depth .football-field{margin:0;height:375px;min-height:375px;flex:none;border:1px solid #b4caba;background:repeating-linear-gradient(to top,transparent 0,transparent 61px,#eefce836 62px,#eefce836 63px),repeating-linear-gradient(to top,#25613e 0,#25613e 63px,#295c3e 63px,#295c3e 126px);overflow:visible}
.tsp-visitor-depth .field-markings{inset:0}
.tsp-visitor-depth .field-package{font-size:10px;color:#d5e6da}
.tsp-visitor-depth .attack-direction{color:#c1d7c9;font-size:8px}
.tsp-visitor-depth .attack-direction>span{font-size:20px}
.tsp-visitor-depth .scrimmage-line{background:#eabec0;box-shadow:none}
.tsp-visitor-depth .scrimmage-line>span{color:#e5c9cd;font-size:7px}
.tsp-visitor-depth .field-pin{min-height:44px;padding:0;border:0;background:none;width:100%;text-align:center}
.tsp-visitor-depth .field-marker,.tsp-visitor-depth .field-marker.portrait-marker,.tsp-visitor-depth .spot-qb .field-marker,.tsp-visitor-depth .spot-qb .portrait-marker{width:39px;height:39px;margin:-19.5px auto 5px;padding:0;border-radius:50%;background:#eef4f1;color:#173126;border:2px solid #b9cdbd;box-shadow:0 3px 5px #07150d80;font-size:11px}
.tsp-visitor-depth .field-marker:after{display:none}
.tsp-visitor-depth .portrait-marker img{display:none}
.tsp-visitor-depth .field-position-tag,.tsp-visitor-depth .spot-qb .field-position-tag{position:static;background:none;border:0;color:#173126;line-height:1;font-size:11px;padding:0;border-radius:0;min-width:0}
.tsp-visitor-depth .field-name,.tsp-visitor-depth .spot-qb .field-name,.tsp-visitor-depth .spot-rb .field-name,.tsp-visitor-depth .line-card{font:700 11px/1.15 var(--tsp-reading-font,"TSP Inter",Arial,Helvetica,sans-serif);color:#fff;background:#0a251ceb;padding:4px 5px;border-radius:3px;display:inline-block;max-width:110px;white-space:normal;overflow-wrap:anywhere;letter-spacing:0}
.tsp-visitor-depth .spot-lg .line-card,.tsp-visitor-depth .spot-rg .line-card{margin-top:0}
.tsp-visitor-depth .field-full{display:none}
.tsp-visitor-depth .field-short{display:inline}
.tsp-visitor-depth .preview-open .field-marker{background:#fff000;border-color:#fff000;color:#061a10;box-shadow:0 0 0 4px #fff00033}
.tsp-visitor-depth .preview-open .field-name,.tsp-visitor-depth .preview-open .line-card{color:#fff000}
.tsp-visitor-depth .field-bottom{font-size:9px;line-height:1.4;bottom:7px;color:#d0ded5}
.tsp-visitor-depth .formation-figure figcaption{font-size:10px;line-height:1.5;padding:10px 0 0;color:#c9d9cf}
.tsp-visitor-depth .field-popovers{position:static;min-width:0;z-index:auto;pointer-events:auto;background:#fff;border:1px solid #d9dfe1;border-top:3px solid #d9000b;padding:19px 21px;align-self:stretch}
.tsp-visitor-depth .field-popover{position:static!important;width:auto!important;max-width:none;max-height:none;transform:none;box-shadow:none;background:none;border:0;border-radius:0;padding:0;color:#111a20;font-family:var(--tsp-reading-font,"TSP Inter",Arial,Helvetica,sans-serif);pointer-events:auto;overflow:visible}
.tsp-visitor-depth .field-popover:before,.tsp-visitor-depth .field-popover:after,.tsp-visitor-depth .peek-close{display:none}
.tsp-visitor-depth .peek-kicker{font-size:10px;font-weight:800;color:#d9000b;letter-spacing:.03em;margin:0 0 12px}
.tsp-visitor-depth .field-popover h4{font:800 32px/1.1 var(--tsp-reading-font,"TSP Inter",Arial,Helvetica,sans-serif);margin:0 0 9px;color:#111a20}
.tsp-visitor-depth .field-popover h4 span{font:600 11px var(--tsp-reading-font,"TSP Inter",Arial,Helvetica,sans-serif);color:#536474;margin-left:6px}
.tsp-visitor-depth .peek-matchup{font-size:11px;color:#68767e;margin:0 0 18px}
.tsp-visitor-depth .peek-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid #d9dfe1;border-left:1px solid #d9dfe1;margin:18px 0;background:none;border-radius:0;padding:0}
.tsp-visitor-depth .peek-values>div{padding:12px 10px;border-right:1px solid #d9dfe1;border-bottom:1px solid #d9dfe1}
.tsp-visitor-depth .peek-values strong{display:block;font:800 30px/1.1 var(--tsp-reading-font,"TSP Inter",Arial,Helvetica,sans-serif);color:#111a20}
.tsp-visitor-depth .peek-values span{display:block;font-size:10px;color:#5c6c76;margin-top:4px}
.tsp-visitor-depth .peek-read{font-size:12px;margin:14px 0;color:#111a20}
.tsp-visitor-depth .peek-read b{background:#e9f4eb;color:#20613f;padding:4px 9px;margin-left:5px}
.tsp-visitor-depth .peek-footer{display:grid;gap:8px;font-size:10px;color:#69777f;margin-top:20px;border-top:1px solid #d9dfe1;padding-top:13px}
.tsp-visitor-depth .peek-footer a{color:#165691;font-weight:700}
.tsp-visitor-depth .peek-caution,.tsp-visitor-depth .peek-sample,.tsp-visitor-depth .peek-unverified{font-size:12px;line-height:1.6;color:#536474;max-height:none;overflow:visible;margin:12px 0}
.tsp-visitor-depth .projection-rail{background:#fff;color:#111a20;border:1px solid #d9dfe1;margin-top:12px;border-radius:0}
.tsp-visitor-depth .projection-rail-heading{background:none;color:#111a20;padding:10px 14px;border-bottom:1px solid #d9dfe1}
.tsp-visitor-depth .projection-rail-heading>p,.tsp-visitor-depth .projection-rail-heading>span,.tsp-visitor-depth .projection-opponent{color:#627079;font-size:10px;letter-spacing:0}
.tsp-visitor-depth .projection-rail-heading h3{font:700 20px var(--tsp-reading-font,"TSP Inter",Arial,Helvetica,sans-serif);color:#111a20;margin:3px 0}
.tsp-visitor-depth .projection-rows{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.tsp-visitor-depth .projection-row,.tsp-visitor-depth .projection-qb{background:#fff;padding:12px 14px;border-right:1px solid #d9dfe1;border-bottom:1px solid #d9dfe1;color:#111a20}
.tsp-visitor-depth .projection-row .player-headshot{display:none}
.tsp-visitor-depth .projection-identity{flex-wrap:wrap}
.tsp-visitor-depth .projection-identity h4,.tsp-visitor-depth .projection-qb .projection-identity h4{font-size:12px;color:#111a20}
.tsp-visitor-depth .projection-values strong,.tsp-visitor-depth .projection-qb .projected-primary strong,.tsp-visitor-depth .projection-qb .projected-secondary strong{font:800 25px var(--tsp-reading-font,"TSP Inter",Arial,Helvetica,sans-serif);color:#111a20}
.tsp-visitor-depth .projection-values span,.tsp-visitor-depth .projection-extra,.tsp-visitor-depth .projection-rail-footer{font-size:10px;line-height:1.5;color:#627079}
.tsp-visitor-depth .fantasy-call{color:#21613f;font-size:10px}
.tsp-visitor-depth .fantasy-call>span{color:#627079}
.tsp-visitor-depth .projection-rail-footer a{color:#165691}
.tsp-visitor-depth .depth-section{padding-top:0;margin-top:0}
.tsp-visitor-depth .offense-profile{margin-top:0;border-radius:0}
.tsp-visitor-depth .division-nav{margin-top:24px}
.tsp-visitor-depth .sources{margin-top:22px;font-size:10px}
.tsp-visitor-depth .tsp-depth-directory{margin-top:24px}
.tsp-visitor-depth .tsp-depth-intro{margin-top:30px}
.tsp-visitor-depth .page-preview>.team-header{display:flex;margin:0 0 8px;padding:14px 0 18px}
.tsp-visitor-depth .page-preview>.team-header h1{font:800 37px/1.1 var(--tsp-reading-font,"TSP Inter",Arial,Helvetica,sans-serif);letter-spacing:-1.3px}
.tsp-visitor-depth .projection-values>div{display:block}
@media(max-width:760px){.tsp-visitor-depth .page-preview>.team-header h1{font-size:29px}.tsp-visitor-depth .page-preview>.team-header{padding:10px 0 14px;gap:8px}.tsp-visitor-depth .field-lineman .line-card{font-size:10px;max-width:58px;line-height:12px;white-space:normal;overflow-wrap:anywhere;overflow:visible}.tsp-visitor-depth .spot-lg .line-card,.tsp-visitor-depth .spot-rg .line-card{margin-top:15px}}
@media(min-width:761px) and (max-width:1100px){.tsp-visitor-depth .projection-rows{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.tsp-visitor-depth .page-preview{padding-left:24px;padding-right:24px}.tsp-visitor-depth .matchup-board{grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:16px}.tsp-visitor-depth .field-player{width:75px}.tsp-visitor-depth .field-lineman{width:55px}.tsp-visitor-depth .field-popovers{padding:16px}}
@media(max-width:760px){.tsp-visitor-depth .page-preview{padding:16px 16px 32px}.tsp-visitor-depth .team-header{flex-wrap:wrap;padding:10px 0 14px;gap:8px}.tsp-visitor-depth .team-header h1{font-size:29px}.tsp-visitor-depth .team-logo{width:48px;height:45px}.tsp-visitor-depth .checked{text-align:left;margin:0;font-size:9px}.tsp-visitor-depth .checked span{font-size:8px}.tsp-visitor-depth .tsp-depth-nav{flex-wrap:wrap;gap:8px}.tsp-visitor-depth .tsp-depth-nav label{display:flex;align-items:center;gap:10px;width:100%}.tsp-visitor-depth .tsp-depth-nav select{font-size:16px;min-width:0;width:100%}.tsp-visitor-depth-tabs{gap:22px;margin-bottom:15px}.tsp-visitor-depth-tabs a{font-size:17px;padding:10px 0}.tsp-visitor-depth .matchup-board{grid-template-columns:1fr;gap:12px}.tsp-visitor-depth .formation-figure{padding:10px 7px}.tsp-visitor-depth .formation-eyebrow{font-size:17px}.tsp-visitor-depth .formation-staff{gap:8px;flex-wrap:wrap;font-size:8px}.tsp-visitor-depth .formation-staff b{font-size:9px}.tsp-visitor-depth .football-field{height:345px;min-height:345px}.tsp-visitor-depth .field-package{font-size:8px}.tsp-visitor-depth .field-player{width:52px}.tsp-visitor-depth .field-lineman{width:39px}.tsp-visitor-depth .field-marker,.tsp-visitor-depth .field-marker.portrait-marker,.tsp-visitor-depth .spot-qb .field-marker,.tsp-visitor-depth .spot-qb .portrait-marker{width:29px;height:29px;margin-top:-14.5px;font-size:9px}.tsp-visitor-depth .field-position-tag,.tsp-visitor-depth .spot-qb .field-position-tag{font-size:9px}.tsp-visitor-depth .field-name,.tsp-visitor-depth .spot-qb .field-name,.tsp-visitor-depth .spot-rb .field-name,.tsp-visitor-depth .line-card{font-family:var(--tsp-reading-font,"TSP Inter",Arial,Helvetica,sans-serif);font-size:11px;padding:3px 2px;max-width:52px}.tsp-visitor-depth .line-card{max-width:39px;line-height:1.15}.tsp-visitor-depth .field-bottom{font-size:8px;bottom:5px;left:5px;right:5px}.tsp-visitor-depth .formation-figure figcaption{font-size:9px}.tsp-visitor-depth .field-popovers{padding:17px}.tsp-visitor-depth .projection-rows{grid-template-columns:repeat(2,minmax(0,1fr))}.tsp-visitor-depth .projection-row{padding:10px}.tsp-visitor-depth .projection-values{gap:6px}.tsp-visitor-depth .projection-identity h4,.tsp-visitor-depth .projection-qb .projection-identity h4{font-size:11px}.tsp-visitor-depth .projection-values span{font-size:9px}.tsp-visitor-depth .projection-values strong,.tsp-visitor-depth .projection-qb .projected-primary strong,.tsp-visitor-depth .projection-qb .projected-secondary strong{font-size:23px}}

/* Keep the initial phone view compact; preserve every native team route. */
@media(max-width:760px){
.tsp-visitor-depth .tsp-visitor-depth-tabs{gap:18px;flex-wrap:nowrap;margin-bottom:14px}
.tsp-visitor-depth .tsp-visitor-depth-tabs a{font-size:15px;white-space:nowrap;padding:10px 0}
.tsp-visitor-depth .page-preview:has(.tsp-dc-breadcrumb a[href*="/nfl-depth-charts/"]) .tsp-depth-nav>a{display:none}
.tsp-visitor-depth .field-lineman .line-card{max-width:58px;font-size:10px;line-height:12px;white-space:normal;overflow-wrap:anywhere;overflow:visible}
.tsp-visitor-depth .spot-lg .line-card,.tsp-visitor-depth .spot-rg .line-card{margin-top:15px}
}

/* September 15 visual refresh. Native field geometry and roster content remain intact. */
body.tsp-visitor-depth{background:#f2f5f9;color:#102033}
.tsp-visitor-depth .page-preview{max-width:1380px;background:linear-gradient(180deg,#edf4fa 0,#fff 360px);padding-top:16px}
.tsp-visitor-depth .tsp-dc-season{display:none}
.tsp-depth-hero{position:relative;padding:24px 24px 22px;margin:12px 0 18px;border:1px solid #dce5ee;border-radius:10px;background:radial-gradient(ellipse at 88% 0,#cbdce9 0,transparent 55%),linear-gradient(110deg,#fff,#edf4f9);overflow:hidden}
.tsp-depth-hero .tsp-depth-hero-kicker{color:#d9000b;font-size:12px;font-weight:800;letter-spacing:.03em;margin:0 0 7px}
.tsp-depth-hero h1,.tsp-depth-hero h2{font:850 clamp(30px,4.2vw,52px)/1.04 var(--tsp-reading-font,"TSP Inter",Arial,sans-serif);letter-spacing:-1.8px;color:#08121d;margin:0 0 10px}
.tsp-depth-hero>p:last-of-type{font-size:14px;line-height:1.5;color:#38516b;margin:0;max-width:620px}
.tsp-depth-all-link{display:inline-block;margin-top:14px;font-size:12px;font-weight:750;color:#0754bd;text-decoration:none}
.tsp-visitor-depth .tsp-depth-nav{background:#fff;border:1px solid #dce5ee;border-radius:8px;padding:10px 14px;font-size:12px}
.tsp-visitor-depth .tsp-depth-nav>a{color:#0754bd;font-weight:700}
.tsp-visitor-depth .tsp-depth-nav label{font-weight:650;color:#38516b}
.tsp-visitor-depth .tsp-depth-nav select{border-radius:6px;border-color:#d9e3ed;margin-left:9px;font-weight:650}
.tsp-visitor-depth .page-preview>.team-header{padding:18px 2px 12px;margin:0;gap:12px}
.tsp-visitor-depth .page-preview>.team-header h1,.tsp-visitor-depth .page-preview>.team-header h2{font:800 28px/1.12 var(--tsp-reading-font,"TSP Inter",Arial,sans-serif);letter-spacing:-.8px;margin:0 0 4px;color:#102033}
.tsp-visitor-depth .checked{background:#f4f7fb;border:1px solid #e0e7ef;border-radius:7px;padding:9px 12px;font-size:11px;line-height:1.5}
.tsp-visitor-depth-tabs{gap:28px;margin:0 0 16px;border-color:#dde5ef}
.tsp-visitor-depth-tabs a{font-size:13px;letter-spacing:.02em;padding:13px 2px 11px}
.tsp-visitor-depth .formation-section,.tsp-visitor-depth .depth-section,.tsp-visitor-depth .offense-profile{scroll-margin-top:20px}
.tsp-visitor-depth .matchup-board{grid-template-columns:minmax(0,2fr) minmax(260px,.85fr);gap:18px}
.tsp-visitor-depth .formation-figure{border-radius:10px;padding:16px 16px 12px;box-shadow:0 4px 14px #0c291d12}
.tsp-visitor-depth .formation-eyebrow{font-size:17px;letter-spacing:.02em}
.tsp-visitor-depth .formation-pill{font-size:10px;border-radius:5px}
.tsp-visitor-depth .formation-figure figcaption{font-size:11px}
.tsp-visitor-depth .field-popovers{border:1px solid #dce5ee;border-top:3px solid #e00012;border-radius:10px;padding:20px;box-shadow:0 3px 12px #203f6310}
.tsp-visitor-depth .field-popover h4{font-size:29px;color:#102033}
.tsp-visitor-depth .peek-values{border-radius:6px;overflow:hidden;background:#f8fafc}
.tsp-visitor-depth .peek-values strong{font-size:28px}
.tsp-visitor-depth .projection-rail{border:1px solid #dce5ee;border-radius:9px;overflow:hidden;margin-top:16px}
.tsp-visitor-depth .projection-rail-heading{background:#f7f9fc;padding:12px 16px}
.tsp-visitor-depth .projection-rail-heading h3{font-size:19px}
.tsp-visitor-depth .projection-row{padding:14px 12px;border-color:#e3eaf1}
.tsp-visitor-depth .depth-section{margin-top:24px}
.tsp-visitor-depth .position-panel,.tsp-visitor-depth .signal,.tsp-visitor-depth .ol-card,.tsp-visitor-depth .offense-profile{border:1px solid #dce5ee;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #203f6308}
.tsp-visitor-depth .section-heading h2{font-size:25px;letter-spacing:-.7px}
.tsp-visitor-depth .panel-heading{background:#f5f8fc}
.tsp-visitor-depth .status{border-radius:4px}
.tsp-visitor-depth .tsp-depth-directory{gap:12px}
.tsp-visitor-depth .tsp-depth-directory>a{border:1px solid #dce5ee;border-radius:8px;background:#fff;box-shadow:0 2px 8px #203f6308}
.tsp-visitor-depth .tsp-depth-directory>a:hover{border-color:#a8bed4;background:#f5f9ff}
.tsp-visitor-depth a:focus-visible,.tsp-visitor-depth button:focus-visible,.tsp-visitor-depth select:focus-visible{outline:3px solid #176dc6;outline-offset:3px}
@media(max-width:760px){
.tsp-visitor-depth .page-preview{padding:10px 14px 30px}
.tsp-depth-hero{padding:17px 15px;margin:9px 0 12px;border-radius:8px}
.tsp-depth-hero h1,.tsp-depth-hero h2{font-size:32px;letter-spacing:-1px}
.tsp-depth-hero>p:last-of-type{font-size:12px;line-height:1.45}
.tsp-depth-hero .tsp-depth-hero-kicker{font-size:10px}
.tsp-depth-all-link{margin-top:10px}
.tsp-visitor-depth .tsp-depth-nav{padding:8px 10px}
.tsp-visitor-depth .tsp-depth-nav label{font-size:11px;gap:7px}
.tsp-visitor-depth .tsp-depth-nav select{margin-left:0;min-height:42px}
.tsp-visitor-depth .page-preview>.team-header{padding:14px 0 8px;gap:8px}
.tsp-visitor-depth .page-preview>.team-header h1,.tsp-visitor-depth .page-preview>.team-header h2{font-size:23px}
.tsp-visitor-depth .checked{padding:5px 8px;font-size:10px}
.tsp-visitor-depth .tsp-visitor-depth-tabs{gap:22px;margin-bottom:12px}
.tsp-visitor-depth .tsp-visitor-depth-tabs a{font-size:12px;padding:12px 0}
.tsp-visitor-depth .matchup-board{grid-template-columns:minmax(0,1fr);gap:12px}
.tsp-visitor-depth .formation-figure{padding:12px 7px 9px;border-radius:8px}
.tsp-visitor-depth .formation-eyebrow{font-size:15px}
.tsp-visitor-depth .formation-pill{font-size:9px}
.tsp-visitor-depth .formation-figure figcaption{font-size:10px}
.tsp-visitor-depth .field-popovers{padding:16px}
.tsp-visitor-depth .field-popover h4{font-size:26px}
.tsp-visitor-depth .section-heading h2{font-size:22px}
}
.tsp-visitor-depth .tsp-depth-directory>section{border:1px solid #dce5ee;border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 2px 8px #203f6308}
.tsp-visitor-depth .tsp-depth-directory>section>h2{margin:0;padding:12px 14px;background:#f5f8fc;color:#425a73;font-size:12px;font-weight:800;letter-spacing:.04em}
.tsp-visitor-depth .tsp-depth-directory ul{margin:0;padding:0;list-style:none}
.tsp-visitor-depth .tsp-depth-directory li+li{border-top:1px solid #edf1f6}
.tsp-visitor-depth .tsp-depth-directory li a{display:flex;align-items:center;gap:10px;min-height:53px;padding:9px 13px;color:#162b42;text-decoration:none;font-size:13px;font-weight:700}
.tsp-visitor-depth .tsp-depth-directory li a:hover{background:#f1f6fc}
.tsp-visitor-depth .tsp-dc-team-arrow{margin-left:auto;color:#0754bd}
/* Directory overview: team browser and the native formation share the first screen. */
.tsp-visitor-depth .tsp-depth-overview{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:22px;align-items:start}
.tsp-depth-team-browser>h2{font:800 22px/1.2 var(--tsp-reading-font,"TSP Inter",Arial,sans-serif);margin:0 0 5px;color:#102033}
.tsp-depth-team-browser>p{font-size:12px;color:#526a80;margin:0 0 15px}
.tsp-visitor-depth .tsp-depth-overview .tsp-depth-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:0}
.tsp-visitor-depth .tsp-depth-overview .tsp-depth-directory li a{font-size:11px;min-height:48px;padding:7px 9px;gap:7px}
.tsp-visitor-depth .tsp-depth-overview .tsp-dc-team-logo{width:28px;height:28px;object-fit:contain}
.tsp-visitor-depth .tsp-depth-overview .matchup-board{display:block}
.tsp-visitor-depth .tsp-depth-overview .field-player{width:65px}
.tsp-visitor-depth .tsp-depth-overview .field-lineman{width:49px}
.tsp-visitor-depth .tsp-depth-selected-details{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:22px;margin-top:22px;align-items:start}
.tsp-visitor-depth .tsp-depth-selected-details .projection-rail{margin-top:0}
.tsp-visitor-depth .tsp-depth-selected-details .projection-rows{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){.tsp-visitor-depth .tsp-depth-overview,.tsp-visitor-depth .tsp-depth-selected-details{grid-template-columns:minmax(0,1fr)}.tsp-visitor-depth .tsp-depth-overview>.formation-section{grid-row:1}.tsp-visitor-depth .tsp-depth-overview .tsp-depth-directory{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.tsp-visitor-depth .tsp-depth-overview .tsp-depth-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.tsp-visitor-depth .tsp-depth-overview .field-player{width:52px}.tsp-visitor-depth .tsp-depth-overview .field-lineman{width:39px}.tsp-visitor-depth .tsp-depth-selected-details .projection-rows{grid-template-columns:repeat(2,minmax(0,1fr))}.tsp-visitor-depth .tsp-depth-overview{gap:20px}}
/* Keep the directory's field in the first screen; the selector already names the team. */
.tsp-visitor-depth.tsp-depth-directory-page .tsp-depth-hero{padding:15px 20px;margin-top:6px;margin-bottom:12px}
.tsp-visitor-depth.tsp-depth-directory-page .tsp-depth-hero h1{font-size:40px;margin-bottom:7px}
.tsp-visitor-depth.tsp-depth-directory-page .tsp-depth-all-link{margin-top:8px}
.tsp-visitor-depth.tsp-depth-directory-page .tsp-depth-nav>a{display:none}
.tsp-visitor-depth.tsp-depth-directory-page .tsp-depth-nav{justify-content:flex-end;padding:7px 12px}
.tsp-visitor-depth.tsp-depth-directory-page .page-preview>.team-header .team-identity{display:none}
.tsp-visitor-depth.tsp-depth-directory-page .page-preview>.team-header{padding:7px 0 2px}
.tsp-visitor-depth.tsp-depth-directory-page .checked{max-width:none;padding:3px 0;border:0;background:none;margin:0;text-align:left}
.tsp-visitor-depth.tsp-depth-directory-page .checked span{display:inline;margin-right:7px}
.tsp-visitor-depth .tsp-depth-overview .field-lineman .line-card{max-width:none;white-space:nowrap;overflow-wrap:normal;font-size:10px;padding-left:3px;padding-right:3px}
@media(max-width:760px){
.tsp-visitor-depth.tsp-depth-directory-page .tsp-depth-hero{padding:12px 14px}
.tsp-visitor-depth.tsp-depth-directory-page .tsp-depth-hero h1{font-size:29px;margin-bottom:6px}
.tsp-visitor-depth.tsp-depth-directory-page .tsp-depth-hero>p:last-of-type{font-size:11px;line-height:1.4}
.tsp-visitor-depth.tsp-depth-directory-page .tsp-depth-hero-kicker{margin-bottom:4px}
.tsp-visitor-depth.tsp-depth-directory-page .checked{font-size:9px;line-height:1.5}
.tsp-visitor-depth.tsp-depth-directory-page .tsp-depth-nav label{white-space:nowrap}
.tsp-visitor-depth.tsp-depth-directory-page .tsp-depth-nav{padding:5px 9px}
.tsp-visitor-depth .tsp-depth-overview .field-lineman .line-card{font-size:9px;white-space:normal;max-width:58px;overflow-wrap:anywhere}
}
.tsp-visitor-depth .tsp-depth-overview .formation-section>.field-popovers{margin-top:14px}
.tsp-visitor-depth .tsp-depth-selected-details{display:block}
.tsp-visitor-depth .tsp-depth-selected-details .projection-rows{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1000px){.tsp-visitor-depth .tsp-depth-selected-details .projection-rows{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.tsp-visitor-depth .tsp-depth-selected-details .projection-rows{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tsp-visitor-depth.tsp-depth-directory-page .tsp-depth-all-link{position:absolute;right:20px;top:15px;margin:0;font-size:11px}
@media(max-width:760px){.tsp-visitor-depth.tsp-depth-directory-page .tsp-depth-all-link{top:12px;right:14px;font-size:10px}.tsp-visitor-depth.tsp-depth-directory-page .tsp-depth-hero-kicker{padding-right:90px}}
/* Preserve complete OL surnames on narrow screens; guard labels remain staggered. */
@media(max-width:760px){.tsp-visitor-depth .tsp-depth-overview .field-lineman .line-card{white-space:nowrap;overflow-wrap:normal;width:max-content;max-width:58px;font-size:9px}}


/* r2: hub page */
.tsp-dc-hub > .tsp-depth-nav,
.tsp-dc-hub > .team-header,
.tsp-dc-hub > .tsp-visitor-depth-tabs,
.tsp-dc-hub > .tsp-depth-overview,
.tsp-dc-hub > .tsp-depth-selected-details,
.tsp-dc-hub > .division-alert,
.tsp-dc-hub > .division-alerts,
.tsp-dc-hub > .offense-profile,
.tsp-dc-hub > .depth-section,
.tsp-dc-hub > footer.sources,
.tsp-dc-hub > .division-nav,
.tsp-dc-hub .tsp-depth-all-link { display: none !important; }

.tsp-dc-hub .tsp-depth-hero { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; }
.tsp-dc-hub .tsp-depth-hero > p:not(.tsp-depth-hero-kicker) { max-width: 46ch; }
.tsp-dc-hub-jump { display: flex; flex-direction: column; gap: 6px; min-width: 240px; font-size: .8rem; font-weight: 600; color: #3d4756; }
.tsp-dc-hub-jump select { font: inherit; font-size: 1rem; font-weight: 500; color: #0f1a2a; padding: 10px 12px; border: 1px solid #c9d1db; border-radius: 8px; background: #fff; cursor: pointer; }
.tsp-dc-hub-jump select:focus-visible { outline: 2px solid #d9000b; outline-offset: 2px; }

.tsp-dc-hub .tsp-depth-team-browser { margin: 32px 0 12px; padding: 0; border: 0; background: none; box-shadow: none; }
.tsp-dc-hub .tsp-depth-team-browser > h2 { font-size: 1.6rem; line-height: 1.2; margin: 0 0 6px; }
.tsp-dc-hub .tsp-depth-team-browser > p { margin: 0 0 24px; color: #4f5a69; max-width: 62ch; }
.tsp-dc-hub .tsp-depth-directory { display: block !important; columns: auto !important; }
.tsp-dc-conf { margin: 0 0 32px; }
.tsp-dc-conf > h3 { margin: 0 0 12px; padding-bottom: 8px; border-bottom: 2px solid #0f1a2a; font-size: 1.05rem; color: #0f1a2a; }
.tsp-dc-conf-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.tsp-dc-hub .tsp-dc-conf-grid > section { margin: 0; padding: 12px 10px 8px; border: 1px solid #e1e6ec; border-radius: 10px; background: #fff; }
.tsp-dc-hub .tsp-dc-conf-grid > section > h2 { margin: 0 0 6px; padding: 0 6px; border: 0; font-size: .95rem; font-weight: 700; letter-spacing: 0; text-transform: none; color: #0f1a2a; }
.tsp-dc-hub .tsp-dc-conf-grid ul { list-style: none; margin: 0; padding: 0; display: block; }
.tsp-dc-hub .tsp-dc-conf-grid li { margin: 0; border: 0; }
.tsp-dc-hub .tsp-dc-conf-grid li a { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 6px; border-radius: 8px; font-size: .95rem; font-weight: 600; color: #0f1a2a; text-decoration: none; }
.tsp-dc-hub .tsp-dc-conf-grid li a:hover { background: #f1f4f7; }
.tsp-dc-hub .tsp-dc-conf-grid li a:focus-visible { outline: 2px solid #d9000b; outline-offset: 1px; }
.tsp-dc-hub .tsp-dc-conf-grid .tsp-dc-team-logo { width: 32px; height: 32px; flex: none; }
.tsp-dc-hub .tsp-dc-conf-grid .tsp-dc-team-arrow { margin-left: auto; color: #d9000b; }

.tsp-dc-hub .tsp-dc-guide { margin: 8px 0 20px; padding: 24px 0 0; border-top: 1px solid #e1e6ec; }
.tsp-dc-hub .tsp-dc-guide > h2 { margin: 0 0 16px; font-size: 1.25rem; }
.tsp-dc-help { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 24px; }
.tsp-dc-help h3 { margin: 0 0 4px; font-size: 1rem; color: #0f1a2a; }
.tsp-dc-help p { margin: 0; color: #4f5a69; line-height: 1.5; }
.tsp-dc-help-note { margin: 16px 0 0; font-size: .85rem; color: #5f6a78; }
.tsp-dc-hub-back { margin: 0 0 32px; }

@media (max-width: 960px) { .tsp-dc-conf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .tsp-dc-conf-grid, .tsp-dc-help { grid-template-columns: 1fr; }
  .tsp-dc-hub-jump { min-width: 0; width: 100%; }
}

/* r2: collapsible sources on team pages */
details.tsp-dc-sources { margin: 0 0 12px; }
details.tsp-dc-sources > summary { cursor: pointer; font-weight: 600; color: #0f1a2a; padding: 8px 0; }
details.tsp-dc-sources > summary:focus-visible { outline: 2px solid #d9000b; outline-offset: 2px; }


/* r3: Week 1 usage in the outlook rail reads as data, not a pending state */
.projection-rail .forecast-pending { color: #16202c !important; opacity: 1 !important; font-style: normal !important; }
.projection-rail .forecast-pending > span { color: #4f5a69 !important; opacity: 1 !important; }
