/* players.css: /players/, /players/sample/ and /pricing/. Built from the shared shell components
   (sec-head, tile, frame, bars, closer, btn); only the layouts these pages add live here. */
.pl-page main>section{padding:72px 0}
.pl-page main>section.pl-hero{padding:40px 0 64px}
.pl-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px;align-items:center}
.pl-hero .eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-1)}
.pl-hero .eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--court)}
.pl-hero h1{margin:14px 0 12px;max-width:18ch;font:800 clamp(30px,2.9vw,42px)/1.05 'Plus Jakarta Sans',Inter,system-ui,sans-serif;letter-spacing:-.04em;text-wrap:balance}
.pl-hero .lead{margin:0;max-width:56ch;font-size:16px;line-height:1.55;color:var(--muted)}
.pl-hero .ctas{margin-top:22px;gap:12px}
.pl-hero.pl-center .pl-intro{max-width:760px}
.demo-embed{position:relative;aspect-ratio:16/9;overflow:hidden;background:#0c0e10}
.demo-embed iframe{position:absolute;left:0;top:0;width:1600px;height:900px;border:0;transform-origin:0 0}
.pl-cap{margin:0;padding:12px 16px;font-size:13px;line-height:1.55;color:#aaabad;background:#111416;border-top:1px solid #232629}
.pl-cap a{color:#eeeef0}

/* steps and tiles */
.pl-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pl-tiles.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.pl-note{margin:20px 0 0;max-width:70ch;font-size:14px;color:var(--muted)}
.pl-note b{color:var(--ink)}

/* the send form, same look as /signup/ */
.pl-send{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;align-items:start}
.pl-send .sub{margin:0 0 16px}
.pl-form,.pl-done{display:grid;gap:18px;padding:28px;border:1px solid var(--line);border-radius:12px;background:var(--surface-1)}
.pl-form fieldset{margin:0;padding:0;border:0}
.pl-label,.pl-form legend{display:block;margin-bottom:10px;font:500 11px/1.2 'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pl-form .chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.pl-form .chips span{display:block;text-align:center;padding:11px 8px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);font-size:14px}
.pl-form .chips input:checked+span{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.pl-form .chips input:focus-visible+span{outline:2px solid var(--court);outline-offset:2px}
.pl-form input[type=url],.pl-form input[type=email]{display:block;width:100%;box-sizing:border-box;height:50px;margin:0;padding:0 14px;border:0;border-radius:8px 8px 0 0;background:var(--surface-2);color:var(--ink);font-size:16px;box-shadow:inset 0 -1px 0 var(--input-line)}
.pl-form input:focus{outline:2px solid var(--court);outline-offset:2px}
.pl-form input[aria-invalid="true"]{box-shadow:inset 0 -2px 0 #b3261e}
.pl-form button{height:50px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:var(--on-accent);font-size:15px;font-weight:600;cursor:pointer}
.pl-form button:disabled{opacity:.7;cursor:wait}
.pl-err{margin:0;color:#b3261e;font-size:13px}
.pl-small{margin:0;font-size:13px;color:var(--muted)}
.pl-done h3{margin:0;font-size:24px}
.pl-done p{margin:0;color:var(--muted)}
.pl-done:focus{outline:none}

/* sample report */
.pl-report{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px;align-items:start}
.pl-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;background:var(--surface-1);overflow:hidden}
.pl-stats>div{padding:18px 20px;border-right:1px solid var(--line)}
.pl-stats>div:last-child{border-right:0}
.pl-stats b{display:block;font:600 30px/1 'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;color:var(--court);font-variant-numeric:tabular-nums}
.pl-stats b small{font-size:.5em;color:var(--muted);font-weight:500}
.pl-stats span{display:block;margin-top:8px;font-size:13px;color:var(--muted)}
.pl-card{margin-top:16px;padding:22px 24px;border:1px solid var(--line);border-radius:12px;background:var(--surface-1)}
.pl-card h3{margin:0 0 14px;font-size:17px}
.pl-card .bar{grid-template-columns:76px minmax(0,1fr) 52px;font-size:13px}
.pl-card .bar span{font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;color:var(--muted)}
.pl-card .bar i{height:18px}
.pl-card .bars{gap:10px}
.pl-moments{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.pl-moments li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.pl-moments time{font:500 13px/1.5 'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;color:var(--court)}
.pl-coach{margin-top:16px;padding:20px 24px;border:1px solid var(--line);border-left:3px solid var(--court);border-radius:4px;background:var(--surface-2)}
.pl-coach .chap{display:block;margin-bottom:8px}
.pl-coach p{margin:0;font-size:15px;line-height:1.6}
.pl-label-tag{display:inline-block;padding:4px 8px;border:1px solid var(--line);border-radius:4px;font:500 11px/1.2 'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--surface-1)}

/* profile: game cards */
.pl-game{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface-1)}
.pl-game video{display:block;width:100%;aspect-ratio:16/9;background:#0c0e10;object-fit:contain}
.pl-game-body{padding:24px;display:grid;align-content:start;gap:14px}
.pl-game-body h3{margin:0;font-size:20px}
.pl-game-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font:500 12px/1.4 'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;color:var(--muted)}
.pl-game .pl-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.pl-game .pl-stats>div:nth-child(2n){border-right:0}
.pl-game .pl-stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
.pl-game .pl-stats b{font-size:24px}
.pl-game a{color:var(--link);font-weight:600}
.pl-totals{grid-template-columns:repeat(4,minmax(0,1fr))}

/* pricing */
.pl-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.pl-plan{display:flex;flex-direction:column;gap:14px;padding:28px 24px;border:1px solid var(--line);border-radius:12px;background:var(--surface-1)}
.pl-plan.main{border:2px solid var(--court)}
.pl-plan h2{margin:0;font-size:20px}
.pl-price{font:600 40px/1 'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;color:var(--ink);font-variant-numeric:tabular-nums}
.pl-price small{font:500 14px/1.4 Inter,system-ui,sans-serif;color:var(--muted);letter-spacing:0}
.pl-plan>p{margin:0;font-size:14px;color:var(--muted)}
.pl-plan ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.pl-plan li{padding:10px 0 10px 22px;border-bottom:1px solid var(--line);font-size:14px;position:relative}
.pl-plan li::before{content:"";position:absolute;left:2px;top:17px;width:8px;height:8px;border-radius:2px;background:var(--court)}
.pl-plan .btn{margin-top:auto;width:100%}
.pl-launch{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--court);border-radius:999px;font:500 12px/1.2 'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--court)}
.pl-launch::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mint)}
.pl-faq{border-top:1px solid var(--line)}
.pl-faq div{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}
.pl-faq b{font-size:15px}
.pl-faq p{margin:0;color:var(--muted);font-size:15px}

@media (max-width:980px){
  .pl-hero-grid,.pl-send,.pl-report,.pl-game{grid-template-columns:minmax(0,1fr);gap:28px}
  .pl-tiles,.pl-tiles.three,.pl-plans,.pl-totals{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pl-plans{grid-template-columns:minmax(0,1fr)}
  .pl-game{gap:0}
}
@media (max-width:560px){
  .pl-page main>section{padding:48px 0}
  .pl-page main>section.pl-hero{padding:24px 0 40px}
  .pl-tiles,.pl-tiles.three{grid-template-columns:minmax(0,1fr)}
  .pl-stats{grid-template-columns:minmax(0,1fr)}
  .pl-stats>div{border-right:0;border-bottom:1px solid var(--line)}
  .pl-stats>div:last-child{border-bottom:0}
  .pl-totals{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pl-totals>div:nth-child(2n+1){border-right:1px solid var(--line)}
  .pl-totals>div:nth-last-child(-n+2){border-bottom:0}
  .pl-form,.pl-done{padding:22px 18px}
  .pl-form .chips{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pl-faq div{grid-template-columns:minmax(0,1fr);gap:6px}
  .closer{padding:48px 20px}
  .pl-hero .ctas .btn{width:100%}
}

/* closer, as on /about/ */
.closer .punch{margin:14px auto 12px;font-weight:800;letter-spacing:-.04em}
.closer .sub{max-width:58ch;margin:0 auto;color:var(--muted);font-size:17px;line-height:1.6}
.closer .ctas{justify-content:center;margin-top:28px}
.closer .cnr{position:absolute;width:14px;height:14px;border:0 solid var(--court)}
.cnr.tl{top:16px;left:16px;border-top-width:2px;border-left-width:2px}.cnr.tr{top:16px;right:16px;border-top-width:2px;border-right-width:2px}
.cnr.bl{bottom:16px;left:16px;border-bottom-width:2px;border-left-width:2px}.cnr.br{bottom:16px;right:16px;border-bottom-width:2px;border-right-width:2px}
.pl-profile-name{display:flex;align-items:center;gap:14px;margin-top:14px}
.pl-profile-name .pl-mono{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;flex:none;border-radius:4px;background:var(--court-deep);color:var(--mint);font:600 18px/1 'JetBrains Mono',ui-monospace,monospace}
.pl-profile-name h1{margin:0}
.pl-thread{margin:0;padding:0;list-style:none;border-left:2px solid var(--line)}
.pl-thread li{position:relative;padding:0 0 4px 22px}
.pl-thread li::before{content:"";position:absolute;left:-6px;top:6px;width:10px;height:10px;border-radius:2px;background:var(--court)}
.pl-thread .pl-game-meta{margin-bottom:6px}
.pl-thread p{margin:0;font-size:15px;line-height:1.6}
/* stat strips: four across (two on phones), or a fixed 2x2 */
.pl-stats.pl-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.pl-stats.pl-two,.pl-game .pl-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.pl-stats.pl-two>div,.pl-game .pl-stats>div{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}
.pl-stats.pl-two>div:nth-child(2n),.pl-game .pl-stats>div:nth-child(2n){border-right:0!important}
.pl-stats.pl-two>div:nth-last-child(-n+2),.pl-game .pl-stats>div:nth-last-child(-n+2){border-bottom:0!important}
@media (max-width:760px){
  .pl-stats.pl-four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pl-stats.pl-four>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .pl-stats.pl-four>div:nth-child(2n){border-right:0}
  .pl-stats.pl-four>div:nth-last-child(-n+2){border-bottom:0}
  .pl-stats b{font-size:24px}
  .pl-stats>div{padding:16px}
}

/* ---- Stitch "Tactical Press" for /players/, /players/sample/ and /pricing/ ----
   Serif headlines, Inter body, mono for numbers/labels/buttons; 4px radius, 1px rules,
   flat surfaces with a hard 2px offset shadow only on hover. Scoped to body.pl-page. */
body.pl-page{--tp-serif:'Source Serif 4',Georgia,'Times New Roman',serif;--tp-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;background:var(--paper)}
body.pl-page main h1,body.pl-page main h2,body.pl-page main h3{font-family:var(--tp-serif);font-weight:700;letter-spacing:-.02em}
body.pl-page .pl-hero h1{max-width:20ch;font:700 48px/1.08 var(--tp-serif);letter-spacing:-.02em}
body.pl-page .pl-hero .eyebrow,body.pl-page .pl-launch{font:500 11px/1.2 var(--tp-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--court-deep);border-color:var(--line);background:var(--surface-1)}
body.pl-page .pl-hero .eyebrow::before,body.pl-page .pl-launch::before{background:var(--mint)}
body.pl-page main>section.band{background:var(--surface-2)}
body.pl-page main>section+section{border-top:1px solid var(--line)}
/* buttons: mono label, square-ish, hard shadow on hover */
body.pl-page main .btn{min-height:46px;padding:0 20px;border-radius:4px;font:600 12px/1 var(--tp-mono);letter-spacing:.05em;text-transform:uppercase;transition:box-shadow .12s,transform .12s}
body.pl-page main .btn-primary{background:var(--court-deep);border-color:var(--court-deep);color:var(--paper)}
body.pl-page main .btn-ghost{background:var(--surface-1);border:1px solid var(--ink);color:var(--ink)}
body.pl-page main .btn:hover{box-shadow:2px 2px 0 var(--ink);transform:translate(-1px,-1px);filter:none}
body.pl-page main .btn-primary:hover{background:var(--court-deep);border-color:var(--court-deep);color:var(--paper)}
body.pl-page main .btn-ghost:hover{background:var(--surface-1);color:var(--ink)}
/* section header: mono code, serif title, 1px rule */
body.pl-page .sec-head{display:block;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid var(--line)}
body.pl-page .sec-head>i{display:none}
body.pl-page .sec-head .chap{display:block;font:500 12px/1.2 var(--tp-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--court)}
body.pl-page .sec-head h2{margin:10px 0 0;font-size:clamp(26px,2.6vw,34px);line-height:1.15;white-space:normal}
body.pl-page .sec-head:not(:has(h2)){margin-bottom:14px;padding-bottom:12px}
/* tiles, cards, frames */
body.pl-page .tile{border-radius:4px;border-color:var(--line);background:var(--surface-1);gap:10px}
body.pl-page .tile .num{font:500 13px/1 var(--tp-mono);letter-spacing:.05em;color:var(--court)}
body.pl-page .tile b{font:700 20px/1.25 var(--tp-serif);letter-spacing:-.01em;color:var(--ink)}
body.pl-page .tile span{font-size:15px;line-height:1.55}
body.pl-page .tile a{color:var(--court);font-weight:600}
body.pl-page .tile small{border-top:1px solid var(--line);padding-top:12px;margin-top:auto;color:var(--court)}
body.pl-page .frame,body.pl-page .pl-card,body.pl-page .pl-stats,body.pl-page .pl-game,body.pl-page .pl-form,body.pl-page .pl-done{border-radius:4px}
body.pl-page .pl-card h3{font-size:20px}
body.pl-page .pl-stats b{font-family:var(--tp-mono);font-weight:600;color:var(--court-deep);letter-spacing:-.02em}
body.pl-page .pl-stats span{font:500 11px/1.45 var(--tp-mono);letter-spacing:.06em;text-transform:uppercase}
body.pl-page .bar i{border-radius:2px}
body.pl-page .bar em{font-family:var(--tp-mono)}
body.pl-page .pl-label-tag{border-radius:2px;color:var(--court-deep);border-color:var(--court-deep)}
body.pl-page .pl-game-meta{text-transform:uppercase;letter-spacing:.06em;font-size:11px}
body.pl-page .pl-game-body h3{font-size:24px}
body.pl-page .pl-profile-name .pl-mono{border-radius:4px}
body.pl-page .pl-profile-name h1{font-size:48px}
/* coaching point and callouts: 3px green rule, serif italic */
body.pl-page .pl-coach{border:0;border-left:3px solid var(--court-deep);border-radius:0;background:var(--surface-1)}
body.pl-page .pl-coach .chap{font:500 11px/1.2 var(--tp-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--court)}
body.pl-page .pl-coach p,body.pl-page .pl-thread p{font:italic 400 18px/1.55 var(--tp-serif);color:var(--ink)}
body.pl-page .pl-thread{border-left:3px solid var(--court-deep)}
body.pl-page .pl-thread li::before{display:none}
body.pl-page .pl-note{padding-left:14px;border-left:3px solid var(--court-deep)}
/* the send form */
body.pl-page .pl-form,body.pl-page .pl-done{background:var(--surface-1);border-color:var(--line)}
body.pl-page .pl-form .chips span{border-radius:4px;background:var(--surface-1);border-color:#cfd5cc;font:500 12px/1.2 var(--tp-mono);letter-spacing:.05em;text-transform:uppercase;padding:13px 8px}
body.pl-page .pl-form .chips input:checked+span{background:var(--court-deep);border-color:var(--court-deep);color:var(--paper)}
body.pl-page .pl-form input[type=url],body.pl-page .pl-form input[type=email]{height:48px;border:1px solid #cfd5cc;border-radius:4px;background:#fff;box-shadow:none}
body.pl-page .pl-form input:focus{outline:2px solid var(--court-deep);outline-offset:1px}
body.pl-page .pl-form input[aria-invalid="true"]{border-color:#b3261e;box-shadow:none}
body.pl-page .pl-form button{height:50px;border-radius:4px;background:var(--court-deep);border-color:var(--court-deep);color:var(--paper);font:600 12px/1 var(--tp-mono);letter-spacing:.05em;text-transform:uppercase;transition:box-shadow .12s,transform .12s}
body.pl-page .pl-form button:hover:not(:disabled){box-shadow:2px 2px 0 var(--ink);transform:translate(-1px,-1px)}
body.pl-page .pl-done h3{font-size:28px}
/* pricing: two white cards, the recommended one inverted deep green */
body.pl-page .pl-plan{border-radius:4px;border:1px solid var(--line);background:var(--surface-1);transition:box-shadow .12s,transform .12s}
body.pl-page .pl-plan h2{font-size:26px}
body.pl-page .pl-price{font:600 44px/1 var(--tp-mono);letter-spacing:-.03em;color:var(--court-deep)}
body.pl-page .pl-price small{display:block;margin-top:8px;font:500 11px/1.4 var(--tp-mono);letter-spacing:.06em;text-transform:uppercase}
body.pl-page .pl-plan li::before{border-radius:1px;background:var(--court)}
body.pl-page .pl-plan.main{--ink:#f7f8f5;--muted:#a9bdb3;--line:#24493c;border:1px solid #0d2e24;background:#0d2e24;color:#f7f8f5}
body.pl-page .pl-plan.main .pl-price{color:#f7f8f5}
body.pl-page .pl-plan.main li::before{background:#3ddc97}
body.pl-page .pl-plan.main .btn-primary,body.pl-page .pl-plan.main .btn-primary:hover{background:#3ddc97;border-color:#3ddc97;color:#0d2e24}
body.pl-page .pl-plan.main .btn:hover{box-shadow:2px 2px 0 #f7f8f5}
body.pl-page .pl-plan-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
body.pl-page .pl-badge{flex:none;padding:5px 9px;border-radius:999px;background:#3ddc97;color:#0d2e24;font:600 10px/1 var(--tp-mono);letter-spacing:.1em;text-transform:uppercase}
body.pl-page .pl-faq div{grid-template-columns:300px minmax(0,1fr)}
body.pl-page .pl-faq b{font:700 19px/1.3 var(--tp-serif);letter-spacing:-.01em}
body.pl-page .pl-faq a{color:var(--court);font-weight:600}
/* bottom CTA band: deep green, paper text */
body.pl-page .closer{--ink:#f7f8f5;--muted:#a9bdb3;border:0;border-radius:4px;background:#0d2e24;color:#f7f8f5}
body.pl-page .closer .chap{font:500 12px/1.2 var(--tp-mono);letter-spacing:.12em;text-transform:uppercase;color:#3ddc97}
body.pl-page .closer .punch{font-family:var(--tp-serif);font-weight:700;letter-spacing:-.02em;color:#f7f8f5}
body.pl-page .closer .cnr{border-color:#3ddc97}
body.pl-page .closer .btn-primary,body.pl-page .closer .btn-primary:hover{background:#3ddc97;border-color:#3ddc97;color:#0d2e24}
body.pl-page .closer .btn-ghost,body.pl-page .closer .btn-ghost:hover{background:transparent;border-color:#f7f8f5;color:#f7f8f5}
body.pl-page .closer .btn:hover{box-shadow:2px 2px 0 #3ddc97}
@media (max-width:980px){body.pl-page .pl-plan:hover{transform:none}}
@media (min-width:981px){body.pl-page .pl-plan:hover{box-shadow:2px 2px 0 var(--ink);transform:translate(-1px,-1px)}}
@media (max-width:560px){
  body.pl-page .pl-hero h1,body.pl-page .pl-profile-name h1{font-size:32px}
  body.pl-page .pl-faq div{grid-template-columns:minmax(0,1fr)}
  body.pl-page .pl-price{font-size:38px}
}
body.pl-page .sub a,body.pl-page .pl-small a{color:var(--court);font-weight:600;text-decoration:underline;text-underline-offset:3px}
