/* Layout: one dark training-floor app; a top bar flips between Trey's coach desk and a client's phone view (single column, max 960px). */
:root{
  --bg:#0E0E0E; --panel:#151515; --raise:#1A1A1A; --line:#2A2A2A; --line2:#3A3A3A;
  --fg:#F2F0EB; --muted:#C9C6BF; --dim:#A3A09A; --accent:#FF5A1F; --accent-hi:#FF7A45; --on-accent:#0E0E0E;
  --ok:#8EE59B; --okbg:#1E2A1F; --warn:#FF9A70; --warnbg:#3A1E14;
  --display:Anton, Impact, "Arial Narrow", sans-serif; --body:Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:15px;line-height:1.45;margin:0}
.wrap{max-width:960px;margin:0 auto;padding-block:0 64px;padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px))}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent-hi);outline-offset:2px}
h1,h2,h3{margin:0;text-wrap:balance}
.disp{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.5px;line-height:1}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim)}
.muted{color:var(--muted)} .dim{color:var(--dim)}
.stack{display:flex;flex-direction:column;gap:14px} .stack-s{display:flex;flex-direction:column;gap:8px}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center} .between{justify-content:space-between}
.top{position:sticky;top:env(safe-area-inset-top, 0px);z-index:5;background:var(--bg);border-bottom:1px solid var(--line);margin-bottom:22px}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top, 0px);z-index:10;background:var(--bg)}
.top-in{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding-block:14px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:20px;text-transform:uppercase;letter-spacing:1px}
.brand small{font-family:var(--body);font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--on-accent);background:var(--accent);padding:2px 6px}
.seg{display:flex;border:2px solid var(--line2)}
.seg button{min-height:40px;padding:0 16px;background:transparent;border:0;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
.seg button[aria-pressed="true"]{background:var(--accent);color:var(--on-accent)}
.btn{min-height:44px;padding:0 18px;border:2px solid var(--fg);background:transparent;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:1px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn.quiet{border-color:var(--line2)}
.btn.danger{border-color:var(--warn);color:var(--warn)}
.btn.small{min-height:36px;padding:0 12px;font-size:12px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.link{background:none;border:0;color:var(--muted);font-weight:600;padding:0;min-height:44px;display:inline-flex;align-items:center;gap:4px}
.link:hover{color:var(--accent-hi)}
.card{background:var(--panel);border:1px solid var(--line);padding:18px}
.tile{background:var(--panel);border:2px solid var(--line);padding:14px 16px;text-align:left;display:flex;flex-direction:column;gap:4px;width:100%}
.tile:hover{border-color:var(--line2)}
.grid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.badge{font-size:11px;font-weight:700;padding:3px 8px;letter-spacing:.5px;white-space:nowrap}
.b-ok{background:var(--okbg);color:var(--ok)} .b-warn{background:var(--warnbg);color:var(--warn)} .b-n{background:var(--raise);color:var(--muted);border:1px solid var(--line)} .b-style{background:var(--raise);color:var(--accent-hi);border:1px solid var(--accent);display:inline-block}
.inp[disabled]{opacity:.4}
.link[disabled]{opacity:.3;cursor:default}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.pcard{background:var(--panel);border:1px solid var(--line);padding:0;text-align:left;display:flex;flex-direction:column;width:100%;min-width:0}
.pcard:hover{border-color:var(--line2)}
.pimg{aspect-ratio:4/5;background:var(--raise);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;width:100%}
.pimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pimg svg{width:34%;height:auto}
.pbody{padding:10px 12px 12px;display:flex;flex-direction:column;gap:2px}
.ptag{position:absolute;top:8px;left:8px}
.b-hot{background:var(--accent);color:var(--on-accent)}
.pdetail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
@media (max-width:700px){.pdetail{grid-template-columns:1fr}}
.thumbs{display:flex;gap:8px;flex-wrap:wrap}
.thumb{width:64px;padding:0;border:2px solid var(--line2);background:var(--raise);aspect-ratio:4/5;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.thumb svg{width:40%;height:auto}
.thumb[aria-pressed="true"]{border-color:var(--accent)}
.chip{padding:6px 12px;border:1px solid var(--line2);font-size:13px;font-weight:600}
a.btn{color:inherit}
a.btn.primary{color:var(--on-accent)}
.lastbox{margin-top:8px;padding:8px 10px;background:var(--raise);border-left:3px solid var(--accent-hi);font-size:14px}
.lastset{display:block;font-size:10px;letter-spacing:0;font-weight:600;color:var(--dim);text-transform:none;margin-top:2px;word-break:break-word;line-height:1.2}
.histrow{border-top:1px solid var(--line);padding-top:6px}
.up{color:var(--ok);font-weight:700;font-size:12px} .dn{color:var(--warn);font-weight:700;font-size:12px}
tr.grp td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
.glab{font-size:11px;font-weight:800;color:var(--accent);text-align:center;margin-bottom:2px}
tr.linkrow td{border-top:0;padding:0 6px}
.linkbtn{min-height:32px;padding:0 10px;margin:2px 0;background:transparent;border:1px dashed var(--line2);color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.linkbtn:hover{border-color:var(--accent);color:var(--accent-hi)}
.linkbtn.on{border:1px solid var(--accent);color:var(--accent-hi);background:var(--raise)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}
.tabs button{min-height:44px;padding:0 16px;background:transparent;border:0;border-bottom:3px solid transparent;font-weight:700;color:var(--dim)}
.tabs button[aria-selected="true"]{color:var(--fg);border-bottom-color:var(--accent)}
label.f{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);min-width:0}
.inp{background:var(--bg);border:1px solid var(--line2);padding:12px;font-size:16px;text-transform:none;letter-spacing:0;font-weight:400;width:100%;min-width:0}
textarea.inp{resize:vertical}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{min-height:44px;padding:8px 14px;background:var(--bg);border:2px solid var(--line2);font-weight:600;font-size:14px;text-align:left}
.pill[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.pill small{display:block;font-weight:500;font-size:12px;opacity:.8}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.steps{display:flex;gap:4px}
.steps span{flex:1;height:4px;background:var(--line)} .steps span.on{background:var(--accent)}
.tbl-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:14px}
th{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--dim);text-align:left;font-weight:700;padding:8px 6px}
td{padding:4px 6px;border-top:1px solid var(--line);vertical-align:middle}
td .inp{padding:8px;font-size:14px}
.num{font-variant-numeric:tabular-nums}
.setrow{display:grid;grid-template-columns:44px 1fr 1fr 48px;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.check{width:44px;height:44px;border:2px solid var(--line2);background:transparent;font-weight:800;font-size:18px;color:var(--dim)}
.check[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.hero{background:var(--accent);color:var(--on-accent);padding:20px}
.flag{border-left:0;background:var(--warnbg);color:var(--warn);padding:10px 12px;font-size:14px}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom, 0px));background:var(--fg);color:var(--bg);font-weight:700;padding:12px 18px;z-index:20;max-width:calc(100% - 32px)}
.empty{border:2px dashed var(--line2);padding:24px;text-align:center;color:var(--muted)}
.waiver{background:var(--bg);border:1px solid var(--line2);padding:14px;max-height:200px;overflow:auto;font-size:14px;color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* ---------- website pages ---------- */
a{color:inherit}
a.brand{text-decoration:none}
.navlink{color:var(--muted);font-weight:600;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.navlink:hover,.navlink[aria-current="page"]{color:var(--fg)}
.navlink[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--accent)}
p .navlink,.legal .navlink,.flag .navlink,.empty .navlink,.dim .navlink{min-height:0;display:inline;color:var(--accent-hi);text-decoration:underline;box-shadow:none}
.hero-home{padding:28px 0 8px;border-bottom:1px solid var(--line);padding-bottom:36px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.auth{max-width:420px;margin:12px auto 0}
.okmsg{background:var(--okbg);color:var(--ok);padding:10px 12px;font-size:14px}
.legal{white-space:pre-line;color:var(--muted);font-size:15px;line-height:1.6}
.foot{margin-top:56px;padding-top:18px;border-top:1px solid var(--line)}
@media (max-width:520px){.top-in nav{gap:12px!important}.seg button{padding:0 10px;font-size:12px}}
