:root{--linen:#e6dfd2;--ink:#2a3036;--muted:#e6dfd2c7;--glass:#16191c75;--glass-strong:#e6dfd224;--line:#e6dfd257;--shadow:0 18px 44px #0c0e1061;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--linen);background:var(--ink);font-family:Raleway,Segoe UI,sans-serif;font-weight:300}*,:before,:after{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{min-height:100%;color:var(--linen);background:#121416;margin:0;font-family:inherit;font-weight:300}.login,.desk,.splash{z-index:1;isolation:isolate;position:relative}.scene-backdrop{z-index:1;pointer-events:none;opacity:.82;mix-blend-mode:screen;position:fixed;top:0;bottom:0;left:0;right:0}.scene-backdrop canvas{width:100%;height:100%;display:block}.scene-backdrop-login{opacity:.82}.scene-backdrop-desk{opacity:.38}button,input{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,p{margin:0}strong{font-weight:400}code{font-family:inherit;font-size:.92em;font-weight:300}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.num{font-variant-numeric:tabular-nums;letter-spacing:.03em}.splash{letter-spacing:.08em;place-items:center;min-height:100vh;font-size:1.5rem;font-weight:200;animation:.6s fade-in;display:grid}.btn{border:1px solid var(--line);background:var(--glass);color:var(--linen);letter-spacing:.04em;-webkit-backdrop-filter:blur(14px);border-radius:999px;padding:.78rem 1.05rem;font-weight:300;line-height:1;transition:transform .25s,background .25s,box-shadow .25s}.btn:hover:not(:disabled){background:var(--glass-strong);transform:translateY(-2px);box-shadow:0 10px 24px #e6dfd233}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--linen);color:var(--ink);border-color:var(--linen);box-shadow:0 10px 26px #e6dfd247}.btn-primary:hover:not(:disabled){background:var(--linen);color:var(--ink);box-shadow:0 14px 30px #e6dfd266}.btn-line{background:#e6dfd224}.btn-light{color:var(--linen)}.btn-block{width:100%}.login{background:0 0;justify-content:flex-end;align-items:stretch;height:100dvh;max-height:100dvh;padding:0;display:flex;position:relative;overflow:hidden}.login:before{content:"";z-index:0;background:linear-gradient(90deg,#1214161a 0%,#12141659 58%,#1012149e 100%),#121416 url(/login-athlete.jpg) 50%/cover no-repeat;position:fixed;top:0;bottom:0;left:0;right:0}.gate{-webkit-backdrop-filter:blur(18px);background:#121416c7;border-left:1px solid #e6dfd238;flex-direction:column;justify-content:center;gap:18px;width:min(420px,100%);min-height:100vh;margin:0;padding:72px 40px;animation:.55s both slide-in;display:flex}.gate-kicker,.gate-field span,.gate-field label,.gate-submit{letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:300}.gate-kicker{color:var(--linen);margin:0}.gate h1{margin:0;font-size:3.4rem;font-weight:200;line-height:.95}.member-gate h1{letter-spacing:.01em;font-size:clamp(2.6rem,3.4vw,3.2rem);line-height:.92}.gate-note{color:var(--muted);margin:0;line-height:1.5}.gate-field{border-bottom:1px solid #e6dfd259;flex-direction:column;gap:4px;margin-top:8px;display:flex}.gate-field input{width:100%;color:var(--linen);background:0 0;border:0;border-radius:0;outline:none;padding:.35rem 0 .75rem;font-size:1.05rem;font-weight:300}.gate-field input::placeholder{color:#e6dfd273}.gate-field input:focus{box-shadow:none}.gate-password{align-items:center;gap:8px;display:flex}.gate-password input{flex:1}.gate-password button{color:var(--linen);letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;padding:0 0 .7rem;font-size:.72rem}.gate-alert{color:#f0c7c2;margin:0;font-size:.92rem;line-height:1.45}.gate-success{color:#c8d9c0;margin:0;font-size:.92rem;line-height:1.45;animation:.45s both toast-pop}.gate-submit{background:var(--linen);color:var(--ink);cursor:pointer;border:0;border-radius:0;margin-top:10px;padding:1rem 1.1rem;transition:transform .25s,opacity .25s}.gate-submit:hover:not(:disabled){transform:translateY(-2px)}.gate-submit:disabled{cursor:not-allowed;opacity:.55}.gate-submit.is-busy{opacity:.7}.gate-submit.is-done{animation:.45s both toast-pop}.action-btn{letter-spacing:.18em;text-transform:uppercase;cursor:pointer;border:0;border-radius:0;margin-top:10px;padding:1rem 1.1rem;font-size:.72rem;font-weight:300;transition:transform .25s,opacity .25s,filter .25s}.action-btn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-2px)}.action-btn:disabled{cursor:not-allowed;opacity:.55}.action-btn.is-busy{opacity:.7}.action-btn.is-done{animation:.45s both toast-pop}.action-btn-add{color:#12160f;background:#7f9e78}.action-btn-edit{color:#10161c;background:#6f8fa8}.action-btn-delete{color:#1a1210;background:#c97b72}.gate-link{color:var(--linen);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:.35rem 0;font-size:.72rem;font-weight:300}.gate-link:disabled{cursor:not-allowed;opacity:.55}.brand-lockup strong{letter-spacing:.02em;font-weight:200}.gate-value{color:var(--linen);margin:0;padding:.35rem 0 .75rem;font-size:1.05rem;font-weight:300;line-height:1.35}.gate-value a{color:inherit;border-bottom:1px solid #e6dfd259;text-decoration:none}.gate-value a:hover{border-bottom-color:var(--linen)}.field{border:0;flex-direction:column;gap:6px;min-inline-size:0;margin:0;padding:0;display:flex}.field>span,.field>label,.field legend{letter-spacing:.14em;text-transform:uppercase;color:var(--linen);padding:0;font-size:.75rem;font-weight:300}.field input,.search input{border:1px solid var(--line);width:100%;color:var(--linen);-webkit-backdrop-filter:blur(10px);background:#20242838;border-radius:14px;padding:.85rem .95rem;font-size:1rem;font-weight:300;transition:border-color .25s,box-shadow .25s,background .25s}.field input::placeholder,.search input::placeholder{color:#e6dfd2c7}.field input:focus,.search input:focus{border-color:var(--linen);background:#20242857;outline:none;box-shadow:0 0 0 4px #e6dfd238}.field-hint{color:var(--muted);font-size:.92rem}.field-error{color:var(--linen);font-size:.88rem}.password-row{gap:8px;display:flex}.password-row input{flex:1}.password-row .btn{border-radius:14px}.banner{color:var(--linen);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);background:#20242847;border-radius:14px;padding:.85rem .95rem;font-size:.95rem;line-height:1.5;animation:.4s fade-in}.banner-error,.banner-success{color:var(--linen)}.desk{background:0 0;flex-direction:column;height:100dvh;max-height:100dvh;display:flex;position:relative;overflow:hidden}.desk:before{content:"";z-index:0;pointer-events:none;background-color:#121416;background-image:linear-gradient(90deg,#1012146b 0%,#1012141f 42%,#10121433 68%,#101214b8 100%),url(/member-athlete.jpg?v=5);background-position:50%,50%;background-repeat:no-repeat,no-repeat;background-size:cover,cover;position:fixed;top:0;bottom:0;left:0;right:0}.desk>:not(.scene-backdrop):not(.detail-backdrop):not(.action-toast):not(.site-footer),.login>:not(.scene-backdrop):not(.site-footer){z-index:2;position:relative}.site-footer{z-index:4;padding:6px 16px calc(6px + env(safe-area-inset-bottom,0px));pointer-events:none;background:linear-gradient(#0000,#1012148c);justify-content:center;align-items:center;display:flex;position:absolute;bottom:0;left:0;right:0}.site-footer p{text-align:center;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:300;line-height:1.3}.desk-top{z-index:5;background:linear-gradient(#1012148c,#0000);justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:0 clamp(18px,3vw,36px);display:flex;position:absolute;top:0;left:0;right:0}.brand-lockup,.topbar-actions{align-items:center;gap:12px;display:flex}.brand-lockup strong,.brand-lockup span{display:block}.brand-lockup strong{font-size:1.15rem;font-weight:300}.brand-lockup span,.topbar-actions p{color:var(--muted);font-size:.84rem;font-weight:300}.topbar-actions p{margin:0}.mark{object-fit:cover;background:#16191c;border:1px solid #e6dfd259;border-radius:0;flex-shrink:0;width:40px;height:40px;display:block}.gate-mark{width:48px;height:48px;margin-bottom:4px}.desk-stage{flex:1;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(240px,1.15fr) minmax(240px,.95fr) minmax(340px,420px);align-items:stretch;column-gap:14px;height:100%;min-height:0;padding:88px 0 28px;display:grid;position:relative;overflow:hidden}.desk-copy{grid-area:1/1/auto/span 2;align-self:start;max-width:420px;padding:8px clamp(18px,3vw,40px) 18px}.desk-title{letter-spacing:.01em;margin:10px 0 12px;font-size:clamp(2.8rem,5vw,4.4rem);font-weight:200;line-height:.92}.member-gate{overscroll-behavior:contain;-webkit-backdrop-filter:blur(18px);scrollbar-width:none;background:#121416b8;border-left:1px solid #e6dfd238;grid-area:1/3/span 2;justify-content:flex-start;gap:10px;width:100%;height:100%;min-height:0;max-height:none;margin-top:-88px;padding:92px 34px 28px;overflow:hidden auto}.member-gate::-webkit-scrollbar{width:0;height:0}.gate-photo{flex-direction:column;gap:10px;margin-top:4px;display:flex}.ledger{-webkit-backdrop-filter:blur(18px);background:#121416c7;border:1px solid #e6dfd238;flex-direction:column;grid-area:2/1;align-self:end;gap:12px;width:auto;height:min(42vh,380px);min-height:0;max-height:min(42vh,380px);margin:0 0 20px clamp(18px,3vw,40px);padding:18px 20px;animation:.7s both rise;display:flex;overflow:hidden}.ledger-head{justify-content:space-between;align-items:end;gap:16px;display:flex}.ledger h3{margin:4px 0 0;font-size:1.7rem;font-weight:200;line-height:1}.ledger-search{min-width:min(180px,100%);margin-top:0}.photo-picker{flex-direction:column;gap:10px;display:flex}.photo-empty,.photo-frame,.camera-stage video{aspect-ratio:16/10;background:#20242859;border:1px solid #e6dfd247;border-radius:0;width:100%}.photo-empty{color:var(--linen);letter-spacing:.12em;text-transform:uppercase;border-style:dashed;place-items:center;font-weight:200;display:grid}.photo-frame img,.camera-stage video{object-fit:cover;object-position:center top}.photo-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.photo-actions .gate-submit{width:auto;margin-top:0;padding:.75rem 1.1rem}.member-list{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.member-row{text-align:left;width:100%;color:var(--linen);background:0 0;border:0;border-bottom:1px solid #e6dfd22e;border-radius:0;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;transition:background .25s;display:grid}.member-row:hover{background:#e6dfd20f;transform:none}.avatar{object-fit:cover;background:#2024284d;border:1px solid #e6dfd247;border-radius:0;width:52px;height:52px}.avatar-fallback{color:var(--linen);letter-spacing:.08em;background:#20242857;place-items:center;font-weight:200;display:grid}.member-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.member-copy strong{font-size:1.05rem;font-weight:300}.member-copy span,.member-when,.empty{color:var(--muted);font-weight:300}.member-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-when{font-size:.85rem}.empty{padding:28px 8px}.skeleton-list{flex-direction:column;gap:10px;padding-top:8px;display:flex}.skeleton-list span{background:linear-gradient(90deg,#20242833,#e6dfd233,#20242833) 0 0/200% 100%;border-radius:16px;height:84px;animation:1.4s linear infinite shimmer}.detail-backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);background:#1012148c;animation:.3s fade-in;top:0;bottom:0;left:0;right:0;position:fixed!important}.detail-gate{z-index:51;width:min(420px,100%);min-height:100vh;max-height:100vh;box-shadow:none;background:#121416eb;border-left:1px solid #e6dfd238;border-radius:0;justify-content:flex-start;gap:12px;margin:0;padding:40px 34px;animation:.45s slide-in;position:fixed;top:0;right:0;overflow:auto}.detail-gate-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.detail-gate .gate-photo .photo-frame,.detail-gate .gate-photo .photo-empty{width:100%}.detail-gate.is-saving{animation:.7s panel-pulse}.detail-gate.is-success{animation:.45s panel-success}.detail-gate.is-leaving{animation:.38s forwards panel-leave}.detail-edit{flex-direction:column;gap:12px;display:flex}.detail-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:8px;display:flex}.detail-actions .gate-submit,.detail-actions .action-btn{flex:140px;margin-top:0}.detail-confirm{flex-direction:column;gap:14px;padding-top:4px;animation:.35s both toast-pop;display:flex}.action-toast{z-index:80;-webkit-backdrop-filter:blur(16px);width:min(420px,100% - 28px);color:var(--linen);background:#121416f0;border:1px solid #e6dfd247;border-left-width:4px;align-items:flex-start;gap:12px;padding:16px 18px;animation:.45s cubic-bezier(.2,.8,.2,1) both toast-in;display:flex;top:22px;left:50%;transform:translate(-50%);box-shadow:0 18px 40px #080a0c73;position:fixed!important}.action-toast-add{border-left-color:#7f9e78}.action-toast-edit{border-left-color:#6f8fa8}.action-toast-delete{border-left-color:#c97b72}.action-toast-success{border-left-color:#c8d9c0}.action-toast-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.action-toast-copy strong{letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:300}.action-toast-add .action-toast-copy strong{color:#9fbf96}.action-toast-edit .action-toast-copy strong{color:#8fb0c8}.action-toast-delete .action-toast-copy strong{color:#e0a39c}.action-toast p{margin:0;font-size:.98rem;font-weight:300;line-height:1.4}.action-toast-mark{background:#c8d9c0;border-radius:50%;flex:none;width:10px;height:10px;margin-top:4px;animation:1.4s infinite toast-dot;box-shadow:0 0 #c8d9c08c}.action-toast-add .action-toast-mark{background:#7f9e78}.action-toast-edit .action-toast-mark{background:#6f8fa8}.action-toast-delete .action-toast-mark{background:#c97b72}.member-row.is-flash{animation:1.2s row-flash}.gym-player{z-index:3;-webkit-backdrop-filter:blur(24px)saturate(1.25);background:linear-gradient(160deg,#e6dfd224,#1214162e 55%,#12141647);border:1px solid #e6dfd252;flex-direction:column;grid-area:2/2;place-self:end stretch;gap:10px;width:auto;height:min(42vh,380px);min-height:0;max-height:min(42vh,380px);margin:0 0 20px;padding:16px 16px 14px;animation:.7s both rise;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff1f,0 18px 40px #080a0c38}.gym-player-toggle{color:var(--linen);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e6dfd22e;align-self:stretch;align-items:center;gap:10px;padding:0 0 10px;font-size:.7rem;font-weight:300;display:inline-flex}.gym-player-eq{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.gym-player-eq i{background:var(--linen);opacity:.55;width:2px;height:4px;display:block}.gym-player-eq.is-live i{animation:.7s ease-in-out infinite eq-bounce}.gym-player-eq.is-live i:nth-child(2){height:8px;animation-delay:.12s}.gym-player-eq.is-live i:nth-child(3){height:6px;animation-delay:.24s}.gym-player-panel{background:0 0;border:0;flex-direction:column;flex:1;gap:10px;min-height:0;padding:0;animation:.35s both toast-pop;display:flex;overflow:hidden}.gym-player-panel[hidden]{display:none!important}.gym-player-head{flex-direction:column;gap:4px;display:flex}.gym-player-now{grid-template-columns:52px 1fr;align-items:center;gap:12px;display:grid}.gym-player-art{object-fit:cover;background:#e6dfd214;border:1px solid #e6dfd23d;width:52px;height:52px}.gym-player-art-fallback{letter-spacing:.12em;place-items:center;font-size:.75rem;display:grid}.gym-player-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.gym-player-meta strong,.gym-player-meta span,.gym-player-track span,.gym-player-track em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gym-player-meta strong{font-size:.98rem;font-weight:300}.gym-player-meta span{color:var(--muted);font-size:.82rem}.gym-player-seek{accent-color:#6f8fa8;width:100%}.gym-player-times{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:.75rem;display:flex}.gym-player-controls{justify-content:space-between;align-items:center;gap:10px;display:flex}.gym-player-play{flex:1;margin-top:0;padding:.85rem .9rem}.gym-player-list{border-top:1px solid #e6dfd22e;flex-direction:column;flex:1;min-height:0;max-height:none;padding-top:8px;display:flex;overflow:auto}.gym-player-track{text-align:left;width:100%;color:var(--linen);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e6dfd21f;flex-direction:column;gap:2px;padding:8px 2px;display:flex}.gym-player-track em{color:var(--muted);font-size:.75rem;font-style:normal}.gym-player-track.is-active,.gym-player-track:hover{background:#e6dfd21a}@keyframes eq-bounce{0%,to{transform:scaleY(.45)}50%{transform:scaleY(1.15)}}.detail-photo-fallback{aspect-ratio:1;letter-spacing:.08em;color:var(--linen);background:#e6dfd214;border:1px solid #e6dfd238;place-items:center;font-size:2.4rem;font-weight:200;display:grid}:focus-visible{outline:2px solid var(--linen);outline-offset:3px}.field input:focus-visible{outline:none}.search input:focus-visible{outline:none}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{opacity:0;transform:translate(36px)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-18px)scale(.98)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes toast-pop{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes toast-dot{0%,to{box-shadow:0 0 #c8d9c080}50%{box-shadow:0 0 0 8px #c8d9c000}}@keyframes panel-pulse{0%,to{filter:brightness()}50%{filter:brightness(1.08)}}@keyframes panel-success{0%{box-shadow:inset 0 0 #c8d9c000}40%{box-shadow:inset 0 0 0 1px #c8d9c073}to{box-shadow:inset 0 0 #c8d9c000}}@keyframes panel-leave{to{opacity:0;transform:translate(48px)}}@keyframes row-flash{0%,to{background:0 0}30%{background:#c8d9c024}}@keyframes float-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes drift{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(26px,-20px)scale(1.08)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (max-width:1180px) and (min-width:901px){.desk-stage{grid-template-rows:auto minmax(0,1fr) minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(320px,400px);column-gap:12px}.desk-copy{grid-area:1/1;max-width:none}.ledger{grid-area:2/1;height:auto;min-height:0;max-height:none;margin:0 0 10px clamp(16px,2vw,28px)}.gym-player{grid-area:3/1;height:auto;min-height:0;max-height:none;margin:0 0 16px clamp(16px,2vw,28px)}.member-gate{grid-area:1/2/span 3;padding:92px 26px 24px}}@media (max-width:900px){html,body{height:auto;min-height:100%;overflow:hidden auto}.login,.desk{height:auto;min-height:100dvh;max-height:none;overflow:visible}.desk-top{padding-top:env(safe-area-inset-top,0px);-webkit-backdrop-filter:blur(14px);background:#101214e0;position:sticky;top:0}.desk:before{background-image:linear-gradient(#10121447,#101214d1),url(/member-athlete.jpg?v=5);background-position:50%,top}.desk-stage{height:auto;padding:calc(78px + env(safe-area-inset-top,0px)) 0 calc(36px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:12px;display:flex;overflow:visible}.site-footer{background:0 0;padding-top:4px;position:relative}.desk-copy{order:0;grid-column:auto;max-width:none;padding:8px 18px 4px}.desk-title{font-size:clamp(2.2rem,9vw,3rem)}.member-gate{width:100%;min-width:0;max-width:100%;height:auto;max-height:none;padding:24px max(16px, env(safe-area-inset-right,0px)) 28px max(16px, env(safe-area-inset-left,0px));box-sizing:border-box;border-top:1px solid #e6dfd238;border-bottom:1px solid #e6dfd238;border-left:0;order:1;justify-content:flex-start;align-self:stretch;gap:12px;margin-top:0;overflow:visible;min-height:0!important}.member-gate h1{font-size:clamp(2.1rem,8vw,2.6rem)}.member-gate .gate-field{margin-top:4px}.member-gate .gate-field input{min-height:44px;padding:.55rem 0 .85rem;font-size:16px}.member-gate .gate-photo{gap:8px;margin-top:8px}.member-gate .photo-empty,.member-gate .photo-frame,.member-gate .camera-stage video{aspect-ratio:16/10;max-height:220px}.member-gate .photo-actions{grid-template-columns:1fr 1fr;align-items:center;gap:10px 14px;display:grid}.member-gate .photo-actions .gate-link,.member-gate .photo-actions .gate-submit{justify-self:start;min-height:44px}.member-gate .action-btn-add{width:100%;min-height:52px;margin-top:8px}.ledger{order:2;width:auto;height:auto;max-height:min(52vh,420px);margin:0 16px;padding:16px 18px}.gym-player{grid-column:unset;grid-row:unset;align-self:stretch;justify-self:unset;box-sizing:border-box;margin:0 16px calc(12px + env(safe-area-inset-bottom,0px));order:3;gap:8px;padding:14px;overflow:hidden;width:calc(100% - 32px)!important;min-width:0!important;max-width:calc(100% - 32px)!important;height:auto!important;max-height:none!important}.gym-player.is-open{max-height:min(68vh,480px)!important}.gym-player-toggle{justify-content:flex-start;width:100%;min-height:48px;padding:0 0 12px}.gym-player-panel{gap:8px}.gym-player-head .gate-note{font-size:.88rem}.gym-player-now{grid-template-columns:56px minmax(0,1fr);gap:10px}.gym-player-art,.gym-player-art-fallback{width:56px;height:56px}.gym-player-meta strong{font-size:.95rem}.gym-player-seek{height:28px}.gym-player-controls{grid-template-columns:1fr 1.4fr 1fr;align-items:center;gap:8px;display:grid}.gym-player-controls .gate-link{text-align:center;min-height:44px}.gym-player-play{flex:none;order:0;width:100%;min-height:48px;padding:.85rem .6rem}.gym-player-list{max-height:140px}.gym-player-track{min-height:44px;padding:10px 2px}.ledger-head{flex-direction:column;align-items:stretch;gap:10px}.ledger-search{width:100%;min-width:0}.detail-gate{width:100%;max-width:100%;min-height:100dvh;max-height:100dvh;padding:calc(24px + env(safe-area-inset-top,0px)) 18px calc(24px + env(safe-area-inset-bottom,0px));border-left:0}.action-toast{top:calc(14px + env(safe-area-inset-top,0px));width:min(420px,100% - 24px)}.detail-actions{flex-direction:column;align-items:stretch}.detail-actions .action-btn,.detail-actions .gate-submit{flex:auto;width:100%}.scene-backdrop-desk{opacity:.22}}@media (max-width:860px){.login{flex-direction:column;justify-content:flex-end;padding:0;overflow:hidden auto}.login:before{background:linear-gradient(#1012142e,#101214c7),#121416 url(/login-athlete.jpg) top/cover no-repeat}.gate{width:100%;min-height:auto;padding:36px max(18px, env(safe-area-inset-right,0px)) calc(28px + env(safe-area-inset-bottom,0px)) max(18px, env(safe-area-inset-left,0px));border-top:1px solid #e6dfd238;border-left:0;justify-content:flex-start}.gate h1{font-size:clamp(2.4rem,10vw,3rem)}}@media (max-width:640px){.gate,.member-gate{padding-left:max(14px, env(safe-area-inset-left,0px));padding-right:max(14px, env(safe-area-inset-right,0px))}.member-gate{gap:10px;padding-top:20px;padding-bottom:24px}.member-gate h1,.gate h1{font-size:clamp(1.9rem,8vw,2.2rem)}.desk-top{padding-left:14px;padding-right:14px}.topbar-actions p{display:none}.brand-lockup strong{font-size:1rem}.desk-copy{padding:4px 14px 8px}.ledger{margin-left:12px;margin-right:12px}.gym-player{min-width:0;margin-left:12px;margin-right:12px}.gym-player-meta,.gym-player-track span,.gym-player-track em{overflow-wrap:anywhere;min-width:0}.ledger{max-height:min(48vh,360px);padding:14px}.ledger h3{font-size:1.4rem}.member-row{grid-template-columns:48px minmax(0,1fr);gap:10px;padding:12px 0}.member-when{display:none}.avatar{width:48px;height:48px}.member-gate .photo-empty,.member-gate .photo-frame,.member-gate .camera-stage video{aspect-ratio:4/3;max-height:180px}.member-gate .photo-actions{grid-template-columns:1fr;gap:8px}.gym-player{padding:12px}.gym-player:not(.is-open){padding-bottom:10px}.gym-player:not(.is-open) .gym-player-toggle{border-bottom:0;padding-bottom:0}.gym-player-list{max-height:110px}.action-btn,.gate-submit{min-height:48px}.detail-gate h1{font-size:2.2rem}}@media (max-width:420px){.desk-title{font-size:2rem}.member-gate h1,.gate h1{font-size:1.85rem}.member-gate .gate-field span{font-size:.68rem}.gym-player-controls{grid-template-columns:1fr}.gym-player-controls .gate-link{width:100%}.gym-player-list{max-height:96px}}@media (max-height:720px){.login{height:auto;min-height:100dvh;max-height:none;overflow-y:auto}.gate{justify-content:flex-start;min-height:auto;padding-top:36px;padding-bottom:28px}}@media (max-height:720px) and (min-width:901px){.ledger,.gym-player{max-height:min(36vh,280px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.scene-backdrop{display:none}}
