:root{--bg:#080b09;--panel:#141b16;--panel-2:#1b251d;--line:#334036;--white:#f7fbf7;--muted:#a7b5aa;--green:#a4f61d;--ink:#102009}
*{box-sizing:border-box}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--white);background:var(--bg);line-height:1.55}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 88% 3%,rgba(138,230,20,.11),transparent 27rem),var(--bg)}
a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}
button{cursor:pointer}
.shell{width:min(1120px,calc(100% - 2rem));margin-inline:auto}
.site-header{min-height:76px;padding:12px max(1rem,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-bottom:1px solid var(--line);background:rgba(8,11,9,.96)}
.brand{display:inline-flex;align-items:center;gap:.7rem;font-weight:900;letter-spacing:.055em;font-size:.9rem;line-height:1.1;white-space:nowrap}
.brand small{display:block;margin-top:.25rem;color:var(--green);font-size:.62rem;letter-spacing:.18em}
.brand-logo{width:50px;height:54px;object-fit:contain;flex:none}
.header-right{display:flex;align-items:center;gap:1.5rem}.identity{font-size:.74rem;color:var(--muted);white-space:nowrap}
nav{display:flex;align-items:center;gap:1.1rem;font-size:.82rem;font-weight:750}nav a:hover,.small-link:hover{color:var(--green)}
nav form{margin:0}.nav-logout{border:0;background:none;color:var(--muted);font-size:.82rem;font-weight:750;padding:0}.nav-logout:hover{color:var(--white)}
main.shell{padding:clamp(2rem,5vw,4rem) 0 5rem;min-height:calc(100vh - 160px)}
.page-title{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:2rem}.page-title h1{margin:.15rem 0;font-size:clamp(2.5rem,6vw,4.4rem);line-height:1.03;letter-spacing:-.065em}.page-title p:not(.eyebrow){margin:.5rem 0 0;color:var(--muted)}
.eyebrow{margin:0;color:var(--green);font-size:.73rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}
h2{font-size:1.25rem;line-height:1.2;letter-spacing:-.03em}h3{font-size:1rem}p{margin:.6rem 0}.muted{color:var(--muted)}.preline{white-space:pre-wrap;overflow-wrap:anywhere}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.72rem 1rem;border:1px solid var(--green);border-radius:11px;background:var(--green);color:var(--ink);font-size:.88rem;font-weight:900;white-space:nowrap}.button:hover{background:#bdff54}.button.secondary{background:transparent;color:var(--white);border-color:var(--line)}.button.secondary:hover{border-color:var(--green)}
.panel{padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:0 15px 35px rgba(0,0,0,.12)}.panel h2:first-child{margin-top:0}.panel.accent{background:linear-gradient(145deg,#223319,#141b16);border-color:#567631}.narrow{max-width:620px}
.card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.player-card{display:flex;align-items:center;gap:1rem;padding:1.15rem 1.35rem;border:1px solid var(--line);border-radius:18px;background:var(--panel);transition:transform .16s,border-color .16s}.player-card:hover{transform:translateY(-2px);border-color:var(--green)}.player-card strong,.player-card small{display:block}.player-card strong{font-size:1.12rem}.player-card small{color:var(--muted);margin-top:.2rem}.avatar{width:48px;height:48px;flex:none;display:grid;place-items:center;border-radius:13px;background:#293f1a;color:var(--green);font-weight:900;font-size:1.3rem}.card-arrow{margin-left:auto;color:var(--green);font-size:1.4rem}
.avatar-photo{object-fit:cover}.profile-heading{display:flex;align-items:center;gap:1.25rem;min-width:0}.profile-photo,.profile-placeholder{width:112px;height:112px;flex:none;border-radius:20px;border:1px solid var(--line)}.profile-photo{object-fit:cover;background:var(--panel-2)}.profile-placeholder{display:grid;place-items:center;background:#293f1a;color:var(--green);font-size:3rem;font-weight:900}.profile-heading h1{overflow-wrap:anywhere}
.profile-hero{align-items:center;padding:clamp(1.2rem,3vw,2rem);border:1px solid #465b3a;border-radius:22px;background:radial-gradient(circle at 85% 10%,rgba(164,246,29,.12),transparent 40%),linear-gradient(130deg,#1b291b,#111813 70%);box-shadow:0 18px 40px rgba(0,0,0,.15)}.profile-hero .profile-heading{align-items:flex-start}.profile-hero .profile-photo,.profile-hero .profile-placeholder{width:118px;height:118px;border-radius:19px}.profile-intro{min-width:0}.profile-intro h1{font-size:clamp(2rem,5vw,3.6rem)}.profile-intro>p:not(.eyebrow){color:var(--muted)}.photo-edit{margin-top:.8rem;max-width:320px}.photo-edit summary{display:inline-flex;align-items:center;min-height:34px;padding:.28rem .7rem;border:1px solid #5c8050;border-radius:9px;color:var(--green);cursor:pointer;font-size:.82rem;font-weight:850;list-style:none}.photo-edit summary::-webkit-details-marker{display:none}.photo-edit summary:hover{background:#273a20}.photo-edit form{margin-top:1rem}.photo-edit .field input{max-width:100%}.photo-edit .muted{font-size:.76rem}
.next-session-panel{display:flex;align-items:center;gap:1.25rem;margin-bottom:1rem;padding:1.1rem 1.3rem;border:1px solid #5a8139;border-radius:18px;background:linear-gradient(115deg,#253a1e,#17221a 68%)}.next-session-panel .session-day{width:68px;min-height:72px}.next-session-panel .session-day strong{font-size:1.7rem}.next-session-copy{min-width:0;flex:1}.next-session-copy .eyebrow{font-size:.66rem}.next-session-copy h2{margin:.2rem 0;font-size:clamp(1.1rem,2vw,1.4rem)}.next-session-copy p:last-child{margin:.2rem 0 0;color:var(--muted);font-size:.84rem;overflow-wrap:anywhere}.next-session-panel .small-link{white-space:nowrap}.next-session-empty{border-color:var(--line);background:var(--panel)}
.development-snapshot{margin-bottom:1rem}.development-snapshot>h2{margin:.3rem 0 1.1rem}.snapshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.snapshot-grid>div{min-width:0;padding:0 1.25rem;border-left:1px solid var(--line)}.snapshot-grid>div:first-child{padding-left:0;border-left:0}.snapshot-grid>div:last-child{padding-right:0}.snapshot-grid h3{margin:0;color:var(--green);font-size:.77rem;letter-spacing:.04em}.snapshot-grid p{margin:.4rem 0 0;color:var(--white);font-size:.88rem}
.empty{grid-column:1/-1;padding:2rem;border:1px dashed var(--line);border-radius:18px;color:var(--muted)}
.form-stack{display:grid;gap:1.15rem}.field{display:grid;gap:.4rem;font-size:.84rem;font-weight:800}.field small{color:var(--muted);font-weight:400}.field input,.field textarea,.field select{width:100%;min-height:46px;padding:.72rem .8rem;border:1px solid #3b4b3e;border-radius:10px;background:#0b100d;color:var(--white);outline:none}.field textarea{resize:vertical}.field :is(input,textarea,select):focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(164,246,29,.13)}.field input::placeholder{color:#738174}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.actions{display:flex;gap:.7rem;flex-wrap:wrap}.check{display:flex;gap:.7rem;align-items:flex-start;font-size:.86rem}.check input{accent-color:var(--green);margin-top:.3rem}
.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.profile-grid .panel{min-height:175px}.content-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:1rem}.content-grid>div{display:grid;gap:1rem}.section-head{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.small-link{font-size:.78rem;color:var(--green);font-weight:850}
.training-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin:0 0 1rem}.training-grid>div{display:grid;align-content:start;gap:1rem}.log-panel .section-head{align-items:start}.log-panel h2{margin:.3rem 0 0}.log-add{margin:1.2rem 0 0}.log-add summary{display:inline-flex;align-items:center;min-height:42px;padding:.55rem .85rem;border-radius:10px;background:var(--green);color:var(--ink);font-size:.84rem;font-weight:900;cursor:pointer;list-style:none}.log-add summary::-webkit-details-marker,.log-edit summary::-webkit-details-marker{display:none}.log-add form,.log-edit form{margin-top:1rem}.log-list{margin-top:1.1rem}.training-entry{padding:1.1rem 0;border-top:1px solid var(--line)}.training-entry-top{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.entry-by{color:var(--muted);font-size:.73rem}.training-entry .entry-main{margin:.7rem 0;color:var(--white);font-weight:650;white-space:pre-wrap;overflow-wrap:anywhere}.training-entry p{font-size:.84rem;overflow-wrap:anywhere}.training-entry strong{color:var(--green)}.log-edit{margin-top:.75rem}.log-edit summary{display:inline-block;color:var(--green);font-size:.77rem;font-weight:800;cursor:pointer}.log-empty{display:flex;align-items:center;gap:.8rem;padding:1.3rem 0;border-top:1px solid var(--line);color:var(--muted)}.log-empty span{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:11px;background:#25331e;color:var(--green);font-size:1.4rem}.log-empty p{font-size:.84rem}
.schedule-panel .section-head h2{margin:0}.session-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr));gap:1rem;margin-top:1.25rem}.session-card{display:flex;flex-direction:column;gap:1rem;min-width:0;padding:1.2rem;border:1px solid #435947;border-radius:16px;background:linear-gradient(150deg,#1d2c20,#121b15);box-shadow:inset 0 1px rgba(255,255,255,.04)}.session-card-top{display:flex;align-items:center;gap:1rem;min-width:0}.session-day{display:grid;place-items:center;align-content:center;flex:none;width:82px;min-height:90px;border-radius:13px;background:var(--green);color:var(--ink);line-height:1}.session-day span{font-size:.73rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.session-day strong{margin-top:.3rem;font-size:2.15rem;letter-spacing:-.06em}.session-info{min-width:0}.session-weekday{margin:0;color:var(--green);font-size:.78rem;font-weight:850}.session-info h3{margin:.2rem 0;font-size:clamp(1rem,2vw,1.22rem);line-height:1.25}.session-duration{color:var(--muted);font-size:.72rem}.session-focus{margin:0;color:var(--white);font-size:.96rem;font-weight:750;overflow-wrap:anywhere}.session-location{margin:-.5rem 0 0;color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}.session-card-footer{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-top:auto;padding-top:.85rem;border-top:1px solid var(--line)}.session-state{color:var(--green);font-size:.72rem;font-weight:850}.session-card.past .session-day{background:#32452d;color:#e3ebdf}.session-card.past .session-state{color:var(--muted)}
.past-sessions{margin-top:1.25rem;border-top:1px solid var(--line)}.past-sessions summary{display:flex;align-items:center;gap:.6rem;width:max-content;max-width:100%;padding:.95rem .2rem .2rem;color:var(--green);font-size:.83rem;font-weight:850;cursor:pointer}.past-sessions summary:hover{text-decoration:underline}.past-sessions summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}.past-sessions[open] summary{color:var(--white)}.past-sessions .session-grid{margin-top:1rem}
.timeline-item{padding:1rem 0;border-top:1px solid var(--line)}.timeline-item h3{margin:.45rem 0 .2rem}.timeline-item p{font-size:.87rem;overflow-wrap:anywhere}.tag{display:inline-block;padding:.2rem .55rem;border-radius:20px;background:#2d451b;color:var(--green);font-size:.68rem;font-weight:850;white-space:nowrap}.tag.private{background:#3a3230;color:#e9ae9b}
.mood-panel{margin:0 0 1rem}.mood-panel h2{margin:.4rem 0}.mood-scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem;margin-top:1.2rem}.mood-choice{display:grid;justify-items:center;gap:.1rem;min-height:70px;padding:.55rem .2rem;border:1px solid var(--line);border-radius:12px;background:#0b100d;color:var(--white)}.mood-choice strong{font-size:1.25rem}.mood-choice span{font-size:.72rem}.mood-choice:hover,.mood-choice:focus-visible,.mood-choice.selected{border-color:var(--green);background:#263a1a;color:var(--green)}.mood-confirm{color:var(--green);font-size:.85rem}.mood-history{font-size:.78rem;overflow-wrap:anywhere}.video-item video{width:100%;max-height:300px;background:#090d0a;border-radius:12px}.video-item form{margin-top:.6rem}.text-button{padding:0;border:0;background:none;color:var(--muted);font-size:.76rem;text-decoration:underline}.text-button:hover{color:var(--white)}.video-forms{display:grid;gap:1.5rem}.video-forms form+form{padding-top:1.5rem;border-top:1px solid var(--line)}
details.panel summary{cursor:pointer;color:var(--green);font-weight:850}details.panel form{margin-top:1.25rem}
.schedule-list{padding:0}.schedule-row{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.5rem;border-bottom:1px solid var(--line)}.schedule-row:last-child{border-bottom:0}.schedule-row:hover{background:var(--panel-2)}.schedule-row strong,.schedule-row small{display:block}.schedule-row small{color:var(--muted)}.schedule-row .tag{margin-left:auto}.date-block{width:170px;flex:none;color:var(--green);font-weight:800;font-size:.85rem}
.login-panel{max-width:480px;margin:clamp(2rem,8vw,7rem) auto}.login-panel h1{font-size:clamp(2.5rem,6vw,3.8rem);letter-spacing:-.06em;line-height:1.05;margin:.65rem 0}.login-panel>p:not(.eyebrow){color:var(--muted);margin-bottom:1.7rem}.notice{max-width:650px;margin:3rem auto}.notice h1{font-size:1.8rem}.foot{padding:1.5rem 0 2rem;color:#78867b;font-size:.75rem;border-top:1px solid var(--line)}code{padding:.4rem .6rem;background:#09110a;color:var(--green);border-radius:6px;overflow-wrap:anywhere}
@media(max-width:900px){.site-header{align-items:flex-start;flex-direction:column}.header-right{width:100%;justify-content:space-between;flex-wrap:wrap}nav{flex-wrap:wrap}.identity{display:none}.profile-grid{grid-template-columns:1fr 1fr}.content-grid,.training-grid{grid-template-columns:1fr}}
@media(max-width:620px){.shell{width:min(100% - 1.25rem,1120px)}main.shell{padding-top:2rem}.site-header{padding:.8rem}.page-title{align-items:start;flex-direction:column}.card-list,.profile-grid,.two-col{grid-template-columns:1fr}.panel,.profile-hero{border-radius:15px}.schedule-row{align-items:start;flex-wrap:wrap}.date-block{width:100%}nav{gap:.75rem;font-size:.77rem}.profile-photo,.profile-placeholder,.profile-hero .profile-photo,.profile-hero .profile-placeholder{width:76px;height:76px;border-radius:14px}.profile-placeholder{font-size:2rem}.profile-heading{gap:.8rem}.profile-intro{width:100%}.profile-intro h1{font-size:clamp(1.75rem,8vw,2.6rem)}.photo-edit{max-width:100%}.mood-scale{gap:.25rem}.mood-choice{min-height:62px}.mood-choice span{font-size:.61rem}}
@media(max-width:720px){.snapshot-grid{grid-template-columns:1fr}.snapshot-grid>div,.snapshot-grid>div:first-child,.snapshot-grid>div:last-child{padding:.8rem 0;border-left:0;border-top:1px solid var(--line)}.snapshot-grid>div:first-child{padding-top:0;border-top:0}.snapshot-grid>div:last-child{padding-bottom:0}.next-session-panel{flex-wrap:wrap;gap:.85rem}.next-session-panel .small-link{width:100%;margin-left:calc(68px + .85rem)}}
@media(max-width:380px){.next-session-panel .small-link{margin-left:0}.session-card-top{gap:.7rem}.session-day{width:68px;min-height:78px}.session-info h3{font-size:1rem}}

/* Family experience: schedule first, two clear actions, a shared training history. */
:root{--green:#b5ed78;--panel:#151f19;--panel-2:#1c2a20;--muted:#aebbb1;--line:#364a3c}
[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:1rem}button,a,input,textarea,summary{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.site-header{background:#0c140f}.brand-logo{width:52px;height:58px}main.shell{padding-top:2rem}.panel{box-shadow:0 12px 30px #00000012}.button{min-height:48px;border-radius:12px}.button:hover{background:#d1f6a8}.profile-hero{margin-bottom:1rem;background:linear-gradient(115deg,#233824,#141f18 75%);padding:1.3rem 1.5rem}.profile-hero .profile-photo,.profile-hero .profile-placeholder{width:88px;height:88px;border-radius:18px}.profile-intro h1{font-size:clamp(2rem,4vw,3rem)}.profile-hero .eyebrow{font-size:.64rem}.next-session-panel{background:linear-gradient(120deg,#2b4426,#18271d);padding:1.2rem 1.4rem;border-color:#66864c;margin-bottom:1rem}.next-session-panel .session-day{background:#b5ed78}.session-tools{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;align-items:start;scroll-margin-top:1rem}.family-action{padding:1.4rem;min-height:265px;margin:0}.action-heading{display:flex;gap:.8rem;align-items:center;margin-bottom:1.15rem}.action-heading h2{margin:.3rem 0 0;font-size:1.3rem}.action-heading .eyebrow{font-size:.6rem;letter-spacing:.13em}.action-number{width:36px;height:36px;flex:none;display:grid;place-items:center;border:1px solid #5d8050;border-radius:11px;color:var(--green);font-weight:850;font-size:.75rem}.linked-session-label{margin:.4rem 0 .8rem;color:var(--white);font-size:.82rem;font-weight:750}.family-action>.muted{font-size:.85rem}.family-action .mood-scale{gap:.4rem;margin-top:1.3rem}.family-action .mood-choice{min-height:76px;background:#0d1710;transition:background .12s,border-color .12s}.family-action .mood-choice.selected{background:#304b23;border-color:var(--green);color:var(--green)}.mood-choice strong{font-size:1.45rem}.mood-choice span{font-size:.66rem}.saved-detail{margin:1rem 0 0;font-size:.75rem;color:var(--green)}.helper-note{margin-top:1rem;font-size:.73rem;color:var(--muted)}.family-action .reflection-form{margin-top:1rem;gap:.85rem}.reflection-form textarea{min-height:100px}.reflection-form .field{font-size:.8rem}.reflection-form .field small{font-size:.73rem;line-height:1.5}.reflection-form .button{justify-self:start}.action-empty{padding:1.1rem 0;color:var(--muted);font-size:.85rem;line-height:1.8}.session-completion{display:flex;gap:.4rem;flex-wrap:wrap}.completion-status{font-size:.65rem;color:var(--muted);padding:.3rem .5rem;border:1px solid var(--line);border-radius:6px}.completion-status.complete{color:var(--green);border-color:#4f713c;background:#263820}.session-action{padding-top:.1rem}.schedule-panel{margin-bottom:1rem}.schedule-panel+details{margin-bottom:1rem}.log-panel{margin-bottom:1rem}.latest-update{margin:1rem 0;background:#1d2c20;border-color:#4e6847}.latest-update .eyebrow{font-size:.65rem}.latest-update h2{font-size:.9rem;color:var(--muted);margin:.6rem 0}.latest-update strong{color:var(--green)}.legacy-checkins{margin-bottom:1rem}.save-banner{padding:.95rem 1.2rem;margin:0 0 1rem;border:1px solid #698e4d;border-radius:12px;background:#293e20;color:#d6f7b6;font-size:.87rem}.player-switcher{display:flex;gap:.5rem;overflow:auto;margin-bottom:1rem;padding-bottom:.3rem}.player-switcher a{padding:.6rem 1rem;border:1px solid var(--line);border-radius:24px;font-size:.82rem;white-space:nowrap}.player-switcher a.active{color:var(--ink);background:var(--green);border-color:var(--green)}.password-entry{position:relative;display:flex;align-items:center}.password-entry input{padding-right:5rem}.password-toggle{position:absolute;right:8px;min-height:34px;min-width:52px;border:1px solid #476144;border-radius:7px;background:#233320;color:#c8ef9e;font-size:.74rem;font-weight:800}.form-notice{padding:.8rem 1rem;margin-bottom:1rem;border:1px solid #987951;border-radius:10px;background:#332b1d;font-size:.85rem;color:#f0d8b4}.form-notice.success{border-color:#648646;background:#273b20;color:#d6f7b6}.login-panel{max-width:460px;margin:clamp(1rem,5vw,3.5rem) auto;padding:clamp(1.5rem,5vw,2.3rem);background:linear-gradient(150deg,#233523,#121d16);border-color:#4e684a}.login-panel h1{font-size:clamp(2.3rem,6vw,3.3rem);margin:.8rem 0}.login-panel>.eyebrow{font-size:.64rem}.login-panel>p:not(.eyebrow){font-size:.9rem}.login-panel .forgot-link{justify-self:end;margin-top:-.5rem}.login-panel .login-family-note{margin:1.5rem 0 0!important;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.75rem!important;line-height:1.7;color:var(--muted)}.login-panel .button{width:100%}.content-grid{margin-top:1rem}.form-stack button:disabled{opacity:.7;cursor:wait}
@media(max-width:760px){.session-tools{grid-template-columns:1fr}.family-action{min-height:0}.family-action .reflection-form .button{width:100%}.profile-hero{padding:1.15rem}.next-session-panel{padding:1.1rem}.session-card{padding:1rem}.session-grid{grid-template-columns:1fr}.family-action .mood-choice{min-height:72px}.brand-logo{width:46px;height:50px}.site-header{gap:.8rem}.header-right nav{width:100%;justify-content:space-between;gap:.5rem}.latest-update,.log-panel{padding:1.25rem}}
@media(max-width:420px){.session-tools{gap:.8rem}.family-action{padding:1.15rem}.family-action .mood-scale{gap:.3rem}.mood-choice span{font-size:.61rem}.action-heading h2{font-size:1.15rem}.profile-hero .profile-photo,.profile-hero .profile-placeholder{width:72px;height:72px}.session-completion{gap:.3rem}.completion-status{font-size:.61rem}.brand{font-size:.8rem}nav{font-size:.72rem}.nav-logout{font-size:.72rem}.login-panel{padding:1.4rem}.next-session-panel .small-link{margin-left:0}.session-info h3{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Training week: a calendar beside compact check-ins; a full-width journal below. */
:root{--team:#8bc8e9;--practice:#cbb0ef;--match:#f2c87b}
html{scroll-behavior:smooth;scroll-padding-top:1rem}
.planner-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(340px,1fr);gap:1.1rem;align-items:start;margin:1.1rem 0}
.planner-layout>div,.planner-layout .session-tools{min-width:0}
.planner-layout .session-tools{grid-template-columns:1fr;margin:0;gap:1rem}
.planner-layout .family-action{min-height:0;padding:1.35rem}
.weekly-planner{padding:1.35rem;margin:0 0 1rem;background:linear-gradient(145deg,#1c2c21,#121d17)}
.weekly-planner .eyebrow{font-size:.6rem;letter-spacing:.13em}
.weekly-planner h2{font-size:1.5rem}
.week-navigation{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:1.3rem 0 1rem}
.week-navigation h3{font-size:.9rem;margin:0;text-align:center}
.week-arrow{display:grid;place-items:center;width:38px;height:38px;flex:none;border:1px solid #405340;border-radius:11px;background:#213125;font-size:1.2rem}
.week-arrow:hover{background:#34492c}
.calendar-legend{display:flex;gap:.9rem;flex-wrap:wrap;color:var(--muted);font-size:.67rem;margin-bottom:1.1rem}
.calendar-legend span:before{content:'';width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:5px;background:var(--green)}
.calendar-legend .legend-team:before{background:var(--team)}.calendar-legend .legend-individual:before{background:var(--practice)}.calendar-legend .legend-match:before{background:var(--match)}
.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.calendar-day{min-width:0;background:#101a14;border:1px solid #293a2e;border-radius:12px;padding:.4rem;min-height:240px}
.calendar-day h3{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.4rem 0 .8rem;margin:0;font-size:.65rem;color:var(--muted);min-height:78px}
.calendar-day time{font-size:1.3rem;font-weight:800;color:var(--white)}
.calendar-day h3 small{font-size:.55rem;color:var(--green)}.calendar-day.is-today{border-color:#749e4f;background:#19291b}
.calendar-empty{font-size:.58rem;line-height:1.5;color:#879b8d;text-align:center;margin:.6rem 0;overflow-wrap:anywhere}
.calendar-event{display:flex;flex-direction:column;gap:.4rem;padding:.6rem .4rem;background:#253b24;border:1px solid #405d32;border-left:3px solid var(--green);border-radius:8px;margin-bottom:.5rem;overflow-wrap:anywhere;color:#e8f1e6;font-size:.65rem;line-height:1.5;transition:transform .15s,background .15s}
.calendar-event:hover{transform:translateY(-2px);background:#33472e}.calendar-event strong{font-size:.65rem}.calendar-event .event-kind{font-size:.52rem;text-transform:uppercase;letter-spacing:.02em;color:var(--green);font-weight:800}
.event-team{background:#1a3039;border-color:#355765;border-left-color:var(--team)}.event-team .event-kind{color:var(--team)}
.event-individual{background:#30283d;border-color:#564567;border-left-color:var(--practice)}.event-individual .event-kind{color:var(--practice)}
.event-match{background:#393020;border-color:#655334;border-left-color:var(--match)}.event-match .event-kind{color:var(--match)}
.event-selected{outline:2px solid #e4f5d4;outline-offset:1px}
.activity-add{padding:1rem 1.3rem;margin-bottom:1rem}.activity-add summary{color:var(--green);font-size:.85rem;font-weight:750}.activity-add .form-stack{margin-top:1rem}
.effort-field{border:0;padding:0;margin:0;min-width:0}.effort-field legend{font-weight:750;font-size:.85rem;color:var(--white)}
.effort-field .helper-note{margin:.5rem 0 .75rem}.effort-scale{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}
.effort-scale label{position:relative;cursor:pointer;min-width:0}.effort-scale input{position:absolute;opacity:0;width:1px;height:1px}
.effort-scale span{display:grid;place-items:center;min-height:42px;border:1px solid #4b6148;border-radius:7px;background:#101b13;color:#c6d7c7;font-size:.8rem;font-weight:800}
.effort-scale input:checked+span{background:var(--green);color:#12200e;border-color:var(--green);box-shadow:0 0 0 2px #668443}
.effort-scale input:focus-visible+span{outline:2px solid white;outline-offset:2px}
.effort-ends{display:flex;justify-content:space-between;color:var(--muted);font-size:.64rem;margin-top:.5rem}.clear-effort{font-size:.65rem;margin-top:.4rem}.effort-saved{color:var(--green);font-size:.8rem}
.planner-layout .session-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.planner-layout .session-info h3{font-size:1rem}.planner-layout .session-card{padding:1rem}.planner-layout .session-card-top{gap:.6rem}.planner-layout .schedule-panel{padding:1.3rem}
.install-guide{max-width:520px;margin:1rem auto 0;font-size:.8rem;line-height:1.7;text-align:center}.install-guide summary{cursor:pointer;color:var(--green)}
.install-guide .button{margin:1rem auto}.app-navigation{display:none}
[hidden]{display:none!important}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media(max-width:1100px){.planner-layout{grid-template-columns:1fr}.week-grid{gap:7px}.calendar-day{min-height:150px}.calendar-event,.calendar-event strong{font-size:.78rem}.calendar-event .event-kind{font-size:.6rem}.planner-layout .session-tools{grid-template-columns:1fr 1fr}.planner-layout .session-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){body:has(.app-navigation){padding-bottom:calc(82px + env(safe-area-inset-bottom))}.shell{width:min(100% - 28px,1180px)}.planner-layout{gap:1rem}.planner-layout .session-tools{grid-template-columns:1fr}.weekly-planner{padding:1.1rem}.weekly-planner h2{font-size:1.35rem}.week-grid{grid-template-columns:1fr;gap:7px}.calendar-day{display:grid;grid-template-columns:54px minmax(0,1fr);gap:.65rem;align-items:start;min-height:60px;padding:.6rem .7rem}.calendar-day h3{grid-column:1;grid-row:1 / span 20;padding:.25rem 0;min-height:0;gap:.1rem}.calendar-day time{font-size:1.25rem}.calendar-event{grid-column:2;margin:0;padding:.65rem .8rem;display:grid;grid-template-columns:1fr auto;gap:.25rem .5rem}.calendar-event>span:last-child{grid-column:1/-1}.calendar-event .event-kind{font-size:.59rem}.calendar-event strong{font-size:.72rem}.calendar-empty{text-align:left;font-size:.74rem;padding:.6rem 0;margin:0}.planner-layout .session-grid{grid-template-columns:1fr}.week-navigation{margin:1rem 0}.planner-layout .family-action{padding:1.1rem}.app-navigation{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;margin:0;padding:.6rem .6rem calc(.6rem + env(safe-area-inset-bottom));border-top:1px solid #42523c;background:#111c16f5;backdrop-filter:blur(18px);justify-content:space-around;gap:.4rem}.app-navigation a{display:flex;flex-direction:column;align-items:center;gap:.25rem;font-size:1.3rem;min-width:64px;padding:.2rem;color:#d6e3d4}.app-navigation span{font-size:.65rem;font-weight:700}.app-navigation a:hover{color:var(--green)}.effort-scale{gap:3px}.effort-scale span{font-size:.73rem;min-height:43px;border-radius:6px}.header-right .identity{display:none}.profile-hero{margin-top:.4rem}.log-panel{padding:1.15rem}.install-guide{text-align:left}.calendar-legend{gap:.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.calendar-event{transition:none}.calendar-event:hover{transform:none}}
@media(max-width:760px){main.shell{padding-top:1rem}.calendar-day{display:flex;flex-direction:column;position:relative;padding:.65rem .65rem .65rem 75px;gap:.4rem;min-height:65px}.calendar-day h3{position:absolute;left:.55rem;top:.65rem;width:50px}.calendar-event{width:100%}.calendar-empty{padding:.65rem 0}}
.next-session-actions{display:flex;flex-direction:column;gap:.65rem;flex:none}.next-session-actions .small-link{margin-left:0}
@media(max-width:760px){.next-session-actions{flex-direction:row;gap:1.2rem;flex-wrap:wrap}}
@media(max-width:760px){.next-session-panel{flex-wrap:wrap}.next-session-panel .next-session-copy{flex:1;min-width:180px}.next-session-actions{width:100%}}
@media(max-width:760px){.next-session-actions .small-link{width:auto;margin-left:0}}
.planner-layout .session-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}

/* Welcoming entry and public coach profiles. */
.signin-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(1rem,4vw,3rem) 0}
.signin-intro{position:relative;isolation:isolate;padding:1.5rem 0 2rem;min-width:0}
.signin-intro>.eyebrow{font-size:.68rem;letter-spacing:.17em}
.signin-intro h1{font-size:clamp(2.7rem,4.5vw,4.6rem);line-height:1.07;letter-spacing:-.055em;margin:1.3rem 0 1.1rem}
.signin-intro h1 span,.coaches-hero h1 span{color:var(--green)}
.signin-lead{max-width:380px;font-size:1rem;color:#afc2b1;line-height:1.75}
.signin-coaches{display:flex;gap:1.5rem;margin:2rem 0 1.2rem;flex-wrap:wrap}
.signin-coach{display:flex;align-items:center;gap:.7rem}
.signin-coach img{width:64px;height:76px;object-fit:cover;object-position:50% 32%;border:1px solid #597c48;border-radius:14px;background:#263624}
.signin-coach>span{font-size:.83rem;font-weight:800}.signin-coach small{display:block;font-size:.65rem;font-weight:500;color:var(--muted);margin-top:.35rem}
.signin-layout .login-panel{margin:0;width:100%;max-width:none;box-shadow:0 25px 80px #0004}
.signin-layout .login-panel h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.05em;margin:.8rem 0}
.signin-layout .login-panel>.eyebrow{font-size:.62rem}.signin-layout .login-panel>p{font-size:.9rem;color:var(--muted)}
.pitch-art{position:absolute;z-index:-1;pointer-events:none;inset:4% -3% 8% 12%;border:1px solid #75a94a2c;border-radius:8px;transform:perspective(800px) rotateY(-10deg) rotateZ(-7deg);overflow:hidden;background:linear-gradient(90deg,#38522c08 50%,#38522c12 50%);background-size:80px 100%}
.pitch-centre{position:absolute;width:145px;height:145px;border:1px solid #75a94a30;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.pitch-half{position:absolute;left:50%;top:0;bottom:0;border-left:1px solid #75a94a30}
.pitch-box{position:absolute;top:27%;bottom:27%;width:18%;border:1px solid #75a94a2b}.pitch-box-left{left:-1px}.pitch-box-right{right:-1px}
.pitch-ball{position:absolute;left:49%;top:20%;width:7px;height:7px;border-radius:50%;background:#a5ed655e;box-shadow:0 0 24px #a5ed6550;animation:pitch-journey 18s ease-in-out infinite}
@keyframes pitch-journey{0%,100%{transform:translate(0,0);opacity:.25}35%{transform:translate(-95px,120px);opacity:.5}70%{transform:translate(70px,230px);opacity:.3}}
.coaches-hero{max-width:740px;padding:1.5rem 0 2.3rem}.coaches-hero h1{font-size:clamp(2.4rem,5vw,4.4rem);line-height:1.06;letter-spacing:-.055em;margin:1rem 0 1.3rem}.coaches-hero>p:last-child{max-width:590px;line-height:1.8;color:var(--muted)}
.public-coaches-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.2rem}
.public-coach-card{padding:0;overflow:hidden;margin:0;display:flex;flex-direction:column;background:linear-gradient(160deg,#213625,#142018)}
.public-coach-photo{background:#27362d;padding:1.3rem 1.3rem 0}.public-coach-photo img{display:block;width:100%;height:330px;object-fit:contain;border-radius:12px;background:#1a241c}
.public-coach-copy{padding:1.5rem 1.7rem}.public-coach-copy .eyebrow{font-size:.6rem}.public-coach-copy h2{font-size:1.8rem;margin:.6rem 0 1rem;letter-spacing:-.035em}.public-coach-copy>p:not(.eyebrow){line-height:1.85;font-size:.9rem;color:#bccdbd}.public-coach-copy .tag{font-size:.65rem}.public-coach-copy .coach-qualification{padding-top:1rem;border-top:1px solid #42563d;color:#cef0ad!important;font-size:.82rem!important}
.coaching-approach{padding:1.8rem;margin-top:1.5rem}.coaching-approach h2{font-size:1.8rem}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.7rem;margin:1.7rem 0}.approach-grid h3{font-size:1rem;color:#d6edc3}.approach-grid p{font-size:.85rem;line-height:1.8;color:var(--muted)}
.welcome-panel{margin:0 0 1.1rem;padding:1.4rem 1.6rem;background:linear-gradient(130deg,#2a3b25,#16241b);border-color:#587947}.welcome-panel h2{font-size:1.45rem}.welcome-panel .eyebrow{font-size:.6rem}.welcome-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin:1.2rem 0}.welcome-step>span{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid #617f4c;border-radius:9px;font-size:.62rem;color:var(--green);font-weight:800}.welcome-step h3{font-size:.9rem;margin:.7rem 0 .5rem}.welcome-step p{font-size:.77rem;line-height:1.7;color:var(--muted);margin:0}.welcome-panel .button{font-size:.78rem;padding:.7rem 1rem}.welcome-panel>.helper-note{margin:.8rem 0 0}
.planner-layout .development-snapshot{margin:0 0 1rem;padding:1.35rem}.planner-layout .snapshot-grid{grid-template-columns:1fr;gap:0}.planner-layout .snapshot-grid>div{padding:.85rem 0;border-right:0;border-bottom:1px solid #354b36}.planner-layout .snapshot-grid>div:last-child{border-bottom:0;padding-bottom:0}.planner-layout .snapshot-grid p{font-size:.87rem;line-height:1.75;margin:.5rem 0}.planner-layout .snapshot-grid h3{font-size:.8rem}.activity-origin{display:block;color:#95aa96;font-size:.6rem;margin-top:.45rem}.calendar-event .event-origin{font-size:.49rem;color:#b8c9b6;font-weight:400;letter-spacing:0}
@media(max-width:900px){.signin-layout{grid-template-columns:1fr;max-width:550px;margin:0 auto;gap:1rem;padding:0}.signin-intro{padding:.5rem 0 1.1rem}.signin-intro h1{font-size:3.2rem}.signin-coaches{margin:1.4rem 0 1rem}.signin-layout .login-panel{padding:1.6rem}.public-coach-copy{padding:1.25rem}.public-coach-photo img{height:280px}}
@media(max-width:760px){.signin-intro h1{font-size:clamp(2.5rem,10.5vw,3.4rem);margin:.9rem 0}.signin-intro>.eyebrow{font-size:.59rem}.signin-lead{font-size:.87rem;line-height:1.7;max-width:330px}.signin-coaches{gap:1.1rem;margin:1.25rem 0 1rem}.signin-coach img{width:49px;height:59px;border-radius:10px}.signin-coach>span{font-size:.73rem}.signin-coach small{font-size:.58rem}.signin-layout .login-panel h2{font-size:2rem}.pitch-art{inset:0 -2% 2% 8%}.public-coaches-grid{grid-template-columns:1fr;gap:1rem}.coaches-hero{padding:.5rem 0 1.5rem}.public-coach-photo{padding:1rem 1rem 0}.public-coach-photo img{height:300px}.public-coach-copy{padding:1.3rem}.public-coach-copy h2{font-size:1.6rem}.coaching-approach{padding:1.25rem}.approach-grid{grid-template-columns:1fr;gap:1rem;margin:1.2rem 0}.approach-grid h3{margin:0 0 .5rem}.approach-grid p{margin:0}.coaching-approach .actions{flex-direction:column;align-items:stretch}.coaching-approach .button{width:100%}.welcome-panel{padding:1.15rem}.welcome-panel h2{font-size:1.15rem}.welcome-panel .section-head{align-items:flex-start;gap:.7rem}.welcome-panel .tag{font-size:.55rem;white-space:nowrap}.welcome-steps{grid-template-columns:1fr;gap:.85rem;margin:1rem 0}.welcome-step{display:grid;grid-template-columns:30px 1fr;gap:.2rem .7rem}.welcome-step>span{grid-row:1/3}.welcome-step h3{margin:0;font-size:.82rem}.welcome-step p{font-size:.72rem}.welcome-panel .button{width:100%}.planner-layout .development-snapshot{padding:1.15rem}.calendar-event .event-origin{grid-column:1/-1;font-size:.58rem}.header-right nav{justify-content:flex-start;gap:.65rem 1rem}}
@media(prefers-reduced-motion:reduce){.pitch-ball{animation:none}.pitch-art{transform:none}}
@media(max-width:760px){.signin-layout{display:flex;flex-direction:column;align-items:stretch;gap:.9rem}.signin-intro{display:contents}.signin-intro>.eyebrow{order:0;margin:.3rem 0 0}.signin-intro h1{order:1;font-size:2.6rem;margin:0 0 .3rem}.signin-intro .signin-lead{display:none}.signin-layout .login-panel{order:2}.signin-coaches{order:3;margin:.7rem 0 0}.signin-intro>.small-link{order:4}.signin-intro .pitch-art{display:none}}
.signin-face{display:block;width:64px;height:76px;flex:none;overflow:hidden;border:1px solid #597c48;border-radius:14px;background:#263624}.signin-coach .signin-face img{width:100%;height:100%;border:0;border-radius:0}.signin-coach:first-child .signin-face img{transform:scale(2.1);transform-origin:50% 30%}
@media(max-width:760px){.signin-face{width:49px;height:59px;border-radius:10px}body:has(.app-navigation) .header-right nav>a[href="/"],body:has(.app-navigation) .header-right nav>a[href="/schedule"],body:has(.app-navigation) .header-right nav>a[href="/account"]{display:none}}
.planner-layout .snapshot-grid>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:1rem;border-left:0;border-top:0}.planner-layout .snapshot-grid>div p{margin:0}.planner-layout .snapshot-grid h3{line-height:1.65}
@media(max-width:760px){.planner-layout .snapshot-grid>div{display:block}.planner-layout .snapshot-grid>div p{margin:.5rem 0 0}}

/* Four focused pages, with player context carried between them. */
.primary-navigation{display:flex;gap:.35rem;align-items:center}.portal-tab{display:flex;align-items:center;gap:.5rem;padding:.65rem .8rem;border-radius:10px;font-size:.82rem;font-weight:750;color:#afc2b2;white-space:nowrap}.portal-tab svg{width:18px;height:18px;flex:none}.portal-tab.active{color:#d5f7af;background:#2b4124;box-shadow:inset 0 0 0 1px #526b3e}.header-logout{margin:0}.header-right{gap:.8rem}.header-right .identity{font-size:.7rem}.header-right .primary-navigation a{margin:0}
.focused-page{animation:page-arrive .2s ease-out}.page-home .development-snapshot{position:relative;background:linear-gradient(140deg,#243b29,#14221a 80%);border:1px solid #73934d;padding:clamp(1.3rem,3vw,2.2rem);margin:0 0 1.2rem;box-shadow:0 15px 40px #0002}.page-home .development-snapshot>.eyebrow{font-size:.63rem;letter-spacing:.17em;color:#a8cc8c}.page-home .development-snapshot>h2{font-size:clamp(1.8rem,3.3vw,2.8rem);line-height:1.15;letter-spacing:-.045em;margin:.6rem 0 1.7rem;color:#f0f8ee}.page-home .snapshot-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:1rem}.page-home .snapshot-grid>div{padding:1.2rem;border:1px solid #3e5840;border-radius:15px;background:#132018;border-left:1px solid #3e5840;min-width:0}.page-home .snapshot-grid>div:last-child{padding:1.2rem;background:linear-gradient(145deg,#3b542b,#293f24);border-color:#8aae60}.page-home .snapshot-grid h3{font-size:.76rem;line-height:1.5;letter-spacing:.02em;color:#b4ce9d}.page-home .snapshot-grid p{font-size:1rem;line-height:1.75;margin:.8rem 0 0;overflow-wrap:anywhere}.page-home .snapshot-grid>div:last-child h3{color:#c9f098}.page-home .snapshot-grid>div:last-child p{font-weight:750;color:#f1ffe5}
.home-support{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;align-items:start}.home-support>div{min-width:0}.home-support .next-session-panel{padding:1.2rem;flex-wrap:wrap}.home-support .next-session-copy{min-width:180px}.home-support .next-session-actions{flex-direction:row;width:100%;gap:1rem}.home-support .session-tools{display:block;margin:0}.home-support .family-action{min-height:0}.home-journal{padding:1.5rem;margin-bottom:1rem}.home-journal .section-head svg{width:25px;height:25px;color:var(--green);flex:none}.home-journal h2{font-size:1.45rem}.home-journal .eyebrow{font-size:.6rem}.home-journal>p{font-size:.9rem;line-height:1.8;color:#bfd0c1}.home-journal .journal-preview-date{font-size:.7rem;color:var(--green)}.home-journal .button{font-size:.8rem;padding:.8rem 1rem}.coach-workspace{margin-top:1rem}.coach-workspace>summary,.resource-drawer>summary{color:var(--green);font-weight:750;font-size:.9rem}.coach-workspace[open]>summary,.resource-drawer[open]>summary{margin-bottom:1.2rem}.coach-workspace .panel:last-child{margin-bottom:0}
.player-switcher{overflow:visible;align-items:center;justify-content:space-between;gap:1rem;position:relative}.player-picker{position:relative;margin-left:auto;z-index:20}.player-picker>summary{cursor:pointer;border:1px solid #425d3e;border-radius:20px;padding:.55rem 1rem;color:#c4e5a7;font-size:.78rem;white-space:nowrap}.player-options{position:absolute;right:0;top:calc(100% + .5rem);width:240px;max-height:290px;overflow:auto;border:1px solid #4a6444;border-radius:14px;padding:.5rem;background:#17251c;box-shadow:0 12px 30px #0007}.player-options a{display:block;border:0;border-radius:8px;padding:.7rem;font-size:.85rem;white-space:normal}.player-options a:hover,.player-options a[aria-current]{background:#2a4124;color:var(--green)}
.focused-schedule .weekly-planner{margin-bottom:1rem}.focused-schedule .calendar-day{min-height:180px}.focused-schedule .calendar-event{font-size:.8rem;padding:.7rem}.focused-schedule .calendar-event strong{font-size:.78rem}.focused-schedule .calendar-event .event-kind{font-size:.6rem}.focused-schedule .event-origin{font-size:.6rem}.focused-schedule .session-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
.journal-tabs{display:flex;padding:.35rem;border:1px solid #3f563c;border-radius:14px;background:#101c14;gap:.4rem;margin-bottom:1rem;width:max-content;max-width:100%}.journal-tabs a{padding:.8rem 1.35rem;border-radius:10px;font-size:.85rem;font-weight:800;text-align:center}.journal-tabs a.active{background:#b7ec7b;color:#152011}.section-intro{color:var(--muted);font-size:.9rem;line-height:1.7;margin:0 0 1.3rem}.journal-session-picker{display:flex;gap:.8rem;align-items:end;padding:1rem 1.3rem;border:1px solid #344e36;border-radius:14px;background:#17261c;margin-bottom:1rem}.journal-session-picker .field{flex:1;min-width:0}.journal-session-picker select{font-size:.85rem}.journal-session-picker .button{min-height:45px;font-size:.8rem;flex:none}.page-journal .session-tools{display:block;max-width:760px;margin:0 auto 1.4rem}.page-journal .family-action{padding:1.5rem}.page-journal .family-action .reflection-form{gap:1rem}.page-journal .effort-scale span{min-height:48px;font-size:.9rem}.page-journal .reflection-form textarea{min-height:90px}.page-journal .log-panel{margin-bottom:1rem}.page-journal .log-list{grid-template-columns:1fr}.page-journal .training-entry{padding:1rem 0}.journal-pagination{display:flex;justify-content:space-between;gap:1rem;margin:1rem 0}.resource-drawer{margin-top:1rem}.resource-drawer .panel{margin-top:1rem}.profile-hero{padding:1.1rem 1.35rem}.profile-hero .profile-photo,.profile-hero .profile-placeholder{width:68px;height:68px;border-radius:15px}.profile-intro h1{font-size:clamp(1.7rem,3vw,2.3rem)}.profile-hero .photo-edit{margin-top:.6rem}.page-home .latest-update h2{font-size:.85rem}.account-help p{font-size:.85rem;line-height:1.8}
@keyframes page-arrive{from{opacity:.7;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.header-right .identity{display:none}.portal-tab{padding:.6rem .65rem;font-size:.77rem}.page-home .snapshot-grid{grid-template-columns:1fr 1fr}.page-home .snapshot-grid>div:last-child{grid-column:1/-1}.primary-navigation{gap:.2rem}}
@media(max-width:760px){body:has(.app-navigation) .header-right .primary-navigation{display:none!important}.header-right .header-logout{margin-left:auto}.header-right{width:auto;margin-left:auto}.site-header{flex-wrap:nowrap}.site-header .brand{min-width:0}.primary-navigation{gap:.5rem}.header-right:has(.header-logout){width:auto}.app-navigation{display:flex;gap:.25rem;padding:.45rem .4rem calc(.45rem + env(safe-area-inset-bottom));justify-content:space-around}.app-navigation .portal-tab{display:flex;flex:1;flex-direction:column;gap:.3rem;padding:.55rem .3rem;min-width:0;border-radius:12px;color:#a9bcac}.app-navigation .portal-tab svg{width:22px;height:22px}.app-navigation .portal-tab span{font-size:.64rem}.app-navigation .portal-tab.active{background:#2b4324;color:#d9f9bc;box-shadow:inset 0 0 0 1px #5b7746}.profile-hero{padding:1rem;margin-bottom:1rem}.profile-hero .profile-photo,.profile-hero .profile-placeholder{width:55px;height:55px;border-radius:12px}.profile-intro h1{font-size:1.7rem}.profile-hero .profile-heading{gap:.75rem}.profile-hero .eyebrow{font-size:.56rem}.profile-intro>p:last-of-type{font-size:.78rem}.profile-hero>.button{padding:.6rem .8rem;font-size:.72rem}.page-home .development-snapshot{padding:1.2rem;margin-bottom:1rem;border-radius:20px}.page-home .development-snapshot>h2{font-size:2rem;margin:.5rem 0 1.2rem;max-width:300px}.page-home .snapshot-grid{grid-template-columns:1fr;gap:.65rem}.page-home .snapshot-grid>div,.page-home .snapshot-grid>div:first-child,.page-home .snapshot-grid>div:last-child{padding:1rem;border:1px solid #3e5840;grid-column:auto}.page-home .snapshot-grid>div:last-child{border-color:#8aae60}.page-home .snapshot-grid h3{font-size:.69rem}.page-home .snapshot-grid p{font-size:.91rem;line-height:1.7;margin:.4rem 0 0}.home-support{grid-template-columns:1fr;gap:1rem}.home-support .family-action{padding:1.15rem}.home-journal{padding:1.2rem}.home-journal h2{font-size:1.2rem}.home-journal .button{width:100%}.page-home .next-session-panel{margin-bottom:1rem}.journal-tabs{width:100%;gap:.3rem}.journal-tabs a{padding:.75rem .5rem;font-size:.77rem;flex:1}.journal-session-picker{flex-direction:column;align-items:stretch;padding:1rem;gap:.7rem}.journal-session-picker .field{width:100%}.journal-session-picker .button{width:100%}.page-journal .family-action{padding:1.1rem}.page-journal .effort-scale span{font-size:.78rem;min-height:45px}.page-journal .log-panel{padding:1.15rem}.page-journal .section-intro{font-size:.83rem}.focused-schedule .calendar-day{min-height:65px}.focused-schedule .calendar-event{font-size:.74rem;padding:.65rem .7rem}.focused-schedule .calendar-event strong{font-size:.69rem}.player-switcher .small-link{font-size:.75rem}.player-picker>summary{font-size:.73rem;padding:.5rem .8rem}.coach-workspace,.resource-drawer{padding:1.15rem}}
@media(prefers-reduced-motion:reduce){.focused-page{animation:none}}
.journal-activity-context{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;font-size:.75rem;color:var(--muted);margin:0 0 1rem}.journal-activity-context .tag{font-size:.65rem}
@media(max-width:900px){.site-header:has(.header-logout){flex-direction:row;align-items:center}.site-header:has(.header-logout) .header-right{width:auto;flex-wrap:nowrap}}
