@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";html{background:#f5f9f7}body{min-width:320px;margin:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #55c991}::selection{color:#193c40;background:#c7f1df}:root{--ink:#193c40;--muted:#759094;--line:#dbe9e7;--paper:#f5f9f7;--card:#fff;--mint:#c7f1df;--mint-strong:#55c991}*{box-sizing:border-box}button,input,select,textarea{font:inherit}button{cursor:pointer}.auth-shell{min-height:100dvh;color:var(--ink);background:radial-gradient(circle at 80% 12%,#ddf6e9 0 7%,transparent 26%),var(--paper);place-items:center;padding:24px;font-family:Manrope,sans-serif;display:grid}.auth-card,.player-profile,.coach-home{background:var(--card);border:1px solid var(--line);border-radius:16px;width:min(100%,680px);padding:38px;box-shadow:0 22px 55px #193c4017}.brand{letter-spacing:.08em;align-items:center;gap:7px;font-size:19px;font-weight:800;display:flex}.brand-mark{background:var(--mint-strong);color:#fff;border-radius:7px;place-items:center;width:24px;height:24px;font-size:21px;font-weight:500;display:grid}.brand-dot{color:var(--mint-strong);margin:-9px}.eyebrow,dt{color:#71978a;letter-spacing:.14em;margin:30px 0 8px;font:500 10px DM Mono,monospace}.auth-card h1,.player-profile h1,.coach-home h1{letter-spacing:-.05em;margin:0;font-size:32px;line-height:1.12}.intro{color:var(--muted);margin:12px 0 26px;font-size:14px;line-height:1.65}.google-button{background:var(--ink);color:#fff;border:0;border-radius:8px;width:100%;min-height:46px;font-size:13px;font-weight:800}.google-button:hover:not(:disabled){background:#25535a}.google-button:disabled{cursor:wait;opacity:.68}.form-error{color:#9c4b3b;background:#fff0ed;border-radius:8px;margin:0 0 16px;padding:11px 12px;font-size:12px;line-height:1.45}form{gap:16px;display:grid}label{gap:7px;font-size:11px;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--paper);outline-color:var(--mint-strong);border-radius:8px;padding:11px 12px;font-size:13px}textarea{resize:vertical}.optional{color:var(--muted);font-weight:500}.loading{color:var(--muted);font:500 12px DM Mono,monospace}.profile-shell{min-height:100dvh;color:var(--ink);background:var(--paper);font-family:Manrope,sans-serif}.profile-header{justify-content:space-between;align-items:center;width:min(100% - 32px,880px);margin:auto;padding:22px 0;display:flex}.header-actions{align-items:center;gap:9px;display:flex}.header-button,.signout{color:#537f73;background:0 0;border:0;border-radius:7px;padding:8px 10px;font-size:12px;font-weight:700}.header-button{border:1px solid var(--line);color:var(--ink);background:#fff}.player-profile,.coach-home{margin:30px auto 48px}.player-profile .eyebrow,.coach-home .eyebrow{margin-top:0}.profile-intro{align-items:center;gap:15px;display:flex}.profile-intro h1{font-size:31px}.profile-intro p{color:var(--muted);margin:6px 0 0;font-size:13px}.avatar{background:var(--mint);color:#348263;border-radius:50%;flex:none;place-items:center;width:62px;height:62px;font-size:18px;font-weight:800;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.small-avatar{width:42px;height:42px;font-size:13px}.status-pill{color:#42936c;background:#e2f5ec;border-radius:99px;margin-left:6px;padding:4px 7px;font-size:10px;font-weight:800}.profile-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:18px;margin:29px 0 0;padding:19px 0;display:grid}.profile-details div{min-width:0}.profile-details dt{margin:0 0 6px;font-size:9px}.profile-details dd{overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:700}.bio{margin-top:25px}.bio h2,.skills-section h2{margin:0 0 7px;font-size:16px}.bio p,.skills-section>div>p{color:var(--muted);margin:0;font-size:13px;line-height:1.65}.skills-section{margin-top:31px}.skills-section .eyebrow{margin:0 0 8px}.skill-group{border:1px solid var(--line);border-radius:10px;margin-top:13px;overflow:hidden}.skill-group summary{cursor:pointer;justify-content:space-between;align-items:center;padding:15px;font-size:13px;font-weight:800;display:flex}.skill-group summary small{color:var(--muted);font-size:11px;font-weight:600}.skill-list{border-top:1px solid var(--line)}.skill-item{border-bottom:1px solid #edf3f0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 15px;display:grid}.skill-pts{color:#47796b;letter-spacing:.04em;white-space:nowrap;font:500 10px DM Mono,monospace}.skills-header{justify-content:space-between;align-items:center;gap:12px;margin:0 0 8px;display:flex}.skills-header .eyebrow{margin:0}.record-group{margin-top:16px}.record-group:first-child{margin-top:0}.record-row{border-bottom:1px solid #edf3f0;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;font-size:12px;display:flex}.skill-count{align-items:center;gap:7px;display:flex}.skill-count button{border:1px solid var(--line);width:22px;height:22px;color:var(--ink);background:#fff;border-radius:6px;place-items:center;padding:0;font-size:13px;line-height:1;display:grid}.skill-count button:hover{border-color:var(--mint-strong);color:#25535a}.skill-count b{text-align:center;min-width:16px;font-size:12px}.skill-item:last-child{border-bottom:0}.skill-item b,.skill-item small{display:block}.skill-item b{font-size:12px}.skill-item small{color:var(--muted);margin-top:2px;font-size:10px}.skill-item em{color:#5d8378;font-size:11px;font-style:normal;font-weight:700}.player-count{color:#71978a;letter-spacing:.12em;margin:27px 0 10px;font:500 10px DM Mono,monospace}.coach-player-list{border-top:1px solid var(--line)}.coach-player{border-bottom:1px solid var(--line);align-items:center;gap:13px;padding:15px 0;display:flex}.coach-player h2{margin:0;font-size:14px}.coach-player p{color:var(--muted);margin:4px 0 0;font-size:12px}.empty-state{color:var(--muted);padding:24px 0;font-size:13px}@media (prefers-reduced-motion:no-preference){.auth-card,.player-profile,.coach-home{animation:.3s ease-out rise}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}@media (width<=560px){.auth-shell{align-items:start;padding:15px}.auth-card,.player-profile,.coach-home{box-shadow:none;border-radius:12px;padding:24px 18px}.auth-card{margin-top:18px}.auth-card h1,.player-profile h1,.coach-home h1{font-size:27px}.profile-header{width:calc(100% - 24px);padding:13px 0}.brand{font-size:16px}.brand-mark{width:22px;height:22px;font-size:19px}.header-actions{gap:2px}.header-button,.signout{padding:8px 7px;font-size:11px}.player-profile,.coach-home{width:auto;margin:10px 12px 28px}.profile-details{grid-template-columns:1fr;gap:12px}.profile-intro{align-items:flex-start}.skills-section{margin-top:25px}.skill-group summary{padding:14px 12px}.skill-item{grid-template-columns:minmax(0,1fr) auto;padding:10px 12px}.skill-item b{font-size:11px}.skill-item small{font-size:9px}.coach-player{padding:13px 0}}.skill-subgroup{border-bottom:1px solid var(--line)}.skill-subgroup:last-child{border-bottom:0}.skill-subgroup summary{cursor:pointer;color:#47796b;letter-spacing:.06em;background:#fbfdfc;justify-content:space-between;align-items:center;padding:12px 15px;font:700 11px DM Mono,monospace;display:flex}.skill-subgroup summary small{color:var(--muted);font-size:11px;font-weight:600}.skill-subgroup .skill-item{border-top:1px solid #edf3f0;border-bottom:0}@media (width<=560px){.skill-subgroup summary{padding:12px}.skill-subgroup .skill-item{padding:10px 12px}}.next-steps,.comments{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.next-steps .eyebrow,.comments .eyebrow{margin:0 0 10px}.next-steps article,.comments article{border-bottom:1px solid #edf3f0;padding:12px 0;position:relative}.next-steps article b{font-size:12px}.next-steps article p,.comments article p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.55}.comments time{color:#71978a;font:500 10px DM Mono,monospace}.player-plans{grid-template-columns:1fr 1fr;gap:24px;display:grid}.player-plans .player-tabs,.player-plans .skills-section,.player-plans .trainings,.player-plans .comments{grid-column:1/-1}.personal-goals{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.section-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.section-heading .eyebrow{margin:0 0 10px}.add-goal,.goal-action{color:#47796b;background:0 0;border:0;font-size:11px;font-weight:700}.add-goal{border:1px solid var(--line);width:26px;height:26px;color:var(--ink);background:#fff;border-radius:6px;place-items:center;margin-bottom:10px;font-size:18px;line-height:1;display:grid}.personal-goals article{border-bottom:1px solid #edf3f0;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 0;display:flex}.personal-goals article b{font-size:12px}.personal-goals article p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.55}.goal-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:5px;display:flex}.goal-status{border:1px solid var(--line);color:#47796b;background:#fff;border-radius:6px;padding:5px 6px;font-size:9px;font-weight:800}.goal-status.completed{color:#348263;background:#e2f5ec;border-color:#b9e7d2}.goal-form{gap:8px;margin:0 0 12px}.goal-form input,.goal-form textarea{padding:8px 9px;font-size:11px}.goal-form .header-button{width:max-content}.delete-button{border:1px solid var(--line);width:22px;height:22px;color:var(--muted);background:#fff;border-radius:6px;place-items:center;font-size:14px;line-height:1;display:grid;position:absolute;top:10px;right:0}.delete-button:hover{color:#9c4b3b;border-color:#e6a29a}.next-steps article,.comments article{padding-right:30px}.skill-item em{justify-items:end;gap:3px;display:grid}.skill-item em small{color:var(--muted);white-space:nowrap;font-size:9px;font-weight:500}.coach-player{text-align:left;background:0 0;border:0;width:100%}.coach-player>span b,.coach-player>span small{display:block}.coach-player>span b{color:var(--ink);font-size:13px}.coach-player>span small{color:var(--muted);margin-top:4px;font-size:11px}.coach-editor{background:var(--card);border:1px solid var(--line);border-radius:16px;width:min(100% - 32px,880px);margin:20px auto 48px;padding:38px}.back-button{color:#47796b;background:0 0;border:0;margin-bottom:22px;padding:0;font-size:12px;font-weight:700}.coach-tools{grid-template-columns:1fr 1fr;gap:16px;margin:28px 0;display:grid}.coach-tools form{border:1px solid var(--line);border-radius:10px;padding:18px}.coach-tools h2{margin:0;font-size:15px}.skill-checks{gap:5px;max-height:180px;padding:10px 0;display:grid;overflow:auto}.skill-checks label{align-items:center;gap:7px;font-size:11px;display:flex}.skill-checks input{width:auto}.coach-tools .header-button{width:max-content}.skill-controls{grid-template-columns:auto 86px 132px;align-items:center;gap:6px;display:grid}.skill-controls select,.skill-controls input{padding:6px;font-size:10px}@media (width<=560px){.coach-editor{border-radius:12px;width:auto;margin:10px 12px 28px;padding:24px 18px}.coach-tools{grid-template-columns:1fr}.skill-controls{grid-template-columns:auto 78px 116px}.skill-item{align-items:start}.skill-item em{font-size:10px}.skill-item em small{white-space:normal;text-align:right}.player-plans{display:block}.personal-goals{margin-top:28px}.personal-goals article{display:block}.goal-actions{justify-content:flex-start;margin-top:9px}}.modal-backdrop{z-index:20;background:#193c4061;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:var(--card);border:1px solid var(--line);border-radius:14px;width:min(100%,640px);max-height:min(84dvh,760px);padding:24px;overflow:auto;box-shadow:0 24px 70px #193c403d}.modal-card>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.modal-card h2{letter-spacing:-.03em;margin:0;font-size:19px}.modal-close{color:var(--muted);background:0 0;border:0;font-size:25px;line-height:1}.calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.calendar-nav{align-items:center;gap:12px;font-size:13px;font-weight:700;display:flex}.calendar-nav .header-button{text-align:center;min-width:32px;padding:6px 10px}.view-toggle{border:1px solid var(--line);border-radius:8px;gap:6px;padding:3px;display:flex}.view-toggle button{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:6px 12px;font-size:11px;font-weight:700}.view-toggle button.active{background:var(--ink);color:#fff}.schedule-list{border-top:1px solid var(--line);gap:0;max-height:420px;display:grid;overflow:auto}.schedule-list-item{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;width:100%;padding:12px 0;display:block}.schedule-list-item b,.schedule-list-item small{display:block}.schedule-list-item b{font-size:13px}.schedule-list-item small{color:var(--muted);margin-top:4px;font-size:11px}.event-date{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.calendar-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(7,1fr);display:grid}.calendar-grid>b{color:var(--muted);text-align:center;letter-spacing:.06em;background:#fbfdfc;padding:9px 5px;font:500 9px DM Mono,monospace}.calendar-grid>b,.calendar-grid>span,.calendar-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:72px}.calendar-day{padding:6px}.calendar-day>b{color:var(--muted);margin-bottom:5px;font:500 10px DM Mono,monospace;display:block}.calendar-day button{color:#348263;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#e2f5ec;border:0;border-radius:4px;width:100%;padding:4px;font-size:9px;font-weight:700;display:block;overflow:hidden}.event-type{color:#47796b;letter-spacing:.1em;margin:0 0 11px;font:500 10px DM Mono,monospace}.event-details{gap:12px;margin:22px 0;display:grid}.event-details dt{margin:0 0 4px;font-size:9px}.event-details dd{margin:0;font-size:12px;font-weight:700}.event-link{text-decoration:none;display:inline-block}.recordings{margin:20px 0}.recordings .eyebrow{margin:0 0 8px}@media (width<=560px){.modal-backdrop{align-items:end;padding:0}.modal-card{border-radius:14px 14px 0 0;width:100%;max-height:88dvh;padding:20px 16px}.calendar-grid>b,.calendar-grid>span,.calendar-day{min-height:54px}.calendar-day{padding:4px}.calendar-day button{font-size:8px}.event-date{gap:6px}}.booking-copy{color:var(--muted);margin:0 0 18px;font-size:13px;line-height:1.6}.booking-contact{color:var(--ink);letter-spacing:-.04em;margin-bottom:16px;font-size:23px;font-weight:800;text-decoration:none;display:block}.player-tabs{border-bottom:1px solid var(--line);gap:18px;margin-top:28px;display:flex}.player-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 0;font-size:12px;font-weight:700}.player-tabs button.active{border-color:var(--mint-strong);color:var(--ink)}.trainings{margin-top:22px}.trainings .eyebrow{margin:0 0 8px}.trainings article{border-bottom:1px solid var(--line);padding:13px 0}.trainings article b,.trainings article small{display:block}.trainings article b{font-size:13px}.trainings article small{color:var(--muted);margin-top:4px;font-size:11px}.tag-list{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.tag-list span{background:var(--mint);color:#348263;border-radius:99px;padding:4px 10px;font-size:10px;font-weight:700}.recording-links{flex-wrap:wrap;gap:8px;margin-top:9px;display:flex}.training-link{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;align-items:center;gap:5px;padding:6px 10px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.training-link:hover{border-color:var(--mint-strong);color:#25535a}.participant-list{border-top:1px solid var(--line);max-height:290px;margin:15px 0;overflow:auto}.participant-list label{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:10px 0;display:flex}.participant-list input{width:auto}.participant-list b,.participant-list small{display:block}.participant-list b{font-size:12px}.participant-list small{color:var(--muted);margin-top:2px;font-size:10px}
