.coach-site{min-width:0}.coach-main{width:min(1160px,calc(100% - 36px));margin:0 auto;padding:48px 0 84px}.coach-tabs-wrap .home-hub-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.coach-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:42px;align-items:center;padding:34px 0 54px}.coach-hero-copy{max-width:720px}.coach-hero h1{margin:10px 0 20px;font:700 clamp(42px,6.2vw,78px)/.98 var(--display);letter-spacing:-.065em}.coach-hero h1 em{color:var(--accent);font-style:normal}.coach-hero-copy>p:not(.eyebrow){max-width:650px;margin:0;color:var(--ink-soft);font-size:17px;line-height:1.65}.coach-proof{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.coach-proof span{padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,253,250,.8);color:var(--ink-soft);font-size:12px;font-weight:700}.coach-offer{padding:26px;border-top:5px solid var(--accent)}.coach-offer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.coach-offer-heading p{margin:0}.coach-offer-heading span{padding:5px 8px;border-radius:999px;background:var(--accent-pale);color:var(--accent-ink);font-size:10px;font-weight:800;text-transform:uppercase}.coach-offer h2{display:flex;align-items:baseline;gap:6px;margin:20px 0 14px}.coach-offer h2 strong{font:700 52px/1 var(--display);letter-spacing:-.06em}.coach-offer h2 span{color:var(--muted);font-size:14px}.coach-offer ul{display:grid;gap:9px;margin:0 0 22px;padding:0;list-style:none}.coach-offer li{position:relative;padding-left:22px;color:var(--ink-soft);font-size:13px}.coach-offer li::before{position:absolute;left:0;color:var(--accent);content:"✓";font-weight:900}.coach-offer .button{width:100%}.coach-offer>p{margin:10px 0 0;color:var(--muted);font-size:10px;text-align:center}.coach-manage-button,.coach-sync-all{border:0;border-bottom:1px solid currentColor;background:none;color:var(--accent-ink);font-size:11px;font-weight:800;cursor:pointer}.coach-manage-button{display:block;margin:12px auto 0}.coach-native-billing{padding:9px;border-radius:8px;background:var(--yellow);color:var(--ink)!important}.coach-signin-gate{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:28px}.coach-signin-gate>span{display:grid;width:54px;height:54px;place-items:center;border-radius:16px;background:var(--accent-pale);color:var(--accent);font-size:30px}.coach-signin-gate h2,.coach-signin-gate p{margin:0}.coach-signin-gate p{margin-top:5px;color:var(--muted)}.coach-app{display:grid;gap:46px}.coach-loader{display:grid;min-height:180px;place-items:center}.coach-loader span{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:coach-spin .75s linear infinite}.coach-app[aria-busy="true"]>:not(.coach-loader):not(.coach-status){display:none}.coach-app[aria-busy="false"]>.coach-loader{display:none}@keyframes coach-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.coach-loader span{animation-duration:1.5s}}.coach-status{position:sticky;z-index:20;top:10px;margin:0 auto;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:var(--ink);box-shadow:var(--shadow-soft);color:white;font-size:12px;font-weight:700}.coach-status:empty{display:none}.coach-connect{padding:26px}.coach-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.coach-section-heading h2,.coach-section-heading p{margin:0}.coach-section-heading h2{font:700 clamp(27px,3vw,39px)/1.08 var(--display);letter-spacing:-.045em}.coach-section-heading>p{max-width:420px;color:var(--muted);font-size:13px}.coach-connect-form{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;gap:12px;align-items:end;padding:18px;border-radius:14px;background:var(--paper-strong)}.coach-provider-picker{display:flex;height:45px;padding:3px;border:1px solid var(--line);border-radius:9px;background:white}.coach-provider-picker button{padding:0 14px;border:0;border-radius:6px;background:none;color:var(--muted);font-size:12px;font-weight:800;cursor:pointer}.coach-provider-picker button.active{background:var(--ink);color:white}.coach-connect-form label{display:grid;gap:5px}.coach-connect-form label span{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.coach-connect-form input{height:45px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);outline:none}.coach-connect-form input:focus{border-color:var(--accent);box-shadow:var(--focus)}.coach-connections{display:grid;gap:8px;margin-top:14px}.coach-connection{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:10px}.coach-connection i{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;background:var(--ink);color:white;font-style:normal;font-weight:900}.coach-connection div{min-width:0;flex:1}.coach-connection strong,.coach-connection small{display:block}.coach-connection small{color:var(--muted)}.coach-connection button{border:0;background:none;color:var(--accent-ink);font-size:11px;font-weight:800;cursor:pointer}.coach-week-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.coach-week-grid article{min-width:0;padding:20px}.coach-week-grid small,.coach-week-grid span{display:block;color:var(--muted);font-size:10px}.coach-week-grid small{text-transform:uppercase;font-weight:800;letter-spacing:.06em}.coach-week-grid strong{display:block;overflow-wrap:anywhere;margin:8px 0 4px;font:700 clamp(22px,2.7vw,34px)/1 var(--display);letter-spacing:-.04em}.coach-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.coach-plan-card{display:grid;grid-template-rows:auto auto 1fr auto;gap:10px;min-height:240px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--sheet);box-shadow:var(--shadow-soft)}.coach-plan-card>span{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;background:var(--accent-pale);color:var(--accent-ink);font-weight:900}.coach-plan-card h3,.coach-plan-card p{margin:0}.coach-plan-card h3{font:700 23px/1.1 var(--display)}.coach-plan-card p{color:var(--muted);font-size:13px}.coach-plan-card a{justify-self:start}.coach-games{min-width:0}.coach-sync-all:disabled{cursor:wait;opacity:.5}.coach-game-list{display:grid;gap:10px}.coach-game{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--sheet)}.coach-game-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;align-items:center;min-width:0}.coach-game-result{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;background:var(--paper-strong);font-weight:900;text-transform:uppercase}.coach-game-result.win{background:#eaf7ef;color:#267844}.coach-game-result.loss{background:var(--red-soft);color:var(--red)}.coach-game-copy{min-width:0}.coach-game-copy h3,.coach-game-copy p{margin:0}.coach-game-copy h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 17px/1.25 var(--display)}.coach-game-copy p{margin-top:4px;color:var(--muted);font-size:11px}.coach-game-finding{display:inline-flex;margin-top:7px;padding:4px 7px;border-radius:6px;background:var(--accent-pale);color:var(--accent-ink);font-size:10px;font-weight:800}.coach-game-actions{display:flex;align-items:center;gap:9px}.coach-game-actions button,.coach-game-actions a{white-space:nowrap}.coach-game-actions button{min-width:110px}.coach-game-status{color:var(--muted);font-size:11px;font-weight:700}.coach-empty{padding:34px;text-align:center}.coach-empty>span{font-size:38px}.coach-empty h3{margin:8px 0 4px}.coach-empty p{max-width:560px;margin:0 auto;color:var(--muted)}.coach-how{padding-top:52px}.coach-how ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.coach-how li{padding:20px;border-top:2px solid var(--line)}.coach-how li>span{color:var(--accent);font:700 24px/1 var(--display)}.coach-how li strong{display:block;margin:13px 0 5px;font-size:17px}.coach-how li p{margin:0;color:var(--muted);font-size:12px}.coach-account-link{text-decoration:none}.coach-offer button:disabled,.coach-connect-form button:disabled,.coach-game button:disabled{cursor:wait;opacity:.58}
@media(max-width:900px){.coach-main{width:min(100% - 28px,720px);padding-top:24px}.coach-hero{grid-template-columns:1fr;gap:24px;padding-top:20px}.coach-hero-copy{max-width:none}.coach-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-plan-grid{grid-template-columns:1fr}.coach-connect-form{grid-template-columns:1fr}.coach-provider-picker{width:100%}.coach-provider-picker button{flex:1}.coach-how ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.coach-main{width:100%;padding:18px 12px 60px}.coach-tabs-wrap .home-hub-tabs{width:100%}.coach-hero h1{font-size:42px}.coach-hero-copy>p:not(.eyebrow){font-size:15px}.coach-offer,.coach-connect{padding:19px}.coach-signin-gate{grid-template-columns:auto 1fr;padding:20px}.coach-signin-gate .button{grid-column:1/-1;width:100%}.coach-section-heading{display:grid;gap:8px;align-items:start}.coach-week-grid{gap:8px}.coach-week-grid article{padding:15px}.coach-week-grid strong{font-size:22px}.coach-game{grid-template-columns:1fr;gap:13px;padding:15px}.coach-game-actions{justify-content:stretch}.coach-game-actions .button{width:100%}.coach-how ol{grid-template-columns:1fr}.coach-how li{display:grid;grid-template-columns:auto 1fr;column-gap:12px}.coach-how li strong{margin:2px 0}.coach-how li p{grid-column:2}.coach-proof span{font-size:10px}.coach-offer-heading{align-items:flex-start}.coach-status{top:6px;text-align:center}.coach-connect-form{padding:12px}.coach-connection{align-items:flex-start;flex-wrap:wrap}.coach-connection div{width:calc(100% - 50px);flex:auto}.coach-connection button{margin-left:46px}}
@media(max-width:340px){.coach-main{padding-inline:8px}.coach-hero h1{font-size:36px}.coach-week-grid{grid-template-columns:1fr}.coach-offer h2 strong{font-size:44px}}
.coach-app{min-width:0;width:100%}.coach-app>*{min-width:0;max-width:100%}.coach-status{max-width:100%;overflow-wrap:anywhere}
.coach-connect-form>*{min-width:0;max-width:100%}.coach-connect-form .button{min-width:0;white-space:normal}.coach-connect-form input{min-width:0;max-width:100%}
.coach-native-access{margin:-30px 0 36px;padding:16px 18px;color:var(--ink-soft);font-size:13px;text-align:center}

/* Dashboard sections use one familiar tab rail on phones. */
.coach-mobile-tabs{display:none}
@media(max-width:600px){
    .coach-app{gap:18px}
    .coach-mobile-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;border-bottom:1px solid var(--line)}
    .coach-mobile-tabs button{min-width:0;min-height:45px;padding:11px 6px 9px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;box-shadow:none;color:var(--muted);font:700 13px/1 var(--display);letter-spacing:.01em;cursor:pointer;touch-action:manipulation;transition:border-color .14s ease,color .14s ease}
    .coach-mobile-tabs button.active{border-bottom-color:var(--accent);background:transparent;box-shadow:none;color:var(--accent-ink);transform:none}
    .coach-mobile-tabs button:active{background:var(--accent-pale);box-shadow:none;transform:none}
    .coach-mobile-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}
    .coach-mobile-panel-hidden{display:none!important}
}
@media(max-width:340px){.coach-mobile-tabs button{font-size:12px}}
@media(prefers-reduced-motion:reduce){.coach-mobile-tabs button{transition:none}}

/* A Coach game is intentionally separate from the legacy PGN analyzer. */
.coach-game-site .coach-game-main{display:block}
.coach-game-site .coach-game-main{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:36px 0 84px}.coach-game-topbar{display:flex;align-items:center;gap:18px;margin-bottom:34px}.coach-game-hero{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:34px;align-items:end;margin-bottom:24px}.coach-game-hero h1{max-width:100%;margin:7px 0 12px;font:700 clamp(30px,4vw,50px)/1 var(--display);letter-spacing:-.055em;overflow-wrap:anywhere}.coach-game-hero h1 span{color:var(--muted);font-size:.5em}.coach-game-hero>div:first-child>p:last-child{max-width:760px;margin:0;color:var(--ink-soft);font-size:15px;line-height:1.6}.coach-game-hero .coach-game-result{display:block;width:auto;height:auto;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--sheet);text-align:left}.coach-game-hero .coach-game-result small,.coach-game-hero .coach-game-result span{display:block;color:var(--muted);font-size:9px}.coach-game-hero .coach-game-result small{font-weight:800;letter-spacing:.08em;text-transform:uppercase}.coach-game-hero .coach-game-result strong{display:block;margin:5px 0;font:700 30px/1 var(--display)}.coach-game-hero .coach-game-result.win strong{color:#267844}.coach-game-hero .coach-game-result.loss strong{color:var(--red)}
.coach-analysis-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}.coach-analysis-overview article{padding:17px 19px;border:1px solid var(--line);border-radius:14px;background:var(--sheet)}.coach-analysis-overview small,.coach-analysis-overview span{display:block;color:var(--muted);font-size:9px}.coach-analysis-overview small{font-weight:800;letter-spacing:.07em;text-transform:uppercase}.coach-analysis-overview strong{display:block;overflow:hidden;margin:6px 0 3px;font:700 23px/1.05 var(--display);text-overflow:ellipsis;white-space:nowrap}.coach-game-lesson{margin-bottom:12px;padding:22px;border-left:5px solid var(--accent)}.coach-game-lesson h2{margin:4px 0 8px;font:700 27px/1.05 var(--display)}.coach-game-lesson>p:last-child{max-width:900px;margin:0;color:var(--ink-soft);font-size:14px;line-height:1.6}
.coach-full-analysis{display:grid;grid-template-columns:minmax(340px,460px) minmax(0,1fr);gap:14px;align-items:start}.coach-analysis-board-card{position:sticky;top:14px;padding:16px}.coach-analysis-board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}.coach-analysis-board-head small,.coach-analysis-board-head strong{display:block}.coach-analysis-board-head small{color:var(--muted);font-size:10px}.coach-analysis-board-head strong{margin-top:2px}.coach-analysis-board-head>span{padding:6px 8px;border-radius:7px;background:var(--paper-strong);font-size:10px;font-weight:800}.coach-analysis-controls{display:grid;grid-template-columns:42px 42px 1fr 42px 42px;gap:5px;align-items:center;margin-top:10px}.coach-analysis-controls button{height:38px;border:1px solid var(--line);border-radius:7px;background:var(--sheet);color:var(--ink);font-weight:900}.coach-analysis-controls span{text-align:center;font-size:11px;font-weight:800}.coach-selected-move{min-height:112px;margin-top:12px;padding:14px;border-radius:10px;background:var(--paper-strong)}.coach-selected-heading{display:flex;justify-content:space-between;gap:10px}.coach-selected-heading span{padding:3px 6px;border-radius:999px;background:white;color:var(--ink-soft);font-size:9px;font-weight:900}.coach-selected-move p{margin:7px 0 0;color:var(--ink-soft);font-size:11px;line-height:1.55}.coach-selected-move .coach-selected-line{color:var(--accent-ink);font-weight:700}
.coach-analysis-story{display:grid;gap:14px;min-width:0}.coach-phase-tabs{display:none}.coach-phase-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.coach-phase-panel{padding:15px}.coach-phase-panel small{color:var(--accent-ink);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.coach-phase-panel p{margin:6px 0 0;color:var(--ink-soft);font-size:10px;line-height:1.5}.coach-move-story{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--sheet)}.coach-move-story .coach-section-heading{align-items:flex-start}.coach-move-story .coach-section-heading h2{font-size:30px}.coach-move-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.coach-move-note{min-width:0;padding:12px;border:1px solid var(--line);border-left:4px solid #9ca29d;border-radius:9px;background:#fbfaf7;color:var(--ink);text-align:left;cursor:pointer}.coach-move-note:hover,.coach-move-note:focus-visible,.coach-move-note.active{border-color:var(--accent);background:var(--accent-pale);outline:0}.coach-move-note.grade-inaccuracy{border-left-color:#d6ad28}.coach-move-note.grade-mistake{border-left-color:#dc795f}.coach-move-note.grade-blunder{border-left-color:var(--red)}.coach-move-note-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.coach-move-note-head b{font-size:12px}.coach-move-note-head em{color:var(--muted);font-size:8px;font-style:normal;font-weight:900;text-transform:uppercase}.coach-move-note-copy{display:block;margin-top:6px;color:var(--ink-soft);font-size:9px;line-height:1.45}.coach-puzzle-library{margin-top:14px;padding:26px;background:linear-gradient(140deg,var(--accent-pale),var(--sheet) 62%)}.coach-puzzle-library>header h2,.coach-puzzle-library>header p{margin:0}.coach-puzzle-library>header h2{margin:4px 0 7px;font:700 29px/1.05 var(--display)}.coach-puzzle-library>header>p:last-child{color:var(--ink-soft);font-size:12px}.coach-puzzle-preview-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:20px}.coach-puzzle-preview-card{min-width:0;padding:7px;border:1px solid var(--line);border-radius:12px;background:rgba(255,253,250,.92);color:var(--ink);text-align:left;cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s}.coach-puzzle-preview-card:hover,.coach-puzzle-preview-card:focus-visible{border-color:var(--accent);box-shadow:0 12px 26px rgba(52,43,36,.12);transform:translateY(-2px);outline:0}.coach-puzzle-preview-card:disabled{cursor:wait;opacity:.62}.coach-puzzle-preview-card.loading{border-color:var(--accent)}.coach-puzzle-preview-board{width:100%;border-radius:8px;overflow:hidden;pointer-events:none}.coach-puzzle-preview-board .board-square{cursor:pointer}.coach-puzzle-preview-board .coord{display:none}.coach-puzzle-preview-copy{display:grid;place-items:center;padding:8px 3px 3px;text-align:center}.coach-puzzle-preview-copy strong{width:100%;overflow:hidden;font:700 13px/1.15 var(--display);text-align:center;text-overflow:ellipsis;white-space:nowrap}.coach-create-status{min-height:15px;margin:10px 0 0;color:var(--accent-ink);font-size:11px;font-weight:700}
.coach-puzzle-session{display:grid;grid-template-columns:minmax(340px,560px) minmax(280px,1fr);gap:16px;align-items:start}.coach-puzzle-board-card,.coach-puzzle-reason{padding:20px}.coach-puzzle-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.coach-puzzle-heading h2{margin:3px 0 0;font:700 28px/1.05 var(--display)}.coach-puzzle-heading>strong{padding:6px 8px;border-radius:7px;background:var(--paper-strong);font-size:10px}.coach-puzzle-legends{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.coach-puzzle-legends span{display:flex;align-items:center;gap:6px;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--paper-strong);font-size:10px}.coach-puzzle-legends i{display:block;width:20px;border-top:3px dotted var(--red)}.coach-puzzle-legends i.best{border-color:rgba(7,139,116,.7)}.coach-puzzle-status{min-height:21px;margin:11px 0 0;color:var(--ink-soft);font-size:12px;font-weight:700;text-align:center}.coach-puzzle-reason{position:sticky;top:14px}.coach-puzzle-reason h2{margin:5px 0 10px;font:700 32px/1.05 var(--display)}.coach-puzzle-reason>p:not(.eyebrow){margin:0;color:var(--ink-soft);font-size:14px;line-height:1.65}.coach-puzzle-advice{margin-top:16px;padding:15px;border-left:4px solid #078b74;border-radius:8px;background:#ecf8f4}.coach-puzzle-advice p{margin:5px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.5}.coach-puzzle-actions{display:flex;gap:8px;margin-top:20px}.coach-puzzle-actions .button{flex:1}.coach-game-arrow-layer{position:absolute;z-index:6;inset:0;width:100%;height:100%;pointer-events:none}.coach-game-arrow-layer line{stroke-width:2.4;stroke-linecap:round;stroke-dasharray:3.3 3.3}.coach-game-arrow-layer .original,.coach-game-arrow-layer .wrong{stroke:rgba(196,66,53,.92);fill:rgba(196,66,53,.92)}.coach-game-arrow-layer path.best{stroke:none;filter:drop-shadow(0 0 1px rgba(255,250,245,.55)) drop-shadow(0 1px 1px rgba(34,33,31,.4))}
@media(max-width:900px){.coach-game-site .coach-game-main{width:min(100% - 26px,720px);padding-top:22px}.coach-game-hero{grid-template-columns:1fr}.coach-game-hero .coach-game-result{max-width:280px}.coach-full-analysis{grid-template-columns:1fr}.coach-analysis-board-card{position:static;max-width:560px;width:100%;margin:0 auto}.coach-phase-list{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--sheet)}.coach-phase-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line)}.coach-phase-tabs button{min-width:0;padding:13px 6px;border:0;border-right:1px solid var(--line);background:var(--paper-strong);color:var(--muted);font-size:14px;font-weight:850}.coach-phase-tabs button:last-child{border-right:0}.coach-phase-tabs button.active{background:var(--sheet);box-shadow:inset 0 -3px var(--accent);color:var(--ink)}.coach-phase-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.coach-phase-panels{display:block}.coach-phase-panel{border:0;border-radius:0;box-shadow:none}.coach-phase-panel[hidden]{display:none}.coach-phase-panel small{display:none}.coach-phase-panel p{margin-top:0;font-size:12px;line-height:1.55}.coach-puzzle-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.coach-puzzle-session{grid-template-columns:1fr}.coach-puzzle-board-card{max-width:580px;width:100%;margin:0 auto}.coach-puzzle-reason{position:static}}
@media(max-width:600px){.coach-game-site .coach-game-main{width:100%;padding:12px 10px 60px}.coach-game-topbar{display:grid;gap:8px;margin-bottom:13px}.coach-game-hero{gap:10px;margin-bottom:14px}.coach-game-hero h1{margin:4px 0 7px;font-size:clamp(21px,5.8vw,25px);line-height:1.05}.coach-game-hero>div:first-child>p:last-child{font-size:13px;line-height:1.45}.coach-analysis-overview{grid-template-columns:1fr 1fr}.coach-analysis-overview article:nth-child(2){grid-column:1/-1;grid-row:2}.coach-full-analysis{gap:10px}.coach-analysis-board-card,.coach-move-story,.coach-puzzle-board-card,.coach-puzzle-reason{padding:12px}.coach-move-list{grid-template-columns:1fr}.coach-puzzle-library{padding:16px 10px}.coach-puzzle-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:14px}.coach-puzzle-preview-card{padding:6px;border-radius:10px}.coach-puzzle-preview-copy{padding:8px 3px 3px}.coach-puzzle-preview-copy strong{font-size:13px}.coach-puzzle-legends{grid-template-columns:1fr}.coach-puzzle-actions{flex-direction:column}}

.coach-game-hero{grid-template-columns:minmax(0,1fr)}
@media(max-width:600px){.coach-analysis-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.coach-analysis-overview article{min-width:0;padding:12px 6px;text-align:center}.coach-analysis-overview article:nth-child(2){grid-column:auto;grid-row:auto}.coach-analysis-overview strong{font-size:22px}.coach-analysis-overview small,.coach-analysis-overview span{font-size:8px}.coach-game-analysis .coach-move-story{display:none}}

.coach-game-opening{display:inline-flex;margin:7px 7px 0 0;padding:4px 7px;border-radius:6px;background:#eef1fb;color:var(--accent-ink);font-size:10px;font-weight:800}.coach-selected-opening-line{color:var(--accent-ink)!important;font-weight:800}

/* Imported games use the same board-first footprint as homepage puzzle previews. */
.coach-game-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.coach-game{display:flex;min-width:0;padding:7px;flex-direction:column;gap:0;align-items:stretch;border-radius:12px;box-shadow:var(--shadow-soft);overflow:hidden}
.coach-game-list .coach-game-main{display:block;width:auto;min-width:0;margin:0;padding:0}
.coach-game-preview-board{width:100%;border-width:4px;border-radius:8px;overflow:hidden;pointer-events:none}
.coach-game-preview-board .board-square{cursor:default}
.coach-game-copy{display:block;min-width:0;padding:12px 5px 10px}
.coach-game-summary{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:8px}
.coach-game-list .coach-game-result{display:inline-flex;width:auto;height:auto;padding:4px 7px;place-items:initial;border-radius:999px;font-size:9px;line-height:1;text-transform:uppercase}
.coach-game-provider{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.coach-game-copy h3,.coach-game-copy p{min-width:0;margin:0}
.coach-game-copy h3{overflow:hidden;font:700 16px/1.2 var(--display);text-overflow:ellipsis;white-space:nowrap}
.coach-game-copy p{overflow:hidden;margin-top:4px;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.coach-game-list .coach-game-opening{display:block;overflow:hidden;margin:10px 0 0;padding:0;background:transparent;color:var(--accent-ink);font-size:10px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.coach-game-list .coach-game-finding{display:block;margin:8px 0 0;padding:9px;border-radius:8px;background:var(--accent-pale);color:var(--ink-soft);font-size:10px;font-weight:650;line-height:1.45}
.coach-game-actions{display:flex;margin-top:auto;padding:0 5px 10px}
.coach-game-actions .button{width:100%;min-width:0;min-height:38px;padding:8px 9px;border-radius:8px;font-size:11px}
.coach-game-status{width:100%;padding:10px 4px;color:var(--muted);font-size:10px;line-height:1.4;text-align:center}
@media(max-width:1100px){.coach-game-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.coach-game-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.coach-game{padding:6px;border-radius:10px}.coach-game-preview-board{border-width:3px}.coach-game-copy{padding:10px 4px 8px}.coach-game-copy h3{font-size:14px}.coach-game-list .coach-game-finding{padding:8px;font-size:9px}.coach-game-actions{justify-content:stretch;padding:0 4px 9px}.coach-game-actions .button{width:100%;font-size:10px}}

.coach-game-arrow-layer path.previous{stroke:none;filter:drop-shadow(0 0 1px rgba(255,250,245,.55)) drop-shadow(0 1px 1px rgba(34,33,31,.4))}

/* Keep the focused plan useful at a glance instead of presenting three large panels. */
.coach-plan-grid{gap:8px}
.coach-plan-grid[data-count="1"]{grid-template-columns:minmax(0,1fr)}
.coach-plan-grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.coach-plan-grid[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.coach-plan-card{grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto auto;grid-template-areas:"step title" "copy copy" "action action";gap:7px 9px;min-height:0;padding:13px 14px;border-radius:11px;box-shadow:none}
.coach-plan-card>span{grid-area:step;width:28px;height:28px;border-radius:8px;font-size:12px}
.coach-plan-card h3{grid-area:title;font-size:18px;line-height:1.15}
.coach-plan-card p{grid-area:copy;font-size:11px;line-height:1.45}
.coach-plan-card a{grid-area:action;min-height:32px;margin-top:2px;padding:6px 9px;border-radius:7px;font-size:11px}
@media(max-width:700px){.coach-plan-grid[data-count]{grid-template-columns:1fr}.coach-plan-card{grid-template-columns:28px minmax(0,1fr) auto;grid-template-rows:auto auto;grid-template-areas:"step title action" "step copy action";gap:3px 10px;align-items:center;padding:10px 11px}.coach-plan-card a{margin-top:0}}
@media(max-width:440px){.coach-plan-card{grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto auto;grid-template-areas:"step title" "step copy" ". action"}.coach-plan-card a{margin-top:4px}}

/* Imports can be refreshed from the place where players look for their newest games. */
.coach-section-heading .coach-sync-all{min-height:40px;padding:9px 14px;border:1px solid var(--line);border-radius:9px;background:var(--sheet);box-shadow:var(--button-shadow);color:var(--ink);font-size:12px;text-decoration:none}
.coach-section-heading .coach-sync-all:hover{border-color:var(--accent);color:var(--accent-ink)}
.coach-section-heading .coach-sync-all:disabled{box-shadow:none;cursor:wait;opacity:.58;transform:none}

/* The real game board stays visible while the private server-side review runs. */
.coach-analysis-progress{display:grid;grid-template-columns:minmax(360px,540px) minmax(300px,1fr);gap:18px;align-items:start;max-width:1060px;margin:0 auto}
.coach-progress-board-card{position:relative;padding:16px;overflow:hidden}
.coach-progress-board{width:100%;overflow:hidden;border-radius:10px;box-shadow:0 14px 34px rgba(52,43,36,.14)}
.coach-progress-board .board-square{cursor:default}
.coach-progress-board .chess-piece{transition:transform .22s ease,opacity .22s ease}
.coach-board-scan{position:absolute;z-index:8;top:63px;left:16px;width:calc(100% - 32px);aspect-ratio:1;overflow:hidden;border-radius:10px;pointer-events:none}
.coach-board-scan::after{position:absolute;right:0;left:0;height:22%;background:linear-gradient(180deg,transparent,rgba(247,211,89,.13) 46%,rgba(255,250,222,.58) 50%,rgba(247,211,89,.08) 54%,transparent);content:"";filter:drop-shadow(0 3px 5px rgba(247,211,89,.22));animation:coach-board-scan 3.3s ease-in-out infinite}
.coach-progress-live{display:inline-flex!important;align-items:center;gap:6px;color:#267844!important;text-transform:uppercase}
.coach-progress-live i{width:7px;height:7px;border-radius:50%;background:#2f9b58;box-shadow:0 0 0 0 rgba(47,155,88,.4);animation:coach-live-pulse 1.45s ease-out infinite}
.coach-progress-story{padding:28px}
.coach-progress-story h2{margin:7px 0 10px;font:700 clamp(30px,4vw,46px)/1.02 var(--display);letter-spacing:-.05em}
.coach-progress-story>p:not(.eyebrow){min-height:46px;margin:0;color:var(--ink-soft);font-size:14px;line-height:1.55}
.coach-progress-dots{display:inline-flex;gap:4px;margin-left:7px;vertical-align:baseline}
.coach-progress-dots i{display:block;width:5px;height:5px;border-radius:50%;background:var(--accent);animation:coach-dot 1.1s ease-in-out infinite}
.coach-progress-dots i:nth-child(2){animation-delay:.16s}.coach-progress-dots i:nth-child(3){animation-delay:.32s}
.coach-progress-steps{display:grid;gap:0;margin:24px 0;padding:0;list-style:none}
.coach-progress-steps li{position:relative;display:grid;grid-template-columns:36px 1fr;gap:12px;min-height:68px;align-items:start;color:var(--muted)}
.coach-progress-steps li:not(:last-child)::after{position:absolute;top:35px;bottom:0;left:17px;width:2px;background:var(--line);content:""}
.coach-progress-steps li>span{position:relative;z-index:1;display:grid;width:36px;height:36px;place-items:center;border:2px solid var(--line);border-radius:50%;background:var(--sheet);font-size:11px;font-weight:900}
.coach-progress-steps strong,.coach-progress-steps small{display:block}.coach-progress-steps strong{padding-top:2px;color:inherit;font-size:13px}.coach-progress-steps small{margin-top:3px;font-size:10px}
.coach-progress-steps li.active{color:var(--ink)}.coach-progress-steps li.active>span{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 6px var(--accent-pale);color:white;animation:coach-stage-pulse 1.5s ease-in-out infinite}
.coach-progress-steps li.complete{color:#267844}.coach-progress-steps li.complete>span{border-color:#2f9b58;background:#eaf7ef;color:transparent}.coach-progress-steps li.complete>span::after{position:absolute;color:#267844;content:"✓"}
.coach-progress-note{display:grid;gap:4px;padding:14px;border-radius:10px;background:var(--paper-strong);color:var(--ink-soft)}.coach-progress-note strong{font-size:11px}.coach-progress-note span{font-size:10px;line-height:1.45}
.coach-progress-story .button{width:100%;margin-top:16px}
@keyframes coach-board-scan{0%,100%{transform:translateY(-80%);opacity:.35}50%{transform:translateY(360%);opacity:1}}
@keyframes coach-live-pulse{70%{box-shadow:0 0 0 8px rgba(47,155,88,0)}}
@keyframes coach-dot{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}
@keyframes coach-stage-pulse{50%{box-shadow:0 0 0 9px rgba(234,118,95,.08)}}
@media(max-width:900px){.coach-analysis-progress{grid-template-columns:1fr;max-width:580px}.coach-progress-story{padding:22px}}
@media(max-width:600px){.coach-section-heading .coach-sync-all{width:100%;margin-top:4px}.coach-analysis-progress{gap:10px}.coach-progress-board-card{padding:10px}.coach-board-scan{top:56px;left:10px;width:calc(100% - 20px)}.coach-progress-story{padding:20px 17px}.coach-progress-story h2{font-size:30px}.coach-progress-steps{margin:20px 0}}
@media(prefers-reduced-motion:reduce){.coach-board-scan::after,.coach-progress-live i,.coach-progress-dots i,.coach-progress-steps li.active>span{animation:none}.coach-progress-board .chess-piece{transition:none}}

/* The Coach board's step controls have a code-native, pressable 3D face. */
.coach-analysis-controls {
    grid-template-columns: 50px 50px minmax(0, 1fr) 50px 50px;
}

.coach-analysis-controls :is(.coach-analysis-step, .coach-analysis-jump) {
    position: relative;
    width: 50px;
    height: 50px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    box-shadow: none;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

.coach-analysis-step::before,
.coach-analysis-jump::before {
    position: absolute;
    top: 3px;
    left: 5px;
    width: 40px;
    height: 40px;
    border: 1px solid #dc513f;
    border-radius: 50%;
    background:
        radial-gradient(circle at 34% 24%, rgba(255, 255, 255, .55) 0 8%, transparent 9%),
        linear-gradient(145deg, #ff9d7d 0%, #f5715e 52%, #dc4938 100%);
    box-shadow:
        inset 0 2px 1px rgba(255, 255, 255, .7),
        inset 0 -4px 4px rgba(156, 39, 26, .2),
        0 4px 0 #bd3c2e,
        0 7px 9px rgba(126, 49, 38, .24);
    content: "";
    transition: filter .14s ease, transform .09s ease, box-shadow .09s ease;
}

.coach-analysis-step::after {
    position: absolute;
    z-index: 1;
    top: 14px;
    left: 19px;
    width: 14px;
    height: 18px;
    background: linear-gradient(90deg, #fff7eb, #fff);
    clip-path: polygon(10% 0, 100% 50%, 10% 100%);
    content: "";
    filter: drop-shadow(0 1px 1px rgba(116, 39, 29, .42));
    transform: translateX(1px);
    transition: transform .09s ease;
}

.coach-analysis-step.previous::after {
    transform: translateX(-1px) rotate(180deg);
}

.coach-analysis-double-arrow {
    position: absolute;
    z-index: 1;
    top: 15px;
    left: 15px;
    display: flex;
    width: 20px;
    height: 16px;
    align-items: center;
    justify-content: center;
    transform: translateY(0) rotate(0deg);
    transition: transform .09s ease;
}

.coach-analysis-double-arrow i {
    display: block;
    width: 10px;
    height: 16px;
    flex: 0 0 10px;
    background: linear-gradient(90deg, #fff2db, #fffaf0);
    clip-path: polygon(8% 0, 100% 50%, 8% 100%);
    filter: drop-shadow(0 1px 1px rgba(116, 39, 29, .36));
}

.coach-analysis-jump.first .coach-analysis-double-arrow {
    transform: translateY(0) rotate(180deg);
}

.coach-analysis-controls :is(.coach-analysis-step, .coach-analysis-jump):hover::before {
    filter: saturate(1.06) brightness(1.03);
}

.coach-analysis-controls :is(.coach-analysis-step, .coach-analysis-jump):focus-visible {
    box-shadow: 0 0 0 3px rgba(234, 118, 95, .28);
    outline: 0;
}

.coach-analysis-controls :is(.coach-analysis-step, .coach-analysis-jump):active::before {
    box-shadow:
        inset 0 3px 5px rgba(129, 31, 21, .26),
        inset 0 1px 1px rgba(255, 255, 255, .32),
        0 1px 0 #bd3c2e,
        0 2px 3px rgba(126, 49, 38, .18);
    filter: saturate(1.04) brightness(.98);
    transform: translateY(4px);
}

.coach-analysis-step:active::after {
    transform: translate(1px, 4px);
}

.coach-analysis-step.previous:active::after {
    transform: translate(-1px, 4px) rotate(180deg);
}

.coach-analysis-jump:active .coach-analysis-double-arrow {
    transform: translateY(4px) rotate(0deg);
}

.coach-analysis-jump.first:active .coach-analysis-double-arrow {
    transform: translateY(4px) rotate(180deg);
}

@media (prefers-reduced-motion: reduce) {
    .coach-analysis-step::before,
    .coach-analysis-step::after,
    .coach-analysis-jump::before,
    .coach-analysis-double-arrow {
        transition: none;
    }
}

/* Keep long Coach work visible beside the action and at the bottom of the viewport. */
.coach-status {
    position: fixed;
    z-index: 320;
    top: auto;
    right: auto;
    bottom: max(18px, env(safe-area-inset-bottom));
    left: 50%;
    width: max-content;
    max-width: min(560px, calc(100vw - 24px));
    margin: 0;
    border-radius: 16px;
    line-height: 1.45;
    text-align: left;
    transform: translateX(-50%);
}

.coach-game-actions .button[aria-busy="true"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.coach-button-spinner {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: coach-spin .7s linear infinite;
}

@media (max-width: 600px) {
    .coach-status {
        top: auto;
        bottom: max(10px, env(safe-area-inset-bottom));
        width: calc(100vw - 20px);
        max-width: calc(100vw - 20px);
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .coach-button-spinner { animation: none; }
}

@media (max-width: 720px) {
    .coach-puzzle-actions.coach-puzzle-actions-sticky {
        position: fixed;
        z-index: 340;
        right: max(10px, env(safe-area-inset-right));
        bottom: max(10px, env(safe-area-inset-bottom));
        left: max(10px, env(safe-area-inset-left));
        width: auto;
        max-width: 440px;
        margin: 0 auto;
        touch-action: manipulation;
    }

    .coach-puzzle-actions.coach-puzzle-actions-sticky .button {
        min-height: 50px;
        font-size: 14px;
        font-weight: 850;
        letter-spacing: .015em;
        touch-action: manipulation;
    }

    .coach-puzzle-actions.coach-puzzle-actions-sticky .button:hover:not(:disabled) {
        filter: none;
    }

    .coach-puzzle-actions.coach-puzzle-actions-sticky .button:active:not(:disabled) {
        transform: none;
    }
}
