/* Training route tree. All nodes remain available; lines are a suggested sequence. */
#menu .training-workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:28px}
#menu .training-catalog{min-width:0;display:block}
#menu .training-tree-heading{position:relative;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;margin:0 0 30px;border:1px solid #55585b;background:#ffffff04}
#menu .training-tree-heading::after{content:"";position:absolute;left:50%;top:100%;height:31px;width:1px;background:#55585b}
#menu .training-tree-heading h2{margin:4px 0;font-size:18px;font-weight:500;color:#fff}
#menu .training-tree-heading small{font:9px/1.5 ui-monospace,monospace;color:#777}
#menu .training-tree-help{max-width:185px;color:#a4a6aa;font-size:10px;line-height:1.8;margin:0;text-align:right}
#menu .training-branches{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
#menu .training-branches::before{content:"";position:absolute;left:16.667%;right:16.667%;top:0;border-top:1px solid #55585b}
#menu .training-track{min-width:0;position:relative;padding-top:24px}
#menu .training-track::before{content:"";position:absolute;left:50%;top:0;height:24px;width:1px;background:#55585b}
#menu .training-track>header{display:flex;gap:9px;align-items:flex-start;padding:12px 10px 14px;min-height:75px;box-sizing:border-box;border-top:1px solid #8c8f94}
#menu .training-track-index{color:#8d9095;font:10px/1.8 ui-monospace,monospace}
#menu .training-track h3{font-size:15px;font-weight:500;line-height:1.4;margin:0;color:#fff}
#menu .training-track header p{font-size:9px;color:#888;margin:5px 0 0;line-height:1.7}
#menu .training-lessons{position:relative;display:grid;gap:12px;padding-left:12px}
#menu .training-lessons::before{content:"";position:absolute;top:0;bottom:59px;left:0;width:1px;background:#44474b}
#menu .training-tree-node{position:relative;min-width:0}
#menu .training-tree-node::before{content:"";position:absolute;left:-12px;top:50%;width:12px;border-top:1px solid #55585b}
#menu .training-lesson{display:block;position:relative;width:100%;padding:0;border:1px solid #34383c;background:#090b0df2;color:#fff;text-align:left;min-height:0;box-sizing:border-box;cursor:pointer;touch-action:manipulation;overflow:hidden}
#menu .training-lesson[aria-pressed=true]{border-color:#fff;background:#ffffff08}
#menu .training-lesson[aria-pressed=true]::after{content:"";position:absolute;inset:0;pointer-events:none;border-left:2px solid #fff}
#menu .training-lesson:hover{border-color:#b6bac0;background:#ffffff06}
#menu .training-lesson:focus-visible{outline:2px solid #fff;outline-offset:3px}
#menu .training-lesson-thumb{display:block;aspect-ratio:2/1;min-width:0;overflow:hidden;border-bottom:1px solid #ffffff12;background:#080b0e}
#menu .training-lesson-thumb svg{display:block;width:100%;height:100%}
#menu .training-lesson-copy{display:block;padding:11px 12px 12px;min-width:0}
#menu .training-lesson-number{display:block;font:9px/1.4 ui-monospace,monospace;letter-spacing:.1em;color:#70767e;margin:0 0 5px}
#menu .training-lesson b{display:block;font-size:13px;font-weight:500;line-height:1.5;color:#fff}
#menu .training-lesson small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:30px;margin:5px 0 9px;font-size:9px;line-height:1.65;color:#999;font-weight:400}
#menu .training-lesson-status{display:block;font-size:9px;color:#7d838b;line-height:1.4}
#menu .training-lesson[data-status=clean] .training-lesson-status{color:#c8e9dd}
#menu .training-lesson[data-status=assisted] .training-lesson-status{color:#d5b997}
#menu .training-selection{position:sticky;top:24px;display:block;min-width:0;padding:20px;border:1px solid #64696f;margin:0;background:#090b0df2;box-sizing:border-box}
.training-eyebrow{font-size:9px;line-height:1.5;letter-spacing:.16em;color:#888;text-transform:uppercase}
#menu .training-selection h3{font-size:23px;line-height:1.35;font-weight:500;margin:9px 0;color:#fff}
#menu .training-selected-description{font-size:11px;line-height:1.8;color:#aaa;margin:0 0 16px}
#menu .training-selected-preview{margin:0 0 19px}
#menu .training-selected-preview svg{display:block;width:100%;height:auto;border:1px solid #ffffff20;box-sizing:border-box}
#menu .training-selected-preview figcaption{margin-top:6px;color:#737981;font-size:8px;line-height:1.5}
#menu .training-detail-label{font-size:9px;line-height:1.5;letter-spacing:.1em;color:#888}
#menu .training-selected-objective{font-size:11px;line-height:1.8;color:#d4d6da;margin:6px 0 12px}
#menu .training-selected-assist{font-size:9px;line-height:1.8;color:#999;margin:0}
#menu .training-catch-note{display:block;color:#777;font-size:9px;line-height:1.7;margin-top:7px}
#menu .training-start{width:100%;padding:14px 16px;display:flex;gap:15px;align-items:center;justify-content:space-between;background:#fff;border:1px solid #fff;color:#090a0b;font-size:12px;margin-top:18px}
#menu .training-start:hover:not(:disabled){background:#ddd}
#menu .training-start:disabled{opacity:.4;cursor:default}
#menu .training-selection .training-start-state{gap:10px 14px;margin:15px 0}
#menu .training-selection .training-start-state dt{font-size:8px}
#menu .training-selection .training-start-state dd{font-size:10px;line-height:1.6}
@media(max-width:1230px){
 #menu .training-workspace{grid-template-columns:minmax(0,1fr)}
 #menu .training-selection{position:static;display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:20px;align-items:end}
 #menu .training-selected-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,1fr);column-gap:24px}
 #menu .training-selected-content>.training-selected-preview{grid-column:2;grid-row:1 / span 5}
 #menu .training-selected-content>.training-start-state{grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr))}
 #menu .training-selected-content>.training-selected-assist,#menu .training-selected-content>.training-selected-weather,#menu .training-selected-content>.training-catch-note{grid-column:1 / -1}
 #menu .training-selection .training-start{margin:0}
}
@media(max-width:760px){
 #menu .training-tree-heading{margin-bottom:18px}
 #menu .training-tree-heading::after{left:9px;height:19px}
 #menu .training-tree-help{max-width:150px}
 #menu .training-branches{display:block;padding-left:22px}
 #menu .training-branches::before{left:9px;right:auto;top:0;bottom:80px;border-top:0;border-left:1px solid #55585b}
 #menu .training-track{padding-top:0;margin-bottom:24px}
 #menu .training-track::before{left:-13px;top:23px;width:13px;height:1px}
 #menu .training-track>header{min-height:0;padding:12px 10px 15px;border-top:0}
 #menu .training-lessons{padding-left:12px}
 #menu .training-lesson{display:grid;grid-template-columns:108px minmax(0,1fr);align-items:stretch}
 #menu .training-lesson-thumb{height:100%;aspect-ratio:auto;border-bottom:0;border-right:1px solid #ffffff12}
 #menu .training-lesson-thumb svg{min-height:106px}
 #menu .training-lesson small{min-height:0}
 #menu .training-selection{display:block;padding:20px}
 #menu .training-selected-content{display:block}
 #menu .training-selected-content>.training-start-state{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 #menu .training-selection .training-start{margin-top:18px}
}
.training-coach{position:fixed;z-index:42;top:110px;left:24px;width:315px;max-height:calc(100vh - 420px);overflow-y:auto;color:#fff;background:#0a0c0ee8;border:1px solid #ffffff35;padding:17px 18px;font:12px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC',sans-serif;box-sizing:border-box;scrollbar-width:thin}
.training-coach[hidden],.training-result[hidden],.training-brief[hidden],.training-failure-footer[hidden]{display:none!important}
body:not(.playing)>.training-coach,body.failure-replay-visible>.training-coach,body.custom-scenario-editing>.training-coach,body.custom-scenario-open>.training-coach{display:none!important}
.training-coach header{display:flex;justify-content:space-between;color:#8e9298;font-size:8px;letter-spacing:.13em}
.training-coach header b{font-weight:400;letter-spacing:0}
.training-coach h2{font-weight:500;font-size:17px;line-height:1.4;margin:8px 0 17px;color:#fff}
.training-step-number{font-size:9px;color:#90959b;letter-spacing:.05em;margin:0 0 6px}
.training-coach h3{font-weight:500;font-size:14px;margin:0 0 6px;line-height:1.5;color:#fff}
.training-coach-instruction{font-size:11px;color:#c1c5c9;line-height:1.8;margin:0 0 12px}
.training-coach-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}
.training-coach-metrics>div{border-top:1px solid #ffffff20;padding-top:7px}
.training-coach-metrics span{display:block;color:#92979d;font-size:9px}
.training-coach-metrics b{font:13px/1.8 ui-monospace,SFMono-Regular,monospace;font-weight:400;color:#fff}
.training-hold>span{font-size:10px;color:#ccc}
.training-hold>div{height:2px;background:#ffffff22;margin:7px 0 12px}
.training-hold i{display:block;height:100%;background:#fff}
.training-coach details{border-top:1px solid #ffffff22;margin-top:12px;padding-top:9px}
.training-coach summary{color:#92979d;cursor:pointer;font-size:10px}
.training-coach-steps{margin:10px 0;padding-left:16px;color:#7d8389;font-size:10px;line-height:1.8}
.training-coach-steps li{margin-bottom:7px}
.training-coach-steps .current{color:#fff}
.training-coach-steps .complete{color:#9bb8ac}
.training-key-note{font-size:10px;color:#92979d;line-height:1.7}
.training-coach-assisted{color:#d5b997;font-size:10px;margin:10px 0}
.training-coach footer{display:flex;gap:8px;margin-top:14px}
.training-coach button,.training-result button,.training-brief button,.training-failure-footer button{border:1px solid #ffffff40;border-radius:0;background:transparent;box-shadow:none;color:#fff;padding:9px 12px;font:inherit;font-size:11px;cursor:pointer}
.training-coach button:hover,.training-result button:hover:not(:disabled),.training-brief button:hover,.training-failure-footer button:hover{background:#ffffff13;border-color:#ccc}
.training-coach button:focus-visible,.training-result button:focus-visible,.training-brief button:focus-visible,.training-failure-footer button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.training-coach footer button{flex:1}
.training-result,.training-brief{position:fixed;inset:0;z-index:160;display:grid;place-items:center;padding:24px;color:#fff;background:#050709b8;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC',sans-serif}
.training-result>div,.training-brief>div{width:min(540px,100%);background:#090b0e;border:1px solid #ffffff50;padding:34px}
.training-result h2,.training-brief h2{font-size:28px;font-weight:500;line-height:1.3;margin:15px 0}
.training-result h3{font-size:16px;font-weight:400;color:#b3b7bb;margin:0 0 16px}
.training-result p,.training-brief p{font-size:12px;line-height:1.9;color:#999}
.training-result-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.training-result-actions button{flex:1;min-width:110px;padding:13px}
.training-result-actions [data-training-action=next]{color:#090b0e;background:#fff;border-color:#fff}
.training-result button:disabled{opacity:.3;cursor:default}
.training-brief{background:#070a0dba;pointer-events:none}
.training-brief>div{pointer-events:auto;max-height:calc(100vh - 48px);overflow-y:auto;box-sizing:border-box}
.training-countdown{display:block;margin:24px 0 16px;font:48px/1.2 ui-monospace,SFMono-Regular,monospace;font-weight:300;color:#fff}
.training-brief small{display:block;font-size:10px;line-height:1.8;color:#999}
.training-start-state{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;margin:20px 0 16px}
.training-start-state>div{border-top:1px solid #ffffff22;padding-top:8px}
.training-start-state dt{color:#858a91;font-size:10px;line-height:1.6}
.training-start-state dd{margin:5px 0 0;font:12px/1.6 ui-monospace,SFMono-Regular,monospace;color:#e4e6e9}
.training-brief .training-brief-assist,.training-brief .training-brief-weather{font-size:10px;margin:4px 0;line-height:1.7}
.training-first-action{border-left:2px solid #fff;padding-left:12px;margin:20px 0}
.training-first-action strong{font-size:11px;font-weight:500}
.training-brief .training-first-action p{font-size:12px;color:#d0d3d7;line-height:1.75;margin:6px 0}
.training-brief-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.training-brief-actions button{flex:1;padding:12px;min-width:130px}
.training-brief-actions [data-training-action=begin]{color:#090b0e;background:#fff;border-color:#fff}
.training-brief-actions button:disabled{opacity:.35;cursor:default}
.training-countdown[hidden]{display:none}
/* Keep the ship and catch opening visible while reading the frozen start. */
@media(min-width:900px){
 .training-brief{place-items:center start;background:linear-gradient(90deg,#070a0d80,transparent 66%)}
 .training-brief>div{width:min(390px,38vw);padding:24px}
}
.training-failure-footer{border-top:1px solid #ffffff35;margin-top:22px;padding-top:18px;text-align:left}
.training-failure-footer strong{font-size:13px;font-weight:500;color:#ddd}
.training-failure-footer p{font-size:11px;color:#999;line-height:1.7;margin:8px 0 13px}
.training-failure-footer>div{display:flex;gap:9px}
@media(max-width:1050px){.training-coach{left:18px;top:100px;width:280px;max-height:calc(100vh - 380px)}}
@media(max-width:760px){.training-coach{top:80px;left:12px;width:240px;padding:13px;max-height:calc(100vh - 270px)}.training-coach h2{font-size:14px;margin-bottom:10px}.training-coach h3{font-size:12px}.training-coach-instruction{font-size:10px}.training-coach-metrics{margin:8px 0}.training-result>div,.training-brief>div{padding:24px}}
@media(max-height:650px){.training-coach{max-height:calc(100vh - 210px);width:265px;top:82px}.training-coach h2{margin-bottom:9px}.training-coach-metrics{margin:8px 0}.training-coach details{margin-top:8px}.training-coach footer{margin-top:10px}}

.training-coach-objective{margin:0 0 14px;color:#aaa;font-size:11px;line-height:1.65;border-bottom:1px solid #ffffff25;padding-bottom:12px}

/* On narrow screens, details unfold below the selected node instead of
   remaining out of sight after the complete course tree. */
#menu .training-node-detail{display:none}
#menu .training-node-detail[hidden]{display:none!important}
@media(max-width:760px){
 #menu .training-workspace>.training-selection{display:none}
 #menu .training-tree-node>.training-node-detail{display:block;position:static;margin:10px 0 8px;padding:17px;border-color:#777;min-width:0}
 #menu .training-node-detail h3{font-size:20px}
 #menu .training-node-detail .training-collapse-detail{display:block;width:100%;margin-top:10px;padding:9px;border:0;background:transparent;color:#999;font-size:10px;text-align:center}
 #menu .training-node-detail .training-collapse-detail:hover{color:#fff}
}
