/* Accounts: the sign-in page (signin.html, which loads only app.css, systems.css and this) and #/account.
   The sign-in page is a cover for Redzone itself: Western's seal, the name, one Slack button, and a 5v5 field below. */

/* ---------- faces: a Slack photo, or initials / a jersey number in a tinted disc ---------- */
.face{--s:40px;width:var(--s);height:var(--s);border-radius:50%;flex:none;display:block;object-fit:cover;background:var(--panel);box-shadow:inset 0 0 0 1px var(--rule)}
.face.mono{display:grid;place-items:center;font:600 calc(var(--s) * .4)/1 var(--serif);font-variant-numeric:lining-nums;color:var(--accent-text);background:var(--accent-tint)}

/* ---------- sign in: the cover ---------- */
.si-edge{height:6px;flex:none;background:linear-gradient(var(--accent) 0 2px,transparent 2px 4px,var(--accent) 4px 6px)}
.si-main{flex:1;display:grid;align-content:center;padding-block:clamp(40px,9vh,112px) 0}
.si-cover{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center;max-width:1120px}
.si-seal{--z:clamp(176px,22vw,288px)}
.si-name{font:650 clamp(68px,10.4vw,152px)/.88 var(--serif);letter-spacing:-.038em}
.si-name small{display:block;font:italic 400 clamp(20px,2.1vw,29px)/1.2 var(--serif);letter-spacing:-.005em;color:var(--slate);margin-top:.5em}
.si-name:focus{outline:none}
.si-hi{font-size:clamp(46px,6.2vw,84px);line-height:.96}
.si-go{display:grid;gap:14px;justify-items:start;margin-top:clamp(30px,3.6vw,48px)}
.btn.si-slack{min-height:58px;padding:0 26px 0 12px;gap:14px;font-size:16.5px;border-radius:12px;box-shadow:0 12px 28px -16px rgba(79,38,131,.75)}
.btn.si-slack:hover{transform:translateY(-1px);box-shadow:0 16px 30px -16px rgba(79,38,131,.85)}
.btn.si-slack:active{transform:translateY(1px)}
.btn[aria-disabled="true"]{opacity:.38;pointer-events:none;box-shadow:none;cursor:default}
.si-slack-mark{width:34px;height:34px;border-radius:9px;background:#FFF;display:grid;place-items:center;flex:none}
.si-slack-mark svg{width:19px;height:19px;display:block}
.si-msg{font-size:15px;color:var(--slate);max-width:48ch}
.si-msg:empty{display:none}

/* the field, end to end: 10-yd end zones, the 50 between, the last ten before the goal line in purple */
.si-field{position:relative;flex:none;height:clamp(52px,6.4vw,80px);margin-top:clamp(40px,7vh,88px);background:var(--turf);overflow:hidden}
.si-field svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.si-field .ez{fill:var(--ez)}
.si-field .rz{fill:var(--accent);opacity:.18}
.si-field .yl{stroke:var(--turf-line);stroke-width:1;vector-effect:non-scaling-stroke}
.si-field .gl{stroke:var(--turf-strong);stroke-width:1.5;vector-effect:non-scaling-stroke}
.si-field span{position:absolute;left:calc(var(--x) / 70 * 100%);bottom:7px;transform:translateX(-50%);padding:1px 4px;background:var(--turf);
  font:600 clamp(11px,1.15vw,15px)/1 var(--serif);font-variant-numeric:lining-nums;color:var(--turf-strong)}
.si-field span:last-child{background:color-mix(in srgb,var(--turf),var(--accent) 18%)}     /* the 5, inside the purple */

/* ---------- sign in: the dev list ---------- */
.si-dev{padding-block:clamp(36px,5vw,60px) 8px}
.si-people{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:2px 24px}
.si-person{display:flex;align-items:center;gap:12px;width:calc(100% + 20px);margin-inline:-10px;padding:8px 10px;border:0;background:none;border-radius:var(--r);
  cursor:pointer;text-align:left;color:var(--ink);transition:background-color .14s}
.si-person:hover{background:var(--panel)}
.si-person[disabled]{opacity:.5;cursor:default}
.si-pn{display:grid;min-width:0}
.si-pn b{font:600 17px/1.2 var(--serif);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.si-pn small{font-size:13.5px;color:var(--slate)}
.si-tag{font-style:normal;font-weight:620;color:var(--accent-text);margin-left:4px}
.si-new{margin-top:24px;gap:8px;max-width:440px}
.si-new-row{display:flex;gap:10px}
.si-new-row input{flex:1;min-width:0}
.si-new-row .btn{min-height:44px}
.si-foot{margin-top:0;border-top:0}

/* ---------- sign in: first time ---------- */
.si-who{display:flex;align-items:center;gap:14px;margin-top:22px}
.si-who p{display:grid;gap:1px;font-size:14px;color:var(--slate);min-width:0}
.si-who b{font:600 19px/1.25 var(--serif);color:var(--ink)}
.si-who span{overflow:hidden;text-overflow:ellipsis}
.si-reg{max-width:560px;margin-top:26px}
/* the big choices: player or coach, then offence, defence or both. The picked one takes the purple and a check. */
.si-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.si-card{position:relative;display:flex;align-items:center;gap:14px;padding:16px 40px 16px 16px;border:1.5px solid var(--rule);border-radius:14px;
  background:var(--paper);color:var(--ink);font:inherit;text-align:left;cursor:pointer;
  transition:border-color .15s,background-color .15s,box-shadow .15s,transform .15s var(--ease)}
.si-card:hover{border-color:var(--slate)}
.si-card:active{transform:translateY(1px)}
.si-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.si-card[aria-checked="true"]{border-color:var(--accent);background:var(--accent-tint);box-shadow:0 12px 26px -20px rgba(79,38,131,.9)}
.si-card::after{content:"";position:absolute;top:12px;right:12px;width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--rule);transition:background-color .15s,box-shadow .15s}
.si-card[aria-checked="true"]::after{background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat;box-shadow:none}
.si-ico{width:46px;height:46px;flex:none;color:var(--accent-text)}
.si-ico text{font:700 14px/1 var(--serif);font-variant-numeric:lining-nums;fill:currentColor}
.si-card-t{display:grid;gap:3px;min-width:0}
.si-card-t b{font:600 21px/1.1 var(--serif)}
.si-card-t small{font-size:13.5px;line-height:1.3;color:var(--slate)}
.si-sides .si-card{padding-block:12px}
.si-sides .si-ico{width:36px;height:36px}
.si-sides .si-card-t b{font-size:18px}
.si-hint{font-weight:420;color:var(--slate);margin-left:6px}
.si-coach{display:grid;gap:16px}
.si-coach[hidden]{display:none}
@media (max-width:480px){
  .si-card{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 36px 14px 14px}
  .si-hint{display:block;margin:2px 0 0}
}
@media (prefers-reduced-motion: reduce){.si-card,.si-card::after{transition:none}}
.si-play{display:grid;gap:16px}
.si-play[hidden]{display:none}
.si-note{font-size:14.5px;color:var(--slate);margin-top:2px}
.si-act{display:flex;align-items:center;gap:20px;margin-top:4px}
.si-act .btn{min-width:180px}

/* ---------- #/account: you ---------- */
.ac{padding-block:clamp(36px,5vw,64px) clamp(30px,4vw,48px)}
.ac-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(18px,2.8vw,40px);align-items:center}
.ac-face{--z:clamp(88px,9vw,120px);position:relative;width:var(--z);height:var(--z);flex:none}
.ac-face .face{width:100%;height:100%}
.ac-face .face.mono{font-size:calc(var(--z) * .38)}
.ac-no{position:absolute;right:-8px;bottom:-4px;min-width:42px;height:42px;padding:0 9px;border-radius:999px;display:grid;place-items:center;
  background:var(--accent);color:var(--on-accent);font:650 19px/1 var(--serif);font-variant-numeric:lining-nums;box-shadow:0 0 0 3px var(--paper)}
.ac-name{font-size:clamp(40px,5vw,72px);overflow-wrap:anywhere}
.ac-sub{font:400 clamp(18px,1.6vw,22px)/1.35 var(--serif);color:var(--slate);margin-top:10px}
.ac-out{display:grid;gap:2px;justify-items:end}
.ac-note{margin-top:26px;padding:14px 18px;border-radius:var(--r);background:var(--accent-tint);font-size:15px;max-width:62ch}
.ac-form{max-width:640px;margin-top:8px}
.ac-facts{display:flex;flex-wrap:wrap;gap:8px 36px;margin:0}
.ac-facts dt{font-size:13px;font-weight:600;color:var(--slate)}
.ac-facts dd{margin:3px 0 0;font:600 19px/1.2 var(--serif);font-variant-numeric:lining-nums}
.ac-act{display:flex;align-items:center;gap:12px}
.ac-act .btn{min-width:150px}

/* ---------- #/account: the team (coaches) ---------- */
.ac-h3{font-size:15px;font-weight:620;color:var(--slate);margin:28px 0 6px}
.ac-team .h2:focus{outline:none}
.team{list-style:none;margin:0;padding:0;max-width:1080px}
.team .tm{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(0,1.5fr) 104px auto 128px;gap:18px;align-items:center;padding:10px 0;border-top:1px solid var(--rule)}
.team .tm:first-child{border-top:0}
.tm-who{display:flex;align-items:center;gap:12px;min-width:0}
.tm-n{display:grid;min-width:0}
.tm-n b{font:600 17px/1.2 var(--serif)}
.tm-n small{font-size:13px;color:var(--slate);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tm-you{font-style:normal;font-size:12.5px;font-weight:620;color:var(--accent-text);margin-left:4px}
.tm-play,.tm-seen{font-size:14px;color:var(--slate);min-width:0}
.tm-seen{white-space:nowrap}
.team .tm .seg button{min-height:34px;padding:6px 12px;font-size:14px}
.tm-act{justify-self:end;white-space:nowrap}
.tm-off[data-armed]{color:#C7362F}
.team.asks .tm{grid-template-columns:minmax(0,1fr) auto}
.tm-req-act{display:flex;flex-wrap:wrap;gap:10px;justify-self:end}
.tm-req-act .btn{min-height:40px}
.team.off .tm{opacity:.6;transition:opacity .14s}
.team.off .tm:hover,.team.off .tm:focus-within{opacity:1}

/* ---------- responsive ---------- */
@media (max-width: 900px){
  .team .tm{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"who who" "play play" "role act";row-gap:8px;padding-block:14px}
  .tm-who{grid-area:who}.tm-play{grid-area:play;padding-left:52px}.tm-seen{display:none}.tm-role{grid-area:role;justify-self:start}.tm-act{grid-area:act}
  .tm-play:empty{display:none}
  .team.asks .tm{grid-template-areas:"who" "role";grid-template-columns:minmax(0,1fr)}
  .tm-req-act{grid-area:role;justify-self:start;padding-left:52px}
}
@media (max-width: 767px){
  .si-main{align-content:start;padding-top:36px}
  .si-cover{grid-template-columns:minmax(0,1fr);gap:26px}
  .si-seal{--z:136px}
  .si-name{font-size:clamp(60px,18vw,92px)}
  .si-hi{font-size:clamp(42px,12vw,60px)}
  .si-go{justify-items:stretch}
  .btn.si-slack{width:100%}
  .si-field span:nth-child(even){display:none}
  .si-new-row .btn{padding:0 14px}
  .si-act{flex-wrap:wrap}
  .si-act .btn{flex:1}
  .ac-head{grid-template-columns:auto minmax(0,1fr)}
  .ac-out{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;justify-items:start}
  .ac-no{min-width:34px;height:34px;font-size:16px}
}
