/* The Dark Wings pilot app (pilot.js): four places and one profile. Team color is --nr (ctx.js). body.pilot is set
   by pilot.js, so nothing here changes another team's app. */
.pilot .btn.quiet{background:transparent;color:var(--soft,#D6D2DE);box-shadow:none;width:auto;min-height:0;padding:10px 2px}
.pilot .btn.quiet.back{display:inline-block;margin:0 0 6px}
.pilot .btn.ghost{background:transparent;color:#fff}
.pl-title{font-size:40px;margin:6px 0 10px}
.pl-h{font-size:26px;margin:0 0 10px}
.pl-card{background:var(--card,#141213);border:1px solid var(--rule,#2A2422);border-radius:14px;padding:16px;margin:14px 0}
.pl-card>*:last-child{margin-bottom:0}
.pl-kick{font-family:var(--cond);font-weight:800;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--nr);margin:0 0 6px}
.pl-sub{font-family:var(--cond);font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft,#B9B3C2);margin:14px 0 6px}
.pl-ql{font-weight:700;margin:14px 0 8px}
.pl-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.pl-row .btn{flex:1 1 auto;width:auto}
.pl-lab{display:block;font-weight:700;margin:16px 0 6px}
.pl-in{width:100%;font:inherit;font-size:20px;padding:13px 14px;border-radius:12px;border:2px solid var(--line2,#423D4E);background:#0B0A0A;color:#fff;margin:0 0 12px}
.pl-in.code{font-family:var(--display);font-size:34px;letter-spacing:.3em;text-align:center;max-width:180px}
/* sign-in */
.pl-code{display:flex;gap:10px;justify-content:center;margin:18px 0 10px}
.pl-code span{display:flex;align-items:center;justify-content:center;width:78px;height:96px;border-radius:16px;background:#fff;color:#000;font-family:var(--display);font-size:64px;font-weight:900}
.pl-status{text-align:center;font-weight:700;color:var(--nr);min-height:1.4em}
.pl-steps{padding-left:22px;margin:16px 0}.pl-steps li{margin:6px 0}
/* header chip: opens the profile */
.pl-mechip{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#fff;border:2px solid var(--nr);border-radius:999px;padding:4px 10px;font-weight:700;font-size:15px}
.pl-mechip .n{color:var(--nr)}
.pl-mechip .pl-edit{font-family:var(--cond);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--soft,#B9B3C2)}
@media (max-width:420px){.pl-mechip .pl-edit{display:none}}
/* My Team */
.pl-admin,.pl-nudge{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;text-decoration:none;color:#fff;background:#0B0A0A;border:2px solid var(--nr);border-radius:14px;padding:12px 14px;margin:10px 0}
.pl-admin b,.pl-nudge b{grid-column:1}.pl-admin span,.pl-nudge span{grid-column:1;color:var(--soft,#B9B3C2);font-size:15px}
.pl-admin .pl-go,.pl-nudge .pl-go{grid-column:2;grid-row:1/3;font-size:30px;color:var(--nr)}
.pl-admin.hot{background:rgba(var(--nrrgb),.16)}.pl-admin.hot .pl-adminline{color:#fff;font-weight:700}
.pl-vs{font-family:var(--display);font-size:38px;text-transform:uppercase;line-height:.95}
.pl-when{margin:6px 0 12px;color:var(--soft,#B9B3C2)}
.pl-note{display:flex;flex-direction:column;gap:2px;border-left:4px solid var(--nr);padding:6px 10px;margin:12px 0;background:#0B0A0A}
.pl-game .btn{margin-top:12px;width:100%}
.pl-sched{list-style:none;padding:0;margin:0}
.pl-sched li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;padding:9px 0;border-top:1px solid var(--rule,#2A2422)}
.pl-sched li:first-child{border-top:0}
.pl-src{margin:10px 0 0}
.pl-src a{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.pl-wear{font-family:var(--cond);font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border-radius:6px}
.pl-wear.black{background:#000;color:#fff;border:1px solid #fff}.pl-wear.white{background:#fff;color:#000}
.pl-lead{list-style:none;padding:0;margin:0 0 6px}.pl-lead li{display:flex;justify-content:space-between;gap:10px;padding:6px 0}
.pl-lead span{color:var(--nr);font-weight:700}
.pl-names{display:flex;flex-wrap:wrap;gap:6px}.pl-names span{background:#0B0A0A;border:1px solid var(--rule,#2A2422);border-radius:999px;padding:5px 11px;font-size:15px}
/* notes on a card, and his next-season offer (offer.js) */
.pl-preview{background:rgba(var(--nrrgb),.12);border:1px dashed var(--nr);border-radius:10px;padding:8px 10px;font-size:15px}
.pl-done{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.pl-done b{font-family:var(--display);font-size:30px;text-transform:uppercase}
.pl-pill{font-family:var(--cond);font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.pl-pill.ok{background:var(--lime,#B8FF00);color:#000}.pl-pill.wait{background:#2A2422;color:#fff}
.pl-culture ul{margin:0;padding-left:20px}.pl-culture li{margin:3px 0}
/* an offer's terms: the dues, then two small groups (Game week, How we play), short enough that Accept is near */
.pl-season .pl-h{font-size:24px;line-height:1.05;margin:0 0 2px}
.pl-season .pl-kick{margin:0 0 4px}.pl-season > .small2{margin:0}
.pl-answers{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}
.pl-answers .btn{margin:0}.pl-answers .btn.big{width:auto;min-height:52px;padding:10px 22px}.pl-answers .btn.ghost{font-size:16px;padding-left:12px;padding-right:12px}
.pl-terms{margin-top:8px}
.pl-terms .pl-dues{margin:0 0 4px;line-height:1.3}.pl-terms .pl-dues span{display:block;font-size:14px;margin-top:1px}
.pl-tg{margin:5px 0 0}
.pl-tgh{font-family:var(--cond);font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--nr);margin:0 0 2px}
.pl-terms ul{padding-left:18px;font-size:15px;line-height:1.26}.pl-terms li{margin:1px 0}
.pl-terms .pl-check{margin:6px 0 4px}
.pl-check{display:flex;gap:10px;align-items:center;font-weight:700;margin:12px 0}
.pl-check input{width:24px;height:24px;accent-color:var(--nr)}
/* profile */
.pl-q{margin:6px 0 14px}
.pl-conflict{border-color:var(--nr)}
.pl-rate{scroll-margin-top:96px;margin:10px 0 16px;border:1px solid var(--rule,#2A2422);border-radius:12px;padding:10px 12px}
.pl-rate summary{font-weight:700;cursor:pointer}
.pl-rrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;padding:6px 0;border-top:1px solid var(--rule,#2A2422)}
.chip.sm{min-width:40px;justify-content:center;padding:6px 10px}
/* stats */
.pl-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 10px}
.pl-nums.four{grid-template-columns:repeat(2,1fr)}
.pl-num{background:#0B0A0A;border-radius:12px;padding:10px;text-align:center}
.pl-num b{display:block;font-family:var(--display);font-size:36px;color:var(--nr)}.pl-num span{font-size:14px;color:var(--soft,#B9B3C2)}
/* card and skates */
.pl-connect .btn{width:100%;margin-top:10px}
.pl-kv{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--rule,#2A2422)}
.pl-kv span{color:var(--soft,#B9B3C2)}.pl-kv b{text-align:right}
.mcard{margin:10px 0}
/* admin */
.pl-sreq{border:1px solid var(--rule,#2A2422);border-radius:12px;padding:12px;margin:10px 0}
.pl-sreq .warn{color:var(--err,#FF7A9A);font-weight:700}
.pl-sreq .btn{width:100%;margin:6px 0}
.pl-drow{padding:10px 0;border-top:1px solid var(--rule,#2A2422)}
.pl-dname{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.pl-dname small{color:var(--soft,#B9B3C2)}
.pl-dbits{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.pl-bit{display:inline-flex;gap:5px;align-items:baseline;font-size:13px;padding:3px 8px;border-radius:8px;background:#2A2422;color:#fff}
.pl-bit i{font-style:normal;color:var(--soft,#B9B3C2)}.pl-bit.ok{background:rgba(var(--nrrgb),.22)}
.pl-who{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px}
.pl-opt .pl-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0}
.pl-line i{font-style:normal;font-family:var(--cond);font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--soft,#B9B3C2);min-width:52px}
.pl-slot{display:inline-flex;flex-direction:column;align-items:center;min-width:72px;font:inherit;font-weight:700;color:#000;background:#fff;border:2px solid #fff;border-radius:10px;padding:5px 8px;cursor:pointer}
.pl-slot small{font-family:var(--cond);font-size:11px;letter-spacing:.08em;color:#555}
.pl-slot.on{background:var(--nr);border-color:var(--nr)}.pl-slot.open{background:transparent;color:#fff;border-style:dashed}
.pl-slot.g{background:#0B0A0A;color:#fff;border-color:var(--nr)}
/* next season's roster review */
.pl-rv{padding:12px 0;border-top:1px solid var(--rule,#2A2422)}
.pl-rv:first-of-type{border-top:0}
.pl-rv .chips{margin:8px 0 2px}
.pl-rv .btn.quiet{padding:6px 0;font-size:14px}
.chip.on.prop{background:transparent;color:#fff;border:2px dashed var(--nr)}
.pl-bit.warn{background:rgba(255,122,154,.18);color:#FFC2D0}
.pl-num.warn b{color:var(--err,#FF7A9A)}
details.pl-card summary{cursor:pointer;margin:0}
details.pl-card[open] summary{margin-bottom:10px}
.pl-card .warn,.small2.warn{color:var(--err,#FF7A9A)}
textarea.pl-in{font-size:16px;min-height:120px}
/* the captain's page (captain.js), in the hub's Season tab */
.cap{margin:10px 0 22px}
.cap .small2{font-size:14px;color:var(--soft,#B9B3C2)}
.cap .pl-title{font-size:30px;margin:18px 0 6px}
.pl-waiting{border-color:var(--nr)}
.pl-wait{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--rule,#2A2422)}
.pl-wait:first-of-type{border-top:0}
.pl-wait .btn{width:auto}
/* The captain flow (captain.js): the season and where it stands, three steps, one roster table that turns into
   stacked rows on a phone, the dues and the one approval, then Review invitations. */
.cf-head .pl-title{margin:2px 0}
.cf-pill{display:inline-block;font-family:var(--cond);font-weight:800;font-size:14px;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px;margin:8px 0 4px;background:#2A2422;color:#fff}
.cf-pill.awaiting{background:rgba(var(--nrrgb),.25);color:#fff;border:1px solid var(--nr)}.cf-pill.approved{background:#fff;color:#000}.cf-pill.sent{background:var(--lime,#B8FF00);color:#000}
.cf-steps{list-style:none;display:flex;gap:6px;padding:0;margin:10px 0 6px;flex-wrap:wrap}
.cf-steps li{display:flex;gap:6px;align-items:center;font-size:14px;color:var(--soft,#B9B3C2);background:#0B0A0A;border-radius:999px;padding:4px 10px 4px 4px}
.cf-steps li b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#2A2422;color:#fff;font-size:13px}
.cf-steps li.now{color:#fff;outline:2px solid var(--nr)}.cf-steps li.now b{background:var(--nr);color:#000}
.cf-steps li.done b{background:#fff;color:#000}.cf-steps li.done b::after{content:''}
.cf-next{font-weight:600;margin:6px 0 0}
.cf-headrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:2px 0}.cf-headrow .cf-pill{margin:0}
/* a step: one line saying what to do, then its one main button; a finished step folds to one line */
.cf-first{font-weight:600;margin:2px 0 10px}
.cf-step.done h2{margin-bottom:2px}
.cf-sum{margin:0 0 4px}.cf-sum .cf-tick{color:var(--lime,#B8FF00);font-weight:800}
.cf-more>summary{cursor:pointer;margin:2px 0}
.cf-more[open]>summary{margin-bottom:8px}
.cf-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 10px}
.cf-chip{font-size:14px;font-weight:700;background:#0B0A0A;border:1px solid #2A2422;border-radius:999px;padding:4px 10px}
.cf-chip.warn{color:var(--err,#FF7A9A);border-color:var(--err,#FF7A9A)}
.cf-roles{margin:10px 0 4px}
.cf-role{margin:0 0 6px;font-size:15px;line-height:1.4}
.cf-role b{font-family:var(--cond);font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:14px;color:var(--nr);margin-right:4px}
.cf-terms .cf-tgroups{display:grid;grid-template-columns:1fr;gap:0 22px}
.cf-dues p{margin:0 0 4px}.cf-dues{margin:0 0 6px}
.cf-radios{display:flex;flex-wrap:wrap;align-items:center;gap:0 16px}.cf-radios .pl-check{margin:6px 0}
.cf-step .btn.big{font-size:20px;min-height:58px;padding:14px 18px}
.cf-approve .pl-check{margin:6px 0}
.cf-tg{font-family:var(--cond);font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--nr);margin:6px 0 2px}
.cf-terms ul{margin:0 0 4px;padding-left:18px;font-size:15px;line-height:1.3}.cf-terms li{margin:2px 0}
.cf-group{margin:14px 0 2px;font-family:var(--cond);font-weight:800;font-size:15px;letter-spacing:.06em;text-transform:uppercase}
.cf-group.warn{color:var(--err,#FF7A9A)}
.cf-pl{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:4px 10px;padding:7px 0;border-bottom:1px solid #1A1615}
.cf-pl .cf-meta{color:var(--soft,#B9B3C2);font-size:14px}
.cf-pl .cf-sub{flex-basis:100%}
.cf-step details.cf-list{margin:10px 0}
.cf-step details.cf-list>summary{cursor:pointer;font-family:var(--cond);font-weight:800;font-size:15px;letter-spacing:.06em;text-transform:uppercase}
@media (min-width:640px){ .cf-terms .cf-tgroups{grid-template-columns:1fr 1fr} }
.cf-step h2{margin-bottom:4px}
.cf-table{margin:12px 0;border-top:1px solid #2A2422}
.cf-tr{display:grid;grid-template-columns:1.3fr 1.3fr 1.1fr 1.2fr 1.2fr;gap:8px;padding:10px 0;border-bottom:1px solid #2A2422;align-items:start}
.cf-table.five .cf-tr{grid-template-columns:1.1fr .9fr .7fr 1.6fr 1.4fr}
.cf-th{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--soft,#B9B3C2);padding:6px 0}
.cf-tr.open{background:rgba(var(--nrrgb),.07)}
.cf-td small,.cf-sub{display:block;font-size:13px;color:var(--soft,#B9B3C2)}
.cf-td .ok{color:var(--lime,#B8FF00);font-weight:700}.cf-td .warn,.cf-sub.warn{color:var(--err,#FF7A9A);font-weight:700}
.cf-sel{font:inherit;font-size:15px;background:#0B0A0A;color:#fff;border:1px solid #4A4240;border-radius:8px;padding:6px 8px;max-width:100%;min-height:40px}
.cf-note{font-size:13px;color:#fff;background:#1A1615;border-radius:6px;padding:3px 6px;margin-top:4px}
.linkbtn.small{font-size:13px;padding:2px 0}
.cf-add{margin:10px 0;border:1px solid #2A2422;border-radius:12px;padding:8px 10px}
.cf-add summary{cursor:pointer}
.cf-pick{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.cf-pi{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid #1A1615}
.cf-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:8px 0}
.cf-dl dt{color:var(--soft,#B9B3C2);font-size:14px}.cf-dl dd{margin:0;font-weight:600}
.cf-payer.ex{color:var(--nr)}
.cf-approve{margin-top:14px;border-top:2px solid var(--nr);padding-top:10px}
.cf-gates{list-style:none;padding:0;margin:8px 0;display:flex;flex-wrap:wrap;gap:2px 14px;font-size:14px}
.cf-gates li::before{content:'✓ ';font-weight:800}.cf-gates li.ok::before{color:var(--lime,#B8FF00)}.cf-gates li.no{color:var(--err,#FF7A9A);font-weight:700}.cf-gates li.no::before{content:'✗ '}
.cf-preview{background:#F4F1EA;color:#111;border-radius:10px;padding:10px 12px;font-size:15px}.cf-preview .muted{color:#555}
@media (max-width:760px){
  .cf-th{display:none}
  .cf-tr,.cf-table.five .cf-tr{grid-template-columns:1fr;gap:4px;padding:10px 0}
  .cf-td{display:grid;grid-template-columns:7.5em 1fr;gap:8px;align-items:start}
  .cf-td::before{content:attr(data-l);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--soft,#B9B3C2);padding-top:3px}
  .cf-td[data-l="Person"]{grid-template-columns:1fr}.cf-td[data-l="Person"]::before{content:none}
}
@media (min-width:761px){ .cf-step .pl-nums.four{grid-template-columns:repeat(4,1fr)} .cf-step .pl-num b{font-size:28px} }
/* Pay with Venmo (the Skate Shop's Venmo blue; contrast 4.9 with white) */
.pl-pay{margin:10px 0 4px}.pl-pay p{margin:0 0 8px}.pl-pay .muted{font-weight:400}
.pilot .btn.pl-venmo,.btn.pl-venmo{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;background:#0070D6;color:#fff;text-decoration:none;font-weight:700;margin:4px 0 8px}
.pilot .btn.pl-bench,.btn.pl-bench{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;background:#fff;color:#0B0B10;text-decoration:none;font-weight:800;margin:4px 0 8px}
.pl-pay .pl-row{display:grid;gap:0}
.pl-paid{color:#B8FF00}
.cf-rem{margin:-4px 0 12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}.cf-rem .btn{flex:0 1 auto}
/* How players pay: its own box in step 2, never inside a fold */
.cf-pay{margin:12px 0;padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.03)}.cf-pay .pl-sub{margin:0 0 6px}.cf-pay .pl-in{margin:6px 0 2px}.cf-pay .btn{margin-top:4px}
.cf-gates li.na{color:var(--soft,#D6D2DE)}.cf-gates li.na::before{content:'○ '}
/* Your teams: one membership, a switch between team apps */
.pl-teams{padding-top:12px;padding-bottom:12px}.pl-teams .pl-kick{margin:0 0 8px}
.pl-teamrow{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.pl-teamrow::-webkit-scrollbar{display:none}
.pl-team{flex:1 0 auto;min-width:118px;min-height:52px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.16);border-left:4px solid var(--tc,#888);background:rgba(255,255,255,.04);color:#fff;font:inherit;text-align:left;cursor:pointer}
.pl-team b{font-size:16px}.pl-team small{font-size:12px;color:var(--soft,#D6D2DE)}.pl-team.on{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4);border-left-color:var(--tc,#888);cursor:default}
.pl-team:disabled{opacity:.6}
/* Each person's dues: one row a person, the control wraps under the name on a phone */
.cf-duesp .cf-drow{padding:8px 0;border-top:1px solid rgba(255,255,255,.08)}
.cf-duesp .cf-drow:first-of-type{border-top:0}
.cf-duesp .pl-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;align-items:center}
.cf-duesp .cf-dsel{flex:1 1 150px;min-width:0;margin:0}
.cf-duesp .cf-damt{flex:0 1 110px;min-width:0;margin:0}
.cf-duesp .cf-dnote{flex:1 1 160px;min-width:0;margin:0}
.cf-dprop{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px;padding:6px 10px;border-radius:10px;background:rgba(var(--nrrgb),.14);font-size:15px}
.cf-dprop span{flex:1 1 100%}
/* Payments: one row a person, Paid / Not yet / Waived under the name */
.cf-pay .cf-bench{list-style:none;padding:0;margin:8px 0}.cf-payrow{padding:10px 0;border-top:1px solid rgba(255,255,255,.1)}.cf-payrow .chips{margin:6px 0 0}.cf-payrow .small2{margin:4px 0 0}

/* A private note to the captain (Talk to Jonah) and the captain's own inbox (Notes for you). */
.pl-talk .chips{margin:10px 0}
.pl-notein{width:100%;min-height:96px;resize:vertical;font:inherit;margin:0 0 10px}
.pl-notes{margin-top:16px;display:grid;gap:8px}
.pl-note{border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 12px;display:grid;gap:6px}
.pl-note.new{border-color:var(--nr);background:rgba(var(--nrrgb),.08)}
.pl-notehead{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.pl-notetx{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.pl-inbox{scroll-margin-top:80px}

/* Study the game: the film, the short plays and the rules guide (the guide's styles follow /3v3/'s, scoped here). */
.pl-study .pl-row{flex-wrap:wrap}
.pl-film{margin:4px 0 22px}
.pl-guide .guide{max-width:820px}
.pl-guide .gquick{list-style:none;counter-reset:q;margin:0;padding:0;display:grid;gap:8px}
.pl-guide .gquick li{counter-increment:q;display:grid;grid-template-columns:28px 1fr;column-gap:10px;row-gap:4px;align-items:start;background:var(--card,#141217);border:1px solid var(--rule,rgba(255,255,255,.12));border-radius:14px;padding:11px 13px}
.pl-guide .gquick li::before{content:counter(q);grid-row:span 2;width:28px;height:28px;border-radius:50%;background:var(--nr);color:#000;display:grid;place-items:center;font:900 17px/1 var(--display)}
.pl-guide .gq{font-size:16px;font-weight:600;color:#F2EEE8;line-height:1.35}
.pl-guide .gtag{display:inline-block;justify-self:start;font-family:var(--cond);font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 9px;border:1px solid rgba(255,255,255,.28);color:#D8D3E0;background:#000}
.pl-guide .gtag.bfhc{border-color:rgba(230,69,140,.7);color:#FFB3D3}
.pl-guide .gtag.team{border-color:rgba(167,121,255,.7);color:#D5C2FF}
.pl-guide .gtag.rink{border-color:rgba(255,196,0,.7);color:#FFE08A}
.pl-guide h3.gfull{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(26px,7vw,34px);line-height:1;margin:24px 0 8px}
.pl-guide .gpart{background:var(--card,#141217);border:1px solid var(--rule,rgba(255,255,255,.12));border-radius:14px;margin-top:10px;scroll-margin-top:80px}
.pl-guide .gpart summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:14px 16px;min-height:48px}
.pl-guide .gpart summary::-webkit-details-marker{display:none}
.pl-guide .gpart summary::after{content:'+';margin-left:auto;font:900 24px/1 var(--display);color:var(--soft,#B9B3C2)}
.pl-guide .gpart[open] summary::after{content:'\2212'}
.pl-guide .gpart summary b{font-family:var(--display);font-weight:900;font-size:22px;text-transform:uppercase;line-height:1}
.pl-guide .gpart .gnote{margin:0 16px 8px;color:var(--soft,#B9B3C2);font-size:15px}
.pl-guide .gpart ul{margin:0;padding:0 16px 14px 34px;display:grid;gap:7px;color:#E8E3EC;font-size:16px;line-height:1.4}
.pl-guide .gfix{margin:14px 0 0;color:var(--soft,#B9B3C2);font-size:15px}
.pl-guide .gfix a{color:#fff;font-weight:700}
/* Game Time first (site/gametime.css): the next game's card, then his other teams' cards. */
.pl-gt{display:grid;gap:12px;margin:0 0 14px}
.pl-gt .gt{max-width:none}
.pl-wear.tbd{background:#2a2a33;color:#ddd}
/* Player profiles (Team admin): a captain's own calls on one player */
.pl-pedit{margin-top:10px;padding:4px 12px 12px;border:1px solid var(--rule,#2A2422);border-radius:12px;background:rgba(255,255,255,.03)}
.pl-pedit .pl-row{margin-top:10px}
.pl-drow .pl-kv b{font-weight:600}
/* Three tabs, four for a team admin (Game, Team, Profile, Admin; the simplification plan, 2026-11-04). The count on
   Admin: sign-in requests waiting and the captain's new notes. */
body.pilot .tabbar{grid-template-columns:repeat(var(--tabs,4),minmax(0,120px))}
body.pilot .tabbar a{letter-spacing:.04em;position:relative}
.pl-tabn{position:absolute;top:4px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--nr);color:#000;font-family:var(--cond);font-weight:800;font-size:12px;line-height:18px;letter-spacing:0;text-align:center}
/* The player profile, obvious (Sam, 2026-11-03): a jump row and three titled sections. */
.pl-jump{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px}
.pl-psec{scroll-margin-top:96px}
.pl-psh{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 4px}
.pl-psh .pl-h{margin:0}
.pl-pst{flex:none;font-family:var(--cond);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:3px 10px;border:1px solid var(--rule,#2A2422);color:var(--soft,#B9B3C2)}
.pl-pst.ok{border-color:var(--nr);color:var(--nr)}

/* Team: a fold that reads as one line until it's opened (Talk to the captain). */
details.pl-fold summary{list-style:none;display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;min-height:44px}
details.pl-fold summary::-webkit-details-marker{display:none}
details.pl-fold summary .pl-h{grid-column:1;margin:0;font-size:24px}
details.pl-fold summary .pl-fsub{grid-column:1;color:var(--soft,#B9B3C2);font-family:var(--body);font-size:15px;font-weight:400;letter-spacing:0;text-transform:none}
details.pl-fold summary::after{content:'+';grid-column:2;grid-row:1/3;font:900 26px/1 var(--display);color:var(--nr)}
details.pl-fold[open] summary::after{content:'\2212'}
details.pl-fold[open] summary{margin-bottom:10px}
.pl-anchor,#pl-stats,#pl-improve{scroll-margin-top:96px}
/* Profile: My stats' folds, and the links to his member card and skates. */
.pl-sfold{border-top:1px solid var(--rule,#2A2422);margin:10px 0 0;padding-top:10px}
.pl-sfold summary{cursor:pointer;font-weight:700;min-height:32px}
.pl-sfold[open] summary{margin-bottom:8px}
.pl-link{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;text-decoration:none;color:#fff;padding:12px 2px;border-top:1px solid var(--rule,#2A2422);min-height:52px}
.pl-link:first-of-type{border-top:0}
.pl-link b{grid-column:1;font-size:18px}.pl-link span{grid-column:1;color:var(--soft,#B9B3C2);font-size:15px}
.pl-link .pl-go{grid-column:2;grid-row:1/3;font-size:28px;color:var(--nr)}
.pl-teamsmy{margin:10px 0 0}.pl-teamsmy a{color:#fff;font-weight:700}
/* Game: his other team, one small card low on the tab. */
.pl-teams .pl-team{width:100%;margin:6px 0 0}
/* Admin (the simplification plan, item 10): what needs him first, then the one line maker, then his team, then folds. */
.pl-calm{display:block;background:#0B0A0A;border:1px solid var(--rule,#2A2422);border-radius:14px;padding:12px 14px;margin:6px 0 14px;font-size:15px;color:var(--soft,#B9B3C2)}
.pl-calm b{color:#fff}
.pl-needcard{border-color:var(--nr)}
.pl-lines{background:transparent;border:0;padding:0;margin:20px 0 14px}
.pl-board .pchips{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}
.pl-lines .pl-games{margin:4px 0 6px}
.pl-lines .pl-ql{margin:12px 0 6px}
.pl-lines .chips + .small2{margin:6px 0 4px}
.pl-who2{margin:10px 0 4px}
.pl-who2 .chips{margin:4px 0 6px}
.pl-who2 .pl-sub{margin:10px 0 4px}
.pl-board .board{margin:10px 0 6px}
.pl-notefold{margin:6px 0 0}
.pl-notefold .pl-fsub{color:var(--soft,#B9B3C2);font-weight:400;font-size:15px}
.pl-notefold textarea.pl-in{min-height:72px;margin:8px 0}
.pl-lines .pl-link{border-top:1px solid var(--rule,#2A2422);margin-top:6px}
.pl-teamadm .pl-h{margin-bottom:4px}
.pl-lines label.pl-ql{display:block}
.pl-gamepick{font-size:17px;padding:10px 12px;margin:0 0 4px}
.pl-who2 summary,.pl-notefold summary{font-family:var(--body);text-transform:none;letter-spacing:0}
.pl-who2 summary b,.pl-notefold summary b{font-family:var(--cond);font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.pl-who2 summary span,.pl-notefold summary .pl-fsub{font-family:var(--body);text-transform:none;letter-spacing:0;font-weight:400}
